CtrlK
BlogDocsLog inGet started
Tessl Logo

ambaba/skill-retirer

Delete or retire a Tessl skill: unpublish, remove dependencies, delete directory, re-install.

90

Quality

90%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files
name:
skill-retirer
description:
Fully delete a Tessl skill: unpublish/delete from registry, remove dependencies, delete directory, clean topology references, re-install. Use when: "delete skill", "retire skill", "remove skill", "nuke skill".

Skill Retirer

Fully remove a skill from the Tessl ecosystem — registry, local files, dependencies, and all references.

When to use

  • User says "delete/retire/remove skill"
  • During prune operations when archiving dead/decay neurons

HARD RULE — Workspace Constraint

ONLY publish to ambaba workspace. NEVER publish to any other workspace. All tessl tile commands MUST use --workspace ambaba. If targeting a different workspace, STOP and ask.

HARD RULE — No Content Loss

NEVER lose content during retirement. Before removing a skill being merged into another, verify the target contains all procedural knowledge from source. If missing, ABORT and restore.

HARD RULE — User Confirmation

NEVER delete a skill without explicit user confirmation. Present what will be removed (registry entry, local dir, topology refs, dependency entry) and wait for "yes" before proceeding.

Steps

1. Check inbound synapses

Read ~/.claude/memory/brain-topology.md, check "Synapses IN" for the target skill. If other skills delegate to it, warn user and list callers. Do not proceed without explicit confirmation.

2. Remove from registry

tessl tile list --workspace <workspace> | grep <skill-name>          # find version
tessl tile unpublish --tile <workspace>/<skill-name>@<version>       # try first (2-day window)
tessl tile delete --tile <workspace>/<skill-name>                    # if unpublish fails
tessl tile archive --tile <workspace>/<skill-name>                   # fallback

If never published (local-only / file: source), skip this step.

3. Remove dependency from ~/.tessl/tessl.json

Remove the skill's entry from the dependencies object.

4. Remove source directory

rm -rf ~/.claude/skills/<skill-name>

5. Clean topology references

Edit ~/.claude/memory/brain-topology.md:

  • Remove skill's row from "All Neurons" table
  • Remove from any cluster's "Sub-skills" column
  • Remove from other neurons' "Synapses OUT"/"Synapses IN" columns
  • Add entry to "Prune Log" with date, name, action, reason

6. Clean references in other skills

Search ~/.claude/skills/*/SKILL.md for Synapse/Delegate lines referencing the retired skill. If found, warn user — callers will break.

7. Re-install and verify

tessl install --global
ls ~/.claude/skills/ | grep <skill-name>
grep <skill-name> ~/.tessl/tessl.json
grep <skill-name> ~/.claude/skills/*/SKILL.md

Verify skill no longer appears. Report any remaining references.

Notes

  • Always confirm with user before deleting.
  • Check inbound references first — broken callers are worse than a dead skill.
  • Local-only skills (file: source): skip registry step.
  • Not fully retired until gone from: registry, tessl.json, skills dir, topology, and other skills' references.

Retirement checklist

Before declaring retirement complete, verify ALL of these:

  • Registry: tessl tile list --workspace ambaba | grep <skill-name> returns nothing
  • Dependencies: grep <skill-name> ~/.tessl/tessl.json returns nothing
  • Local files: ls ~/.claude/skills/ | grep <skill-name> returns nothing
  • Topology: grep <skill-name> ~/.claude/memory/brain-topology.md returns nothing (except Prune Log)
  • Other skills: grep <skill-name> ~/.claude/skills/*/SKILL.md returns nothing
  • Prune Log: entry added with date, name, action, reason

Error recovery

  • Registry unpublish fails (past 2-day window) → try tessl tile delete, then tessl tile archive as fallback
  • Directory delete fails → check if any process has a file lock, retry
  • Topology file missing → skip topology cleanup, note in report
  • Other skills reference the retired skill → warn user with list of affected skills, do NOT auto-edit them

Batch retirement

When retiring multiple skills at once (e.g., during a prune cycle):

  1. Present all proposed retirements in a single table
  2. Get one confirmation for the batch
  3. Execute retirements in order: leaf skills first (no inbound refs), then parent skills
  4. Run tessl install --global once at the end, not after each individual retirement

Common issues

  • Skill published under wrong workspace → use tessl tile unpublish --tile <wrong-workspace>/<name>@<ver> first
  • Skill exists locally but not in registry → skip registry step, just delete local
  • Multiple versions published → unpublish each version separately or use tessl tile delete
Workspace
ambaba
Visibility
Public
Created
Last updated
Publish Source
CLI
Badge
ambaba/skill-retirer badge