Build with Firebase Cloud Storage - file uploads, downloads, and secure access. Use when: uploading images/files, generating download URLs, implementing file pickers, setting up storage security rules, or troubleshooting storage/unauthorized, cors errors, quota exceeded, or upload failed errors. Prevents 9 documented errors.
Install with Tessl CLI
npx tessl i github:jezweb/claude-skills --skill firebase-storageOverall
score
81%
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 a well-crafted skill description that excels across all dimensions. It provides specific capabilities, includes natural trigger terms users would actually search for, has an explicit 'Use when:' clause with concrete scenarios, and is clearly distinguishable from other skills through Firebase-specific terminology and error codes.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'file uploads, downloads, and secure access', 'uploading images/files', 'generating download URLs', 'implementing file pickers', 'setting up storage security rules'. Also mentions specific error types to troubleshoot. | 3 / 3 |
Completeness | Clearly answers both what ('Build with Firebase Cloud Storage - file uploads, downloads, and secure access') and when with explicit 'Use when:' clause listing specific scenarios and error conditions. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'Firebase', 'Cloud Storage', 'file uploads', 'download URLs', 'file pickers', 'security rules', plus specific error messages like 'storage/unauthorized', 'cors errors', 'quota exceeded', 'upload failed'. | 3 / 3 |
Distinctiveness Conflict Risk | Very distinct niche targeting specifically Firebase Cloud Storage with unique triggers like Firebase-specific error codes ('storage/unauthorized', 'cors errors'). Unlikely to conflict with generic file handling or other cloud storage skills. | 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 highly actionable Firebase Storage skill with excellent executable code examples covering client SDK, Admin SDK, security rules, and React components. The main weaknesses are its length (could benefit from splitting into multiple files) and missing explicit validation/verification steps in workflows. The error prevention table and best practices sections add significant value.
Suggestions
Add explicit validation steps to workflows, e.g., 'After upload, verify with getMetadata() that the file exists and has correct size/type before proceeding'
Split the React components section into a separate COMPONENTS.md file and link to it from the main skill
Consolidate the multiple upload patterns (basic, with progress, with metadata, base64) into a single configurable example with options, reducing redundancy
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some redundancy (e.g., multiple similar upload patterns, verbose React components that could be condensed). The error table and best practices sections are efficient, but the overall length (~600 lines) could be tightened by consolidating similar patterns. | 2 / 3 |
Actionability | Excellent executable code throughout - all TypeScript examples are copy-paste ready with proper imports, type annotations, and complete implementations. The CORS configuration includes exact commands, security rules are deployable, and error handling includes specific error codes with solutions. | 3 / 3 |
Workflow Clarity | While individual operations are clear, the skill lacks explicit validation checkpoints for multi-step processes. For example, the upload workflow doesn't include verification that the file was uploaded correctly, and the security rules deployment doesn't include a validation step to test rules before deploying. | 2 / 3 |
Progressive Disclosure | The skill is well-organized with clear section headers, but it's monolithic - all content is inline rather than split into separate reference files. The React components section and detailed API examples could be moved to separate files with links from the main skill. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (794 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 |
Total | 12 / 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.