| name | outfitter-start |
| version | 1.0.1 |
| description | Start with Outfitter — scaffold new projects or adopt patterns in existing codebases. Detects context, scans for adoption candidates, and orchestrates phased conversion. |
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet, AskUserQuestion |
Outfitter Start
Start with Outfitter — new projects or existing codebase adoption.
Steps
- Detect scenario — Check for
package.json:
- No package.json → New project (continue to New Project Scaffolding)
- Has package.json → Existing project (continue to step 2)
- Load skills — Load
outfitter-atlas (patterns) and context-management (task persistence).
- Scan — Run the setup script to generate
.agents/plans/outfitter-start/ with scan results and staged plan.
- Review — Present SCAN.md findings to user. Use AskUserQuestion for scope and priority decisions.
- Execute stages — Work through stages in dependency order:
- Foundation — Scaffold Result types, logger, dependencies (outfitter-atlas)
- Handlers — TDD handler conversions (tdd-fieldguide + outfitter-atlas)
- Errors — Map custom errors to taxonomy
- Adapters — Wire CLI/MCP transport layers
- Documents — Update docs to reflect new patterns
- Verify — Load
outfitter-check for compliance audit.
- Feedback — If issues discovered, load
outfitter-issue to report.
- Persist — Update Tasks throughout with progress and decisions.
New Project Scaffolding
For new projects, use the CLI with agent-guided setup.
Step 1: Gather Context
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", "command-line", "tool" → suggest
cli preset
- "MCP", "server", "tools for AI" → suggest
mcp preset
- "daemon", "background", "service" → suggest
daemon preset
- Otherwise → suggest
minimal preset
Step 2: Ask User Questions
Use AskUserQuestion to clarify before running commands. See references/new-project-scaffolding.md for the full decision flow.
Key questions:
- Preset type (CLI, MCP, daemon, minimal)
- Project name
- Whether to include tooling (scaffolding block)
Step 3: Run the CLI
outfitter init <cli|mcp|daemon> . --name <name>
Options:
--no-tooling — Skip linter, lefthook, claude settings
--with <blocks> — Specific blocks: claude, linter, lefthook, bootstrap, scaffolding
--force — Overwrite existing files
Step 4: Report and Suggest Next Steps
After scaffolding:
- List key files created
- Suggest:
bun install && bun run dev
- Recommend loading
outfitter-atlas for pattern reference
Migration Workflow
For existing projects, generate a phased adoption plan.
Goal
Produce a structured adoption plan at .agents/plans/outfitter-start/ containing:
- Scan results showing what needs conversion (SCAN.md)
- Stage-by-stage task files tracking progress (stages/)
- Clear completion criteria for each stage
Constraints
DO:
- Load fieldguide first — it has the patterns, this skill has the workflow
- Run the setup script to generate the plan
- Work through stages in dependency order
- Mark progress in
stages/overview.md
DON'T:
- Skip the scan phase
- Duplicate fieldguide content (reference it instead)
- Work on blocked stages before dependencies complete
Steps
- Load
outfitter-atlas — you need it for conversion patterns
- Assess the codebase — run the setup script, review SCAN.md
- Configure the plan — adjust priorities in
stages/overview.md
- Execute stage by stage — Foundation → Handlers → Errors → Adapters → Documents
- Verify compliance — run
outfitter-check, confirm no violations
- Delete the plan directory when adoption is complete
Stage 1: Assess
Run the setup script to scan the codebase and generate the plan.
What to Run
./skills/outfitter-start/scripts/setup.sh [project-root]
The script will refuse to run if a plan already exists (won't override).
What Gets Generated
.agents/plans/outfitter-start/
├── PLAN.md # Entry point with navigation
├── SCAN.md # Scan results, effort estimates
└── stages/ # Task files for each stage
What to Review in SCAN.md
| 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.
Decision Point
After reviewing SCAN.md:
- Greenfield? → Load fieldguide, use its presets directly
- Migration? → Continue to Stage 2
Stage 2: Configure
Adjust the plan based on your assessment.
What to Do
- Open
stages/overview.md
- Review the status dashboard
- Adjust stage order if needed (Paths can run parallel with Handlers)
- Add notes about decisions or blockers
Stage Dependencies
Foundation (required first)
│
├── Paths (can run parallel)
│
└── Handlers
│
├── Errors
│
└── Adapters
│
└── Documents (last)
Unknowns: Review throughout, resolve before Documents
Stage 3: Execute
Work through stages in order, updating stages/overview.md as you go.
For Each Stage
- Open the stage file (e.g.,
stages/foundation.md)
- Work through the checklist items
- Reference fieldguide for conversion patterns:
- Mark complete in
stages/overview.md
- Move to next unblocked stage
Progress Markers
Update 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) |
Quick Reference
For fast pattern lookup during execution: migration/patterns-quick-ref.md
Stage 4: Verify
Confirm the codebase follows Outfitter patterns.
Verification Commands
Run these — all should return no results:
rg "throw new" --type ts -g "!*.test.ts"
rg "console\.(log|error|warn)" --type ts -g "!*.test.ts"
rg "homedir\(\)" --type ts
Full Compliance Audit
Run the review skill for comprehensive checking:
/outfitter-check
Completion Criteria
From stages/overview.md:
When Complete
Delete the plan directory:
rm -rf .agents/plans/outfitter-start
Files
Related Skills
outfitter-atlas — Patterns and templates (load first)
outfitter-check — Compliance verification