# OKR Offentlig Sektor v1.3.0

Expert OKR guidance for Norwegian public sector. Google/Doerr methodology adapted for 4-month tertial cycles.

## Commands

| Command | Description |
|---------|-------------|
| `/okr:skriv` | Write new OKR with guided Objective and KR creation |
| `/okr:kvalitet` | Quality check OKR against rubric and antipatterns |
| `/okr:kaskade` | Cascade OKR from org to team, visualize alignment |
| `/okr:sporing` | Track progress, calculate scores, generate check-ins |
| `/okr:møter` | Plan OKR workshops, check-ins, reviews, 1:1s |
| `/okr:innføring` | OKR adoption planning, resistance handling, maturity |
| `/okr:governance` | Tildelingsbrev translation, Riksrevisjon compliance |
| `/okr:gap` | Automatic gap analysis between tildelingsbrev and current OKR |
| `/okr:analyse` | Cross-cycle analytics with Mermaid trend visualizations |
| `/okr:oppsett` | Configure plugin: onboarding interview (full/mvp), cycle archival, profile update. Args: `full\|mvp\|arkiver\|oppdater\|vis` |

## Agents

| Agent | Model | Color | Tools | Role |
|-------|-------|-------|-------|------|
| kvalitetssjekker | sonnet | blue | Read, Glob | Score OKR quality against rubric |
| kaskadebygger | sonnet | green | Read, Glob | Build OKR cascades between levels |
| fremdriftssporer | sonnet | yellow | Read, Glob, ToolSearch | Calculate scores and generate reports |
| møtefasilitator | sonnet | magenta | Read, Glob | Generate meeting agendas and materials |
| styringsrådgiver | opus | cyan | Read, Glob | Tildelingsbrev analysis, governance |
| gapanalytiker | sonnet | red | Read, Glob | Tildelingsbrev gap analysis and coverage matrix |
| trendanalytiker | sonnet | purple | Read, Glob | Cross-cycle trend analysis and Mermaid visualization |

## Hooks

| Event | Type | Purpose |
|-------|------|---------|
| SessionStart | command | Proactive coaching based on cycle position and OKR status |
| UserPromptSubmit | command | Inject org profile (expanded YAML), current cycle, `.claude/okr/` summary, and archived cycle count |
| PreCompact | prompt | Preserve OKR draft state during compaction |
| Stop | prompt | Remind user to save OKR work to tracking system |

## Skill

| Component | Location |
|-----------|----------|
| SKILL.md | `skills/okr-offentlig-sektor/SKILL.md` |
| References (15) | `skills/okr-offentlig-sektor/references/` |

## State Management

User configuration: `.claude/okr.local.md` in the project directory (not in plugin root).
Template: `templates/okr.local.md.template`
Context tree: `.claude/okr/` — `strategisk-kontekst/`, `syklus/[id]/`, `historikk/`, `dokumenter/`
Onboarding state: `onboarding_status` field in okr.local.md (`partial` | `fullfort`)
Cycle archival: `/okr:oppsett arkiver` — moves `syklus/` to `historikk/`, generates `retrospektiv.md`

## Language Policy

- Commands, agents, user-facing text: Norwegian
- Code, config, technical identifiers: English
- SKILL.md: English (for broader LLM comprehension)

## Architecture

```
/okr:skriv ──→ kvalitetssjekker (auto)
/okr:kvalitet ──→ kvalitetssjekker
/okr:kaskade ──→ kaskadebygger
/okr:sporing ──→ fremdriftssporer ──→ Linear MCP (optional)
/okr:møter ──→ møtefasilitator
/okr:governance ──→ styringsrådgiver
/okr:innføring ──→ (inline, no agent)
/okr:gap ──→ gapanalytiker
/okr:analyse ──→ trendanalytiker
/okr:oppsett ──→ (inline wizard: full/mvp/arkiver/oppdater/vis)
/okr:oppsett arkiver ──→ cycle archival + retrospektiv-generering
SessionStart ──→ coaching-hook.mjs (proactive coaching)
```
