Prune
Skill TarasTsavolyk/claude-code-frontend/.claude/skills/prune
Remove kit capabilities this project won't use — agents, skills, and rules — and fix every cross-reference left behind. Manual, destructive, graph-aware. Run deliberately; it is never auto-triggered and commits on a branch so git is the undo.From its SKILL.md
npx -y skills add TarasTsavolyk/claude-code-frontend --skill pruneAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.9 KB, as published. Nobody here has run it
Prune the kit
Removes whole capabilities (agent + skill + rule bundles) the project doesn't need, then reconciles every file that referenced them. Destructive and deliberate — there is no auto-trigger; the user invokes it by name.
Two hard rules
- Never touch
CHANGELOG.md. It is append-only release history; past entries legitimately name things that no longer exist. - Never run on a dirty tree. git is the primary undo (step 1);
/rewindplus file checkpointing is a second net, but it is session-scoped — don't lean on it in place of a clean tree.
Procedure
-
Guard the working tree. Run
git status --short. If it is not clean, stop and ask the user to commit/stash first, or to explicitly approve proceeding anyway. Recommend a dedicated branch (e.g.chore/prune-kit). -
Ask what to remove — use
AskUserQuestioncheckboxes, not a "type 1,2,3" list. Present the removable capabilities asmultiSelect: truequestions so the user ticks boxes. The tool caps each question at 4 options and each call at 4 questions, and there are 12 units — so issue one call with these four checkbox questions (3 + 4 + 2 + 3):- Tier A — workflows: e2e tests · from-figma · release
- Tier A — domain rules: i18n · forms · data fetching · config
- Tier A — platform rules: error handling & observability · ssr (ssr is a default-remove unless
metaFrameworkin facts says the project server-renders) - Tier B — high blast radius ⚠️: security · performance · accessibility
Put each unit's one-line effect in its option description; for every Tier B option, lead the description with its ⚠️ warning. After the user submits, for any Tier B pick re-confirm explicitly before deleting (they're woven through many files and two of them back a stated stance in CLAUDE.md). Never offer the Tier C spine.
-
Delete each chosen unit's files (unit map below). Special case — e2e tests is a trim, not a delete: remove the "E2E (Playwright)" section from
rules/testing.mdand thetest:e2ebullet from.claude/skills/verify/step 1; Keeptest-engineer/testing.md. -
Reconcile the universal hubs — touched by almost every removal:
.claude/rules/workflow.md— remove the agent from any flow / Quality-Gate line; if a whole flow section empties out, delete that section.CLAUDE.md— the removed unit's row in the The rules table, plus any structure/stack line that names it. If you removesecurityoraccessibility, also drop the matching stance sentence under that table.README.md/docs/— kit repo only. A deployed project has only.claude/+CLAUDE.md(the kit's README/docs/CHANGELOG aren't copied in), so skip these there. When pruning the kit repo itself: remove the name(s) from the Contents tree and drop any pipeline/design-note prose naming a removed agent. Recipe rows that deletedocs/…or.github/…are likewise no-ops when those files aren't present.
-
Reconcile by graph, not by memory. For every removed unit, pass its slug(s) as they appear in file names (
data-fetching,security-scanner,from-figma):node .claude/scripts/check-refs.mjs <removed-name> [<removed-name>...]Review every hit (it prints
file:line [name] text). Fix real dangling references. A hit that is a legitimate English word (e.g. "release") or a generic concept mention may be left — but only after confirming it isn't actually a reference to the removed unit. Re-run until clean or every remaining hit is justified. Typical danglers:(see <rule>.md)clauses in sibling rules and agent bodies, the quality-gate board lines inworkflow.md, and the unit's row in CLAUDE.md's The rules table. -
Re-detect & summarize. If
CLAUDE.mdchanged, re-runnode .claude/scripts/detect-stack.mjs. Tell the user exactly what was deleted and which files were edited; showgit diff --stat. -
Commit. On a branch, one focused commit (never
main— see CLAUDE.md → Git). Surface the changed-file list and the full commit message for approval before committing.
Unit map (what each unit deletes)
Reference cleanup is discovered by step 5's graph pass, not memorized here — this table only says which files go.
| Unit | Files |
|---|---|
| e2e tests | (trim, don't delete — see step 3) |
| from-figma | skills/from-figma/ |
| release | skills/release/ · docs/release-automation.md · .github/workflows/release.yml |
| error handling & observability | rules/error-handling.md |
| i18n · forms · data fetching · config · ssr | the matching rules/<name>.md |
| security ⚠️ | rules/security.md · agents/security-scanner.md |
| performance ⚠️ | rules/performance.md · agents/performance-auditor.md |
| accessibility ⚠️ | rules/accessibility.md · agents/accessibility-auditor.md |
Tier B ⚠️ re-confirmation: security and accessibility each back a stance CLAUDE.md states outright — the server-trust-boundary rule and "a requirement, not a nice-to-have". Removing the rule means retracting the stance; spell that out when re-confirming.
Tier C — never removable here: the quality-gate board (
ui-reviewer,test-engineer), the onboarding/verification skills (wizard,prune,verify,scaffold-component), and the spine rules (code-style,architecture,styling,testing, plus the globalworkflow). Removing these would gut the kit.