Phase B-provide of epic #1258. Adds a build-generated skills/ dir + a skills manifest field so plugin-installed GSD exposes gsd-core:<skill> the native Claude Code way. Closes the gap where plugin-only installs lacked the skill surface because bin/install.js never ran. - scripts/gen-plugin-skills.cjs: build step converting commands/gsd/*.md to skills/gsd-<stem>/SKILL.md via convertClaudeCommandToClaudeSkill - .claude-plugin/plugin.json: add "skills": "./skills/" - package.json: add skills to files, gen:plugin-skills to build chain - tests/issue-766-plugin-manifest.test.cjs: Section H conformance (manifest field + dir + frontmatter + count parity) + C2 skills symlink - docs/adr/766-*.md: dated amendment adding skills surface row - .changeset/rapid-bears-hum.md: type Added - skills/: 69 generated gsd-<stem>/SKILL.md files (build-committed) Closes #1596
58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
---
|
|
name: gsd-phase
|
|
description: "CRUD for phases in ROADMAP.md — add, insert, remove, or edit phases"
|
|
argument-hint: "[--insert | --remove | --edit] <phase-name-or-number>"
|
|
allowed-tools:
|
|
- Read
|
|
- Write
|
|
- Bash
|
|
- Glob
|
|
---
|
|
|
|
|
|
<objective>
|
|
Manage phases in ROADMAP.md with a single consolidated command.
|
|
|
|
Mode routing:
|
|
- **default** (no flag): Add a new integer phase to the end of the current milestone → add-phase workflow
|
|
- **--insert**: Insert urgent work as a decimal phase (e.g., 72.1) between existing phases → insert-phase workflow
|
|
- **--remove**: Remove a future phase and renumber subsequent phases → remove-phase workflow
|
|
- **--edit**: Edit any field of an existing phase in place → edit-phase workflow
|
|
</objective>
|
|
|
|
<routing>
|
|
|
|
| Flag | Action | Workflow |
|
|
|------|--------|----------|
|
|
| (none) | Add new integer phase at end of milestone | add-phase |
|
|
| --insert | Insert decimal phase (e.g., 72.1) after specified phase | insert-phase |
|
|
| --remove | Remove future phase, renumber subsequent | remove-phase |
|
|
| --edit | Edit fields of existing phase in place | edit-phase |
|
|
|
|
</routing>
|
|
|
|
<execution_context>
|
|
@~/.claude/gsd-core/workflows/add-phase.md
|
|
@~/.claude/gsd-core/workflows/insert-phase.md
|
|
@~/.claude/gsd-core/workflows/remove-phase.md
|
|
@~/.claude/gsd-core/workflows/edit-phase.md
|
|
</execution_context>
|
|
|
|
<context>
|
|
Arguments: $ARGUMENTS
|
|
|
|
Parse the first token of $ARGUMENTS:
|
|
- If it is `--insert`: strip the flag, pass remainder (format: <after-phase-number> <description>) to insert-phase workflow
|
|
- If it is `--remove`: strip the flag, pass remainder (phase number) to remove-phase workflow
|
|
- If it is `--edit`: strip the flag, pass remainder (phase-number [--force]) to edit-phase workflow
|
|
- Otherwise: pass all of $ARGUMENTS (phase description) to add-phase workflow
|
|
|
|
Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
|
|
</context>
|
|
|
|
<process>
|
|
1. Parse the leading flag (if any) from $ARGUMENTS.
|
|
2. Load and execute the appropriate workflow end-to-end based on the routing table above.
|
|
3. Preserve all validation gates from the target workflow.
|
|
</process>
|