v23: Feynman support-rolle — agent i rosteret + Mode C support-profil

- custom/agents/feynman.agent.md: ny support-navigator for ikke-udviklere.
  Strengt læsende, svar med kildehenvisning (kildetrappen: docs/specs ->
  projectmemory -> decisions -> kode -> Microsoft via MCP), Feynman-testen
  på alle svar, struktureret eskalering via Feynman-notatet (Columbo/
  al-triage-klar). Aktiveres med trigger-frasen 'Feynman:'.
- curabis-standard.agent.md v23: Feynman i artefakt-tabel, Mode A 4c,
  Mode B-tabel og CLAUDE.md-templaten (support-sektion der slår self-heal,
  AL MCP og BC MCP fra i support-sessioner + on-demand-entry). Ny MODE C:
  'Onboard en supportbruger til CURABIS Standard' — browser-only (claude.ai/
  Claude Code på web, ingen VS Code), GitHub read-only, GitHub MCP +
  Microsoft Learn MCP, ingen secrets, ingen QualityHub-adgang.
- templates/feynman-onboarding.md: dansk onboarding-dokument til
  supportbrugeren ({SUPPORT_NAME}/{REPO_LIST}/{SETUP_DATE}-tokens).
- machine/CLAUDE.md: tredje trigger-kommando tilføjet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Michael Dieringer 2026-07-30 09:57:49 +02:00
parent c5d793f291
commit 90048bb262
4 changed files with 395 additions and 2 deletions

View file

@ -1,7 +1,7 @@
---
kind: action-skill
id: curabis-standard-setup
version: 22
version: 23
title: CURABIS Standard — Project Setup
description: >
Configures a new or existing repository to the CURABIS Standard development
@ -11,6 +11,8 @@ description: >
to the developer's machine (~/.claude/) — the mirror is machine-local and is
never committed to a project repository. Also handles updates to an
already-configured project, including cleanup of v6-era repo-local mirrors.
Mode C onboards a support user (non-developer) to the Feynman support
profile: browser-only, read-only, no machine setup.
inputs: [repo-root]
outputs: [CLAUDE.md, .mcp.json, .github/.agents/*, ~/.claude/bcquality-knowledge/, cspell.json, projectmemory/, docs/]
domain: setup
@ -31,6 +33,7 @@ This agent runs when the developer says any of:
- **"Konfigurer dette projekt til CURABIS Standard"** → full setup (new project)
- **"Opdater CURABIS Standard fra BCQuality"** → update mode (existing project)
- **"Onboard en supportbruger til CURABIS Standard"** → support profile (Mode C)
Detect which mode based on the trigger phrase and proceed accordingly.
@ -76,6 +79,7 @@ old HTTP-encoding pitfalls do not exist here).
| florence.agent.md | `{AGENTS_BASE}/florence.agent.md` |
| m365.agent.md | `{AGENTS_BASE}/m365.agent.md` |
| weber.agent.md | `{AGENTS_BASE}/weber.agent.md` |
| feynman.agent.md | `{AGENTS_BASE}/feynman.agent.md` |
| smiley.agent.md | `{AGENTS_BASE}/smiley.agent.md` |
| court.agent.md | `{AGENTS_BASE}/court.agent.md` |
| lincoln.agent.md | `{AGENTS_BASE}/lincoln.agent.md` |
@ -86,6 +90,7 @@ old HTTP-encoding pitfalls do not exist here).
| roemer.agent.md | `{AGENTS_BASE}/roemer.agent.md` |
| cspell.json | `{BASE}/templates/cspell.json` |
| find-altool.ps1 | `{BASE}/templates/find-altool.ps1` |
| feynman-onboarding.md | `{BASE}/templates/feynman-onboarding.md` |
| sync-bcquality-knowledge.ps1 | `{BASE}/sync-bcquality-knowledge.ps1` |
CLAUDE.md and .mcp.json are generated dynamically — not fetched as static templates
@ -236,6 +241,20 @@ or run the full onboarding above.)
These rules are always active.
## Feynman — Support-sessioner
Hvis sessionens første besked starter med **"Feynman:"** — eller brugeren
identificerer sig som support/forretningskonsulent (ikke-udvikler):
1. Læs `.github/.agents/feynman.agent.md` og arbejd efter hans protokol
resten af sessionen.
2. Spring over: BCQuality machine self-heal, AL MCP, BC MCP og test-afvikling.
Support-miljøet er browserbaseret (claude.ai / Claude Code på web) — der er
ingen lokal maskine at onboarde, og det er meningen.
3. Strengt læsende: ingen redigering, ingen commits, ingen builds.
Denne sektion har forrang over BCQuality-sektionens self-heal ovenfor.
## Smiley — Session Watchdog (always active)
At session start, read `.github/.agents/smiley.agent.md`.
@ -309,6 +328,10 @@ These are invoked only when needed - not at session start:
- `.github/.agents/weber.agent.md` - Developer AI coaching. Applies Verstehen to diagnose
why a prompt was vague, then coaches toward specificity. Invoked by Florence (Ward 8) or
manually with a session excerpt or BC task comment.
- `.github/.agents/feynman.agent.md` - Support-navigator for ikke-udviklere. Svarer på
forretningsspørgsmål fra repoets dokumentation, koden og Microsofts kilder — i klart
sprog, altid med kildehenvisning, strengt læsende. Aktiveres automatisk i
support-sessioner (se sektionen "Feynman — Support-sessioner").
## Francis — proaktiv regelobservation
@ -457,6 +480,7 @@ Fetch and write verbatim:
- `{AGENTS_BASE}/ferencz.agent.md` → `.github/.agents/ferencz.agent.md`
- `{AGENTS_BASE}/roemer.agent.md` → `.github/.agents/roemer.agent.md`
- `{AGENTS_BASE}/weber.agent.md` → `.github/.agents/weber.agent.md`
- `{AGENTS_BASE}/feynman.agent.md` → `.github/.agents/feynman.agent.md`
- `{AGENTS_BASE}/smiley.agent.md` → `.github/.agents/smiley.agent.md`
- `{BASE}/templates/algo-settings.agent.md`→ `.github/.agents/algo-settings.agent.md`
@ -589,6 +613,7 @@ Never touches `CLAUDE.md`, `projectmemory/`, `docs/`, or `~/.bc-mcp.config.json`
| `.github/.agents/roemer.agent.md` | Fetch fresh from BCQuality, overwrite (add if missing) |
| `.github/.agents/carlin.agent.md` | Fetch fresh from BCQuality, overwrite (add if missing) |
| `.github/.agents/weber.agent.md` | Fetch fresh from BCQuality, overwrite (add if missing) |
| `.github/.agents/feynman.agent.md` | Fetch fresh from BCQuality, overwrite (add if missing) |
| `.github/.agents/algo-settings.agent.md` | Fetch fresh from BCQuality, overwrite (add if missing) |
| `.github/.agents/smiley.agent.md` | Fetch fresh from BCQuality, overwrite (add if missing) |
| `~/.claude/sync-bcquality-knowledge.ps1` | Fetch fresh from BCQuality (raw bytes), overwrite (add if missing) |
@ -810,11 +835,86 @@ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---
## MODE C — Support-profil (onboard en supportbruger)
Triggered by: **"Onboard en supportbruger til CURABIS Standard"**
(også accepteret: "Konfigurer support-profil")
Formål: give en ikke-udvikler (forretningskonsulent, supportmedarbejder)
mulighed for at stille spørgsmål til CURABIS-repos og Microsofts kilder —
via Feynman-agenten (`feynman.agent.md`), uden VS Code, uden lokal
maskinopsætning og uden skriveadgang.
### Hvad profilen IKKE indeholder — med vilje
- Ingen VS Code, ingen AL Language extension
- Ingen bc-mcp-bridge, ingen `~/.bc-mcp.config.json` — supportbrugeren får
aldrig secrets
- Ingen QualityHub-klon og ingen machine self-heal — supportbrugeren har ikke
(og skal ikke have) adgang til QualityHub; `feynman.agent.md` ligger i hvert
konfigureret repo, og CLAUDE.md-templatens "Feynman — Support-sessioner"-
sektion slår self-heal fra i support-mode
- Ingen skriveadgang til noget repo — rollen er læsende, og GitHub-rollen
håndhæver det
### Step 1 — Spørg om to ting
```
1. Supportbrugerens navn og GitHub-brugernavn?
2. Hvilke repos skal brugeren have læseadgang til?
```
### Step 2 — GitHub-adgang (udføres af administratoren)
Guide administratoren gennem:
1. Invitér brugeren til organisationen som **member**
2. Giv **Read**-rolle på de valgte repos — aldrig Write/Maintain/Admin
3. Verificér at brugeren IKKE har adgang til `Curabis/QualityHub`
### Step 3 — Claude-miljø (browser, ikke VS Code)
1. Claude-sæde til brugeren (Team-plan)
2. **Claude Code på web** (claude.ai/code): forbind brugerens GitHub-konto og
vælg de tildelte repos
3. MCP-connectors i brugerens miljø — begge læsende, ingen tokens med
skrive-scopes:
- **GitHub MCP** — adgang til Microsofts offentlige repos:
`microsoft/BCApps`, `microsoft/ALAppExtensions`,
`MicrosoftDocs/dynamics365smb-docs`
- **Microsoft Learn MCP** — officiel dokumentationssøgning
### Step 4 — Onboarding-dokument
1. Fetch `{BASE}/templates/feynman-onboarding.md`
2. Erstat `{SUPPORT_NAME}`, `{REPO_LIST}` (punktliste over de tildelte repos)
og `{SETUP_DATE}` (dags dato, ISO)
3. Aflevér dokumentet til supportbrugeren (mail/Teams) — det forklarer
trigger-frasen "Feynman:", gode spørgsmål, og hvordan et Feynman-notat
videresendes til en udvikler
### Step 5 — Verifikation
Bed supportbrugeren starte en session i et af de tildelte repos med:
> "Feynman: hvad kan du hjælpe mig med i dette projekt?"
Forventet: svar på dansk i forretningssprog, bekræftelse af support-mode
(strengt læsende), og INGEN self-heal-/onboarding-støj ved session-start.
### Forudsætning
Mode C forudsætter at de tildelte repos er konfigureret med CURABIS Standard
v23+ (Feynman i rosteret + support-sektionen i CLAUDE.md). Kør Mode B på
repos, der endnu ikke har `feynman.agent.md`.
---
## Invocation note
This agent is read on demand from the machine's channel clone
(`%USERPROFILE%\.claude\QualityHub\custom\setup\curabis-standard.agent.md`,
after freshening — see Source section). Both commands work in any project —
after freshening — see Source section). All three commands work in any project —
including one not yet configured — because the machine's `~/.claude/CLAUDE.md`
(installed by onboarding) knows the clone location. On a machine without the
clone, the two-line onboarding in Step 4a's self-heal is the entry point.

View file

@ -54,6 +54,7 @@ Auto-update step 1) and follow the setup agent read from:
- **"Konfigurer dette projekt til CURABIS Standard"** → fuld setup af nyt repo
- **"Opdater CURABIS Standard fra BCQuality"** → manuel opdatering
- **"Onboard en supportbruger til CURABIS Standard"** → support-profil (Mode C, Feynman)
## Identity

View file

@ -0,0 +1,68 @@
<!-- cspell:disable -->
# Velkommen, {SUPPORT_NAME} — din adgang til koden via Feynman
Du har fået adgang til at stille spørgsmål direkte til vores projekter — uden
at skulle læse kode, og uden at kunne komme til at ændre noget. Din hjælper
hedder **Feynman** (opkaldt efter fysikeren Richard Feynman, der var berømt for
at kunne forklare det komplicerede klart).
## Sådan kommer du i gang
1. Gå til **claude.ai/code** i din browser og log ind med dit Claude-login
2. Vælg det repository (projekt), dit spørgsmål handler om:
{REPO_LIST}
3. Start din besked med **"Feynman:"** efterfulgt af dit spørgsmål
Eksempel:
> Feynman: Hvorfor får kunden en anden rabat på ordrelinjen, end der står i
> deres aftale? Det drejer sig om kundegruppe ENGROS.
Trigger-ordet "Feynman:" fortæller systemet, at du er supportbruger — så svarer
det på dansk, i forretningssprog, og springer al udvikler-opsætning over.
## Hvad du kan spørge om
- **Hvordan virker det?** — "Hvordan beregnes gebyret ved delleverancer?"
- **Hvad blev aftalt?** — "Hvad blev der aftalt om scope på overførsels-funktionen?"
- **Standard eller specialbygget?** — "Er den her adfærd standard Business
Central, eller noget vi har bygget?"
- **Hvad siger Microsoft?** — Feynman kan slå op i Microsofts egen kode og
officielle dokumentation, ikke kun i vores.
Jo mere konkret du spørger, jo bedre bliver svaret. Nævn gerne: hvilken kunde
eller kundetype, hvilket skærmbillede, og hvad du forventede der skulle ske.
## Sådan læser du et svar
Hvert svar kommer i tre dele:
- **Svar** — på almindeligt dansk
- **Kilde** — præcis hvor svaret kommer fra (fil eller dokumentationsside)
- **Sikkerhed** — om det står direkte i kilden, er udledt, eller om Feynman
faktisk ikke ved det
Feynman siger "det ved jeg ikke", når det er sandheden. Det er med vilje — et
ærligt "ved ikke" er mere værd end et flot gæt.
## Når svaret kræver en udvikler
Nogle gange er svaret på dit spørgsmål "det ligner en fejl" eller "det kan
systemet ikke i dag". Så skriver Feynman et **Feynman-notat** — en struktureret
beskrivelse med kildehenvisninger, klar til at en udvikler kan tage over.
**Din opgave:** kopiér notatet og send det til udvikleren (mail eller Teams).
Du behøver ikke omformulere noget — notatet er skrevet, så udvikleren kan gå
direkte i gang uden at skulle interviewe dig først.
## Hvad du ikke kan (med vilje)
Din adgang er **læseadgang**. Du kan ikke ændre kode, slette noget eller
komme til at ødelægge noget — heller ikke ved et uheld. Det er ikke en
begrænsning, det er en tryghed: du kan spørge frit og eksperimentere med
spørgsmål uden risiko.
God fornøjelse — og husk: der findes ikke dumme spørgsmål, kun udokumenterede
svar.
*Oprettet {SETUP_DATE} — CURABIS Standard, support-profil (Mode C)*