Skip to content

vt-c-skill-promote

Promote a repo-local skill to the global toolkit with scope global, add its manifest entry and symlink, and commit. Use when a skill developed in a project repo should become available toolkit-wide.

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


Skill Promote

Moves a skill from a project repo's .claude/skills/ directory into the global toolkit (plugins/core-standards/skills/).

When to Use

  • A skill was written inside one project repo and should now be available across all repos.
  • The skill name already follows the vt-c-* convention.
  • The target slug does not yet exist in plugins/core-standards/skills/.

Prerequisites

  • Skill has name: vt-c-* in its frontmatter.
  • You are in the toolkit repo (or TOOLKIT_ROOT env var is set).
  • The target plugins/core-standards/skills/<slug>/ does not exist.

Execution

Run from the toolkit repo root:

bash plugins/core-standards/skills/skill-promote/scripts/promote.sh \
  <source-SKILL.md>

The script: 1. Copies the skill directory to plugins/core-standards/skills/<slug>/ 2. Sets scope: global in the frontmatter (overrides any existing scope) 3. Runs regenerate-skill-paths.sh --write — no paths block for global skills 4. Appends vt-c-<slug> -> <slug> to the manifest 5. Creates ~/.claude/skills/vt-c-<slug> symlink 6. Commits with message feat: promote vt-c-<slug> to global toolkit scope

Edge Cases

  • Target already exists: script aborts — run /vt-c-skill-demote to change scope of an existing skill, not promote.
  • Name missing vt-c- prefix: script aborts — rename the skill before promoting.
  • Missing name: frontmatter: script aborts — add the field first.

Integration Points

  • plugins/core-standards/skills/skill-demote/ — reverse operation
  • plugins/core-standards/bin/regenerate-skill-paths.sh — regenerates paths block
  • plugins/core-standards/.claude-plugin/skill-symlinks.manifest — updated with new entry

Success Criteria

  • plugins/core-standards/skills/<slug>/SKILL.md has scope: global.
  • No AUTO-GENERATED block in the file (global scope → no paths block).
  • ~/.claude/skills/vt-c-<slug> symlink exists.
  • Manifest contains vt-c-<slug> -> <slug>.
  • git log -1 shows the promote commit.