Build with Firestore NoSQL database - real-time sync, offline support, and scalable document storage. Use when: creating collections, querying documents, setting up security rules, handling real-time listeners, or troubleshooting permission-denied, quota exceeded, invalid query, or offline persistence errors. Prevents 10 documented errors.
Install with Tessl CLI
npx tessl i github:jezweb/claude-skills --skill firebase-firestoreOverall
score
80%
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 uses third person voice, provides specific capabilities, includes an explicit 'Use when:' clause with natural trigger terms, and is clearly distinguishable from other database-related skills through Firestore-specific terminology and error types.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'creating collections, querying documents, setting up security rules, handling real-time listeners' plus specific error types like 'permission-denied, quota exceeded, invalid query, or offline persistence errors'. | 3 / 3 |
Completeness | Clearly answers both what ('Build with Firestore NoSQL database - real-time sync, offline support, and scalable document storage') AND when with explicit 'Use when:' clause listing specific triggers and error scenarios. | 3 / 3 |
Trigger Term Quality | Includes natural keywords users would say: 'Firestore', 'NoSQL database', 'real-time sync', 'offline support', 'collections', 'documents', 'security rules', plus specific error messages users would encounter and search for. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with 'Firestore' as a specific Firebase product, plus unique error types that clearly differentiate it from generic database skills or other Firebase services. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
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 comprehensive, highly actionable Firestore skill with excellent code examples and a valuable error prevention table. The main weaknesses are its length (could benefit from splitting advanced topics into separate files) and missing explicit validation/verification steps in multi-step workflows like deployment and data migration.
Suggestions
Add explicit validation steps after deployment commands (e.g., 'Verify rules deployed: firebase firestore:rules:get' or 'Test with emulator before production')
Split advanced topics (security rules patterns, data modeling, offline persistence) into separate reference files linked from the main skill to improve progressive disclosure
Consolidate Client SDK and Admin SDK CRUD sections by showing one complete example and noting the API differences in a brief comparison table
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some redundancy (e.g., showing both Client SDK and Admin SDK CRUD operations in full when patterns are similar). The error table and known issues section are valuable, but some explanations could be tighter. | 2 / 3 |
Actionability | Excellent executable code examples throughout - all TypeScript snippets are copy-paste ready with proper imports, real function calls, and complete patterns. Security rules, CLI commands, and package.json snippets are all immediately usable. | 3 / 3 |
Workflow Clarity | While individual operations are clear, multi-step workflows like deployment lack explicit validation checkpoints. The transaction section mentions retry behavior but doesn't provide a clear error recovery workflow. The 'Deploy Rules' section is just commands without verification steps. | 2 / 3 |
Progressive Disclosure | Content is well-organized with clear sections and a table of contents structure, but everything is in one monolithic file. Advanced topics like distributed counters, complex security rules, and data modeling could be split into separate reference files with links from the main skill. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
68%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (732 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 |
body_steps | No step-by-step structure detected (no ordered list); consider adding a simple workflow | Warning |
Total | 11 / 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.