Skip to content
Development
Skill

/SkillForge

Use when creating, improving, finding, or auditing agent skills - the user says 'create a skill', 'do I have a skill for X', 'improve the X skill', 'which skill should I use', asks whether a skill exists for a task, or wants to validate, test, evaluate, package, or health-check

From plugin
skillforge
9141 skill1 command

Claude Code

$ npx -y skills add tripleyak/SkillForge --skill SkillForge --agent claude-code

SKILL.md

SkillForge.SKILL.md
name: skillforge
description: "Use when creating, improving, finding, or auditing agent skills - the user says 'create a skill', 'do I have a skill for X', 'improve the X skill', 'which skill should I use', asks whether a skill exists for a task, or wants to validate, test, evaluate, package, or health-check skills. Also use for skill ecosystem maintenance (duplicate detection, stale skills, trigger collisions) and advisor checkpoints."
license: MIT
user-invocable: true
allowed-tools:
  - Read
  - Glob
  - Grep
  - Bash
  - Write
  - Edit
  - Task
metadata:
  version: 6.0.0
  domains: [meta-skill, skill-creation, skill-testing, orchestration, routing]
  type: orchestrator

SkillForge 6 - Skill Router, Creator & Ecosystem Maintainer

Routes any skill-related request to the right action (use, improve, create, compose), creates new skills through an evidence-driven pipeline, and maintains the health of the whole skill ecosystem. Core principle: **skill quality is a property of behavior, not documents - a skill is done when a fresh agent demonstrably does better with it than without it.**

Routing (Phase 0)

Always triage before creating anything:

python3 scripts/discover_skills.py            # refresh index (auto-refreshes if >24h old)
python3 scripts/triage_skill_request.py "<the user's request>" --json

| Triage result | Action | |---|---| | Strong match (existing skill) | Recommend it; do not create a duplicate | | Moderate match | Offer IMPROVE_EXISTING on the matched skill | | Weak/no match + create intent | Proceed to creation pipeline | | Multi-domain | Suggest composing existing skills | | Ambiguous | Ask one clarifying question |

Match bands are keyword-evidence heuristics, not calibrated probabilities - report them as "strong/moderate/weak match", never as percent confidence.

Creation pipeline

Run phases in order. Each phase's detailed procedure lives in its reference - read the reference when you reach the phase, not before.

**0. Baseline gate (RED).** Before designing anything, dispatch a fresh subagent (Task tool) on 1-2 representative target tasks WITHOUT the skill. Capture verbatim what it does wrong. **If the baseline does not fail, stop - the skill is unnecessary.** The failures become the skill's test cases and its description keywords. See [references/testing-and-evals.md](references/testing-and-evals.md).

**1. Analysis.** Identify explicit, implicit, and discovered requirements. Apply the three load-bearing lenses - Inversion (what guarantees failure → anti-patterns), Pareto (which 20% of scope delivers 80% → cut the rest), Root Cause (is this the real problem?) - plus any others from [references/multi-lens-framework.md](references/multi-lens-framework.md) that earn their tokens. Classify the failure type you are guarding against and match the guidance form to it (see the failure-form table in [references/testing-and-evals.md](references/testing-and-evals.md)). Choose instruction specificity with [references/degrees-of-freedom.md](references/degrees-of-freedom.md). Decide scripts with [references/script-integration-framework.md](references/script-integration-framework.md).

**2. Specification.** Write the spec using [references/specification-template.md](references/specification-template.md). Minimal tier (problem, requirements, decisions with WHY, success criteria, test scenarios) for most skills; full tier (temporal projection, obsolescence triggers, extension points) only for infrastructure skills. Never fill a section you cannot ground - omit it.

**3. Generation in fresh context.** Dispatch a subagent (Task tool) that receives ONLY the spec and the baseline failures - not the analysis transcript - to write SKILL.md and supporting files. Scaffold first: `python3 scripts/init_skill.py <name> --path <skills-dir>`. Description doctrine: trigger conditions only, third person, symptom keywords, never a workflow summary. Budget: SKILL.md under 1,500 words; move depth to references/; `<details>` tags save zero tokens for agents - do not use them.

**4. Execution testing (GREEN).** Re-run the baseline tasks WITH the skill via fresh subagents. Gate on behavioral delta: the with-skill runs must not exhibit the baseline failures. Then run the description-triggering check (positive and near-miss queries). Iterate description and body against observed failures, not hunches. For improvements to existing skills, use blind A/B judging. Full protocols: [references/testing-and-evals.md](references/testing-and-evals.md).

**5. Review = lint + one adversarial reviewer.** Mechanical gates first:

python3 scripts/validate_skill.py <skill-dir>     # structure, frontmatter, lint (pinned models, word budget, description shape)
python3 scripts/check_docs_safety.py <skill-dir>

Then one fresh-context subagent prompted to REFUTE the skill (find the case where it misleads, over-triggers, or fails its own scenarios), carrying the reviewer checklists in [references/synthesis-protocol.md](references/synthesis-protocol.md). Fix what it proves; ship what survives. Do not convene approval panels - same-model unanimity measures nothing.

**6. Ship with evals.** Every generated skill keeps its tests: an `evals/` directory (trigger queries + behavioral scenarios + assertions) so future edits can be regression-tested with `python3 scripts/run_skill_evals.py <skill-dir>`. Iterate post-ship with [references/iteration-guide.md](references/iteration-guide.md).

Frontmatter and platform facts

Write frontmatter against the current Claude Code field set (17 fields) documented in [references/claude-code-frontmatter.md](references/claude-code-frontmatter.md), which also covers hooks (hooks receive JSON on stdin, not env vars), `context: fork`/`agent`, `$ARGUMENTS`, and the agentskills.io portability limits (64-char name, 1024-char description) that `validate_skill.py` enforces. Never pin dated model IDs (`claude-*-YYYYMMDD`) - the validator rejects them.

Ecosys

Read more
Stats
918
Stars
93
Forks
Maintained
Maintenance
Python
Language
MIT
License
Last commit
Created

Repo: tripleyak/SkillForge

@tripleyak
Ships withskillforge

A skill creator that proves its skills work. SkillForge routes any skill-related request (use, improve, create, compose), creates new skills through an evidence-driven pipeline, and maintains the health of your whole skill ecosystem.

Stars on GitHub

Momentum

stars in total
914
Star history of tripleyak/SkillForge on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about SkillForge.

Which coding agents can use SkillForge?
SkillForge installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.