Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Decisions

ASecurity

Add `uninstall`, a new skill: run manually, before actually uninstalling the `kms` plugin (Claude Code has no uninstall/disable lifecycle hook — see `docs/facts/0007-claude-code-plugin-uninstall-lifecycle.md` — so this can never be automatic). It finds every trace `bootstrap` (or `steward`'s ongoing sync) could have left in the target project:

3 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsgorails

Works with

claude code

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add vivantel/kms --skill decisions --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Decisions?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Decisions
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vivantel-decisions-5b599111/badge)](https://www.skillsdirectory.com/skills/vivantel-decisions-5b599111)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
0001-knowledge-artifact-storage-convention.md
---
id: 0030-uninstall-skill
title: Add uninstall — a manual pre-uninstall step that reverses everything bootstrap adds
status: active
date: 2026-08-30
tags: [kms, knowledge-management, packaging]
track: process
---

## Decision

Add `uninstall`, a new skill: run manually, before actually uninstalling
the `kms` plugin (Claude Code has no uninstall/disable lifecycle hook —
see `docs/facts/0007-claude-code-plugin-uninstall-lifecycle.md` — so
this can never be automatic). It finds every trace `bootstrap` (or
`steward`'s ongoing sync) could have left in the target project:

- `kms-seeded: true` files (seeded guardrails, or any future template
  type, per `docs/decisions/0028-generalize-templates-sync-scope.md`)
- `kms-generated: true` files (`docs/skills/{product,process}-track-roles.md`,
  `docs/facts/docs-manifest.md`, per `docs/decisions/0029-bootstrap-full-traceability.md`)
- the `<!-- kms:start -->`/`<!-- kms:end -->` block in the project's
  `AGENTS.md`/`CLAUDE.md`
- any decision/fact still at `status: draft`/`governed-by: TBD` —
  a `bootstrap` proposal nobody ever acted on

It reports every finding first (nothing hidden in per-file prompts),
then asks per file: detach (strip the marker, keep the content as the
team's own) or remove. Both need the same confirmation — the standard
propose-and-wait every skill in this plugin already uses, no extra step
for removal specifically.

**Never touched**: any decision/fact past `status: draft`, any guardrail
without a `kms-seeded`/`kms-generated` marker, any custom guardrail/fact/
decision the team authored themselves — regardless of topic or
resemblance to something `kms` seeded. `plugins/kms/hooks/hooks.json` is
explicitly out of scope: it lives in the plugin's own installed
directory, not the target project's repo, and Claude Code removes it
automatically when the plugin itself is uninstalled.

## Why

A team stopping use of `kms` is left with seeded guardrails, generated
role lists and doc-manifest, an AGENTS.md section, and possibly
still-draft stubs — none of which `kms` can reverse itself, since
plugins can't act after they're uninstalled and Claude Code has no
uninstall hook to act *during* removal. The only window where cleanup
is possible at all is before uninstalling, while `kms`'s skills are
still invocable — so this has to be a skill the team runs deliberately,
not something that happens for them.

Scoping strictly to marked/traceable content (never anything without a
`kms-seeded`/`kms-generated` marker, never a decision/fact the team
acted on) is the same discipline `roadmap`'s duplicate-check and
`steward`'s sync logic already apply: `kms` never touches content it
can't prove is its own.

## Tradeoffs considered

- **Fold into `steward`**: `steward` already has sync logic (check 14) to
  build on, but bundling a rare, deliberate, potentially-destructive
  pre-uninstall action into a skill that runs routinely after every
  session risks it firing unprompted or getting lost among steward's
  eleven other checks. Rejected — matches this plugin's established
  pattern of splitting skills by *when* they run
  (`docs/decisions/0009-bootstrap-and-steward-skills.md`,
  `docs/decisions/0016-lint-skill.md`).
- **Automatic, hook-triggered cleanup**: not possible — per
  `docs/facts/0007-claude-code-plugin-uninstall-lifecycle.md`, no
  uninstall/disable lifecycle event exists in Claude Code's plugin
  system, and a plugin can't act on a project after it's been
  uninstalled. Not a design choice, a hard platform constraint.
- **Same confirmation level for detach and remove**: a stronger,
  separate confirmation for remove specifically was considered, but
  both already require explicit per-file confirmation before writing or
  deleting anything — matching every other skill in this plugin.
  Rejected as unneeded extra friction.
- **Chosen: a new, separate, manual pre-uninstall skill, scoped strictly
  to marked/traceable content.**

Attribution

vivantelvivantel
View sourceMore from vivantel →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →