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).

83

2.20x
Quality

77%

Does it follow best practices?

Impact

95%

2.20x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Fix and improve this skill with Tessl

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

Quality

Content

64%

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

This is a solid, actionable skill with excellent executable code examples and good error prevention patterns. Its main weaknesses are redundancy (immutability pattern repeated, mirrored do/don't lists) and a somewhat bloated main file that could better leverage its reference files. The missing timeout logic in polling workflows is a notable gap for production reliability.

Suggestions

Remove the duplicated document immutability pattern — keep it in either 'Top 3 Errors' or 'Common Patterns' and reference the other location.

Consolidate the 'Always Do' and 'Never Do' lists into a single list since they are near-exact mirrors of each other, reducing ~16 items to ~8.

Add explicit timeout/max-retry logic to polling loops (e.g., `const MAX_POLLS = 60; let attempts = 0;`) since infinite polling is a real production risk.

Move 'Supported File Formats', 'Pricing', and 'When to Use' sections into the reference files to keep SKILL.md as a lean overview with quick start and critical rules.

DimensionReasoningScore

Conciseness

The skill contains significant redundancy — the document immutability pattern appears twice (in 'Top 3 Errors' and 'Common Patterns'), the 'Always Do' and 'Never Do' lists mirror each other almost exactly, and sections like 'When to Use File Search' and the comparison table add moderate value but could be tighter. Some explanatory text (e.g., 'What Is File Search?' section explaining RAG concepts) is unnecessary for Claude.

2 / 3

Actionability

The skill provides fully executable TypeScript code examples throughout — store creation, file upload with polling, document update flow, batch uploads, error handling patterns, and chunking configuration. Code is copy-paste ready with real API calls and concrete configuration values.

3 / 3

Workflow Clarity

Multi-step workflows are present (e.g., Document Update Flow with numbered steps 1-4, Quick Start), but polling loops lack timeout/max-retry logic which is a missing validation checkpoint for a potentially infinite loop. The 'Critical Rules' mention polling with timeout but no code demonstrates it. For operations that could hang indefinitely, this is a significant gap.

2 / 3

Progressive Disclosure

The skill references `references/setup-guide.md` and `references/error-catalog.md` with clear 'when to load' guidance, which is good structure. However, no bundle files were provided, so these references cannot be verified. The main file itself is quite long (~300 lines) with inline content that could be offloaded (e.g., the full common patterns section, pricing details, format lists), making the SKILL.md heavier than ideal for an overview document.

2 / 3

Total

9

/

12

Passed

Description

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 concretely enumerated beyond 'document Q&A' and 'knowledge bases'.

Suggestions

Add more specific concrete actions such as 'upload documents to corpora, query knowledge bases, manage file chunks' to improve specificity beyond the current domain-level description.

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 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

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.