Pm Okr Metric Validity Audit logo

Pm Okr Metric Validity Audit

Organization
Uxcel-Lab
pm-okr-metric-validity-audit

Run a structured validity audit on OKRs, KPIs, North Star Metrics, or any success-metric set. Produces a severity-rated issue list with concrete fixes — catches vanity metrics, unfalsifiable key results, outputs disguised as outcomes, gameable targets without guardrails, and metrics disconnected from business value. Use when reviewing OKRs, goals, KPIs, dashboards, or success metrics, or as a validation step after defining metrics in a spec, roadmap, or strategy doc.

Overview

PublisherUxcel-Lab
Repositoryproduct-skills
Skill namepm-okr-metric-validity-audit
Stars
35
Forks
8
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Uxcel-Lab on GitHub. Read the source before you install it.

Installation

Install the Pm Okr Metric Validity Audit AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Uxcel-Lab/product-skills/tree/main/pm/audits/okr-metric-validity
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Uxcel-Lab/product-skills.git /tmp/product-skills
mkdir -p .claude/skills
cp -r /tmp/product-skills/pm/audits/okr-metric-validity .claude/skills/pm-okr-metric-validity-audit
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Pm Okr Metric Validity Audit in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Pm Okr Metric Validity Audit on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Pm Okr Metric Validity Audit is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

OKR & Metric Validity Audit Skill

What this skill changes vs. default behavior

By default, Claude reviews OKRs by polishing wording and nodding at structure — it rarely challenges whether a key result is falsifiable, whether a metric is vanity, whether an "objective" is just a feature launch in disguise, or whether hitting the target could actually harm the product. This audit forces four things: every finding names the violated principle, every metric is tested for decision-usefulness ("what would we do differently if this number changed?"), every optimization target is checked for gaming exposure and guardrails, and findings come severity-rated with concrete rewrites — not general encouragement.

This is an evaluative skill: it auto-runs whenever OKRs, KPIs, or success metrics are present in work being reviewed or generated.

Scope discipline. When invoked directly (the user named this audit), review only this concern — don't pull in sibling audits. It runs alongside other lenses only when the pm-product-review orchestrator or a generative skill calls it under docs/orchestration-policy.md, where it sits in an artifact-specific lens — offered (when metrics/OKRs are defined). Explicit scope always wins.


The framework — what to check and what a violation looks like

1. Outcome, not output

Outputs are things teams ship (features, releases, launches). Outcomes are changes in user behavior or business results. Key results and metrics must measure outcomes; counting shipped things is the feature-factory signature.

Flag when: a KR or metric counts deliverables, launches, tickets closed, or activities performed; an objective prescribes a solution ("Launch mobile app by Q3").

  • ❌ KR: "Ship 12 features this quarter" · Objective: "Launch the referral program"
  • ✅ KR: "Increase week-4 retention from 22% to 30%" · Objective: "Make our signup the simplest in the industry"

2. Falsifiability (the SMART test)

Each key result is obviously achieved or not — a number, a unit, a baseline, a target, a timeframe. If reasonable people could disagree about whether it was hit, it's a wish, not a key result.

Flag when: no baseline or target value; no unit; no timeframe; verbs like "improve," "optimize," "enhance" with nothing measurable attached.

  • ❌ "Improve user satisfaction" / "Significantly reduce churn"
  • ✅ "Increase NPS from 42 to 50 by end of Q3" / "Reduce monthly churn from 4.1% to 3.0% by December"

3. Vanity exposure

Vanity metrics grow with time or marketing spend without informing any decision: page views, impressions, downloads, followers, registered totals. The test: what decision changes when this number moves? No answer → vanity.

Flag when: cumulative or attention-volume metrics presented as success; "active users" without an activity qualification; growth numbers with no conversion-to-value link (80k visitors, still 8 sales).

  • ❌ "Reach 200,000 downloads" (3,000 active users hiding underneath)
  • ✅ "Convert 12% of downloads to week-2 active users"

4. Objective quality

Objectives inspire direction; key results measure progress. An objective should be concise, qualitative, ambitious, and memorable — not corporate fog, and not a task list.

Flag when: objectives read as tasks or solutions; vague corporate language ("Optimize customer acquisition efficiency"); more than ~1 focus objective per team per quarterly cycle; KRs that don't actually evidence their objective.

  • ❌ "Leverage synergies to optimize the funnel" + 9 objectives for one team
  • ✅ One quarter, one focused objective + 3–5 KRs that prove it

5. Causal connection to value

Every metric earns its place by a testable cause-and-effect link to user value and business success. The hierarchy: North Star (user value + company success in one number) → KPIs/L1 drivers → team input metrics. An orphan metric — connected to nothing above it — is noise.

Flag when: a North Star that's pure business (revenue) or pure activity (time on site) without a user-value mechanism; metrics no one can trace to the level above; "measure everything" dashboards (30+ metrics) with no hierarchy.

  • ❌ North Star: "Total registered users" — grows forever, says nothing about value delivered
  • ✅ North Star: "Time spent listening" (Spotify) / "Orders delivered & positively rated" — value and success in one number

6. Gaming exposure & guardrails (Goodhart's law)

When a measure becomes a target, it stops being a good measure. Ask of every optimization target: how would a cynical team hit this number while making the product worse? If there's an easy answer and no guardrail metric, that's a finding.

Flag when: engagement/duration targets hittable via friction or addiction mechanics; conversion targets hittable by hiding information (→ dark-pattern territory); no guardrail thresholds (quality, support tickets, ease-of-use, opt-outs) paired with aggressive growth targets.

  • ❌ "Increase average session duration by 20%" — with no quality guardrail
  • ✅ Same target + guardrail: "task completion time does not increase; support contacts stay flat"

7. Leading/lagging balance

Lagging indicators (revenue, churn) confirm what already happened; leading indicators (activation, early engagement, onboarding completion) allow course-correction. An all-lagging metric set can only report failure after the fact.

Flag when: every KR is a lagging business outcome with no leading drivers; or all leading with no tie to lagging confirmation.

  • ❌ Quarterly OKRs measured only by MRR and churn
  • ✅ MRR target + leading drivers: trial-to-paid conversion, first-2-week engagement

Tension note: ambition vs. falsifiability — OKRs should stretch (≈70% achievement is healthy), so don't flag a target merely for being aggressive; flag it for being unmeasurable, disconnected, or gameable. And rigor vs. focus — don't fix metric sprawl by demanding more metrics; the fix is usually fewer, better-connected ones.


Severity rating

Rate each finding by decision damage — what the metric, left as-is, would cause the team to do:

SeverityMeaning
CriticalOptimizing this metric as written would harm users or the business (gameable target without guardrails, vanity North Star, output-only OKRs steering a feature factory)
MajorProgress can't be honestly assessed (unfalsifiable KRs, no baselines, orphan metrics, all-lagging sets)
MinorHygiene that degrades the system (missing timeframe, >5 KRs per objective, mild metric sprawl, fuzzy objective wording)
CosmeticPhrasing polish; don't pad the report with these

Overlaps: manipulative UI built to hit a metric belongs to ux-dark-patterns-audit — this audit flags the metric-and-guardrail gap, that one flags the interface. Spec-level requirement quality belongs to pm-spec-quality-audit.


Output format

## OKR & Metric Validity Audit — [Target]
Context: [team/product · cycle · business model, if known]

### Critical
- [Issue] — what's wrong → concrete rewrite. (Principle)
### Major
- …
### Minor
- …
### Working well ✓
- …

**Top 3 priorities:** the highest decision-damage fixes, with suggested rewrites.

Always end with the prioritized top issues — a flat list helps no one act.


How to run a good audit

  1. Establish context first — business model (SaaS vs. e-commerce metrics differ), product stage (early: activation/engagement; mature: retention/revenue), and which level you're auditing (company NSM vs. team OKRs).
  2. Only flag real costs — an imperfect-but-honest metric beats a perfect-on-paper one nobody can collect. Ask what data actually exists.
  3. Respect the ambition tension — stretch targets are a feature of OKRs, not a bug.
  4. Prioritize, don't enumerate — three decision-damaging findings beat fifteen nitpicks.
  5. Be specific in fixes — rewrite the KR; name the guardrail; propose the North Star candidate. Never just "make it more measurable."

Common do/don't patterns

❌ Don't✅ Do
Polish OKR wording and call it a reviewTest falsifiability, vanity, gaming, and value-connection per metric
Praise "200k downloads" as tractionAsk what decision the number informs; surface the active-user truth
Accept "Launch X" as a key resultRewrite as the behavior/business change the launch should cause
Demand precision on every aspirational objectiveObjectives inspire; KRs measure — audit each by its own job
Flag a stretch target as "unrealistic"Flag unmeasurable, orphaned, or gameable — not ambitious
Recommend adding 10 more metricsFewer, hierarchy-connected metrics + guardrails
Duplicate the dark-patterns audit on manipulative UIFlag the metric/guardrail gap; defer the interface to ux-dark-patterns-audit
Deliver an unranked issue dumpSeverity by decision damage + top-3 priorities with rewrites

Source lessons (Uxcel)

Frequently asked questions

What does the Pm Okr Metric Validity Audit AI skill do?

Run a structured validity audit on OKRs, KPIs, North Star Metrics, or any success-metric set. Produces a severity-rated issue list with concrete fixes — catches vanity metrics, unfalsifiable key results, outputs disguised as outcomes, gameable targets without guardrails, and metrics disconnected from business value. Use when reviewing OKRs, goals, KPIs, dashboards, or success metrics, or as a validation step after defining metrics in a spec, roadmap, or strategy doc.

Why use Pm Okr Metric Validity Audit on TypingMind?

Because you install it once and use it with any model. Pm Okr Metric Validity Audit is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Pm Okr Metric Validity Audit in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Uxcel-Lab/product-skills/tree/main/pm/audits/okr-metric-validity. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Pm Okr Metric Validity Audit?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Pm Okr Metric Validity Audit?

As many as you like. As long as a model supports skills, you can use Pm Okr Metric Validity Audit with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Pm Okr Metric Validity Audit AI skill free?

Yes. It is published on GitHub by Uxcel-Lab under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇