77 lines
4.1 KiB
Markdown
77 lines
4.1 KiB
Markdown
# OKR Offentlig Sektor v1.4.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 |
|
|
|
|
## Skill
|
|
|
|
| Component | Location |
|
|
|-----------|----------|
|
|
| SKILL.md | `skills/okr-offentlig-sektor/SKILL.md` |
|
|
| References (16) | `skills/okr-offentlig-sektor/references/` |
|
|
|
|
## State Management
|
|
|
|
User configuration: `.claude/okr.local.md` in the project directory (not in plugin root).
|
|
Org profile (reinstall-surviving): `~/.claude/okr/org/profil.md` — the machine-global org identity (`organisasjon:`/`program:`), written atomically (temp + `renameSync`) by `scripts/write-org-profile.mjs` during `/okr:oppsett`. Resolution is most-specific-wins: a project-local `.claude/okr.local.md` overrides the home profile; the home profile is the backwards-compatible fallback when no project config exists (read side: `hooks/scripts/inject-okr-context.mjs`). On any home-write failure the helper circuit-breaks to the gitignored project-local `.claude/okr.local.md`. Only the org *profile* migrates to home — cycle/`historikk` data stays cwd-bound.
|
|
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)
|
|
```
|