11 KiB
OKR for Public Sector
Your AI-powered OKR coach for Norwegian public sector — not just a methodology library, but a partner that learns your organization, your challenges, and your current OKRs.
Solo project — bug reports welcome, PRs not accepted.
The Problem
Your organization has a strategy. Turning it into OKR that actually drive change is where it gets hard. Teams write Key Results that are just task lists. "Gjennomføre 5 kurs" is not a result — it's an activity. Tertial cycles don't match the quarterly model from Google. And nobody can trace the line from strategic intent through OKR down to what teams actually deliver.
Most OKR resources assume you're a startup. You're not. You have political steering, budget cycles tied to Stortinget, governance requirements from Riksrevisjonen, and mid-cycle priority changes from a minister who read something in Aftenposten.
This plugin gives you an OKR expert that knows Norwegian public sector governance, learns your organization's context, and works alongside you through the entire OKR process — from turning strategy into OKR candidates, through iterative quality improvement, to check-in meetings and cycle reviews.
How It Works: Onboarding First
The plugin starts by learning your context. This is what transforms generic OKR advice into guidance that fits your organization.
/okr:oppsett full runs a structured 28-question interview across six phases:
| Phase | Duration | What the Plugin Learns |
|---|---|---|
| 1. Identity | 2 min | Organization type, ministry, domain, geography, size |
| 2. Maturity | 5 min | OKR history, sponsor/champion, salary decoupling, alignment approach |
| 3. Strategic context | 5 min | Tildelingsbrev goals, org-level OKR, strategic plan |
| 4. Structure | 3 min | OKR levels, user role, team count, cascade approach |
| 5. Tools | 2 min | Task/OKR/meeting tools, delivery methodology, Linear integration |
| 6. Culture | 3 min | Check-in rhythm, psychological safety, known antipatterns, union involvement |
Don't have 20 minutes? /okr:oppsett mvp asks 6 questions and gets you 80% of the value in under 5 minutes.
The interview is interruptible — quit mid-session and it picks up where you left off next time.
Everything is saved locally as a persistent organizational profile and automatically injected into every conversation. After onboarding, every command knows who you are, what cycle you're in, and what your strategic priorities are — without you repeating anything.
Persistent Context
The plugin maintains a structured context tree in your project:
.claude/
okr.local.md # Expanded organizational profile
okr/
strategisk-kontekst/ # Your strategic documents
tildelingsbrev-2026.md # Key mandate goals (stored during onboarding)
overordnede-okr.md # Org-level OKR for alignment checking
syklus/
T1-2026/ # Active cycle
okr-digitalt-team.md # Team OKR files
status.md # Confidence levels and blockers
historikk/ # Archived cycles with retrospectives
Place your tildelingsbrev in strategisk-kontekst/ once, and /okr:governance starts gap analysis without asking you to paste anything. Store your org-level OKR, and /okr:kvalitet checks team-OKR alignment automatically.
The Single Most Important Question
"Is OKR decoupled from salary and medarbeidersamtale?"
If the answer is no or uncertain, the plugin flags this as priority zero. OKR tied to compensation kills stretch goals, breeds sandbagging, and undermines the entire methodology. The plugin won't let you ignore this.
Bring What You Have
You don't need to start from scratch. The plugin meets you where you are:
Have a strategy or virksomhetsplan? The plugin analyzes your strategic priorities and suggests OKR candidates that are outcome-focused, measurable, and scoped to a cycle.
Have a tildelingsbrev? Leaders can use it as an early analysis tool — the plugin separates what's actually an OKR candidate from what's a KPI, a compliance requirement, or a reporting routine. It's a way to build awareness of where OKR can add value:
> /okr:governance
I see from your tildelingsbrev that Samferdselsdepartementet expects:
- Reduce traffic fatalities by 50% by 2030 (vs. 2020) → OKR candidate
- Maintain 98% tunnel availability → KPI, not OKR
- Report quarterly on maintenance spend → Reporting routine
Here are 2 OKR candidates derived from the mandate:
Objective: Drive measurable progress toward Vision Zero on Norwegian roads
KR1: Reduce fatalities from 95 (2025) to 85 (2026)
Source: SSB table 08463 | Type: Committed
KR2: Reduce severe injuries from 650 to 600
Source: SSB | Type: Committed
KR3: Complete safety interventions on 100% of high-risk road segments
Source: Internal action plan | Type: Aspirational
Shall I quality-check these? Or cascade them to team level?
Have existing OKR that need improvement? Paste them in and get scored feedback with specific rewrites:
> /okr:kvalitet
Our current OKR:
Objective: Improve customer service
KR1: Complete 5 customer service training courses
KR2: Answer 90% of calls within 3 minutes
─── Quality Assessment ───
Objective: "Improve customer service" — Score: 4/10
✗ Vague — what does "improve" mean?
✗ Not inspiring — reads like a task, not a goal
→ Suggested rewrite: "Become the most responsive service unit in the agency"
KR1: "Complete 5 training courses" — Score: 2/10
✗ Activity, not outcome — measures what you do, not what changes
✗ No connection to customer experience
→ Suggested rewrite: "Increase citizen satisfaction from 3.2 to 4.5/5.0"
KR2: "Answer 90% of calls within 3 minutes" — Score: 6/10
✓ Measurable with clear target
✗ Missing baseline — what's the current level?
→ Add baseline: "Improve call response rate from [X]% to 90% within 3 minutes"
Overall: 4/10 — rewrite recommended. Shall I draft improved versions?
Starting from a vague idea? The plugin guides you through structured questioning and suggests OKR aligned with your strategic context — because it already knows your organization's priorities from onboarding.
The Development Process
OKR writing is iterative. The plugin supports the full cycle:
/okr:skriv Draft OKR — guided from idea to structured output
↓
/okr:kvalitet Score against rubric, detect antipatterns, suggest rewrites
↓
/okr:kaskade Verify alignment from organization level to team
↓
/okr:sporing Track progress scores (0.0-1.0) during the cycle
↓
/okr:møter Generate check-in agendas with actual OKR status
Each command builds on context from the others. Quality-check an OKR you just wrote. Cascade it down to team level. Track it during the cycle. Generate meeting agendas with real status data.
Quick Start
Add the marketplace:
claude plugin marketplace add https://git.fromaitochitta.com/open/ktg-plugin-marketplace.git
Or enable directly in ~/.claude/settings.json:
{
"enabledPlugins": {
"okr@ktg-plugin-marketplace": true
}
}
Then run /okr:oppsett — it takes 5–15 minutes and unlocks everything else.
All Commands
| Command | What it does |
|---|---|
/okr:oppsett |
Onboarding interview (full/mvp), profile management (oppdater/vis), cycle archival (arkiver) |
/okr:skriv |
Write new OKR — guided from vague idea to scored, aligned output. Auto-reads strategic context. |
/okr:kvalitet |
Score existing OKR, detect 19 antipatterns, check alignment vs. stored org-OKR |
/okr:kaskade |
Cascade from organization to team. Auto-reads org-OKR for alignment mapping. |
/okr:sporing |
Track progress (0.0-1.0). Auto-loads OKR from .claude/okr/syklus/. |
/okr:moter |
Generate agendas for workshops, check-ins, reviews, and 1:1s |
/okr:governance |
Auto-reads stored tildelingsbrev. Gap analysis, Riksrevisjon-ready documentation. |
/okr:innforing |
Rollout planning adapted to your known maturity level. Union involvement guidance. |
End of Cycle
When a cycle ends, /okr:oppsett arkiver handles the full transition:
- Collects final scores for all KR
- Generates a retrospective with results, learnings, and antipattern analysis
- Archives everything to
historikk/ - Rolls the profile forward to the next cycle
- Creates a fresh cycle directory ready for planning
Public Sector Governance
| Framework | What the plugin does |
|---|---|
| Tildelingsbrev | Parse requirements, separate OKR candidates from KPIs and compliance. Store once, reference automatically. |
| Riksrevisjonen | Generate audit-ready docs with baseline, target, data source, owner |
| Political steering | Handle mid-cycle priority changes with documented rationale |
| NTP / Stortingsmelding | Cascade from national policy down to team-level OKR |
| DFO terminology | Mapping between maal- og resultatstyring and OKR concepts |
| Tillitsvalgte | Guidance on union involvement — Hovedavtalen, droftingsplikt, transparent KR |
Under the Hood
5 specialized agents, 3 context-aware hooks, and a knowledge base of 15 reference documents covering methodology, antipatterns, governance, meeting formats, and sector-specific metrics. The plugin remembers your organization context across sessions via local configuration and automatic context injection.
Tracking integration is optional. The plugin has built-in support for Linear, and the approach works with any issue tracker your organization already uses — Azure Boards, Jira, or similar. Configure through /okr:oppsett.
When Not to Use This
- Private sector — governance model, examples, and cycle structure are built for Norwegian public sector
- Individual performance reviews — OKR is a team tool; this plugin explicitly discourages individual OKR
- Replacing workshops — start with people and post-its, come back with your first draft for quality-checking
- Project management — OKR sets direction, it doesn't replace your backlog or Gantt chart
Limitations
- Not tested in a real OKR cycle beyond the author's organization
- Norwegian public sector context only
- Linear has built-in MCP integration; Azure Boards and Jira work but require their own MCP setup
See CHANGELOG.md for version history. ROADMAP.md for what's next. MIT License.