Firebase Firestore, Auth, Storage, real-time listeners, security rules
35
32%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/firebase/SKILL.mdQuality
Discovery
22%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is essentially a comma-separated list of Firebase-related keywords with no verbs, no concrete actions, and no 'Use when...' clause. While the Firebase domain provides some natural distinctiveness, the lack of actionable detail and trigger guidance makes it poorly suited for skill selection among a large set of skills.
Suggestions
Rewrite using action verbs describing concrete capabilities, e.g., 'Configures Firestore collections, implements Firebase Authentication flows, manages Storage buckets, sets up real-time listeners, and writes security rules.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Firebase, Firestore queries, Firebase Auth, file uploads to Firebase Storage, real-time database listeners, or Firestore security rules.'
Include common user-facing variations and related terms such as 'authentication', 'Firebase SDK', 'NoSQL database', 'cloud storage', and 'Firebase project setup' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists Firebase service names (Firestore, Auth, Storage) and concepts (real-time listeners, security rules) but does not describe any concrete actions. There are no verbs indicating what the skill actually does—it reads like a keyword list rather than a capability description. | 1 / 3 |
Completeness | The description partially addresses 'what' (Firebase-related topics) but only as a keyword list without concrete actions, and completely lacks any 'when' guidance or explicit trigger clause. The missing 'Use when...' clause alone would cap this at 2, but the weak 'what' brings it to 1. | 1 / 3 |
Trigger Term Quality | It includes relevant keywords a user might mention such as 'Firebase', 'Firestore', 'Auth', 'Storage', 'security rules', and 'real-time listeners'. However, it misses common variations like 'authentication', 'database', 'cloud functions', 'Firebase SDK', or 'NoSQL', limiting coverage. | 2 / 3 |
Distinctiveness Conflict Risk | Firebase is a fairly specific domain, which helps distinguish it from generic coding skills. However, terms like 'Auth' and 'Storage' are generic enough to potentially overlap with other cloud platform or authentication-related skills. | 2 / 3 |
Total | 6 / 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 is a comprehensive Firebase reference but suffers from being far too verbose and monolithic for a SKILL.md. It explains many standard patterns Claude already knows and packs everything into one massive file without any progressive disclosure. The code examples are its strongest asset—they're executable and well-typed—but the overall document reads more like a tutorial than a concise skill instruction.
Suggestions
Reduce content by 60-70%: remove explanations of basic concepts (what each Firebase service does, standard CRUD patterns, basic auth flows) and keep only project-specific conventions, gotchas, and non-obvious patterns.
Split into multiple files: keep SKILL.md as a concise overview (~50-80 lines) with links to SECURITY_RULES.md, DATA_MODELING.md, CLOUD_FUNCTIONS.md, etc.
Add a deployment workflow with explicit validation checkpoints: e.g., 1) test rules with emulator, 2) verify indexes, 3) deploy rules, 4) deploy functions, 5) verify in console.
Move the Anti-Patterns section higher and expand it with concrete 'do this instead' examples—these non-obvious gotchas are the highest-value content for Claude.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~500+ lines, explaining many concepts Claude already knows (what Firestore is, what Authentication does, basic CRUD patterns, OAuth flows). The Firebase Stack table, project structure, and extensive boilerplate code are largely unnecessary padding. Much of this is standard SDK usage that Claude can generate from memory. | 1 / 3 |
Actionability | The code examples are fully executable, copy-paste ready TypeScript/JavaScript with proper imports, type annotations, and complete function signatures. Security rules, Cloud Functions, transactions, and testing examples are all concrete and runnable. | 3 / 3 |
Workflow Clarity | While individual operations are clear, there's no cohesive workflow with validation checkpoints. The security rules testing section mentions running tests but doesn't enforce a validate-before-deploy workflow. Batch operations lack error handling or verification steps. The CLI reference lists deploy commands but doesn't sequence them into a safe deployment workflow. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no references to supporting files. All content—setup, data modeling, CRUD, real-time listeners, offline persistence, security rules, auth, cloud functions, batch operations, indexes, and CLI reference—is crammed into a single file. Much of this should be split into separate reference files (e.g., SECURITY_RULES.md, CLOUD_FUNCTIONS.md, DATA_MODELING.md). | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (748 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
7e5f7a2
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.