Intelligent skill router and creator. Analyzes ANY input to recommend existing skills, improve them, or create new ones. Uses deep iterative analysis with 11 thinking models, regression questioning, evolution lens, and multi-agent synthesis panel. Phase 0 triage ensures you never duplicate existing functionality.
Analyzes any input to route to existing skills, improve them, or create new ones with autonomous multi-agent synthesis.
/plugin marketplace add rjmurillo/ai-agents/plugin install project-toolkit@ai-agentsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Analyzes ANY input to find, improve, or create the right skill.
Any input works. SkillForge will intelligently route to the right action:
# These all work - SkillForge figures out what you need:
SkillForge: create a skill for automated code review
→ Creates new skill (after checking no duplicates exist)
help me debug this TypeError
→ Recommends ErrorExplainer skill (existing)
improve the testgen skill to handle React components better
→ Enters improvement mode for TestGen
do I have a skill for database migrations?
→ Recommends DBSchema, database-migration skills
TypeError: Cannot read property 'map' of undefined
→ Routes to debugging skills (error detected)
SkillForge: {goal} - Full autonomous skill creationcreate skill - Natural language activationdesign skill for {purpose} - Purpose-first creationultimate skill - Emphasize maximum qualityskillforge --plan-only - Generate specification without execution{any input} - Analyzes and routes automaticallydo I have a skill for - Searches existing skillswhich skill / what skill - Recommends matching skillsimprove {skill-name} skill - Enters improvement modehelp me with / I need to - Detects task and routes| Input | Output | Quality Gate |
|---|---|---|
| Any input | Triage → Route → Action | Phase 0 analysis |
| Explicit create | New skill | Unanimous panel approval |
| Task/question | Skill recommendation | Match confidence ≥60% |
ANY USER INPUT
(prompt, error, code, URL, question, task request)
│
▼
┌─────────────────────────────────────────────────────┐
│ Phase 0: SKILL TRIAGE (NEW) │
│ • Classify input type (create/improve/question/task)│
│ • Scan 250+ skills in ecosystem │
│ • Match against existing skills with confidence % │
│ • Route to: USE | IMPROVE | CREATE | COMPOSE │
├─────────────────────────────────────────────────────┤
│ ↓ USE_EXISTING ↓ IMPROVE ↓ CREATE │
│ [Recommend] [Load & Enhance] [Continue] │
└─────────────────────────────────────────────────────┘
│ (if CREATE_NEW or IMPROVE_EXISTING)
▼
┌─────────────────────────────────────────────────────┐
│ Phase 1: DEEP ANALYSIS │
│ • Expand requirements (explicit, implicit, unknown) │
│ • Apply 11 thinking models + Automation Lens │
│ • Question until no new insights (3 empty rounds) │
│ • Identify automation/script opportunities │
├─────────────────────────────────────────────────────┤
│ Phase 2: SPECIFICATION │
│ • Generate XML spec with all decisions + WHY │
│ • Include scripts section (if applicable) │
│ • Validate timelessness score ≥ 7 │
├─────────────────────────────────────────────────────┤
│ Phase 3: GENERATION │
│ • Write SKILL.md with fresh context │
│ • Generate references/, assets/, and scripts/ │
├─────────────────────────────────────────────────────┤
│ Phase 4: SYNTHESIS PANEL │
│ • 3-4 Opus agents review independently │
│ • Script Agent added when scripts present │
│ • All agents must approve (unanimous) │
│ • If rejected → loop back with feedback │
└─────────────────────────────────────────────────────┘
│
▼
Production-Ready Agentic Skill
Key principles:
| Command | Action |
|---|---|
SkillForge: {goal} | Full autonomous execution |
SkillForge --plan-only {goal} | Generate specification only |
SkillForge --quick {goal} | Reduced depth (not recommended) |
SkillForge --triage {input} | Run Phase 0 triage only |
SkillForge --improve {skill} | Enter improvement mode for existing skill |
Before creating anything, SkillForge intelligently analyzes your input to determine the best action.
┌────────────────────────────────────────────────────────────────────┐
│ ANY USER INPUT │
│ (prompt, error, code, URL, question, task request, anything) │
└────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ Step 1: INPUT CLASSIFICATION │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ explicit_create │ │ explicit_improve│ │ skill_question │ │
│ │ "create skill" │ │ "improve skill" │ │ "do I have..." │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ task_request │ │ error_message │ │ code_snippet │ │
│ │ "help me with" │ │ "TypeError..." │ │ [pasted code] │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
└────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ Step 2: SKILL ECOSYSTEM SCAN │
│ • Load index of 250+ skills (discover_skills.py) │
│ • Match input against all skills with confidence scoring │
│ • Identify top matches with reasons │
└────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ Step 3: DECISION MATRIX │
│ │
│ Match ≥80% + explicit create → CLARIFY (duplicate warning) │
│ Match ≥80% + other input → USE_EXISTING (recommend skill) │
│ Match 50-79% → IMPROVE_EXISTING (enhance match) │
│ Match <50% + explicit create → CREATE_NEW (proceed to Phase 1) │
│ Multi-domain detected → COMPOSE (suggest skill chain) │
│ Ambiguous input → CLARIFY (ask for more info) │
└────────────────────────────────────────────────────────────────────┘
| Action | When | Result |
|---|---|---|
| USE_EXISTING | Match ≥80% | Recommends existing skill(s) to invoke |
| IMPROVE_EXISTING | Match 50-79% | Loads skill and enters enhancement mode |
| CREATE_NEW | Match <50% | Proceeds to Phase 1 (Deep Analysis) |
| COMPOSE | Multi-domain | Suggests skill chain via SkillComposer |
| CLARIFY | Ambiguous or duplicate | Asks user to clarify intent |
# Run triage on any input
python scripts/triage_skill_request.py "help me debug this error"
# JSON output for automation
python scripts/triage_skill_request.py "create a skill for payments" --json
# Examples:
python scripts/triage_skill_request.py "TypeError: Cannot read property 'map'"
# → USE_EXISTING: Recommends ErrorExplainer (92%)
python scripts/triage_skill_request.py "create a skill for code review"
# → CLARIFY: CodeReview skill exists (85%), create anyway?
python scripts/triage_skill_request.py "help me with API and auth and testing"
# → COMPOSE: Multi-domain, suggests APIDesign + AuthSystem + TestGen chain
Phase 0 uses a pre-built index of all skills:
# Rebuild skill index (run periodically or after installing new skills)
python scripts/discover_skills.py
# Index location: ~/.cache/skillrecommender/skill_index.json
# Scans: ~/.claude/skills/, plugins/marketplaces/*, plugins/cache/*
Before distribution, validate your skill:
# Quick validation (required for packaging)
python scripts/quick_validate.py ~/.claude/skills/my-skill/
# Full structural validation
python scripts/validate-skill.py ~/.claude/skills/my-skill/
# Package for distribution
python scripts/package_skill.py ~/.claude/skills/my-skill/ ./dist
Skills must use only these allowed frontmatter properties:
| Property | Required | Description |
|---|---|---|
name | Yes | Hyphen-case, max 64 chars |
description | Yes | Max 1024 chars, no angle brackets |
license | No | MIT, Apache-2.0, etc. |
allowed-tools | No | Restrict tool access |
metadata | No | Custom fields (version, model, etc.) |
---
name: my-skill
description: What this skill does
license: MIT
metadata:
version: 1.0.0
model: claude-opus-4-5-20251101
---
~/.claude/skills/{skill-name}/
├── SKILL.md # Main entry point (required)
├── references/ # Deep documentation (optional)
│ ├── patterns.md
│ └── examples.md
├── assets/ # Templates (optional)
│ └── templates/
└── scripts/ # Automation scripts (optional)
├── validate.py # Validation/verification
├── generate.py # Artifact generation
└── state.py # State management
Scripts enable skills to be agentic - capable of autonomous operation with self-verification.
| Category | Purpose | When to Include |
|---|---|---|
| Validation | Verify outputs meet standards | Skill produces artifacts |
| Generation | Create artifacts from templates | Repeatable artifact creation |
| State Management | Track progress across sessions | Long-running operations |
| Transformation | Convert/process data | Data processing tasks |
| Calculation | Compute metrics/scores | Scoring or analysis |
Script Requirements:
Result dataclass pattern for structured returnsSee: references/script-integration-framework.md
| Avoid | Why | Instead |
|---|---|---|
| Duplicate skills | Bloats registry | Check existing first |
| Single trigger | Hard to discover | 3-5 varied phrases |
| No verification | Can't confirm success | Measurable outcomes |
| Over-engineering | Complexity without value | Start simple |
| Missing WHY | Can't evolve | Document rationale |
| Invalid frontmatter | Can't package | Use allowed properties only |
After creation:
< or >python scripts/quick_validate.py passesFor detailed implementation guides, see:
| Skill | Relationship |
|---|---|
| skill-composer | Can orchestrate created skills |
| claude-authoring-guide | Deeper patterns reference |
| codereview | Pattern for multi-agent panels |
| maker-framework | Zero error standard source |
references/multi-lens-framework.mdassets/templates/references/script-patterns-catalog.mdActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.