Agent skills for structured development with pluggable issue tracking.
One workflow. Ten skills. From idea to merged code.
Quick start · How it works · Skills · Lens · Architecture · Contributing
A forge is where raw material meets intention. You bring the codebase; these skills shape the workflow from issue to implementation to review.
Install forge one way per machine:
# Claude Code: the skills plus the lens above
/plugin install forge --marketplace mgratzer/forge
# any other agent that reads Agent Skills
npx skills add mgratzer/forgeThen, in your project:
/forge-setup-project # once per repo: AGENTS.md and the docs agents work from
/forge-ship 42 # implement Issue #42, review it in fresh context, open the PR
/forge-ship --guard 42 # and keep going: CI, review feedback, then a risk verdict
With the plugin, the commands are namespaced (/forge:forge-ship), and /forge demo replays a guarded run in the lens without touching GitHub.
forge-setup-project → [forge-shape →] forge-create-issue → forge-implement → forge-reflect → forge-address-pr-feedback → forge-guard → forge-land
╰──── forge-ship ────╯╰────────── forge-ship --guard ───────────╯
Ship implements a change from an Issue, a plan file or a description: it researches the codebase, works in vertical phases with tests, runs the app on the changed path when the project says how, and opens a PR. A fresh-context reviewer, not the session that wrote the code, reviews the diff before you see it.
Guard drives the open PR to review-ready without anyone watching: a simplification pass, a security pass when the diff calls for one, CI, the peer reviewer, and feedback in bounded rounds. It never merges.
Land judges a green PR's risk on its head commit and writes the verdict into the PR. Low risk means you can merge without reading the diff; anything else comes with a list of where to look. It merges by itself only when the project opts in.
Issues live wherever you keep them: GitHub, a markdown plan/ folder in the repo, or a tracker you declare in AGENTS.md. For many Issues at once, forge-batch groups them into Waves that can ship in parallel; see Unattended Shipping.
| Skill | Command | Purpose |
|---|---|---|
| Setup Project | /forge-setup-project |
Set up or audit a project's context for agentic engineering |
| Shape | /forge-shape |
Shape a vague idea into a clear plan, one question at a time, or one board at a time when the decision is visual |
| Create Issue | /forge-create-issue |
Plan and create Issues (GitHub, markdown, or another provider) |
| Implement | /forge-implement <input> |
Implement from an Issue, plan file, or description, and open the PR |
| Reflect | /forge-reflect |
Self-review changes: a PR, a branch, or uncommitted work |
| Address PR Feedback | /forge-address-pr-feedback |
Address unresolved PR feedback |
| Ship | /forge-ship <input> |
Implement and review in one go; --guard continues through guard and land |
| Guard | /forge-guard [pr] |
Drive an open PR to review-ready; never merges |
| Land | /forge-land [pr] |
Judge a green PR's risk: merge-ready, or review-ready with where to look |
| Batch | /forge-batch <scope> |
Group Issues into Waves that can ship concurrently; --start starts the ready ones |
Every skill takes optional trailing guidance: /forge-ship 42 -- keep the diff minimal.
The Claude Code plugin adds the lens: a pane beside the session that follows a forge run, with its current state, the command that most likely comes next, the PR's CI and review state, review findings, and the risk verdict. /forge says where a run is and what to do next. The lens only reads what the skills already print, so the skills work the same without it. See Lens.
Claude Code plugin. /plugin install forge --marketplace mgratzer/forge brings the skills and the lens. The plugin tracks commits on main: update with claude plugin update forge@forge, or turn on auto-update for the marketplace under /plugin.
npx skills. npx skills add mgratzer/forge detects your agents and installs the skills to each of them (skills.sh).
Manual. Symlink the skills into your agent's skills directory:
ln -s /path/to/forge/skills/forge-* <your-agent-skills-dir>/Each skill carries its own copy of the shared modules in _shared/, so nothing else needs installing. Use one channel per machine: with both the plugin and npx, Claude Code lists every skill twice, once as /forge-ship and once as /forge:forge-ship. npx skills update -g recreates the ~/.claude/skills links when ~/.claude exists, so removing them doesn't last while the npx install remains.
AGENTS.md has the commands CI runs and an index of the docs. Exercise a skill change in a sandbox repository, not a real project (Testing), and use conventional commits (feat(skills): add a skill).
