@hegemonart/get-design-done 1.18.0 → 1.19.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 (63) hide show
  1. package/.claude-plugin/marketplace.json +11 -5
  2. package/.claude-plugin/plugin.json +10 -4
  3. package/CHANGELOG.md +51 -0
  4. package/README.md +7 -0
  5. package/SKILL.md +10 -4
  6. package/agents/README.md +53 -0
  7. package/agents/a11y-mapper.md +10 -0
  8. package/agents/component-benchmark-harvester.md +11 -0
  9. package/agents/component-benchmark-synthesizer.md +11 -0
  10. package/agents/component-taxonomy-mapper.md +10 -0
  11. package/agents/design-advisor.md +10 -0
  12. package/agents/design-assumptions-analyzer.md +10 -0
  13. package/agents/design-auditor.md +15 -0
  14. package/agents/design-authority-watcher.md +10 -0
  15. package/agents/design-component-generator.md +10 -0
  16. package/agents/design-context-builder.md +6 -1
  17. package/agents/design-context-checker-gate.md +10 -0
  18. package/agents/design-context-checker.md +10 -0
  19. package/agents/design-discussant.md +10 -0
  20. package/agents/design-doc-writer.md +12 -0
  21. package/agents/design-executor.md +11 -1
  22. package/agents/design-figma-writer.md +10 -0
  23. package/agents/design-fixer.md +10 -0
  24. package/agents/design-integration-checker-gate.md +10 -0
  25. package/agents/design-integration-checker.md +10 -0
  26. package/agents/design-paper-writer.md +10 -0
  27. package/agents/design-pattern-mapper.md +11 -0
  28. package/agents/design-pencil-writer.md +10 -0
  29. package/agents/design-phase-researcher.md +11 -1
  30. package/agents/design-plan-checker.md +10 -0
  31. package/agents/design-planner.md +10 -0
  32. package/agents/design-reflector.md +10 -0
  33. package/agents/design-research-synthesizer.md +10 -0
  34. package/agents/design-start-writer.md +10 -0
  35. package/agents/design-update-checker.md +10 -0
  36. package/agents/design-verifier-gate.md +10 -0
  37. package/agents/design-verifier.md +11 -0
  38. package/agents/gdd-graphify-sync.md +10 -0
  39. package/agents/gdd-intel-updater.md +10 -0
  40. package/agents/gdd-learnings-extractor.md +10 -0
  41. package/agents/motion-mapper.md +10 -0
  42. package/agents/token-mapper.md +10 -0
  43. package/agents/visual-hierarchy-mapper.md +10 -0
  44. package/hooks/gdd-decision-injector.js +30 -8
  45. package/package.json +16 -3
  46. package/reference/data-visualization.md +333 -0
  47. package/reference/form-patterns.md +245 -0
  48. package/reference/information-architecture.md +255 -0
  49. package/reference/onboarding-progressive-disclosure.md +250 -0
  50. package/reference/platforms.md +346 -0
  51. package/reference/registry.json +409 -360
  52. package/reference/rtl-cjk-cultural.md +353 -0
  53. package/reference/schemas/insight-line.schema.json +37 -0
  54. package/reference/user-research.md +360 -0
  55. package/scripts/lib/design-search.cjs +206 -0
  56. package/scripts/lib/probe-optional.cjs +29 -0
  57. package/scripts/lib/relevance-counter.cjs +121 -0
  58. package/skills/complete-cycle/SKILL.md +40 -2
  59. package/skills/continue/SKILL.md +23 -0
  60. package/skills/pause/SKILL.md +40 -14
  61. package/skills/recall/SKILL.md +74 -0
  62. package/skills/resume/SKILL.md +34 -16
  63. package/skills/timeline/SKILL.md +65 -0
@@ -38,6 +38,7 @@ The orchestrating stage supplies a `<required_reading>` block in the prompt pass
38
38
  - `.design/DESIGN-CONTEXT.md` — goals, decisions, must-haves, baseline audit, domain, scopes
39
39
  - `reference/audit-scoring.md` — maps task types to scoring categories
40
40
  - `reference/brand-voice.md` — voice axis defaults and industry context (use when classifying copy-system patterns and inferring brand register from existing UI text)
41
+ - `reference/information-architecture.md` — nav pattern catalog (use to classify existing navigation implementation: hub-and-spoke, nested, faceted, flat, mega-menu)
41
42
 
42
43
  **Invariant:** Read every file in the `<required_reading>` block before taking any other action.
43
44
 
@@ -266,4 +267,14 @@ You MUST NOT:
266
267
 
267
268
  ---
268
269
 
270
+ ## Record
271
+
272
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
273
+
274
+ ```json
275
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
276
+ ```
277
+
278
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
279
+
269
280
  ## MAPPING COMPLETE
@@ -97,3 +97,13 @@ Mode: <mode>
97
97
  Applied: N/M operations (N committed, M failed)
98
98
  Failed: <list or "none">
99
99
  ```
100
+
101
+ ## Record
102
+
103
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
104
+
105
+ ```json
106
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
107
+ ```
108
+
109
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
@@ -87,7 +87,7 @@ Research loading and rendering performance norms for the project type:
87
87
  Target ~2 minutes of research time:
88
88
 
89
89
  - Use `WebSearch` for: industry design conventions, published pattern libraries, WCAG guidance, framework-specific design docs
90
- - Use `Read` for: in-repo reference files (`reference/heuristics.md`, `reference/accessibility.md`, `reference/anti-patterns.md`) when they exist
90
+ - Use `Read` for: in-repo reference files (`reference/heuristics.md`, `reference/accessibility.md`, `reference/anti-patterns.md`, `reference/user-research.md`, `reference/platforms.md`) when they exist — `user-research.md` informs which evaluation methods fit the project type; `platforms.md` informs platform-appropriate patterns when the project targets mobile, native, or cross-platform
91
91
  - Use `Glob`/`Grep` for: identifying the actual tech stack from project files when DESIGN-CONTEXT.md is ambiguous
92
92
 
93
93
  Prioritize in-repo reference files over web search — they are already project-calibrated.
@@ -226,4 +226,14 @@ flowchart TD
226
226
  @.design/intel/dependencies.json (if present)
227
227
  @.design/intel/graph.json (if present)
228
228
 
229
+ ## Record
230
+
231
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
232
+
233
+ ```json
234
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
235
+ ```
236
+
237
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
238
+
229
239
  ## RESEARCH COMPLETE
@@ -161,4 +161,14 @@ You MUST NOT:
161
161
 
162
162
  ---
163
163
 
164
+ ## Record
165
+
166
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
167
+
168
+ ```json
169
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
170
+ ```
171
+
172
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
173
+
164
174
  ## PLAN CHECK COMPLETE
@@ -349,4 +349,14 @@ You MUST NOT:
349
349
  @.design/intel/dependencies.json (if present)
350
350
  @.design/intel/graph.json (if present)
351
351
 
352
+ ## Record
353
+
354
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
355
+
356
+ ```json
357
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
358
+ ```
359
+
360
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
361
+
352
362
  ## PLANNING COMPLETE
@@ -172,4 +172,14 @@ Aggregate per agent across cycles:
172
172
  - Proposals are additive — propose additions, not deletions of existing content, unless the evidence is clear (e.g., wrong frontmatter value).
173
173
  - Maximum 20 proposals per reflection file. If more are warranted, batch the lowest-priority ones into a single summary note at the end.
174
174
 
175
+ ## Record
176
+
177
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
178
+
179
+ ```json
180
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
181
+ ```
182
+
183
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
184
+
175
185
  ## REFLECTION COMPLETE
@@ -163,4 +163,14 @@ Read .design/STATE.md
163
163
 
164
164
  Single file: `.design/DESIGN-CONTEXT.md`.
165
165
 
166
+ ## Record
167
+
168
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
169
+
170
+ ```json
171
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
172
+ ```
173
+
174
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
175
+
166
176
  ## SYNTHESIZE COMPLETE
@@ -219,3 +219,13 @@ The JSON block at the bottom is the contract future `/gdd:fast` / `/gdd:do` invo
219
219
  - Do not omit any of the seven H2 sections — even empty, they must exist for downstream regression fixtures.
220
220
 
221
221
  ## START-WRITER COMPLETE
222
+
223
+ ## Record
224
+
225
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
226
+
227
+ ```json
228
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
229
+ ```
230
+
231
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
@@ -115,3 +115,13 @@ Last line of your response MUST be:
115
115
  ```
116
116
 
117
117
  The spawning skill greps for this marker to confirm you finished successfully. Emit it even on the "no cache" fallback path.
118
+
119
+ ## Record
120
+
121
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
122
+
123
+ ```json
124
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
125
+ ```
126
+
127
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
@@ -94,4 +94,14 @@ You MAY:
94
94
 
95
95
  Per 10.1-CONTEXT decision **D-21** (Lazy Checker Spawning): "Cheap Haiku gate agents at `agents/*-gate.md` decide whether to spawn full checker. Gate agent: reads DIFF of changed files, applies heuristic (design-system paths touched? copy strings touched? token files touched?), returns `{spawn: true|false, rationale: '...'}`. If false, skip full checker, log as `lazy_skipped: true` in telemetry." This gate is the verifier-specific instance of that pattern — full `design-verifier` is an XL-size spawn and the most expensive single agent in the pipeline, so gating it behind a cheap Haiku diff-scan yields the largest single cost win in Phase 10.1.
96
96
 
97
+ ## Record
98
+
99
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
100
+
101
+ ```json
102
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
103
+ ```
104
+
105
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
106
+
97
107
  ## GATE COMPLETE
@@ -553,6 +553,17 @@ Emit a 2–4 sentence summary paragraph describing results, then:
553
553
  Emit `## GAPS FOUND` heading, then the full structured gap list (BLOCKER first, MAJOR, MINOR, COSMETIC), then on a new line:
554
554
 
555
555
  ```
556
+
557
+ ## Record
558
+
559
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
560
+
561
+ ```json
562
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
563
+ ```
564
+
565
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
566
+
556
567
  ## VERIFICATION COMPLETE
557
568
  ```
558
569
 
@@ -98,3 +98,13 @@ Graphify status: <status line>
98
98
  @.design/intel/files.json (if present)
99
99
 
100
100
  ## GRAPHIFY-SYNC COMPLETE
101
+
102
+ ## Record
103
+
104
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
105
+
106
+ ```json
107
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
108
+ ```
109
+
110
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
@@ -85,4 +85,14 @@ Generated: <timestamp>
85
85
  A slice is stale if its `generated` timestamp is older than the newest `mtime` in `files.json`.
86
86
  The updater does not need to check this manually — `build-intel.cjs` handles mtime comparison.
87
87
 
88
+ ## Record
89
+
90
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
91
+
92
+ ```json
93
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
94
+ ```
95
+
96
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
97
+
88
98
  ## INTEL UPDATE COMPLETE
@@ -82,4 +82,14 @@ For each learning with `Proposed reference update: yes`:
82
82
  @.design/intel/patterns.json (if present)
83
83
  @.design/learnings/LEARNINGS.md (if present)
84
84
 
85
+ ## Record
86
+
87
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
88
+
89
+ ```json
90
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
91
+ ```
92
+
93
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
94
+
85
95
  ## LEARNINGS EXTRACTION COMPLETE
@@ -210,4 +210,14 @@ If no violations found, emit: `## Micro-motion findings — CLEAN (0 violations)
210
210
 
211
211
  No modifications outside `.design/map/`. No git. No agent spawning.
212
212
 
213
+ ## Record
214
+
215
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
216
+
217
+ ```json
218
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
219
+ ```
220
+
221
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
222
+
213
223
  ## MOTION MAP COMPLETE
@@ -144,4 +144,14 @@ Total: N findings. (0 = clean)
144
144
 
145
145
  You MUST NOT modify anything outside `.design/map/`. Do not run git commands or spawn agents.
146
146
 
147
+ ## Record
148
+
149
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
150
+
151
+ ```json
152
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
153
+ ```
154
+
155
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
156
+
147
157
  ## TOKEN MAP COMPLETE
@@ -121,4 +121,14 @@ Total: N findings.
121
121
 
122
122
  No modifications outside `.design/map/`. No git. No agent spawning.
123
123
 
124
+ ## Record
125
+
126
+ At run-end, append one JSONL line to `.design/intel/insights.jsonl`:
127
+
128
+ ```json
129
+ {"ts":"<ISO-8601>","agent":"<name>","cycle":"<cycle from STATE.md>","stage":"<stage from STATE.md>","one_line_insight":"<what was produced or learned>","artifacts_written":["<files written>"]}
130
+ ```
131
+
132
+ Schema: `reference/schemas/insight-line.schema.json`. Use an empty `artifacts_written` array for read-only agents.
133
+
124
134
  ## VISUAL HIERARCHY MAP COMPLETE
@@ -25,6 +25,14 @@ const MIN_BYTES = 1500;
25
25
  const TOP_N = 15;
26
26
  const MATCHER_RE = /[\\/](?:\.design|reference|\.planning)[\\/][^\n]*\.md$/;
27
27
 
28
+ // Phase 19.5: try FTS5 backend first; fall back to grep silently.
29
+ let _designSearch = null;
30
+ try {
31
+ _designSearch = require(path.join(__dirname, '..', 'scripts', 'lib', 'design-search.cjs'));
32
+ } catch { /* not available in this install */ }
33
+
34
+ const BACKEND = _designSearch ? _designSearch.backendName() : null;
35
+
28
36
  function ripgrepAvailable() {
29
37
  try {
30
38
  const r = spawnSync('rg', ['--version'], { encoding: 'utf8', windowsHide: true });
@@ -103,7 +111,7 @@ function sortKeyFor(tag) {
103
111
  return 0;
104
112
  }
105
113
 
106
- function buildRecallBlock(matches, basename) {
114
+ function buildRecallBlock(matches, basename, backendLabel) {
107
115
  if (!matches.length) return null;
108
116
  const uniq = [];
109
117
  const seen = new Set();
@@ -125,10 +133,11 @@ function buildRecallBlock(matches, basename) {
125
133
  const excerpt = m.text.length > 140 ? m.text.slice(0, 137) + '…' : m.text;
126
134
  lines.push(`> - [${tag}] ${excerpt} (${path.relative(process.cwd(), m.file)}:${m.line})`);
127
135
  }
136
+ // backendLabel passed in from main()
128
137
  if (uniq.length > TOP_N) {
129
- lines.push(`> … (${uniq.length - TOP_N} more matches; use \`/gdd:recall <term>\` to expand. Grep backend; FTS5 upgrade in Phase 19.5.)`);
138
+ lines.push(`> … (${uniq.length - TOP_N} more matches; use \`/gdd:recall <term>\` to expand. Backend: ${backendLabel}.)`);
130
139
  } else {
131
- lines.push(`> (${uniq.length} match${uniq.length === 1 ? '' : 'es'} surfaced. Grep backend; FTS5 upgrade in Phase 19.5.)`);
140
+ lines.push(`> (${uniq.length} match${uniq.length === 1 ? '' : 'es'} surfaced. Backend: ${backendLabel}.)`);
132
141
  }
133
142
  lines.push('');
134
143
  return lines.join('\n');
@@ -173,13 +182,26 @@ async function main() {
173
182
  return;
174
183
  }
175
184
 
176
- const useRg = ripgrepAvailable();
177
- const hits = [];
178
- for (const src of sources) {
179
- hits.push(...(useRg ? grepLinesRg(src, terms) : grepLinesNode(src, terms)));
185
+ const useRgGlobal = ripgrepAvailable();
186
+ let hits = [];
187
+ if (BACKEND === 'fts5' && _designSearch) {
188
+ // FTS5 path: single query across all indexed docs
189
+ try {
190
+ const query = terms.join(' OR ');
191
+ hits = _designSearch.search(query, cwd, { limit: TOP_N * 3 });
192
+ } catch { hits = []; }
193
+ if (!hits.length) {
194
+ // FTS5 db may be stale — rebuild silently then retry
195
+ try { _designSearch.reindex(cwd); hits = _designSearch.search(terms.join(' OR '), cwd, { limit: TOP_N * 3 }); } catch { hits = []; }
196
+ }
197
+ } else {
198
+ for (const src of sources) {
199
+ hits.push(...(useRgGlobal ? grepLinesRg(src, terms) : grepLinesNode(src, terms)));
200
+ }
180
201
  }
181
202
 
182
- const block = buildRecallBlock(hits, basename);
203
+ const backendLabel = BACKEND || (useRgGlobal ? 'ripgrep' : 'node-grep');
204
+ const block = buildRecallBlock(hits, basename, backendLabel);
183
205
  if (!block) {
184
206
  process.stdout.write(JSON.stringify({ continue: true }));
185
207
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hegemonart/get-design-done",
3
- "version": "1.18.0",
3
+ "version": "1.19.5",
4
4
  "description": "A Claude Code plugin for systematic design improvement",
5
5
  "author": "Hegemon",
6
6
  "homepage": "https://github.com/hegemonart/get-design-done",
@@ -76,10 +76,23 @@
76
76
  "gesture-mechanics",
77
77
  "clip-path-animation",
78
78
  "component-specs",
79
- "design-system-benchmarks"
79
+ "design-system-benchmarks",
80
+ "i18n",
81
+ "user-research",
82
+ "information-architecture",
83
+ "form-patterns",
84
+ "data-viz",
85
+ "platforms",
86
+ "cross-cycle-memory",
87
+ "fts5",
88
+ "checkpoints",
89
+ "experience-archive",
90
+ "recall",
91
+ "relevance-counter",
92
+ "record-contract"
80
93
  ],
81
94
  "skills": [
82
95
  "SKILL.md"
83
96
  ],
84
97
  "hooks": "hooks/hooks.json"
85
- }
98
+ }