Integrate Gemini API with @google/genai SDK (NOT deprecated @google/generative-ai). Text generation, multimodal (images/video/audio/PDFs), function calling, thinking mode, streaming. 1M input tokens. Prevents 14 documented errors. Use when: Gemini integration, multimodal AI, reasoning with thinking mode. Troubleshoot: SDK deprecation, model not found, context window, function calling errors, streaming corruption, safety settings, rate limits.
Install with Tessl CLI
npx tessl i github:jezweb/claude-skills --skill google-gemini-api70
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is an excellent skill description that hits all the marks. It provides specific capabilities, includes natural trigger terms for both implementation and troubleshooting scenarios, explicitly states when to use it, and clearly distinguishes itself from similar skills by naming the specific SDK and deprecated alternative.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'Text generation, multimodal (images/video/audio/PDFs), function calling, thinking mode, streaming' and specifies '1M input tokens' and 'Prevents 14 documented errors' - all concrete capabilities. | 3 / 3 |
Completeness | Clearly answers both what (Gemini API integration with specific SDK, multimodal capabilities, error prevention) AND when with explicit 'Use when:' clause covering integration scenarios and troubleshooting triggers. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'Gemini', 'multimodal AI', 'thinking mode', 'SDK deprecation', 'model not found', 'context window', 'function calling errors', 'streaming', 'rate limits' - these match real user troubleshooting language. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with clear niche: specifically targets Gemini API with @google/genai SDK, explicitly distinguishes from deprecated SDK, and lists Gemini-specific error types - unlikely to conflict with other AI integration skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides comprehensive, actionable Gemini API coverage with excellent executable examples and thorough error documentation. However, it severely violates token efficiency by being extremely verbose (~2000+ lines), repeating SDK/Fetch patterns for every feature, and failing to split content into separate reference files. The skill would benefit enormously from condensing to essential patterns and moving detailed examples to linked files.
Suggestions
Reduce to ~200-300 lines by showing SDK pattern once with a note that Fetch follows similar structure, then link to a FETCH_EXAMPLES.md for the full fetch implementations
Move the Known Issues section to a separate KNOWN_ISSUES.md file and reference it with a one-line summary in the main skill
Move the detailed Model Feature Matrix, Rate Limits tables, and Migration Guide to separate reference files (MODELS.md, RATE_LIMITS.md, MIGRATION.md)
Add explicit validation checkpoints to workflows: e.g., 'Verify cache.name exists before using' or 'Check response.candidates[0].finishReason before processing'
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~2000+ lines with excessive repetition (SDK vs Fetch shown for nearly every feature), redundant status sections, and explanations Claude doesn't need (e.g., what streaming is, how chat works). The same patterns are repeated dozens of times when a single template would suffice. | 1 / 3 |
Actionability | Provides fully executable, copy-paste ready code examples for every feature including text generation, streaming, multimodal, function calling, caching, code execution, and grounding. All examples are complete with imports and proper syntax. | 3 / 3 |
Workflow Clarity | Multi-step processes like function calling and caching are sequenced but lack explicit validation checkpoints. The Known Issues section documents errors but doesn't integrate validation steps into the main workflows (e.g., no 'verify cache created before using' checkpoint). | 2 / 3 |
Progressive Disclosure | Monolithic wall of text with everything inline. Despite mentioning 'See google-gemini-embeddings skill' once, all other content is dumped into a single massive file. The Table of Contents helps navigation but doesn't compensate for the lack of proper content splitting into separate reference files. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (2601 lines); consider splitting into references/ and linking | Warning |
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 12 / 16 Passed | |
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.