Skip to content

vt-c-skill-demote

Demote a global toolkit skill to product scope, regenerate its paths block, remove the global symlink (AD-2), and commit. Use when a global skill actually belongs to one product only.

Plugin: core-standards
Category: Other
Command: /vt-c-skill-demote


Skill Demote

Restricts a global toolkit skill to a specific product scope.

When to Use

  • /vt-c-toolkit-review flagged a skill for product mismatch.
  • A skill marked scope: global should only appear in one product's repos.
  • Demoting removes the ~/.claude/skills/ symlink so the skill no longer auto-loads outside product repos (per AD-2).

Prerequisites

  • Skill exists in plugins/core-standards/skills/<slug>/.
  • Target product is registered in intake/projects.yaml products:.
  • You are in the toolkit repo (or TOOLKIT_ROOT is set).

Execution

Run from the toolkit repo root:

bash plugins/core-standards/skills/skill-demote/scripts/demote.sh \
  vt-c-<skill-name> --to-product <ProductName>

The vt-c- prefix is optional. The script: 1. Validates <ProductName> against intake/projects.yaml products: 2. Sets scope: product:[<ProductName>] in frontmatter 3. Runs regenerate-skill-paths.sh --write — writes the product paths block 4. Removes ~/.claude/skills/vt-c-<slug> symlink (AD-2) 5. Removes vt-c-<slug> -> <slug> from the manifest 6. Commits with message feat: demote vt-c-<slug> to scope: product:[<ProductName>]

Edge Cases

  • Unknown product: script aborts — add the product to intake/projects.yaml products: first.
  • Symlink already absent: treated as a no-op for the remove step; commit still produced.
  • Re-promote: run /vt-c-skill-promote again if the skill should return to global scope.

Integration Points

  • plugins/core-standards/skills/skill-promote/ — forward operation
  • plugins/core-standards/bin/regenerate-skill-paths.sh — builds paths block from projects.yaml
  • plugins/core-standards/.claude-plugin/skill-symlinks.manifest — entry removed
  • Pre-commit hook: verifies resulting paths block is current after demote

Anti-patterns

  • Never hand-edit the AUTO-GENERATED paths block — the pre-commit hook blocks the commit. Use --write mode to regenerate.
  • Don't delete skills — demote preserves history; deletion is destructive and irreversible.

Success Criteria

  • scope: product:[<ProductName>] in SKILL.md frontmatter.
  • AUTO-GENERATED block present with correct product glob patterns.
  • No ~/.claude/skills/vt-c-<slug> symlink (AD-2).
  • Manifest entry removed.
  • git log -1 shows the demote commit.