remove-skill
Cleanly undo something self-build added (a my-* skill or helper agent, a tool switched on from the catalogue, an automation or a built blueprint), including its settings and its record; use for "remov
SKILL.md.claude/skills/remove-skill/SKILL.md
GitHubRemove skill
Take out something Alterbrain built for you, and put every setting back the way it was.
When to use
- "Remove the skill you built last week", "I don't need the case summary any more".
- "Turn off the Zotero tool", "Stop the morning brief".
- A build failed halfway and needs cleaning up.
- A blueprint's How to undo says to run
/remove-skill.
Before you start
- No clarify needed. You only need to know what to remove.
- Find it:
node system/scripts/built.mjs list --json. Match the user's words to aname,blueprintormcpid. If several match, ask one AskUserQuestion with the candidates. - Not in
state/built.json?- A folder
.claude/skills/my-<slug>/or file.claude/agents/my-<slug>.mdexists: treat those as the paths to remove. - A built-in skill (no
my-prefix, not instate/built.json): don't remove it. Say kindly: "That one is part of Alterbrain itself, so I can't remove it. You can simply not use it." Stop.
- A folder
- Read the proposal card (
proposalin the entry) and, for a blueprint, its How to undo section. Blueprint undo steps take priority over the generic ones below.
Steps
- Show the plan in plain words, one line each:
- files that will be deleted (only
my-*skill and agent files, and other paths listed in the entry); - routine notes (paths under
vault/90_routines/): pause (recommended) or delete, see step 2; - tools that will be switched off (
mcpids →config/mcp.selected.json); - channels that go back to draft (
channels→config/autonomy.json); - things only the user can do (delete a scheduled task in the app, remove a key from
.env.local, revoke a sign-in); - what stays: "Your notes and anything it already wrote stay in your vault." Ask: "Remove it?" Remove it (recommended) / Keep it.
- files that will be deleted (only
- Delete files. The
my-*skill and agent files are deleted by the script in step 6 (built.mjs remove <name> --delete-files), which works on Windows and Mac and refuses to delete anything else. For each path in the entry:.claude/skills/my-*and.claude/agents/my-*.md: nothing to do here.- A routine note (a path in the entry under
vault/90_routines/): ask once per note with AskUserQuestion. "Pause it (recommended): the note stays with its run history and is no longer checked or flagged late. / Delete it: the list is clean, but the history is gone." Pause by settingstatus: "paused"in the note's frontmatter (one line, nothing else); delete only after a clear yes. Whichever they pick, the job keeps running on its host until they delete the schedule there: step 5 covers that. If the note is already gone, skip it. A routine note whoserunsis a different skill is not this build's: leave it. - Any other path (for example a view in
vault/_views/): ask about each one first; default keep. - Never delete anything without the
my-prefix under.claude/, anything insystem/, or anything invault/40_sources/raw/.
- Switch off tools. Remove the entry's
mcpids fromconfig/mcp.selected.jsonenabled, unless another entry instate/built.jsonstill lists the same id. Runnode system/scripts/mcp-gen.mjs. Say: "Close and reopen this project so the tool disappears." - Reset channels. For each channel in the entry's
channels: setconfig/autonomy.jsonchannels.<name>.leveltodraft(recommended) orapproveif the user prefers. Remove any extra keys the blueprint added for that channel (for examplecaps,quiet_hours,auto_rules), after showing before and after. - User-only steps. For each one, give the exact clicks and add a task:
node system/scripts/tasks.mjs add "<step>" --tag remove-skill --priority medium.- Scheduled task: "In the Claude app, open Scheduled tasks, find '<name>', and delete it." Always give this step when the build had a routine note or a schedule, and say plainly that pausing or deleting the note does not stop the job: only deleting the schedule on the host does (a Claude cloud routine: its page in the Claude app; a server: its own scheduler, for example the crontab line).
- Key: offer to open the keys file (Windows
notepad .env.local, Macopen -e .env.local, run in the background after a yes), then: "Delete the line that starts with<NAME>=, save and close." Never ask them to paste it.
- Update the records.
node system/scripts/built.mjs remove <name> --delete-files. This forgets the entry and deletes itsmy-*skill folder and agent file. It lists anything it kept.- The proposal card:
status: "removed". node system/scripts/proposals.mjs mark <key> rejected(so it isn't suggested again).- Tick any open
#ab/buildor#ab/proposetasks for it.
- Check and save. Run
node system/scripts/validate.mjs(it must still pass), thennode system/scripts/git-auto.mjs commit. - Tell the user in 3 lines: what was removed, what they still need to do (if anything), and "Changed your mind? Say 'build <name>' and I'll set it up again. A copy also stays in your backup history."
Outputs
- Deleted: the entry's
my-*skill or agent files, and a routine note only if the user chose delete. Paused: a routine note the user chose to keep (status: "paused"). - Updated:
config/mcp.selected.json+.mcp.json,config/autonomy.json(channels back to draft),state/built.json,state/proposals.json, the proposal card (status: "removed"). - Tasks tagged
#ab/remove-skillfor steps only the user can do.
Safety
- Always show the plan and get a yes before deleting.
- Only
my-*files and paths recorded for this build. Never framework files, never raw sources, never the user's notes. - Removing a sending add-on always puts its channel back to
draftorapprove, never leavesauto. - Never handle keys or passwords; the user edits
.env.localthemselves.