Manages @outfitter/* package upgrades — handles version detection, dependency bumps, mechanical codemods, and test verification. Use when upgrading dependencies, migrating breaking changes, or running outfitter upgrade.
Manages @outfitter package upgrades by detecting versions, applying codemods, and verifying migrations.
npx claudepluginhub outfitter-dev/outfitterThis skill is limited to using the following tools:
references/autonomous-loop.mdreferences/structured-changes.mdUpgrade @outfitter/* packages with structured migration — from version detection through codemod execution to test verification.
outfitter upgrade --json to discover installed versions and available updates.outfitter upgrade to bump deps, install, and run mechanical codemods (interactive prompt by default; use --yes to skip).outfitter-check for final compliance scan.| Condition | Mode | Rationale |
|---|---|---|
| No breaking changes | Auto | Bump, install, run tests — no code changes expected |
| Breaking changes with codemods | Autonomous | CLI handles mechanical transforms, agent verifies |
| Breaking changes, no codemods | Interactive | Agent needs judgment for code migration |
| Major version jump (>2 minor) | Interactive | Too many changes to auto-apply safely |
When in autonomous mode, follow this cycle:
detect → apply → codemod → migrate → test → fix → repeat
↓
(green) → confirm → done
outfitter upgrade --json to get structured outputpackages array for updates, check hasBreakingoutfitter upgrade --yes (or --all --yes if breaking changes are expected)codemods summary from output — check errors arrayoutfitter upgrade --guide --json to fetch structured migration guidesguide in the guide output with changes:
change.codemod exists (already handled)bun test (or bun run test from repo root)outfitter upgrade --guide)
c. Fix the issue
d. Re-run tests
e. If still failing after 3 attempts, escalate to useroutfitter-check skill for compliance verification# Check installed versions
outfitter upgrade
# JSON output for programmatic parsing
outfitter upgrade --json
# Show migration instructions
outfitter upgrade --guide
outfitter upgrade --guide @outfitter/cli # specific package
# Upgrade with interactive prompt (default)
outfitter upgrade
# Upgrade non-interactively (skip prompts)
outfitter upgrade --yes
# Include breaking changes
outfitter upgrade --all
# Preview without making changes
outfitter upgrade --dry-run
# Upgrade without running codemods
outfitter upgrade --no-codemods
interface UpdateResult {
packages: PackageVersionInfo[];
total: number;
updatesAvailable: number;
hasBreaking: boolean;
applied: boolean;
appliedPackages: string[];
skippedBreaking: string[];
guides?: MigrationGuide[];
codemods?: CodemodSummary;
}
See references/structured-changes.md for full type definitions and parsing examples.
change.type | Agent Action |
|---|---|
moved | Update import paths: from → to |
renamed | Find-and-replace: from → to in imports and usages |
removed | Find usages of from, replace with alternative from detail |
signature-changed | Update call sites per detail description |
deprecated | Optional: migrate now or add TODO for later |
added | No action needed — informational |
| Update Type | Action |
|---|---|
| Patch (0.1.0 → 0.1.1) | Bump, test — no code changes expected |
| Minor (0.1.0 → 0.2.0) | Review migration doc for new APIs, adopt if beneficial |
| Breaking (flagged) | Follow migration guide, apply codemods, update code, test |
When updating multiple packages, follow the tier order:
Update lower tiers first — runtime packages depend on foundation changes.
Migration guides are at ${CLAUDE_PLUGIN_ROOT}/shared/migrations/ with naming:
outfitter-<package>-<version>.md
Each doc has YAML frontmatter with structured changes:
---
package: "@outfitter/cli"
version: 0.4.0
breaking: true
changes:
- type: moved
from: "@outfitter/cli/render"
to: "@outfitter/tui/render"
codemod: "cli/0.4.0-move-tui-imports.ts"
- type: renamed
from: "formatOutput"
to: "renderOutput"
---
Changes with a codemod field are handled automatically during upgrade. The remaining changes need manual migration.
Codemod scripts live at ${CLAUDE_PLUGIN_ROOT}/shared/codemods/ organized by package:
codemods/
cli/
0.4.0-move-tui-imports.ts
contracts/
adopt-result-types.ts
Each exports a transform(options) function. The CLI discovers and runs them automatically during upgrade. Agents should not run codemods directly — let the CLI handle it.
| Failure | Recovery |
|---|---|
| Upgrade fails on install | Check network, verify package exists on npm |
| Codemod reports errors | Read the errors array, fix manually, re-run |
| Tests fail after migration | Read failure, cross-reference migration doc, fix code |
| 3+ test fix attempts fail | Escalate to user with evidence |
outfitter-atlas — Patterns and templates for current package versionsoutfitter-check — Compliance verification after updatesoutfitter-start — Full adoption workflow (for new or first-time setup)tdd-fieldguide — Test-driven development methodology for the verify loopYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.