OKR Writer
Overview
OKRs (Objectives and Key Results) are a goal-setting framework that links an inspiring qualitative Objective ("what we want to achieve") to 2-5 quantitative Key Results ("how we measure progress"). This skill produces OKRs that are outcome-focused (changes in behavior, value, or state — not task lists), measurable (a number anyone can verify), and appropriately ambitious.
Keywords: OKR, objective, key result, goal setting, KPI vs OKR, outcome vs output, stretch goal, quarterly planning, north star, measurable goals, scoring, grading.
Use this skill to: draft new OKRs from a vague goal or strategy, rewrite weak/task-based OKRs into outcome-based ones, review and score a draft set, or cascade company OKRs to teams.
Core Definitions
- Objective — A memorable, qualitative, inspirational statement of WHAT you want to accomplish in the period. No numbers. Answers "where do we want to go?"
- Key Result — A quantitative measure of HOW you'll know you got there. Has a metric, a baseline, and a target. Answers "how do we know we arrived?"
- Output — Something you produce or do (ship a feature, run 3 campaigns). NOT a key result on its own.
- Outcome — A change that results from outputs (activation rate rises from 40% to 55%). This is what good key results measure.
- Initiative / Task — The work you do to move a key result. Tracked separately, never as the OKR itself.
Workflow
Follow these steps in order. Do not skip the diagnosis step — most weak OKRs come from skipping it.
Clarify intent and scope. Ask (or infer) four things: the team/owner, the time horizon (quarter, year), the strategic theme or problem this serves, and the current baseline for any metric mentioned. If a baseline is unknown, flag it — a key result without a baseline is unscoreable.
Find the outcome. Restate the user's goal as "If we succeed, what will be measurably different about the world / customer / business?" If they hand you a task ("rebuild onboarding"), ask "so that what happens?" until you reach a metric. See references/outcome-vs-output.md.
Draft the Objective. Write one short, qualitative, inspiring sentence. No metrics, no jargon, no "and" stitching two goals together. It should be repeatable from memory. Use the patterns in references/objective-patterns.md.
Draft 2-5 Key Results. Each must follow the metric formula: <verb> <metric> from <baseline> to <target> by <date>. Cover the outcome from multiple angles and include at least one counter-balancing / quality KR so the team can't game the headline number. See references/key-result-formulas.md.
Calibrate ambition. Decide committed vs aspirational (stretch). For aspirational OKRs, target ~70% confidence — hitting 100% means it was sandbagged. State the confidence level explicitly.
Self-review with the rubric. Run every OKR through references/review-rubric.md (or scripts/okr_lint.py for automated checks). Fix any KR that is a task, lacks a number, lacks a baseline, or just measures activity.
Present. Output using templates/okr-template.md. Include owner, period, confidence, and the initiatives separately from the KRs.
The Key Result Formula
Every key result should be reducible to:
{Direction verb} {metric} from {baseline} to {target} by {deadline}.
Examples:
- "Increase 30-day user retention from 42% to 55% by end of Q3."
- "Reduce average support first-response time from 9h to under 2h by Sept 30."
- "Grow ARR from $4.2M to $5.0M by year end."
If you can write "Done / Not done" instead of a number, it is probably a task, not a key result. Binary milestones are allowed sparingly (e.g., "Achieve SOC 2 Type II certification") but prefer graded metrics.
Decision Heuristics
- Task vs Key Result test: Ask "Could we do this perfectly and still fail the objective?" If yes, it's an output/initiative, not a KR. Demote it.
- Vanity vs value test: Would the metric impress a board slide but not reflect real value (e.g., "signups" with no activation)? Pair it with an activation/retention KR or replace it.
- Gaming test: "How would a lazy/clever team hit this number without delivering the intent?" Add a counter-metric to close the loophole.
- Memorability test: Can a team member recite the Objective without reading it? If not, shorten.
- Quantity test: More than 5 KRs per Objective dilutes focus; more than 3-5 Objectives per team scatters effort. Cut.
Worked Example (compressed)
Weak input: "Improve our mobile app and ship the redesign."
Diagnosis: This is an output. The implied outcome is usage/satisfaction. Baseline needed.
Strong OKR:
- Objective: Make the mobile app the channel customers love most.
- KR1: Raise mobile App Store rating from 3.6 to 4.5 by end of Q4.
- KR2: Increase share of weekly active users on mobile from 31% to 50%.
- KR3: Cut mobile crash-free-session rate gaps: improve from 98.1% to 99.5% (counter-balance for shipping fast).
- Initiatives (not KRs): ship redesign, add biometric login, fix top 10 crashes.
See examples/saas-growth-okrs.md and examples/rewrite-weak-okrs.md for full examples.
Best Practices
- Limit to 3-5 Objectives per team, 2-5 Key Results per Objective.
- Objectives are qualitative and inspiring; Key Results are quantitative and boring-precise.
- Always record a baseline and a deadline within the OKR period.
- Separate Initiatives (the work) from Key Results (the result). Track both, grade only KRs.
- Mark each set as committed (must hit 100%) or aspirational (target ~70%).
- Make OKRs public across the org; cascade by alignment, not literal copy-paste.
- Set, then grade at period end on a 0.0-1.0 scale; reflect, don't punish stretch misses.
Common Pitfalls
- Task lists masquerading as KRs ("Launch v2", "Hire 3 engineers") — these are initiatives.
- No baseline — "Increase revenue" with no start point can't be scored.
- Sandbagging — targets the team already knows they'll hit; nothing learned.
- Too many OKRs — everything is a priority, so nothing is.
- Vanity metrics — page views, raw signups, lines of code.
- Objectives with numbers — that's a key result wearing an objective's hat.
- Stitched objectives — "Grow revenue AND improve quality AND hire" — split them.
- Set-and-forget — no mid-period check-ins or end-period grading.
Supporting Files
references/outcome-vs-output.md — how to convert outputs into outcomes, the "so that" laddering technique, and a large lookup table.
references/objective-patterns.md — sentence patterns and a bank of strong/weak objective examples.
references/key-result-formulas.md — KR metric types, the formula, counter-metrics, and verb lists.
references/review-rubric.md — the scoring rubric to grade any draft OKR set.
templates/okr-template.md — fill-in template for presenting a final OKR set.
examples/saas-growth-okrs.md — a complete company → team cascade example.
examples/rewrite-weak-okrs.md — before/after rewrites of common bad OKRs.
scripts/okr_lint.py — runnable linter that flags task-like, baseline-less, or number-less key results.
1---2name: okr-writer3description: Writes strong OKRs (Objectives and Key Results) with outcome-focused, inspiring objectives and measurable, ambitious, time-bound key results. Use this skill when the user asks to write, draft, review, critique, or improve OKRs, goals, or quarterly/annual objectives, when they mention "objectives and key results", "set goals for the team", "turn this strategy into OKRs", "are these good key results", or when distinguishing outcomes from outputs/tasks for planning and performance.4license: MIT5---67# OKR Writer89## Overview1011OKRs (Objectives and Key Results) are a goal-setting framework that links an inspiring qualitative **Objective** ("what we want to achieve") to 2-5 quantitative **Key Results** ("how we measure progress"). This skill produces OKRs that are outcome-focused (changes in behavior, value, or state — not task lists), measurable (a number anyone can verify), and appropriately ambitious.1213Keywords: OKR, objective, key result, goal setting, KPI vs OKR, outcome vs output, stretch goal, quarterly planning, north star, measurable goals, scoring, grading.1415Use this skill to: draft new OKRs from a vague goal or strategy, rewrite weak/task-based OKRs into outcome-based ones, review and score a draft set, or cascade company OKRs to teams.1617## Core Definitions1819- **Objective** — A memorable, qualitative, inspirational statement of WHAT you want to accomplish in the period. No numbers. Answers "where do we want to go?"20- **Key Result** — A quantitative measure of HOW you'll know you got there. Has a metric, a baseline, and a target. Answers "how do we know we arrived?"21- **Output** — Something you produce or do (ship a feature, run 3 campaigns). NOT a key result on its own.22- **Outcome** — A change that results from outputs (activation rate rises from 40% to 55%). This is what good key results measure.23- **Initiative / Task** — The work you do to move a key result. Tracked separately, never as the OKR itself.2425## Workflow2627Follow these steps in order. Do not skip the diagnosis step — most weak OKRs come from skipping it.28291. **Clarify intent and scope.** Ask (or infer) four things: the *team/owner*, the *time horizon* (quarter, year), the *strategic theme or problem* this serves, and the *current baseline* for any metric mentioned. If a baseline is unknown, flag it — a key result without a baseline is unscoreable.30312. **Find the outcome.** Restate the user's goal as "If we succeed, what will be measurably different about the world / customer / business?" If they hand you a task ("rebuild onboarding"), ask "so that what happens?" until you reach a metric. See `references/outcome-vs-output.md`.32333. **Draft the Objective.** Write one short, qualitative, inspiring sentence. No metrics, no jargon, no "and" stitching two goals together. It should be repeatable from memory. Use the patterns in `references/objective-patterns.md`.34354. **Draft 2-5 Key Results.** Each must follow the metric formula: `<verb> <metric> from <baseline> to <target> by <date>`. Cover the outcome from multiple angles and include at least one *counter-balancing / quality* KR so the team can't game the headline number. See `references/key-result-formulas.md`.36375. **Calibrate ambition.** Decide committed vs aspirational (stretch). For aspirational OKRs, target ~70% confidence — hitting 100% means it was sandbagged. State the confidence level explicitly.38396. **Self-review with the rubric.** Run every OKR through `references/review-rubric.md` (or `scripts/okr_lint.py` for automated checks). Fix any KR that is a task, lacks a number, lacks a baseline, or just measures activity.40417. **Present.** Output using `templates/okr-template.md`. Include owner, period, confidence, and the initiatives separately from the KRs.4243## The Key Result Formula4445Every key result should be reducible to:4647> **{Direction verb} {metric} from {baseline} to {target} by {deadline}.**4849Examples:50- "Increase 30-day user retention from 42% to 55% by end of Q3."51- "Reduce average support first-response time from 9h to under 2h by Sept 30."52- "Grow ARR from $4.2M to $5.0M by year end."5354If you can write "Done / Not done" instead of a number, it is probably a task, not a key result. Binary milestones are allowed sparingly (e.g., "Achieve SOC 2 Type II certification") but prefer graded metrics.5556## Decision Heuristics5758- **Task vs Key Result test:** Ask "Could we do this perfectly and still fail the objective?" If yes, it's an output/initiative, not a KR. Demote it.59- **Vanity vs value test:** Would the metric impress a board slide but not reflect real value (e.g., "signups" with no activation)? Pair it with an activation/retention KR or replace it.60- **Gaming test:** "How would a lazy/clever team hit this number without delivering the intent?" Add a counter-metric to close the loophole.61- **Memorability test:** Can a team member recite the Objective without reading it? If not, shorten.62- **Quantity test:** More than 5 KRs per Objective dilutes focus; more than 3-5 Objectives per team scatters effort. Cut.6364## Worked Example (compressed)6566Weak input: *"Improve our mobile app and ship the redesign."*6768Diagnosis: This is an output. The implied outcome is usage/satisfaction. Baseline needed.6970Strong OKR:71- **Objective:** Make the mobile app the channel customers love most.72- **KR1:** Raise mobile App Store rating from 3.6 to 4.5 by end of Q4.73- **KR2:** Increase share of weekly active users on mobile from 31% to 50%.74- **KR3:** Cut mobile crash-free-session rate gaps: improve from 98.1% to 99.5% (counter-balance for shipping fast).75- *Initiatives (not KRs):* ship redesign, add biometric login, fix top 10 crashes.7677See `examples/saas-growth-okrs.md` and `examples/rewrite-weak-okrs.md` for full examples.7879## Best Practices8081- Limit to **3-5 Objectives** per team, **2-5 Key Results** per Objective.82- Objectives are qualitative and inspiring; Key Results are quantitative and boring-precise.83- Always record a **baseline** and a **deadline** within the OKR period.84- Separate **Initiatives** (the work) from **Key Results** (the result). Track both, grade only KRs.85- Mark each set as **committed** (must hit 100%) or **aspirational** (target ~70%).86- Make OKRs **public** across the org; cascade by alignment, not literal copy-paste.87- Set, then **grade at period end** on a 0.0-1.0 scale; reflect, don't punish stretch misses.8889## Common Pitfalls9091- **Task lists masquerading as KRs** ("Launch v2", "Hire 3 engineers") — these are initiatives.92- **No baseline** — "Increase revenue" with no start point can't be scored.93- **Sandbagging** — targets the team already knows they'll hit; nothing learned.94- **Too many OKRs** — everything is a priority, so nothing is.95- **Vanity metrics** — page views, raw signups, lines of code.96- **Objectives with numbers** — that's a key result wearing an objective's hat.97- **Stitched objectives** — "Grow revenue AND improve quality AND hire" — split them.98- **Set-and-forget** — no mid-period check-ins or end-period grading.99100## Supporting Files101102- `references/outcome-vs-output.md` — how to convert outputs into outcomes, the "so that" laddering technique, and a large lookup table.103- `references/objective-patterns.md` — sentence patterns and a bank of strong/weak objective examples.104- `references/key-result-formulas.md` — KR metric types, the formula, counter-metrics, and verb lists.105- `references/review-rubric.md` — the scoring rubric to grade any draft OKR set.106- `templates/okr-template.md` — fill-in template for presenting a final OKR set.107- `examples/saas-growth-okrs.md` — a complete company → team cascade example.108- `examples/rewrite-weak-okrs.md` — before/after rewrites of common bad OKRs.109- `scripts/okr_lint.py` — runnable linter that flags task-like, baseline-less, or number-less key results.