CtrlK
BlogDocsLog inGet started
Tessl Logo

google-gemini-file-search

Google Gemini File Search for managed RAG with 100+ file formats. Use for document Q&A, knowledge bases, or encountering immutability errors, quota issues, polling failures. Supports Gemini 3 Pro/Flash (Gemini 2.5 legacy).

81

2.20x
Quality

73%

Does it follow best practices?

Impact

95%

2.20x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/google-gemini-file-search/skills/google-gemini-file-search/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

89%

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 a solid skill description that clearly identifies its niche (Google Gemini File Search / managed RAG) and provides explicit trigger conditions including both use cases and common error scenarios. The trigger terms are well-chosen and distinctive. The main weakness is that the core capabilities could be more specific—listing concrete actions like uploading files, creating corpora, or querying documents would strengthen it further.

Suggestions

Add more specific concrete actions beyond 'document Q&A' and 'knowledge bases', such as 'upload files to corpora, query documents, manage chunks, configure retrieval settings' to improve specificity.

DimensionReasoningScore

Specificity

Names the domain (Google Gemini File Search, managed RAG) and some actions (document Q&A, knowledge bases), but doesn't list multiple concrete actions like 'upload files, query documents, create corpora, manage chunks'. The mention of error types (immutability errors, quota issues, polling failures) adds some specificity but these are troubleshooting scenarios rather than core capabilities.

2 / 3

Completeness

Clearly answers both what ('Google Gemini File Search for managed RAG with 100+ file formats') and when ('Use for document Q&A, knowledge bases, or encountering immutability errors, quota issues, polling failures'). The 'Use for' clause serves as an explicit trigger guidance.

3 / 3

Trigger Term Quality

Good coverage of natural terms: 'Google Gemini', 'File Search', 'RAG', 'document Q&A', 'knowledge bases', 'Gemini 3 Pro/Flash', 'Gemini 2.5', plus specific error terms users would encounter like 'immutability errors', 'quota issues', 'polling failures'. These are terms users would naturally use when seeking help with this specific tool.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with 'Google Gemini File Search' as a clear niche. The specific platform (Gemini), feature (File Search/RAG), model versions (Gemini 3 Pro/Flash, Gemini 2.5), and error types make it very unlikely to conflict with other skills like generic document processing or other LLM API skills.

3 / 3

Total

11

/

12

Passed

Implementation

57%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill is highly actionable with excellent executable code examples and good progressive disclosure to reference files. However, it suffers from substantial redundancy — the same patterns (document update, storage multiplier, model compatibility) are repeated across multiple sections, and the Always Do/Never Do lists mirror each other. Workflow clarity would benefit from timeout handling and error recovery in polling loops.

Suggestions

Eliminate redundancy: consolidate the document update pattern to appear once (in Common Patterns), remove the mirrored 'Never Do' list (the 'Always Do' list suffices), and mention the 3x storage multiplier only once with a brief reminder elsewhere.

Add timeout and error handling to polling loops: include a max retry count or timeout, and show what to do when an operation fails (e.g., `if (operation.error) { ... }`), which is critical for production readiness.

Remove sections that explain things Claude already knows or that add little value — e.g., the 'What Is File Search?' comparison with other RAG solutions, the 'When to Use' decision matrix, and the supported file formats list (these could live in the reference files).

DimensionReasoningScore

Conciseness

Significant redundancy throughout: the document update pattern appears three times (Critical Rules, Error 1, Pattern 3), the 3x storage multiplier is mentioned 5+ times, model compatibility is repeated across multiple sections, and the 'When to Load References' section restates what's already clear from inline references. The 'Always Do' and 'Never Do' lists are near-mirrors of each other. Pricing, chunking, and format lists add bulk that Claude doesn't need explained. The skill is ~300 lines when it could be ~120.

1 / 3

Actionability

Provides fully executable TypeScript code examples throughout — store creation, file upload, polling, querying, citations, batch upload, delete+re-upload pattern. Code is copy-paste ready with real API calls, specific model names, and concrete configuration values.

3 / 3

Workflow Clarity

The Quick Start has a clear sequence (create store → upload → poll → query → citations), and Pattern 3 shows a numbered update flow. However, polling loops lack timeout/max-retry logic, there's no explicit validation that uploads succeeded beyond checking `done`, and no error handling or feedback loops for when operations fail. For a skill involving async operations and potential quota issues, missing error recovery caps this at 2.

2 / 3

Progressive Disclosure

Clear overview in the main file with well-signaled one-level-deep references to `references/setup-guide.md` and `references/error-catalog.md`. Each reference is mentioned with specific context about when to load it. The 'When to Load References' section provides clear navigation guidance.

3 / 3

Total

9

/

12

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

10

/

11

Passed

Repository
secondsky/claude-skills
Reviewed

Table of Contents

Is this your skill?

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.