skills-factory by aiskillstore
Meta-skill for creating production-ready Claude Code skills using evaluation-driven development, progressive disclosure patterns, comprehensive validation, and two-Claude iterative methodology
Content & Writing
85 Stars
2 Forks
Updated Jan 19, 2026, 04:39 AM
Why Use This
This skill provides specialized capabilities for aiskillstore's codebase.
Use Cases
- Developing new features in the aiskillstore repository
- Refactoring existing code to follow aiskillstore standards
- Understanding and working with aiskillstore's codebase structure
Install Guide
2 steps- 1
Skip this step if Ananke is already installed.
- 2
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Skill Stats
SKILL.md 342 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: skills-factory
description: Meta-skill for creating production-ready Claude Code skills using evaluation-driven development, progressive disclosure patterns, comprehensive validation, and two-Claude iterative methodology
---
# Skills Factory
A comprehensive meta-skill for creating, validating, and iterating on production-ready Claude Code skills.
## About Skills
Skills extend Claude Code's capabilities with specialized knowledge and workflows. They use a **progressive disclosure system** that loads content in three levels:
1. **Metadata** (YAML) - Always loaded at startup (~100 tokens)
2. **Instructions** (SKILL.md body) - Loaded when triggered (<5,000 tokens)
3. **Resources** (supporting files) - Loaded as needed (effectively unlimited)
Skills are filesystem-based tools that live in `~/.claude/skills/` (personal) or `.claude/skills/` (project-specific).
## Skill Creation Process
### Step 1: Understanding the Domain
Before writing anything, deeply understand what you're building:
**Ask Critical Questions:**
- What specific problem does this skill solve?
- Who is the user and what's their context?
- What tasks should be automated vs. guided?
- What knowledge must Claude have vs. can reference?
- How will success be measured?
**Research Thoroughly:**
- Review similar existing skills
- Study relevant documentation
- Understand the workflow domain
- Identify edge cases and failure modes
**Define Success Criteria:**
- What specific outcomes indicate the skill works?
- What would success look like without the skill vs. with it?
- How will you evaluate effectiveness?
**See:** [references/EVALUATION_GUIDE.md](references/EVALUATION_GUIDE.md) for evaluation-driven development methodology.
### Step 2: Planning Your Architecture
Design your skill's structure before implementation:
**Choose Your Pattern:**
- **Simple skill**: SKILL.md only (~100-300 lines)
- **Standard skill**: SKILL.md + 1-3 reference files
- **Script-heavy skill**: SKILL.md + scripts/ + validation patterns
- **Reference-heavy skill**: SKILL.md + references/ with 5+ supporting docs
**Plan Progressive Disclosure:**
- What must be in SKILL.md? (triggers, core workflow, navigation)
- What goes to references/? (detailed guides, examples, context)
- What goes to scripts/? (validation, automation, processing)
- Keep SKILL.md under 200 lines when possible
**Design Workflows:**
- Linear process? Use simple sequential steps
- Quality gates? Use checklist workflow
- Conditional paths? Design decision tree
- Iteration needed? Plan feedback loop
**See:** [references/WORKFLOW_PATTERNS.md](references/WORKFLOW_PATTERNS.md) and [references/VALIDATION_PATTERNS.md](references/VALIDATION_PATTERNS.md)
### Step 3: Initialize Skill Structure
Create your skill's foundation:
```bash
cd ~/.claude/skills # or .claude/skills for project-specific
python /path/to/init_skill.py my-skill-name
```
This creates:
```
my-skill-name/
├── SKILL.md # Main skill file (YAML + instructions)
├── scripts/ # Executable scripts (optional)
├── references/ # Supporting documentation (optional)
└── assets/ # Images, templates, data files (optional)
```
**Post-Initialization:**
- Replace ALL `TODO:` placeholders in YAML frontmatter
- Draft description with key trigger terms (max 1024 chars)
- Ensure name is hyphen-case (lowercase + hyphens only)
- Plan your progressive disclosure structure
**See:** Bundled `scripts/init_skill.py`
### Step 4: Design & Implement
Build your skill following best practices:
**YAML Frontmatter Requirements:**
```yaml
---
name: skill-name # Required: hyphen-case, max 64 chars
description: | # Required: max 1024 chars, include trigger terms
Clear, specific description of what this skill does.
Include key terms that should trigger the skill.
Focus on capabilities and use cases.
allowed-tools: # Optional: Pre-approved tools list (Claude Code only)
- Read
- Grep
- Glob
metadata: # Optional: Custom key-value pairs for tracking
author: "TeamName"
version: "1.0.0"
category: "data-processing"
---
```
**Optional YAML Fields:**
**`allowed-tools`** (Claude Code only):
- **Purpose**: Restricts which tools Claude can use when this skill is active
- **Format**: YAML list of tool names
- **Use Cases**:
- Read-only skills (prevent file modification): `[Read, Grep, Glob]`
- Security-sensitive workflows (limit tool scope)
- Data analysis only (no write/execute permissions)
- **Known Tools**: Read, Write, Edit, Grep, Glob, Bash, Task, SlashCommand, Skill
- **Example**:
```yaml
---
name: safe-file-reader
description: Read and analyze files without making changes
allowed-tools: [Read, Grep, Glob]
---
```
**`metadata`** (All platforms):
- **Purpose**: Store custom key-value pairs for tracking and categorization
- **Format**: YAML dictionary (string keys → string values)
- **Use Cases**:
- Version tracking: `{version: "2.1.0"}`
- Team ownership: `{author: "TeamName", contact: "[email protected]"}`
- Categorization: `{category: "content-creation", domain: "marketing"}`
- Custom tracking IDs: `{internal-id: "SKILL-12345"}`
- **Best Practice**: Use unique key names to avoid conflicts with other tools
- **Example**:
```yaml
---
name: pdf-processor
description: Extract text and tables from PDF files
metadata:
author: "ContentTeam"
version: "2.1.0"
category: "document-processing"
last-updated: "2025-11-22"
---
```
**SKILL.md Body Guidelines:**
- Start with clear "About" section explaining purpose
- Use concrete examples over abstract explanations
- Break complex workflows into numbered steps
- Reference detailed content (don't inline everything)
- Keep total SKILL.md under 500 lines (ideally under 200)
**Progressive Disclosure Rules:**
- Reference files ONE level deep: `[Guide](references/guide.md)` ✓
- No nested references: `references/category/subcategory/file.md` ✗
- Load scripts when needed: "Run validation: `bash scripts/validate.py`"
- Front-load critical info, defer details to references
**Workflow Integration:**
- Add validation checkpoints after key steps
- Design feedback loops for quality assurance
- Use scripts to automate validation (not punt to Claude)
- Provide clear error messages with actionable fixes
**See:** [references/WORKFLOW_PATTERNS.md](references/WORKFLOW_PATTERNS.md), [references/VALIDATION_PATTERNS.md](references/VALIDATION_PATTERNS.md)
### Step 5: Validate & Package
Ensure quality before distribution:
**Comprehensive Validation:**
```bash
python scripts/comprehensive_validate.py /path/to/my-skill-name
```
This checks:
- ✓ YAML structure and required fields
- ✓ Naming conventions (hyphen-case, no invalid chars)
- ✓ Description quality (length, clarity, trigger terms)
- ✓ Progressive disclosure (file references one-level deep)
- ✓ Best practices (no absolute paths, TODO markers, etc.)
- ✓ Content quality (examples present, clear structure)
- ✓ Workflow validation (if workflows present)
**Fix all errors and warnings before packaging.**
**Package for Distribution:**
```bash
python scripts/package_skill.py /path/to/my-skill-name
```
Creates: `my-skill-name.zip` ready for sharing or installation.
**See:** Bundled `scripts/comprehensive_validate.py` and `scripts/package_skill.py`
### Step 6: Iterate Using Two-Claude Methodology
Most skills require iteration to reach production quality. Use the **Two-Claude Method**:
**Claude A (Builder):**
- Has the skill loaded in their environment
- Performs realistic tasks the skill should help with
- Documents behavior, errors, confusion points
- Takes notes on what works and what doesn't
**Claude B (Tester/Observer):**
- Reviews Claude A's session logs and outputs
- Analyzes where the skill succeeded vs. failed
- Identifies improvement opportunities
- Proposes specific edits to skill files
**Iteration Cycle:**
1. Claude A uses the skill on realistic task
2. Observe and document behavior (what happened?)
3. Claude B analyzes session (what should change?)
4. Edit skill files based on findings
5. Re-validate with comprehensive_validate.py
6. Repeat until skill performs well consistently
**Key Observation Points:**
- Did Claude invoke the skill when appropriate?
- Did the skill provide sufficient guidance?
- Were workflows clear and easy to follow?
- Did validation catch errors effectively?
- What caused confusion or errors?
**See:** [references/TWO_CLAUDE_METHODOLOGY.md](references/TWO_CLAUDE_METHODOLOGY.md) for complete iteration framework.
### Step 7: Deploy & Distribute
After validation and iteration, deploy your skill so Claude can use it.
**Deploy to Claude Code:**
For personal use (across all projects):
```bash
python scripts/package_skill.py my-skill --install personal
```
Installs to `~/.claude/skills/my-skill/` - immediately available in all Claude Code sessions.
For team/project use (shared via git):
```bash
python scripts/package_skill.py my-skill --install project
git add .claude/skills/my-skill/
git commit -m "Add my-skill for team workflows"
git push
```
Team members get skill automatically on `git pull`.
**Deploy to Claude.ai / Claude Desktop:**
```bash
python scripts/package_skill.py my-skill --package
```
Upload generated `my-skill.zip` via Settings > Features.
**Deploy to Claude API:**
Upload via `/v1/skills` endpoint for organization-wide availability.
**Verification:**
- Claude Code: Ask "What skills are available?"
- Claude.ai/Desktop: Check Settings > Features shows skill
- API: List skills via API endpoint
**Important:** Skills **do not sync across surfaces**. Must deploy separately to each platform (Code, .ai, Desktop, API).
**See:** [references/DEPLOYMENT_GUIDE.md](references/DEPLOYMENT_GUIDE.md) for complete deployment workflows, surface-specific instructions, and team distribution strategies.
## Troubleshooting
**Common Issues:**
- "Claude doesn't use my skill" → Check description triggers, YAML validity
- "Skill loaded but ignored" → Add concrete examples, improve clarity
- "Validation failing" → Run comprehensive_validate.py for specific errors
- "Skill too complex" → Apply progressive disclosure, move content to references
- "Skill created but not available" → Check installation location, use --install flag
- "Skill works in Code but not .ai" → Skills don't sync, must upload separately
- "Team doesn't have skill" → Commit to git (project) or share zip (other surfaces)
**See:** [references/TROUBLESHOOTING.md](references/TROUBLESHOOTING.md) for comprehensive troubleshooting guide.
## Reference Documentation
- **[EVALUATION_GUIDE.md](references/EVALUATION_GUIDE.md)** - Evaluation-driven development methodology
- **[TWO_CLAUDE_METHODOLOGY.md](references/TWO_CLAUDE_METHODOLOGY.md)** - Complete iterative testing framework
- **[WORKFLOW_PATTERNS.md](references/WORKFLOW_PATTERNS.md)** - Workflow design patterns and examples
- **[VALIDATION_PATTERNS.md](references/VALIDATION_PATTERNS.md)** - Feedback loops and validation strategies
- **[DEPLOYMENT_GUIDE.md](references/DEPLOYMENT_GUIDE.md)** - Complete deployment and distribution guide
- **[TROUBLESHOOTING.md](references/TROUBLESHOOTING.md)** - Common issues and solutions
## Example Skills
See `references/examples/` for annotated example skills demonstrating best practices:
- **simple-skill/** - Minimal viable skill (commit-helper)
- **standard-skill/** - Moderate complexity with references (pdf-processor)
- **complex-skill/** - Full progressive disclosure (data-analysis)
Each example includes `ANNOTATIONS.md` explaining architectural decisions.
## Scripts
- **init_skill.py** - Generate new skill from template
- **comprehensive_validate.py** - Deep validation (structure, content, best practices)
- **package_skill.py** - Create distributable .zip file
## Version History
**v1.1.0** (2025-10-19)
- Added deployment layer with cross-surface support
- Enhanced package_skill.py with --install flag (personal/project)
- Enhanced init_skill.py with interactive location prompt
- Created DEPLOYMENT_GUIDE.md reference (~4,000 words)
- Added deployment troubleshooting (Issues 9-12)
- Complete end-to-end workflow: creation → deployment → distribution
**v1.0.0** (2025-10-19)
- Initial production release
- Evaluation-driven development framework
- Two-Claude iterative methodology
- Comprehensive validation script
- Workflow patterns (Sequential, Checklist, Conditional, Iterative)
- Validation patterns (Script-based, Reference-based, Plan-validate-execute, Multi-stage)
- Progressive disclosure implementation
- Troubleshooting guide (8 common issues)
---
**Created with Skills Factory** - Meta-skill for production-ready Claude Code skills
Name Size