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:
Kjell Tore Guttormsen 2026-04-08 20:31:49 +02:00
commit ac95cd6a30
30 changed files with 1900 additions and 275 deletions

View file

@ -1,4 +1,4 @@
# OKR Offentlig Sektor v1.0.0
# OKR Offentlig Sektor v1.3.0
Expert OKR guidance for Norwegian public sector. Google/Doerr methodology adapted for 4-month tertial cycles.
@ -13,7 +13,9 @@ Expert OKR guidance for Norwegian public sector. Google/Doerr methodology adapte
| `/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:oppsett` | Configure plugin with org, cycle, Linear integration |
| `/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
@ -24,12 +26,15 @@ Expert OKR guidance for Norwegian public sector. Google/Doerr methodology adapte
| 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 |
|-------|------|---------|
| UserPromptSubmit | command | Inject org/cycle context from `.claude/okr.local.md` |
| 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 |
@ -44,6 +49,9 @@ Expert OKR guidance for Norwegian public sector. Google/Doerr methodology adapte
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
@ -61,5 +69,9 @@ Template: `templates/okr.local.md.template`
/okr:møter ──→ møtefasilitator
/okr:governance ──→ styringsrådgiver
/okr:innføring ──→ (inline, no agent)
/okr:oppsett ──→ (inline wizard)
/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)
```