feat(okr): sync to v1.3.0 from ktg-privat
Syncs all changes from v1.0.0 through v1.3.0: v1.1 (quick fixes): - Fix deprecated Viva Goals references - Add DFO-OKR terminology mapping - Add tillitsvalgt/fagforening perspective - Update Objectives recommendation from 3-5 to 2-3 v1.1 (persistent context): - Deep onboarding interview (full/mvp) - Persistent .claude/okr/ directory tree - Context-aware commands - Cycle archival with retrospective v1.3 (AI-first differentiators): - /okr:gap — tildelingsbrev gap analysis with coverage matrix - /okr:analyse — cross-cycle Mermaid analytics - SessionStart coaching hook (proactive, phase-aware) - gapanalytiker + trendanalytiker agents - inject-okr-context.mjs extended for historikk/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
4b5e19e7b7
commit
ac95cd6a30
30 changed files with 1900 additions and 275 deletions
152
plugins/okr/commands/analyse.md
Normal file
152
plugins/okr/commands/analyse.md
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
---
|
||||
name: okr:analyse
|
||||
description: Kryss-syklus analyse med trendvisualisering
|
||||
allowed-tools: Read, AskUserQuestion, Task, Glob
|
||||
argument-hint: "[trender|antipatterns|alignment|sammendrag]"
|
||||
---
|
||||
|
||||
# OKR Analyse — Kryss-syklus trender
|
||||
|
||||
Analyser OKR-historikk på tvers av sykluser. Vis score-trender, gjentakende
|
||||
antipatterns og alignment-utvikling med Mermaid-visualiseringer.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten:
|
||||
- Hvis arkiverte sykluser er listet (f.eks. "Arkiverte sykluser (3): T1-2025, T2-2025, T3-2025"):
|
||||
les filene i `.claude/okr/historikk/` direkte.
|
||||
- Hvis ingen arkiverte sykluser finnes: vis hjelpsom melding (se edge cases).
|
||||
- Sjekk også gjeldende syklus for sammenligning mot historikk.
|
||||
|
||||
## Ruting basert på argument
|
||||
|
||||
| Argument | Handling |
|
||||
|----------|----------|
|
||||
| _(ingen)_ | Vis sammendrag av alle tilgjengelige analyser |
|
||||
| `trender` | Score-trender over sykluser med Mermaid-graf |
|
||||
| `antipatterns` | Gjentakende antipatterns på tvers av sykluser |
|
||||
| `alignment` | Alignment-endringer: team-dekning av org-mål over tid |
|
||||
| `sammendrag` | Komplett analyse-rapport med alle tre dimensjoner |
|
||||
|
||||
## Edge cases
|
||||
|
||||
### 0 arkiverte sykluser
|
||||
Vis:
|
||||
> Ingen arkiverte sykluser funnet i `.claude/okr/historikk/`.
|
||||
> Etter fullført syklus, bruk `/okr:oppsett arkiver` for å arkivere resultater.
|
||||
> Med 2+ arkiverte sykluser kan du se trender og mønstre.
|
||||
|
||||
### 1 arkivert syklus
|
||||
Vis baseline-verdier fra den ene syklusen:
|
||||
> Kun én arkivert syklus ([id]). Viser baseline-verdier.
|
||||
> Etter neste syklus kan vi beregne trender og identifisere mønstre.
|
||||
|
||||
Vis likevel: samlet score, Objectives og KR-resultater, identifiserte antipatterns.
|
||||
|
||||
### 2+ arkiverte sykluser
|
||||
Full trendanalyse med Mermaid-grafer.
|
||||
|
||||
## Arbeidsflyt
|
||||
|
||||
### 1. Datainnsamling
|
||||
|
||||
Les alle mapper i `.claude/okr/historikk/`. For hver arkivert syklus:
|
||||
- Les `retrospektiv.md` — YAML-frontmatter inneholder `syklus`, `periode`,
|
||||
`arkivert`, `samlet_score`
|
||||
- Les `[id]-resultater.md` — detaljerte KR-scorer og kommentarer
|
||||
- Ekstraher: syklus-ID, periode, endelig score per KR, samlet score,
|
||||
identifiserte antipatterns, læringer
|
||||
|
||||
### 2. Score-trender
|
||||
|
||||
Aggreger `samlet_score` per syklus til en tidsserie. Generer Mermaid xychart-beta:
|
||||
|
||||
````
|
||||
```mermaid
|
||||
xychart-beta
|
||||
title "OKR Score-trend"
|
||||
x-axis ["T1-2025", "T2-2025", "T3-2025", "T1-2026"]
|
||||
y-axis "Samlet score" 0 --> 1.0
|
||||
line [0.45, 0.52, 0.58, 0.63]
|
||||
```
|
||||
````
|
||||
|
||||
**Tekst-fallback** (vis alltid i tillegg til Mermaid):
|
||||
|
||||
```
|
||||
Score-utvikling:
|
||||
T1-2025: 0.45 ████████░░░░░░░░░░░░
|
||||
T2-2025: 0.52 ██████████░░░░░░░░░░
|
||||
T3-2025: 0.58 ███████████░░░░░░░░░
|
||||
T1-2026: 0.63 ████████████░░░░░░░░
|
||||
Trend: ↗ +0.06/syklus
|
||||
```
|
||||
|
||||
Generer også per-Objective score-trender hvis flere sykluser har sammenlignbare
|
||||
Objectives (samme eller lignende formulering).
|
||||
|
||||
### 3. Antipattern-analyse
|
||||
|
||||
Les referansemateriale:
|
||||
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md`
|
||||
|
||||
Skann retrospektiver for nevnte antipatterns. Kategorier fra referansefilen:
|
||||
- Formuleringsfeil
|
||||
- Prosessfeil
|
||||
- Ambisjonsbalanse
|
||||
- Organisatoriske feil
|
||||
- Offentlig sektor-spesifikke
|
||||
|
||||
Tell frekvens på tvers av sykluser. Generer Mermaid pie:
|
||||
|
||||
````
|
||||
```mermaid
|
||||
pie title "Gjentakende antipatterns"
|
||||
"Aktivitetsfokus i KR" : 3
|
||||
"Set-and-forget" : 2
|
||||
"For mange Objectives" : 1
|
||||
```
|
||||
````
|
||||
|
||||
**Flagg persistent antipatterns**: Antipatterns som opptrer i 2+ påfølgende
|
||||
sykluser markeres som "vedvarende" med spesifikk handlingsanbefaling.
|
||||
|
||||
### 4. Alignment-analyse
|
||||
|
||||
Hvis `.claude/okr/strategisk-kontekst/overordnede-okr.md` finnes:
|
||||
- Sammenlign hvor mange org-nivå KR som hadde team-støtte i hver syklus
|
||||
- Generer dekning-prosent per syklus
|
||||
|
||||
````
|
||||
```mermaid
|
||||
xychart-beta
|
||||
title "Alignment: Team-dekning av org-KR"
|
||||
x-axis ["T1-2025", "T2-2025", "T3-2025"]
|
||||
y-axis "Dekning %" 0 --> 100
|
||||
bar [60, 75, 85]
|
||||
```
|
||||
````
|
||||
|
||||
Identifiser org-KR som konsekvent mangler team-støtte.
|
||||
|
||||
### 5. Sammendrag
|
||||
|
||||
Kombiner alle tre analyser. Legg til:
|
||||
- **Modenhetsbane**: Map score-trender til modenhetsnivåer
|
||||
- < 0.3 gjennomsnitt = "utforsker"
|
||||
- 0.3-0.5 = "pilot"
|
||||
- 0.5-0.7 = "skalering"
|
||||
- \> 0.7 = "moden"
|
||||
- **Sammenlign med selvrapportert modenhet** fra okr.local.md
|
||||
- **Anbefalinger for neste syklus** basert på trender og mønstre
|
||||
|
||||
## Delegering
|
||||
|
||||
Bruk Task for å sende datainnsamling til trendanalytiker-agenten.
|
||||
Send med: alle historikk-filer, gjeldende syklus-data, og overordnede-okr.md.
|
||||
Motta tilbake strukturert analyse med Mermaid-visualiseringer.
|
||||
|
||||
## Referanser
|
||||
|
||||
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-antipatterns.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-framework.md`
|
||||
153
plugins/okr/commands/gap.md
Normal file
153
plugins/okr/commands/gap.md
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
---
|
||||
name: okr:gap
|
||||
description: Automatisk gap-analyse mellom tildelingsbrev og gjeldende OKR
|
||||
allowed-tools: Read, AskUserQuestion, Task
|
||||
argument-hint: "[tildelingsbrev-fil eller tomt for auto-deteksjon]"
|
||||
---
|
||||
|
||||
# OKR Gap-analyse — Tildelingsbrev vs OKR
|
||||
|
||||
Analyser automatisk om gjeldende OKR dekker kravene i tildelingsbrevet, og om
|
||||
OKR har forankring i styrende dokumenter.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren:
|
||||
- Hvis tildelingsbrev finnes i `.claude/okr/strategisk-kontekst/tildelingsbrev-*.md`
|
||||
(listet i system-kontekst): les den automatisk.
|
||||
- Hvis OKR finnes i `.claude/okr/syklus/[id]/`: les dem automatisk.
|
||||
- Hvis `.claude/okr/strategisk-kontekst/overordnede-okr.md` finnes: les den for
|
||||
org-nivå alignment.
|
||||
- Bruk aldri generisk rådgivning når spesifikke data er tilgjengelig.
|
||||
|
||||
## Arbeidsflyt
|
||||
|
||||
### 1. Datainnsamling
|
||||
|
||||
Auto-les fra persistent context:
|
||||
|
||||
1. **Tildelingsbrev**: `.claude/okr/strategisk-kontekst/tildelingsbrev-*.md`
|
||||
- Hvis flere tildelingsbrev finnes: spør brukeren hvilken å bruke
|
||||
- Hvis ingen finnes: be brukeren lime inn tekst eller lagre med `/okr:oppsett full`
|
||||
2. **Gjeldende OKR**: `.claude/okr/syklus/[id]/okr-*.md`
|
||||
- Hvis ingen finnes: informer og anbefal `/okr:skriv`
|
||||
3. **Overordnede OKR**: `.claude/okr/strategisk-kontekst/overordnede-okr.md`
|
||||
- Valgfritt — brukes for å vise org-nivå dekning
|
||||
|
||||
### 2. Tildelingsbrev-parsing
|
||||
|
||||
Les referansemateriale:
|
||||
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md`
|
||||
|
||||
Ekstraher individuelle krav fra tildelingsbrevet. Kategoriser hvert krav:
|
||||
|
||||
| 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 |
|
||||
| Særskilte oppdrag | Medium | Case by case |
|
||||
|
||||
### 3. OKR-mapping (tildelingsbrev → OKR)
|
||||
|
||||
For hvert OKR-relevant krav i tildelingsbrevet:
|
||||
- Søk i gjeldende OKR etter dekning (nøkkelord, semantisk match, eksplisitt referanse)
|
||||
- Vurder om noen KR måler det kravet etterspør
|
||||
- Klassifiser:
|
||||
|
||||
| Status | Beskrivelse |
|
||||
|--------|-------------|
|
||||
| **Dekket** | OKR eller KR dekker kravet eksplisitt |
|
||||
| **Delvis dekket** | Relatert OKR finnes men dekker ikke kravet fullstendig |
|
||||
| **Udekket** | Ingen OKR adresserer dette kravet |
|
||||
|
||||
### 4. Reverse-mapping (OKR → tildelingsbrev)
|
||||
|
||||
For hver gjeldende OKR:
|
||||
- Spor tilbake til tildelingsbrev-krav
|
||||
- Klassifiser:
|
||||
|
||||
| Forankring | Beskrivelse |
|
||||
|------------|-------------|
|
||||
| **Forankret** | Tydelig kobling til tildelingsbrev-krav |
|
||||
| **Indirekte forankret** | Relatert til overordnet strategi |
|
||||
| **Fristilt** | Ingen governance-forankring (OK for aspirational OKR) |
|
||||
|
||||
### 5. Rapport-generering
|
||||
|
||||
Bruk følgende output-format.
|
||||
|
||||
## Output-format
|
||||
|
||||
```
|
||||
## Gap-analyse: Tildelingsbrev vs OKR
|
||||
|
||||
**Tildelingsbrev:** [filnavn eller kilde]
|
||||
**OKR-kilde:** [syklusmappe eller manuelt oppgitt]
|
||||
**Analysedato:** [dato]
|
||||
**Org-OKR:** [ja/nei — om overordnede-okr.md ble brukt]
|
||||
|
||||
---
|
||||
|
||||
### Dekningsmatrise
|
||||
|
||||
| # | Tildelingsbrev-krav | Type | Dekket av | Status |
|
||||
|---|---------------------|------|-----------|--------|
|
||||
| 1 | [krav-tekst] | Resultatmål | O1/KR2 | dekket |
|
||||
| 2 | [krav-tekst] | Strategisk satsing | O2 | delvis dekket |
|
||||
| 3 | [krav-tekst] | Resultatmål | — | udekket |
|
||||
|
||||
### Udekte krav (gap)
|
||||
|
||||
For hvert udekket krav:
|
||||
#### Krav [N]: [tittel]
|
||||
**Sitat:** > "[fra tildelingsbrev]"
|
||||
**Type:** [kategori]
|
||||
**Anbefalt handling:**
|
||||
- [Forslag til OKR-formulering som dekker kravet]
|
||||
- [Alternativ: Følg opp som KPI hvis driftskrav]
|
||||
|
||||
### OKR uten tildelingsbrev-forankring
|
||||
|
||||
| OKR | Type | Forankring |
|
||||
|-----|------|------------|
|
||||
| O1: [tekst] | Committed | Forankret i krav 1, 4 |
|
||||
| O3: [tekst] | Aspirational | Fristilt (OK for stretch) |
|
||||
|
||||
### Sammendrag
|
||||
|
||||
- **Tildelingsbrev-krav totalt:** [N]
|
||||
- **OKR-relevante krav:** [N]
|
||||
- **Dekket:** [N] ([%])
|
||||
- **Delvis dekket:** [N] ([%])
|
||||
- **Udekket:** [N] ([%]) — krever handling
|
||||
- **OKR uten forankring:** [N] (OK hvis aspirational)
|
||||
|
||||
### Anbefalte neste steg
|
||||
|
||||
1. [Handling for å lukke viktigste gap]
|
||||
2. [Bruk /okr:skriv for å lage OKR for udekte krav]
|
||||
3. [Bruk /okr:kvalitet for å sjekke de nye OKR]
|
||||
```
|
||||
|
||||
## Håndtering av ufullstendig data
|
||||
|
||||
| Situasjon | Handling |
|
||||
|-----------|----------|
|
||||
| Tildelingsbrev mangler | "Ingen tildelingsbrev funnet i .claude/okr/strategisk-kontekst/. Lim inn tekst eller lagre tildelingsbrev med /okr:oppsett full (fase 3)." |
|
||||
| OKR mangler | "Ingen OKR funnet i gjeldende syklus. Bruk /okr:skriv for å opprette." |
|
||||
| Begge mangler | "Verken tildelingsbrev eller OKR funnet. Start med /okr:oppsett for å sette opp kontekst." |
|
||||
| Kun tildelingsbrev | Kjør tildelingsbrev-parsing og vis forslag til OKR. |
|
||||
| Kun OKR | Vis OKR-oversikt uten gap-analyse, oppfordre til å legge inn tildelingsbrev. |
|
||||
|
||||
## Delegering
|
||||
|
||||
Bruk Task for å sende analysen til gapanalytiker-agenten for detaljert analyse.
|
||||
Send med: tildelingsbrev-innhold, OKR-innhold, og overordnede-okr hvis tilgjengelig.
|
||||
Motta tilbake ferdig dekningsmatrise.
|
||||
|
||||
## Referanser
|
||||
|
||||
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-offentlig-governance.md`
|
||||
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-arshjul.md`
|
||||
|
|
@ -9,6 +9,20 @@ argument-hint: "[tildelingsbrev, revisjonsrapport, eller spørsmål]"
|
|||
|
||||
Hjelp brukeren med å koble OKR til styringsmekanismer i norsk offentlig sektor.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren:
|
||||
- Hvis organisasjon og syklus er kjent: hopp over de spørsmålene
|
||||
- Hvis relevante filer er listet (f.eks. `.claude/okr/syklus/T1-2026/okr-teamet.md`):
|
||||
les den filen direkte i stedet for å be brukeren lime inn innhold
|
||||
- Hvis `.claude/okr/strategisk-kontekst/` inneholder relevante docs: les dem
|
||||
- Hvis tildelingsbrev finnes i `.claude/okr/strategisk-kontekst/tildelingsbrev-*.md`
|
||||
(fra system-kontekst), les den automatisk og start gap-analyse direkte uten å be
|
||||
brukeren lime inn tekst.
|
||||
- Sjekk om `.claude/okr/strategisk-kontekst/overordnede-okr.md` finnes.
|
||||
Hvis ja, bruk den til å vise dekning: hvilke tildelingsbrev-krav er allerede dekket
|
||||
av eksisterende org-OKR.
|
||||
|
||||
## Styringsrammeverk
|
||||
|
||||
```
|
||||
|
|
|
|||
|
|
@ -9,9 +9,23 @@ argument-hint: "[fase, utfordring, eller modenhetsvurdering]"
|
|||
|
||||
Hjelp brukeren med å innføre OKR i organisasjonen på en bærekraftig måte.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren:
|
||||
- Hvis organisasjon og syklus er kjent: hopp over de spørsmålene
|
||||
- Hvis relevante filer er listet (f.eks. `.claude/okr/syklus/T1-2026/okr-teamet.md`):
|
||||
les den filen direkte i stedet for å be brukeren lime inn innhold
|
||||
- Hvis `.claude/okr/strategisk-kontekst/` inneholder relevante docs: les dem
|
||||
- Hvis modenhetsnivå er kjent fra injisert kontekst (f.eks. 'skalering'), bruk det
|
||||
direkte uten å spørre. Tilpass råd eksplisitt til det kjente modenhetsnivået.
|
||||
- Hvis `okr_frikoblet_fra_loenn: false` er i profil, adresser dette som prioritet 0
|
||||
før andre innføringsråd gis.
|
||||
|
||||
## Arbeidsflyt
|
||||
|
||||
1. **Kartlegg situasjon** — spør med AskUserQuestion:
|
||||
1. **Kartlegg situasjon** — sjekk injisert kontekst først. Hvis modenhetsnivå og
|
||||
fase allerede er kjent, bruk dem direkte. Spør kun med AskUserQuestion om det
|
||||
som mangler:
|
||||
- Hvor er dere i innføringsløpet? (planlegger / pilot / utrulling)
|
||||
- Hva er den største utfordringen nå?
|
||||
- Har dere ledelsesforankring?
|
||||
|
|
@ -29,6 +43,7 @@ Hjelp brukeren med å innføre OKR i organisasjonen på en bærekraftig måte.
|
|||
- Velg pilot-team
|
||||
- Definer suksesskriterier
|
||||
- Planlegg opplæring
|
||||
- Drøft med tillitsvalgte (Hovedavtalen)
|
||||
|
||||
### Fase 2: Pilot (1-2 sykluser)
|
||||
- Kjør OKR med pilot-team
|
||||
|
|
@ -56,6 +71,7 @@ Hjelp brukeren med å innføre OKR i organisasjonen på en bærekraftig måte.
|
|||
| "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. |
|
||||
| "Fagforeningen er ikke informert" | Manglende medvirkning | Hovedavtalen krever drøfting. Involver tillitsvalgte tidlig — de kan bli OKR-ambassadører. Se okr-implementation.md. |
|
||||
|
||||
## OKR Modenhetsvurdering
|
||||
|
||||
|
|
@ -108,6 +124,16 @@ Uke 17-18: Evaluering
|
|||
- Beslutning om utrulling
|
||||
```
|
||||
|
||||
## Tillitsvalgt-perspektiv
|
||||
|
||||
OKR-innføring i offentlig sektor **krever** involvering av tillitsvalgte:
|
||||
- Informer hovedtillitsvalgt før pilotbeslutning
|
||||
- Gjennomfør formell drøfting (Hovedavtalen)
|
||||
- Inviter tillitsvalgt som observatør i pilot
|
||||
- Dokumenter at OKR ikke kobles til lønn/evaluering
|
||||
|
||||
Se detaljer: `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-implementation.md` (seksjon "Tillitsvalgte og fagforeninger")
|
||||
|
||||
## Referanser
|
||||
|
||||
- `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/okr-implementation.md` — full innføringsmetodikk
|
||||
|
|
|
|||
|
|
@ -9,6 +9,16 @@ argument-hint: "[overordnet OKR eller team]"
|
|||
|
||||
Hjelp brukeren med å kaskadere OKR fra organisasjonsnivå til team, og sikre alignment.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren:
|
||||
- Hvis organisasjon og syklus er kjent: hopp over de spørsmålene
|
||||
- Hvis relevante filer er listet (f.eks. `.claude/okr/syklus/T1-2026/okr-teamet.md`):
|
||||
les den filen direkte i stedet for å be brukeren lime inn innhold
|
||||
- Hvis `.claude/okr/strategisk-kontekst/` inneholder relevante docs: les dem
|
||||
- Hvis org-OKR allerede finnes i `.claude/okr/strategisk-kontekst/overordnede-okr.md`
|
||||
(fra system-kontekst), les den. Hopp over spørsmålet om org-OKR.
|
||||
|
||||
## Kaskaderingsprinsipp
|
||||
|
||||
```
|
||||
|
|
|
|||
|
|
@ -9,9 +9,21 @@ argument-hint: "[OKR å vurdere]"
|
|||
|
||||
Hjelp brukeren med å vurdere kvaliteten på eksisterende OKR og foreslå forbedringer.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren:
|
||||
- Hvis organisasjon og syklus er kjent: hopp over de spørsmålene
|
||||
- Hvis relevante filer er listet (f.eks. `.claude/okr/syklus/T1-2026/okr-teamet.md`):
|
||||
les den filen direkte i stedet for å be brukeren lime inn innhold
|
||||
- Hvis `.claude/okr/strategisk-kontekst/` inneholder relevante docs: les dem
|
||||
- Hvis `.claude/okr/strategisk-kontekst/overordnede-okr.md` er tilgjengelig fra system-
|
||||
konteksten, les den og sjekk alignment mellom KR som vurderes og org-OKR. Legg til
|
||||
Alignment-seksjon i rapporten.
|
||||
|
||||
## Arbeidsflyt
|
||||
|
||||
1. **Motta OKR** — be brukeren dele OKR-ene som skal vurderes
|
||||
1. **Motta OKR** — sjekk injisert kontekst først. Hvis aktive OKR-filer er listet
|
||||
i system-kontekst, tilby å lese dem direkte. Ellers be brukeren dele OKR-ene.
|
||||
- Kan være tekst, bilde, eller hentet fra Linear
|
||||
|
||||
2. **Kjør kvalitetssjekk** — vurder mot rubrikk (se under)
|
||||
|
|
|
|||
|
|
@ -1,131 +1,497 @@
|
|||
---
|
||||
name: okr:oppsett
|
||||
description: Konfigurer OKR-pluginen med organisasjon, syklus og integrasjoner
|
||||
allowed-tools: Read, Write, Bash, AskUserQuestion, ToolSearch
|
||||
argument-hint: "[oppdater|vis|reset]"
|
||||
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 - Konfigurasjon og integrasjoner
|
||||
# OKR Oppsett - Onboarding, konfigurasjon og syklushandtering
|
||||
|
||||
Kjør en interaktiv wizard for å konfigurere OKR-pluginen for brukerens organisasjon.
|
||||
Interaktiv konfigurasjon av OKR-pluginen. Bygger en persistent organisasjonsprofil
|
||||
som alle andre kommandoer bruker automatisk via hook-injeksjon.
|
||||
|
||||
## Arbeidsflyt
|
||||
## Ruting basert pa argument
|
||||
|
||||
### Steg 1: Sjekk eksisterende konfigurasjon
|
||||
| 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 |
|
||||
|
||||
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
|
||||
## Ingen argument — detekter og tilby
|
||||
|
||||
Still følgende spørsmål med AskUserQuestion:
|
||||
Les `.claude/okr.local.md` (relativt til brukerens prosjekt-cwd).
|
||||
|
||||
**Spørsmål 1**: Organisasjon
|
||||
**Hvis filen IKKE finnes:**
|
||||
|
||||
Bruk AskUserQuestion:
|
||||
```
|
||||
Hvilken organisasjon jobber du i?
|
||||
Ser ut som du ikke har konfigurert OKR-pluginen enna.
|
||||
Vil du kjore onboarding-intervjuet?
|
||||
|
||||
Alternativer:
|
||||
- Statens vegvesen
|
||||
- Annen statlig etat
|
||||
- Kommune/fylkeskommune
|
||||
- Annet
|
||||
1. Full onboarding (6 faser, 15-20 min) — anbefalt for beste resultat
|
||||
2. MVP onboarding (6 sporsmaal, ~5 min) — rask start
|
||||
3. Avbryt
|
||||
```
|
||||
|
||||
**Spørsmål 2**: Sektor (hvis ikke SVV)
|
||||
```
|
||||
Hvilken sektor tilhører organisasjonen?
|
||||
Kjor `full` eller `mvp` basert pa valg.
|
||||
|
||||
Alternativer:
|
||||
- Transport og samferdsel
|
||||
- Helse
|
||||
- Justis og beredskap
|
||||
- Digitalisering
|
||||
- Annet
|
||||
**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
|
||||
```
|
||||
|
||||
### Steg 3: OKR-syklus
|
||||
Hvis fortsett: les YAML, finn siste utfylte fase-seksjon, fortsett fra neste.
|
||||
|
||||
**Spørsmål 3**: Syklusmodell
|
||||
**Hvis filen finnes OG `onboarding_status: fullfort`:**
|
||||
|
||||
Vis kort oppsummering av gjeldende profil (org, syklus, modenhet, verktoy).
|
||||
Bruk AskUserQuestion:
|
||||
```
|
||||
Hvilken syklusmodell bruker dere?
|
||||
Konfigurasjon funnet for [organisasjon.navn].
|
||||
|
||||
Alternativer:
|
||||
- Tertial (4-måneders sykluser: Jan-Apr, Mai-Aug, Sep-Des) (Anbefalt)
|
||||
- Kvartal (3-måneders sykluser)
|
||||
- Annet
|
||||
1. Oppdater konfigurasjon (endre spesifikke felt)
|
||||
2. Kjor intervju pa nytt (full)
|
||||
3. Vis full konfigurasjon
|
||||
4. Avslutt
|
||||
```
|
||||
|
||||
**Spørsmål 4**: Gjeldende syklus (basert på dagens dato og valgt modell)
|
||||
---
|
||||
|
||||
### Steg 4: Integrasjoner
|
||||
## 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: "Statens vegvesen" / "SVV"
|
||||
|
||||
2. **Type organisasjon?**
|
||||
Alternativer: statlig etat | direktorat | kommune | fylkeskommune
|
||||
|
||||
3. **Hvilket departement eller overordnet etat?**
|
||||
Eksempel: "Samferdselsdepartementet"
|
||||
|
||||
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:
|
||||
|
||||
**Spørsmål 5**: Verktøy
|
||||
```
|
||||
Hvilke verktøy vil du integrere med OKR-pluginen?
|
||||
Onboarding fullfort for [organisasjon]!
|
||||
|
||||
- Linear (issue tracking, OKR som tasks)
|
||||
- Ingen integrasjon foreløpig
|
||||
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
|
||||
```
|
||||
|
||||
### 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
|
||||
## MVP onboarding — 6 sporsmaal
|
||||
|
||||
### Steg 6: Lagre konfigurasjon
|
||||
For brukere som vil komme raskt i gang. Samle alle sporsmaal i en AskUserQuestion
|
||||
eller maks 2 runder:
|
||||
|
||||
Opprett `.claude/okr.local.md` i brukerens prosjekt-cwd:
|
||||
1. **Organisasjonsnavn og type?**
|
||||
Eksempel: "Statens vegvesen, 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: "[brukerens svar]"
|
||||
type: "offentlig"
|
||||
sektor: "[brukerens svar]"
|
||||
|
||||
syklus:
|
||||
modell: "[tertial|kvartal]"
|
||||
gjeldende: "[T1-2026]"
|
||||
startdato: "[beregnet]"
|
||||
|
||||
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: [true|false]
|
||||
team_id: "[fra Linear]"
|
||||
project_id: "[fra Linear]"
|
||||
|
||||
aktivert: false
|
||||
team_id: ""
|
||||
project_id: ""
|
||||
preferanser:
|
||||
språk: "no"
|
||||
spraak: "no"
|
||||
vis_eksempler: true
|
||||
ambisjonsnivå: "balansert"
|
||||
ambisjonsnivaa: "balansert"
|
||||
---
|
||||
|
||||
# OKR Konfigurasjon for [organisasjon]
|
||||
|
||||
Opprettet: [dato]
|
||||
Sist oppdatert: [dato]
|
||||
```
|
||||
|
||||
### Steg 7: Bekreft og avslutt
|
||||
Vis kort oppsummering og foreslaa `/okr:oppsett full` for a fylle ut resten senere.
|
||||
|
||||
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
|
||||
## Oppdater — endre spesifikke felt
|
||||
|
||||
- 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
|
||||
Trigger: `/okr:oppsett oppdater` eller valg 1 fra ingen-argument-menyen.
|
||||
|
||||
## Oppdatering av konfigurasjon
|
||||
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
|
||||
|
||||
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
|
||||
---
|
||||
|
||||
## 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`
|
||||
|
|
|
|||
|
|
@ -9,9 +9,21 @@ argument-hint: "[mål, strategi, eller tildelingsbrev-kontekst]"
|
|||
|
||||
Hjelp brukeren med å skrive nye OKR for norsk offentlig sektor.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren:
|
||||
- Hvis organisasjon og syklus er kjent: hopp over de spørsmålene
|
||||
- Hvis relevante filer er listet (f.eks. `.claude/okr/syklus/T1-2026/okr-teamet.md`):
|
||||
les den filen direkte i stedet for å be brukeren lime inn innhold
|
||||
- Hvis `.claude/okr/strategisk-kontekst/` inneholder relevante docs: les dem
|
||||
- Hvis `.claude/okr/strategisk-kontekst/overordnede-okr.md` finnes (listet i
|
||||
system-kontekst), les den for alignment-context
|
||||
|
||||
## Arbeidsflyt
|
||||
|
||||
1. **Forstå kontekst** — spør med AskUserQuestion:
|
||||
1. **Forstå kontekst** — sjekk injisert kontekst først. Hvis organisasjon, syklus
|
||||
og strategiske mål allerede er kjent, hopp direkte til Objective Crafter med
|
||||
disse som utgangspunkt. Spør kun med AskUserQuestion om det som mangler:
|
||||
- Hvilket team/avdeling?
|
||||
- Overordnet strategimål de skal bidra til?
|
||||
- Hvilken syklus (T1, T2, T3)?
|
||||
|
|
|
|||
|
|
@ -9,6 +9,20 @@ argument-hint: "[OKR eller tall for oppdatering]"
|
|||
|
||||
Hjelp brukeren med å spore OKR-fremgang, beregne score og strukturere check-ins.
|
||||
|
||||
## Kontekstbevissthet
|
||||
|
||||
OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren:
|
||||
- Hvis organisasjon og syklus er kjent: hopp over de spørsmålene
|
||||
- Hvis relevante filer er listet (f.eks. `.claude/okr/syklus/T1-2026/okr-teamet.md`):
|
||||
les den filen direkte i stedet for å be brukeren lime inn innhold
|
||||
- Hvis `.claude/okr/strategisk-kontekst/` inneholder relevante docs: les dem
|
||||
|
||||
### Automatisk OKR-lasting
|
||||
|
||||
Hvis gjeldende syklus er kjent (fra injisert kontekst) og syklusmappen
|
||||
`.claude/okr/syklus/[id]/` inneholder `.md`-filer (listet i system-kontekst), les
|
||||
disse filene direkte. Brukeren trenger ikke lime inn OKR-tekst.
|
||||
|
||||
## Scoring-system
|
||||
|
||||
**Skala**: 0.0 - 1.0
|
||||
|
|
@ -30,7 +44,8 @@ Score = (Nåværende - Baseline) / (Target - Baseline)
|
|||
|
||||
### Ved statusoppdatering
|
||||
|
||||
1. **Samle inn tall** — spør med AskUserQuestion:
|
||||
1. **Samle inn tall** — les OKR-filer fra `.claude/okr/syklus/[id]/` (hvis tilgjengelig
|
||||
fra system-kontekst) eller be brukeren oppgi OKR. Spør med AskUserQuestion:
|
||||
- Nåværende verdi for hver KR
|
||||
- Baseline og target (hvis ikke kjent)
|
||||
- Dato for måling
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue