CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

firestore-rules-creation

Designs, authors, refactors, and hardens production-grade Cloud Firestore Security Rules (firestore.rules). IMPORTANT: If subagent delegation AND the firestore-rules-author subagent are available in your environment, delegate authoring firestore.rules to the firestore-rules-author subagent. If subagent delegation is unavailable (e.g. not enabled in the IDE), firestore-rules-author is not installed, or you are running inside firestore-rules-author, follow this skill directly.

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/firestore-rules-creation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%Weight 40%Scale 1-5

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

The skill delivers a rigorous, checklist-driven workflow with executable code, explicit adversarial validation, and feedback loops — genuinely strong workflow clarity and actionability. Its weaknesses are token efficiency (the same security mandates are repeated across multiple sections) and the absence of any progressive disclosure: a ~590-line monolith that should split its helper library and attack checklist into reference files.

Suggestions

Deduplicate repeated mandates: consolidate the validator-pattern, PII/blanket-read, and counter-consistency guidance each into a single authoritative section instead of restating them in Phase-2 principles, Critical Directives, Phase-3, and Critical Constraints.

Move the helper-function library and the 20-item devil's-advocate checklist into references/ files (e.g., references/helpers.md and references/attack-checklist.md) and keep a condensed core workflow in SKILL.md.

Resolve the regex-escaping inconsistency: state the exact literal to write in firestore.rules ("\\d" vs "\\\\d") and make the isValidDateString/isValidEmail helper examples match the stated rule.

DimensionReasoningScore

Conciseness

The body is dense, directive, and free of basic-concept padding, but the same mandates are restated across sections: the validator requirement appears in Phase-2 principles, Phase-3 attack #20, and Critical Constraints #2; PII/blanket-read guidance appears in "User Data Separation", "NEVER allow PII EXPOSURE LEAKS", "No Blanket User Read Access", and Phase-3 #17; counter consistency is covered both in "Secure Counter Updates" and "Counter/Action Replay". This matches "mostly efficient but could be tightened" rather than score 4 (redundancy is more than minor) or score 2 (no explanations of concepts Claude already knows).

3 / 5

Actionability

Provides a copy-paste-ready helper-function library, bad/good RBAC match blocks, a complete isValidCounterUpdate implementation with getAfter() consistency checks, and a concrete validation command ("firebase deploy --only firestore:rules --dry-run"), which meets "mostly executable guidance with minor gaps". It falls short of score 5 because the regex-escaping directive ("MUST use double backslashes (e.g., \\\\d)") is inconsistent with the helper functions that use \\d{4}, leaving the correct escaping level ambiguous, and "Scan the entire codebase" gives no tool guidance.

4 / 5

Workflow Clarity

The workflow is four clearly named phases with explicit validation steps, a 20-item devil's-advocate checklist, and feedback loops ("Fix the security hole, Regenerate the rules, Repeat Phase-3 until no attacks succeed"; Phase-4 "repeat until rules pass validation") plus a concrete dry-run command — matching the anchor for clear sequence with explicit validation, error-recovery loops, and checklists.

5 / 5

Progressive Disclosure

There are no bundle files at all; everything lives in a single ~590-line SKILL.md. Headers are clear (matching "some structure"), but content that would serve better as one-level-deep references — the ~150-line helper-function library and the 20-item attack checklist — is inlined, so it sits below the "most content appropriately placed" anchor.

3 / 5

Total

15

/

20

Passed

Description

75%Weight 40%Scale 1-5

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 states concrete capabilities on a distinct, well-named domain, but it entirely lacks a "Use when..." trigger clause and omits natural synonym variations, which limits discoverability. A large share of its length is delegation-routing text rather than capability or trigger information.

Suggestions

Add an explicit trigger clause, e.g., "Use when creating, editing, or reviewing firestore.rules files, or when the user mentions Firestore/Firebase security rules, database access control, or permission-denied errors."

Include natural synonyms users would say, such as "Firebase security rules" and "rules file", alongside the existing "Cloud Firestore Security Rules (firestore.rules)".

Trim the subagent delegation routing to one short sentence so the description leads with capability and trigger information.

DimensionReasoningScore

Specificity

"Designs, authors, refactors, and hardens production-grade Cloud Firestore Security Rules (firestore.rules)" lists four concrete actions naming the exact artifact, matching the anchor for multiple specific concrete actions with comprehensive coverage; it is not score 4 because the action list spans the domain's full lifecycle rather than having minor gaps.

5 / 5

Completeness

The "what" is clear and concrete, but there is no "Use when..." clause or equivalent trigger guidance — the IMPORTANT sentences are delegation-routing instructions, not usage triggers — which caps completeness at 3 per the rubric guideline.

3 / 5

Trigger Term Quality

Includes the natural terms users would say ("Cloud Firestore Security Rules", "firestore.rules"), giving good keyword coverage, but misses common synonyms like "Firebase security rules" or "rules file", so it falls short of the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche (Firestore Security Rules authoring/hardening) with distinct triggers like "firestore.rules" and minimal realistic conflict with other skills; it matches the clear-niche anchor rather than the minor-overlap anchor because the named artifact and domain are unambiguous.

5 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (601 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository

firebase/agent-skills

Path

skills/firestore-rules-creation/SKILL.md

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.