73 lines
3.1 KiB
Markdown
73 lines
3.1 KiB
Markdown
---
|
|
name: okr:rapport
|
|
description: Generer rapport fra en OKR-syklus - tertialrapport med committed og aspirational holdt fra hverandre
|
|
allowed-tools: Read, Bash, Glob
|
|
argument-hint: "[tertial] (arsrapport og etatsstyring kommer senere)"
|
|
---
|
|
|
|
# OKR Rapport - Generer styringsrapport fra syklusdata
|
|
|
|
Bygg en rapport direkte fra KR-tallene i syklusens `okr-*.md`-filer. Generatoren
|
|
er deterministisk: samme data gir samme dokument, hver gang.
|
|
|
|
## Hva generatoren eier - og hva den ikke eier
|
|
|
|
Generatoren eier **aritmetikken, tabellstrukturen og formateringsinvariantene**:
|
|
den beregner score, holder committed og aspirational fra hverandre, og skriver
|
|
skalaforklaringen som hindrer at 0.7 leses som «70 % av maalet».
|
|
|
|
Den eier **aldri confidence**. Confidence-kolonnen staar tom med vilje.
|
|
`okr-framework.md` er eneste sannhetskilde for On Track / At Risk / Off Track, og
|
|
`okr-calculator.md` avviser mekanisk utledning eksplisitt - gapet mellom faktisk
|
|
og forventet score er *ett innspill* til vurderingen, ikke en regel. En generator
|
|
som satte trafikklyset selv ville oppfunnet en terskel doktrinen forbyr.
|
|
Confidence fylles derfor ut i `/okr:sporing`, der skjoennet hoerer hjemme.
|
|
|
|
Score lagres heller aldri til fil - den beregnes fra `baseline`/`target`/`naa`
|
|
hver gang, slik at det ikke oppstaar en andre sannhetskilde som kan drifte.
|
|
|
|
## Forutsetninger
|
|
|
|
- Node.js 22 eller nyere. Ingen npm-avhengigheter.
|
|
- Syklusens OKR-filer maa baere KR-datakontrakten i frontmatter
|
|
(`krN_navn`, `krN_baseline`, `krN_target`, `krN_naa`, `krN_type`) - se
|
|
`/okr:skriv`. Mangler tallene, sier generatoren fra i stedet for aa gjette.
|
|
|
|
## Arbeidsflyt
|
|
|
|
1. **Finn syklusen** - list katalogene med Glob (`.claude/okr/syklus/*/`). Er det
|
|
flere, spoer brukeren hvilken. Er det ingen, si det og stopp (`/okr:oppsett`
|
|
setter opp treet).
|
|
|
|
2. **Kjoer generatoren** via Bash:
|
|
```bash
|
|
node ${CLAUDE_PLUGIN_ROOT}/scripts/syklus-rapport.mjs .claude/okr/syklus/[syklus-id] tertial
|
|
```
|
|
|
|
3. **Tolk exit-koden**:
|
|
- `0` - rapporten er skrevet til `rapport-tertial.md` i syklus-katalogen.
|
|
Oppsummer for brukeren: hvilken syklus, hvor mange OKR, og at
|
|
Confidence-kolonnen skal fylles ut i `/okr:sporing`.
|
|
- `1` - domenefeil: syklusdataene er ufullstendige. Meldingen navngir KR-en og
|
|
feltet som mangler. Be brukeren fylle inn tallene i OKR-fila (formatet staar
|
|
i `/okr:skriv`), og kjoer om igjen.
|
|
- `2` - bruksfeil: feil antall argumenter, ukjent rapportform, eller
|
|
syklus-katalogen finnes ikke. Sjekk stien mot Glob-resultatet fra steg 1.
|
|
|
|
4. **Les rapporten** og gjennomgaa den med brukeren. Vaer spesielt tydelig paa
|
|
committed-avvik: et committed KR under target er et avvik som skal forklares,
|
|
ikke et middels resultat.
|
|
|
|
## Rapportformer
|
|
|
|
| Form | Status |
|
|
|------|--------|
|
|
| `tertial` | Tilgjengelig |
|
|
| `arsrapport` | Ikke implementert ennaa - kommandoen svarer med exit 2 |
|
|
| `etatsstyring` | Ikke implementert ennaa - kommandoen svarer med exit 2 |
|
|
|
|
## Relatert
|
|
|
|
- `/okr:skriv` - KR-datakontrakten rapporten leser
|
|
- `/okr:sporing` - check-in og confidence-vurdering
|
|
- `/okr:analyse` - trender paa tvers av sykluser
|