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
6.3 KiB
| name | description | allowed-tools | argument-hint |
|---|---|---|---|
| okr:skriv | Skriv nye OKR med veiledning for Objectives og Key Results | Read, AskUserQuestion, Task, Glob | [mål, strategi, eller tildelingsbrev-kontekst] |
OKR Skriv - Lag nye OKR
Hjelp brukeren med å skrive nye OKR for norsk offentlig sektor.
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 eksisterende OKR i syklusen — les dem direkte i stedet for å be brukeren lime inn innhold. - Glob
.claude/okr/strategisk-kontekst/overordnede-okr.md— finnes den, les den for alignment-context, så nye OKR kobles til org-nivå. - Glob
.claude/okr/strategisk-kontekst/tildelingsbrev-*.md— finnes en, bruk den som kilde til styringskrav i stedet for å spørre etter strategimål. - 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.
Arbeidsflyt
-
Forstå kontekst — sjekk injisert kontekst først. Hvis organisasjon, syklus og strategiske mål allerede er kjent, hopp direkte til Objective Crafter med disse som utgangspunkt. Spør kun med AskUserQuestion om det som mangler:
- Hvilket team/avdeling?
- Overordnet strategimål de skal bidra til?
- Hvilken syklus (T1, T2, T3)?
- Har de input (vag idé, strategi, eller tildelingsbrev)?
-
Velg riktig tilnærming basert på input:
- Vag idé → Start med Objective Crafter
- Har Objective, trenger KR → Gå til KR Generator
- Har strategi/tildelingsbrev → Start med Strategi-til-OKR
- Trenger å kalibrere ambisjon → Bruk Moonshot/Roofshot
-
Les relevant referansemateriale:
${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-framework.md— metodikk og scoring${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-examples.md— gode og dårlige eksempler
-
Lever output og foreslå neste steg (kvalitetssjekk, kaskadering).
Objective Crafter
Transformer uklare ambisjoner til inspirerende Objectives.
Kriterier for gode Objectives
Et godt Objective er:
- Inspirerende — ville folk bli stolte av å oppnå dette?
- Outcome-fokusert — resultat, ikke aktivitet
- Oppnåelig innen 4-måneders syklus
- Klart nok til å guide prioriteringer
- Ikke målbart — det er Key Results sin jobb
Anti-eksempler
| Dårlig | Bedre | Problem |
|---|---|---|
| "Forbedre kundeservice" | "Levere raskere support for søknadsbehandling" | Vag |
| "Implementere nytt system" | "Gi saksbehandlere sanntids innsikt" | Aktivitet |
| "Digitalisere etaten" | "Gjøre tjenestefornyelse friksjonsfri" | For bredt |
| "Øke kundetilfredshet til 4.5" | "Bli den mest responsive serviceenheten i etaten" | Har tall (= KR) |
Output-format
For hvert forslag (2-3 stk):
- Objective-tekst (én setning)
- Hvorfor: 1-2 setninger om hvorfor dette betyr noe
- Suksess: Konkret eksempel på hva som er annerledes
Ranger fra best til minst egnet.
KR Generator
Generer målbare Key Results for et gitt Objective.
Kriterier for gode Key Results
- Målbare med tall — baseline → target
- Outcome-fokusert — måler resultat, ikke aktivitet
- 2-5 stk per Objective — typisk 3
- Balanserte — minst én per dimensjon (kvantitet, kvalitet, hastighet)
- Har datakilde — vet hvor tallene kommer fra
Typer Key Results
| Type | Eksempel | Når bruke |
|---|---|---|
| Metrisk | "Redusere saksbehandlingstid fra 14 til 5 dager" | Har baseline-data |
| Milepæl | "Lansere ny portal for brukertesting innen 1. august" | Binært resultat |
| Prosentandel | "Øke andel digitale søknader fra 60% til 85%" | Relativ endring |
Output-format per KR
KR[n]: [Formulering med baseline → target]
- Målemetode: [Hvordan måles dette]
- Datakilde: [Hvor hentes tallene]
- Type: Committed / Aspirational
Strategi-til-OKR
Når brukeren har strategidokument eller tildelingsbrev som input:
- Parse input — identifiser konkrete mål og forventninger
- Kategoriser:
- Driftskrav ("Oppretthold X") → KPI, ikke OKR
- Resultatmål med tall → Key Result-kandidat
- Strategiske satsinger → Objective-kandidat
- Rapporteringskrav → Rapporteringsrutine, ikke OKR
- Transformer OKR-kandidater — gjør inspirerende, outcome-fokusert
- Vis kobling — fra kilde til OKR
Moonshot/Roofshot-kalibrering
Hjelp med å balansere committed vs aspirational mål.
| Type | Mål-score | Karakter |
|---|---|---|
| Committed (Roofshot) | 1.0 | Må oppnås — regulatorisk, sikkerhet |
| Aspirational (Moonshot) | 0.7 | Stretch — innovasjon, forbedring |
Anbefalt balanse
- ~60% Committed, ~40% Aspirational
- Alle team bør ha minst ett aspirational mål
- Nye OKR-team: Start med 70/30 committed/aspirational
Eksempel på komplett output
Når en OKR lagres som konsept-fil i second-brain-treet
(.claude/okr/syklus/[id]/okr-[team].md), bær den OKF-frontmatter (påkrevd
type: OKR + anbefalt resource/title/description/tags-liste/timestamp):
---
type: OKR
resource: ".claude/okr/syklus/T2-2026/okr-digital.md"
title: "OKR Digital avdeling T2-2026"
description: "Gjøre tjenestefornyelse friksjonsfri"
tags:
- digital
- tjenestefornyelse
timestamp: "[ISO-8601]"
---
## OKR for Digital avdeling — T2-2026
**Objective**: Gjøre tjenestefornyelse til en friksjonsfri opplevelse
**Key Results**:
1. Øke andel heldigitale fornyelser fra 45% til 75%
- Datakilde: Fagsystemet, månedlig rapport
- Type: Aspirational
2. Redusere gjennomsnittlig behandlingstid fra 14 til 5 arbeidsdager
- Datakilde: Saksbehandlingssystemet
- Type: Committed
3. Oppnå brukertilfredshet 4.2 av 5.0 (baseline: 3.4)
- Datakilde: Innbyggerundersøkelsen, kvartalsmåling
- Type: Aspirational
Referanser
${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-framework.md— full metodikk${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-examples.md— eksempler${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-cheatsheet.md— hurtigreferanse for OKR-formulering