Run /improve-uninstall to cleanly remove self-improving-claude's footprint from THIS project — sentinel hooks in settings.json, generated scripts in .claude/hooks/, optionally the local telemetry log. The plugin itself stays installed; use `claude plugin uninstall self-improving-claude` for that.
How this skill is triggered — by the user, by Claude, or both
Slash command
/self-improving-claude:improve-uninstallThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You — invoked via `/improve-uninstall` — remove the plugin's footprint from THIS project. You do NOT uninstall the plugin itself; that's `claude plugin uninstall self-improving-claude`. You touch only files inside this project.
You — invoked via /improve-uninstall — remove the plugin's footprint from THIS project. You do NOT uninstall the plugin itself; that's claude plugin uninstall self-improving-claude. You touch only files inside this project.
Important: if $ARGUMENTS is --dry-run, do NOT modify any files. Walk through Steps 1–4 read-only and present what WOULD be removed.
Read .claude/settings.json (in the current project's .claude/ directory — use ${CLAUDE_PROJECT_DIR}/.claude/settings.json or just .claude/settings.json relative to cwd).
If the file does not exist: nothing to clean up. Tell the user and exit.
If the file exists but fails to parse as JSON: do NOT proceed. Show the user the parse error and the file path, ask them to fix it manually first.
From the parsed settings.json, collect:
Plugin-installed hook entries. Walk each hooks.<EventName> array. For each entry, look at its hooks: [...] sub-array. Collect entries whose name starts with self-improving-claude/.
Plugin-installed permission rules. Walk permissions.deny, permissions.ask, permissions.allow. These don't carry sentinels (it's just strings), so use a best-effort heuristic: collect rules that are documented in our examples (e.g. Read(**/.env), Edit(src/generated/prisma/**), Bash(git push:*))) — but mark them as "best-effort match" in the summary, so the user can confirm or override.
Generated hook scripts. Walk .claude/hooks/ directory. Collect files whose names correspond to sentinel slugs we found in the hook entries above (e.g. if there's a hook entry with name: "self-improving-claude/block-pnpm-test-watcher", look for .claude/hooks/block-pnpm-test-watcher.{py,sh,js}).
Telemetry artifacts. Note .claude/self-improving-claude/ directory existence (telemetry log, archives, feedback.jsonl).
Use AskUserQuestion to summarize what was found and ask the user how to proceed. Frame the summary concretely:
Found:
- N plugin-installed hook entries in settings.json
- M generated hook scripts in .claude/hooks/
- K possibly-plugin-installed permission rules (best-effort match — please review)
- Telemetry directory
.claude/self-improving-claude/(X files, Y bytes)
Options:
If the user passed --dry-run as $ARGUMENTS in the original invocation, treat the choice as "Dry-run preview" automatically — show what would change without writing.
For non-dry-run paths only:
/improve uses: read → parse → modify in-memory → write atomically to a .tmp file, then rename → reparse to confirm valid JSON → restore the pre-write content on failure..claude/hooks/<slug>.py (or .sh, .js) for each matched script. Use Bash with rm -- <path>.rm -rf .claude/self-improving-claude/ (use Bash).After all removals, re-read settings.json one more time. If it doesn't parse, restore from the pre-write content and tell the user something went wrong.
End with a short summary:
Then remind the user:
The plugin itself is still installed. To remove the plugin entirely, run:
claude plugin uninstall self-improving-claudeIf you want to reinstall later:
claude plugin install self-improving-claudefrom the same marketplace.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub timfkiefer/self-improving-claude --plugin self-improving-claude