Google Gemini Integration Guide
Complete guide for creating and deploying skills to Google Gemini using Skill Seekers.
Overview
Skill Seekers packages documentation into Gemini-compatible formats optimized for:
- Gemini 2.0 Flash for enhancement
- Files API for document upload
- Grounding for accurate, source-based responses
Setup
1. Install Gemini Support
# Install with Gemini dependencies
pip install skill-seekers[gemini]
# Verify installation
pip list | grep google-generativeai
2. Get Google API Key
- Visit Google AI Studio
- Click “Get API Key”
- Create new API key or use existing
- Copy the key (starts with
AIza)
3. Configure API Key
# Set as environment variable (recommended)
export GOOGLE_API_KEY=AIzaSy...
# Or pass directly to commands
skill-seekers upload --target gemini --api-key AIzaSy...
Complete Workflow
Step 1: Scrape Documentation
# Use any config (scraping is platform-agnostic)
skill-seekers scrape --config configs/react.json
# Or use a unified config for multi-source
skill-seekers unified --config configs/react_unified.json
Result: output/react/ skill directory with references
Step 2: Enhance with Gemini (Optional but Recommended)
# Enhance SKILL.md using Gemini 2.0 Flash
skill-seekers enhance output/react/ --target gemini
# With API key specified
skill-seekers enhance output/react/ --target gemini --api-key AIzaSy...
What it does:
- Analyzes all reference documentation
- Extracts 5-10 best code examples
- Creates comprehensive quick reference
- Adds key concepts and usage guidance
- Generates plain markdown (no YAML frontmatter)
Time: 20-40 seconds Cost: ~$0.01-0.05 (using Gemini 2.0 Flash) Quality boost: 3/10 → 9/10
Step 3: Package for Gemini
# Create tar.gz package for Gemini
skill-seekers package output/react/ --target gemini
# Result: react-gemini.tar.gz
Package structure:
react-gemini.tar.gz/
├── system_instructions.md # Main documentation (plain markdown)
├── references/ # Individual reference files
│ ├── getting_started.md
│ ├── hooks.md
│ ├── components.md
│ └── ...
└── gemini_metadata.json # Platform metadata
Step 4: Upload to Gemini
# Upload to Google AI Studio
skill-seekers upload react-gemini.tar.gz --target gemini
# With API key
skill-seekers upload react-gemini.tar.gz --target gemini --api-key AIzaSy...
Output:
✅ Upload successful!
Skill ID: files/abc123xyz
URL: https://aistudio.google.com/app/files/abc123xyz
Files uploaded: 15 files
Step 5: Use in Gemini
Access your uploaded files in Google AI Studio:
- Go to Google AI Studio
- Navigate to Files section
- Find your uploaded skill files
- Use with Gemini API or AI Studio
What Makes Gemini Different?
Format: Plain Markdown (No YAML)
Claude format:
---
name: react
description: React framework
---
# React Documentation
...
Gemini format:
# React Documentation
**Description:** React framework for building user interfaces
## Quick Reference
...
No YAML frontmatter - Gemini uses plain markdown for better compatibility.
Package: tar.gz Instead of ZIP
Gemini uses .tar.gz compression for better Unix compatibility and smaller file sizes.
Upload: Files API + Grounding
Files are uploaded to Google’s Files API and made available for grounding in Gemini responses.
Using Your Gemini Skill
Option 1: Google AI Studio (Web UI)
- Go to Google AI Studio
- Create new chat or app
- Reference your uploaded files in prompts:
Using the React documentation files, explain hooks
Option 2: Gemini API (Python)
import google.generativeai as genai
# Configure with your API key
genai.configure(api_key='AIzaSy...')
# Create model
model = genai.GenerativeModel('gemini-2.0-flash-exp')
# Use with uploaded files (automatic grounding)
response = model.generate_content(
"How do I use React hooks?",
# Files automatically available via grounding
)
print(response.text)
Option 3: Gemini API with File Reference
import google.generativeai as genai
# Configure
genai.configure(api_key='AIzaSy...')
# Get your uploaded file
files = genai.list_files()
react_file = next(f for f in files if 'react' in f.display_name.lower())
# Use file in generation
model = genai.GenerativeModel('gemini-2.0-flash-exp')
response = model.generate_content([
"Explain React hooks in detail",
react_file
])
print(response.text)
Advanced Usage
Enhance with Custom Prompt
The enhancement process can be customized by modifying the adaptor:
from skill_seekers.cli.adaptors import get_adaptor
from pathlib import Path
# Get Gemini adaptor
adaptor = get_adaptor('gemini')
# Enhance with custom parameters
success = adaptor.enhance(
skill_dir=Path('output/react'),
api_key='AIzaSy...'
)
Programmatic Upload
from skill_seekers.cli.adaptors import get_adaptor
from pathlib import Path
# Get adaptor
gemini = get_adaptor('gemini')
# Package skill
package_path = gemini.package(
skill_dir=Path('output/react'),
output_path=Path('output/react-gemini.tar.gz')
)
# Upload
result = gemini.upload(
package_path=package_path,
api_key='AIzaSy...'
)
if result['success']:
print(f"✅ Uploaded to: {result['url']}")
print(f"Skill ID: {result['skill_id']}")
else:
print(f"❌ Upload failed: {result['message']}")
Manual Package Extraction
If you want to inspect or modify the package:
# Extract tar.gz
tar -xzf react-gemini.tar.gz -C extracted/
# View structure
tree extracted/
# Modify files if needed
nano extracted/system_instructions.md
# Re-package
tar -czf react-gemini-modified.tar.gz -C extracted .
Gemini-Specific Features
1. Grounding Support
Gemini automatically grounds responses in your uploaded documentation files, providing:
- Source attribution
- Accurate citations
- Reduced hallucination
2. Multimodal Capabilities
Gemini can process:
- Text documentation
- Code examples
- Images (if included in PDFs)
- Tables and diagrams
3. Long Context Window
Gemini 2.0 Flash supports:
- Up to 1M token context
- Entire documentation sets in single context
- Better understanding of cross-references
Troubleshooting
Issue: google-generativeai not installed
Solution:
pip install skill-seekers[gemini]
Issue: Invalid API key format
Error: API key doesn’t start with AIza
Solution:
- Get new key from Google AI Studio
- Verify you’re using Google API key, not GCP service account
Issue: Not a tar.gz file
Error: Wrong package format
Solution:
# Use --target gemini for tar.gz format
skill-seekers package output/react/ --target gemini
# NOT:
skill-seekers package output/react/ # Creates .zip (Claude format)
Issue: File upload failed
Possible causes:
- API key lacks permissions
- File too large (check limits)
- Network connectivity
Solution:
# Verify API key works
python3 -c "import google.generativeai as genai; genai.configure(api_key='AIza...'); print(list(genai.list_models())[:2])"
# Check file size
ls -lh react-gemini.tar.gz
# Try with verbose output
skill-seekers upload react-gemini.tar.gz --target gemini --verbose
Issue: Enhancement fails
Solution:
# Check API quota
# Visit: https://aistudio.google.com/apikey
# Try with smaller skill
skill-seekers enhance output/react/ --target gemini --max-files 5
# Use without enhancement
skill-seekers package output/react/ --target gemini
# (Skip enhancement step)
Best Practices
1. Organize Documentation
Structure your SKILL.md clearly:
- Start with overview
- Add quick reference section
- Group related concepts
- Include practical examples
2. Optimize File Count
- Combine related topics into single files
- Use clear file naming
- Keep total under 100 files for best performance
3. Test with Gemini
After upload, test with sample questions:
1. How do I get started with [topic]?
2. What are the core concepts?
3. Show me a practical example
4. What are common pitfalls?
4. Update Regularly
# Re-scrape updated documentation
skill-seekers scrape --config configs/react.json
# Re-enhance and upload
skill-seekers enhance output/react/ --target gemini
skill-seekers package output/react/ --target gemini
skill-seekers upload react-gemini.tar.gz --target gemini
Cost Estimation
Gemini 2.0 Flash pricing:
- Input: $0.075 per 1M tokens
- Output: $0.30 per 1M tokens
Typical skill enhancement:
- Input: ~50K-200K tokens (docs)
- Output: ~5K-10K tokens (enhanced SKILL.md)
- Cost: $0.01-0.05 per skill
File upload: Free (no per-file charges)
Next Steps
- ✅ Install Gemini support:
pip install skill-seekers[gemini] - ✅ Get API key from Google AI Studio
- ✅ Scrape your documentation
- ✅ Enhance with Gemini
- ✅ Package for Gemini
- ✅ Upload and test
Resources
- Google AI Studio
- Gemini API Documentation
- Gemini Pricing
- Multi-LLM Support - Platform comparison
Status: ✅ Production Ready (v2.5.0+)
Found an issue or have suggestions? Open an issue