--- name: okr:sporing description: Spor OKR-fremgang, beregn score og generer check-in rapporter allowed-tools: Read, Bash, AskUserQuestion, Task, ToolSearch, Glob argument-hint: "[OKR eller tall for oppdatering]" --- # OKR Sporing - Fremgang og scoring Hjelp brukeren med å spore OKR-fremgang, beregne score og strukturere check-ins. ## Kontekstbevissthet Hooken for-injiserer ikke lenger en fil-liste — den emitterer kun kjerne-profil + en peker til wikien. Oppdag OKR-konteksten direkte fra disk FØR du spør brukeren: - Glob `.claude/okr/syklus/*/` for de OKR-filene som skal spores — les dem direkte i stedet for å be brukeren lime inn OKR-tekst. - Glob `.claude/okr/syklus/*/status.md` for forrige statusrapport i samme syklus, så fremgang måles mot sist rapporterte verdi og ikke mot baseline alene. - Trenger du bredere kontekst fra brukerens wiki, invoker `okr-second-brain-search`. - Kjenner du allerede organisasjon og syklus fra kjerne-profilen: hopp over de spørsmålene. ## Scoring-system **Skala**: 0.0 - 1.0 | Score | Betydning | Typisk for | |-------|-----------|------------| | 1.0 | 100% oppnådd | Committed mål | | ≈0.7 | Sweet spot — 0.7 = forventet for aspirational; 0.6-0.7 = sweet spot (Google/Doerr) | Aspirational mål | | 0.5-0.7 | Delvis suksess | Trenger analyse | | < 0.5 | Ikke oppnådd | Trenger intervensjon | ### Beregningsformel ``` Score = (Nåværende - Baseline) / (Target - Baseline) ``` ## Arbeidsflyt ### Ved statusoppdatering 1. **Samle inn tall** — les OKR-filer fra `.claude/okr/syklus/[id]/` (hvis tilgjengelig fra system-kontekst) eller be brukeren oppgi OKR. Spør med AskUserQuestion: - Nåværende verdi for hver KR - Baseline og target (hvis ikke kjent) - Dato for måling Er `/okr:rapport tertial` kjørt for syklusen, finnes tallene allerede i `rapport-tertial.md` — les den i stedet for å spørre om dem på nytt. Confidence-kolonnen der står tom med vilje: generatoren eier aritmetikken, denne kommandoen eier vurderingen. Det er den kolonnen du fyller i steg 3. 2. **Beregn score** per KR, og oppsummer **per type** — aldri som ett felles tall. Committed og aspirational måles mot hver sin målestokk, og et aggregat på tvers av dem er tvetydig (`okr-framework.md`, committed/aspirational-skillet): - **Committed:** hvor mange KR som har nådd kravet. Et committed KR er nådd eller ikke; et snitt av binære krav er ikke en størrelse. - **Aspirational:** snittet på tvers av aspirational-KR. Rundt 0.7 er forventet måloppnåelse, ikke svikt. 3. **Vurder confidence** — sett nivået fra den **kanoniske confidence-tabellen i `okr-framework.md`** (On Track 🟢 / At Risk 🟡 / Off Track 🔴, sannsynlighet for å nå target). Innfør ingen egne nivåer eller terskler her. Trend er ett *innspill* til vurderingen: peker den mot target, flater den ut, eller har fremgangen stoppet? 4. **Skriv `status.md` med scriptet — aldri for hånd.** Du eier vurderingen; generatoren eier tallene. Lever confidence som JSON på stdin, ett oppslag fra KR-navn (nøyaktig som i `kr*_navn`) til etikett: ```bash node ${CLAUDE_PLUGIN_ROOT}/scripts/syklus-status.mjs .claude/okr/syklus/[id] <<'JSON' { "Andel digitale søknader (prosent)": "At Risk", "Gjennomsnittlig saksbehandlingstid (dager)": "On Track" } JSON ``` Etikettene er det lukkede vokabularet fra `okr-framework.md`: `On Track`, `At Risk`, `Off Track`. Alle KR i syklusen må ha en etikett — scriptet nekter å skrive en fil med tomme celler, fordi en slik fil ser vurdert ut uten å være det, og konsumentene ville lest den som grønn. **Skriv aldri av tallene selv.** Scriptet bygger radene med samme kode som `/okr:rapport`, så score og avvik i `status.md` er de samme bytene der. Exit-koder: `0` skrevet · `1` domenefeil (ugyldig eller manglende etikett, eller en håndholdt `status.md` i veien — den overskrives aldri) · `2` bruksfeil (feil argument, katalogen finnes ikke, ugyldig JSON). 5. **Presenter resultatet** med anbefalte tiltak, og pek på fila som ble skrevet. ### Ved ukentlig check-in Generer en strukturert check-in: 1. Status på hver KR (traffic light) 2. Blokkere og støttebehov 3. Beslutninger som trengs 4. Fokus neste periode ## Fila scriptet skriver `.claude/okr/syklus/[id]/status.md` er et OKF-konsept i second-brain-treet, ikke løs markdown. Scriptet setter frontmatteren selv — `type: Status` (uten den feller `okf-check` hele roten) og `kilde: sporing`, provenans-nøkkelen som gjør at en senere kjøring vet at fila er generert og trygt kan erstatte den. Etikettene er ASCII, uten emoji, som resten av den maskingenererte flaten; `coaching-hook` matcher på ordene. Forkortet utdrag av resultatet: ```markdown --- type: Status title: Statusrapport T1-2026 timestamp: "2026-05-01T10:00:00.000Z" kilde: sporing --- # Statusrapport T1-2026 ## Committed Key Results Committed KR maales binaert mot kravet: kravet er naadd eller ikke. En score under 1.0 er et avvik som skal forklares, ikke et godt resultat. ### Trafikksikkerhet og tunnelsikkerhet | KR | Baseline | Target | Naa | Score | Avvik | Confidence | |----|----------|--------|-----|-------|-------|------------| | Tunneler med oppgradert sikkerhetsutrustning (antall) | 12 | 20 | 17 | 0.63 | Ja | At Risk | ## Avvik som skal forklares ## Aspirational Key Results | KR | Baseline | Target | Naa | Score | Avvik | Confidence | |----|----------|--------|-----|-------|-------|------------| | Andel digitale søknader (prosent) | 60 | 85 | 63 | 0.12 | - | At Risk | **Snitt aspirational: 0.23** over 2 KR. ``` Rammeteksten om committed, avvik og aspirational kommer fra generatoren — du skal ikke skrive den om. Det du eier, og som ikke finnes i fila, er **tiltakene**: presenter dem i svaret ditt. **Eksempel på anbefalte tiltak:** 1. Prioriter oppgraderingen av de tre gjenstående tunnelene — kravet er et avvik, ikke et delresultat. 2. Kjør brukerundersøkelse på selvbetjeningsløsningen før neste måling. ## Linear-integrasjon Hvis Linear er konfigurert (sjekk med ToolSearch): 1. Hent aktive OKR-issues 2. Oppdater status-felt 3. Legg til kommentar med score ## Referanser - `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-calculator.md` — beregningsformler - `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-framework.md` — scoring-metodikk - `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/metrics-library.md` — metrikkbibliotek for offentlige KR - `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-integrations.md` — Linear-/verktøyintegrasjon for statussporing