@hegemonart/get-design-done 1.28.0 → 1.28.5

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.
Files changed (98) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +78 -0
  4. package/SKILL.md +1 -1
  5. package/hooks/gdd-decision-injector.js +149 -3
  6. package/package.json +1 -1
  7. package/reference/adr-format.md +96 -0
  8. package/reference/apply-reflections-procedure.md +68 -0
  9. package/reference/architecture-vocabulary.md +102 -0
  10. package/reference/cache-policy.md +126 -0
  11. package/reference/compare-rubric.md +171 -0
  12. package/reference/connections-onboarding.md +417 -0
  13. package/reference/context-md-format.md +106 -0
  14. package/reference/darkmode-audit-procedure.md +258 -0
  15. package/reference/debug-feedback-loops.md +119 -0
  16. package/reference/design-procedure.md +304 -0
  17. package/reference/discover-procedure.md +204 -0
  18. package/reference/explore-procedure.md +267 -0
  19. package/reference/health-mcp-detection.md +44 -0
  20. package/reference/health-skill-length-report.md +69 -0
  21. package/reference/heuristics.md +84 -0
  22. package/reference/milestone-completeness-rubric.md +87 -0
  23. package/reference/peer-cli-protocol.md +161 -0
  24. package/reference/plan-procedure.md +278 -0
  25. package/reference/registry.json +169 -1
  26. package/reference/registry.schema.json +1 -1
  27. package/reference/router-rules.md +84 -0
  28. package/reference/scan-procedure.md +731 -0
  29. package/reference/shared-preamble.md +78 -6
  30. package/reference/skill-authoring-contract.md +128 -0
  31. package/reference/start-procedure.md +115 -0
  32. package/reference/style-doc-procedure.md +150 -0
  33. package/reference/threat-modeling.md +101 -0
  34. package/reference/verify-procedure.md +512 -0
  35. package/scripts/validate-skill-length.cjs +283 -0
  36. package/skills/add-backlog/SKILL.md +1 -0
  37. package/skills/analyze-dependencies/SKILL.md +33 -122
  38. package/skills/apply-reflections/SKILL.md +1 -40
  39. package/skills/audit/SKILL.md +3 -1
  40. package/skills/bandit-status/SKILL.md +31 -66
  41. package/skills/benchmark/SKILL.md +15 -55
  42. package/skills/brief/SKILL.md +12 -1
  43. package/skills/cache-manager/SKILL.md +3 -57
  44. package/skills/check-update/SKILL.md +38 -75
  45. package/skills/compare/SKILL.md +29 -269
  46. package/skills/complete-cycle/SKILL.md +1 -1
  47. package/skills/connections/SKILL.md +21 -427
  48. package/skills/continue/SKILL.md +1 -0
  49. package/skills/darkmode/SKILL.md +32 -287
  50. package/skills/debug/SKILL.md +11 -8
  51. package/skills/design/SKILL.md +27 -245
  52. package/skills/discover/SKILL.md +26 -133
  53. package/skills/discuss/SKILL.md +18 -2
  54. package/skills/explore/SKILL.md +40 -205
  55. package/skills/fast/SKILL.md +1 -0
  56. package/skills/figma-write/SKILL.md +2 -2
  57. package/skills/health/SKILL.md +11 -33
  58. package/skills/help/SKILL.md +1 -0
  59. package/skills/list-assumptions/SKILL.md +1 -0
  60. package/skills/map/SKILL.md +8 -31
  61. package/skills/new-cycle/SKILL.md +3 -1
  62. package/skills/next/SKILL.md +1 -0
  63. package/skills/note/SKILL.md +1 -0
  64. package/skills/optimize/SKILL.md +21 -44
  65. package/skills/pause/SKILL.md +1 -0
  66. package/skills/peer-cli-add/SKILL.md +26 -108
  67. package/skills/peer-cli-customize/SKILL.md +22 -42
  68. package/skills/peers/SKILL.md +33 -57
  69. package/skills/plan/SKILL.md +33 -220
  70. package/skills/plant-seed/SKILL.md +1 -0
  71. package/skills/pr-branch/SKILL.md +1 -0
  72. package/skills/progress/SKILL.md +1 -7
  73. package/skills/quality-gate/SKILL.md +34 -166
  74. package/skills/quick/SKILL.md +1 -0
  75. package/skills/reapply-patches/SKILL.md +1 -0
  76. package/skills/recall/SKILL.md +1 -0
  77. package/skills/resume/SKILL.md +1 -0
  78. package/skills/review-backlog/SKILL.md +1 -0
  79. package/skills/router/SKILL.md +3 -59
  80. package/skills/scan/SKILL.md +36 -675
  81. package/skills/settings/SKILL.md +1 -0
  82. package/skills/ship/SKILL.md +1 -0
  83. package/skills/sketch/SKILL.md +1 -1
  84. package/skills/sketch-wrap-up/SKILL.md +13 -54
  85. package/skills/spike/SKILL.md +1 -1
  86. package/skills/spike-wrap-up/SKILL.md +12 -46
  87. package/skills/start/SKILL.md +13 -112
  88. package/skills/stats/SKILL.md +1 -0
  89. package/skills/style/SKILL.md +18 -140
  90. package/skills/synthesize/SKILL.md +1 -0
  91. package/skills/timeline/SKILL.md +1 -0
  92. package/skills/todo/SKILL.md +1 -0
  93. package/skills/turn-closeout/SKILL.md +36 -56
  94. package/skills/undo/SKILL.md +1 -0
  95. package/skills/update/SKILL.md +1 -0
  96. package/skills/verify/SKILL.md +42 -457
  97. package/skills/warm-cache/SKILL.md +3 -35
  98. package/skills/zoom-out/SKILL.md +26 -0
@@ -9,107 +9,87 @@ tools: Read, Bash
9
9
 
10
10
  ## Role
11
11
 
12
- You are a deterministic **closeout** skill. You close the per-turn telemetry gap on runtimes that don't expose a Stop event (codex, gemini, and 11 others). You are a code-level mirror of `hooks/gdd-turn-closeout.js` (D-10): same conditions, same idempotence, same emitted event shape. The only difference: the JS hook emits the nudge as `additionalContext` via the harness; this skill prints the nudge directly to the user.
12
+ You are a deterministic **closeout** skill. You close the per-turn telemetry gap on runtimes that don't expose a Stop event (codex, gemini, and 11 others). You are a code-level mirror of `hooks/gdd-turn-closeout.js` (D-10): same conditions, same idempotence, same emitted event shape. The only difference: the JS hook emits the nudge as `additionalContext` via the harness; this skill prints the nudge directly to the user. See `./reference/milestone-completeness-rubric.md` §"Task level" for the broader closeout discipline (what "turn complete" means within a stage).
13
13
 
14
- **When to invoke:** orchestrator skills (`/gdd:next`, `/gdd:design`, `/gdd:verify`) tail-call this skill as their final step before returning, so the user sees a closing nudge that matches what Claude Code users see via the Stop hook. Adoption is incremental — each orchestrator can wire the tail-call independently; the skill exists as a stable, callable surface today.
14
+ **When to invoke:** orchestrator skills (`/gdd:next`, `/gdd:design`, `/gdd:verify`) tail-call this skill as their final step before returning. Adoption is incremental — each orchestrator can wire the tail-call independently; the skill exists as a stable, callable surface today.
15
15
 
16
16
  ## Invocation Contract
17
17
 
18
- - **Input**: none. Operates on `.design/STATE.md` and `.design/telemetry/events.jsonl` in the current working directory.
18
+ - **Input**: none. Operates on `.design/STATE.md` and `.design/telemetry/events.jsonl` in cwd.
19
19
  - **Output**: at most one printed line — the nudge — or silent return.
20
- - **Latency budget**: ≤10ms typical (matches D-10). Read **only** STATE.md and the tail of events.jsonl; never load the full event stream.
21
- - **Idempotence**: if the most recent event line is already a `turn_end` for the current `(stage, task_progress)` tuple, skip the append but still print the nudge.
22
- - **Non-blocking**: any I/O failure → silent return. This skill must never gate the user.
20
+ - **Latency budget**: ≤10ms typical. Read **only** STATE.md and the tail of events.jsonl.
21
+ - **Idempotence**: if the most recent event is already a `turn_end` for the current `(stage, task_progress)` tuple, skip append but still print nudge.
22
+ - **Non-blocking**: any I/O failure → silent return. This skill never gates the user.
23
23
 
24
24
  ## Algorithm
25
25
 
26
- Execute these steps **in order** and stop at the first early-return.
26
+ Execute in order; stop at the first early-return.
27
27
 
28
- ### Step 1 — Try to read STATE.md
28
+ ### Step 1 — Read STATE.md
29
29
 
30
- Read `.design/STATE.md`. If the file is missing or unreadable: **return silently** (no print, no append). Mirrors the JS hook's "missing STATE.md" branch.
30
+ Read `.design/STATE.md`. Missing or unreadable **return silently** (no print, no append).
31
31
 
32
- ### Step 2 — Parse the `<position>` block
32
+ ### Step 2 — Parse `<position>` block
33
33
 
34
- Lightweight-parse only the `<position>…</position>` block (the rest of STATE.md is irrelevant here). Extract `stage`, `status`, `task_progress`. A regex pass (`/<position>([\s\S]*?)<\/position>/` then per-line `key: value`) is sufficient do **not** invoke the full STATE parser (cost overhead).
34
+ Lightweight-parse only `<position>…</position>` (regex `/<position>([\s\S]*?)<\/position>/` then per-line `key: value`). Extract `stage`, `status`, `task_progress`. Do not invoke the full STATE parser.
35
35
 
36
- If `status != "in_progress"`: **return silently**. The pipeline is either initialized, completed, or blocked — no turn-end gap to close.
36
+ If `status != "in_progress"` **return silently**. Pipeline is initialized / completed / blocked — no turn-end gap to close.
37
37
 
38
38
  ### Step 3 — Tail the last event line
39
39
 
40
- Read **only the last 8 KiB** of `.design/telemetry/events.jsonl` (a single event line is ≪64 KiB). Treat all of these as "stale by definition":
41
- - The file is missing.
42
- - The file is empty.
43
- - The last line fails to parse as JSON.
44
- - The last line's `timestamp` is missing or unparseable.
40
+ Read **only the last 8 KiB** of `.design/telemetry/events.jsonl`. Treat as "stale by definition":
45
41
 
46
- Otherwise compute `now - last_event.timestamp`. If the gap is **<60 seconds**, the user is actively mid-turn — **return silently** (the next real event will close the gap naturally).
42
+ - File missing.
43
+ - File empty.
44
+ - Last line fails JSON parse.
45
+ - Last line's `timestamp` is missing or unparseable.
47
46
 
48
- A reasonable Bash one-liner for the tail when running this skill in a runtime that lacks a Read-tail primitive: `tail -n 1 .design/telemetry/events.jsonl 2>/dev/null`.
47
+ Otherwise compute `now - last_event.timestamp`. Gap < 60 seconds user is actively mid-turn **return silently** (next real event closes the gap naturally). Bash one-liner for the tail: `tail -n 1 .design/telemetry/events.jsonl 2>/dev/null`.
49
48
 
50
49
  ### Step 4 — Idempotence check, then append
51
50
 
52
- If the last event is already shaped `{type: "turn_end", stage: <same>, payload: {task_progress: <same>}}` for the **exact** `(stage, task_progress)` tuple from Step 2: **skip the append** but proceed to Step 5.
51
+ If last event is already `{type:"turn_end", stage:<same>, payload:{task_progress:<same>}}` for the exact `(stage, task_progress)` from Step 2: **skip append** but proceed to Step 5.
53
52
 
54
- Otherwise append a single JSONL line to `.design/telemetry/events.jsonl`:
53
+ Otherwise append one JSONL line to `.design/telemetry/events.jsonl`:
55
54
 
56
55
  ```json
57
56
  {"type":"turn_end","timestamp":"<ISO 8601 now>","sessionId":"<session-id-or-'turn-closeout'>","stage":"<stage>","payload":{"task_progress":"<N/M>"},"_meta":{"source":"gdd-turn-closeout-skill"}}
58
57
  ```
59
58
 
60
- Create `.design/telemetry/` if missing. The append must be a single `appendFile`-equivalent call (the writer assumes append-atomicity per Plan 20-06).
59
+ Create `.design/telemetry/` if missing. Append is a single `appendFile`-equivalent call (writer assumes append-atomicity per Plan 20-06).
61
60
 
62
61
  ### Step 5 — Print the nudge
63
62
 
64
63
  Match `task_progress` against `^(\d+)/(\d+)$`:
65
64
 
66
- - **Numerator equals denominator and denominator > 0** (e.g. `5/5`, stage-complete):
65
+ - **Numerator equals denominator and denominator > 0** (e.g. `5/5`): `Stage <stage> complete — run /gdd:next or /gdd:reflect`.
66
+ - **Otherwise** (mid-task, e.g. `3/7`, `0/0`, malformed): `Stage <stage> paused mid-task — resume with /gdd:resume`.
67
67
 
68
- > Stage `<stage>` completerun `/gdd:next` or `/gdd:reflect`
69
-
70
- - **Otherwise** (mid-task, e.g. `3/7`, `0/0`, malformed):
71
-
72
- > Stage `<stage>` paused mid-task — resume with `/gdd:resume`
73
-
74
- Print exactly one of these two lines. No additional commentary, no explanations of what the skill did — the nudge is the user-facing surface.
68
+ One line exactly. No commentary the nudge is the user-facing surface.
75
69
 
76
70
  ## Failure Modes
77
71
 
78
- Every step above has an explicit silent-return on failure. The skill must remain non-blocking under all conditions:
79
-
80
72
  | Condition | Behavior |
81
73
  |-----------|----------|
82
- | `.design/STATE.md` missing or unreadable | Silent return |
83
- | `<position>` block absent or malformed | Silent return |
74
+ | STATE.md missing/unreadable | Silent return |
75
+ | `<position>` absent or malformed | Silent return |
84
76
  | `status != "in_progress"` | Silent return |
85
- | `.design/telemetry/events.jsonl` missing | Treat as stale → fall through to append + nudge |
86
- | Last event line unparseable | Treat as stale → fall through |
87
- | Last event timestamp <60s old | Silent return |
88
- | Append fails (permission, disk full) | Print the nudge anyway; do not surface the I/O error |
89
- | Any uncaught throw at any step | Silent return |
77
+ | `events.jsonl` missing | Treat as stale → fall through to append + nudge |
78
+ | Last event unparseable | Treat as stale → fall through |
79
+ | Last event < 60s old | Silent return |
80
+ | Append fails (permission, disk full) | Print nudge anyway; do not surface I/O error |
81
+ | Any uncaught throw | Silent return |
90
82
 
91
83
  ## Equivalence with the JS hook
92
84
 
93
- This skill and `hooks/gdd-turn-closeout.js` MUST stay code-level equivalent. Specifically:
94
-
95
- - Same four early-return branches (no STATE / not in_progress / fresh event / no-op).
96
- - Same staleness threshold: **60 seconds**.
97
- - Same idempotence guard: `(type=turn_end, stage, payload.task_progress)` triple.
98
- - Same emitted event shape (only `_meta.source` differs: `gdd-turn-closeout` vs `gdd-turn-closeout-skill`, so reflector telemetry can distinguish hook-driven vs skill-driven turn-ends).
99
- - Same nudge wording for both `N/N` and mid-task cases.
100
-
101
- If you change one, change the other in the same plan. Plan 25-09's `tests/turn-closeout-hook.test.cjs` covers the JS hook; the parallel coverage for this skill rides on Plan 25-09's Phase 25 baseline.
85
+ This skill and `hooks/gdd-turn-closeout.js` MUST stay code-level equivalent: same four early-return branches, same 60-second staleness threshold, same idempotence guard (`type=turn_end, stage, payload.task_progress`), same event shape (only `_meta.source` differs: `gdd-turn-closeout` vs `gdd-turn-closeout-skill` so reflector telemetry can distinguish hook-driven vs skill-driven). Same nudge wording for both N/N and mid-task cases. Change one → change the other in the same plan. Plan 25-09's `tests/turn-closeout-hook.test.cjs` covers the JS hook.
102
86
 
103
87
  ## Non-Goals
104
88
 
105
- - **Not a state writer.** This skill never edits STATE.md. The events.jsonl append is the only side effect.
106
- - **Not a stage transition.** A `turn_end` event is a within-stage observation, not a state-machine move; downstream tools that gate on stage transitions ignore it.
107
- - **Not a Stop-event harness.** Cross-runtime Stop-event support at the harness level is explicit out-of-scope for Phase 25 (see CONTEXT.md OOS section).
89
+ - **Not a state writer.** Never edits STATE.md. The events.jsonl append is the only side effect.
90
+ - **Not a stage transition.** `turn_end` is within-stage, not a state-machine move; downstream tools ignore it for transition gating.
91
+ - **Not a Stop-event harness.** Cross-runtime Stop-event support at the harness level is out-of-scope for Phase 25 (CONTEXT.md OOS).
108
92
 
109
93
  ## Integration Point
110
94
 
111
- The canonical tail-call sites (per D-11) are `/gdd:next`, `/gdd:design`, `/gdd:verify`. Each orchestrator's final step, immediately before returning to the user, should be:
112
-
113
- > Invoke skill `gdd-turn-closeout`.
114
-
115
- Tail-call wiring is intentionally not part of v1.25 (Plan 25-04 ships only the callable surface). Each orchestrator can adopt the wiring independently in a follow-up.
95
+ Canonical tail-call sites per D-11: `/gdd:next`, `/gdd:design`, `/gdd:verify`. Each orchestrator's final step before returning to the user invokes `gdd-turn-closeout`. Tail-call wiring intentionally not part of v1.25 (Plan 25-04 ships only the callable surface).
@@ -3,6 +3,7 @@ name: gdd-undo
3
3
  description: "Safe design change revert. Uses git log to find design commits, checks dependencies, reverts safely."
4
4
  argument-hint: "[<commit SHA>]"
5
5
  tools: Read, Write, Bash, AskUserQuestion
6
+ disable-model-invocation: true
6
7
  ---
7
8
 
8
9
  # /gdd:undo
@@ -3,6 +3,7 @@ name: gdd-update
3
3
  description: "Update get-design-done to the latest release. Preserves .design/config.json and ./.claude/skills/."
4
4
  argument-hint: "[--dry-run] [--version <tag>]"
5
5
  tools: Read, Write, Bash
6
+ disable-model-invocation: true
6
7
  ---
7
8
 
8
9
  # gdd-update