$npx -y skills add product-on-purpose/pm-skills --skill foundation-okr-writerDrafts, reviews, rewrites, and coaches outcome-based OKR sets across team, department, product, or company scopes. Supports five entry modes (Guided default, One-Shot via --oneshot, Sustained Coach, Audit Only, Rewrite). Diagnoses empowered-team context and adjusts framing; refus
| 1 | <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> |
| 2 | # OKR Writer |
| 3 | |
| 4 | An OKR (Objectives and Key Results) set is a quarterly artifact that translates strategy into measurable outcomes a team commits to drive. OKRs are a focus and learning system, not a project plan, KPI dashboard, performance review device, or roadmap wrapper. Done well, they make priorities explicit, force tradeoffs, enable cross-team alignment, and create visible evidence of progress. Done poorly, they generate roadmap theater, compensation gaming, and false precision. |
| 5 | |
| 6 | This skill is a coach, not a template filler. It drafts, reviews, rewrites, and audits OKR sets against the empirical consensus drawn from Doerr (`Measure What Matters`), Wodtke (`Radical Focus`), Cagan (SVPG team objectives), Castro (outcome-vs-output), Grove (`High Output Management`), Torres (continuous discovery), and Gothelf and Seiden (`Outcomes Over Output`). |
| 7 | |
| 8 | ## Supported Modes |
| 9 | |
| 10 | Five entry modes support different engagement levels. Mode is detected from user phrasing; default to Guided when ambiguous. State the detected mode at the start of the response. |
| 11 | |
| 12 | - `Guided` (default, moderate engagement) - brief diagnostic, draft, score against rubric, surface issues, ask user to confirm. Selected by phrasing like "help me write OKRs for X." |
| 13 | - `One-Shot` (low engagement) - produces a complete OKR set in one pass with all assumptions labeled. Selected by `--oneshot` flag or phrasing like "just draft OKRs from this context." |
| 14 | - `Sustained Coach` (high engagement) - iterative loop, one component at a time, re-scored each turn until quality threshold met. Selected by "coach me through OKRs for X." |
| 15 | - `Audit Only` - user pastes existing OKRs, skill scores and critiques, no new drafts unless user asks. Selected by "review these OKRs." |
| 16 | - `Rewrite` - convert flawed OKRs, feature lists, or roadmap items into outcome-shaped OKRs. Selected by "fix these OKRs" or "convert this roadmap to OKRs." |
| 17 | |
| 18 | ## When to Use |
| 19 | |
| 20 | - Planning OKRs at company, department, product, product-area, team, or initiative scope |
| 21 | - Translating parent OKRs or strategy into team OKRs |
| 22 | - Reviewing a draft OKR set for quality (Audit Only mode) |
| 23 | - Reframing feature, roadmap, or initiative lists into outcome-based OKRs (Rewrite mode) |
| 24 | - Preparing OKRs for stakeholder review |
| 25 | - Identifying whether KRs are measurable and evidence-backed |
| 26 | |
| 27 | ## When NOT to Use |
| 28 | |
| 29 | - You only need a dashboard spec - use `measure-dashboard-requirements` |
| 30 | - You only need event tracking - use `measure-instrumentation-spec` |
| 31 | - You only need an experiment - use `measure-experiment-design` |
| 32 | - You only need a hypothesis - use `define-hypothesis` |
| 33 | - The cycle has ended and you need formal scoring with evidence and learning synthesis - use `measure-okr-grader` |
| 34 | - The team is purely business-as-usual and needs steady-state KPIs, not stretch outcomes - OKRs are the wrong artifact |
| 35 | |
| 36 | ## Instructions |
| 37 | |
| 38 | When asked to write or review OKRs, follow these steps: |
| 39 | |
| 40 | 1. **Detect mode** |
| 41 | Read the user's phrasing and classify into Guided, One-Shot, Sustained Coach, Audit Only, or Rewrite. Look for explicit signals (`--oneshot`, "review these," "fix these," "coach me"). Default to Guided when ambiguous. State the detected mode at the start of the response. |
| 42 | |
| 43 | 2. **Run the empowered-team diagnostic** (skip in Audit Only when no new drafting is happening) |
| 44 | Ask briefly: |
| 45 | - Are features, projects, or dates already committed for this cycle? |
| 46 | - Can the team change initiatives mid-cycle if KRs are not moving? |
| 47 | - Who decides what gets built, this team or someone else? |
| 48 | |
| 49 | Capture the answer as `empowerment_signal: empowered | feature-team | mixed | unknown`. This affects output framing in later steps. Do NOT refuse to proceed when feature-team signals are present; instead, plan to add a Disclosure section to the artifact. |
| 50 | |
| 51 | 3. **Determine if OKRs are the right artifact** |
| 52 | If the request is really a project plan, KPI dashboard, launch checklist, hypothesis, experiment, or status update, redirect to the appropriate pm-skill or chain. Do not force OKR shape onto non-OKR work. |
| 53 | |
| 54 | 4. **Classify operating context** |
| 55 | Capture scope (company | department |