Skip to content This library is free, offered as dana. If it helps your work, donate here →

This is one of 3,622 free prompts in the penguin tree ai library. Sign up once and the whole library opens, with new prompts by email.

open the library →

OKR generator

Transforms a team's stated priorities into 3-5 well-formed Objectives, each with 3-4 measurable, outcome-oriented Key Results, filtering out output-only and activity-based KRs and flagging any objective that lacks a…

download .md

Purpose

Convert a team's rough priorities into a clean set of Objectives and measurable, outcome-oriented Key Results — enforcing the discipline that separates real OKRs (measurable changes in the world) from task lists dressed up as goals. Solves the most common OKR failure mode: KRs that measure activity ("launch feature X") instead of outcomes ("increase activation rate to 40%").

When to Use

Invoke this skill when the user asks to:

  • Draft quarterly or annual OKRs for a team or function
  • Turn a list of priorities or goals into structured, measurable OKRs
  • Fix or rewrite existing KRs that measure output instead of outcomes
  • Align a team's OKRs to a broader company objective or strategy
  • Add measurable targets and baselines to vague or aspirational goals
  • Review a draft OKR set for outcome-orientation and measurability

Inputs Required

Before starting, collect:

  • Team's stated priorities: 3-6 things the team cares about this cycle, in their own words
  • Team/function: What this team owns (product, growth, engineering, sales, ops, etc.)
  • Time horizon: Quarter, half, or year the OKRs cover
  • Baseline metrics: Current values for any relevant metrics (activation rate, NPS, churn, revenue, cycle time, etc.)
  • Parent/company objective: The higher-level goal these OKRs should ladder up to, if one exists
  • Known constraints: Headcount, budget, dependencies, or fixed commitments that bound what's achievable

If baselines are missing, generate KRs with placeholder target logic ("from current baseline to X") and flag which metrics the team must fill in before the OKRs are usable.

Instructions

Step 1: Classify Each Priority as Objective vs. Key Result vs. Initiative

Before writing anything, sort the raw priorities:

  • Objective candidates: Qualitative, directional, inspiring statements of a desired end state ("Become the default tool for X")
  • Key Result candidates: Measurable outcomes that would prove the objective is being met
  • Initiatives (not OKRs): Tasks, projects, or launches — "ship the redesign," "hire two engineers." These are how, not what success looks like. Set these aside; they belong in a roadmap, not the OKR set.

Merge overlapping priorities. Aim for 3-5 objectives maximum — more than 5 signals a lack of focus.

Step 2: Write the Objectives

For each objective:

  • State a qualitative, memorable end state — not a metric, not a task
  • Make it time-bound to the horizon and ambitious enough to require real effort
  • Ensure it's understandable to someone outside the team in one read
  • If a parent objective exists, confirm each objective plausibly advances it

Good: "Make onboarding effortless enough that new users succeed without support." Weak: "Improve onboarding" (not specific) or "Increase activation to 40%" (that's a KR).

Step 3: Generate 3-4 Key Results Per Objective

Each KR must pass the outcome test: it measures a change in customer, business, or user behavior — not an action the team performed.

For every KR, specify:

  • Metric: The single number being moved
  • Baseline → Target: From current value to target value (use provided baselines; flag if missing)
  • Direction: Increase / decrease / maintain
  • KR type: Metric-move / threshold / ratio

Apply the output-KR filter. Reject and rewrite any KR that:

  • Starts with a verb of activity ("Launch," "Build," "Deliver," "Complete," "Ship," "Hire")
  • Can be marked done by shipping something regardless of whether it worked
  • Measures effort or volume of work rather than results

Rewrite pattern: "Launch referral program" → "Grow referral-driven signups from [baseline] to [target]."

Balance the KR set across:

  • Growth/value KRs (moving the primary metric up)
  • Quality/health KRs (a counter-metric that prevents gaming — e.g., pairing "increase signups" with "maintain 30-day retention above X")

Step 4: Stress-Test the Set

For the full set, verify:

  • No objective has zero measurable KRs
  • No KR could be satisfied by activity alone
  • At least one counter-metric or quality KR exists where a growth KR could be gamed
  • Targets are ambitious but not fantasy (roughly 70% confidence — a stretch, not a guarantee)

Step 5: Flag Risks and Gaps

For each objective, add a one-line note covering:

  • Which KRs are missing a baseline the team must supply
  • Any KR whose target is uncalibrated and needs a data check
  • Dependencies or constraints that threaten achievability

Output Format

  • Structure: One block per objective — objective statement, then its 3-4 KRs formatted as a table, then a risk/gap note
  • Length: 700-1,000 words
  • Format: Objectives as bold statements; KRs in a table with columns for Metric, Baseline, Target, Direction, KR Type
  • Sections: OKR set (3-5 objective blocks) → Rejected output-KRs (what was rewritten and why) → Risks & baselines to confirm
  • Tone: Direct product-operator voice — opinionated about outcome-orientation, unafraid to reject weak KRs

Quality Checklist

Before delivering output, verify:

  • [ ] Between 3 and 5 objectives — not more
  • [ ] Every objective has 3-4 KRs (count them)
  • [ ] Every KR includes a metric with a baseline→target format, not a task
  • [ ] Zero KRs begin with an activity verb (Launch, Build, Ship, Hire, Complete)
  • [ ] At least one counter-metric/quality KR is present where a growth KR could be gamed
  • [ ] The "Rejected output-KRs" section shows at least the input priorities that were reclassified as initiatives

Notes

  • The single most common mistake is a KR that measures work done rather than results achieved — the output-KR filter in Step 3 is the core value of this skill; apply it ruthlessly.
  • Initiatives set aside in Step 1 are not wasted — advise the user they belong on the roadmap as the "how" beneath each objective.
  • If every proposed target has near-100% confidence, the OKRs aren't ambitious enough; if they're near 0%, they'll demoralize. Calibrate toward roughly 70%.
  • Counter-metrics matter most for growth teams, where a single up-and-to-the-right metric is easy to game at the expense of retention or quality.

How to use this skill

This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.

Installing in Claude Code:

  • ~/.claude/skills/<folder-name>/SKILL.md — auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)
  • <your-project>/.claude/skills/<folder-name>/SKILL.md — auto-loads only when working in that project (recommended for project-specific skills)

Restart Claude Code or open a new session to register.

Using in Claude.ai, ChatGPT, Gemini, or other AI tools:

  1. Drag this file into a new chat, or copy and paste its contents
  2. Send your task or request as your next message — the AI will apply the skill where it fits

For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills