From outfitter
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.
npx claudepluginhub outfitter-dev/outfitter --plugin outfitterThis skill is limited to using the following tools:
Upgrade @outfitter/\* packages with structured migration — from version detection through codemod execution to test verification.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Upgrade @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 loop