# Skillforge

> Creates new pi skills — scaffolds SKILL.md with frontmatter, registers in _index.md, and logs the decision.

- Skill: `bmaltais/skillforge` (Agent Skill)
- Install (CLI): `npx skillmds@latest add bmaltais/skillforge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bmaltais/skillforge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: bmaltais (https://skillmd.com/u/bmaltais)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/bmaltais/skillforge

---


# Skillforge — the skill that creates skills

When a new capability is needed:

1. **Check for duplicates.** Read `skills/_index.md`. If a similar skill exists,
   extend it instead of creating a new one.
2. **Check memory.** Read `memory/semantic/LESSONS.md` for related patterns.
3. **Draft the skill.** Create `skills/<name>/SKILL.md` with:
   - YAML frontmatter (name, version, triggers, tools, preconditions, constraints)
   - Plain-language instructions (destinations and fences, not driving directions)
   - A self-rewrite hook at the bottom
4. **Register it.** Add an entry to `skills/_index.md` and append a JSON line
   to `skills/_manifest.jsonl`.
5. **Log it.** Append a record to `memory/semantic/DECISIONS.md` explaining
   why this skill was created.

## What good skills look like
- State the destination ("verify tests pass before commit"), not the exact
  command sequence.
- Include 2–3 examples of correct behavior when it clarifies intent.
- Include 1 example of a failure and what was learned from it.
- Keep the whole file under 100 lines.

## Self-rewrite hook
After every 5 skills created, or on any failed creation:
1. Read the last 5 skillforge entries from episodic memory.
2. If better trigger patterns or constraint structures have emerged,
   update this file and the template it implies.
3. Commit: `skill-update: skillforge, <one-line reason>`.

