feat: add okr plugin v1.0.0 — OKR guidance for Norwegian public sector

Expert OKR guidance based on Google/Doerr methodology, adapted for
4-month tertial cycles and Norwegian government accountability.

Components:
- 8 commands (skriv, kvalitet, kaskade, sporing, møter, innføring, governance, oppsett)
- 5 agents (kvalitetssjekker, kaskadebygger, fremdriftssporer, møtefasilitator, styringsrådgiver)
- 3 hooks (UserPromptSubmit context injection, PreCompact state preservation, Stop reminder)
- 15 reference files covering methodology, governance, meetings, antipatterns
- Linear MCP integration for OKR tracking

Previously in ktg-privat, now open-sourced.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-04-08 13:32:45 +02:00
commit 5078712f0e
42 changed files with 7341 additions and 0 deletions

View file

@ -0,0 +1,103 @@
---
name: okr:governance
description: Koble OKR til tildelingsbrev, politisk styring og Riksrevisjon-krav
allowed-tools: Read, AskUserQuestion, Task
argument-hint: "[tildelingsbrev, revisjonsrapport, eller spørsmål]"
---
# OKR Governance - Offentlig sektor styring
Hjelp brukeren med å koble OKR til styringsmekanismer i norsk offentlig sektor.
## Styringsrammeverk
```
Stortingsmelding / NTP
Tildelingsbrev fra departement
Etatsstrategi
Årlige OKR (strategiske)
Syklus-OKR (taktiske)
Team-OKR
```
## Arbeidsflyt
### Oversette tildelingsbrev til OKR
1. **Motta tildelingsbrev** — bruker deler relevant del
2. **Les referansemateriale**:
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md` — full veiledning
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-arshjul.md` — synkronisering med budsjettprosess
3. **Kategoriser innholdet**:
| Type innhold | OKR-egnet | Riktig håndtering |
|--------------|-----------|-------------------|
| Driftskrav ("Oppretthold X") | Lav | KPI-dashboard |
| Resultatmål med tall | Høy | Key Result-kandidat |
| Strategiske satsinger | Høy | Objective-kandidat |
| Rapporteringskrav | Lav | Rapporteringsrutine |
| Budsjettføringer | Lav | Økonomioppfølging |
| Særskilte oppdrag | Medium | Case by case |
4. **Transformer til OKR**:
- Gjør inspirerende (tildelingsbrev er teknisk)
- Fokuser på outcome for innbygger/samfunn
- Sett KR med baseline → target
- Marker Committed (regulatorisk) eller Aspirational (forbedring)
5. **Vis kobling** mellom tildelingsbrev og OKR
### Riksrevisjon-sjekk
Verifiser at OKR-arbeidet tåler ekstern revisjon:
**Dokumentasjonssjekk:**
| Element | Krav | Eksempel |
|---------|------|----------|
| Baseline | Dokumentert verdi ved start | "95 drepte i 2025 (kilde: SSB)" |
| Target | Konkret målverdi | "85 drepte i 2026" |
| Datakilde | Spesifisert og verifiserbar | "SSB tabell 08463" |
| Metode | Hvordan måles det | "Årlig statistikk per 31.12" |
| Ansvarlig | Hvem eier målet | "Trafikksikkerhetsdirektør" |
**Etterprøvbarhet:**
- Kan en ekstern revisor verifisere tallene?
- Er det sporbarhet fra aktivitet til resultat?
- Er rapportering konsistent over tid?
- Er avvik forklart?
## Eksempel: Tildelingsbrev → OKR
**Fra tildelingsbrev:**
> "Statens vegvesen skal bidra til å redusere antall drepte og hardt skadde i trafikken med 50% innen 2030, sammenlignet med 2020-nivå."
**Som OKR (årlig):**
```
Objective: Redusere alvorlige trafikkulykker mot 2030-målet
KR1: Redusere drepte fra 95 (2025) til 85 (2026)
Datakilde: SSB tabell 08463 | Type: Committed
KR2: Redusere hardt skadde fra 650 til 600
Datakilde: SSB | Type: Committed
KR3: 100% av høyrisiko-strekninger har tiltak iverksatt
Datakilde: Intern tiltaksplan | Type: Aspirational
```
## Politisk styring og OKR
Politiske signaler kan endre seg midt i syklusen:
1. Strategiske OKR (årlige) er mer stabile
2. Syklus-OKR kan justeres ved vesentlige endringer
3. Dokumenter begrunnelse for justeringer
4. Kommuniser endringer tydelig
## Referanser
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md` — full governance-veiledning
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-arshjul.md` — årshjul og budsjettprosess

View file

@ -0,0 +1,114 @@
---
name: okr:innføring
description: Planlegg OKR-innføring, håndter motstand og vurder organisasjonens modenhet
allowed-tools: Read, AskUserQuestion, Task
argument-hint: "[fase, utfordring, eller modenhetsvurdering]"
---
# OKR Innføring - Endringsledelse og modenhet
Hjelp brukeren med å innføre OKR i organisasjonen på en bærekraftig måte.
## Arbeidsflyt
1. **Kartlegg situasjon** — spør med AskUserQuestion:
- Hvor er dere i innføringsløpet? (planlegger / pilot / utrulling)
- Hva er den største utfordringen nå?
- Har dere ledelsesforankring?
2. **Les referansemateriale**:
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-implementation.md` — full innføringsmetodikk
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md` — feil å unngå
3. **Velg riktig tilnærming** basert på brukerens situasjon
## Innføringsfaser
### Fase 1: Forberedelse (4-6 uker)
- Sikre ledelsesforankring
- Velg pilot-team
- Definer suksesskriterier
- Planlegg opplæring
### Fase 2: Pilot (1-2 sykluser)
- Kjør OKR med pilot-team
- Tett oppfølging og støtte
- Samle læring
- Juster tilnærming
### Fase 3: Utrulling (2-4 sykluser)
- Gradvis utvidelse
- Champions-nettverk
- Etabler rytme
- Dokumenter praksis
### Fase 4: Modning (løpende)
- Kontinuerlig forbedring
- Integrasjon med andre prosesser
- Kulturbygging
## Motstand og håndtering
| Innvending | Underliggende bekymring | Håndteringsstrategi |
|------------|------------------------|---------------------|
| "Vi har allerede KPI-er" | Frykt for dobbeltarbeid | OKR erstatter ikke KPI-er, men gir strategisk retning. Vis samspillet. |
| "Ledelsen bruker dette mot oss" | Evalueringsfrykt | OKR skal aldri kobles til evaluering/lønn. Kommuniser dette eksplisitt. |
| "Vi har ikke tid" | Arbeidspress | OKR sparer tid ved å prioritere det viktigste. Start lite. |
| "Det passer ikke offentlig sektor" | Skepsis til privat-sektor metoder | Vis tilpassingen: tertial-sykluser, tildelingsbrev-kobling, compliance. |
| "Vi prøvde dette før" | Tidligere feil | Spør hva som gikk galt. Adresser spesifikke problemer. |
## OKR Modenhetsvurdering
Bruk denne for å vurdere hvor langt organisasjonen har kommet.
### 7 vurderingsdimensjoner
| Dimensjon | Nivå 1 (Begynner) | Nivå 3 (Etablert) | Nivå 5 (Innovativ) |
|-----------|--------------------|--------------------|---------------------|
| Formulering | Vag, aktivitetsbasert | Outcome-fokusert, målbart | Inspirerende, strategisk alignet |
| Rytme | Ad hoc | Fast syklus med check-ins | Integrert i alle prosesser |
| Alignment | Ingen kaskade | Vertikal alignment | Horisontal og vertikal |
| Kultur | Top-down påtvunget | Akseptert av team | Team-drevet, eierskap |
| Scoring | Ikke gjort | Konsistent 0.0-1.0 | Brukt aktivt til læring |
| Ledelse | Delegert bort | Aktiv sponsing | OKR-ambassadører |
| Verktøy | Regneark/Word | Dedikert OKR-verktøy | Integrert med arbeidsflyt |
### Modenhetsnivåer
| Nivå | Beskrivelse | Typiske kjennetegn |
|------|-------------|-------------------|
| 1 | Begynner | Første forsøk, mangler struktur |
| 2 | Utviklende | Har rytme, men kvalitetsutfordringer |
| 3 | Etablert | God praksis, alignment på plass |
| 4 | Optimalisert | Kontinuerlig forbedring, kultur |
| 5 | Innovativ | OKR driver innovasjon og transformasjon |
## 12-ukers pilotplan
```
## OKR Pilot - [Avdeling]
Uke 1-2: Forberedelse
- Lederworkshop (2t)
- Velg 2 pilot-team
- Definer suksesskriterier
Uke 3-4: Opplæring
- OKR-grunnkurs for teamene (3t)
- Planleggingsworkshop per team
Uke 5-16: Pilot-syklus
- Ukentlige check-ins
- Månedlig review med sponsor
- Dokumenter læring
Uke 17-18: Evaluering
- Modenhetsvurdering
- Læringsdokument
- Beslutning om utrulling
```
## Referanser
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-implementation.md` — full innføringsmetodikk
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md` — feil å unngå

View file

@ -0,0 +1,90 @@
---
name: okr:kaskade
description: Kaskader OKR fra organisasjon til team og visualiser alignment
allowed-tools: Read, AskUserQuestion, Task
argument-hint: "[overordnet OKR eller team]"
---
# OKR Kaskade - Alignment mellom nivåer
Hjelp brukeren med å kaskadere OKR fra organisasjonsnivå til team, og sikre alignment.
## Kaskaderingsprinsipp
```
Organisasjon KR → Team Objective → Team KR
```
Et overordnet Key Result blir (ofte) et underliggende teams Objective. Teamets Key Results viser teamets unike bidrag.
## Arbeidsflyt
1. **Forstå hierarkiet** — spør med AskUserQuestion:
- Hva er organisasjonens/avdelingens OKR?
- Hvilket team skal lage sine OKR?
- Hvor i hierarkiet befinner teamet seg?
2. **Les referansemateriale**:
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-framework.md` — kaskaderingsmetodikk
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md` — hierarki i offentlig sektor
3. **Identifiser teamets bidrag**:
- Hvilke org-KR kan teamet påvirke?
- Hva er teamets unike bidrag?
- Unngå overlapp med andre team
4. **Bygg team-OKR**:
- Org KR → teamets Objective (gjør inspirerende)
- Team-KR = spesifikke bidrag
- Behold outcome-fokus
5. **Visualiser alignment**:
- Vis hvordan nivåene henger sammen (se format under)
- Identifiser gaps (org-KR uten team-støtte)
- Identifiser orphans (team-OKR uten org-kobling)
## Alignment-sjekk
| Spørsmål | Bør svare Ja |
|----------|-------------|
| Støtter team-OKR minst én org-KR? | Ja |
| Er teamets bidrag unikt (ikke overlapp)? | Ja |
| Kan teamet påvirke resultatet? | Ja |
| Er det outcome, ikke aktivitet? | Ja |
## Visualiseringsformat
```
┌─────────────────────────────────────────────────────────┐
│ ETAT: [Organisasjon] │
│ O: [Objective] │
│ KR1: [Key Result] │
│ KR2: [Key Result] │
└────────────────────┬────────────────────────────────────┘
┌────────────┼────────────────┐
↓ ↓ ↓
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ [Team A] │ │ [Team B] │ │ [Team C] │
│ O: [fra KR1] │ │ O: [fra KR1] │ │ O: [fra KR2] │
│ KR: [bidrag] │ │ KR: [bidrag] │ │ KR: [bidrag] │
│ (støtter KR1) │ │ (støtter KR1) │ │ (støtter KR2) │
└───────────────┘ └───────────────┘ └───────────────┘
```
## Eksempel
**Fra tildelingsbrev:**
> "Redusere ulykker på riksvei med 20%"
```
Org KR: "Redusere ulykker på riksvei med 20%"
Team Objective: "Forbedre veimerking på høyrisikostrekning"
Team KR: "100% av identifiserte strekninger remarked innen august"
```
## Referanser
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-framework.md` — kaskaderingsmetodikk
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md` — hierarki i offentlig sektor

View file

@ -0,0 +1,106 @@
---
name: okr:kvalitet
description: Vurder og forbedre eksisterende OKR med kvalitetssjekk og antipattern-deteksjon
allowed-tools: Read, AskUserQuestion, Task
argument-hint: "[OKR å vurdere]"
---
# OKR Kvalitet - Vurder og forbedre OKR
Hjelp brukeren med å vurdere kvaliteten på eksisterende OKR og foreslå forbedringer.
## Arbeidsflyt
1. **Motta OKR** — be brukeren dele OKR-ene som skal vurderes
- Kan være tekst, bilde, eller hentet fra Linear
2. **Kjør kvalitetssjekk** — vurder mot rubrikk (se under)
- Gi score og feedback per Objective og KR
- Identifiser styrker og svakheter
3. **Sjekk for antipatterns** — se etter de vanligste feilene
- Les `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md` for alle 19 antipatterns
- Kategoriser: formulering, prosess, kultur, struktur, ledelse
4. **Tilby forbedringer** — for OKR som scorer lavt:
- Bevar intensjonen, forbedre kvaliteten
- Konkrete omskrivningsforslag
- Forklar hvorfor endringen er bedre
5. **Oppsummer** — samlet vurdering med prioriterte forbedringer
## Vurderingsrubrikk
### Objective-kriterier (0-10)
| Kriterie | Score 8-10 | Score 4-7 | Score 0-3 |
|----------|-----------|-----------|-----------|
| Inspirerende | Motiverer teamet | Nøytralt | Kjedelig/byråkratisk |
| Klarhet | Entydig retning | Noe vagt | Flertydig |
| Outcome-fokus | Resultat | Blanding | Ren aktivitet |
| Scope | Passer i syklus | Litt for stort/lite | Helt feil scope |
| Alignment | Tydelig koblet oppover | Implisitt kobling | Ingen kobling |
### Key Result-kriterier (0-10)
| Kriterie | Score 8-10 | Score 4-7 | Score 0-3 |
|----------|-----------|-----------|-----------|
| Målbarhet | Tall med baseline→target | Delvis målbart | Ikke målbart |
| Outcome | Måler resultat | Blanding | Ren output/aktivitet |
| Ambisjon | Riktig stretch | For lett/vanskelig | Urealistisk |
| Datakilde | Spesifisert og tilgjengelig | Antas tilgjengelig | Ukjent |
| Uavhengighet | Team kontrollerer | Delvis avhengig | Helt utenfor kontroll |
### Samlet scoring
| Score | Vurdering | Handling |
|-------|-----------|---------|
| 8-10 | Utmerket | Klar til bruk |
| 6-7 | God | Små justeringer |
| 4-5 | Akseptabel | Bør forbedres |
| 0-3 | Svak | Omskriving anbefalt |
## Vanlige antipatterns å sjekke
1. **Aktivitets-OKR** — måler hva vi gjør, ikke hva vi oppnår
2. **Sandbagging** — for lave mål for å "garantere" 1.0
3. **Business-as-usual** — driftsmål forkledd som OKR
4. **For mange OKR** — over 3 Objectives eller 5 KR per Objective
5. **Manglende baseline** — target uten å vite utgangspunktet
6. **Binære KR** — "Ja/Nei" uten progresjonsmulighet
## Eksempel på output
```
## OKR Kvalitetsvurdering
### Objective: "Forbedre kundeservice"
**Score: 4/10**
**Problemer:**
1. **Vag** — hva betyr "forbedre"? Mangler retning
2. **Ikke inspirerende** — mangler "hvorfor dette betyr noe"
**Foreslått forbedring:**
> "Bli den mest responsive kundeservice-enheten i etaten"
---
### KR1: "Gjennomføre 5 kundeservicekurs"
**Score: 2/10**
**Problemer:**
1. **Aktivitet, ikke outcome** — måler hva vi gjør, ikke resultatet
2. **Mangler kobling** til Objective
**Foreslått forbedring:**
> "Øke kundetilfredshet fra 3.2 til 4.5 (skala 1-5)"
> Datakilde: Innbyggerundersøkelsen, månedlig
```
## Referanser
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md` — alle 19 antipatterns
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-examples.md` — gode vs dårlige eksempler

View file

@ -0,0 +1,87 @@
---
name: okr:møter
description: Planlegg og fasiliter OKR-møter, workshops og 1:1-samtaler
allowed-tools: Read, AskUserQuestion, Task
argument-hint: "[møtetype eller kontekst]"
---
# OKR Møter - Workshops og samtaler
Hjelp brukeren med å planlegge og gjennomføre OKR-relaterte møter.
## Arbeidsflyt
1. **Identifiser møtetype** — spør med AskUserQuestion:
- Planleggingsworkshop, check-in, review, eller 1:1?
- Hvor mange deltakere?
- Fysisk eller digitalt?
- Hvor i syklusen er dere?
2. **Les relevant referansemateriale**:
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/meeting-guides.md` — alle møteguider
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/cfr-framework.md` — for 1:1-samtaler
3. **Generer materiell**: Agenda, fasiliterings-tips, templates for output
4. **Oppfølging**: Sjekkliste etter møtet, dokumentasjonsmal
## Møtetyper
### 1. Planleggingsworkshop
**Når**: 2-3 uker før ny syklus | **Varighet**: 2-4 timer | **Deltakere**: Hele teamet + leder
**Agenda**:
| Tid | Aktivitet | Ansvarlig |
|-----|-----------|-----------|
| 00:00 | Velkommen og rammer | Fasilitator |
| 00:10 | Retro på forrige syklus | Alle |
| 00:25 | Overordnede OKR-gjennomgang | Leder |
| 00:40 | Pause | |
| 00:50 | Brainstorm Objectives (grupper) | Alle |
| 01:20 | Presentasjon og prioritering | Alle |
| 01:40 | Definere Key Results (grupper) | Alle |
| 02:20 | Alignment-sjekk | Fasilitator |
| 02:40 | Oppsummering og neste steg | Leder |
**Output**: 2-3 Objectives med 2-4 KR hver, dokumentert i Oboard/Linear.
### 2. Check-in møte
**Når**: Ukentlig eller annenhver uke | **Varighet**: 15-30 min | **Deltakere**: Team + leder
**Agenda**:
1. Status på hver KR (traffic light: 2 min per KR)
2. Blokkere og støttebehov (5 min)
3. Beslutninger som trengs (5 min)
4. Fokus neste periode (3 min)
### 3. Kvartalsreview
**Når**: Ved syklusslutt | **Varighet**: 1-2 timer | **Deltakere**: Team + stakeholders
**Agenda**:
1. Presentasjon av resultater (30 min)
2. Scoring av hver OKR (20 min)
3. Læring og refleksjon (20 min)
4. Input til neste syklus (20 min)
### 4. 1:1 OKR-samtale (CFR-basert)
**Når**: Ukentlig eller annenhver uke | **Varighet**: 15-30 min | **Deltakere**: Leder + medarbeider
**Struktur** basert på Conversations, Feedback, Recognition (CFR):
| Fase | Tid | Fokus |
|------|-----|-------|
| Check-in | 2 min | Hvordan har du det? |
| OKR-status | 5 min | Fremgang på dine KR |
| Blokkere | 5 min | Hva hindrer deg? |
| Utvikling | 5 min | Hva kan du lære? |
| Feedback | 3 min | Anerkjennelse + forbedring |
## Referanser
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/meeting-guides.md` — møteguider
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/cfr-framework.md` — CFR-rammeverk

View file

@ -0,0 +1,131 @@
---
name: okr:oppsett
description: Konfigurer OKR-pluginen med organisasjon, syklus og integrasjoner
allowed-tools: Read, Write, Bash, AskUserQuestion, ToolSearch
argument-hint: "[oppdater|vis|reset]"
---
# OKR Oppsett - Konfigurasjon og integrasjoner
Kjør en interaktiv wizard for å konfigurere OKR-pluginen for brukerens organisasjon.
## Arbeidsflyt
### Steg 1: Sjekk eksisterende konfigurasjon
Les `.claude/okr.local.md` (relativt til brukerens prosjekt-cwd) hvis den finnes. Hvis den finnes, spør om brukeren vil:
- Oppdatere eksisterende konfigurasjon
- Starte på nytt
- Bare se gjeldende konfigurasjon
### Steg 2: Organisasjonsinformasjon
Still følgende spørsmål med AskUserQuestion:
**Spørsmål 1**: Organisasjon
```
Hvilken organisasjon jobber du i?
Alternativer:
- Statens vegvesen
- Annen statlig etat
- Kommune/fylkeskommune
- Annet
```
**Spørsmål 2**: Sektor (hvis ikke SVV)
```
Hvilken sektor tilhører organisasjonen?
Alternativer:
- Transport og samferdsel
- Helse
- Justis og beredskap
- Digitalisering
- Annet
```
### Steg 3: OKR-syklus
**Spørsmål 3**: Syklusmodell
```
Hvilken syklusmodell bruker dere?
Alternativer:
- Tertial (4-måneders sykluser: Jan-Apr, Mai-Aug, Sep-Des) (Anbefalt)
- Kvartal (3-måneders sykluser)
- Annet
```
**Spørsmål 4**: Gjeldende syklus (basert på dagens dato og valgt modell)
### Steg 4: Integrasjoner
**Spørsmål 5**: Verktøy
```
Hvilke verktøy vil du integrere med OKR-pluginen?
- Linear (issue tracking, OKR som tasks)
- Ingen integrasjon foreløpig
```
### Steg 5: Linear-oppsett (hvis valgt)
1. **Sjekk om Linear MCP allerede er konfigurert** — les `~/.claude/settings.json`
2. **Hvis Linear MCP ikke finnes** — veilede oppsett av MCP-server
3. **Hent Linear-info** med ToolSearch — list teams og projects, la bruker velge
### Steg 6: Lagre konfigurasjon
Opprett `.claude/okr.local.md` i brukerens prosjekt-cwd:
```yaml
---
organisasjon:
navn: "[brukerens svar]"
type: "offentlig"
sektor: "[brukerens svar]"
syklus:
modell: "[tertial|kvartal]"
gjeldende: "[T1-2026]"
startdato: "[beregnet]"
integrasjoner:
linear:
aktivert: [true|false]
team_id: "[fra Linear]"
project_id: "[fra Linear]"
preferanser:
språk: "no"
vis_eksempler: true
ambisjonsnivå: "balansert"
---
# OKR Konfigurasjon for [organisasjon]
Opprettet: [dato]
Sist oppdatert: [dato]
```
### Steg 7: Bekreft og avslutt
Vis oppsummering og foreslå neste steg:
- `/okr:skriv` for å lage første OKR
- `/okr:kvalitet` for å sjekke eksisterende OKR
- `/okr:møter` for å planlegge OKR-workshop
## Feilhåndtering
- Hvis Linear API feiler: Gi tydelig feilmelding og foreslå feilsøking
- Hvis fil ikke kan skrives: Vis konfig som kan kopieres manuelt
- Hvis bruker avbryter: Lagre det som er samlet så langt
## Oppdatering av konfigurasjon
Hvis brukeren kjører `/okr:oppsett` med eksisterende konfig:
1. Les gjeldende verdier
2. Vis hva som er konfigurert
3. Spør hva som skal oppdateres
4. Oppdater kun valgte felt

View file

@ -0,0 +1,142 @@
---
name: okr:skriv
description: Skriv nye OKR med veiledning for Objectives og Key Results
allowed-tools: Read, AskUserQuestion, Task
argument-hint: "[mål, strategi, eller tildelingsbrev-kontekst]"
---
# OKR Skriv - Lag nye OKR
Hjelp brukeren med å skrive nye OKR for norsk offentlig sektor.
## Arbeidsflyt
1. **Forstå kontekst** — spør med AskUserQuestion:
- Hvilket team/avdeling?
- Overordnet strategimål de skal bidra til?
- Hvilken syklus (T1, T2, T3)?
- Har de input (vag idé, strategi, eller tildelingsbrev)?
2. **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
3. **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
4. **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 førerkortsøknader" | Vag |
| "Implementere nytt system" | "Gi saksbehandlere sanntids innsikt" | Aktivitet |
| "Digitalisere SVV" | "Gjøre førerkortfornyelse 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):
1. **Objective-tekst** (én setning)
2. **Hvorfor**: 1-2 setninger om hvorfor dette betyr noe
3. **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:
1. **Parse input** — identifiser konkrete mål og forventninger
2. **Kategoriser**:
- Driftskrav ("Oppretthold X") → KPI, ikke OKR
- Resultatmål med tall → Key Result-kandidat
- Strategiske satsinger → Objective-kandidat
- Rapporteringskrav → Rapporteringsrutine, ikke OKR
3. **Transformer OKR-kandidater** — gjør inspirerende, outcome-fokusert
4. **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
```
## OKR for Digital avdeling — T2-2026
**Objective**: Gjøre førerkortfornyelse 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

View file

@ -0,0 +1,89 @@
---
name: okr:sporing
description: Spor OKR-fremgang, beregn score og generer check-in rapporter
allowed-tools: Read, AskUserQuestion, Task, ToolSearch
argument-hint: "[OKR eller tall for oppdatering]"
---
# OKR Sporing - Fremgang og scoring
Hjelp brukeren med å spore OKR-fremgang, beregne score og strukturere check-ins.
## Scoring-system
**Skala**: 0.0 - 1.0
| Score | Betydning | Typisk for |
|-------|-----------|------------|
| 1.0 | 100% oppnådd | Committed mål |
| 0.7-0.8 | Suksess | 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** — spør med AskUserQuestion:
- Nåværende verdi for hver KR
- Baseline og target (hvis ikke kjent)
- Dato for måling
2. **Beregn score** per KR og samlet (vektet gjennomsnitt)
3. **Vurder confidence**:
- **På sporet** — trend peker mot target
- **I fare** — trend er flat eller synkende
- **Blokkert** — ingen fremgang, trenger eskalering
4. **Generer rapport** med anbefalte tiltak
### 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
## Eksempel på output
```
## OKR Status - Uke 8 av 16
### Objective: Forbedre trafikksikkerhet i skolesoner
| KR | Baseline | Target | Nå | Score | Status |
|----|----------|--------|-----|-------|--------|
| KR1: Redusere ulykker | 40 | 30 | 35 | 0.50 | I fare |
| KR2: Fartshumper installert | 0% | 100% | 60% | 0.60 | På sporet |
| KR3: Foreldre-tilfredshet | 60% | 90% | 75% | 0.50 | I fare |
**Samlet score: 0.53** (vektet gjennomsnitt)
**Confidence level: Medium**
- KR1 og KR3 trenger fokus
- KR2 ligger foran plan
**Anbefalte tiltak:**
1. Prioriter tiltak for KR1 (sikkerhet er kritisk)
2. Kjør brukerundersøkelse for KR3 før neste måned
```
## 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