{{command_prefix}}unpin
Role: Remove the pinned shortcut aliases for one gdd skill from every installed harness skills/ directory. Only stubs that carry the marker line <!-- gdd-pinned-skill source=<skill> --> as their first non-empty line are deleted, so a hand-authored or unrelated SKILL.md is never touched.
Steps
-
Read the argument. The skill name to unpin comes from
$ARGUMENTS(for exampledarkmode). If it is empty, ask the user which skill to unpin and stop. -
Run the unpin CLI. Invoke the shipped script, passing the skill name. The plugin root resolves via
CLAUDE_PLUGIN_ROOT(falling back to the current directory when that variable is absent):bashnode "${CLAUDE_PLUGIN_ROOT:-$(pwd)}/scripts/lib/pin/cli.cjs" unpin "<skill-name>"The CLI scans every harness
skills/directory under the current project, checks each candidate stub for the gdd pin marker, deletes the ones that carry it, and refuses (skips with a warning) any file that does not. -
Report the result. The CLI prints one line per harness it removed a stub from, plus a warning for any file it refused to delete. Relay that summary verbatim. Exit codes: 0 means at least one stub was removed, 1 means nothing was removed (no matching pinned stubs found), 2 means an error.
Do Not
- Do not delete skill files by hand. Always go through the CLI so the marker check protects hand-written skills.
- Do not force-remove a file the CLI refused. A refusal means the file lacks the gdd pin marker and is not a pinned alias; leave it in place.


