Merge pull request #14 from Curabis/curabis-docs-structure

Standard v3 + Columbo v2 - docs/ struktur og requirement persistence
This commit is contained in:
Michael Dieringer 2026-06-24 07:22:14 +02:00 committed by GitHub
commit 416b30ee44
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 66 additions and 9 deletions

View file

@ -1,7 +1,7 @@
---
kind: action-skill
id: curabis-columbo
version: 1
version: 2
title: Columbo — Customer Requirement Clarifier
description: >
Customer-facing requirement clarification agent. Never tells the customer
@ -49,6 +49,20 @@ He works on the customer's side. He is not quality control for the developer —
he is an advocate for the customer's actual need, which is often slightly
different from what the customer said.
## How Columbo learns
At the start of each session, Columbo reads:
1. The project `CLAUDE.md` — to understand domain and project context.
2. All files in `docs/specs/` — to know what has already been clarified
on this project. Prior requirement summaries teach him the domain:
what "customer" means here, what edge cases are standard, what is
always out of scope.
3. All files in `projectmemory/` — for architectural decisions and
team observations that affect requirements.
He does not ask about things that are already settled.
## When to invoke
- A new feature request arrives with a description but no edge cases
@ -130,9 +144,27 @@ When Columbo has no more things, he produces a structured summary:
[ ] Implementation
```
### Step 5 — Route
### Step 5 — Write to docs/specs/
If the summary is complete and the customer has confirmed it:
When the customer confirms the summary:
1. Derive a kebab-case filename from the feature name.
(e.g., "Kasseapparat integration" → `docs/specs/kasseapparat-integration.md`)
2. If the file does not exist: create it with the full summary content.
3. If the file already exists (updated requirement): append a new version block:
```
---
## Opdateret [YYYY-MM-DD] — [kort ændringsbeskrivelse]
[opdateret summary]
```
4. Commit: `[SPEC] <Feature name> — requirement summary`
This is how Columbo teaches future sessions. Without this step, the
clarification disappears when the conversation ends.
### Step 6 — Route
If the summary is complete and written to docs/specs/:
→ Route to **al-complexity** for tier classification.
If open questions remain:
@ -147,6 +179,8 @@ If open questions remain:
- He never dismisses an edge case as "unlikely". Unlikely things happen.
- He never assumes silence means agreement. He asks again.
- He never routes a task with open questions still on the list.
- He never skips writing to `docs/specs/` after a confirmed summary.
A clarification that is not written down did not happen.
## The connection
@ -157,7 +191,7 @@ A requirement that has not passed Columbo has not been understood.
Customer request
Columbo
(clarify)
(clarify + write docs/specs/)
al-complexity
(classify)

View file

@ -1,7 +1,7 @@
---
kind: action-skill
id: curabis-standard-setup
version: 2
version: 3
title: CURABIS Standard — Project Setup
description: >
Configures a new or existing repository to the CURABIS Standard development
@ -9,7 +9,7 @@ description: >
from authoritative templates in BCQuality. Deploys bc-mcp-bridge.js to the
developer's machine. Also handles updates to an already-configured project.
inputs: [repo-root]
outputs: [CLAUDE.md, .mcp.json, .github/.agents/*, cspell.json, projectmemory/]
outputs: [CLAUDE.md, .mcp.json, .github/.agents/*, cspell.json, projectmemory/, docs/]
domain: setup
keywords: [setup, bootstrap, update, mcp, bcquality, standard, new-project]
---
@ -197,6 +197,15 @@ These are invoked only when needed - not at session start:
{AL_PROJECTS_SECTION}
## Project documentation
At session start, read all files in `docs/specs/` — they contain Columbo requirement
summaries and confirmed feature specifications. These record what has been clarified
and what scope has been agreed. Do not re-clarify what is already in docs/specs/.
`docs/decisions/` contains architectural decision records.
`docs/cleanup/` contains cleanup task lists with checkbox status.
## Shared project memory
At session start, read **all files** in `projectmemory/` — they contain shared
@ -329,6 +338,17 @@ Læses automatisk af Claude Code ved session-start (via CLAUDE.md).
(Tilføj observationer her)
```
#### 4f. docs/
Create the standard documentation structure if it does not exist:
- `docs/specs/` — Columbo requirement summaries and feature specifications.
Read by Claude at session start. One file per feature in kebab-case.
- `docs/decisions/` — Architectural decision records. Formal, dated, immutable.
- `docs/cleanup/` — Cleanup task lists with checkbox status.
Create a `.gitkeep` file in each empty subfolder so git tracks them.
### Step 5 — Confirm and offer initial commit
List all files written, then ask:
@ -342,7 +362,8 @@ If yes, stage and commit:
- .github/.agents/ med alle standard-agenter
- .mcp.json med BC MCP bridge
- cspell.json
- projectmemory/ mappe
- projectmemory/ — delt projekthukommelse
- docs/specs/, docs/decisions/, docs/cleanup/ — projektdokumentation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
```
@ -354,7 +375,7 @@ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Triggered by: "Opdater CURABIS Standard fra BCQuality"
Updates only the files that come directly from BCQuality.
Never touches `CLAUDE.md`, `projectmemory/`, or `~/.bc-mcp.config.json`.
Never touches `CLAUDE.md`, `projectmemory/`, `docs/`, or `~/.bc-mcp.config.json`.
### What gets updated
@ -372,11 +393,13 @@ Never touches `CLAUDE.md`, `projectmemory/`, or `~/.bc-mcp.config.json`.
| `.github/.agents/m365.agent.md` | Fetch fresh from BCQuality, overwrite |
| `cspell.json` — words from template | Merge new words, keep project words |
| `.mcp.json``al` entry | Add if `find-altool.ps1` now exists and entry is missing |
| `docs/specs/`, `docs/decisions/`, `docs/cleanup/` | Create if missing, never overwrite content |
### What does NOT get updated
- `CLAUDE.md` — project-specific, managed per project
- `projectmemory/` — team knowledge, never overwritten by tooling
- `docs/` content — project documentation, never overwritten by tooling
- `~/.bc-mcp.config.json` — contains developer secrets
### After update