@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,273 @@
1
+ # Agentic Patterns To Port From NCRS
2
+
3
+ Source reviewed:
4
+
5
+ - `/Users/mattfielding/clawd/projects/ncrs-prototype-agentic/.github`
6
+ - `/Users/mattfielding/clawd/projects/ncrs-prototype-agentic/docs`
7
+ - `/Users/mattfielding/clawd/projects/ncrs-prototype-agentic/artefacts`
8
+
9
+ ## Recommendation
10
+
11
+ Port the operating model, not the NCRS clinical content.
12
+
13
+ The strongest transferable pattern is a Copilot-discoverable agent workspace:
14
+
15
+ - `.github/copilot-instructions.md`
16
+ - `.github/instructions/*.instructions.md`
17
+ - `.github/legacy/prompts/*.prompt.md`
18
+ - `.github/agents/*.md`
19
+ - `docs/` for architecture and workflow rules
20
+ - `artefacts/` for generated outputs, screenshots and audits
21
+
22
+ The knowledge base repo already has archived prompts in `.github/legacy/prompts`. The next useful work is to keep repo-wide Copilot instructions, focused custom agents and the portable skill catalog aligned.
23
+
24
+ ## High-value ports
25
+
26
+ ### 1. Copilot instructions
27
+
28
+ NCRS has `.github/copilot-instructions.md` loaded into every Copilot chat.
29
+
30
+ Port as:
31
+
32
+ ```text
33
+ .github/copilot-instructions.md
34
+ ```
35
+
36
+ Purpose:
37
+
38
+ - tell Copilot this is an NHS Prototype Kit knowledge base
39
+ - define source model rules
40
+ - require validation after source edits
41
+ - require NHS Prototype Kit conventions
42
+ - forbid real patient data
43
+ - prefer source-model changes over hard-coded page changes
44
+
45
+ Why it matters:
46
+
47
+ Prompts are optional. Copilot instructions are ambient. They reduce bad default behaviour.
48
+
49
+ ### 2. Focused custom agents
50
+
51
+ NCRS consolidated overlapping agents into four roles:
52
+
53
+ - `@prototype-builder`
54
+ - `@screenshot-runner`
55
+ - `@accessibility-tester`
56
+ - `@workflow-orchestrator`
57
+
58
+ Port as:
59
+
60
+ ```text
61
+ .github/agents/README.md
62
+ .github/agents/knowledge-builder.md
63
+ .github/agents/prototype-builder.md
64
+ .github/agents/screenshot-runner.md
65
+ .github/agents/accessibility-tester.md
66
+ .github/agents/workflow-orchestrator.md
67
+ ```
68
+
69
+ Adaptation:
70
+
71
+ - add `@knowledge-builder` because this repo's primary product is source-model maintenance
72
+ - keep `@prototype-builder` for routes/views/screens
73
+ - keep `@screenshot-runner` and `@accessibility-tester` for review loops
74
+ - keep `@workflow-orchestrator` to coordinate build → validate → screenshot → accessibility → summary
75
+
76
+ ### 3. Instruction files
77
+
78
+ NCRS uses `.github/instructions/*.instructions.md` for auto-attached guidance.
79
+
80
+ Port a smaller set:
81
+
82
+ ```text
83
+ .github/instructions/knowledge-source.instructions.md
84
+ .github/instructions/nhs-prototype-kit.instructions.md
85
+ .github/instructions/nhs-frontend.instructions.md
86
+ ```
87
+
88
+ Do not copy the huge generated NHS component reference yet. It is useful but heavy. Start with concise instructions and add component reference later if Copilot needs it.
89
+
90
+ ### 4. Agent workflow docs
91
+
92
+ NCRS has:
93
+
94
+ - `docs/AGENT-WORKFLOW.md`
95
+ - `docs/PROMPT-ARCHITECTURE-GUARDRAILS.md`
96
+ - `docs/CUSTOM-AGENTS-USAGE.md`
97
+
98
+ Port as:
99
+
100
+ ```text
101
+ docs/agent-workflow.md
102
+ docs/prompt-architecture-guardrails.md
103
+ docs/custom-agents-usage.md
104
+ ```
105
+
106
+ Adaptation:
107
+
108
+ - prioritise knowledge base source edits
109
+ - require `npx hippocampus validate`
110
+ - define when to add source records versus Nunjucks screens
111
+ - define expected output locations
112
+ - require delivery summaries after orchestrated runs
113
+
114
+ ### 5. Artefact structure
115
+
116
+ NCRS separates generated outputs under `artefacts/`.
117
+
118
+ Port as:
119
+
120
+ ```text
121
+ artefacts/
122
+ scenarios/
123
+ screenshots/
124
+ accessibility/
125
+ delivery-summaries/
126
+ generated-docs/
127
+ ```
128
+
129
+ Keep `hippocampus/source` as the source of truth. Use `artefacts/` only for generated/derived outputs and review evidence.
130
+
131
+ ### 6. Screenshot and accessibility loops
132
+
133
+ NCRS has dedicated screenshot and accessibility agent outputs:
134
+
135
+ - `artefacts/screenshots/<YYYY-MM-DD>/manifest.md`
136
+ - `artefacts/accessibility/`
137
+
138
+ Port this because the knowledge base needs reviewable artefacts, not just running pages.
139
+
140
+ First implementation can be documentation-only agents. Later add scripts if needed.
141
+
142
+ ### 7. Staged prompt workflow
143
+
144
+ NCRS uses staged prompts:
145
+
146
+ 1. scenario and problem statement
147
+ 2. personas
148
+ 3. journeys
149
+ 4. prototype build
150
+ 5. screenshots/accessibility
151
+
152
+ Port the staged shape, but adapt it:
153
+
154
+ 1. source-model slice
155
+ 2. user needs and scenarios
156
+ 3. journeys and blueprint view model
157
+ 4. prototype screens
158
+ 5. generated documentation
159
+ 6. screenshots/accessibility
160
+
161
+ The current prompt pack partly covers this already. The missing pieces are persona/archetype generation and orchestrated delivery summary.
162
+
163
+ ## Medium-value ports
164
+
165
+ ### Persona generation
166
+
167
+ NCRS has a substantial persona-generation prompt for M365 Copilot Researcher.
168
+
169
+ Port a lighter version for the knowledge base:
170
+
171
+ - generate user groups and archetypes
172
+ - link each archetype to needs and scenarios
173
+ - avoid patient/public persona generation unless the service slice is patient-facing
174
+ - ask for evidence or mark assumptions
175
+
176
+ This would extend the current model, because `users.json` is currently user groups, not full personas.
177
+
178
+ ### Journey map artefact output
179
+
180
+ NCRS build prompts require generated journey maps in Markdown and JSON.
181
+
182
+ Port this as:
183
+
184
+ ```text
185
+ artefacts/journey-maps/<journey-id>.md
186
+ artefacts/journey-maps/<journey-id>.json
187
+ ```
188
+
189
+ This is useful because the knowledge base can then preserve a review snapshot separate from live source data.
190
+
191
+ ### Delivery summaries
192
+
193
+ NCRS orchestrator writes:
194
+
195
+ ```text
196
+ docs/<YYYY-MM-DD>-delivery-summary.md
197
+ ```
198
+
199
+ Port this as:
200
+
201
+ ```text
202
+ artefacts/delivery-summaries/<YYYY-MM-DD>-<topic>.md
203
+ ```
204
+
205
+ This keeps generated delivery notes separate from source documentation.
206
+
207
+ ## Low-value or defer
208
+
209
+ ### Clinical FHIR fixture workflow
210
+
211
+ Do not port now.
212
+
213
+ It is powerful but NCRS-specific and would pull the knowledge base toward clinical data testing before the service design model is proven.
214
+
215
+ Revisit only if a slice needs structured clinical data provenance, source contradiction or fixture generation.
216
+
217
+ ### Large generated NHS Frontend component reference
218
+
219
+ Useful, but heavy.
220
+
221
+ Start with concise NHS Frontend instructions. Add the full reference only if Copilot repeatedly gets component syntax wrong.
222
+
223
+ ### Dependabot and release workflows
224
+
225
+ Defer until there is a GitHub remote and a clearer package/release direction.
226
+
227
+ ## Suggested next commits
228
+
229
+ ### Commit 1
230
+
231
+ `Add Copilot instructions and knowledge source guidance`
232
+
233
+ Files:
234
+
235
+ - `.github/copilot-instructions.md`
236
+ - `.github/instructions/knowledge-source.instructions.md`
237
+ - `.github/instructions/nhs-prototype-kit.instructions.md`
238
+ - `docs/agent-workflow.md`
239
+ - `docs/prompt-architecture-guardrails.md`
240
+
241
+ ### Commit 2
242
+
243
+ `Add focused custom agents for knowledge base workflow`
244
+
245
+ Files:
246
+
247
+ - `.github/agents/README.md`
248
+ - `.github/agents/knowledge-builder.md`
249
+ - `.github/agents/prototype-builder.md`
250
+ - `.github/agents/screenshot-runner.md`
251
+ - `.github/agents/accessibility-tester.md`
252
+ - `.github/agents/workflow-orchestrator.md`
253
+ - `docs/custom-agents-usage.md`
254
+
255
+ ### Commit 3
256
+
257
+ `Add generated artefact workspace`
258
+
259
+ Files:
260
+
261
+ - `artefacts/README.md`
262
+ - `hippocampus/source-artefacts/scenarios/README.md`
263
+ - `artefacts/screenshots/README.md`
264
+ - `artefacts/accessibility/README.md`
265
+ - `artefacts/delivery-summaries/README.md`
266
+ - `artefacts/generated-docs/README.md`
267
+
268
+ ## Best next move
269
+
270
+ Start with commit 1.
271
+
272
+ Copilot instructions and source guidance will improve every later prompt and agent. Agents are useful, but ambient instructions are more foundational.
273
+
@@ -0,0 +1,41 @@
1
+ # Service blueprint colour pairs
2
+
3
+ Reference palette for colour-coding categories in service blueprint style
4
+ visualisations (lanes, entity types, post-it style groupings). Each pairing
5
+ is a saturated "post-it" colour plus a pale background tint meant to be used
6
+ together - the post-it colour for text/borders/accents, the tint for a
7
+ light fill behind it.
8
+
9
+ Source: NHS colour pairings reference (supplied 2026-09-04).
10
+
11
+ | Name | Post-it | Background tint |
12
+ | --- | --- | --- |
13
+ | Dark blue | `#003087` | `#E6EAF3` |
14
+ | NHS blue | `#005EB8` | `#E6EFF8` |
15
+ | Bright blue | `#0072CE` | `#DEEEFA` |
16
+ | Light blue | `#41B6E6` | `#ECF8FD` |
17
+ | Aqua blue | `#00A9CE` | `#E6F6FA` |
18
+ | Aqua blue, dark | `#00758F` | `#E6F6FA` |
19
+ | Aqua green | `#00A499` | `#E6F6F5` |
20
+ | Aqua green, dark | `#00726B` | `#E6F6F5` |
21
+ | Light green | `#78BE20` | `#EDF9E8` |
22
+ | Dark green | `#006747` | `#E6F5EB` |
23
+ | Warm yellow | `#FFB81C` | `#FFF9E8` |
24
+ | Orange | `#ED8B00` | `#FDF3E6` |
25
+ | Orange, dark | `#8E5300` | `#FDF3E6` |
26
+ | Dark pink | `#7C2855` | `#F2EAEE` |
27
+ | Purple | `#330072` | `#EBE6F1` |
28
+
29
+ ## Where this applies in Hippocampus
30
+
31
+ Several existing views already colour-code entity types or categories and
32
+ should draw from this palette rather than ad-hoc hex values when they're
33
+ next touched:
34
+
35
+ - `node_modules/@hippo-digital/hippocampus/views/hippocampus/graph.html` / `evidence-impact.html` - `.knowledge-graph__node--{type}` border colours (`node_modules/@hippo-digital/hippocampus/assets/hippocampus.scss`), and `node_modules/@hippo-digital/hippocampus/views/hippocampus/trace.html`'s matching `.knowledge-trace-item__type--{type}` badges (same colour set, same reason - one entity, one colour, everywhere it appears). Within `.knowledge-admin-theme`: User = NHS blue `#005eb8`, Evidence = Dark pink `#7c2855`, Journey/Screen/Decision = Warm yellow `#ffb81c` (all three already matched this palette exactly, so left as-is), Scenario = Purple `#330072` (was `#d5281b`, a red not in this palette at all), Need = Dark green `#006747` (was `#007f3b`, close but not exact).
36
+ - Pain point severity (`.knowledge-tagged-item--{severity}` in `node_modules/@hippo-digital/hippocampus/assets/hippocampus.scss`, rendered by `_blueprint-cell.njk`) uses Orange, dark for high and Orange for medium within `.knowledge-admin-theme` - deliberately not Warm yellow, since that already means Journey/Screen/Decision in the graph and trace views above. The default (non-themed) colours stay the original traffic-light red/amber, used outside the admin theme.
37
+ - `_blueprint-controls.njk`'s lens groupings, the blueprint mini-map (`.knowledge-lens-btn`, `.knowledge-blueprint-minimap__marker`), the blueprint/matrix boundary dividers (`.knowledge-boundary`, `.knowledge-matrix__boundary`, e.g. "Line of visibility"), the journey page's timeline (`.knowledge-timeline__item`), and the trace tree's connecting line/markers/selected-item highlight (`.knowledge-trace-timeline::before`, `.knowledge-trace-item__marker`, `.knowledge-trace-item--selected`) all use Aqua green, dark - the same accent as the rest of `.knowledge-admin-theme` - rather than a separate pairing, since they're theme chrome rather than a data category. Nested/child trace markers keep their existing neutral grey rather than picking up the accent, so "already seen" branches stay visually de-emphasised.
38
+ - `.knowledge-graph-summary` (the stat tiles at the top of the graph, research, project and evidence-impact views) uses the full Aqua green, dark pairing - post-it `#00726b` as the left-border accent, tint `#e6f6f5` as the tile background - the one place so far using a pairing exactly as the reference sheet intends (accent plus matching light fill), rather than just swapping an accent colour on its own.
39
+ - `.knowledge-confidence-tag--{level}` (`node_modules/@hippo-digital/hippocampus/views/hippocampus/user.html`) is Evidence's confidence rating (high/medium/low), a different scale from pain-point severity, so it deliberately uses a different colour family - Aqua green (`#00726b` on tint `#e6f6f5`) for high, Aqua blue, dark (`#00758f` on tint `#e6f6fa`) for medium - so the two ratings don't read as the same thing when they appear near each other. Low stays a plain neutral grey rather than a pairing, to signal "uncertain" rather than draw attention.
40
+
41
+ Not a strict rule - pick the pairing whose hue best fits the category being coded, and keep the same category using the same pairing everywhere it appears (that consistency matters more than which exact pairing is chosen).
@@ -0,0 +1,52 @@
1
+ # Knowledge Base Components
2
+
3
+ Reusable Nunjucks macros live in `node_modules/@hippo-digital/hippocampus/views/hippocampus/components`.
4
+
5
+ ## Current Macros
6
+
7
+ ### Summary cards
8
+
9
+ File: `node_modules/@hippo-digital/hippocampus/views/hippocampus/components/_summary-card.njk`
10
+
11
+ Use `summaryCard(title, body, href, meta)` for dashboard-style links to generated artefacts.
12
+
13
+ ### Lists
14
+
15
+ File: `node_modules/@hippo-digital/hippocampus/views/hippocampus/components/_list.njk`
16
+
17
+ Use:
18
+
19
+ - `bulletList(items, emptyText)` for repeated bullet lists
20
+ - `plainList(items, emptyText)` for simple linked or unbulleted lists
21
+
22
+ These macros handle empty states consistently.
23
+
24
+ ### Journey steps
25
+
26
+ File: `node_modules/@hippo-digital/hippocampus/views/hippocampus/components/_journey-step.njk`
27
+
28
+ Use `journeyStep(step, knowledge)` when rendering journey timeline items. It keeps linked prototype screens and linked user needs in one place.
29
+
30
+ ### Blueprint cells
31
+
32
+ File: `node_modules/@hippo-digital/hippocampus/views/hippocampus/components/_blueprint-cell.njk`
33
+
34
+ Use `renderCell(step, laneKey)` in stacked and matrix blueprint views. It maps blueprint lane keys onto the correct content treatment.
35
+
36
+ ### Blueprint controls
37
+
38
+ File: `node_modules/@hippo-digital/hippocampus/views/hippocampus/components/_blueprint-controls.njk`
39
+
40
+ Use `renderBlueprintControls(lanes)` on the stacked blueprint view to render the lens-preset buttons (All/Executive/Technical/Risk) and per-lane show/hide checkboxes. Each lane's `lenses` array (set in `buildBlueprintViewModel`) drives which lens presets show it; the buttons and checkboxes are wired up client-side in `node_modules/@hippo-digital/hippocampus/assets/javascript/blueprint.js`.
41
+
42
+ ### Blueprint mini-map
43
+
44
+ File: `node_modules/@hippo-digital/hippocampus/views/hippocampus/components/_blueprint-minimap.njk`
45
+
46
+ Use `renderBlueprintMinimap(steps)` on the stacked blueprint view to render a sticky step-navigation rail. `node_modules/@hippo-digital/hippocampus/assets/javascript/blueprint.js` highlights the current step on scroll via `IntersectionObserver`.
47
+
48
+ ## Editing Rules
49
+
50
+ - Add a macro when markup is repeated across generated artefact views.
51
+ - Keep macros presentational. Source shaping belongs in `node_modules/@hippo-digital/hippocampus/lib/load-knowledge.js`.
52
+ - Run `npx hippocampus validate` and `npx hippocampus doctor` after changing components.
@@ -0,0 +1,298 @@
1
+ # NCRS Research Curator Copilot Agent
2
+
3
+ This agent is intended to connect to NHS SharePoint research material and produce reviewable documents that are a good fit for Hippocampus ingestion.
4
+
5
+ It should not directly mutate Hippocampus source data. Its job is to find, structure, cite and package material so a human can review it before ingestion.
6
+
7
+ ## Recommended Agent Name
8
+
9
+ NCRS Research Curator
10
+
11
+ ## Purpose
12
+
13
+ Help service designers, researchers and product teams turn scattered NCRS SharePoint material into structured, evidence-backed documents that can be reviewed and ingested into Hippocampus.
14
+
15
+ The agent should support two lanes:
16
+
17
+ - **Research ingestion**: research rounds, participants, findings, insights and design actions.
18
+ - **Project context ingestion**: service overview, purpose, vision, problem statements, policy context, constraints, channels, risks, milestones and key facts.
19
+
20
+ ## Knowledge Sources
21
+
22
+ Connect the agent only to approved NCRS SharePoint locations, for example:
23
+
24
+ - research reports
25
+ - show-and-tell decks
26
+ - interview notes
27
+ - usability testing notes
28
+ - service maps
29
+ - journey maps
30
+ - policy and governance summaries
31
+ - decision logs
32
+ - design history decks
33
+ - prototype review documents
34
+
35
+ Prefer narrower SharePoint folders over a broad tenant-wide connection.
36
+
37
+ ## Core Instruction
38
+
39
+ Paste this into the custom agent instructions:
40
+
41
+ ```text
42
+ You are the NCRS Research Curator.
43
+
44
+ Your job is to help prepare NHS service design and user research material for Hippocampus ingestion.
45
+
46
+ Hippocampus is a structured project memory. It stores project context, users, needs, scenarios, evidence, research rounds, participants, insights, design actions, journeys, screens, decisions and explicit relationships between those records.
47
+
48
+ You must not invent findings, sources, participant evidence, dates, decisions or relationships.
49
+
50
+ You must use only the connected SharePoint material and the user’s current prompt. If evidence is weak, missing or ambiguous, say so.
51
+
52
+ Your main outputs are reviewable documents, not final source data. A human must review the document before it is ingested.
53
+
54
+ Always separate:
55
+
56
+ 1. Project context
57
+ Purpose, vision, problem statement, service proposition, policy context, constraints, channels, risks, milestones and source facts.
58
+
59
+ 2. Research material
60
+ Research rounds, participants, findings, insights, evidence, design actions and recommendations.
61
+
62
+ 3. Unknown or weak material
63
+ Claims that need review, missing source details, unsupported assumptions, duplicate or conflicting findings.
64
+
65
+ For every claim, include source detail:
66
+
67
+ - source document title
68
+ - SharePoint link if available
69
+ - page, slide, heading or section
70
+ - date if available
71
+ - author or team if available
72
+
73
+ Use UK English. Use "artefact" consistently.
74
+
75
+ When producing a document for Hippocampus ingestion, use the exact output templates provided in your instructions. Keep the structure stable so downstream tools can extract it.
76
+ ```
77
+
78
+ ## Conversation Starters
79
+
80
+ Use these starter prompts in Copilot Studio:
81
+
82
+ - Find NCRS research material about a specific user group and prepare an ingestion-ready research summary.
83
+ - Turn this SharePoint folder into a Hippocampus project context draft.
84
+ - Compare these research decks and identify repeated insights, contradictions and gaps.
85
+ - Create an evidence-backed design action summary from these research notes.
86
+ - Check whether this material is ready to ingest into Hippocampus.
87
+
88
+ ## Research Output Template
89
+
90
+ Use this when the source material is a research round, interview set, usability test, show-and-tell, synthesis deck or research report.
91
+
92
+ ```text
93
+ # Research ingestion draft
94
+
95
+ ## Import classification
96
+
97
+ Type: research
98
+ Recommended inbox: hippocampus/inbox/research/
99
+ Fit: good | needs review | poor
100
+
101
+ ## Source material
102
+
103
+ Source:
104
+ SharePoint link:
105
+ Date:
106
+ Author or team:
107
+ Pages or slides reviewed:
108
+
109
+ ## Research round
110
+
111
+ Title:
112
+ Date:
113
+ Summary:
114
+
115
+ ## Participants
116
+
117
+ Participant: [label] - [role or user group]
118
+ Participant: [label] - [role or user group]
119
+
120
+ ## Findings and insights
121
+
122
+ Insight: [short evidence-backed insight]
123
+ Summary: [what was observed, by whom, and why it matters]
124
+ Evidence: [source document, page/slide/section]
125
+ Confidence: high | medium | low
126
+
127
+ Insight: [short evidence-backed insight]
128
+ Summary: [what was observed, by whom, and why it matters]
129
+ Evidence: [source document, page/slide/section]
130
+ Confidence: high | medium | low
131
+
132
+ ## Design actions
133
+
134
+ Action: [specific design or content action]
135
+ Rationale: [which insight or evidence supports it]
136
+ Status: proposed
137
+
138
+ Action: [specific design or content action]
139
+ Rationale: [which insight or evidence supports it]
140
+ Status: proposed
141
+
142
+ ## Suggested graph links
143
+
144
+ Existing entity:
145
+ Relationship:
146
+ New entity:
147
+ Evidence:
148
+
149
+ ## Assumptions or gaps
150
+
151
+ - [Anything uncertain, missing or requiring human review]
152
+ ```
153
+
154
+ ## Project Context Output Template
155
+
156
+ Use this when the source material is a project overview, mapping board, policy summary, proposition deck, service map or general briefing.
157
+
158
+ ```text
159
+ # Project context ingestion draft
160
+
161
+ ## Import classification
162
+
163
+ Type: project context
164
+ Recommended inbox: hippocampus/inbox/project/
165
+ Fit: good | needs review | poor
166
+
167
+ ## Source material
168
+
169
+ Source:
170
+ SharePoint link:
171
+ Date:
172
+ Author or team:
173
+ Pages or slides reviewed:
174
+
175
+ ## Overview
176
+
177
+ Purpose:
178
+ Vision:
179
+ Problem statement:
180
+ Service proposition:
181
+
182
+ ## Users
183
+
184
+ User: [user group]
185
+ Group: external | internal | data consumer | other
186
+ Description:
187
+
188
+ User: [user group]
189
+ Group: external | internal | data consumer | other
190
+ Description:
191
+
192
+ ## Channels
193
+
194
+ Channel: [channel name]
195
+ Usage:
196
+ Description:
197
+
198
+ Channel: [channel name]
199
+ Usage:
200
+ Description:
201
+
202
+ ## Policies and regulations
203
+
204
+ Policy: [policy or regulation name]
205
+ Summary:
206
+ Source:
207
+
208
+ ## Constraints
209
+
210
+ Constraint: [constraint]
211
+ Detail:
212
+ Impact:
213
+
214
+ ## Risks
215
+
216
+ Risk: [risk]
217
+ Detail:
218
+ Severity: high | medium | low
219
+
220
+ ## Milestones
221
+
222
+ Milestone: [milestone]
223
+ Date:
224
+ Detail:
225
+
226
+ ## Facts
227
+
228
+ Fact: [fact label]
229
+ Value:
230
+ Detail:
231
+ Source:
232
+
233
+ ## Assumptions or gaps
234
+
235
+ - [Anything uncertain, missing or requiring human review]
236
+ ```
237
+
238
+ ## Ingestion Readiness Check
239
+
240
+ Before the agent says a document is ready, it must check:
241
+
242
+ - The document has a clear classification: research or project context.
243
+ - Every important claim has a source reference.
244
+ - Research material includes findings or insights, not just raw notes.
245
+ - Design actions are linked to evidence or insights.
246
+ - Project context does not include invented strategy or unverified policy detail.
247
+ - Duplicates and contradictions are called out.
248
+ - Sensitive material is not copied unnecessarily.
249
+ - The output uses stable headings and UK spelling.
250
+
251
+ ## Recommended Workflow
252
+
253
+ 1. Ask the agent to inspect a specific SharePoint folder or set of documents.
254
+ 2. Ask it to classify the material as research, project context or mixed.
255
+ 3. Ask it to produce one ingestion draft per coherent artefact or theme.
256
+ 4. Export the draft as a document or PDF.
257
+ 5. Put the exported document into the matching Hippocampus inbox:
258
+
259
+ ```text
260
+ hippocampus/inbox/research/
261
+ hippocampus/inbox/project/
262
+ ```
263
+
264
+ 6. Run the matching sync command:
265
+
266
+ ```bash
267
+ npx hippocampus research sync -- --no-promote
268
+ npx hippocampus import project-context -- --no-promote
269
+ ```
270
+
271
+ 7. Review the generated `.review.md` and `.json` files.
272
+ 8. Promote only after review.
273
+
274
+ ## Guardrails
275
+
276
+ The agent must not:
277
+
278
+ - treat SharePoint search results as evidence without opening the source
279
+ - invent dates, participants, roles or decisions
280
+ - collapse conflicting findings into a false consensus
281
+ - expose confidential or sensitive material outside the approved workspace
282
+ - create final Hippocampus source data without review
283
+ - use US spelling for artefacts
284
+
285
+ ## Good First Pilot
286
+
287
+ Start with a narrow SharePoint folder and one question:
288
+
289
+ ```text
290
+ Review the NCRS research material in this folder and produce one Hippocampus research ingestion draft for the strongest repeated findings about [user group or journey].
291
+ ```
292
+
293
+ Then test:
294
+
295
+ - whether the sources are cited well enough
296
+ - whether the output fits `research:sync`
297
+ - whether a designer or researcher can review it quickly
298
+ - whether the agent separates evidence from assumptions