diff --git a/commands/oppsett.md b/commands/oppsett.md index bba2300..545ed79 100644 --- a/commands/oppsett.md +++ b/commands/oppsett.md @@ -5,18 +5,18 @@ allowed-tools: Read, Write, Bash, AskUserQuestion, ToolSearch, Glob 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 som alle andre kommandoer bruker automatisk via hook-injeksjon. -## Ruting basert pa argument +## Ruting basert på 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) | +| `full` | Kjør 6-fase dyp onboarding (15-20 min) | +| `mvp` | Kjør minimum viable onboarding (6 spørsmål, ~5 min) | | `arkiver` | Arkiver gjeldende syklus med retrospektiv | | `oppdater` | Oppdater spesifikke felt i eksisterende profil | | `vis` | Vis gjeldende konfigurasjon | @@ -31,15 +31,15 @@ Les `.claude/okr.local.md` (relativt til brukerens prosjekt-cwd). Bruk AskUserQuestion: ``` -Ser ut som du ikke har konfigurert OKR-pluginen enna. -Vil du kjore onboarding-intervjuet? +Ser ut som du ikke har konfigurert OKR-pluginen ennå. +Vil du kjøre onboarding-intervjuet? 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 ``` -Kjor `full` eller `mvp` basert pa valg. +Kjør `full` eller `mvp` basert på valg. **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. 1. Fortsett fra fase [N] -2. Start pa nytt (full) -3. Start pa nytt (mvp) +2. Start på nytt (full) +3. Start på nytt (mvp) 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`:** -Vis kort oppsummering av gjeldende profil (org, syklus, modenhet, verktoy). +Vis kort oppsummering av gjeldende profil (org, syklus, modenhet, verktøy). Bruk AskUserQuestion: ``` Konfigurasjon funnet for [organisasjon.navn]. 1. Oppdater konfigurasjon (endre spesifikke felt) -2. Kjor intervju pa nytt (full) +2. Kjør intervju på nytt (full) 3. Vis full konfigurasjon 4. Avslutt ``` @@ -71,15 +71,15 @@ Konfigurasjon funnet for [organisasjon.navn]. ## 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. +Skriv `onboarding_status: partial` til `.claude/okr.local.md` for hver fase er +fullført. Oppdater til `fullfort` etter siste fase. ### 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?** - Eksempel: "Direktoratet for digital tjenesteutvikling" / "DDT" + Eksempel (fiktiv eksempeletat): «Direktoratet for digital tjenesteutvikling» / «DDT» 2. **Type organisasjon?** 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) 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?** - (Hopp over hvis "aldri provd" eller "prover na") +8. **Hvis erfaren: Antall gjennomførte sykluser?** + (Hopp over hvis "aldri prøvd" eller "prøver nå") 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)?** - 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 **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. + > **ADVARSEL:** OKR koblet til lønn er et av de farligste antipatternene. + > Når medarbeidere vet at OKR-score påvirker lønn, setter de trygge, lave mål + > 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 - Forklar kort: "Bidireksjonell betyr at ledelsen setter retning og teamene foreslaar - egne OKR som kobles opp. Dette er anbefalt tilnaerming." + Forklar kort: "Bidireksjonell betyr at ledelsen setter retning og teamene foreslår + egne OKR som kobles opp. Dette er anbefalt tilnærming." **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?** 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 ja: "Vil du lagre nøkkelmål fra tildelingsbrevet? Lim inn de viktigste målene + (stikkpunkter, ikke hele brevet) så 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 + Eventuelt lenke eller nøkkelpunkter. Hvis innhold gis: skriv til `.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 - 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." 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) -16. **Hvilke OKR-nivaer bruker dere?** +16. **Hvilke OKR-nivåer 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.)?** +18. **Antall team som kjører OKR denne syklusen (ca.)?** Tall 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." Alternativer: ja | nei | planlegger det **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 -21. **OKR-sporingsverktoy?** +21. **OKR-sporingsverktøy?** Alternativer: Oboard | Quantive | regneark | ingen | annet -22. **Moteverktoy?** +22. **Møteverktøy?** Alternativer: Microsoft Teams | Zoom | annet 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?** 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` 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 -**Etter fase 5:** Oppdater verktoy- og integrasjoner-seksjonen. +**Etter fase 5:** Oppdater verktøy- 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." +25. **Hva er check-in-rytmen (eller ønsket rytme)?** + Alternativer: ukentlig | annenhver uke | månedlig + Anbefaling: "Annenhver uke er et godt utgangspunkt. Ukentlig for team i utførelsesfase." -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%?" +26. **Psykologisk trygghet for å sette stretch goals?** + Alternativer: lav | middels | høy + Forklaring: "Kan teammedlemmer trygt foreslå ambisiøse mål uten å frykte konsekvenser + om de ikke når 100%?" 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" 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`. -### Fullforingssteg +### Fullføringssteg Etter alle 6 faser: @@ -226,13 +226,13 @@ Etter alle 6 faser: 3. Vis oppsummering: ``` -Onboarding fullfort for [organisasjon]! +Onboarding fullført for [organisasjon]! Profil: - Organisasjon: [navn] ([type]) -- Modenhet: [niva] ([N] sykluser gjennomfort) +- Modenhet: [nivå] ([N] sykluser gjennomført) - Gjeldende syklus: [id] ([fase]) -- Verktoy: [oppgavestyring], [okr_tracking] +- Verktøy: [oppgavestyring], [okr_tracking] - Check-in: [rytme] Lagrede kontekstfiler: @@ -241,34 +241,34 @@ Lagrede kontekstfiler: [- .claude/okr/strategisk-kontekst/overordnede-okr.md] 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: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: 1. **Organisasjonsnavn og type?** - Eksempel: "Direktoratet for digital tjenesteutvikling, statlig etat" + Eksempel (fiktiv eksempeletat): «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) + Alternativer: aldri prøvd | prøver nå (første syklus) | erfaren (2+ sykluser) 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" -6. **Er OKR frikoblet fra lonnssamtale?** +6. **Er OKR frikoblet fra lønnssamtale?** Alternativer: ja | nei | usikkert **Etter svar:** Skriv YAML med disse 6 feltene pluss fornuftige defaults for alle andre: @@ -285,7 +285,7 @@ organisasjon: domene: "[svar 2]" geografi: "nasjonal" 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 sponsor: "" 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` 2. Vis gjeldende verdier gruppert per seksjon 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 5. La bruker endre ett eller flere felt 6. Skriv oppdatert YAML tilbake @@ -354,10 +354,10 @@ Les `.claude/okr.local.md` og vis innholdet formatert: ### Program - Modenhet: [modenhetsnivaa] -- Sykluser gjennomfort: [tall] +- Sykluser gjennomført: [tall] - Sponsor: [sponsor] - Champion: [champion] -- OKR frikoblet fra lonn: [ja/nei] +- OKR frikoblet fra lønn: [ja/nei] ### Gjeldende syklus - ID: [id] @@ -365,7 +365,7 @@ Les `.claude/okr.local.md` og vis innholdet formatert: - Fase: [fase] - Antall team: [tall] -### Verktoy +### Verktøy [liste] ### Kultur @@ -391,7 +391,7 @@ 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. +Opprett `.claude/okr/syklus/[id]/` med OKR-filer for å bruke arkivering. ``` ### Arkiveringsflyt @@ -400,10 +400,10 @@ Opprett `.claude/okr/syklus/[id]/` med OKR-filer for a bruke arkivering. og `status.md` hvis den finnes. 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]? - 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`: @@ -424,74 +424,79 @@ Opprett `.claude/okr/syklus/[id]/` med OKR-filer for a bruke arkivering. ## Hva gikk bra - [Basert pa KR som scoret 0.7+] + [Basert på KR som scoret 0.7+] ## 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] ## Antipatterns observert [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] ``` 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. + Opprett også `.claude/okr/historikk/[id]-resultater.md` med sammendrag: + endelige scorer, topp-læringer, og lenke til full retrospektiv. 5. **Bekreft sletting** — bruk AskUserQuestion: ``` 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) ``` - 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]/` + Hvis ja og Bash-tool er tilgjengelig: **valider FØRST at `[id]` ikke er tom OG + matcher mønsteret `^[TQ][1-4]-[0-9]{4}$`** (f.eks. `T1-2026`). Kun hvis + 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`: - 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) + - Tertial: T1→T2→T3→T1 (med årsoppdatering) + - Kvartal: Q1→Q2→Q3→Q4→Q1 (med årsoppdatering) - 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). + tom mal (tabellstruktur med KR-kolonner, ingen data ennå). 8. **Bekreft** — vis oppsummering: ``` 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: - - /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: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 -- **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 -- **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 -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 - **Kvartal:** Jan-Mar = Q1, Apr-Jun = Q2, Jul-Sep = Q3, Okt-Des = Q4 - Format: `T[1-3]-YYYY` eller `Q[1-4]-YYYY`