@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.
- package/CHANGELOG.md +55 -0
- package/LICENSE +21 -0
- package/README.md +153 -0
- package/assets/dist/hippocampus.css +1 -0
- package/assets/hippocampus.scss +896 -0
- package/assets/javascript/blueprint.js +123 -0
- package/bin/hippocampus.js +106 -0
- package/docs/agent-roadmap.md +217 -0
- package/docs/agent-workflow.md +56 -0
- package/docs/agentic-patterns-to-port.md +273 -0
- package/docs/colour-pairings.md +41 -0
- package/docs/components.md +52 -0
- package/docs/copilot-ncrs-research-curator-agent.md +298 -0
- package/docs/custom-agents-usage.md +95 -0
- package/docs/design-actions-and-decisions.md +95 -0
- package/docs/gp-connect-real-data-to-production.md +66 -0
- package/docs/hippocampus-for-designers-and-researchers.md +261 -0
- package/docs/hippocampus-technical.md +373 -0
- package/docs/prompt-architecture-guardrails.md +39 -0
- package/docs/repeatable-research-round-ingestion.md +239 -0
- package/docs/research-knowledge-graph.md +552 -0
- package/docs/research-source-file-conventions.md +121 -0
- package/docs/source-model.md +252 -0
- package/index.js +47 -0
- package/lib/config.js +46 -0
- package/lib/context.js +59 -0
- package/lib/create-router.js +187 -0
- package/lib/discover-projects.js +45 -0
- package/lib/docs.js +72 -0
- package/lib/host-edit.js +151 -0
- package/lib/lint-knowledge.js +133 -0
- package/lib/load-knowledge.js +629 -0
- package/lib/package-paths.js +32 -0
- package/lib/paths.js +33 -0
- package/lib/resolve-root.js +84 -0
- package/lib/schema-version.js +96 -0
- package/lib/schema.js +346 -0
- package/package.json +70 -0
- package/scripts/audit-provenance.js +147 -0
- package/scripts/doctor.js +114 -0
- package/scripts/eject.js +51 -0
- package/scripts/import-blueprint-spreadsheet.js +242 -0
- package/scripts/import-design-actions.js +230 -0
- package/scripts/import-project-context.js +427 -0
- package/scripts/import-research-batch.js +160 -0
- package/scripts/import-research-deck.js +448 -0
- package/scripts/index-source-artefacts.js +261 -0
- package/scripts/init.js +232 -0
- package/scripts/install-skills.js +160 -0
- package/scripts/lib/artefact-text.js +347 -0
- package/scripts/lib/xlsx-grid.js +114 -0
- package/scripts/link-insights-to-needs.js +209 -0
- package/scripts/migrate-knowledge.js +73 -0
- package/scripts/promote-project-context-draft.js +125 -0
- package/scripts/promote-research-draft.js +236 -0
- package/scripts/smoke-routes.js +157 -0
- package/scripts/sync-project-context.js +236 -0
- package/scripts/sync-research-artefacts.js +294 -0
- package/scripts/triage-research-corpus.js +274 -0
- package/scripts/validate-knowledge.js +49 -0
- package/scripts/validate-skills.js +247 -0
- package/skills/COVERAGE-MATRIX.md +39 -0
- package/skills/README.md +77 -0
- package/skills/SKILL-FORMAT.md +100 -0
- package/skills/add-prototype-screen.skill.md +54 -0
- package/skills/add-scenario.skill.md +47 -0
- package/skills/add-user-needs.skill.md +51 -0
- package/skills/audit-knowledge-source.skill.md +47 -0
- package/skills/capture-route-review-pack.skill.md +52 -0
- package/skills/create-journey-from-scenario.skill.md +50 -0
- package/skills/deliver-service-slice.skill.md +65 -0
- package/skills/examples/README.md +15 -0
- package/skills/examples/non-copilot-research-ingestion.md +68 -0
- package/skills/examples/non-copilot-service-slice.md +64 -0
- package/skills/generate-service-slice.skill.md +57 -0
- package/skills/ingest-project-context.skill.md +58 -0
- package/skills/ingest-research-round.skill.md +60 -0
- package/skills/map-research-to-graph.skill.md +58 -0
- package/skills/record-accessibility-review.skill.md +52 -0
- package/skills/record-design-decision.skill.md +53 -0
- package/skills/review-research-import-draft.skill.md +45 -0
- package/skills/skills.json +464 -0
- package/skills/skills.schema.json +111 -0
- package/skills/structure-project-context-draft.skill.md +51 -0
- package/skills/structure-research-draft.skill.md +51 -0
- package/skills/triage-research-corpus.skill.md +51 -0
- package/skills/write-delivery-summary.skill.md +51 -0
- package/skills/write-route-review-summary.skill.md +55 -0
- package/views/hippocampus/_layout.html +45 -0
- package/views/hippocampus/blueprint-classic.html +39 -0
- package/views/hippocampus/blueprint.html +52 -0
- package/views/hippocampus/components/_blueprint-cell.njk +42 -0
- package/views/hippocampus/components/_blueprint-controls.njk +20 -0
- package/views/hippocampus/components/_blueprint-minimap.njk +14 -0
- package/views/hippocampus/components/_empty-state.njk +12 -0
- package/views/hippocampus/components/_journey-step.njk +21 -0
- package/views/hippocampus/components/_list.njk +23 -0
- package/views/hippocampus/components/_summary-card.njk +15 -0
- package/views/hippocampus/doc.html +11 -0
- package/views/hippocampus/docs.html +19 -0
- package/views/hippocampus/evidence-impact.html +53 -0
- package/views/hippocampus/graph.html +48 -0
- package/views/hippocampus/handover-empty.html +12 -0
- package/views/hippocampus/handover.html +56 -0
- package/views/hippocampus/index.html +46 -0
- package/views/hippocampus/journey-flow.html +31 -0
- package/views/hippocampus/journey.html +23 -0
- package/views/hippocampus/not-found.html +10 -0
- package/views/hippocampus/project.html +102 -0
- package/views/hippocampus/research.html +68 -0
- package/views/hippocampus/route-review.html +83 -0
- package/views/hippocampus/scenarios.html +56 -0
- package/views/hippocampus/trace.html +113 -0
- package/views/hippocampus/user-needs.html +32 -0
- package/views/hippocampus/user.html +157 -0
- package/views/hippocampus/users.html +32 -0
package/skills/README.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Skill Catalog
|
|
2
|
+
|
|
3
|
+
This directory converts the legacy prompt pack into portable agent skills.
|
|
4
|
+
|
|
5
|
+
This README is the catalog entry point and discovery guide. If it ever disagrees with `.github/skills/SKILL-FORMAT.md`, the format document wins.
|
|
6
|
+
|
|
7
|
+
## Format
|
|
8
|
+
|
|
9
|
+
- Plain Markdown skill cards with YAML front matter
|
|
10
|
+
- One machine-readable index in `skills.json`
|
|
11
|
+
- One JSON Schema in `skills.schema.json`
|
|
12
|
+
- Stable references to repo docs, scripts and output locations
|
|
13
|
+
- Canonical metadata rules in `SKILL-FORMAT.md`
|
|
14
|
+
|
|
15
|
+
This keeps the skills usable in Copilot via `.github/agents/*.md`, but also easy for other agents to consume later without a product-specific schema.
|
|
16
|
+
|
|
17
|
+
## How to use
|
|
18
|
+
|
|
19
|
+
- Pick a role agent from `.github/agents/` for Copilot-first workflows.
|
|
20
|
+
- Or start from `skills.json` if another agent runtime needs machine-readable discovery first.
|
|
21
|
+
- Follow the linked skill card in this directory for the exact task recipe.
|
|
22
|
+
- Use focused skills for single tasks and orchestration skills for multi-step workflows.
|
|
23
|
+
- Prefer these skills over the legacy prompt text in `.github/legacy/prompts/`.
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
Run:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx hippocampus skills validate
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
after changing any `*.skill.md`, `skills.json`, `skills.schema.json`, or example files.
|
|
34
|
+
|
|
35
|
+
## Skill map
|
|
36
|
+
|
|
37
|
+
- `generate-service-slice.skill.md` ← `generate-service-slice.prompt.md`
|
|
38
|
+
- `add-user-needs.skill.md` ← `add-user-needs.prompt.md`
|
|
39
|
+
- `add-scenario.skill.md` ← `add-scenario.prompt.md`
|
|
40
|
+
- `create-journey-from-scenario.skill.md` ← `create-journey-from-scenario.prompt.md`
|
|
41
|
+
- `add-prototype-screen.skill.md` ← `add-prototype-screen.prompt.md`
|
|
42
|
+
- `audit-knowledge-source.skill.md` ← `audit-knowledge-source.prompt.md`
|
|
43
|
+
- `structure-project-context-draft.skill.md` ← `hippocampus-structure-project-context.prompt.md`
|
|
44
|
+
- `structure-research-draft.skill.md` ← `hippocampus-structure-research.prompt.md`
|
|
45
|
+
- `review-research-import-draft.skill.md` ← `hippocampus-review-import-draft.prompt.md`
|
|
46
|
+
- `map-research-to-graph.skill.md` ← `hippocampus-map-research-to-graph.prompt.md`
|
|
47
|
+
|
|
48
|
+
## Orchestration skills
|
|
49
|
+
|
|
50
|
+
- `ingest-research-round.skill.md` - chains research import draft structuring, review, and graph-linking without promotion
|
|
51
|
+
- `ingest-project-context.skill.md` - chains project-context draft structuring and dry-run validation without promotion
|
|
52
|
+
- `deliver-service-slice.skill.md` - chains source-model authoring, optional prototype work, audit, and delivery-summary handoff
|
|
53
|
+
- `write-delivery-summary.skill.md` - records what changed, what was run, and what still needs follow-up
|
|
54
|
+
|
|
55
|
+
## Review workflow skills
|
|
56
|
+
|
|
57
|
+
- `capture-route-review-pack.skill.md` - creates a dated screenshot or route-notes review pack after smoke testing
|
|
58
|
+
- `record-accessibility-review.skill.md` - writes dated accessibility notes with blockers and improvements
|
|
59
|
+
- `write-route-review-summary.skill.md` - links smoke-test, screenshot, and accessibility artefacts into one handover note
|
|
60
|
+
|
|
61
|
+
## Coverage matrix
|
|
62
|
+
|
|
63
|
+
- See `COVERAGE-MATRIX.md` for archived prompt -> current skill -> role agent mapping.
|
|
64
|
+
|
|
65
|
+
## Examples
|
|
66
|
+
|
|
67
|
+
- `examples/non-copilot-research-ingestion.md`
|
|
68
|
+
- `examples/non-copilot-service-slice.md`
|
|
69
|
+
|
|
70
|
+
## Shared rules
|
|
71
|
+
|
|
72
|
+
- Treat `hippocampus/source/` as the source of truth.
|
|
73
|
+
- Do not invent evidence; add assumptions or report gaps instead.
|
|
74
|
+
- Keep IDs lowercase kebab-case and dates `YYYY-MM-DD`.
|
|
75
|
+
- Run the command named in the skill before finishing.
|
|
76
|
+
- Use `artefacts/` for generated review outputs, not canonical source data.
|
|
77
|
+
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Portable Skill Format
|
|
2
|
+
|
|
3
|
+
This repo keeps skills in a simple, tool-agnostic format so they can work well in Copilot now and remain easy to reuse in other agents later.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
Each skill has:
|
|
8
|
+
|
|
9
|
+
- a Markdown file: `<skill-id>.skill.md`
|
|
10
|
+
- YAML front matter for machine-readable metadata
|
|
11
|
+
- a short task recipe in Markdown for humans and agents
|
|
12
|
+
|
|
13
|
+
The catalog also includes:
|
|
14
|
+
|
|
15
|
+
- `skills.json` as a machine-readable index
|
|
16
|
+
- `skills.schema.json` as the validation contract for that index
|
|
17
|
+
- `README.md` as the human entry point
|
|
18
|
+
|
|
19
|
+
## Front matter fields
|
|
20
|
+
|
|
21
|
+
Use these keys on every `*.skill.md` file:
|
|
22
|
+
|
|
23
|
+
- `id` - stable lowercase kebab-case skill ID
|
|
24
|
+
- `title` - short human-readable name
|
|
25
|
+
- `purpose` - one-sentence statement of the task outcome
|
|
26
|
+
- `owners` - preferred role agents from `.github/agents/`
|
|
27
|
+
- `legacy_prompt` - optional source prompt retained for backwards compatibility
|
|
28
|
+
- `composes` - optional list of lower-level skill IDs used by an orchestration skill
|
|
29
|
+
- `reads` - files or directories to inspect first
|
|
30
|
+
- `edits` - likely files or directories to change
|
|
31
|
+
- `runs` - commands that complete or verify the task
|
|
32
|
+
- `outputs` - files, artefacts or outcomes a successful run should leave behind
|
|
33
|
+
- `guardrails` - task-specific safety rules that must stay visible to any agent runtime
|
|
34
|
+
- `acceptance` - stop conditions that must be true before the task is considered done
|
|
35
|
+
|
|
36
|
+
Required on every skill card:
|
|
37
|
+
|
|
38
|
+
- `id`
|
|
39
|
+
- `title`
|
|
40
|
+
- `purpose`
|
|
41
|
+
- `owners`
|
|
42
|
+
- `reads`
|
|
43
|
+
- `edits`
|
|
44
|
+
- `runs`
|
|
45
|
+
- `outputs`
|
|
46
|
+
- `guardrails`
|
|
47
|
+
- `acceptance`
|
|
48
|
+
|
|
49
|
+
Optional:
|
|
50
|
+
|
|
51
|
+
- `legacy_prompt`
|
|
52
|
+
- `composes`
|
|
53
|
+
|
|
54
|
+
## Body shape
|
|
55
|
+
|
|
56
|
+
Keep the body concise and structured:
|
|
57
|
+
|
|
58
|
+
1. `Use when`
|
|
59
|
+
2. `Workflow`
|
|
60
|
+
3. `Guardrails`
|
|
61
|
+
4. `Finish`
|
|
62
|
+
|
|
63
|
+
This mirrors the repo's established prompt shape in `docs/prompt-architecture-guardrails.md` while avoiding vendor-specific syntax.
|
|
64
|
+
|
|
65
|
+
For higher-level workflows, keep the body explicit about which lower-level skills it chains and where human review still acts as a gate.
|
|
66
|
+
|
|
67
|
+
## Copilot integration
|
|
68
|
+
|
|
69
|
+
- `.github/copilot-instructions.md` provides ambient repo rules.
|
|
70
|
+
- `.github/agents/*.md` acts as Copilot-friendly role wrappers.
|
|
71
|
+
- Role agents should point to one or more files in `.github/skills/`.
|
|
72
|
+
|
|
73
|
+
## Validation
|
|
74
|
+
|
|
75
|
+
Run this after changing skill files, the catalog, or example files:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
npx hippocampus skills validate
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
This checks:
|
|
82
|
+
|
|
83
|
+
- `skills.json` syntax and catalog shape
|
|
84
|
+
- required front matter on every `*.skill.md`
|
|
85
|
+
- consistency between catalog entries and skill front matter
|
|
86
|
+
- required body headings
|
|
87
|
+
- legacy prompt references and composed skill IDs
|
|
88
|
+
|
|
89
|
+
## Portability rules
|
|
90
|
+
|
|
91
|
+
- Prefer plain Markdown and JSON over proprietary agent manifests.
|
|
92
|
+
- Keep commands copyable and repo-relative.
|
|
93
|
+
- Reference real scripts and docs such as `scripts/validate-knowledge.js`, `docs/source-model.md`, and `docs/repeatable-research-round-ingestion.md`.
|
|
94
|
+
- Keep legacy prompt files until external agent runtimes have moved to the skill catalog.
|
|
95
|
+
|
|
96
|
+
## Non-Copilot examples
|
|
97
|
+
|
|
98
|
+
- `examples/non-copilot-research-ingestion.md`
|
|
99
|
+
- `examples/non-copilot-service-slice.md`
|
|
100
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: add-prototype-screen
|
|
3
|
+
title: Add prototype screen
|
|
4
|
+
purpose: Add a source-backed prototype screen with matching route and view.
|
|
5
|
+
owners:
|
|
6
|
+
- prototype-builder
|
|
7
|
+
- workflow-orchestrator
|
|
8
|
+
reads:
|
|
9
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
10
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
11
|
+
- hippocampus/source/screens.json
|
|
12
|
+
- hippocampus/source/needs.json
|
|
13
|
+
- app/routes.js
|
|
14
|
+
- app/views/
|
|
15
|
+
edits:
|
|
16
|
+
- hippocampus/source/screens.json
|
|
17
|
+
- app/routes.js
|
|
18
|
+
- app/views/
|
|
19
|
+
runs:
|
|
20
|
+
- npx hippocampus validate
|
|
21
|
+
- npx hippocampus doctor
|
|
22
|
+
outputs:
|
|
23
|
+
- Updated screen record in hippocampus/source/screens.json
|
|
24
|
+
- Matching route and Nunjucks view
|
|
25
|
+
guardrails:
|
|
26
|
+
- Use fictional data only.
|
|
27
|
+
- Keep service facts in source JSON rather than only in the template.
|
|
28
|
+
- Reuse existing Hippocampus components before adding one-off markup.
|
|
29
|
+
acceptance:
|
|
30
|
+
- The screen has a valid lowercase route and linked need IDs.
|
|
31
|
+
- Route and template exist and match the source record.
|
|
32
|
+
- npx hippocampus validate and npx hippocampus doctor pass.
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# Add prototype screen
|
|
36
|
+
|
|
37
|
+
## Use when
|
|
38
|
+
- A new screen needs to exist both as source data and as a working route/view.
|
|
39
|
+
|
|
40
|
+
## Workflow
|
|
41
|
+
1. Add the screen record to `hippocampus/source/screens.json` with a lowercase kebab-case `id`, absolute lowercase `route`, `title`, `purpose`, linked `needIds`, and NHS component names.
|
|
42
|
+
2. Add the matching Express route in `app/routes.js` and keep the handler thin.
|
|
43
|
+
3. Add the Nunjucks view under `app/views/` using NHS UK Frontend classes.
|
|
44
|
+
4. If the request includes journey coverage, link the screen from the relevant journey step `screenIds`.
|
|
45
|
+
|
|
46
|
+
## Guardrails
|
|
47
|
+
- Use fictional data only.
|
|
48
|
+
- Keep service facts in source JSON rather than only in the template.
|
|
49
|
+
- Reuse existing Hippocampus components before adding one-off markup.
|
|
50
|
+
|
|
51
|
+
## Finish
|
|
52
|
+
- Run `npx hippocampus validate` and `npx hippocampus doctor`.
|
|
53
|
+
- Report the screen record, route, view file, linked needs, and validation/smoke results.
|
|
54
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: add-scenario
|
|
3
|
+
title: Add scenario
|
|
4
|
+
purpose: Add a concrete scenario that links existing users and needs to journey work.
|
|
5
|
+
owners:
|
|
6
|
+
- knowledge-builder
|
|
7
|
+
- workflow-orchestrator
|
|
8
|
+
reads:
|
|
9
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
10
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
11
|
+
- hippocampus/source/users.json
|
|
12
|
+
- hippocampus/source/needs.json
|
|
13
|
+
- hippocampus/source/scenarios.json
|
|
14
|
+
edits:
|
|
15
|
+
- hippocampus/source/scenarios.json
|
|
16
|
+
runs:
|
|
17
|
+
- npx hippocampus validate
|
|
18
|
+
outputs:
|
|
19
|
+
- Updated scenario records in hippocampus/source/scenarios.json
|
|
20
|
+
- A scenario ready to drive journey authoring
|
|
21
|
+
guardrails:
|
|
22
|
+
- Avoid vague scenarios like "user uses the service".
|
|
23
|
+
- Keep the scenario grounded in current source evidence and assumptions.
|
|
24
|
+
acceptance:
|
|
25
|
+
- The scenario links to existing user and need IDs.
|
|
26
|
+
- Trigger, context, and edge cases are specific enough to generate a journey.
|
|
27
|
+
- npx hippocampus validate passes.
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Add scenario
|
|
31
|
+
|
|
32
|
+
## Use when
|
|
33
|
+
- Existing users and needs need a concrete trigger/context that can drive a journey.
|
|
34
|
+
|
|
35
|
+
## Workflow
|
|
36
|
+
1. Pick an existing `userId` and linked `needIds`.
|
|
37
|
+
2. Add a scenario with `title`, `trigger`, `context`, `riskLevel`, `happyPath`, and `edgeCases`.
|
|
38
|
+
3. Make it specific enough to generate journey steps and screens: what starts the work, what the user is deciding, what data matters, and what can go wrong.
|
|
39
|
+
|
|
40
|
+
## Guardrails
|
|
41
|
+
- Avoid vague scenarios like "user uses the service".
|
|
42
|
+
- Keep the scenario grounded in current source evidence and assumptions.
|
|
43
|
+
|
|
44
|
+
## Finish
|
|
45
|
+
- Run `npx hippocampus validate`.
|
|
46
|
+
- Report the scenario created, linked needs, unresolved assumptions, and validation result.
|
|
47
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: add-user-needs
|
|
3
|
+
title: Add user needs
|
|
4
|
+
purpose: Add or sharpen traceable need records for an existing user group.
|
|
5
|
+
owners:
|
|
6
|
+
- knowledge-builder
|
|
7
|
+
- workflow-orchestrator
|
|
8
|
+
reads:
|
|
9
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
10
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
11
|
+
- hippocampus/source/users.json
|
|
12
|
+
- hippocampus/source/needs.json
|
|
13
|
+
- hippocampus/source/evidence.json
|
|
14
|
+
- hippocampus/source/assumptions.json
|
|
15
|
+
edits:
|
|
16
|
+
- hippocampus/source/needs.json
|
|
17
|
+
- hippocampus/source/assumptions.json
|
|
18
|
+
runs:
|
|
19
|
+
- npx hippocampus validate
|
|
20
|
+
outputs:
|
|
21
|
+
- Updated need records in hippocampus/source/needs.json
|
|
22
|
+
- Assumptions for unsupported needs when required
|
|
23
|
+
guardrails:
|
|
24
|
+
- Do not invent evidence or rename existing IDs casually.
|
|
25
|
+
- Keep need statements short enough to display cleanly in Hippocampus lists and blueprint views.
|
|
26
|
+
acceptance:
|
|
27
|
+
- Each changed need has a valid userId, priority, and supporting evidence or assumption gap.
|
|
28
|
+
- Need text remains concise enough for lists and blueprint views.
|
|
29
|
+
- npx hippocampus validate passes.
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Add user needs
|
|
33
|
+
|
|
34
|
+
## Use when
|
|
35
|
+
- A user group already exists and its needs need to be added or sharpened.
|
|
36
|
+
- Evidence exists, but traceable need records are missing or weak.
|
|
37
|
+
|
|
38
|
+
## Workflow
|
|
39
|
+
1. Confirm the target `userId` already exists in `hippocampus/source/users.json`.
|
|
40
|
+
2. Add or revise need records with a lowercase kebab-case `id`, a single clear statement, a `priority`, and at least one `evidenceId`.
|
|
41
|
+
3. Reuse existing evidence where it really supports the need.
|
|
42
|
+
4. If the direction is plausible but not evidenced, add an assumption and call out the evidence gap.
|
|
43
|
+
|
|
44
|
+
## Guardrails
|
|
45
|
+
- Do not invent evidence or rename existing IDs casually.
|
|
46
|
+
- Keep need statements short enough to display cleanly in Hippocampus lists and blueprint views.
|
|
47
|
+
|
|
48
|
+
## Finish
|
|
49
|
+
- Run `npx hippocampus validate`.
|
|
50
|
+
- Report needs added or changed, evidence used, assumptions added, and validation result.
|
|
51
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: audit-knowledge-source
|
|
3
|
+
title: Audit knowledge source
|
|
4
|
+
purpose: Review traceability, route coverage, and evidence quality before handover.
|
|
5
|
+
owners:
|
|
6
|
+
- knowledge-builder
|
|
7
|
+
- workflow-orchestrator
|
|
8
|
+
reads:
|
|
9
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
10
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
11
|
+
- hippocampus/source/
|
|
12
|
+
- app/routes.js
|
|
13
|
+
- app/views/
|
|
14
|
+
edits:
|
|
15
|
+
- none by default
|
|
16
|
+
runs:
|
|
17
|
+
- npx hippocampus validate
|
|
18
|
+
- npx hippocampus doctor
|
|
19
|
+
outputs:
|
|
20
|
+
- Audit findings for blockers, traceability gaps, and model risks
|
|
21
|
+
- Optional follow-up recommendations without rewriting records
|
|
22
|
+
guardrails:
|
|
23
|
+
- Do not rewrite records during an audit unless asked.
|
|
24
|
+
- Treat validation failures and missing routes as blockers ahead of content quality comments.
|
|
25
|
+
acceptance:
|
|
26
|
+
- Validation and route coverage are checked first.
|
|
27
|
+
- Findings distinguish blockers from model-quality improvements.
|
|
28
|
+
- The output stays review-first unless fixes are requested.
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Audit knowledge source
|
|
32
|
+
|
|
33
|
+
## Use when
|
|
34
|
+
- You need a review of traceability, route coverage, and evidence quality before handover or design review.
|
|
35
|
+
|
|
36
|
+
## Workflow
|
|
37
|
+
1. Run validation first.
|
|
38
|
+
2. Check for weak evidence links, scenarios without usable edge cases, shallow journey lanes, missing screens, orphaned screens, stale decisions, unsupported assumptions, and route drift between source data and implemented pages.
|
|
39
|
+
3. Keep the output review-first unless the user explicitly asks for fixes.
|
|
40
|
+
|
|
41
|
+
## Guardrails
|
|
42
|
+
- Do not rewrite records during an audit unless asked.
|
|
43
|
+
- Treat validation failures and missing routes as blockers ahead of content quality comments.
|
|
44
|
+
|
|
45
|
+
## Finish
|
|
46
|
+
- Report findings in this order: blockers, traceability gaps, evidence/assumption risks, model quality issues, suggested next edits.
|
|
47
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: capture-route-review-pack
|
|
3
|
+
title: Capture route review pack
|
|
4
|
+
purpose: Create a dated screenshot or notes pack for changed routes after smoke testing.
|
|
5
|
+
owners:
|
|
6
|
+
- screenshot-runner
|
|
7
|
+
- workflow-orchestrator
|
|
8
|
+
reads:
|
|
9
|
+
- node_modules/@hippo-digital/hippocampus/docs/agent-workflow.md
|
|
10
|
+
- node_modules/@hippo-digital/hippocampus/docs/custom-agents-usage.md
|
|
11
|
+
- node_modules/@hippo-digital/hippocampus/docs/hippocampus-technical.md
|
|
12
|
+
- artefacts/screenshots/README.md
|
|
13
|
+
- app/routes.js
|
|
14
|
+
edits:
|
|
15
|
+
- artefacts/screenshots/[yyyy-mm-dd-topic]/manifest.md
|
|
16
|
+
runs:
|
|
17
|
+
- npx hippocampus doctor
|
|
18
|
+
outputs:
|
|
19
|
+
- Route review pack under artefacts/screenshots/<date-topic>/
|
|
20
|
+
- Manifest with routes reviewed and issues found
|
|
21
|
+
guardrails:
|
|
22
|
+
- Keep all visible data fictional.
|
|
23
|
+
- Say explicitly when the pack is notes-only rather than image-backed.
|
|
24
|
+
- Keep route slugs and filenames aligned so the manifest is easy to audit.
|
|
25
|
+
acceptance:
|
|
26
|
+
- The smoke-test result is captured before handover.
|
|
27
|
+
- The manifest says which routes have screenshots versus notes only.
|
|
28
|
+
- The review-pack path and issues are reported.
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Capture route review pack
|
|
32
|
+
|
|
33
|
+
## Use when
|
|
34
|
+
- A visible route change needs review evidence for handover, design review, or comparison.
|
|
35
|
+
- You need one dated place for screenshots, route notes, and issues found.
|
|
36
|
+
|
|
37
|
+
## Workflow
|
|
38
|
+
1. Build the route list from the request, changed screen routes, affected Hippocampus pages, or the smoke-test surface.
|
|
39
|
+
2. Run `npx hippocampus doctor` first when route or view changes are in scope.
|
|
40
|
+
3. Start the prototype manually if interactive checks are needed, then visit the agreed routes.
|
|
41
|
+
4. Save screenshots when capture is available. If not, record concise per-route notes in the manifest instead of pretending screenshots exist.
|
|
42
|
+
5. Write `artefacts/screenshots/<YYYY-MM-DD>-<topic>/manifest.md` with the routes reviewed, whether each route had an image or notes, and the issues found.
|
|
43
|
+
|
|
44
|
+
## Guardrails
|
|
45
|
+
- Keep all visible data fictional.
|
|
46
|
+
- Say explicitly when the pack is notes-only rather than image-backed.
|
|
47
|
+
- Keep route slugs and filenames aligned so the manifest is easy to audit.
|
|
48
|
+
|
|
49
|
+
## Finish
|
|
50
|
+
- Run `npx hippocampus doctor`.
|
|
51
|
+
- Report the review-pack path, routes covered, missing captures, and the issues or follow-up checks found.
|
|
52
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: create-journey-from-scenario
|
|
3
|
+
title: Create journey from scenario
|
|
4
|
+
purpose: Turn an existing scenario into a blueprint-ready journey.
|
|
5
|
+
owners:
|
|
6
|
+
- knowledge-builder
|
|
7
|
+
- workflow-orchestrator
|
|
8
|
+
reads:
|
|
9
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
10
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
11
|
+
- hippocampus/source/scenarios.json
|
|
12
|
+
- hippocampus/source/journeys.json
|
|
13
|
+
- hippocampus/source/screens.json
|
|
14
|
+
- hippocampus/source/evidence.json
|
|
15
|
+
- hippocampus/source/decisions.json
|
|
16
|
+
edits:
|
|
17
|
+
- hippocampus/source/journeys.json
|
|
18
|
+
runs:
|
|
19
|
+
- npx hippocampus validate
|
|
20
|
+
outputs:
|
|
21
|
+
- Updated journey records in hippocampus/source/journeys.json
|
|
22
|
+
- Journey steps with lane-ready content and references
|
|
23
|
+
guardrails:
|
|
24
|
+
- Do not put all detail in userAction; the blueprint views render lane content separately.
|
|
25
|
+
- Keep screenIds, evidenceIds, and decisionIds aligned with existing source records.
|
|
26
|
+
acceptance:
|
|
27
|
+
- The journey links to an existing scenario and has 4 to 7 useful steps.
|
|
28
|
+
- Step lanes use needIds, screenIds, evidenceIds, and decisionIds consistently.
|
|
29
|
+
- npx hippocampus validate passes.
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Create journey from scenario
|
|
33
|
+
|
|
34
|
+
## Use when
|
|
35
|
+
- A scenario exists and needs a blueprint-ready journey.
|
|
36
|
+
|
|
37
|
+
## Workflow
|
|
38
|
+
1. Confirm the `scenarioId` exists.
|
|
39
|
+
2. Add or revise a journey with `title`, `description`, `entryPoint`, `exitPoint`, and 4 to 7 steps.
|
|
40
|
+
3. For each step, fill the real blueprint lanes used by `buildBlueprintViewModel()`: `userAction`, `frontstage`, `backstage`, `supportProcesses`, `dataDependencies`, `securityAndGovernance`, `painPoints`, `exceptionHandling`, `needIds`, `screenIds`, `evidenceIds`, and `decisionIds`.
|
|
41
|
+
4. Flag missing screens or evidence instead of hiding gaps in free text.
|
|
42
|
+
|
|
43
|
+
## Guardrails
|
|
44
|
+
- Do not put all detail in `userAction`; the blueprint views render lane content separately.
|
|
45
|
+
- Keep `screenIds`, `evidenceIds`, and `decisionIds` aligned with existing source records.
|
|
46
|
+
|
|
47
|
+
## Finish
|
|
48
|
+
- Run `npx hippocampus validate`.
|
|
49
|
+
- Report the journey created or updated, missing screens, evidence gaps, and validation result.
|
|
50
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: deliver-service-slice
|
|
3
|
+
title: Deliver service slice
|
|
4
|
+
purpose: Deliver an end-to-end fictional service slice across source data, optional prototype routes/views, audit, and handover.
|
|
5
|
+
owners:
|
|
6
|
+
- workflow-orchestrator
|
|
7
|
+
- knowledge-builder
|
|
8
|
+
- prototype-builder
|
|
9
|
+
composes:
|
|
10
|
+
- generate-service-slice
|
|
11
|
+
- add-user-needs
|
|
12
|
+
- add-scenario
|
|
13
|
+
- create-journey-from-scenario
|
|
14
|
+
- add-prototype-screen
|
|
15
|
+
- audit-knowledge-source
|
|
16
|
+
reads:
|
|
17
|
+
- node_modules/@hippo-digital/hippocampus/docs/agent-workflow.md
|
|
18
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
19
|
+
- node_modules/@hippo-digital/hippocampus/docs/source-model.md
|
|
20
|
+
- app/routes.js
|
|
21
|
+
- hippocampus/source/
|
|
22
|
+
- app/views/
|
|
23
|
+
edits:
|
|
24
|
+
- hippocampus/source/
|
|
25
|
+
- app/routes.js
|
|
26
|
+
- app/views/
|
|
27
|
+
- artefacts/delivery-summaries/
|
|
28
|
+
runs:
|
|
29
|
+
- npx hippocampus validate
|
|
30
|
+
- npx hippocampus doctor
|
|
31
|
+
outputs:
|
|
32
|
+
- Updated source records and optional route/view files
|
|
33
|
+
- Delivery summary under artefacts
|
|
34
|
+
guardrails:
|
|
35
|
+
- Keep hippocampus/source/ as the source of truth and add assumptions instead of unsupported evidence.
|
|
36
|
+
- Keep routes thin and use NHS UK Frontend conventions in views.
|
|
37
|
+
- Keep all service data fictional.
|
|
38
|
+
acceptance:
|
|
39
|
+
- Source records are created in dependency order and stay linked.
|
|
40
|
+
- Any visible route work passes smoke testing.
|
|
41
|
+
- Validation, smoke-test, and handover summary are reported.
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
# Deliver service slice
|
|
45
|
+
|
|
46
|
+
## Use when
|
|
47
|
+
- A new or revised service area needs an end-to-end Hippocampus slice across source data, routes, views, and review notes.
|
|
48
|
+
- You want a single orchestration recipe rather than manually chaining low-level source and prototype skills.
|
|
49
|
+
|
|
50
|
+
## Workflow
|
|
51
|
+
1. Read the existing source collections and decide whether the work is new-slice creation or an extension of an existing slice.
|
|
52
|
+
2. Use `generate-service-slice`, `add-user-needs`, `add-scenario`, and `create-journey-from-scenario` to shape the linked source records in dependency order.
|
|
53
|
+
3. Use `add-prototype-screen` only when the source model needs a visible route or the existing renderer cannot show the new slice clearly.
|
|
54
|
+
4. Run `audit-knowledge-source` before handover to catch weak evidence links, missing screens, or route drift.
|
|
55
|
+
5. Write a delivery summary under `artefacts/delivery-summaries/` capturing records changed, routes/views changed, validation, assumptions, and follow-up work.
|
|
56
|
+
|
|
57
|
+
## Guardrails
|
|
58
|
+
- Keep `hippocampus/source/` as the source of truth and add assumptions instead of unsupported evidence.
|
|
59
|
+
- Keep routes thin and use NHS UK Frontend conventions in views.
|
|
60
|
+
- Keep all service data fictional.
|
|
61
|
+
|
|
62
|
+
## Finish
|
|
63
|
+
- Run `npx hippocampus validate` and `npx hippocampus doctor`.
|
|
64
|
+
- Report the source records, routes, views, delivery-summary path, validation result, smoke-test result, and unresolved risks.
|
|
65
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Skill examples
|
|
2
|
+
|
|
3
|
+
These worked examples show how a non-Copilot agent can consume the portable skill catalog.
|
|
4
|
+
|
|
5
|
+
Files:
|
|
6
|
+
|
|
7
|
+
- `non-copilot-research-ingestion.md`
|
|
8
|
+
- `non-copilot-service-slice.md`
|
|
9
|
+
|
|
10
|
+
Use them alongside:
|
|
11
|
+
|
|
12
|
+
- `.github/skills/skills.json` for discovery
|
|
13
|
+
- `.github/skills/SKILL-FORMAT.md` for the metadata contract
|
|
14
|
+
- the referenced `*.skill.md` files for the exact workflow
|
|
15
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Worked example: non-Copilot research ingestion
|
|
2
|
+
|
|
3
|
+
This example shows how a generic agent runtime can use the portable skill catalog without relying on Copilot-specific role wrappers.
|
|
4
|
+
|
|
5
|
+
## 1. Resolve the entrypoint
|
|
6
|
+
|
|
7
|
+
Open `.github/skills/skills.json` and find the entry with:
|
|
8
|
+
|
|
9
|
+
- `id`: `ingest-research-round`
|
|
10
|
+
- `purpose`: review-ready research ingestion without promotion
|
|
11
|
+
|
|
12
|
+
Use its `file` field to load:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
.github/skills/ingest-research-round.skill.md
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 2. Read the skill metadata
|
|
19
|
+
|
|
20
|
+
From the front matter, collect:
|
|
21
|
+
|
|
22
|
+
- `reads` - the docs and draft files to inspect first
|
|
23
|
+
- `runs` - the commands to execute
|
|
24
|
+
- `composes` - the lower-level skills that this orchestration skill chains
|
|
25
|
+
- `outputs` - what a successful run should leave behind
|
|
26
|
+
- `acceptance` - what must be true before stopping
|
|
27
|
+
|
|
28
|
+
## 3. Execute the workflow
|
|
29
|
+
|
|
30
|
+
1. Put the source artefact in `hippocampus/inbox/research/`.
|
|
31
|
+
2. Run:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx hippocampus research sync -- --no-promote
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
3. Read the generated files named in the skill:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
hippocampus/imports/research/<draft-id>.review.md
|
|
41
|
+
hippocampus/imports/research/<draft-id>.json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
4. Follow the composed skills in order:
|
|
45
|
+
- `structure-research-draft`
|
|
46
|
+
- `review-research-import-draft`
|
|
47
|
+
- `map-research-to-graph`
|
|
48
|
+
|
|
49
|
+
5. Stop only when the orchestration skill's `acceptance` items are satisfied.
|
|
50
|
+
|
|
51
|
+
## 4. Respect the guardrails
|
|
52
|
+
|
|
53
|
+
The skill card makes the critical safety rules explicit:
|
|
54
|
+
|
|
55
|
+
- do not edit `hippocampus/source/`
|
|
56
|
+
- do not promote the draft automatically
|
|
57
|
+
- keep extracted text and warnings unless the underlying issue is resolved
|
|
58
|
+
|
|
59
|
+
## 5. Handover
|
|
60
|
+
|
|
61
|
+
The output should be a review-ready draft plus a dry-run result, not promoted source data.
|
|
62
|
+
|
|
63
|
+
If the human reviewer approves, promotion remains a separate deliberate command:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx hippocampus promote research -- --draft hippocampus/imports/research/<draft-id>.json
|
|
67
|
+
```
|
|
68
|
+
|