From odin
Dispatches tidy cleanups to skills for code, memory, workspace, git, docs, or ICM by detecting context signals like file paths, diffs, stacks, or directories. Invoke on 'tidy' requests or structural rot.
npx claudepluginhub outlinedriven/odin-claude-plugin --plugin odinThis skill uses the workspace's default tool permissions.
Tidy first. Before adding complexity, reduce coupling. Before changing behavior,
Safely cleans repositories of dead code, build artifacts, unused dependencies, outdated docs, stale tests, and sprint archives using workflows with validation, backups, and reporting templates.
Reviews Claude Code plugins, skills, codebases, and docs in modes like quick scans, git commit tidying, deep skill analysis, holistic cross-plugin checks, and docs consistency.
Detects and eliminates dead code, unused imports, magic numbers, poor naming, and SRP violations using TRIZ-powered 7-point checklist. Run after features, before PRs, during debt sprints.
Share bugs, ideas, or general feedback.
Tidy first. Before adding complexity, reduce coupling. Before changing behavior, improve structure. This skill detects what needs tidying from context and routes to the right sibling skill. Domain procedures live in the siblings — this skill owns only scope detection, dispatch, and the output contract.
Invariants:
Inspect context in priority order and dispatch to the first matching domain:
| Signal | Domain | Dispatch to |
|---|---|---|
File path(s), active diff, or cargo/dune target named | Code | cleanup-codebase skill |
memory/ directory, MEMORY.md, or memory file(s) named | Memory | memory-clean then memory-update skills |
.outline/, /tmp scratch, *.tmp, *.bak, repomix packs | Workspace | Inline (see below) |
git sl, commit stack, commit message(s) named | Git | git-branchless skill + atomic-commit skill |
| Docs, comments, ADRs, READMEs, plan files named | Docs | Inline (see below) |
| User explicitly says "tidy ICM" or names an ICM topic | ICM state | Inline (see below) |
| No clear signal | — | Ask: "What are we tidying — code, memory, workspace, git, docs, or ICM?" |
These three domains are handled inline without a dedicated sibling skill.
fd -t f -E '.git' -E 'target' -E '_build' \
'(\.(tmp|bak|outline)|repomix-output)' .
fd -t f /tmp -g '<session-prefix>-*' 2>/dev/null
rip (not rm). Report count and paths.TODO/FIXME (git-blame date > 6 months), comments contradicting current code, commented-out code blocks, multi-paragraph docstrings on non-API-surface functions, overclaims about external contracts.<!-- VERIFY --> and surface to the user rather than deleting.Run icm list --sort recent | head -30; for each stale entry show the current content plus the proposed replacement before calling icm update. For decisions made in this session not yet captured, show the proposed icm store call before executing. Write only on explicit user confirmation per entry.
After completing each domain, emit exactly:
Tidy — <domain>
Removed: N (up to 5 paths/names; "…and M more" if larger)
Fixed: N
Proposed: N (awaiting confirmation)
Skipped: N (<one-phrase reason>)
Next: <one sentence, e.g. "Run build to verify" or "Nothing else in scope">
If nothing needed tidying: Tidy — <domain>: nothing to do.
git move --fixup when embedding alongside active work.~/.claude/claude/system-prompt-baseline.md, the baseline wins.