/equip — Equipment Manager
A project-agnostic skill for managing "absorbed" assets (skills, agents, scripts) that originated in external GitHub repos. It treats each upstream as a supplier whose shipments must be reviewed before adoption, not blindly synced.
Subcommands
| Command | Purpose |
|---|---|
/equip inventory |
Scan current project; classify every asset as native / absorbed / modified-absorbed / orphan; write .claude/equipment/inventory.yaml |
/equip audit <repo|id> |
Clone upstream, apply red-flag checks to each skill, and bind the decision report to the exact audited commit |
/equip sync <id> [--apply] |
Refresh upstream, verify its exact commit matches the audit, then perform a 3-way merge; dry-run by default |
/equip diff <id> |
Show per-file delta between registered last_synced_commit and remote HEAD |
/equip list |
Show registered upstreams with ahead/behind status |
/equip add <repo> |
Register a new upstream (interactive: select which local paths it covers) |
/equip remove <id> |
Unregister an upstream (keeps files, removes tracking) |
Usage
/equip inventory # first step for any project
/equip audit AgriciDaniel/claude-seo # full evaluation
/equip sync claude-seo # dry-run: show what would change
/equip sync claude-seo --apply # actually write changes
/equip diff claude-seo # inspect drift
/equip audit . # self-audit current project as if upstream
Design principles
- Review-first, not sync-first: upstream content is always audited before it touches local files
- Commit-bound approval:
--applyfails closed if the fetched commit differs from the exact commit in the audit report; re-run/equip auditto approve drift - Trust is per-skill, not per-repo: one upstream can have 17 good skills + 3 bad ones;
/equippicks - Local customizations are sacred: files modified locally are never overwritten without explicit approval
- Transparent: every decision recorded in
.claude/equipment/audits/<id>-<date>.mdthat the user can read and edit