fix(okr): saner oppsett.md — UTF-8, rm-rf-gardering, kommandonavn, DDT

Fase 0 Step 1/10 (circuit-breaker). Restaurerer norske tegn i prosa
(0→55å/67ø/5æ), garderer rm -rf med regex ^[TQ][1-4]-[0-9]{4}$ + non-empty,
retter /okr:moter→/okr:møter + oppstartsmate→oppstartsmøte, merker 2 DDT
som fiktiv eksempeletat. YAML-schema-nøkler bevart (Fase 2-scope).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LSVEbrrahcSVoNG4WG3NrP
This commit is contained in:
Kjell Tore Guttormsen 2026-06-23 20:43:52 +02:00
commit 4231ccf513

View file

@ -5,18 +5,18 @@ allowed-tools: Read, Write, Bash, AskUserQuestion, ToolSearch, Glob
argument-hint: "[full|mvp|arkiver|oppdater|vis]" argument-hint: "[full|mvp|arkiver|oppdater|vis]"
--- ---
# OKR Oppsett - Onboarding, konfigurasjon og syklushandtering # OKR Oppsett - Onboarding, konfigurasjon og syklushåndtering
Interaktiv konfigurasjon av OKR-pluginen. Bygger en persistent organisasjonsprofil Interaktiv konfigurasjon av OKR-pluginen. Bygger en persistent organisasjonsprofil
som alle andre kommandoer bruker automatisk via hook-injeksjon. som alle andre kommandoer bruker automatisk via hook-injeksjon.
## Ruting basert pa argument ## Ruting basert på argument
| Argument | Handling | | Argument | Handling |
|----------|----------| |----------|----------|
| _(ingen)_ | Detekter eksisterende konfig, tilby meny | | _(ingen)_ | Detekter eksisterende konfig, tilby meny |
| `full` | Kjor 6-fase dyp onboarding (15-20 min) | | `full` | Kjør 6-fase dyp onboarding (15-20 min) |
| `mvp` | Kjor minimum viable onboarding (6 sporsmaal, ~5 min) | | `mvp` | Kjør minimum viable onboarding (6 spørsmål, ~5 min) |
| `arkiver` | Arkiver gjeldende syklus med retrospektiv | | `arkiver` | Arkiver gjeldende syklus med retrospektiv |
| `oppdater` | Oppdater spesifikke felt i eksisterende profil | | `oppdater` | Oppdater spesifikke felt i eksisterende profil |
| `vis` | Vis gjeldende konfigurasjon | | `vis` | Vis gjeldende konfigurasjon |
@ -31,15 +31,15 @@ Les `.claude/okr.local.md` (relativt til brukerens prosjekt-cwd).
Bruk AskUserQuestion: Bruk AskUserQuestion:
``` ```
Ser ut som du ikke har konfigurert OKR-pluginen enna. Ser ut som du ikke har konfigurert OKR-pluginen ennå.
Vil du kjore onboarding-intervjuet? Vil du kjøre onboarding-intervjuet?
1. Full onboarding (6 faser, 15-20 min) — anbefalt for beste resultat 1. Full onboarding (6 faser, 15-20 min) — anbefalt for beste resultat
2. MVP onboarding (6 sporsmaal, ~5 min) — rask start 2. MVP onboarding (6 spørsmål, ~5 min) — rask start
3. Avbryt 3. Avbryt
``` ```
Kjor `full` eller `mvp` basert pa valg. Kjør `full` eller `mvp` basert på valg.
**Hvis filen finnes OG `onboarding_status: partial`:** **Hvis filen finnes OG `onboarding_status: partial`:**
@ -47,8 +47,8 @@ Kjor `full` eller `mvp` basert pa valg.
Fant ufullstendig onboarding. Du kom til fase [N] forrige gang. Fant ufullstendig onboarding. Du kom til fase [N] forrige gang.
1. Fortsett fra fase [N] 1. Fortsett fra fase [N]
2. Start pa nytt (full) 2. Start på nytt (full)
3. Start pa nytt (mvp) 3. Start på nytt (mvp)
4. Avbryt 4. Avbryt
``` ```
@ -56,13 +56,13 @@ Hvis fortsett: les YAML, finn siste utfylte fase-seksjon, fortsett fra neste.
**Hvis filen finnes OG `onboarding_status: fullfort`:** **Hvis filen finnes OG `onboarding_status: fullfort`:**
Vis kort oppsummering av gjeldende profil (org, syklus, modenhet, verktoy). Vis kort oppsummering av gjeldende profil (org, syklus, modenhet, verktøy).
Bruk AskUserQuestion: Bruk AskUserQuestion:
``` ```
Konfigurasjon funnet for [organisasjon.navn]. Konfigurasjon funnet for [organisasjon.navn].
1. Oppdater konfigurasjon (endre spesifikke felt) 1. Oppdater konfigurasjon (endre spesifikke felt)
2. Kjor intervju pa nytt (full) 2. Kjør intervju på nytt (full)
3. Vis full konfigurasjon 3. Vis full konfigurasjon
4. Avslutt 4. Avslutt
``` ```
@ -71,15 +71,15 @@ Konfigurasjon funnet for [organisasjon.navn].
## Full onboarding — 6-fase dyp intervju ## Full onboarding — 6-fase dyp intervju
Skriv `onboarding_status: partial` til `.claude/okr.local.md` for hver fase Skriv `onboarding_status: partial` til `.claude/okr.local.md` for hver fase er
er fullfort. Oppdater til `fullfort` etter siste fase. fullført. Oppdater til `fullfort` etter siste fase.
### Fase 1 — Identitet (2 min) ### Fase 1 — Identitet (2 min)
Still alle sporsmaal med AskUserQuestion (grupper 2-3 sammen der naturlig): Still alle spørsmål med AskUserQuestion (grupper 2-3 sammen der naturlig):
1. **Organisasjonsnavn og kortform?** 1. **Organisasjonsnavn og kortform?**
Eksempel: "Direktoratet for digital tjenesteutvikling" / "DDT" Eksempel (fiktiv eksempeletat): «Direktoratet for digital tjenesteutvikling» / «DDT»
2. **Type organisasjon?** 2. **Type organisasjon?**
Alternativer: statlig etat | direktorat | kommune | fylkeskommune Alternativer: statlig etat | direktorat | kommune | fylkeskommune
@ -101,30 +101,30 @@ Still alle sporsmaal med AskUserQuestion (grupper 2-3 sammen der naturlig):
### Fase 2 — Modenhet (5 min) ### Fase 2 — Modenhet (5 min)
7. **OKR-historikk?** 7. **OKR-historikk?**
Alternativer: aldri provd | prover na (forste syklus) | erfaren (2+ sykluser) Alternativer: aldri prøvd | prøver nå (første syklus) | erfaren (2+ sykluser)
8. **Hvis erfaren: Antall gjennomforte sykluser?** 8. **Hvis erfaren: Antall gjennomførte sykluser?**
(Hopp over hvis "aldri provd" eller "prover na") (Hopp over hvis "aldri prøvd" eller "prøver nå")
9. **Hvem er OKR-sponsor (navn og rolle)?** 9. **Hvem er OKR-sponsor (navn og rolle)?**
Personen som gir mandat og synlighet. Eksempel: "Divisjonsdirektor Kari Holm" Personen som gir mandat og synlighet. Eksempel: "Divisjonsdirektør Kari Holm"
10. **Hvem er OKR-champion (navn og rolle)?** 10. **Hvem er OKR-champion (navn og rolle)?**
Personen som driver det operative arbeidet. Eksempel: "Seniorradgiver Per Lund" Personen som driver det operative arbeidet. Eksempel: "Seniorrådgiver Per Lund"
11. **Er OKR eksplisitt koblet fra lonnssamtale og medarbeidersamtale?** 11. **Er OKR eksplisitt koblet fra lønnssamtale og medarbeidersamtale?**
Alternativer: ja | nei | usikkert Alternativer: ja | nei | usikkert
**VIKTIG:** Hvis "nei" eller "usikkert" — sett `okr_frikoblet_fra_loenn: false` og **VIKTIG:** Hvis "nei" eller "usikkert" — sett `okr_frikoblet_fra_loenn: false` og
legg til advarsel i Markdown-body: legg til advarsel i Markdown-body:
> **ADVARSEL:** OKR koblet til lonn er et av de farligste antipatternene. > **ADVARSEL:** OKR koblet til lønn er et av de farligste antipatternene.
> Nar medarbeidere vet at OKR-score pavirker lonn, setter de trygge, lave mal > Når medarbeidere vet at OKR-score påvirker lønn, setter de trygge, lave mål
> i stedet for ambisiose stretch goals. Anbefaler sterkt a dekoblere for utrulling. > i stedet for ambisiøse stretch goals. Anbefaler sterkt å dekoble før utrulling.
12. **Hva er alignment-tilnaermingen?** 12. **Hva er alignment-tilnærmingen?**
Alternativer: top-down | bottom-up | bidireksjonell Alternativer: top-down | bottom-up | bidireksjonell
Forklar kort: "Bidireksjonell betyr at ledelsen setter retning og teamene foreslaar Forklar kort: "Bidireksjonell betyr at ledelsen setter retning og teamene foreslår
egne OKR som kobles opp. Dette er anbefalt tilnaerming." egne OKR som kobles opp. Dette er anbefalt tilnærming."
**Etter fase 2:** Oppdater `.claude/okr.local.md` med program-seksjonen. **Etter fase 2:** Oppdater `.claude/okr.local.md` med program-seksjonen.
@ -133,21 +133,21 @@ Still alle sporsmaal med AskUserQuestion (grupper 2-3 sammen der naturlig):
13. **Har dere et tildelingsbrev for 2026?** 13. **Har dere et tildelingsbrev for 2026?**
Alternativer: ja | nei Alternativer: ja | nei
Hvis ja: "Vil du lagre nokkelmal fra tildelingsbrevet? Lim inn de viktigste malene Hvis ja: "Vil du lagre nøkkelmål fra tildelingsbrevet? Lim inn de viktigste målene
(stikkpunkter, ikke hele brevet) sa kan pluginen bruke dem til alignment." (stikkpunkter, ikke hele brevet) så kan pluginen bruke dem til alignment."
Hvis brukeren limer inn tekst: skriv til Hvis brukeren limer inn tekst: skriv til
`.claude/okr/strategisk-kontekst/tildelingsbrev-2026.md` med YAML-frontmatter `.claude/okr/strategisk-kontekst/tildelingsbrev-2026.md` med YAML-frontmatter
og innlimt innhold. Opprett mappene med Write-tool. og innlimt innhold. Opprett mappene med Write-tool.
14. **Har dere en virksomhetsplan eller strategiplan?** 14. **Har dere en virksomhetsplan eller strategiplan?**
Eventuelt lenke eller nokkelpunkter. Hvis innhold gis: skriv til Eventuelt lenke eller nøkkelpunkter. Hvis innhold gis: skriv til
`.claude/okr/strategisk-kontekst/virksomhetsplan.md`. `.claude/okr/strategisk-kontekst/virksomhetsplan.md`.
15. **Har dere org-niva OKR for 2026?** 15. **Har dere org-nivå OKR for 2026?**
Alternativer: ja | nei | planlegges Alternativer: ja | nei | planlegges
Hvis ja: "Lim inn org-OKR (Objectives og Key Results) sa pluginen kan bruke dem Hvis ja: "Lim inn org-OKR (Objectives og Key Results) så pluginen kan bruke dem
til kaskadering og alignment-sjekk." til kaskadering og alignment-sjekk."
Hvis innhold gis: skriv til `.claude/okr/strategisk-kontekst/overordnede-okr.md`. Hvis innhold gis: skriv til `.claude/okr/strategisk-kontekst/overordnede-okr.md`.
@ -156,31 +156,31 @@ Still alle sporsmaal med AskUserQuestion (grupper 2-3 sammen der naturlig):
### Fase 4 — Struktur (3 min) ### Fase 4 — Struktur (3 min)
16. **Hvilke OKR-nivaer bruker dere?** 16. **Hvilke OKR-nivåer bruker dere?**
Alternativer (flervalg): etat | divisjon | avdeling | seksjon | team Alternativer (flervalg): etat | divisjon | avdeling | seksjon | team
17. **Din rolle i OKR-programmet?** 17. **Din rolle i OKR-programmet?**
Alternativer: leder | produkteier | seksjonsleder | koordinator | annet Alternativer: leder | produkteier | seksjonsleder | koordinator | annet
18. **Antall team som kjorer OKR denne syklusen (ca.)?** 18. **Antall team som kjører OKR denne syklusen (ca.)?**
Tall Tall
19. **Bruker dere bidireksjonell kaskadering?** 19. **Bruker dere bidireksjonell kaskadering?**
Forklaring: "Teamene foreslaar egne OKR som kobles til org-OKR, i stedet for at Forklaring: "Teamene foreslår egne OKR som kobles til org-OKR, i stedet for at
alt kommer ovenfra." alt kommer ovenfra."
Alternativer: ja | nei | planlegger det Alternativer: ja | nei | planlegger det
**Etter fase 4:** Oppdater gjeldende_syklus-seksjonen. **Etter fase 4:** Oppdater gjeldende_syklus-seksjonen.
### Fase 5 — Verktoy (2 min) ### Fase 5 — Verktøy (2 min)
20. **Oppgavestyringsverktoy?** 20. **Oppgavestyringsverktøy?**
Alternativer: Linear | Jira | Azure DevOps | Planner | ingen | annet Alternativer: Linear | Jira | Azure DevOps | Planner | ingen | annet
21. **OKR-sporingsverktoy?** 21. **OKR-sporingsverktøy?**
Alternativer: Oboard | Quantive | regneark | ingen | annet Alternativer: Oboard | Quantive | regneark | ingen | annet
22. **Moteverktoy?** 22. **Møteverktøy?**
Alternativer: Microsoft Teams | Zoom | annet Alternativer: Microsoft Teams | Zoom | annet
23. **Leveransemetodikk?** 23. **Leveransemetodikk?**
@ -189,27 +189,27 @@ Still alle sporsmaal med AskUserQuestion (grupper 2-3 sammen der naturlig):
24. **Vil du koble Linear til OKR-pluginen?** 24. **Vil du koble Linear til OKR-pluginen?**
Alternativer: ja | nei Alternativer: ja | nei
Hvis ja: Kjor Linear-oppsett: Hvis ja: Kjør Linear-oppsett:
1. Sjekk om Linear MCP er konfigurert — les `~/.claude/settings.json` 1. Sjekk om Linear MCP er konfigurert — les `~/.claude/settings.json`
2. Hvis ikke: veilede oppsett av MCP-server (referer til Linear MCP docs) 2. Hvis ikke: veilede oppsett av MCP-server (referer til Linear MCP docs)
3. Bruk ToolSearch for a finne Linear-tools, hent teams og projects 3. Bruk ToolSearch for å finne Linear-tools, hent teams og projects
4. La bruker velge team og project for OKR-tracking 4. La bruker velge team og project for OKR-tracking
**Etter fase 5:** Oppdater verktoy- og integrasjoner-seksjonen. **Etter fase 5:** Oppdater verktøy- og integrasjoner-seksjonen.
### Fase 6 — Kultur (3 min) ### Fase 6 — Kultur (3 min)
25. **Hva er check-in-rytmen (eller onsket rytme)?** 25. **Hva er check-in-rytmen (eller ønsket rytme)?**
Alternativer: ukentlig | annenhver uke | maanedlig Alternativer: ukentlig | annenhver uke | månedlig
Anbefaling: "Annenhver uke er et godt utgangspunkt. Ukentlig for team i utfoerelsesfase." Anbefaling: "Annenhver uke er et godt utgangspunkt. Ukentlig for team i utførelsesfase."
26. **Psykologisk trygghet for a sette stretch goals?** 26. **Psykologisk trygghet for å sette stretch goals?**
Alternativer: lav | middels | hoy Alternativer: lav | middels | høy
Forklaring: "Kan teammedlemmer trygt foreslaa ambisiose mal uten a frykte konsekvenser Forklaring: "Kan teammedlemmer trygt foreslå ambisiøse mål uten å frykte konsekvenser
om de ikke naar 100%?" om de ikke når 100%?"
27. **Kjente utfordringer eller antipatterns dere har sett?** 27. **Kjente utfordringer eller antipatterns dere har sett?**
Fritekst, ENTER for a hoppe over. Fritekst, ENTER for å hoppe over.
Eksempler: "set-and-forget", "aktivitetsfokus i KR", "for mange Objectives" Eksempler: "set-and-forget", "aktivitetsfokus i KR", "for mange Objectives"
28. **Er tillitsvalgte involvert i OKR-prosessen?** 28. **Er tillitsvalgte involvert i OKR-prosessen?**
@ -217,7 +217,7 @@ Still alle sporsmaal med AskUserQuestion (grupper 2-3 sammen der naturlig):
**Etter fase 6:** Oppdater kultur-seksjonen. Sett `onboarding_status: fullfort`. **Etter fase 6:** Oppdater kultur-seksjonen. Sett `onboarding_status: fullfort`.
### Fullforingssteg ### Fullføringssteg
Etter alle 6 faser: Etter alle 6 faser:
@ -226,13 +226,13 @@ Etter alle 6 faser:
3. Vis oppsummering: 3. Vis oppsummering:
``` ```
Onboarding fullfort for [organisasjon]! Onboarding fullført for [organisasjon]!
Profil: Profil:
- Organisasjon: [navn] ([type]) - Organisasjon: [navn] ([type])
- Modenhet: [niva] ([N] sykluser gjennomfort) - Modenhet: [nivå] ([N] sykluser gjennomført)
- Gjeldende syklus: [id] ([fase]) - Gjeldende syklus: [id] ([fase])
- Verktoy: [oppgavestyring], [okr_tracking] - Verktøy: [oppgavestyring], [okr_tracking]
- Check-in: [rytme] - Check-in: [rytme]
Lagrede kontekstfiler: Lagrede kontekstfiler:
@ -241,34 +241,34 @@ Lagrede kontekstfiler:
[- .claude/okr/strategisk-kontekst/overordnede-okr.md] [- .claude/okr/strategisk-kontekst/overordnede-okr.md]
Anbefalte neste steg: Anbefalte neste steg:
- /okr:skriv — skriv forste OKR for denne syklusen - /okr:skriv — skriv første OKR for denne syklusen
- /okr:kvalitet — sjekk eksisterende OKR - /okr:kvalitet — sjekk eksisterende OKR
- /okr:moter — planlegg OKR-workshop eller kick-off - /okr:møter — planlegg OKR-workshop eller kick-off
``` ```
--- ---
## MVP onboarding — 6 sporsmaal ## MVP onboarding — 6 spørsmål
For brukere som vil komme raskt i gang. Samle alle sporsmaal i en AskUserQuestion For brukere som vil komme raskt i gang. Samle alle spørsmål i en AskUserQuestion
eller maks 2 runder: eller maks 2 runder:
1. **Organisasjonsnavn og type?** 1. **Organisasjonsnavn og type?**
Eksempel: "Direktoratet for digital tjenesteutvikling, statlig etat" Eksempel (fiktiv eksempeletat): «Direktoratet for digital tjenesteutvikling, statlig etat»
2. **Fagdomene?** 2. **Fagdomene?**
Alternativer: transport | helse | justis | digitalisering | utdanning | annet Alternativer: transport | helse | justis | digitalisering | utdanning | annet
3. **OKR-modenhet?** 3. **OKR-modenhet?**
Alternativer: aldri provd | prover na (forste syklus) | erfaren (2+ sykluser) Alternativer: aldri prøvd | prøver nå (første syklus) | erfaren (2+ sykluser)
4. **Gjeldende syklusfase?** 4. **Gjeldende syklusfase?**
Alternativer: planlegging | utfoerelse | review | mellom sykluser Alternativer: planlegging | utførelse | review | mellom sykluser
5. **Primaere verktoy?** 5. **Primære verktøy?**
Fritekst. Eksempel: "Linear og Microsoft Teams" Fritekst. Eksempel: "Linear og Microsoft Teams"
6. **Er OKR frikoblet fra lonnssamtale?** 6. **Er OKR frikoblet fra lønnssamtale?**
Alternativer: ja | nei | usikkert Alternativer: ja | nei | usikkert
**Etter svar:** Skriv YAML med disse 6 feltene pluss fornuftige defaults for alle andre: **Etter svar:** Skriv YAML med disse 6 feltene pluss fornuftige defaults for alle andre:
@ -285,7 +285,7 @@ organisasjon:
domene: "[svar 2]" domene: "[svar 2]"
geografi: "nasjonal" geografi: "nasjonal"
program: program:
modenhetsnivaa: "[utledet fra svar 3: aldri provd→ikke-startet, prover na→utforsker, erfaren→pilot]" modenhetsnivaa: "[utledet fra svar 3: aldri prøvd→ikke-startet, prøver nå→utforsker, erfaren→pilot]"
sykluser_gjennomfort: 0 sykluser_gjennomfort: 0
sponsor: "" sponsor: ""
champion: "" champion: ""
@ -317,7 +317,7 @@ preferanser:
--- ---
``` ```
Vis kort oppsummering og foreslaa `/okr:oppsett full` for a fylle ut resten senere. Vis kort oppsummering og foreslå `/okr:oppsett full` for å fylle ut resten senere.
--- ---
@ -328,7 +328,7 @@ Trigger: `/okr:oppsett oppdater` eller valg 1 fra ingen-argument-menyen.
1. Les `.claude/okr.local.md` 1. Les `.claude/okr.local.md`
2. Vis gjeldende verdier gruppert per seksjon 2. Vis gjeldende verdier gruppert per seksjon
3. Bruk AskUserQuestion: "Hvilken seksjon vil du oppdatere?" 3. Bruk AskUserQuestion: "Hvilken seksjon vil du oppdatere?"
Alternativer: Organisasjon | Program | Syklus | Verktoy | Kultur | Integrasjoner | Preferanser Alternativer: Organisasjon | Program | Syklus | Verktøy | Kultur | Integrasjoner | Preferanser
4. Vis feltene i valgt seksjon med gjeldende verdier 4. Vis feltene i valgt seksjon med gjeldende verdier
5. La bruker endre ett eller flere felt 5. La bruker endre ett eller flere felt
6. Skriv oppdatert YAML tilbake 6. Skriv oppdatert YAML tilbake
@ -354,10 +354,10 @@ Les `.claude/okr.local.md` og vis innholdet formatert:
### Program ### Program
- Modenhet: [modenhetsnivaa] - Modenhet: [modenhetsnivaa]
- Sykluser gjennomfort: [tall] - Sykluser gjennomført: [tall]
- Sponsor: [sponsor] - Sponsor: [sponsor]
- Champion: [champion] - Champion: [champion]
- OKR frikoblet fra lonn: [ja/nei] - OKR frikoblet fra lønn: [ja/nei]
### Gjeldende syklus ### Gjeldende syklus
- ID: [id] - ID: [id]
@ -365,7 +365,7 @@ Les `.claude/okr.local.md` og vis innholdet formatert:
- Fase: [fase] - Fase: [fase]
- Antall team: [tall] - Antall team: [tall]
### Verktoy ### Verktøy
[liste] [liste]
### Kultur ### Kultur
@ -391,7 +391,7 @@ Sjekk at `.claude/okr/syklus/[id]/` finnes. Hvis ikke:
``` ```
Ingen aktiv syklusmappe funnet for [id]. Ingen aktiv syklusmappe funnet for [id].
Opprett `.claude/okr/syklus/[id]/` med OKR-filer for a bruke arkivering. Opprett `.claude/okr/syklus/[id]/` med OKR-filer for å bruke arkivering.
``` ```
### Arkiveringsflyt ### Arkiveringsflyt
@ -400,10 +400,10 @@ Opprett `.claude/okr/syklus/[id]/` med OKR-filer for a bruke arkivering.
og `status.md` hvis den finnes. og `status.md` hvis den finnes.
2. **Samle endelige scorer** — hvis `status.md` har endelige scorer, bruk dem. 2. **Samle endelige scorer** — hvis `status.md` har endelige scorer, bruk dem.
Ellers spor med AskUserQuestion: Ellers spør med AskUserQuestion:
``` ```
Hva ble de endelige scorene for [syklus]? Hva ble de endelige scorene for [syklus]?
Oppgi score per KR (0.0-1.0) eller ENTER for a bruke siste kjente status. Oppgi score per KR (0.0-1.0) eller ENTER for å bruke siste kjente status.
``` ```
3. **Generer retrospektiv** — skriv til `.claude/okr/syklus/[id]/retrospektiv.md`: 3. **Generer retrospektiv** — skriv til `.claude/okr/syklus/[id]/retrospektiv.md`:
@ -424,74 +424,79 @@ Opprett `.claude/okr/syklus/[id]/` med OKR-filer for a bruke arkivering.
## Hva gikk bra ## Hva gikk bra
[Basert pa KR som scoret 0.7+] [Basert på KR som scoret 0.7+]
## Hva var utfordrende ## Hva var utfordrende
[Basert pa KR som scoret <0.5, noter monstere] [Basert på KR som scoret <0.5, noter mønstre]
## Laering til neste syklus ## Læring til neste syklus
[Identifiser 2-3 konkrete forbedringer] [Identifiser 2-3 konkrete forbedringer]
## Antipatterns observert ## Antipatterns observert
[Sjekk mot antipatternene fra referansemateriale — [Sjekk mot antipatternene fra referansemateriale —
nevn kun de som er relevante basert pa scoremansteret. nevn kun de som er relevante basert på scoremønsteret.
Les ${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md] Les ${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md]
``` ```
4. **Arkiver til historikk** — opprett `.claude/okr/historikk/[id]/` med Write-tool 4. **Arkiver til historikk** — opprett `.claude/okr/historikk/[id]/` med Write-tool
og kopier alle filer fra syklusmappen dit (les innhold, skriv til ny sti). og kopier alle filer fra syklusmappen dit (les innhold, skriv til ny sti).
Opprett ogsa `.claude/okr/historikk/[id]-resultater.md` med sammendrag: Opprett også `.claude/okr/historikk/[id]-resultater.md` med sammendrag:
endelige scorer, topp-laeringer, og lenke til full retrospektiv. endelige scorer, topp-læringer, og lenke til full retrospektiv.
5. **Bekreft sletting** — bruk AskUserQuestion: 5. **Bekreft sletting** — bruk AskUserQuestion:
``` ```
Slett syklusmappen `.claude/okr/syklus/[id]/`? Slett syklusmappen `.claude/okr/syklus/[id]/`?
Den er na arkivert i `historikk/[id]/`. Den er nå arkivert i `historikk/[id]/`.
Alternativer: ja | nei (behold begge) Alternativer: ja | nei (behold begge)
``` ```
Hvis ja og Bash-tool er tilgjengelig: `rm -rf .claude/okr/syklus/[id]/` Hvis ja og Bash-tool er tilgjengelig: **valider FØRST at `[id]` ikke er tom OG
Hvis Bash ikke tilgjengelig: vis kommando brukeren kan kjore manuelt: matcher mønsteret `^[TQ][1-4]-[0-9]{4}$`** (f.eks. `T1-2026`). Kun hvis
`rm -rf .claude/okr/syklus/[id]/` valideringen passerer, kjør: `rm -rf .claude/okr/syklus/[id]/`. Ved tom eller
malformert `[id]`: AVVIS slettingen og be om en gyldig syklus-id — kjør ALDRI
`rm -rf` med tom verdi (det ville blitt `rm -rf .claude/okr/syklus//` og slettet
hele syklus-treet).
Hvis Bash ikke er tilgjengelig: vis kommandoen brukeren kan kjøre manuelt (samme
validering gjelder): `rm -rf .claude/okr/syklus/[id]/`
6. **Oppdater profil** — i `.claude/okr.local.md`: 6. **Oppdater profil** — i `.claude/okr.local.md`:
- Inkrementer `sykluser_gjennomfort` med 1 - Inkrementer `sykluser_gjennomfort` med 1
- Oppdater `gjeldende_syklus.id` til neste syklus: - Oppdater `gjeldende_syklus.id` til neste syklus:
- Tertial: T1→T2→T3→T1 (med aarsoppdatering) - Tertial: T1→T2→T3→T1 (med årsoppdatering)
- Kvartal: Q1→Q2→Q3→Q4→Q1 (med aarsoppdatering) - Kvartal: Q1→Q2→Q3→Q4→Q1 (med årsoppdatering)
- Sett `gjeldende_syklus.fase` til `planlegging` - Sett `gjeldende_syklus.fase` til `planlegging`
- Oppdater `gjeldende_syklus.periode` til neste periodestreng - Oppdater `gjeldende_syklus.periode` til neste periodestreng
7. **Opprett ny syklusmappe** — skriv `.claude/okr/syklus/[ny-id]/status.md` med 7. **Opprett ny syklusmappe** — skriv `.claude/okr/syklus/[ny-id]/status.md` med
tom mal (tabellstruktur med KR-kolonner, ingen data enna). tom mal (tabellstruktur med KR-kolonner, ingen data ennå).
8. **Bekreft** — vis oppsummering: 8. **Bekreft** — vis oppsummering:
``` ```
Syklus [id] er arkivert i `.claude/okr/historikk/[id]/`. Syklus [id] er arkivert i `.claude/okr/historikk/[id]/`.
Gjeldende syklus er na [ny-id] (planleggingsfase). Gjeldende syklus er nå [ny-id] (planleggingsfase).
Anbefalte neste steg: Anbefalte neste steg:
- /okr:moter — planlegg oppstartsmate for [ny-id] - /okr:møter — planlegg oppstartsmøte for [ny-id]
- /okr:skriv — skriv nye OKR for [ny-id] - /okr:skriv — skriv nye OKR for [ny-id]
- /okr:kaskade — kaskader org-OKR til team-niva - /okr:kaskade — kaskader org-OKR til team-nivå
``` ```
--- ---
## Feilhandtering ## Feilhåndtering
- **Fil kan ikke skrives:** Vis YAML som kan kopieres manuelt - **Fil kan ikke skrives:** Vis YAML som kan kopieres manuelt
- **Bruker avbryter midt i intervju:** `onboarding_status: partial` allerede lagret — neste kjoring tilbyr a fortsette - **Bruker avbryter midt i intervju:** `onboarding_status: partial` allerede lagret — neste kjøring tilbyr å fortsette
- **Linear API feiler:** Gi tydelig feilmelding, fortsett uten Linear-integrasjon - **Linear API feiler:** Gi tydelig feilmelding, fortsett uten Linear-integrasjon
- **Mappeopprettelse feiler:** Vis `mkdir -p .claude/okr/strategisk-kontekst/` kommando brukeren kan kjore manuelt - **Mappeopprettelse feiler:** Vis `mkdir -p .claude/okr/strategisk-kontekst/` kommando brukeren kan kjøre manuelt
## Syklusberegning ## Syklusberegning
Beregn gjeldende syklus-ID basert pa dagens dato: Beregn gjeldende syklus-ID basert på dagens dato:
- **Tertial:** Jan-Apr = T1, Mai-Aug = T2, Sep-Des = T3 - **Tertial:** Jan-Apr = T1, Mai-Aug = T2, Sep-Des = T3
- **Kvartal:** Jan-Mar = Q1, Apr-Jun = Q2, Jul-Sep = Q3, Okt-Des = Q4 - **Kvartal:** Jan-Mar = Q1, Apr-Jun = Q2, Jul-Sep = Q3, Okt-Des = Q4
- Format: `T[1-3]-YYYY` eller `Q[1-4]-YYYY` - Format: `T[1-3]-YYYY` eller `Q[1-4]-YYYY`