Sandbox
@tripleyak/SkillForge

Skill creation harness for Claude Code and Codex

SkillForge is a staged pipeline for building skills, checking them against a baseline, and shipping them with evals. It discovers existing skills, routes requests, generates specs, compiles skills across runtimes, and runs regression checks plus ecosystem health audits.

890 stars92 forksPythonUpdated 1mo ago
Who it's for

Builders who make or maintain skills for Claude Code and Codex and want behavior-based validation.

What it delivers

You can ship skills with tests and health checks instead of relying on the document alone.

What it does

Baseline and green gates

Runs a task without the skill first, then reruns it with the skill and checks for a behavioral improvement.

Per-skill regression evals

Ships each skill with `evals/` and a runner so the same trigger cases can be checked later.

Ecosystem doctor

Finds duplicate triggers, stale references, budget issues, and pinned models across your skill set.

Cross-runtime compile

Compiles one skill for `claude`, `codex`, or `agentskills` from the same source.

Opt-in advisor and friction mining

Uses hooks and consented local history to suggest skills and surface gaps without default personal scanning.

Skill scaffolding and packaging

Creates new skill folders, validates them, and packages them into `.skill` artifacts.

How to get it

  1. 1Run
    git clone https://github.com/tripleyak/SkillForge.git /tmp/skillforge
    cp -r /tmp/skillforge ~/.claude/skills/skillforge
    cd ~/.claude/skills/skillforge && rm -rf README.md LICENSE CONTEXT.md docs .git .gitignore .skillignore index.html assets/images scripts/tests SKILLFORGE_AUDIT.md
    cp /tmp/skillforge/commands/skillforge.md ~/.claude/commands/skillforge.md   # optional /skillforge command
  2. 2Optional advisor + hooks (interactive, everything opt-in)
    python3 ~/.claude/skills/skillforge/scripts/install_skillforge.py

README

SkillForge v6

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. Its 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.

What v6 changed (and why)

v6 is a ground-up rework following a deep external audit (see SKILLFORGE_AUDIT.md on the repo, not shipped with the skill). The headline shifts:

v5v6
4-agent "unanimous synthesis panel" reads the skillSkills are executed: baseline (RED) runs before writing, with-skill (GREEN) runs after, behavioral delta is the gate
Self-scored "timelessness >= 7" approvalFalsifiable checks moved to lint (validate_skill.py); one adversarial reviewer refutes what lint can't catch
5,049-word SKILL.md with <details> "progressive disclosure"1,158-word SKILL.md; depth lives in references/ loaded on demand
Descriptions = "what this skill does"Descriptions = trigger conditions only (workflow summaries make agents skip the body)
launchd background advisor that analyzed / and queued into a file nothing readAdvisor delivered through Claude Code hooks (SessionStart + UserPromptSubmit), caps enforced, opt-in
Personal-directory scanning on by default, hardcoded GitHub handlesPersonal Context strictly opt-in with recorded consent; no shipped defaults
Hand-rolled YAML parser that failed SkillForge's own SKILL.mdOne shared typed parser (scripts/frontmatter.py), 100+ unit tests, and a regression test that SkillForge validates itself
Index missed the Claude Code plugin cache entirelyCross-runtime discovery: personal, Codex, Claude Code plugin cache; deduped; auto-refresh

The pipeline

Phase 0  TRIAGE      index + word-boundary matching -> USE | IMPROVE | CREATE | COMPOSE | CLARIFY
Phase 0b RED GATE    fresh subagent attempts the task WITHOUT the skill; no failure = no skill
Phase 1  ANALYSIS    load-bearing lenses (Inversion, Pareto, Root Cause), failure-form matching
Phase 2  SPEC        tiered (minimal default / full for infrastructure), decisions + WHY
Phase 3  GENERATE    fresh-context subagent receives ONLY the spec + baseline failures
Phase 4  GREEN GATE  with-skill runs must clear the recorded baseline failures; trigger tests
Phase 5  REVIEW      lint (validate_skill.py) + ONE adversarial reviewer charged to refute
Phase 6  SHIP        with evals/ - a per-skill regression suite runnable forever after

What no other skill creator has

  • Dedup before create (Phase 0): an index of every skill across runtimes answers "should this exist?" first.
  • Skills ship with their tests: evals/ (trigger queries + behavioral scenarios) + run_skill_evals.py = regression testing for skills.
  • Ecosystem doctor: skillforge_doctor.py finds trigger collisions between skills, duplicates, stale file references, budget violations, and pinned models across your entire roster.
  • Cross-runtime compile: author once, compile_skill.py --target claude|codex|agentskills.
  • Friction mining (opt-in): mine_skill_friction.py --consent finds skill gaps in your own local session history.
  • Proactive advisor (opt-in): evidence-backed skill suggestions delivered via hooks, never auto-invoked.

Install (Claude Code)

git clone https://github.com/tripleyak/SkillForge.git /tmp/skillforge
cp -r /tmp/skillforge ~/.claude/skills/skillforge
cd ~/.claude/skills/skillforge && rm -rf README.md LICENSE CONTEXT.md docs .git .gitignore .skillignore index.html assets/images scripts/tests SKILLFORGE_AUDIT.md
cp /tmp/skillforge/commands/skillforge.md ~/.claude/commands/skillforge.md   # optional /skillforge command

Optional advisor + hooks (interactive, everything opt-in):

python3 ~/.claude/skills/skillforge/scripts/install_skillforge.py

Requirements: Claude Code (or Codex CLI), Python 3.8+ (stdlib only; PyYAML used if present).

Toolbox

CommandPurpose
python3 scripts/discover_skills.pyBuild/refresh the skill index
python3 scripts/triage_skill_request.py "<request>" --jsonRoute a request
python3 scripts/validate_skill.py <dir>Full validation + lint
python3 scripts/run_skill_evals.py <dir> [--live]Run a skill's regression evals
python3 scripts/skillforge_doctor.pyEcosystem health report
python3 scripts/init_skill.py <name> --path <dir>Scaffold (includes evals/)
python3 scripts/compile_skill.py <dir> --target <t>Cross-runtime compile
python3 scripts/package_skill.py <dir> ./distPackage as .skill
python3 scripts/mine_skill_friction.py --consentMine local transcripts for skill gaps

CI: copy assets/templates/github-workflow-skill-ci.yml into .github/workflows/ of any skill repo.

Releases

Version history and detailed release notes live on the releases page. v6.0.0 is a ground-up rework; the audit that drove it ships in-repo as SKILLFORGE_AUDIT.md.

License

MIT - see LICENSE

Files in the repo

Repository payload13 top-level entries
  • assets
  • commands
  • docs
  • references
  • scripts
  • .gitignore
  • .skillignore
  • CONTEXT.md
  • index.html
  • LICENSE
  • README.md
  • SKILL.md
  • SKILLFORGE_AUDIT.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More harnesses

affaan-m/
ECC
affaan-m/ECCHarnesses

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

258k
ruvnet/rufloHarnesses

🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated

72k

Practical patterns, starters & CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.

11k