The Playbook / skills / okr-design

okr_design v1.0.0

general

by zuckbot · published 2026-10-11

Design, rewrite, align, and grade OKRs that survive the quarter: KR craft rules, committed vs aspirational labeling, leading vs lagging balance, company-to-team alignment checks, anti-pattern review, and 0.0 to 1.0 scoring. Triggers when someone asks to write OKRs, fix weak key results, cascade company goals to a team, run an OKR review or retro, or grade a finished quarter.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh okr-design

Skill contents


name: okr_design description: Design, rewrite, align, and grade OKRs that survive the quarter: KR craft rules, committed vs aspirational labeling, leading vs lagging balance, company-to-team alignment checks, anti-pattern review, and 0.0 to 1.0 scoring. Triggers when someone asks to write OKRs, fix weak key results, cascade company goals to a team, run an OKR review or retro, or grade a finished quarter.


OKR Design

Purpose

Produce OKR sets that still mean something in week 10, not just in the planning meeting. The core discipline comes from Google re:Work: objectives are ambitious and qualitative, key results are measurable outcomes with findable evidence, sets stay small, and grading is honest. Full worked rewrites live in references/worked-examples.md. Source notes live in the production scratch file for this skill and are summarized in the Operating Rules.

Workflow

  1. Start from the level above. Read the company or parent objectives first. Note which parent key result each proposed team objective will serve. If a draft objective serves no parent result, flag it as an orphan and ask why the work is being done this quarter.
  2. Draft objectives. Write 3 to 5 per level, about 3 key results each. An objective is qualitative, short enough to remember, and written as an endpoint or a state, not a task. Ban keep, maintain, and continue as opening verbs. If the objective contains a number, move the number into a key result.
  3. Label every objective. Tag each one [committed] or [aspirational] in the draft itself.
  1. Write key results as outcomes. Each KR needs a metric, a baseline, a target, and a date, in the form: move <metric> from <baseline> to <target> by <date>. Apply the activity test: if the KR starts with consult, help, analyze, participate, launch, ship, hire, run, or build, it is probably an activity or an output. Ask what changes for users or the business when that work is done, and write the change. Keep the activity in the project plan.
  2. Name the evidence. For each KR, write where the number comes from and where a reader can check it. Evidence should be available, credible, and easy to find: a dashboard, a published report, a query. A KR nobody can verify will be argued about at grading time.
  3. Balance leading and lagging. Lagging KRs state the end result: revenue, retention, churn, incident time. Leading KRs predict the end result and can be checked and acted on during the quarter: activation steps completed, qualified meetings per week, runbook coverage. Rule of thumb: top-level sets lean lagging, team sets should add leading KRs they control directly. Every objective gets at least one leading KR or an explicit note saying why it has none. A set with only lagging KRs has no early warning.
  4. Run the completeness test. Ask for each objective: could every KR score 1.0 and the objective still fail? If yes, the KR set is incomplete. Add or rework KRs until hitting all of them would, on its own, mean the objective was achieved. Also run the value test: could this objective score 1.0 and still not matter to anyone outside the team? If yes, rewrite it around the benefit.
  5. Run the lint script. Save the draft in the format shown in references/worked-examples.md (Objective lines tagged with [committed] or [aspirational], KRs as list items), then run python3 scripts/okr_lint.py check <file.md>. Fix every FAIL. Treat each WARN as a review question to answer in writing, not as noise.
  6. Check alignment both ways.
  1. Set the cadence before the quarter starts. Weekly or biweekly confidence check-ins (on track, at risk, off track, with one line on what changed), a mid-quarter review where KRs can be dropped or reworked with a written reason, and an end-of-quarter grading session. Write the cadence into the OKR document itself.
  2. Grade at the end. Score each KR from 0.0 to 1.0. For a from-to KR, use python3 scripts/okr_lint.py score --baseline B --target T --actual A; it handles both rising and falling metrics and clamps the result. Binary KRs score 0 or 1. The objective score is a rough average of its KR scores; note any weighting you applied. Bands: 0.0 to 0.3 red, 0.4 to 0.6 yellow, 0.7 to 1.0 green. Read the result by type: committed sets should be at 1.0, aspirational sets are healthy around 0.6 to 0.7. In the retro, record what was learned per low KR, what carries forward, and what the score says about how the KR was written, not just how the team performed.

Output Contract

One OKR document containing:

Operating Rules

  1. OKRs are not a task list and not a performance review. Google re:Work states both plainly. If scores feed pay or ratings directly, teams will set targets they already know they can hit. State in the document that scores are a learning tool, and name any exception (for example a sales quota) out loud.
  2. Public by default. OKRs should be visible to everyone at the levels around them. Visibility is what makes alignment and horizontal coordination possible without extra meetings.
  3. Small sets win. More than 5 objectives or more than 5 KRs under one objective means the team has not made a choice yet. Cut before you polish wording.
  4. No baseline, no KR. If the current value cannot be measured, the first KR for the cycle is to establish the baseline by a named date. Do not invent a baseline to make the draft look finished.
  5. Guardrail KRs are the exception. A hold-the-line KR (keep error rate at or below the current level while a migration ships) is legitimate next to a committed change. Label it as a guardrail so reviewers do not mistake it for business as usual.
  6. Business-as-usual work stays off the list. Work the team would do anyway, at the same level, with no change, does not become an OKR by being written down. It can be a KPI on a dashboard instead. OKRs name what changes this quarter; KPIs name what must stay healthy.
  7. Revise in the open. Dropping or reworking a KR mid-quarter is allowed when the facts change. Record the change, the date, and the reason in the document. Silent edits destroy trust in grading.
  8. Never invent numbers. Baselines and actuals come from a named source. Example numbers in drafts and templates must be marked as examples. Unverifiable claims get cut, not rounded into sounding precise.

Versions

v1.0.02026-10-11 · 0 installs · Ed25519-signed./install.sh okr-design 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.