@hippo-digital/hippocampus 1.0.0-rc.1

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 (116) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/LICENSE +21 -0
  3. package/README.md +153 -0
  4. package/assets/dist/hippocampus.css +1 -0
  5. package/assets/hippocampus.scss +896 -0
  6. package/assets/javascript/blueprint.js +123 -0
  7. package/bin/hippocampus.js +106 -0
  8. package/docs/agent-roadmap.md +217 -0
  9. package/docs/agent-workflow.md +56 -0
  10. package/docs/agentic-patterns-to-port.md +273 -0
  11. package/docs/colour-pairings.md +41 -0
  12. package/docs/components.md +52 -0
  13. package/docs/copilot-ncrs-research-curator-agent.md +298 -0
  14. package/docs/custom-agents-usage.md +95 -0
  15. package/docs/design-actions-and-decisions.md +95 -0
  16. package/docs/gp-connect-real-data-to-production.md +66 -0
  17. package/docs/hippocampus-for-designers-and-researchers.md +261 -0
  18. package/docs/hippocampus-technical.md +373 -0
  19. package/docs/prompt-architecture-guardrails.md +39 -0
  20. package/docs/repeatable-research-round-ingestion.md +239 -0
  21. package/docs/research-knowledge-graph.md +552 -0
  22. package/docs/research-source-file-conventions.md +121 -0
  23. package/docs/source-model.md +252 -0
  24. package/index.js +47 -0
  25. package/lib/config.js +46 -0
  26. package/lib/context.js +59 -0
  27. package/lib/create-router.js +187 -0
  28. package/lib/discover-projects.js +45 -0
  29. package/lib/docs.js +72 -0
  30. package/lib/host-edit.js +151 -0
  31. package/lib/lint-knowledge.js +133 -0
  32. package/lib/load-knowledge.js +629 -0
  33. package/lib/package-paths.js +32 -0
  34. package/lib/paths.js +33 -0
  35. package/lib/resolve-root.js +84 -0
  36. package/lib/schema-version.js +96 -0
  37. package/lib/schema.js +346 -0
  38. package/package.json +70 -0
  39. package/scripts/audit-provenance.js +147 -0
  40. package/scripts/doctor.js +114 -0
  41. package/scripts/eject.js +51 -0
  42. package/scripts/import-blueprint-spreadsheet.js +242 -0
  43. package/scripts/import-design-actions.js +230 -0
  44. package/scripts/import-project-context.js +427 -0
  45. package/scripts/import-research-batch.js +160 -0
  46. package/scripts/import-research-deck.js +448 -0
  47. package/scripts/index-source-artefacts.js +261 -0
  48. package/scripts/init.js +232 -0
  49. package/scripts/install-skills.js +160 -0
  50. package/scripts/lib/artefact-text.js +347 -0
  51. package/scripts/lib/xlsx-grid.js +114 -0
  52. package/scripts/link-insights-to-needs.js +209 -0
  53. package/scripts/migrate-knowledge.js +73 -0
  54. package/scripts/promote-project-context-draft.js +125 -0
  55. package/scripts/promote-research-draft.js +236 -0
  56. package/scripts/smoke-routes.js +157 -0
  57. package/scripts/sync-project-context.js +236 -0
  58. package/scripts/sync-research-artefacts.js +294 -0
  59. package/scripts/triage-research-corpus.js +274 -0
  60. package/scripts/validate-knowledge.js +49 -0
  61. package/scripts/validate-skills.js +247 -0
  62. package/skills/COVERAGE-MATRIX.md +39 -0
  63. package/skills/README.md +77 -0
  64. package/skills/SKILL-FORMAT.md +100 -0
  65. package/skills/add-prototype-screen.skill.md +54 -0
  66. package/skills/add-scenario.skill.md +47 -0
  67. package/skills/add-user-needs.skill.md +51 -0
  68. package/skills/audit-knowledge-source.skill.md +47 -0
  69. package/skills/capture-route-review-pack.skill.md +52 -0
  70. package/skills/create-journey-from-scenario.skill.md +50 -0
  71. package/skills/deliver-service-slice.skill.md +65 -0
  72. package/skills/examples/README.md +15 -0
  73. package/skills/examples/non-copilot-research-ingestion.md +68 -0
  74. package/skills/examples/non-copilot-service-slice.md +64 -0
  75. package/skills/generate-service-slice.skill.md +57 -0
  76. package/skills/ingest-project-context.skill.md +58 -0
  77. package/skills/ingest-research-round.skill.md +60 -0
  78. package/skills/map-research-to-graph.skill.md +58 -0
  79. package/skills/record-accessibility-review.skill.md +52 -0
  80. package/skills/record-design-decision.skill.md +53 -0
  81. package/skills/review-research-import-draft.skill.md +45 -0
  82. package/skills/skills.json +464 -0
  83. package/skills/skills.schema.json +111 -0
  84. package/skills/structure-project-context-draft.skill.md +51 -0
  85. package/skills/structure-research-draft.skill.md +51 -0
  86. package/skills/triage-research-corpus.skill.md +51 -0
  87. package/skills/write-delivery-summary.skill.md +51 -0
  88. package/skills/write-route-review-summary.skill.md +55 -0
  89. package/views/hippocampus/_layout.html +45 -0
  90. package/views/hippocampus/blueprint-classic.html +39 -0
  91. package/views/hippocampus/blueprint.html +52 -0
  92. package/views/hippocampus/components/_blueprint-cell.njk +42 -0
  93. package/views/hippocampus/components/_blueprint-controls.njk +20 -0
  94. package/views/hippocampus/components/_blueprint-minimap.njk +14 -0
  95. package/views/hippocampus/components/_empty-state.njk +12 -0
  96. package/views/hippocampus/components/_journey-step.njk +21 -0
  97. package/views/hippocampus/components/_list.njk +23 -0
  98. package/views/hippocampus/components/_summary-card.njk +15 -0
  99. package/views/hippocampus/doc.html +11 -0
  100. package/views/hippocampus/docs.html +19 -0
  101. package/views/hippocampus/evidence-impact.html +53 -0
  102. package/views/hippocampus/graph.html +48 -0
  103. package/views/hippocampus/handover-empty.html +12 -0
  104. package/views/hippocampus/handover.html +56 -0
  105. package/views/hippocampus/index.html +46 -0
  106. package/views/hippocampus/journey-flow.html +31 -0
  107. package/views/hippocampus/journey.html +23 -0
  108. package/views/hippocampus/not-found.html +10 -0
  109. package/views/hippocampus/project.html +102 -0
  110. package/views/hippocampus/research.html +68 -0
  111. package/views/hippocampus/route-review.html +83 -0
  112. package/views/hippocampus/scenarios.html +56 -0
  113. package/views/hippocampus/trace.html +113 -0
  114. package/views/hippocampus/user-needs.html +32 -0
  115. package/views/hippocampus/user.html +157 -0
  116. package/views/hippocampus/users.html +32 -0
@@ -0,0 +1,464 @@
1
+ {
2
+ "$schema": "./skills.schema.json",
3
+ "version": 1,
4
+ "format": "markdown-skill-catalog",
5
+ "root": "skills",
6
+ "skills": [
7
+ {
8
+ "id": "add-prototype-screen",
9
+ "title": "Add prototype screen",
10
+ "purpose": "Add a source-backed prototype screen with matching route and view.",
11
+ "file": "add-prototype-screen.skill.md",
12
+ "owners": [
13
+ "prototype-builder",
14
+ "workflow-orchestrator"
15
+ ],
16
+ "runs": [
17
+ "npx hippocampus validate",
18
+ "npx hippocampus doctor"
19
+ ],
20
+ "outputs": [
21
+ "Updated screen record in hippocampus/source/screens.json",
22
+ "Matching route and Nunjucks view"
23
+ ],
24
+ "acceptance": [
25
+ "The screen has a valid lowercase route and linked need IDs.",
26
+ "Route and template exist and match the source record.",
27
+ "npx hippocampus validate and npx hippocampus doctor pass."
28
+ ]
29
+ },
30
+ {
31
+ "id": "add-scenario",
32
+ "title": "Add scenario",
33
+ "purpose": "Add a concrete scenario that links existing users and needs to journey work.",
34
+ "file": "add-scenario.skill.md",
35
+ "owners": [
36
+ "knowledge-builder",
37
+ "workflow-orchestrator"
38
+ ],
39
+ "runs": [
40
+ "npx hippocampus validate"
41
+ ],
42
+ "outputs": [
43
+ "Updated scenario records in hippocampus/source/scenarios.json",
44
+ "A scenario ready to drive journey authoring"
45
+ ],
46
+ "acceptance": [
47
+ "The scenario links to existing user and need IDs.",
48
+ "Trigger, context, and edge cases are specific enough to generate a journey.",
49
+ "npx hippocampus validate passes."
50
+ ]
51
+ },
52
+ {
53
+ "id": "add-user-needs",
54
+ "title": "Add user needs",
55
+ "purpose": "Add or sharpen traceable need records for an existing user group.",
56
+ "file": "add-user-needs.skill.md",
57
+ "owners": [
58
+ "knowledge-builder",
59
+ "workflow-orchestrator"
60
+ ],
61
+ "runs": [
62
+ "npx hippocampus validate"
63
+ ],
64
+ "outputs": [
65
+ "Updated need records in hippocampus/source/needs.json",
66
+ "Assumptions for unsupported needs when required"
67
+ ],
68
+ "acceptance": [
69
+ "Each changed need has a valid userId, priority, and supporting evidence or assumption gap.",
70
+ "Need text remains concise enough for lists and blueprint views.",
71
+ "npx hippocampus validate passes."
72
+ ]
73
+ },
74
+ {
75
+ "id": "audit-knowledge-source",
76
+ "title": "Audit knowledge source",
77
+ "purpose": "Review traceability, route coverage, and evidence quality before handover.",
78
+ "file": "audit-knowledge-source.skill.md",
79
+ "owners": [
80
+ "knowledge-builder",
81
+ "workflow-orchestrator"
82
+ ],
83
+ "runs": [
84
+ "npx hippocampus validate",
85
+ "npx hippocampus doctor"
86
+ ],
87
+ "outputs": [
88
+ "Audit findings for blockers, traceability gaps, and model risks",
89
+ "Optional follow-up recommendations without rewriting records"
90
+ ],
91
+ "acceptance": [
92
+ "Validation and route coverage are checked first.",
93
+ "Findings distinguish blockers from model-quality improvements.",
94
+ "The output stays review-first unless fixes are requested."
95
+ ]
96
+ },
97
+ {
98
+ "id": "capture-route-review-pack",
99
+ "title": "Capture route review pack",
100
+ "purpose": "Create a dated screenshot or notes pack for changed routes after smoke testing.",
101
+ "file": "capture-route-review-pack.skill.md",
102
+ "owners": [
103
+ "screenshot-runner",
104
+ "workflow-orchestrator"
105
+ ],
106
+ "runs": [
107
+ "npx hippocampus doctor"
108
+ ],
109
+ "outputs": [
110
+ "Route review pack under artefacts/screenshots/<date-topic>/",
111
+ "Manifest with routes reviewed and issues found"
112
+ ],
113
+ "acceptance": [
114
+ "The smoke-test result is captured before handover.",
115
+ "The manifest says which routes have screenshots versus notes only.",
116
+ "The review-pack path and issues are reported."
117
+ ]
118
+ },
119
+ {
120
+ "id": "create-journey-from-scenario",
121
+ "title": "Create journey from scenario",
122
+ "purpose": "Turn an existing scenario into a blueprint-ready journey.",
123
+ "file": "create-journey-from-scenario.skill.md",
124
+ "owners": [
125
+ "knowledge-builder",
126
+ "workflow-orchestrator"
127
+ ],
128
+ "runs": [
129
+ "npx hippocampus validate"
130
+ ],
131
+ "outputs": [
132
+ "Updated journey records in hippocampus/source/journeys.json",
133
+ "Journey steps with lane-ready content and references"
134
+ ],
135
+ "acceptance": [
136
+ "The journey links to an existing scenario and has 4 to 7 useful steps.",
137
+ "Step lanes use needIds, screenIds, evidenceIds, and decisionIds consistently.",
138
+ "npx hippocampus validate passes."
139
+ ]
140
+ },
141
+ {
142
+ "id": "deliver-service-slice",
143
+ "title": "Deliver service slice",
144
+ "purpose": "Deliver an end-to-end fictional service slice across source data, optional prototype routes/views, audit, and handover.",
145
+ "file": "deliver-service-slice.skill.md",
146
+ "owners": [
147
+ "workflow-orchestrator",
148
+ "knowledge-builder",
149
+ "prototype-builder"
150
+ ],
151
+ "composes": [
152
+ "generate-service-slice",
153
+ "add-user-needs",
154
+ "add-scenario",
155
+ "create-journey-from-scenario",
156
+ "add-prototype-screen",
157
+ "audit-knowledge-source"
158
+ ],
159
+ "runs": [
160
+ "npx hippocampus validate",
161
+ "npx hippocampus doctor"
162
+ ],
163
+ "outputs": [
164
+ "Updated source records and optional route/view files",
165
+ "Delivery summary under artefacts"
166
+ ],
167
+ "acceptance": [
168
+ "Source records are created in dependency order and stay linked.",
169
+ "Any visible route work passes smoke testing.",
170
+ "Validation, smoke-test, and handover summary are reported."
171
+ ]
172
+ },
173
+ {
174
+ "id": "generate-service-slice",
175
+ "title": "Generate service slice",
176
+ "purpose": "Create a coherent fictional Hippocampus slice across linked source records.",
177
+ "file": "generate-service-slice.skill.md",
178
+ "owners": [
179
+ "knowledge-builder",
180
+ "workflow-orchestrator"
181
+ ],
182
+ "runs": [
183
+ "npx hippocampus validate"
184
+ ],
185
+ "outputs": [
186
+ "Linked source records in hippocampus/source/",
187
+ "A validation-ready slice for Hippocampus views"
188
+ ],
189
+ "acceptance": [
190
+ "Users, needs, scenario, journey, screens, and decisions are linked in dependency order.",
191
+ "Evidence gaps are captured in assumptions.json.",
192
+ "npx hippocampus validate passes."
193
+ ]
194
+ },
195
+ {
196
+ "id": "ingest-project-context",
197
+ "title": "Ingest project context",
198
+ "purpose": "Run the no-promote project-context ingestion workflow from inbox artefact to review-ready draft.",
199
+ "file": "ingest-project-context.skill.md",
200
+ "owners": [
201
+ "ingestion-curator",
202
+ "workflow-orchestrator"
203
+ ],
204
+ "composes": [
205
+ "structure-project-context-draft"
206
+ ],
207
+ "runs": [
208
+ "npx hippocampus import project-context -- --no-promote",
209
+ "npx hippocampus promote project-context -- --draft hippocampus/imports/project/[draft-id].json --dry-run"
210
+ ],
211
+ "outputs": [
212
+ "Structured project-context draft ready for human review",
213
+ "Dry-run-ready handoff with gaps and warnings"
214
+ ],
215
+ "acceptance": [
216
+ "Sync and structuring steps complete without canonical source edits.",
217
+ "Unsupported overview claims are omitted or flagged as gaps.",
218
+ "npx hippocampus promote project-context -- --dry-run passes."
219
+ ]
220
+ },
221
+ {
222
+ "id": "ingest-research-round",
223
+ "title": "Ingest research round",
224
+ "purpose": "Run the no-promote research ingestion workflow from inbox artefact to review-ready draft.",
225
+ "file": "ingest-research-round.skill.md",
226
+ "owners": [
227
+ "ingestion-curator",
228
+ "workflow-orchestrator"
229
+ ],
230
+ "composes": [
231
+ "structure-research-draft",
232
+ "review-research-import-draft",
233
+ "map-research-to-graph"
234
+ ],
235
+ "runs": [
236
+ "npx hippocampus research sync -- --no-promote",
237
+ "npx hippocampus promote research -- --draft hippocampus/imports/research/[draft-id].json --dry-run"
238
+ ],
239
+ "outputs": [
240
+ "Structured research draft ready for human review",
241
+ "Dry-run-ready handoff with counts, warnings, and supported links"
242
+ ],
243
+ "acceptance": [
244
+ "Sync, structuring, review, and graph-linking steps are completed without promotion.",
245
+ "The draft remains source-backed and warnings stay visible until resolved.",
246
+ "npx hippocampus promote research -- --dry-run passes."
247
+ ]
248
+ },
249
+ {
250
+ "id": "map-research-to-graph",
251
+ "title": "Map research to graph",
252
+ "purpose": "Add only supported links between a reviewed research draft and existing Hippocampus entities.",
253
+ "file": "map-research-to-graph.skill.md",
254
+ "owners": [
255
+ "ingestion-curator",
256
+ "knowledge-builder",
257
+ "workflow-orchestrator"
258
+ ],
259
+ "runs": [
260
+ "npx hippocampus promote research -- --draft hippocampus/imports/research/[draft-id].json --dry-run"
261
+ ],
262
+ "outputs": [
263
+ "Updated research draft relationships",
264
+ "Recommendations for plausible but unsupported links"
265
+ ],
266
+ "acceptance": [
267
+ "New links reference existing canonical entities or valid draft entities.",
268
+ "Relationship direction follows dependent-to-supporting links.",
269
+ "npx hippocampus promote research -- --dry-run passes."
270
+ ]
271
+ },
272
+ {
273
+ "id": "record-accessibility-review",
274
+ "title": "Record accessibility review",
275
+ "purpose": "Record a dated accessibility review for changed routes or templates.",
276
+ "file": "record-accessibility-review.skill.md",
277
+ "owners": [
278
+ "accessibility-tester",
279
+ "workflow-orchestrator"
280
+ ],
281
+ "runs": [
282
+ "npx hippocampus doctor"
283
+ ],
284
+ "outputs": [
285
+ "Accessibility note under artefacts/accessibility/",
286
+ "Blockers and improvements separated by scope"
287
+ ],
288
+ "acceptance": [
289
+ "Routes or templates reviewed and the review method are stated.",
290
+ "Findings cite the route, template, or component involved.",
291
+ "The smoke-test result and remaining manual follow-up are reported."
292
+ ]
293
+ },
294
+ {
295
+ "id": "record-design-decision",
296
+ "title": "Record design decision",
297
+ "purpose": "Turn agreed design actions and the options weighed against them into source records.",
298
+ "file": "record-design-decision.skill.md",
299
+ "owners": [
300
+ "ingestion-curator",
301
+ "knowledge-builder"
302
+ ],
303
+ "runs": [
304
+ "npx hippocampus import design-actions -- --workbook [path] --dry-run",
305
+ "npx hippocampus import design-actions -- --workbook [path]",
306
+ "npx hippocampus validate"
307
+ ],
308
+ "outputs": [
309
+ "Design actions linked to the insights that prompted them",
310
+ "Decisions recording every option weighed, and which one was accepted"
311
+ ],
312
+ "acceptance": [
313
+ "Every design action links to at least one existing insight.",
314
+ "At most one accepted decision per design action.",
315
+ "npx hippocampus validate passes."
316
+ ]
317
+ },
318
+ {
319
+ "id": "review-research-import-draft",
320
+ "title": "Review research import draft",
321
+ "purpose": "Assess whether a research draft is ready for human promotion.",
322
+ "file": "review-research-import-draft.skill.md",
323
+ "owners": [
324
+ "ingestion-curator",
325
+ "workflow-orchestrator"
326
+ ],
327
+ "runs": [
328
+ "npx hippocampus promote research -- --draft hippocampus/imports/research/[draft-id].json --dry-run"
329
+ ],
330
+ "outputs": [
331
+ "Promotion-readiness review with blockers and suggested fixes",
332
+ "Dry-run result"
333
+ ],
334
+ "acceptance": [
335
+ "Unsupported claims, weak insights, and vague actions are called out.",
336
+ "No promotion occurs automatically.",
337
+ "The dry-run result is reported."
338
+ ]
339
+ },
340
+ {
341
+ "id": "structure-project-context-draft",
342
+ "title": "Structure project context draft",
343
+ "purpose": "Improve a deterministic project-context import draft using extracted source text only.",
344
+ "file": "structure-project-context-draft.skill.md",
345
+ "owners": [
346
+ "ingestion-curator",
347
+ "workflow-orchestrator"
348
+ ],
349
+ "runs": [
350
+ "npx hippocampus import project-context -- --no-promote",
351
+ "npx hippocampus promote project-context -- --draft hippocampus/imports/project/[draft-id].json --dry-run"
352
+ ],
353
+ "outputs": [
354
+ "Updated project-context draft JSON",
355
+ "Dry-run-ready summary of remaining warnings and gaps"
356
+ ],
357
+ "acceptance": [
358
+ "The draft keeps source metadata and extracted text intact.",
359
+ "Unsupported policy, risk, or milestone claims are left out or called out as gaps.",
360
+ "npx hippocampus promote project-context -- --dry-run passes."
361
+ ]
362
+ },
363
+ {
364
+ "id": "structure-research-draft",
365
+ "title": "Structure research draft",
366
+ "purpose": "Improve a deterministic research import draft using extracted text only.",
367
+ "file": "structure-research-draft.skill.md",
368
+ "owners": [
369
+ "ingestion-curator",
370
+ "workflow-orchestrator"
371
+ ],
372
+ "runs": [
373
+ "npx hippocampus research sync -- --no-promote",
374
+ "npx hippocampus promote research -- --draft hippocampus/imports/research/[draft-id].json --dry-run"
375
+ ],
376
+ "outputs": [
377
+ "Updated research draft JSON",
378
+ "Dry-run-ready counts and warning summary"
379
+ ],
380
+ "acceptance": [
381
+ "The draft keeps source metadata and extracted text intact.",
382
+ "Participants, insights, actions, and relationships are source-backed.",
383
+ "npx hippocampus promote research -- --dry-run passes."
384
+ ]
385
+ },
386
+ {
387
+ "id": "triage-research-corpus",
388
+ "title": "Triage research corpus",
389
+ "purpose": "Rank a large research folder into ingestion contenders before any artefact is imported.",
390
+ "file": "triage-research-corpus.skill.md",
391
+ "owners": [
392
+ "ingestion-curator",
393
+ "workflow-orchestrator"
394
+ ],
395
+ "runs": [
396
+ "npx hippocampus research triage -- --source \"[folder]\" --topic [topic]"
397
+ ],
398
+ "outputs": [
399
+ "Ranked triage report in artefacts/research-triage/",
400
+ "Tiered contender list mapped to Hippocampus record types"
401
+ ],
402
+ "acceptance": [
403
+ "Every file in the source folder appears in the report or in the needs-handling list.",
404
+ "Contenders are tiered and mapped to the records they would become.",
405
+ "Files the pipeline cannot read today are named explicitly."
406
+ ],
407
+ "composes": [
408
+ "ingest-research-round"
409
+ ]
410
+ },
411
+ {
412
+ "id": "write-delivery-summary",
413
+ "title": "Write delivery summary",
414
+ "purpose": "Capture a durable handover note for multi-step Hippocampus work.",
415
+ "file": "write-delivery-summary.skill.md",
416
+ "owners": [
417
+ "workflow-orchestrator"
418
+ ],
419
+ "composes": [
420
+ "audit-knowledge-source"
421
+ ],
422
+ "runs": [
423
+ "git --no-pager status --short"
424
+ ],
425
+ "outputs": [
426
+ "Dated summary under artefacts/delivery-summaries/",
427
+ "Reviewable record of commands, outcomes, and follow-up"
428
+ ],
429
+ "acceptance": [
430
+ "The summary includes what changed, what ran, and unresolved risks.",
431
+ "Failed checks or unrun steps are stated explicitly.",
432
+ "The summary path is reported."
433
+ ]
434
+ },
435
+ {
436
+ "id": "write-route-review-summary",
437
+ "title": "Write route review summary",
438
+ "purpose": "Combine smoke, screenshot, and accessibility evidence into one route-review handover note.",
439
+ "file": "write-route-review-summary.skill.md",
440
+ "owners": [
441
+ "workflow-orchestrator",
442
+ "screenshot-runner",
443
+ "accessibility-tester"
444
+ ],
445
+ "composes": [
446
+ "capture-route-review-pack",
447
+ "record-accessibility-review",
448
+ "write-delivery-summary"
449
+ ],
450
+ "runs": [
451
+ "git --no-pager status --short"
452
+ ],
453
+ "outputs": [
454
+ "Dated route-review summary under artefacts/delivery-summaries/",
455
+ "Linked references to screenshot and accessibility artefacts"
456
+ ],
457
+ "acceptance": [
458
+ "The summary distinguishes screenshots, notes-only evidence, and code-based review.",
459
+ "Missing artefacts or unresolved blockers stay visible.",
460
+ "The summary path is reported."
461
+ ]
462
+ }
463
+ ]
464
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hippo-digital.co.uk/hippocampus/skills.schema.json",
4
+ "title": "Hippocampus Skill Catalog",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "version",
9
+ "format",
10
+ "root",
11
+ "skills"
12
+ ],
13
+ "properties": {
14
+ "$schema": {
15
+ "type": "string"
16
+ },
17
+ "version": {
18
+ "type": "integer",
19
+ "minimum": 1
20
+ },
21
+ "format": {
22
+ "type": "string"
23
+ },
24
+ "root": {
25
+ "type": "string"
26
+ },
27
+ "agentsRoot": {
28
+ "type": "string"
29
+ },
30
+ "skills": {
31
+ "type": "array",
32
+ "minItems": 1,
33
+ "items": {
34
+ "type": "object",
35
+ "additionalProperties": false,
36
+ "required": [
37
+ "id",
38
+ "title",
39
+ "file",
40
+ "owners",
41
+ "runs",
42
+ "purpose",
43
+ "outputs",
44
+ "acceptance"
45
+ ],
46
+ "properties": {
47
+ "id": {
48
+ "type": "string",
49
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
50
+ },
51
+ "title": {
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "purpose": {
56
+ "type": "string",
57
+ "minLength": 1
58
+ },
59
+ "file": {
60
+ "type": "string",
61
+ "pattern": "^[^\\0]+\\.skill\\.md$"
62
+ },
63
+ "owners": {
64
+ "type": "array",
65
+ "minItems": 1,
66
+ "items": {
67
+ "type": "string",
68
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
69
+ }
70
+ },
71
+ "composes": {
72
+ "type": "array",
73
+ "minItems": 1,
74
+ "items": {
75
+ "type": "string",
76
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
77
+ }
78
+ },
79
+ "legacyPrompt": {
80
+ "type": "string",
81
+ "pattern": "^[^\\0]+\\.prompt\\.md$"
82
+ },
83
+ "runs": {
84
+ "type": "array",
85
+ "minItems": 1,
86
+ "items": {
87
+ "type": "string",
88
+ "minLength": 1
89
+ }
90
+ },
91
+ "outputs": {
92
+ "type": "array",
93
+ "minItems": 1,
94
+ "items": {
95
+ "type": "string",
96
+ "minLength": 1
97
+ }
98
+ },
99
+ "acceptance": {
100
+ "type": "array",
101
+ "minItems": 1,
102
+ "items": {
103
+ "type": "string",
104
+ "minLength": 1
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
@@ -0,0 +1,51 @@
1
+ ---
2
+ id: structure-project-context-draft
3
+ title: Structure project context draft
4
+ purpose: Improve a deterministic project-context import draft using extracted source text only.
5
+ owners:
6
+ - ingestion-curator
7
+ - workflow-orchestrator
8
+ reads:
9
+ - node_modules/@hippo-digital/hippocampus/docs/source-model.md
10
+ - node_modules/@hippo-digital/hippocampus/docs/hippocampus-technical.md
11
+ - node_modules/@hippo-digital/hippocampus/docs/source-model.md
12
+ - hippocampus/imports/project/[draft-id].review.md
13
+ - hippocampus/imports/project/[draft-id].json
14
+ edits:
15
+ - hippocampus/imports/project/[draft-id].json
16
+ runs:
17
+ - npx hippocampus import project-context -- --no-promote
18
+ - npx hippocampus promote project-context -- --draft hippocampus/imports/project/[draft-id].json --dry-run
19
+ outputs:
20
+ - Updated project-context draft JSON
21
+ - Dry-run-ready summary of remaining warnings and gaps
22
+ guardrails:
23
+ - Do not edit hippocampus/source/.
24
+ - Preserve sourceDocument, importedAt, sections, and extracted text.
25
+ - Do not add generic GDPR, DSPT, policy, risk, or milestone claims unless the source names them.
26
+ acceptance:
27
+ - The draft keeps source metadata and extracted text intact.
28
+ - Unsupported policy, risk, or milestone claims are left out or called out as gaps.
29
+ - npx hippocampus promote project-context -- --dry-run passes.
30
+ ---
31
+
32
+ # Structure project context draft
33
+
34
+ ## Use when
35
+ - A deterministic import has produced a project-context draft that needs better structure before human review.
36
+
37
+ ## Workflow
38
+ 1. Run the sync script first if the draft does not exist yet.
39
+ 2. Improve only the draft JSON in `hippocampus/imports/project/` using the matching review Markdown as evidence.
40
+ 3. Extract complete, source-backed items for purpose, vision, problem statement, service proposition, users, channels, policies, constraints, risks, milestones, facts, and source artefacts.
41
+ 4. Leave plausible but weak material out of the draft and report it as a gap.
42
+
43
+ ## Guardrails
44
+ - Do not edit `hippocampus/source/`.
45
+ - Preserve `sourceDocument`, `importedAt`, `sections`, and extracted text.
46
+ - Do not add generic GDPR, DSPT, policy, risk, or milestone claims unless the source names them.
47
+
48
+ ## Finish
49
+ - Run the dry-run promotion command.
50
+ - Report fields changed, claims deliberately left out, remaining warnings, lane fit, and dry-run result.
51
+
@@ -0,0 +1,51 @@
1
+ ---
2
+ id: structure-research-draft
3
+ title: Structure research draft
4
+ purpose: Improve a deterministic research import draft using extracted text only.
5
+ owners:
6
+ - ingestion-curator
7
+ - workflow-orchestrator
8
+ reads:
9
+ - node_modules/@hippo-digital/hippocampus/docs/research-knowledge-graph.md
10
+ - node_modules/@hippo-digital/hippocampus/docs/hippocampus-technical.md
11
+ - node_modules/@hippo-digital/hippocampus/docs/source-model.md
12
+ - hippocampus/imports/research/[draft-id].review.md
13
+ - hippocampus/imports/research/[draft-id].json
14
+ edits:
15
+ - hippocampus/imports/research/[draft-id].json
16
+ runs:
17
+ - npx hippocampus research sync -- --no-promote
18
+ - npx hippocampus promote research -- --draft hippocampus/imports/research/[draft-id].json --dry-run
19
+ outputs:
20
+ - Updated research draft JSON
21
+ - Dry-run-ready counts and warning summary
22
+ guardrails:
23
+ - Do not edit canonical source files.
24
+ - Preserve sourceDeck, sourcePath, importedAt, and extracted text.
25
+ - Leave warnings in place unless the underlying issue is actually resolved.
26
+ acceptance:
27
+ - The draft keeps source metadata and extracted text intact.
28
+ - Participants, insights, actions, and relationships are source-backed.
29
+ - npx hippocampus promote research -- --dry-run passes.
30
+ ---
31
+
32
+ # Structure research draft
33
+
34
+ ## Use when
35
+ - A script-generated research draft needs stronger participants, insights, actions, and supported links before review.
36
+
37
+ ## Workflow
38
+ 1. Run the sync script first if the draft does not exist yet.
39
+ 2. Improve only the draft JSON in `hippocampus/imports/research/`.
40
+ 3. Use the review Markdown and existing JSON draft to extract real participants, genuine findings, concrete design actions, and supported relationships.
41
+ 4. Reuse existing evidence IDs from `hippocampus/source/evidence.json` only when the extracted text explicitly supports the link.
42
+
43
+ ## Guardrails
44
+ - Do not edit canonical source files.
45
+ - Preserve `sourceDeck`, `sourcePath`, `importedAt`, and extracted text.
46
+ - Leave warnings in place unless the underlying issue is actually resolved.
47
+
48
+ ## Finish
49
+ - Run the dry-run promotion command.
50
+ - Report participants, insights, actions, relationships, warnings still needing review, and the dry-run result.
51
+