Same bulk replacement applied to plugin-internal KB, examples, fixtures, tests, and docs. Real organization names, persona names, internal system identifiers, and domain-specific terms replaced with fictional generic public-sector entity (DDT) and generic terminology. Scope: - okr/ — examples, governance, framework, integrations, sources - ms-ai-architect/ — KB references (engineering, governance, security, infrastructure, advisor), tests/fixtures, agents, docs - linkedin-thought-leadership/ — voice samples, network-builder, examples (genericized identifying headlines to "[your organization]") - llm-security/ — research notes, scan report Manual genericization beyond bulk replace: - okr SKILL.md "Primary user / Domain" — generic Norwegian public sector - linkedin-voice SKILL.md headline placeholder - network-builder.md headline placeholder - high-engagement-posts.md voice sample employer line + hashtag Phase 3 (factual-attribution review) remains: a few KB files attribute publicly known transport-sector docs/datasets (e.g. håndbok V440, NVDB) to the fictional DDT after bulk replace. Needs manual semantic review to either remove or restore correct citation without re-introducing affiliation references. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
15 KiB
| name | description | allowed-tools | argument-hint |
|---|---|---|---|
| okr:oppsett | Konfigurer OKR-pluginen med dyp onboarding, profiloppdatering og syklusarkivering | Read, Write, Bash, AskUserQuestion, ToolSearch, Glob | [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):
-
Organisasjonsnavn og kortform? Eksempel: "Direktoratet for digital tjenesteutvikling" / "DDT"
-
Type organisasjon? Alternativer: statlig etat | direktorat | kommune | fylkeskommune
-
Hvilket departement eller overordnet etat? Eksempel: "fagdepartementet"
-
Fagdomene? Alternativer: transport | helse | justis | digitalisering | utdanning | annet
-
Antall ansatte i OKR-programmet (ca.)? Tall eller estimat
-
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)
-
OKR-historikk? Alternativer: aldri provd | prover na (forste syklus) | erfaren (2+ sykluser)
-
Hvis erfaren: Antall gjennomforte sykluser? (Hopp over hvis "aldri provd" eller "prover na")
-
Hvem er OKR-sponsor (navn og rolle)? Personen som gir mandat og synlighet. Eksempel: "Divisjonsdirektor Kari Holm"
-
Hvem er OKR-champion (navn og rolle)? Personen som driver det operative arbeidet. Eksempel: "Seniorradgiver Per Lund"
-
Er OKR eksplisitt koblet fra lonnssamtale og medarbeidersamtale? Alternativer: ja | nei | usikkert
VIKTIG: Hvis "nei" eller "usikkert" — sett
okr_frikoblet_fra_loenn: falseog 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.
-
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)
-
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.mdmed YAML-frontmatter og innlimt innhold. Opprett mappene med Write-tool. -
Har dere en virksomhetsplan eller strategiplan? Eventuelt lenke eller nokkelpunkter. Hvis innhold gis: skriv til
.claude/okr/strategisk-kontekst/virksomhetsplan.md. -
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)
-
Hvilke OKR-nivaer bruker dere? Alternativer (flervalg): etat | divisjon | avdeling | seksjon | team
-
Din rolle i OKR-programmet? Alternativer: leder | produkteier | seksjonsleder | koordinator | annet
-
Antall team som kjorer OKR denne syklusen (ca.)? Tall
-
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)
-
Oppgavestyringsverktoy? Alternativer: Linear | Jira | Azure DevOps | Planner | ingen | annet
-
OKR-sporingsverktoy? Alternativer: Oboard | Quantive | regneark | ingen | annet
-
Moteverktoy? Alternativer: Microsoft Teams | Zoom | annet
-
Leveransemetodikk? Alternativer: Scrum | Kanban | SAFe | prosjekt | annet
-
Vil du koble Linear til OKR-pluginen? Alternativer: ja | nei
Hvis ja: Kjor Linear-oppsett:
- Sjekk om Linear MCP er konfigurert — les
~/.claude/settings.json - Hvis ikke: veilede oppsett av MCP-server (referer til Linear MCP docs)
- Bruk ToolSearch for a finne Linear-tools, hent teams og projects
- La bruker velge team og project for OKR-tracking
- Sjekk om Linear MCP er konfigurert — les
Etter fase 5: Oppdater verktoy- og integrasjoner-seksjonen.
Fase 6 — Kultur (3 min)
-
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."
-
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%?"
-
Kjente utfordringer eller antipatterns dere har sett? Fritekst, ENTER for a hoppe over. Eksempler: "set-and-forget", "aktivitetsfokus i KR", "for mange Objectives"
-
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:
- Skriv komplett YAML til
.claude/okr.local.md(oppdater alle seksjoner) - Sett
onboarding_status: fullfortogSist oppdatert: [dato] - 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:
-
Organisasjonsnavn og type? Eksempel: "Direktoratet for digital tjenesteutvikling, statlig etat"
-
Fagdomene? Alternativer: transport | helse | justis | digitalisering | utdanning | annet
-
OKR-modenhet? Alternativer: aldri provd | prover na (forste syklus) | erfaren (2+ sykluser)
-
Gjeldende syklusfase? Alternativer: planlegging | utfoerelse | review | mellom sykluser
-
Primaere verktoy? Fritekst. Eksempel: "Linear og Microsoft Teams"
-
Er OKR frikoblet fra lonnssamtale? Alternativer: ja | nei | usikkert
Etter svar: Skriv YAML med disse 6 feltene pluss fornuftige defaults for alle andre:
---
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.
- Les
.claude/okr.local.md - Vis gjeldende verdier gruppert per seksjon
- Bruk AskUserQuestion: "Hvilken seksjon vil du oppdatere?" Alternativer: Organisasjon | Program | Syklus | Verktoy | Kultur | Integrasjoner | Preferanser
- Vis feltene i valgt seksjon med gjeldende verdier
- La bruker endre ett eller flere felt
- Skriv oppdatert YAML tilbake
- Oppdater
Sist oppdaterti 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
-
Les gjeldende syklus — les alle
.md-filer i.claude/okr/syklus/[id]/ogstatus.mdhvis den finnes. -
Samle endelige scorer — hvis
status.mdhar 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. -
Generer retrospektiv — skriv til
.claude/okr/syklus/[id]/retrospektiv.md:--- 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] -
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.mdmed sammendrag: endelige scorer, topp-laeringer, og lenke til full retrospektiv. -
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]/ -
Oppdater profil — i
.claude/okr.local.md:- Inkrementer
sykluser_gjennomfortmed 1 - Oppdater
gjeldende_syklus.idtil neste syklus:- Tertial: T1→T2→T3→T1 (med aarsoppdatering)
- Kvartal: Q1→Q2→Q3→Q4→Q1 (med aarsoppdatering)
- Sett
gjeldende_syklus.fasetilplanlegging - Oppdater
gjeldende_syklus.periodetil neste periodestreng
- Inkrementer
-
Opprett ny syklusmappe — skriv
.claude/okr/syklus/[ny-id]/status.mdmed tom mal (tabellstruktur med KR-kolonner, ingen data enna). -
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: partialallerede 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]-YYYYellerQ[1-4]-YYYY