@hegemonart/get-design-done 1.59.3 → 1.59.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +31 -0
- package/SKILL.md +2 -0
- package/figma-plugin/README.md +61 -0
- package/figma-plugin/code.ts +36 -0
- package/figma-plugin/manifest.json +12 -0
- package/figma-plugin/package-lock.json +35 -0
- package/figma-plugin/package.json +12 -0
- package/figma-plugin/src/export-variables.ts +144 -0
- package/figma-plugin/src/payload-schema.ts +250 -0
- package/figma-plugin/tsconfig.json +16 -0
- package/figma-plugin/ui.html +44 -0
- package/hooks/gdd-intel-trigger.js +3 -3
- package/package.json +6 -1
- package/reference/DEPRECATIONS.md +3 -3
- package/reference/live-mode-integration.md +1 -1
- package/reference/registry.json +1 -1
- package/reference/skill-metadata.md +4 -4
- package/reference/skill-placeholders.md +2 -2
- package/scripts/build-skills.cjs +146 -0
- package/scripts/generate-skill-frontmatter.cjs +243 -0
- package/scripts/lib/manifest/scaffolder.cjs +1 -1
- package/scripts/lib/manifest/schemas/skills.schema.json +1 -1
- package/scripts/lib/manifest/skills.json +1 -1
- package/scripts/lib/new-addendum.cjs +1 -1
- package/scripts/skill-templates/README.md +90 -0
- package/scripts/skill-templates/add-backlog/SKILL.md +48 -0
- package/scripts/skill-templates/analyze-dependencies/SKILL.md +95 -0
- package/scripts/skill-templates/apply-reflections/SKILL.md +109 -0
- package/scripts/skill-templates/apply-reflections/apply-reflections-procedure.md +170 -0
- package/scripts/skill-templates/audit/SKILL.md +79 -0
- package/scripts/skill-templates/bandit-reset/SKILL.md +91 -0
- package/scripts/skill-templates/bandit-status/SKILL.md +94 -0
- package/scripts/skill-templates/benchmark/SKILL.md +65 -0
- package/scripts/skill-templates/bootstrap-ds/SKILL.md +43 -0
- package/scripts/skill-templates/brief/SKILL.md +145 -0
- package/scripts/skill-templates/budget/SKILL.md +45 -0
- package/scripts/skill-templates/cache-manager/SKILL.md +66 -0
- package/scripts/skill-templates/cache-manager/cache-policy.md +126 -0
- package/scripts/skill-templates/check-update/SKILL.md +98 -0
- package/scripts/skill-templates/compare/SKILL.md +82 -0
- package/scripts/skill-templates/compare/compare-rubric.md +171 -0
- package/scripts/skill-templates/complete-cycle/SKILL.md +81 -0
- package/scripts/skill-templates/connections/SKILL.md +71 -0
- package/scripts/skill-templates/connections/connections-onboarding.md +608 -0
- package/scripts/skill-templates/context/SKILL.md +137 -0
- package/scripts/skill-templates/continue/SKILL.md +24 -0
- package/scripts/skill-templates/darkmode/SKILL.md +76 -0
- package/scripts/skill-templates/darkmode/darkmode-audit-procedure.md +258 -0
- package/scripts/skill-templates/debug/SKILL.md +41 -0
- package/scripts/skill-templates/debug/debug-feedback-loops.md +119 -0
- package/scripts/skill-templates/design/SKILL.md +118 -0
- package/scripts/skill-templates/design/design-procedure.md +304 -0
- package/scripts/skill-templates/discuss/SKILL.md +96 -0
- package/scripts/skill-templates/do/SKILL.md +45 -0
- package/scripts/skill-templates/explore/SKILL.md +118 -0
- package/scripts/skill-templates/explore/explore-procedure.md +267 -0
- package/scripts/skill-templates/export/SKILL.md +30 -0
- package/scripts/skill-templates/extract-learnings/SKILL.md +114 -0
- package/scripts/skill-templates/fast/SKILL.md +91 -0
- package/scripts/skill-templates/figma-extract/SKILL.md +64 -0
- package/scripts/skill-templates/figma-write/SKILL.md +50 -0
- package/scripts/skill-templates/graphify/SKILL.md +49 -0
- package/scripts/skill-templates/health/SKILL.md +99 -0
- package/scripts/skill-templates/health/health-mcp-detection.md +44 -0
- package/scripts/skill-templates/health/health-skill-length-report.md +69 -0
- package/scripts/skill-templates/help/SKILL.md +60 -0
- package/scripts/skill-templates/instinct/SKILL.md +111 -0
- package/scripts/skill-templates/list-assumptions/SKILL.md +61 -0
- package/scripts/skill-templates/list-pins/SKILL.md +27 -0
- package/scripts/skill-templates/live/SKILL.md +98 -0
- package/scripts/skill-templates/locale/SKILL.md +51 -0
- package/scripts/skill-templates/map/SKILL.md +89 -0
- package/scripts/skill-templates/migrate/SKILL.md +70 -0
- package/scripts/skill-templates/migrate-context/SKILL.md +123 -0
- package/scripts/skill-templates/new-addendum/SKILL.md +81 -0
- package/scripts/skill-templates/new-cycle/SKILL.md +37 -0
- package/scripts/skill-templates/new-project/SKILL.md +53 -0
- package/scripts/skill-templates/new-skill/SKILL.md +90 -0
- package/scripts/skill-templates/next/SKILL.md +68 -0
- package/scripts/skill-templates/note/SKILL.md +48 -0
- package/scripts/skill-templates/openrouter-status/SKILL.md +86 -0
- package/scripts/skill-templates/optimize/SKILL.md +97 -0
- package/scripts/skill-templates/override/SKILL.md +86 -0
- package/scripts/skill-templates/paper-write/SKILL.md +54 -0
- package/scripts/skill-templates/pause/SKILL.md +77 -0
- package/scripts/skill-templates/peer-cli-add/SKILL.md +88 -0
- package/scripts/skill-templates/peer-cli-add/peer-cli-protocol.md +161 -0
- package/scripts/skill-templates/peer-cli-customize/SKILL.md +89 -0
- package/scripts/skill-templates/peers/SKILL.md +96 -0
- package/scripts/skill-templates/pencil-write/SKILL.md +54 -0
- package/scripts/skill-templates/pin/SKILL.md +37 -0
- package/scripts/skill-templates/plan/SKILL.md +105 -0
- package/scripts/skill-templates/plan/plan-procedure.md +278 -0
- package/scripts/skill-templates/plant-seed/SKILL.md +48 -0
- package/scripts/skill-templates/pr-branch/SKILL.md +32 -0
- package/scripts/skill-templates/progress/SKILL.md +107 -0
- package/scripts/skill-templates/quality-gate/SKILL.md +90 -0
- package/scripts/skill-templates/quality-gate/threat-modeling.md +101 -0
- package/scripts/skill-templates/quick/SKILL.md +44 -0
- package/scripts/skill-templates/reapply-patches/SKILL.md +32 -0
- package/scripts/skill-templates/recall/SKILL.md +75 -0
- package/scripts/skill-templates/reflect/SKILL.md +85 -0
- package/scripts/skill-templates/reflect/procedures/capability-gap-scan.md +119 -0
- package/scripts/skill-templates/report-issue/SKILL.md +53 -0
- package/scripts/skill-templates/report-issue/report-issue-procedure.md +119 -0
- package/scripts/skill-templates/resume/SKILL.md +93 -0
- package/scripts/skill-templates/review-backlog/SKILL.md +46 -0
- package/scripts/skill-templates/review-decisions/SKILL.md +42 -0
- package/scripts/skill-templates/roi/SKILL.md +54 -0
- package/scripts/skill-templates/rollout-status/SKILL.md +35 -0
- package/scripts/skill-templates/router/SKILL.md +89 -0
- package/scripts/skill-templates/router/capability-gap-emitter.md +65 -0
- package/scripts/skill-templates/router/router-pick-emitter.md +78 -0
- package/scripts/skill-templates/router/router-rules.md +84 -0
- package/scripts/skill-templates/settings/SKILL.md +87 -0
- package/scripts/skill-templates/ship/SKILL.md +48 -0
- package/scripts/skill-templates/sketch/SKILL.md +78 -0
- package/scripts/skill-templates/sketch-wrap-up/SKILL.md +92 -0
- package/scripts/skill-templates/skill-manifest/SKILL.md +79 -0
- package/scripts/skill-templates/spike/SKILL.md +67 -0
- package/scripts/skill-templates/spike-wrap-up/SKILL.md +86 -0
- package/scripts/skill-templates/start/SKILL.md +67 -0
- package/scripts/skill-templates/start/start-procedure.md +115 -0
- package/scripts/skill-templates/state/SKILL.md +106 -0
- package/scripts/skill-templates/stats/SKILL.md +51 -0
- package/scripts/skill-templates/style/SKILL.md +71 -0
- package/scripts/skill-templates/style/style-doc-procedure.md +150 -0
- package/scripts/skill-templates/synthesize/SKILL.md +94 -0
- package/scripts/skill-templates/timeline/SKILL.md +66 -0
- package/scripts/skill-templates/todo/SKILL.md +64 -0
- package/scripts/skill-templates/turn-closeout/SKILL.md +95 -0
- package/scripts/skill-templates/undo/SKILL.md +31 -0
- package/scripts/skill-templates/unlock-decision/SKILL.md +54 -0
- package/scripts/skill-templates/unpin/SKILL.md +31 -0
- package/scripts/skill-templates/update/SKILL.md +56 -0
- package/scripts/skill-templates/using-gdd/SKILL.md +78 -0
- package/scripts/skill-templates/verify/SKILL.md +113 -0
- package/scripts/skill-templates/verify/verify-procedure.md +511 -0
- package/scripts/skill-templates/warm-cache/SKILL.md +81 -0
- package/scripts/skill-templates/watch-authorities/SKILL.md +82 -0
- package/scripts/skill-templates/zoom-out/SKILL.md +26 -0
- package/sdk/cli/commands/build.ts +2 -2
- package/sdk/cli/index.js +2 -2
- package/sdk/cli/index.ts +1 -1
- package/skills/README.md +22 -14
- package/skills/help/SKILL.md +28 -55
- package/skills/new-skill/SKILL.md +5 -5
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gdd-watch-authorities
|
|
3
|
+
description: "Fetches the design-authority feed whitelist, diffs against .design/authority-snapshot.json, and writes .design/authority-report.md (consumed by {{command_prefix}}reflect). Authority monitoring only - no trend-watching."
|
|
4
|
+
argument-hint: "[--refresh] [--since <date>] [--feed <name>] [--schedule <weekly|daily|monthly>]"
|
|
5
|
+
tools: Read, Write, Task, Bash
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# {{command_prefix}}watch-authorities
|
|
9
|
+
|
|
10
|
+
Runs `design-authority-watcher` on demand. Fetches the curated design-authority feed whitelist, diffs against the prior snapshot, classifies new entries into five buckets, and writes `.design/authority-report.md`. Phase 11's reflector picks up the report automatically when you next run `{{command_prefix}}reflect`.
|
|
11
|
+
|
|
12
|
+
Authority-monitoring only. Not trend-watching. See `reference/authority-feeds.md` §"Rejected kinds" for what this skill will never fetch.
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
1. **Parse args.** Extract optional flags: `--refresh`, `--since <date>`, `--feed <name>`, `--schedule <cadence>`. Anything that doesn't match one of these is an error - print `Unknown flag: <arg>. Valid flags: --refresh --since <date> --feed <name> --schedule <weekly|daily|monthly>.` and STOP.
|
|
17
|
+
|
|
18
|
+
Mutual exclusion rules:
|
|
19
|
+
- `--schedule` is handled entirely by this skill - it does not combine with the other three. If `--schedule` is present alongside any of `--refresh | --since | --feed`, print `--schedule cannot combine with other flags. Schedule registration runs this skill with no flags at the configured cadence.` and STOP.
|
|
20
|
+
- `--refresh` and `--since` are mutually exclusive - print `--refresh and --since are mutually exclusive. --refresh re-seeds the snapshot silently; --since surfaces a backlog from a boundary date. Pick one.` and STOP.
|
|
21
|
+
|
|
22
|
+
2. **Handle `--schedule <cadence>` branch** (early-return).
|
|
23
|
+
|
|
24
|
+
If `--schedule` is set:
|
|
25
|
+
- Validate cadence ∈ {`weekly`, `daily`, `monthly`}; else print `Unknown cadence: <value>. Use one of: weekly, daily, monthly.` and STOP.
|
|
26
|
+
- Probe for the scheduled-tasks MCP via ToolSearch:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
ToolSearch({ query: "scheduled-tasks", max_results: 3 })
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- If the probe returns an empty result set: print `scheduled-tasks MCP not connected. Install it with: claude mcp add scheduled-tasks ... then retry with --schedule.` - this is a documented fallback (not an error). Terminate with `## WATCH COMPLETE` and exit 0.
|
|
33
|
+
- If the probe returns one or more `scheduled-tasks` tools: register the cron. Discover the MCP's registration tool name at runtime from the ToolSearch result and follow its schema. Target command: `{{command_prefix}}watch-authorities` with NO flags (the cron invokes the default diff-and-report behavior). Cadence → cron expression mapping:
|
|
34
|
+
- `weekly` → `0 9 * * 1` (Mondays 09:00 local)
|
|
35
|
+
- `daily` → `0 9 * * *` (every day 09:00 local)
|
|
36
|
+
- `monthly` → `0 9 1 * *` (1st of each month 09:00 local)
|
|
37
|
+
- After registration: print `Scheduled {{command_prefix}}watch-authorities to run <cadence>.` and terminate with `## WATCH COMPLETE`.
|
|
38
|
+
|
|
39
|
+
3. **Validate `--since <date>`** (if present).
|
|
40
|
+
|
|
41
|
+
Accept ISO8601 (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM:SSZ`). Sanity-check via Bash `date -d "<value>" +%s` (GNU) or the POSIX equivalent `python3 -c "from datetime import datetime; datetime.fromisoformat('<value>'.replace('Z','+00:00'))"`. On parse failure: print `Invalid --since value: <value>. Use ISO8601 (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).` and STOP.
|
|
42
|
+
|
|
43
|
+
If the parsed date is earlier than `2020-01-01`, ask: `Very old --since value: <value>. Did you mean something more recent? Proceed? [y/N]`. On anything other than `y`/`Y`, STOP.
|
|
44
|
+
|
|
45
|
+
4. **Spawn the watcher.**
|
|
46
|
+
|
|
47
|
+
Build the `Task(subagent_type="design-authority-watcher", ...)` prompt. The prompt supplies the agent's required-reading block (watcher step 0), echoes the invocation flags verbatim (watcher Flags section), and instructs the agent to follow its own fetch/diff/classify/write loop:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Task("design-authority-watcher", """
|
|
51
|
+
<required_reading>
|
|
52
|
+
@reference/authority-feeds.md
|
|
53
|
+
@.design/authority-snapshot.json
|
|
54
|
+
@.design/STATE.md
|
|
55
|
+
</required_reading>
|
|
56
|
+
|
|
57
|
+
Invocation flags: <joined flag list or "none">
|
|
58
|
+
|
|
59
|
+
Fetch the feeds listed in reference/authority-feeds.md, diff against .design/authority-snapshot.json,
|
|
60
|
+
classify new entries per the D-17 decision table, write .design/authority-snapshot.json and
|
|
61
|
+
.design/authority-report.md.
|
|
62
|
+
|
|
63
|
+
Terminate with ## WATCH COMPLETE.
|
|
64
|
+
""")
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`<joined flag list>` is the subset of `--refresh | --since <date> | --feed <name>` actually passed - e.g., `--refresh`, `--since 2026-03-01`, `--feed wai-aria-apg`, `--refresh --feed radix-ui-releases`, or literally `none` when no flags were supplied.
|
|
68
|
+
|
|
69
|
+
5. **Print summary.**
|
|
70
|
+
|
|
71
|
+
After the agent returns:
|
|
72
|
+
- If STATE.md gained a `<blocker type="contract-violation">` on this run (snapshot version mismatch, hash-format violation, or over-200 entries per feed), surface the blocker verbatim and stop - do not print the default "review and reflect" line.
|
|
73
|
+
- Otherwise print the agent's one-line stdout summary (normal mode: `Surfaced N entries across M feeds. K skipped. See .design/authority-report.md.`; first-run / refresh mode: `Seeded snapshot for N feeds — next run will surface new entries.`) followed by: `Review and reflect: {{command_prefix}}reflect`.
|
|
74
|
+
|
|
75
|
+
6. **Terminate with `## WATCH COMPLETE`.**
|
|
76
|
+
|
|
77
|
+
## Do Not
|
|
78
|
+
|
|
79
|
+
- Do not modify `agents/design-authority-watcher.md`.
|
|
80
|
+
- Do not modify `agents/design-reflector.md` - Phase 13.2 does not touch the reflector agent (CONTEXT.md D-25).
|
|
81
|
+
- Do not write to `.design/authority-snapshot.json` or `.design/authority-report.md` directly - those are the agent's writes.
|
|
82
|
+
- Do not fetch URLs outside `reference/authority-feeds.md`. The whitelist is the allow-list.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zoom-out
|
|
3
|
+
description: "Asks the agent to go up a layer of abstraction and map the relevant modules and callers using the project's CONTEXT.md vocabulary. Use when the user is working in an unfamiliar area of code and needs orientation before deep work."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[scope]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Source: mattpocock/skills (MIT) - adapted with permission. See `../NOTICE` for the full attribution block.
|
|
9
|
+
|
|
10
|
+
# Zoom Out
|
|
11
|
+
|
|
12
|
+
**Role:** Give the user a map, not a fix.
|
|
13
|
+
|
|
14
|
+
I don't know this area of code well. Go up a layer of abstraction. Give me a map of all the relevant modules and callers, using the project's domain glossary (`CONTEXT.md`) vocabulary.
|
|
15
|
+
|
|
16
|
+
When invoked, produce a one-screen map that names:
|
|
17
|
+
|
|
18
|
+
1. **Modules in scope** - one-line description of each, using terms from `CONTEXT.md` (see `./../reference/context-md-format.md` for the schema). Do not invent terms.
|
|
19
|
+
2. **Callers** - who calls these modules from elsewhere, with file paths.
|
|
20
|
+
3. **Seams** - where data crosses module boundaries, named per `./../reference/architecture-vocabulary.md`.
|
|
21
|
+
|
|
22
|
+
Do not propose fixes. Do not write code. The output is a map.
|
|
23
|
+
|
|
24
|
+
If `CONTEXT.md` is absent, suggest `{{command_prefix}}discuss` to start one, but still produce the map using basenames and inferred terms.
|
|
25
|
+
|
|
26
|
+
## ZOOM-OUT COMPLETE
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// sdk/cli/commands/build.ts — Phase 42 (COMPILE-06).
|
|
2
2
|
//
|
|
3
3
|
// `gdd-sdk build skills [--harness <id>] [--zip] [--check]` — compile the per-harness skill bundles
|
|
4
|
-
// from skill-templates/ via the orchestrator scripts/build-skills.cjs. The orchestrator is a separate
|
|
4
|
+
// from scripts/skill-templates/ via the orchestrator scripts/build-skills.cjs. The orchestrator is a separate
|
|
5
5
|
// dep-free CJS process (no bundling entanglement with the SDK); we resolve it relative to the package
|
|
6
6
|
// root and spawn it, forwarding stdout/stderr.
|
|
7
7
|
//
|
|
@@ -30,7 +30,7 @@ const BUILD_FLAGS: readonly FlagSpec[] = [
|
|
|
30
30
|
|
|
31
31
|
export const BUILD_USAGE = `gdd-sdk build skills [flags]
|
|
32
32
|
|
|
33
|
-
Compile per-harness skill bundles from skill-templates/ into dist/<bundle>/ (and regenerate the
|
|
33
|
+
Compile per-harness skill bundles from scripts/skill-templates/ into dist/<bundle>/ (and regenerate the
|
|
34
34
|
committed Claude-Code surface skills/). One source, N provider bundles.
|
|
35
35
|
|
|
36
36
|
Flags:
|
package/sdk/cli/index.js
CHANGED
|
@@ -9664,7 +9664,7 @@ var BUILD_FLAGS = [
|
|
|
9664
9664
|
];
|
|
9665
9665
|
var BUILD_USAGE = `gdd-sdk build skills [flags]
|
|
9666
9666
|
|
|
9667
|
-
Compile per-harness skill bundles from skill-templates/ into dist/<bundle>/ (and regenerate the
|
|
9667
|
+
Compile per-harness skill bundles from scripts/skill-templates/ into dist/<bundle>/ (and regenerate the
|
|
9668
9668
|
committed Claude-Code surface skills/). One source, N provider bundles.
|
|
9669
9669
|
|
|
9670
9670
|
Flags:
|
|
@@ -9984,7 +9984,7 @@ Commands:
|
|
|
9984
9984
|
query <op> Typed STATE.md read operations.
|
|
9985
9985
|
audit Probe connections + dry-run verify.
|
|
9986
9986
|
init Bootstrap a new project.
|
|
9987
|
-
build skills Compile per-harness skill bundles from skill-templates/.
|
|
9987
|
+
build skills Compile per-harness skill bundles from scripts/skill-templates/.
|
|
9988
9988
|
dashboard Open the GDD dashboard (TUI; --web for the browser graph).
|
|
9989
9989
|
|
|
9990
9990
|
Use 'gdd-sdk <command> -h' for command-specific flags.
|
package/sdk/cli/index.ts
CHANGED
|
@@ -36,7 +36,7 @@ Commands:
|
|
|
36
36
|
query <op> Typed STATE.md read operations.
|
|
37
37
|
audit Probe connections + dry-run verify.
|
|
38
38
|
init Bootstrap a new project.
|
|
39
|
-
build skills Compile per-harness skill bundles from skill-templates/.
|
|
39
|
+
build skills Compile per-harness skill bundles from scripts/skill-templates/.
|
|
40
40
|
dashboard Open the GDD dashboard (TUI; --web for the browser graph).
|
|
41
41
|
|
|
42
42
|
Use 'gdd-sdk <command> -h' for command-specific flags.
|
package/skills/README.md
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
# `skill-templates/` - Editable Skill Source (Single Source of Truth)
|
|
1
|
+
# `scripts/skill-templates/` - Editable Skill Source (Single Source of Truth)
|
|
2
2
|
|
|
3
3
|
This directory is the **only** place to edit skill content. Every `SKILL.md` and sibling
|
|
4
4
|
doc here is the editable truth - the per-skill prose, examples, procedure files
|
|
5
5
|
(`*-procedure.md`, `*-rules.md`, emitters, etc.) all live here.
|
|
6
6
|
|
|
7
7
|
The user-facing `skills/` directory at the repo root is a **build artifact**, not source.
|
|
8
|
-
It
|
|
8
|
+
It is **committed** (since v1.58.1, NOT gitignored) and regenerated from this directory:
|
|
9
9
|
|
|
10
|
-
- on `npm install` (via the `prepare` lifecycle script) - so
|
|
10
|
+
- on `npm install` (via the `prepare` lifecycle script) - so contributor clones rebuild it from source
|
|
11
11
|
- on `npm pack` / `npm publish` (via `prepack`) - so the published tarball ships pre-built skills
|
|
12
|
+
- on demand via `node scripts/build-skills.cjs`, with the `build:skills:check` drift gate (CI)
|
|
13
|
+
failing the build whenever the committed `skills/` no longer matches `scripts/skill-templates/`
|
|
14
|
+
|
|
15
|
+
It stays in git because the Claude Code marketplace install path git-clones the plugin
|
|
16
|
+
**without** running `npm install`, so `./skills/` must already exist post-clone. v1.58.0
|
|
17
|
+
briefly gitignored it and broke that path; v1.58.1 restored it as a committed, drift-gated
|
|
18
|
+
build output.
|
|
12
19
|
|
|
13
20
|
End users installing `@hegemonart/get-design-done` from the npm registry receive a tarball
|
|
14
21
|
with `skills/` already built; no build step runs on their machine.
|
|
@@ -23,32 +30,33 @@ The previous layout (Phase 42) put templates under `source/skills/` AND committe
|
|
|
23
30
|
rendered `skills/` alongside. That meant 232 tracked files for 116 distinct skills with
|
|
24
31
|
identical content modulo a single placeholder substitution. Pure git churn.
|
|
25
32
|
|
|
26
|
-
v1.58.0 fixes this: templates are tracked once at `skill-templates/`, the rendered output
|
|
33
|
+
v1.58.0 fixes this: templates are tracked once at `scripts/skill-templates/`, the rendered output
|
|
27
34
|
is generated on demand.
|
|
28
35
|
|
|
29
36
|
## Source-of-truth split (what lives where)
|
|
30
37
|
|
|
31
38
|
| Concern | Source of truth | How it reaches `skills/` |
|
|
32
39
|
|---|---|---|
|
|
33
|
-
| **Body content** (everything below the frontmatter) | `skill-templates/<slug>/SKILL.md` | `scripts/build-skills.cjs` walks `skill-templates/`, applies per-harness placeholder substitution, writes to `skills/` |
|
|
34
|
-
| **Universal frontmatter** (`name`, `description`, `argument-hint`, `tools`, `user-invocable`, `disable-model-invocation`) | `scripts/lib/manifest/skills.json` | `scripts/generate-skill-frontmatter.cjs` writes the managed block into `skill-templates/<slug>/SKILL.md`, then `build:skills` copies it onward |
|
|
35
|
-
| **Non-managed frontmatter** (e.g. `color`, `model`, custom keys) | `skill-templates/<slug>/SKILL.md` itself (preserved verbatim) | carried through both generators unchanged |
|
|
40
|
+
| **Body content** (everything below the frontmatter) | `scripts/skill-templates/<slug>/SKILL.md` | `scripts/build-skills.cjs` walks `scripts/skill-templates/`, applies per-harness placeholder substitution, writes to `skills/` |
|
|
41
|
+
| **Universal frontmatter** (`name`, `description`, `argument-hint`, `tools`, `user-invocable`, `disable-model-invocation`) | `scripts/lib/manifest/skills.json` | `scripts/generate-skill-frontmatter.cjs` writes the managed block into `scripts/skill-templates/<slug>/SKILL.md`, then `build:skills` copies it onward |
|
|
42
|
+
| **Non-managed frontmatter** (e.g. `color`, `model`, custom keys) | `scripts/skill-templates/<slug>/SKILL.md` itself (preserved verbatim) | carried through both generators unchanged |
|
|
36
43
|
|
|
37
|
-
The forward direction is **`skills.json` -> `skill-templates/` -> `skills/`**.
|
|
44
|
+
The forward direction is **`skills.json` -> `scripts/skill-templates/` -> `skills/`**.
|
|
38
45
|
Treat that direction as canonical; the `--extract` mode of `generate-skill-frontmatter.cjs` exists
|
|
39
46
|
only to seed the manifest from current sources when reconciling drift.
|
|
40
47
|
|
|
41
48
|
## Editing protocol
|
|
42
49
|
|
|
43
|
-
1. **Edit body** -> modify `skill-templates/<slug>/SKILL.md` (anything below the frontmatter delimiter).
|
|
50
|
+
1. **Edit body** -> modify `scripts/skill-templates/<slug>/SKILL.md` (anything below the frontmatter delimiter).
|
|
44
51
|
2. **Edit universal frontmatter** -> modify `scripts/lib/manifest/skills.json`, then run
|
|
45
52
|
`npm run generate:skill-frontmatter`.
|
|
46
|
-
3. **Edit non-managed frontmatter** -> modify `skill-templates/<slug>/SKILL.md` directly; the generator
|
|
53
|
+
3. **Edit non-managed frontmatter** -> modify `scripts/skill-templates/<slug>/SKILL.md` directly; the generator
|
|
47
54
|
preserves it.
|
|
48
|
-
4. **Regenerate the built surface** -> `npm run build:skills`. This rewrites the
|
|
49
|
-
`skills/<slug>/SKILL.md` byte-for-byte from the templates
|
|
55
|
+
4. **Regenerate the built surface** -> `npm run build:skills`. This rewrites the committed
|
|
56
|
+
`skills/<slug>/SKILL.md` byte-for-byte from the templates; commit the regenerated `skills/`
|
|
57
|
+
alongside your template edit so the `build:skills:check` drift gate stays green.
|
|
50
58
|
5. **Verify the build** -> `npm run build:skills:check` (CI gate) confirms compile determinism
|
|
51
|
-
and that the on-disk `skills/` matches what `skill-templates/` would generate.
|
|
59
|
+
and that the on-disk `skills/` matches what `scripts/skill-templates/` would generate.
|
|
52
60
|
|
|
53
61
|
## Placeholders
|
|
54
62
|
|
|
@@ -68,7 +76,7 @@ Full grammar + the per-harness substitution table: `reference/skill-placeholders
|
|
|
68
76
|
|
|
69
77
|
## What npm ships
|
|
70
78
|
|
|
71
|
-
`package.json` `files` lists `skills/` (the built surface); `skill-templates/` is repo-only and
|
|
79
|
+
`package.json` `files` lists `skills/` (the built surface); `scripts/skill-templates/` is repo-only and
|
|
72
80
|
is **not** distributed via npm. The `prepack` lifecycle runs `npm run build:skills` so the tarball
|
|
73
81
|
always contains a freshly-built `skills/`.
|
|
74
82
|
|
package/skills/help/SKILL.md
CHANGED
|
@@ -7,73 +7,46 @@ disable-model-invocation: true
|
|
|
7
7
|
|
|
8
8
|
# Get Design Done - Help
|
|
9
9
|
|
|
10
|
-
**Role:** Print a formatted reference of
|
|
10
|
+
**Role:** Print a complete, formatted reference of every `/gdd:` command with a one-line description. The list is built from the skill manifest at runtime so it can never drift from the installed skills.
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Procedure
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
1. **Read the manifest.** Open `scripts/lib/manifest/skills.json`. Its `skills` array is the source of truth: one object per skill, each with a `name` (the command, used as `/gdd:<name>`) and a `description`. Some records also carry `user_invocable`, `disable_model_invocation`, `composes_with`, `next_skills`, and `registered_in_phase` - use those only to refine grouping, never to drop a skill.
|
|
17
|
+
|
|
18
|
+
2. **Cover every skill.** The output must include every object in `skills` exactly once. Do not hardcode a command list and do not print a fixed count - the only authority is the manifest you just read. If a skill is in the manifest, it appears in the help; if it is removed from the manifest, it disappears from the help automatically.
|
|
19
|
+
|
|
20
|
+
3. **One-line each.** For every skill, emit `/gdd:<name>` followed by a single condensed line drawn from its `description`. Trim each description to its first sentence (cut at the first sentence-ending period) so the table stays scannable. Strip any leading "Stage N of 5" boilerplate into a short `Stage N` tag where it helps. Never invent a description - if a record has only a terse `description`, use it verbatim (condensed).
|
|
21
|
+
|
|
22
|
+
4. **Group sensibly.** The manifest has no explicit category field, so derive groups from what each skill does and lead with the ones users reach for first. A good order:
|
|
23
|
+
- **Pipeline stages (run in order):** `brief`, `explore`, `plan`, `design`, `verify` - the five-stage spine, in that sequence.
|
|
24
|
+
- **Standalone analysis:** one-shot audits and deltas (for example `style`, `darkmode`, `compare`, `audit`, `start`).
|
|
25
|
+
- **Navigation and status:** `next`, `help`, `progress`, `health`, `stats`, `quick`, `fast`.
|
|
26
|
+
- **Exploration and ideation:** `discuss`, `list-assumptions`, `sketch`, `sketch-wrap-up`, `spike`, `spike-wrap-up`, `map`, `bootstrap-ds`.
|
|
27
|
+
- **Lifecycle and session:** `new-project`, `new-cycle`, `complete-cycle`, `pause`, `resume`, `continue`, `do`, `ship`, `pr-branch`, `undo`.
|
|
28
|
+
- **Everything else:** every remaining skill not yet listed, alphabetically. This catch-all is what guarantees completeness - sweep the manifest for any `name` you have not already printed and place it here.
|
|
29
|
+
|
|
30
|
+
Grouping is a presentation aid, not a filter. If you are ever unsure where a skill belongs, fall back to a single alphabetical list of all manifest skills - completeness beats tidy buckets.
|
|
31
|
+
|
|
32
|
+
5. **Render.** Use this header and shape (a fenced reference block):
|
|
17
33
|
|
|
18
34
|
```
|
|
19
|
-
|
|
35
|
+
=== Get Design Done - Command Reference ===
|
|
20
36
|
|
|
21
37
|
Pipeline stages (run in order):
|
|
22
|
-
brief
|
|
23
|
-
explore
|
|
24
|
-
|
|
25
|
-
design Stage 4 — execute tasks with wave coordination → DESIGN-SUMMARY.md
|
|
26
|
-
verify Stage 5 — audit, verify, score → DESIGN-VERIFICATION.md
|
|
38
|
+
brief <first sentence of brief.description>
|
|
39
|
+
explore <first sentence of explore.description>
|
|
40
|
+
...
|
|
27
41
|
|
|
28
42
|
Standalone analysis:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
Ergonomics:
|
|
34
|
-
next Route to the next pipeline stage based on STATE.md
|
|
35
|
-
help This reference
|
|
36
|
-
progress Show current pipeline state
|
|
37
|
-
health Health check of .design/ artifacts
|
|
38
|
-
quick Fast pass through the whole pipeline
|
|
39
|
-
fast Aggressive speed mode
|
|
40
|
-
|
|
41
|
-
Exploration:
|
|
42
|
-
discuss Open discussion thread with design-discussant agent
|
|
43
|
-
list-assumptions Print active D-XX decisions from STATE.md
|
|
44
|
-
sketch Open a design sketch scratchpad
|
|
45
|
-
sketch-wrap-up Close sketch and merge learnings
|
|
46
|
-
spike Time-boxed exploratory spike
|
|
47
|
-
spike-wrap-up Close spike and capture outcomes
|
|
48
|
-
map Map the codebase structure
|
|
49
|
-
audit Run audit-only pass
|
|
50
|
-
|
|
51
|
-
Maintenance:
|
|
52
|
-
note Record a quick note to STATE.md
|
|
53
|
-
plant-seed Record an idea for later
|
|
54
|
-
add-backlog Append item to backlog
|
|
55
|
-
review-backlog Review pending backlog
|
|
56
|
-
todo List/manage design TODOs
|
|
57
|
-
stats Print pipeline stats
|
|
58
|
-
settings View/edit plugin settings
|
|
59
|
-
update Update the plugin
|
|
60
|
-
reapply-patches Reapply any pending patches
|
|
61
|
-
debug Enter systematic debugging mode
|
|
62
|
-
undo Revert the last stage action
|
|
63
|
-
|
|
64
|
-
Lifecycle:
|
|
65
|
-
new-project Initialize STATE.md + .design/ directory
|
|
66
|
-
new-cycle Start a new design cycle on an existing project
|
|
67
|
-
complete-cycle Archive the current cycle
|
|
68
|
-
pause Pause work and save context
|
|
69
|
-
resume Resume paused work
|
|
70
|
-
do Execute a specific task
|
|
71
|
-
ship Create PR from completed work
|
|
72
|
-
pr-branch Create/switch PR branch
|
|
73
|
-
|
|
74
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
43
|
+
...
|
|
44
|
+
|
|
45
|
+
(continue for every group, ending with the alphabetical catch-all)
|
|
75
46
|
```
|
|
76
47
|
|
|
48
|
+
Pad command names to a consistent column so descriptions align. Keep the `/gdd:` convention: show the bare name in the table (it is already understood to be a `/gdd:` command), and use the full `/gdd:<name>` form in any surrounding prose.
|
|
49
|
+
|
|
77
50
|
## Update notice (safe-window surface)
|
|
78
51
|
|
|
79
52
|
After the command reference, emit the plugin-update banner if one is present:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-new-skill
|
|
3
|
-
description: "Scaffolds a new Phase-28.5 + Phase-50-compliant skill: gathers a name, a multi-paragraph v3 description, a lifecycle stage, an allowed-tools list, and optional composes_with neighbours, then writes skill-templates/<name>/SKILL.md from the pure generator. Use when adding a brand-new gdd skill and you want the frontmatter, length cap, and v3 description form correct from the first commit. Activates for requests involving authoring a skill, scaffolding a command, creating a new SKILL.md, or adding a slash command."
|
|
3
|
+
description: "Scaffolds a new Phase-28.5 + Phase-50-compliant skill: gathers a name, a multi-paragraph v3 description, a lifecycle stage, an allowed-tools list, and optional composes_with neighbours, then writes scripts/skill-templates/<name>/SKILL.md from the pure generator. Use when adding a brand-new gdd skill and you want the frontmatter, length cap, and v3 description form correct from the first commit. Activates for requests involving authoring a skill, scaffolding a command, creating a new SKILL.md, or adding a slash command."
|
|
4
4
|
argument-hint: "<skill-name>"
|
|
5
5
|
tools: Read, Write, Bash, AskUserQuestion
|
|
6
6
|
user-invocable: true
|
|
@@ -8,7 +8,7 @@ user-invocable: true
|
|
|
8
8
|
|
|
9
9
|
# /gdd:new-skill
|
|
10
10
|
|
|
11
|
-
**Role:** Interactively scaffold a contract-compliant skill. Gather the fields, then write `skill-templates/<name>/SKILL.md` from the pure generator at `scripts/lib/manifest/scaffolder.cjs`. This skill writes ONE source file. It does NOT touch `scripts/lib/manifest/skills.json` and does NOT run the build; it prints the exact follow-up commands instead.
|
|
11
|
+
**Role:** Interactively scaffold a contract-compliant skill. Gather the fields, then write `scripts/skill-templates/<name>/SKILL.md` from the pure generator at `scripts/lib/manifest/scaffolder.cjs`. This skill writes ONE source file. It does NOT touch `scripts/lib/manifest/skills.json` and does NOT run the build; it prints the exact follow-up commands instead.
|
|
12
12
|
|
|
13
13
|
Read `reference/skill-authoring-contract.md` first for the length cap, the frontmatter required fields, and the v3 description form.
|
|
14
14
|
|
|
@@ -27,7 +27,7 @@ Either way the answers feed the same record builder. Never block waiting on a TT
|
|
|
27
27
|
|
|
28
28
|
## Step 1 - Gather the fields
|
|
29
29
|
|
|
30
|
-
1. **name**: the slug from `$ARGUMENTS` if present, else ask. Must match `^[a-z0-9][a-z0-9-._]*$`. Reject `skill-templates/<name>/` collisions.
|
|
30
|
+
1. **name**: the slug from `$ARGUMENTS` if present, else ask. Must match `^[a-z0-9][a-z0-9-._]*$`. Reject `scripts/skill-templates/<name>/` collisions.
|
|
31
31
|
2. **description**: a multi-paragraph v3 form. Sentence one is what the skill does. Sentence two is `Use when <triggers>`. Sentence three is `Activates for requests involving <kw1>, <kw2>, <kw3>.` Keep it 20 to 1024 chars.
|
|
32
32
|
3. **lifecycle stage**: pick one of brief / explore / plan / verify / ship / figma / token / report (free text allowed). This seeds the composition suggestions.
|
|
33
33
|
4. **tools**: a comma list (for example `Read, Write, Bash`). Empty means inherit-all.
|
|
@@ -45,7 +45,7 @@ Present the suggestions; let the user accept, edit, or clear them.
|
|
|
45
45
|
|
|
46
46
|
## Step 2 - Length pre-check
|
|
47
47
|
|
|
48
|
-
Before writing, estimate the body length. If the planned body would exceed about 100 lines, warn the user (the authoring contract warns at 100 and blocks at 250) and suggest extracting domain content into a co-located `skill-templates/<name>/<topic>.md` reference. The generated skeleton is small; the warning is for the prose the user will add next.
|
|
48
|
+
Before writing, estimate the body length. If the planned body would exceed about 100 lines, warn the user (the authoring contract warns at 100 and blocks at 250) and suggest extracting domain content into a co-located `scripts/skill-templates/<name>/<topic>.md` reference. The generated skeleton is small; the warning is for the prose the user will add next.
|
|
49
49
|
|
|
50
50
|
## Step 3 - Write the file
|
|
51
51
|
|
|
@@ -66,7 +66,7 @@ process.stdout.write(s.renderSkillMd(rec));
|
|
|
66
66
|
"
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
`buildSkillRecord` throws on an invalid name, an out-of-budget description, or a malformed tools list. Surface the thrown message to the user and re-prompt the offending field. Capture stdout and write it verbatim to `skill-templates/<name>/SKILL.md` via the Write tool.
|
|
69
|
+
`buildSkillRecord` throws on an invalid name, an out-of-budget description, or a malformed tools list. Surface the thrown message to the user and re-prompt the offending field. Capture stdout and write it verbatim to `scripts/skill-templates/<name>/SKILL.md` via the Write tool.
|
|
70
70
|
|
|
71
71
|
## Step 4 - Tell the user the follow-up
|
|
72
72
|
|