--- name: okr:oppsett description: Konfigurer OKR-pluginen med dyp onboarding, profiloppdatering og syklusarkivering allowed-tools: Read, Write, Bash, AskUserQuestion, ToolSearch, Glob argument-hint: "[full|mvp|arkiver|oppdater|vis]" --- # OKR Oppsett - Onboarding, konfigurasjon og syklushandtering Interaktiv konfigurasjon av OKR-pluginen. Bygger en persistent organisasjonsprofil som alle andre kommandoer bruker automatisk via hook-injeksjon. ## Ruting basert pa argument | Argument | Handling | |----------|----------| | _(ingen)_ | Detekter eksisterende konfig, tilby meny | | `full` | Kjor 6-fase dyp onboarding (15-20 min) | | `mvp` | Kjor minimum viable onboarding (6 sporsmaal, ~5 min) | | `arkiver` | Arkiver gjeldende syklus med retrospektiv | | `oppdater` | Oppdater spesifikke felt i eksisterende profil | | `vis` | Vis gjeldende konfigurasjon | --- ## Ingen argument — detekter og tilby Les `.claude/okr.local.md` (relativt til brukerens prosjekt-cwd). **Hvis filen IKKE finnes:** Bruk AskUserQuestion: ``` Ser ut som du ikke har konfigurert OKR-pluginen enna. Vil du kjore onboarding-intervjuet? 1. Full onboarding (6 faser, 15-20 min) — anbefalt for beste resultat 2. MVP onboarding (6 sporsmaal, ~5 min) — rask start 3. Avbryt ``` Kjor `full` eller `mvp` basert pa valg. **Hvis filen finnes OG `onboarding_status: partial`:** ``` Fant ufullstendig onboarding. Du kom til fase [N] forrige gang. 1. Fortsett fra fase [N] 2. Start pa nytt (full) 3. Start pa nytt (mvp) 4. Avbryt ``` Hvis fortsett: les YAML, finn siste utfylte fase-seksjon, fortsett fra neste. **Hvis filen finnes OG `onboarding_status: fullfort`:** Vis kort oppsummering av gjeldende profil (org, syklus, modenhet, verktoy). Bruk AskUserQuestion: ``` Konfigurasjon funnet for [organisasjon.navn]. 1. Oppdater konfigurasjon (endre spesifikke felt) 2. Kjor intervju pa nytt (full) 3. Vis full konfigurasjon 4. Avslutt ``` --- ## Full onboarding — 6-fase dyp intervju Skriv `onboarding_status: partial` til `.claude/okr.local.md` for hver fase er fullfort. Oppdater til `fullfort` etter siste fase. ### Fase 1 — Identitet (2 min) Still alle sporsmaal med AskUserQuestion (grupper 2-3 sammen der naturlig): 1. **Organisasjonsnavn og kortform?** Eksempel: "Direktoratet for digital tjenesteutvikling" / "DDT" 2. **Type organisasjon?** Alternativer: statlig etat | direktorat | kommune | fylkeskommune 3. **Hvilket departement eller overordnet etat?** Eksempel: "fagdepartementet" 4. **Fagdomene?** Alternativer: transport | helse | justis | digitalisering | utdanning | annet 5. **Antall ansatte i OKR-programmet (ca.)?** Tall eller estimat 6. **Nasjonal, regional eller lokal virksomhet?** Alternativer: nasjonal | regional | lokal **Etter fase 1:** Skriv organisasjon-seksjonen til `.claude/okr.local.md`. ### Fase 2 — Modenhet (5 min) 7. **OKR-historikk?** Alternativer: aldri provd | prover na (forste syklus) | erfaren (2+ sykluser) 8. **Hvis erfaren: Antall gjennomforte sykluser?** (Hopp over hvis "aldri provd" eller "prover na") 9. **Hvem er OKR-sponsor (navn og rolle)?** Personen som gir mandat og synlighet. Eksempel: "Divisjonsdirektor Kari Holm" 10. **Hvem er OKR-champion (navn og rolle)?** Personen som driver det operative arbeidet. Eksempel: "Seniorradgiver Per Lund" 11. **Er OKR eksplisitt koblet fra lonnssamtale og medarbeidersamtale?** Alternativer: ja | nei | usikkert **VIKTIG:** Hvis "nei" eller "usikkert" — sett `okr_frikoblet_fra_loenn: false` og legg til advarsel i Markdown-body: > **ADVARSEL:** OKR koblet til lonn er et av de farligste antipatternene. > Nar medarbeidere vet at OKR-score pavirker lonn, setter de trygge, lave mal > i stedet for ambisiose stretch goals. Anbefaler sterkt a dekoblere for utrulling. 12. **Hva er alignment-tilnaermingen?** Alternativer: top-down | bottom-up | bidireksjonell Forklar kort: "Bidireksjonell betyr at ledelsen setter retning og teamene foreslaar egne OKR som kobles opp. Dette er anbefalt tilnaerming." **Etter fase 2:** Oppdater `.claude/okr.local.md` med program-seksjonen. ### Fase 3 — Strategisk kontekst (5 min) 13. **Har dere et tildelingsbrev for 2026?** Alternativer: ja | nei Hvis ja: "Vil du lagre nokkelmal fra tildelingsbrevet? Lim inn de viktigste malene (stikkpunkter, ikke hele brevet) sa kan pluginen bruke dem til alignment." Hvis brukeren limer inn tekst: skriv til `.claude/okr/strategisk-kontekst/tildelingsbrev-2026.md` med YAML-frontmatter og innlimt innhold. Opprett mappene med Write-tool. 14. **Har dere en virksomhetsplan eller strategiplan?** Eventuelt lenke eller nokkelpunkter. Hvis innhold gis: skriv til `.claude/okr/strategisk-kontekst/virksomhetsplan.md`. 15. **Har dere org-niva OKR for 2026?** Alternativer: ja | nei | planlegges Hvis ja: "Lim inn org-OKR (Objectives og Key Results) sa pluginen kan bruke dem til kaskadering og alignment-sjekk." Hvis innhold gis: skriv til `.claude/okr/strategisk-kontekst/overordnede-okr.md`. **Etter fase 3:** Oppdater `.claude/okr.local.md` med eventuell strategisk kontekst-info. ### Fase 4 — Struktur (3 min) 16. **Hvilke OKR-nivaer bruker dere?** Alternativer (flervalg): etat | divisjon | avdeling | seksjon | team 17. **Din rolle i OKR-programmet?** Alternativer: leder | produkteier | seksjonsleder | koordinator | annet 18. **Antall team som kjorer OKR denne syklusen (ca.)?** Tall 19. **Bruker dere bidireksjonell kaskadering?** Forklaring: "Teamene foreslaar egne OKR som kobles til org-OKR, i stedet for at alt kommer ovenfra." Alternativer: ja | nei | planlegger det **Etter fase 4:** Oppdater gjeldende_syklus-seksjonen. ### Fase 5 — Verktoy (2 min) 20. **Oppgavestyringsverktoy?** Alternativer: Linear | Jira | Azure DevOps | Planner | ingen | annet 21. **OKR-sporingsverktoy?** Alternativer: Oboard | Quantive | regneark | ingen | annet 22. **Moteverktoy?** Alternativer: Microsoft Teams | Zoom | annet 23. **Leveransemetodikk?** Alternativer: Scrum | Kanban | SAFe | prosjekt | annet 24. **Vil du koble Linear til OKR-pluginen?** Alternativer: ja | nei Hvis ja: Kjor Linear-oppsett: 1. Sjekk om Linear MCP er konfigurert — les `~/.claude/settings.json` 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 4. La bruker velge team og project for OKR-tracking **Etter fase 5:** Oppdater verktoy- og integrasjoner-seksjonen. ### Fase 6 — Kultur (3 min) 25. **Hva er check-in-rytmen (eller onsket rytme)?** Alternativer: ukentlig | annenhver uke | maanedlig Anbefaling: "Annenhver uke er et godt utgangspunkt. Ukentlig for team i utfoerelsesfase." 26. **Psykologisk trygghet for a sette stretch goals?** Alternativer: lav | middels | hoy Forklaring: "Kan teammedlemmer trygt foreslaa ambisiose mal uten a frykte konsekvenser om de ikke naar 100%?" 27. **Kjente utfordringer eller antipatterns dere har sett?** Fritekst, ENTER for a hoppe over. Eksempler: "set-and-forget", "aktivitetsfokus i KR", "for mange Objectives" 28. **Er tillitsvalgte involvert i OKR-prosessen?** Alternativer: ja | nei | planlegges **Etter fase 6:** Oppdater kultur-seksjonen. Sett `onboarding_status: fullfort`. ### Fullforingssteg Etter alle 6 faser: 1. Skriv komplett YAML til `.claude/okr.local.md` (oppdater alle seksjoner) 2. Sett `onboarding_status: fullfort` og `Sist oppdatert: [dato]` 3. Vis oppsummering: ``` Onboarding fullfort for [organisasjon]! Profil: - Organisasjon: [navn] ([type]) - Modenhet: [niva] ([N] sykluser gjennomfort) - Gjeldende syklus: [id] ([fase]) - Verktoy: [oppgavestyring], [okr_tracking] - Check-in: [rytme] Lagrede kontekstfiler: - .claude/okr.local.md (organisasjonsprofil) [- .claude/okr/strategisk-kontekst/tildelingsbrev-2026.md] [- .claude/okr/strategisk-kontekst/overordnede-okr.md] Anbefalte neste steg: - /okr:skriv — skriv forste OKR for denne syklusen - /okr:kvalitet — sjekk eksisterende OKR - /okr:moter — planlegg OKR-workshop eller kick-off ``` --- ## MVP onboarding — 6 sporsmaal For brukere som vil komme raskt i gang. Samle alle sporsmaal i en AskUserQuestion eller maks 2 runder: 1. **Organisasjonsnavn og type?** Eksempel: "Direktoratet for digital tjenesteutvikling, statlig etat" 2. **Fagdomene?** Alternativer: transport | helse | justis | digitalisering | utdanning | annet 3. **OKR-modenhet?** Alternativer: aldri provd | prover na (forste syklus) | erfaren (2+ sykluser) 4. **Gjeldende syklusfase?** Alternativer: planlegging | utfoerelse | review | mellom sykluser 5. **Primaere verktoy?** Fritekst. Eksempel: "Linear og Microsoft Teams" 6. **Er OKR frikoblet fra lonnssamtale?** Alternativer: ja | nei | usikkert **Etter svar:** Skriv YAML med disse 6 feltene pluss fornuftige defaults for alle andre: ```yaml --- onboarding_status: fullfort organisasjon: navn: "[svar 1: navn]" kortform: "" type: "[svar 1: type]" departement: "" ansatte_i_okr_program: 0 domene: "[svar 2]" geografi: "nasjonal" program: modenhetsnivaa: "[utledet fra svar 3: aldri provd→ikke-startet, prover na→utforsker, erfaren→pilot]" sykluser_gjennomfort: 0 sponsor: "" champion: "" okr_frikoblet_fra_loenn: [svar 6: true/false] alignment_tilnaerming: "bidireksjonell" gjeldende_syklus: id: "[beregnet fra dato og fase]" periode: "[beregnet]" fase: "[svar 4]" antall_team: 1 verktoy: oppgavestyring: "[parsed fra svar 5]" okr_tracking: "" moeteverktoy: "[parsed fra svar 5]" leveransemetodikk: "" kultur: sjekk_inn_rytme: "annenhver uke" psykologisk_trygghet: "middels" kjente_utfordringer: [] integrasjoner: linear: aktivert: false team_id: "" project_id: "" preferanser: spraak: "no" vis_eksempler: true ambisjonsnivaa: "balansert" --- ``` Vis kort oppsummering og foreslaa `/okr:oppsett full` for a fylle ut resten senere. --- ## Oppdater — endre spesifikke felt Trigger: `/okr:oppsett oppdater` eller valg 1 fra ingen-argument-menyen. 1. Les `.claude/okr.local.md` 2. Vis gjeldende verdier gruppert per seksjon 3. Bruk AskUserQuestion: "Hvilken seksjon vil du oppdatere?" Alternativer: Organisasjon | Program | Syklus | Verktoy | Kultur | Integrasjoner | Preferanser 4. Vis feltene i valgt seksjon med gjeldende verdier 5. La bruker endre ett eller flere felt 6. Skriv oppdatert YAML tilbake 7. Oppdater `Sist oppdatert` i filen --- ## Vis — vis gjeldende konfigurasjon Trigger: `/okr:oppsett vis` eller valg 3 fra ingen-argument-menyen. Les `.claude/okr.local.md` og vis innholdet formatert: ``` ## OKR-profil for [organisasjon.navn] ### Identitet - Navn: [navn] ([kortform]) - Type: [type] - Departement: [departement] - Domene: [domene] - Ansatte i OKR-program: [tall] ### Program - Modenhet: [modenhetsnivaa] - Sykluser gjennomfort: [tall] - Sponsor: [sponsor] - Champion: [champion] - OKR frikoblet fra lonn: [ja/nei] ### Gjeldende syklus - ID: [id] - Periode: [periode] - Fase: [fase] - Antall team: [tall] ### Verktoy [liste] ### Kultur [liste] ### Integrasjoner [status] Kontekstfiler: [list .claude/okr/ directory if exists] ``` --- ## Arkiver syklus Trigger: `/okr:oppsett arkiver` ### Forutsetninger Les `gjeldende_syklus.id` fra `.claude/okr.local.md` (f.eks. `T1-2026`). Sjekk at `.claude/okr/syklus/[id]/` finnes. Hvis ikke: ``` Ingen aktiv syklusmappe funnet for [id]. Opprett `.claude/okr/syklus/[id]/` med OKR-filer for a bruke arkivering. ``` ### Arkiveringsflyt 1. **Les gjeldende syklus** — les alle `.md`-filer i `.claude/okr/syklus/[id]/` og `status.md` hvis den finnes. 2. **Samle endelige scorer** — hvis `status.md` har endelige scorer, bruk dem. Ellers spor med AskUserQuestion: ``` Hva ble de endelige scorene for [syklus]? Oppgi score per KR (0.0-1.0) eller ENTER for a bruke siste kjente status. ``` 3. **Generer retrospektiv** — skriv til `.claude/okr/syklus/[id]/retrospektiv.md`: ```markdown --- syklus: [id] periode: [periode fra config] arkivert: [dato] samlet_score: [beregnet gjennomsnitt] --- # Retrospektiv [id] ## Resultater [OKR med endelige scorer, tabellformat] ## Hva gikk bra [Basert pa KR som scoret 0.7+] ## Hva var utfordrende [Basert pa KR som scoret <0.5, noter monstere] ## Laering til neste syklus [Identifiser 2-3 konkrete forbedringer] ## Antipatterns observert [Sjekk mot antipatternene fra referansemateriale — nevn kun de som er relevante basert pa scoremansteret. Les ${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md] ``` 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). Opprett ogsa `.claude/okr/historikk/[id]-resultater.md` med sammendrag: endelige scorer, topp-laeringer, og lenke til full retrospektiv. 5. **Bekreft sletting** — bruk AskUserQuestion: ``` Slett syklusmappen `.claude/okr/syklus/[id]/`? Den er na arkivert i `historikk/[id]/`. Alternativer: ja | nei (behold begge) ``` Hvis ja og Bash-tool er tilgjengelig: `rm -rf .claude/okr/syklus/[id]/` Hvis Bash ikke tilgjengelig: vis kommando brukeren kan kjore manuelt: `rm -rf .claude/okr/syklus/[id]/` 6. **Oppdater profil** — i `.claude/okr.local.md`: - Inkrementer `sykluser_gjennomfort` med 1 - Oppdater `gjeldende_syklus.id` til neste syklus: - Tertial: T1→T2→T3→T1 (med aarsoppdatering) - Kvartal: Q1→Q2→Q3→Q4→Q1 (med aarsoppdatering) - Sett `gjeldende_syklus.fase` til `planlegging` - Oppdater `gjeldende_syklus.periode` til neste periodestreng 7. **Opprett ny syklusmappe** — skriv `.claude/okr/syklus/[ny-id]/status.md` med tom mal (tabellstruktur med KR-kolonner, ingen data enna). 8. **Bekreft** — vis oppsummering: ``` Syklus [id] er arkivert i `.claude/okr/historikk/[id]/`. Gjeldende syklus er na [ny-id] (planleggingsfase). Anbefalte neste steg: - /okr:moter — planlegg oppstartsmate for [ny-id] - /okr:skriv — skriv nye OKR for [ny-id] - /okr:kaskade — kaskader org-OKR til team-niva ``` --- ## Feilhandtering - **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 - **Linear API feiler:** Gi tydelig feilmelding, fortsett uten Linear-integrasjon - **Mappeopprettelse feiler:** Vis `mkdir -p .claude/okr/strategisk-kontekst/` kommando brukeren kan kjore manuelt ## Syklusberegning Beregn gjeldende syklus-ID basert pa dagens dato: - **Tertial:** Jan-Apr = T1, Mai-Aug = T2, Sep-Des = T3 - **Kvartal:** Jan-Mar = Q1, Apr-Jun = Q2, Jul-Sep = Q3, Okt-Des = Q4 - Format: `T[1-3]-YYYY` eller `Q[1-4]-YYYY`