From outfitter
Start with Outfitter — scaffold new projects or adopt patterns in existing codebases. Detects context, scans for adoption candidates, and orchestrates phased conversion.
How this skill is triggered — by the user, by Claude, or both
Slash command
/outfitter:outfitter-startThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Start with Outfitter — new projects or existing codebase adoption.
migration/assessment.mdmigration/patterns-quick-ref.mdreferences/manual-scan.mdreferences/new-project-scaffolding.mdscripts/scan.tsscripts/setup.shtemplates/PLAN.mdtemplates/SCAN.mdtemplates/stages/adapters.mdtemplates/stages/documents.mdtemplates/stages/errors.mdtemplates/stages/foundation.mdtemplates/stages/handlers.mdtemplates/stages/overview.mdtemplates/stages/paths.mdtemplates/stages/unknowns.mdStart with Outfitter — new projects or existing codebase adoption.
package.json:
outfitter-atlas (patterns) and context-management (task persistence)..agents/plans/outfitter-start/ with scan results and staged plan.outfitter-check for compliance audit.outfitter-issue to report.For new projects, use the CLI with agent-guided setup.
Check for files that inform preset choice:
ls CLAUDE.md SPEC.md PLAN.md README.md 2>/dev/null
If context files exist, read them and look for keywords:
cli presetmcp presetdaemon presetminimal presetUse AskUserQuestion to clarify before running commands. See references/new-project-scaffolding.md for the full decision flow.
Key questions:
outfitter init <cli|mcp|daemon> . --name <name>
# Or: outfitter init . --preset <preset> --name <name>
Options:
--no-tooling — Skip linter, lefthook, claude settings--with <blocks> — Specific blocks: claude, linter, lefthook, bootstrap, scaffolding--force — Overwrite existing filesAfter scaffolding:
bun install && bun run devoutfitter-atlas for pattern referenceFor existing projects, generate a phased adoption plan.
Produce a structured adoption plan at .agents/plans/outfitter-start/ containing:
DO:
stages/overview.mdDON'T:
outfitter-atlas — you need it for conversion patternsstages/overview.mdoutfitter-check, confirm no violationsRun the setup script to scan the codebase and generate the plan.
# From the plugin directory (when installed):
./skills/outfitter-start/scripts/setup.sh [project-root]
# Or use the skill's scan functionality directly
The script will refuse to run if a plan already exists (won't override).
.agents/plans/outfitter-start/
├── PLAN.md # Entry point with navigation
├── SCAN.md # Scan results, effort estimates
└── stages/ # Task files for each stage
| Finding | Meaning |
|---|---|
| 0 throws, 0 custom errors | Greenfield — skip to Foundation, use fieldguide presets |
| 1-5 throws | Low effort — straightforward conversions |
| 6-15 throws | Medium effort — plan your approach |
| 16+ throws | High effort — work through stages methodically |
| Custom error classes | Map each to taxonomy (see stages/errors.md) |
| High console count | Lots of logging to convert (see stages/handlers.md) |
| Package Discovery table | Review all @outfitter/* options before installing |
| High blast radius handlers | Split into caller-focused sub-phases before converting |
@outfitter/types should be treated as optional unless the target project
has clear branded-type or utility adoption points.
After reviewing SCAN.md:
Adjust the plan based on your assessment.
stages/overview.mdFoundation (required first)
│
├── Paths (can run parallel)
│
└── Handlers
│
├── Errors
│
└── Adapters
│
└── Documents (last)
Unknowns: Review throughout, resolve before Documents
Work through stages in order, updating stages/overview.md as you go.
stages/foundation.md)stages/overview.mdUpdate stages/overview.md as you work:
| Status | When to Use |
|---|---|
| ⬜ Not Started | Haven't begun this stage |
| 🟡 In Progress | Currently working on it |
| ✅ Complete | All checklist items done |
| 🔴 Blocked | Waiting on another stage |
| ⏭️ Skipped | Not applicable (e.g., no MCP tools) |
For fast pattern lookup during execution: migration/patterns-quick-ref.md
Confirm the codebase follows Outfitter patterns.
Run these — all should return no results:
# No throws in application code
rg "throw new" --type ts -g "!*.test.ts"
# No console logging (except entry points)
rg "console\.(log|error|warn)" --type ts -g "!*.test.ts"
# No hardcoded home paths
rg "homedir\(\)" --type ts
Run the review skill for comprehensive checking:
/outfitter-check
From stages/overview.md:
Result<T, E>throw statements in application codeconsole.log in production codeoutput() and exitWithError()Delete the plan directory:
rm -rf .agents/plans/outfitter-start
| File | Purpose |
|---|---|
| references/new-project-scaffolding.md | Full guide for new project setup |
| scripts/setup.sh | Entry point — generates migration plan |
| migration/assessment.md | Decision tree for scope evaluation |
| migration/patterns-quick-ref.md | Quick lookup → links to fieldguide |
| references/manual-scan.md | Manual ripgrep commands |
outfitter-atlas — Patterns and templates (load first)outfitter-check — Compliance verificationnpx claudepluginhub outfitter-dev/outfitter --plugin outfitterScaffolds greenfield project architecture and AI agent harness via interview-driven decisions. Outputs markdown spec with code structure exemplar, tests, guardrails, CLAUDE.md setup, and unified plan. Invoke via /scaffold for new projects.
Greenfield project scaffolding: architecture decisions, harness setup, and requirements generation via interview-driven derivation chain. Use for new projects or major restructures.
Bootstraps a new polyglot monorepo or component from an opinionated spec library, generating AGENTS.md and folder skeleton. Also audits existing scaffolded repos for drift.