Lukker de fire release-relevante MAJOR-funnene fra /trekreview (S33). Alle TDD
roed -> groenn, ingen fiks landet uten en test som feilet foerst. Suite 163 -> 167.
R1 (af16d5e4) hooks/scripts/coaching-hook.mjs:83 -- LEVENDE REGRESJON innfoert av
1.8.0. Denne releasen skrev status-malen (commands/sporing.md:86-88) om til den
kanoniske skalaen On Track/At Risk/Off Track, mens hooken fortsatt talte kun
/i fare|blokkert/i over tabellrader. En status generert under 1.8.0 ga derfor
atRiskCount = 0 og SessionStart-nudgen sluttet stille aa utloese seg. Hooken
teller naa de kanoniske etikettene; de to norske er BEHOLDT som bakover-
kompatibilitet for status-filer skrevet foer 1.8.0. Nudge-teksten bruker samme
kanoniske vokabular. Ny testcase mates av malen slik den faktisk genereres i dag;
den eksisterende casen beholder gammelt vokabular og daekker legacy-stien.
R2 (7ec575be) F-i-omskrivingen ga hver kommando en Kontekstbevissthet-blokk som
INSTRUERER Glob, men allowed-tools ble kun utvidet i kaskade.md. Glob lagt til i
export, gap, governance, innfoering, kvalitet, moeter, skriv, sporing. Ny vakt-
case (k): nevner BODY verktoeyet, maa frontmatter deklarere det (13 kommandoer
instruerer Glob; alle 13 dekket). Case (i) grepper kun etter fjernede fraser og
kunne ikke fange dette.
R3 (5e61ae0d) tests/package-shape.test.mjs asserterte KUN package.json -- som er
private:true og dermed den ene flaten som aldri shipper. En delvis bump ville
shippet groenn. Ny versjonssync-case dekker .claude-plugin/plugin.json, README-
badgen og begge SKILL.md, med forventet verdi UTLEDET fra package.json (ett sted
aa endre ved neste bump). Mutasjonsbevist: hver av de fire flatene tilbakestilt
til 1.7.1 en om gangen -> casen roed i alle fire tilfeller.
R4 (ccff16e1 + 231c53fc) Tre parallelle confidence-etikettsett overlevde F-c:
fremdriftssporer-agent.md:68 ("Paa sporet / I fare / Blokkert"), :98
("Confidence: [Hoey/Medium/Lav]" -- en annen akse: stoerrelse, ikke sannsynlighet)
og SKILL.md:48 ("blocked"; kanonisk er "off track"). Alle tre erstattet med
referanse til kanon (okr-framework.md:389-392). sporing.md og agenten den
delegerer til svarer naa i samme vokabular. Vakt-case (a)/(b) skanner naa samme
sett som (d) allerede brukte (+ agents/ + SKILL.md), samlet i canonScan(). Ny
case (a2) fanger etikettsett skrevet som bullet eller mal-linje -- tabell-
signaturen alene fanget dem ikke, og det var nettopp formen driften overlevde i.
Divergens gjenkjennes STRUKTURELT (skraastrek-enumerasjon av >= 2 etiketter, med
>= 1 ikke-kanonisk), saa loepende prosa som "For KR i fare" og "Blokkert av
eksterne faktorer" ikke gir falske positive. Verifisert: roed-listen var noeyaktig
de 3 kjente linjene, ingen andre.
CHANGELOG/README: vakt-antall 13 -> 15 cases, suite 149 -> 167, og de fire
fiksene lagt inn under [1.8.0] (Added + Fixed). Ingen versjonsbump.
GJENSTAAR fra reviewet (3 MAJOR, IKKE i denne bolgen): 607313e3 F-d-kadens-
moensteret kan ikke feile paa den kanoniske kadens-tabellen; 029ef814
freshen-references.md:24 baerer fortsatt en foreldet kontekstblokk og vaktens
exclude-kommentar kaller fila feilaktig "allerede-fikset" (den er utenfor
1.8.0-scope by design, jf. ba91fc2 -- kommentaren er usann, ikke ekskluderingen);
7579d59c "Outcome" er utestbar i 10-dims-casen pga. substring-containment.
Verify: node --test --test-reporter=tap tests/*.test.mjs -> 167 pass / 0 fail.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016pUfkQ1YyH75z9y6RBaBHG
5.7 KiB
| name | description | allowed-tools | argument-hint |
|---|---|---|---|
| okr:gap | Automatisk gap-analyse mellom tildelingsbrev og gjeldende OKR | Read, AskUserQuestion, Task, Glob | [tildelingsbrev-fil eller tomt for auto-deteksjon] |
OKR Gap-analyse — Tildelingsbrev vs OKR
Analyser automatisk om gjeldende OKR dekker kravene i tildelingsbrevet, og om OKR har forankring i styrende dokumenter.
Bruk /okr:gap når du trenger en kvantitativ dekningsmatrise mellom tildelingsbrev og gjeldende OKR (hvilke krav er dekket, hvilke mangler). For kvalitativ oversettelse av tildelingsbrev til OKR + Riksrevisjon-compliance, bruk
/okr:governance.
Kontekstbevissthet
Hooken for-injiserer ikke lenger en fil-liste — den emitterer kun kjerne-profil
- en peker til wikien. Oppdag styringskonteksten direkte fra disk FØR du spør brukeren:
- Glob
.claude/okr/strategisk-kontekst/tildelingsbrev-*.md— finnes en, les den automatisk. Finnes flere, spør hvilken som gjelder. - Glob
.claude/okr/syklus/*/for de OKR som skal måles mot kravene — les dem automatisk. - Glob
.claude/okr/strategisk-kontekst/overordnede-okr.md— finnes den, les den for org-nivå alignment. - Trenger du bredere kontekst fra brukerens wiki, invoker
okr-second-brain-search. - Bruk aldri generisk rådgivning når spesifikke data er tilgjengelig.
Arbeidsflyt
1. Datainnsamling
Auto-les fra persistent context:
- Tildelingsbrev:
.claude/okr/strategisk-kontekst/tildelingsbrev-*.md- Hvis flere tildelingsbrev finnes: spør brukeren hvilken å bruke
- Hvis ingen finnes: be brukeren lime inn tekst eller lagre med
/okr:oppsett full
- Gjeldende OKR:
.claude/okr/syklus/[id]/okr-*.md- Hvis ingen finnes: informer og anbefal
/okr:skriv
- Hvis ingen finnes: informer og anbefal
- Overordnede OKR:
.claude/okr/strategisk-kontekst/overordnede-okr.md- Valgfritt — brukes for å vise org-nivå dekning
2. Tildelingsbrev-parsing
Les referansemateriale:
${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md
Ekstraher individuelle krav fra tildelingsbrevet. Kategoriser hvert krav etter
innholdsklassifiseringen i /okr:governance (Driftskrav → KPI-dashboard,
Resultatmål med tall → Key Result-kandidat, Strategiske satsinger →
Objective-kandidat, Rapporteringskrav → rapporteringsrutine, Budsjettføringer →
økonomioppfølging, Særskilte oppdrag → case by case). Se /okr:governance for
full tabell — denne kommandoen dupliserer den ikke.
3. OKR-mapping (tildelingsbrev → OKR)
For hvert OKR-relevant krav i tildelingsbrevet:
- Søk i gjeldende OKR etter dekning (nøkkelord, semantisk match, eksplisitt referanse)
- Vurder om noen KR måler det kravet etterspør
- Klassifiser:
| Status | Beskrivelse |
|---|---|
| Dekket | OKR eller KR dekker kravet eksplisitt |
| Delvis dekket | Relatert OKR finnes men dekker ikke kravet fullstendig |
| Udekket | Ingen OKR adresserer dette kravet |
4. Reverse-mapping (OKR → tildelingsbrev)
For hver gjeldende OKR:
- Spor tilbake til tildelingsbrev-krav
- Klassifiser:
| Forankring | Beskrivelse |
|---|---|
| Forankret | Tydelig kobling til tildelingsbrev-krav |
| Indirekte forankret | Relatert til overordnet strategi |
| Fristilt | Ingen governance-forankring (OK for aspirational OKR) |
5. Rapport-generering
Bruk følgende output-format.
Output-format
## Gap-analyse: Tildelingsbrev vs OKR
**Tildelingsbrev:** [filnavn eller kilde]
**OKR-kilde:** [syklusmappe eller manuelt oppgitt]
**Analysedato:** [dato]
**Org-OKR:** [ja/nei — om overordnede-okr.md ble brukt]
---
### Dekningsmatrise
| # | Tildelingsbrev-krav | Type | Dekket av | Status |
|---|---------------------|------|-----------|--------|
| 1 | [krav-tekst] | Resultatmål | O1/KR2 | dekket |
| 2 | [krav-tekst] | Strategisk satsing | O2 | delvis dekket |
| 3 | [krav-tekst] | Resultatmål | — | udekket |
### Udekte krav (gap)
For hvert udekket krav:
#### Krav [N]: [tittel]
**Sitat:** > "[fra tildelingsbrev]"
**Type:** [kategori]
**Anbefalt handling:**
- [Forslag til OKR-formulering som dekker kravet]
- [Alternativ: Følg opp som KPI hvis driftskrav]
### OKR uten tildelingsbrev-forankring
| OKR | Type | Forankring |
|-----|------|------------|
| O1: [tekst] | Committed | Forankret i krav 1, 4 |
| O3: [tekst] | Aspirational | Fristilt (OK for stretch) |
### Sammendrag
- **Tildelingsbrev-krav totalt:** [N]
- **OKR-relevante krav:** [N]
- **Dekket:** [N] ([%])
- **Delvis dekket:** [N] ([%])
- **Udekket:** [N] ([%]) — krever handling
- **OKR uten forankring:** [N] (OK hvis aspirational)
### Anbefalte neste steg
1. [Handling for å lukke viktigste gap]
2. [Bruk /okr:skriv for å lage OKR for udekte krav]
3. [Bruk /okr:kvalitet for å sjekke de nye OKR]
Håndtering av ufullstendig data
| Situasjon | Handling |
|---|---|
| Tildelingsbrev mangler | "Ingen tildelingsbrev funnet i .claude/okr/strategisk-kontekst/. Lim inn tekst eller lagre tildelingsbrev med /okr:oppsett full (fase 3)." |
| OKR mangler | "Ingen OKR funnet i gjeldende syklus. Bruk /okr:skriv for å opprette." |
| Begge mangler | "Verken tildelingsbrev eller OKR funnet. Start med /okr:oppsett for å sette opp kontekst." |
| Kun tildelingsbrev | Kjør tildelingsbrev-parsing og vis forslag til OKR. |
| Kun OKR | Vis OKR-oversikt uten gap-analyse, oppfordre til å legge inn tildelingsbrev. |
Delegering
Bruk Task for å sende analysen til gapanalytiker-agenten for detaljert analyse. Send med: tildelingsbrev-innhold, OKR-innhold, og overordnede-okr hvis tilgjengelig. Motta tilbake ferdig dekningsmatrise.
Referanser
${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-arshjul.md