skill-forge
Original:🇺🇸 English
Translated
3 scripts
Meta-skill that forges, audits, and refines other skills. Three modes – forge a new skill from a brief, audit recent chat transcripts for new-skill candidates and pain points, or refine an existing skill with additive-only changes. Triggers on "skill-forge a thing that does X", "forge a skill", "skill-forge audit", "skill audit", "refine my skills", "skill-forge refine <name>", or "/skill-forge". Auto-opens a PR against mphinance/alpha-skills (never auto-merges).
17installs
Sourcemphinance/alpha-skills
Added on
NPX Install
npx skill4agent add mphinance/alpha-skills skill-forgeTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →skill-forge
The skill of skills, for skills. Builds new ones, refines existing ones, and mines chat transcripts for what to build next.
When to invoke
Three modes. Pick by what the user says.
| Mode | Triggers | What it does |
|---|---|---|
| forge | "skill-forge a thing that does X", "forge a skill that ...", "build me a skill for ..." | Ask 2-3 clarifying questions, scaffold |
| audit | "skill-forge audit", "skill audit", "/skill-forge", "what skills should I build" | Run the miner over |
| refine | "refine my skills", "skill-forge refine <name>", "improve the <name> skill" | Propose additive-only changes (new trigger phrase, new example, new section) to an existing skill. Opens PR with diff. |
Flow
forge mode
- Ask the user 2-3 questions max: skill name (kebab-case), one-sentence purpose, primary trigger phrase. Don't over-interview.
- Run the scaffolder.
The scaffolder reads
python scripts/forge_new.py --name <name> --brief "<one-sentence purpose>"and substitutestemplates/SKILL.md.tmpl,{{name}},{{description}},{{title}},{{when_to_invoke}},{{flow}}.{{hard_rules}} - Open the freshly written . Review with the user. Tighten copy if needed.
~/.claude/skills/<name>/SKILL.md - Publish.
This clones
python scripts/publish.py <name>intomphinance/alpha-skillsif missing, branches~/.cache/skill-forge/alpha-skills, commits, pushes, opens PR. Prints PR URL. Stop there. User reviews and merges.skill-forge/<name>-<short-ts>
audit mode
- Run the miner.
python scripts/mine_chats.py --days 30 - Read aloud (the markdown report) and
reports/latest.md(structured candidates).reports/latest.json - Present the three sections: new-skill candidates, refinement candidates, pain points. Ask which to act on.
- For each chosen new-skill candidate, drop into forge mode with so the PR body cites the mined evidence.
publish.py --from-audit - For each chosen refinement candidate, drop into refine mode.
refine mode
- Read the target skill's existing SKILL.md in full. You are not allowed to remove or restructure anything.
- Propose additions only: new trigger phrase in the frontmatter description, new example, new "When NOT to use" bullet, new flow step.
- Write the proposed change to first. Confirm with the user.
proposals/<skill-name>/CHANGES.diff - Apply the additive edit to .
~/.claude/skills/<skill-name>/SKILL.md - Publish.
Commit message starts with "Refine <name> skill: <one-line summary>". PR body explains the addition and links the mined evidence.
python scripts/publish.py <skill-name>
Hard rules
- Never auto-merge PRs. opens the PR. User merges. No
publish.pyever.gh pr merge - Never restructure existing skills in refine mode. Additive-only. If a skill needs a rewrite, that's a new forge, not a refine.
- Refinements are additive-only. No removed lines beyond pure whitespace. enforces this in refine mode.
publish.py - Never mine recursively on skill-forge's own sessions. The miner already filters self-references. Don't disable it.
- Skip SSH transcripts. Project paths starting with or cwd under
ssh-are remote work and not mined./home/ - No em dashes. Use en dash with spaces or commas. No emojis in forged skills.
- stdlib only. Forged skills and skill-forge scripts use Python stdlib, no pip installs.
- Always go through PR. Never edit files in directly.
~/.cache/skill-forge/alpha-skills/skills/
Scheduling
The audit is the part you want on a cron. Two options:
-
Preferred – use theskill.
/schedule/schedule weekly /skill-forge auditRuns the audit weekly, writes, notifies you next session.reports/latest.md -
Free-tier alternative for the miner alone. Wire Windows Task Scheduler to runon a weekly trigger. Zero tokens spent. You read
python C:\Users\mphan\.claude\skills\skill-forge\scripts\mine_chats.py --days 7when you feel like it, then invokereports/latest.mdinteractively to act on candidates.skill-forge audit
Forge and refine modes are interactive by design. Don't schedule those.
Out of scope
- Auto-merging PRs. User merges, always.
- In-place edits to skills in during refine mode. Always go through PR against
~/.claude/skills/.mphinance/alpha-skills - Mining transcripts from machines other than this one.
- Forging non-markdown skills (binary plugins, MCP servers, anything that isn't a SKILL.md plus optional scripts).
- Rewriting or restructuring existing skills. Refinements are additive-only.