ktg-plugin-marketplace/plugins/okr/README.md
Kjell Tore Guttormsen ac95cd6a30 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>
2026-04-08 20:31:49 +02:00

14 KiB

OKR for Public Sector

Your AI-powered OKR coach for Norwegian public sector organizations — not just a methodology library, but a partner that knows your organization, your challenges, and your current OKRs.

Solo project — bug reports welcome, PRs not accepted.

Version Platform Agents Commands Hooks References License


The Difference

Most OKR tools explain methodology. This plugin coaches you through it.

The secret: persistent organizational context. After a one-time onboarding interview, every command knows who you are, where you are in the cycle, and what strategic goals you're working toward. No more pasting the same tildelingsbrev into every session. No more re-explaining your maturity level.

# Before v1.1 — every session started from scratch
> /okr:governance
"Please paste your tildelingsbrev..."
"What organization are you in?"
"What cycle are you in?"

# After v1.1 — the plugin already knows
> /okr:governance
"I see your tildelingsbrev for 2026 in .claude/okr/strategisk-kontekst/.
 Starting gap analysis against your org-level OKR..."

Table of Contents


Quick Start

Prerequisites

Installation

Add to your Claude Code plugin configuration:

{
  "enabledPlugins": {
    "okr@ktg-plugin-marketplace": true
  }
}

First Conversation

> /okr:oppsett mvp

Six questions, five minutes. The plugin learns your organization, maturity level, tools, and cycle phase. From that point on, every command adapts to your context.

Want the full experience? Run /okr:oppsett full for a 28-question deep interview across six phases (identity, maturity, strategic context, structure, tools, culture). Takes 15-20 minutes, but unlocks everything — including storing your tildelingsbrev and org-level OKR for automatic alignment checks.

After setup:

> /okr:skriv We want to improve digital self-service for citizens

The plugin already knows your organization, cycle, and strategic goals. It drafts aligned OKR immediately.


Commands

Writing & Quality

Command Description
/okr:skriv Write new OKR with guided Objective and KR creation. Reads stored strategic context for alignment.
/okr:kvalitet Quality check against rubric, detect 19 antipatterns, check alignment vs. stored org-OKR

Alignment & Tracking

Command Description
/okr:kaskade Cascade OKR from organization to team. Auto-reads org-OKR from stored context.
/okr:sporing Track progress (0.0-1.0 scoring), auto-load OKR from .claude/okr/syklus/

Meetings & Change Management

Command Description
/okr:moter Plan OKR workshops, check-ins, reviews, and 1:1 conversations (CFR framework)
/okr:innforing Rollout planning, resistance handling, maturity assessment. Adapts to your known maturity level.

Governance & Setup

Command Description
/okr:governance Translate tildelingsbrev to OKR, Riksrevisjon compliance. Auto-reads stored tildelingsbrev.
/okr:oppsett Onboarding interview, profile management, cycle archival. Args: full mvp arkiver oppdater vis

What's New in v1.1

Deep Onboarding Interview

/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, size
2. Maturity 5 min OKR history, sponsor/champion, salary decoupling
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
6. Culture 3 min Check-in rhythm, psychological safety, known antipatterns

Don't have 20 minutes? /okr:oppsett mvp asks 6 questions and gets you 80% of the value.

The interview is interruptible — if you quit mid-session, it saves progress and picks up where you left off next time.

Persistent Context Directory

The plugin now 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
      overordnede-okr.md                 # Org-level OKR
      virksomhetsplan.md                 # Strategic plan
    syklus/
      T1-2026/                           # Active cycle
        okr-digitalt-team.md             # Team OKR files
        status.md                        # Confidence levels
    historikk/                           # Archived cycles with retrospectives
    dokumenter/                          # Ad-hoc reference documents

Every command reads from this tree automatically. Place your tildelingsbrev in strategisk-kontekst/ once, and /okr:governance starts gap analysis without asking you to paste anything.

Context-Aware Commands

All commands now check injected context before asking questions:

  • Already know your org and cycle? Skips those questions entirely.
  • OKR files in the cycle directory? Reads them directly instead of asking you to paste.
  • Tildelingsbrev stored? Starts gap analysis immediately.
  • Maturity level known? Tailors advice to your exact phase.

Cycle Archival

/okr:oppsett arkiver handles the end-of-cycle workflow:

  1. Reads all active OKR and collects final scores
  2. Generates a retrospective with results, learnings, and antipattern analysis
  3. Archives everything to historikk/
  4. Rolls the profile forward to the next cycle
  5. Creates a fresh cycle directory ready for planning

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 is the single most destructive antipattern — it kills stretch goals, breeds sandbagging, and undermines the entire methodology.


Agents

5 specialized agents activate automatically based on context:

Agent Model Role
kvalitetssjekker Sonnet Score OKR quality (1-10), detect 19 antipatterns, check alignment
kaskadebygger Sonnet Build cascades between org levels, find alignment gaps
fremdriftssporer Sonnet Calculate progress scores, forecast completion, flag at-risk KRs
motefasilitator Sonnet Generate meeting agendas and facilitation materials
styringsradgiver Opus Tildelingsbrev analysis, governance mapping, audit compliance

Hooks

Event Type Purpose
UserPromptSubmit command Inject org profile, cycle phase, maturity, and .claude/okr/ directory listing
PreCompact prompt Preserve OKR draft state during context compaction
Stop prompt Remind user to save OKR work to tracking system

The UserPromptSubmit hook reads your expanded profile and scans the .claude/okr/ tree in under 50ms. It tells every command what context files are available so they can read them proactively.


Knowledge Base

15 reference files in skills/okr-offentlig-sektor/references/:

File Content
okr-framework.md Core methodology, scoring, cycle management
okr-examples.md Good and bad examples from public sector
okr-antipatterns.md 19 common OKR mistakes across 5 categories
okr-offentlig-governance.md Tildelingsbrev, political steering, audit compliance
okr-implementation.md Rollout methodology and change management
okr-integrations.md OKR + Scrum/Kanban/SAFe integration
cfr-framework.md CFR methodology and 1:1 templates
meeting-guides.md Agendas for all OKR meeting types
metrics-library.md Common KPIs for transport/roads/digital
okr-calculator.md Progress calculation and confidence assessment
okr-arshjul.md Annual cycle and budget synchronization
okr-sources.md Bibliographic evidence base
okr-cheatsheet.md One-page OKR best practices
okr-oboard-guide.md Oboard tool guide
individual-vs-team-okr.md Team vs individual OKR rationale
dfo-okr-mapping.md DFO terminology mapping (maal- og resultatstyring)

Workflow Examples

New Team Starting OKR

/okr:oppsett full             # Deep onboarding (once, 15-20 min)
/okr:skriv                    # Write first OKR — plugin knows your context
/okr:kvalitet                 # Quality check with alignment scoring
/okr:kaskade                  # Verify alignment with org objectives (auto-loaded)

Mid-Cycle Check-In

/okr:sporing                  # Auto-loads OKR from .claude/okr/syklus/, asks for new scores
/okr:moter                    # Generate check-in agenda pre-filled with actual OKR status

Government Mandate Translation

/okr:governance               # Auto-reads stored tildelingsbrev, starts gap analysis
/okr:kvalitet                 # Verify generated OKR quality
/okr:kaskade                  # Cascade to team level

End of Cycle

/okr:oppsett arkiver          # Archive with retrospective, roll forward to next cycle
/okr:moter                    # Plan kick-off workshop for new cycle
/okr:skriv                    # Draft new OKR informed by last cycle's learnings

Public Sector Features

Governance Integration

Framework Plugin Support
Tildelingsbrev Translate to OKR with audit trail. Store once, reference automatically.
Riksrevisjonen Documentation with baseline, target, data source per KR
Political steering Handle mid-cycle priority changes with rationale
NTP / Stortingsmelding Cascade from national policy to team OKR
DFO terminology Mapping between maal- og resultatstyring and OKR concepts

Tillitsvalgt Perspective

The plugin includes guidance on union involvement in OKR processes — droftingsplikt under Hovedavtalen, transparent KR that builds trust, and techniques for including tillitsvalgte as OKR stakeholders.

CFR Framework

Integrated Conversations, Feedback, Recognition methodology:

  • Conversations — Structured 1:1 templates adapted for offentlig sektor
  • Feedback — Continuous two-way feedback decoupled from formal medarbeidersamtale
  • Recognition — Techniques that work without bonus-linking (which public sector can't do)

Configuration

Interactive Setup

Run /okr:oppsett to configure. The expanded profile covers:

Section Fields
Organisation Name, type, ministry, domain, size, geography
Program Maturity level, cycles completed, sponsor, champion, salary decoupling
Current cycle ID, period, phase, team count
Tools Task management, OKR tracking, meetings, delivery methodology
Culture Check-in rhythm, psychological safety, known challenges
Integrations Linear (team and project IDs)
Preferences Language, examples, ambition level

Configuration is saved to .claude/okr.local.md in your project directory (add to .gitignore).

Subcommands

Subcommand Purpose
/okr:oppsett full 28-question deep interview (recommended first time)
/okr:oppsett mvp 6-question quick start
/okr:oppsett arkiver Archive current cycle with retrospective
/okr:oppsett oppdater Update specific profile fields
/okr:oppsett vis Display current configuration

Integrations

Linear

OKR tracking via Linear MCP when configured through /okr:oppsett:

  • Progress score updates via comments
  • Status field tracking
  • Team and project organization

Agile Frameworks

Knowledge base includes integration patterns for Scrum, Kanban, SAFe, and project portfolio management. See references/okr-integrations.md.


Roadmap

See ROADMAP.md for full details.

Version Status Focus
v1.1 Shipped Personalized onboarding, persistent context, cycle archival
v1.3 Planned Cycle lifecycle automation, cross-cycle analytics
v1.4 Planned Proactive coaching, deadline notifications, quality gates
v2.0 Future Multi-team support, cross-team alignment views, consolidated dashboards

Limitations

  • Not tested in a real OKR cycle beyond the author's organization
  • No automated tests (hooks are verified manually)
  • Windows: not tested
  • Norwegian public sector context only — may not fit private sector or other countries
  • Linear is the only supported tracking integration
  • YAML parsing in hooks uses regex, not a full parser (works for controlled output)

Version History

See CHANGELOG.md for full details.

Version Date Highlights
1.3.0 2026-04-08 AI-first differentiators: /okr:gap (tildelingsbrev gap analysis), /okr:analyse (cross-cycle Mermaid analytics), proactive SessionStart coaching
1.1.0 2026-04-08 Persistent context: deep onboarding interview (full/mvp), .claude/okr/ directory tree, context-aware commands, cycle archival with retrospective
1.0.0 2026-04-08 Architecture overhaul: self-contained commands, hooks, model optimization, marketplace-ready
0.5.0 2026-02-07 First formal version

License

MIT