Agent skill

Kpi Framework

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so…

MITAuto-check passedBusiness, Finance & HR

Install Kpi Framework

skills CLI
$ npx skills add ericrisco/rsc-harness --skill kpi-framework -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness kpi-framework --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kpi-framework .claude/skills/kpi-framework && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kpi-framework
GitHub stars
156
Token cost
~2.9k tokens
SKILL.md length
1,550 words
Files
5 (incl. references)
Skills in repo
229
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so…

  • Works in 4 steps: Pick ONE north star (the output) → Build the driver set (3-5 inputs) → Add guardrails / countermetrics → …
  • A team must decide what to measure before building anything — picking one north-star metric
  • SKILL.md covers The one artifact, Step 1 — Pick ONE north star…, Step 2 — Build the driver set… and Step 3 — Add guardrails /…, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Kpi Framework is an agent skill from ericrisco/rsc-harness. Use when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so a number cannot be gamed, and setting a target that is not arbitrary. NOT the live dashboard that displays them (that is dashboard), NOT instrumenting the events (that is analytics), NOT the recurring board report (that is reporting).

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/definition-and-targets.md`).

It sits in Business, Finance & HR, covering OKRs and executive reporting, Product metrics and LLM guardrails. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • A team must decide what to measure before building anything — picking one north-star metric
  • Separating leading input drivers from lagging outputs
  • Adding guardrails so a number cannot be gamed
  • Setting a target that is not arbitrary

Example prompts

  • “/kpi-framework”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pick ONE north star (the output)
  2. Build the driver set (3-5 inputs)
  3. Add guardrails / countermetrics
  4. Set the target

What it can do on your machine

Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kpi Framework loads about 2.9k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 108 tokens; SKILL.md has 1,550 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~108
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 1,550 words, ~2,918 tokens.

Download SKILL.mdSave it as .claude/skills/kpi-framework/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
kpi-framework
description
Use when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so a number cannot be gamed, and setting a target that is not arbitrary. NOT the live dashboard that displays them (that is `dashboard`), NOT instrumenting the events (that is `analytics`), NOT the recurring board report (that is `reporting`).
tags
north-star-metric, leading-vs-lagging, input-metrics, guardrail-metrics, target-setting, vanity-metrics, kpi-tree
recommends
analytics, dashboard, reporting, ab-testing, forecasting, business-intelligence, unit-economics, project-ops
origin
risco

KPI framework

You decide what to measure. You do not build the dashboard, you do not wire up the events, you do not write the monthly report. Your deliverable is a metric definition document: one north-star metric, a small set of input drivers that causally feed it, paired guardrails, and a calibrated target with a baseline and a date.

Most measurement work fails upstream, before any chart exists. Teams instrument 40 KPIs and none of them lead anywhere. They optimize a lagging output nobody can move. They celebrate a vanity number. They set "double it this month" and watch it get gamed. Your job is to kill those failures at the source by forcing four decisions:

  1. What single output predicts long-term value? (the north star)
  2. Which 3-5 controllable inputs cause it? (the driver set)
  3. What breaks if we over-optimize it? (the guardrails)
  4. What target — baseline, magnitude, date — is honest and ungameable?

Answer those four and hand the result to ../analytics/SKILL.md to instrument and ../dashboard/SKILL.md to display. If you find yourself choosing chart types or writing SQL, you have left this skill.

The one artifact

Everything you produce collapses into a single table. Nothing leaves this skill with the baseline, target, or date column blank — an unfilled target is a decision you skipped, not a decision you made.

metrictypedefinition (event + window + denominator)leading/laggingownerbaselinetargettarget_date
Weekly Active Teamsnorth-starteams with >=1 member completing a core action in a rolling 7-day window / all active teamslaggingPM, Activation38%52%2026-Q4
Time-to-first-core-actioninputmedian minutes from signup to first core action, new teamsleadingPM, Onboarding41 min<15 min2026-Q3
Week-1 saved itemsinputnew teams with >=3 saved items in first 7 days / new teamsleadingPM, Onboarding22%40%2026-Q3
Invites acceptedinputinvited members who activate within 7 days / invites sentleadingGrowth31%45%2026-Q4
Support tickets / active teamguardrailopen tickets / weekly active teams (must not rise)laggingSupport lead0.12<=0.12ongoing

The columns are not decoration. "Definition" must be unambiguous enough that two analysts querying independently get the same number — that means a concrete event, a time window, and a denominator. See references/definition-and-targets.md for how to write definitions that don't drift.

Step 1 — Pick ONE north star (the output)

The north star is an output / lagging metric. Why: it's the scoreboard for value delivered, deliberately too broad to act on directly. You don't push the north star — you push the inputs and watch the north star move. One per team; more than one means no team actually owns the outcome.

Express delivered value as a rate or ratio, not a raw count. Why: raw counts grow with time and headcount and hide health — "total users" goes up even as the product dies.

  • Bad: total registered users
  • Good: weekly active teams that completed a core action / all active teams

It must predict long-term retention or revenue. If the number can climb for a quarter while the business erodes, it is not a north star. The test: would you bet next year's retention on this number rising? If not, keep looking.

Vanity reject test. Followers, page views, likes, total signups — vanity unless tied to a downstream outcome (conversion, revenue, retention). 10k followers with zero sales lift is the canonical example. If a candidate metric can double with no change in value delivered, reject it and say why in the doc.

Source candidates from a lens — AARRR (acquisition/activation/retention/referral/revenue) or HEART (happiness/engagement/adoption/retention/task-success) — then narrow to one. references/metric-catalog.md lists candidate north stars and driver sets per business type (SaaS, marketplace, content, e-commerce, B2B sales-led).

Step 2 — Build the driver set (3-5 inputs)

The north star is the scoreboard; the inputs are the plays you actually run.

Each input is leading, directly controllable, and a concrete instrumentable event. Why: if the team can't influence it through their own work, it's not an input — it's another output, and chasing it is vanity. "Engagement" and "satisfaction" are not inputs; they're abstractions you cannot ship against.

  • Bad: increase engagement
  • Good: % of new teams with >=1 saved item in the first 7 days

Each input must plausibly cause the north star. Why: a metric tree connects every node to its parent (the outcome) and its children (the inputs). A standalone number has no defense against gaming; in a tree, gaming one node shows up as distortion in its neighbors. Draw the tree so the causal claim is explicit and falsifiable:

text
        Weekly Active Teams (north star, output)
        /              |                 \
Time-to-first      Week-1 saved        Invites accepted
core action        items (>=3)         within 7 days
(leading)          (leading)           (leading)

Cap the set at 5. Why: more than five inputs is sprawl — focus dilutes, nobody owns the list, and you're back to the 40-KPI swamp you came to escape. If you have eight candidates, the work of this step is cutting three.

Hand the final event list — exact events, windows, denominators — to ../analytics/SKILL.md to instrument. You define them; analytics implements them.

Step 3 — Add guardrails / countermetrics

"When a measure becomes a target, it ceases to be a good measure." — Goodhart's Law (Charles Goodhart, 1975)

Single-metric optimization gets gamed. Optimize sales volume alone and reps discount to the floor; optimize Average Handle Time alone and agents hang up on unsolved problems.

Every target gets a paired shadow metric representing the foreseeable harm. Why: the guardrail is what catches the gaming before it costs you. The pair must measure the thing that breaks when someone over-optimizes the target.

north-star / target you pushlikely gaming moveguardrail to pair
Average Handle Time ↓agents close tickets prematurelyFirst Contact Resolution + Customer Effort Score
Activation rate ↑loosen "activated" definition, count trivial actionsweek-4 retention of newly-activated cohort
Signups ↑buy low-intent trafficactivation rate of new signups
Revenue per order ↑aggressive upsell, hidden feesrefund rate + repeat-purchase rate
Sessions per user ↑dark patterns, notification spamuninstall / unsubscribe rate

A guardrail does not need a stretch target — its target is usually "must not get worse than baseline." Write it into the table anyway, with ongoing as the date.

Show full SKILL.md (564 more words)Show less

Step 4 — Set the target

This is where frameworks most often break: arbitrary numbers that discourage, or sandbagged ones that drive nothing.

Baseline before target. Why: you cannot calibrate a target without knowing current state. "Get to 50%" is meaningless until you know whether you're at 12% or 48%. If there is no baseline, the first deliverable is "measure the baseline" — do not invent a target on top of an unknown.

Magnitude must be calibrated — not arbitrary, not sandbagged. Why: targets that are too ambitious hurt performance through burnout and shortcuts; targets that are trivially safe drive no improvement. Ground the magnitude in the baseline (a defensible improvement band) and the levers you actually have, not in a round number that sounds good in a deck.

  • Bad: double activation this month
  • Good: activation 38% → 52% by 2026-Q4, owner: PM Activation, based on onboarding rework + invite flow

Attach a date and an owner to every target. Why: a target with no date is a wish; a target with no owner is nobody's job. A row missing either is incomplete.

See references/definition-and-targets.md for baseline measurement, improvement-band calibration, and why round-number targets invite theatre.

Decision table — is this row a north star, an input, a guardrail, or noise?

the metric is...controllable by the team?tied to delivered value?→ classify as
an output (outcome)no (you steer it via inputs)yes, predicts retention/revenuenorth star (pick one)
an outputpartiallyyes, but could regress when pushing the NSMguardrail
an input (a play)yes, directlycausally feeds the north starinput driver
a count or outputnono downstream outcomenoise / vanity — reject

If a candidate is controllable but doesn't feed the north star, it's a distraction. If it's tied to value but uncontrollable, it's either the north star itself or a guardrail. If it's neither controllable nor value-tied, cut it.

Anti-patterns

anti-patternwhy it bitesthe fix
Vanity metricgrows without value moving; celebrates nothing realtie to a downstream outcome or reject
40-KPI sprawlnothing leads, no focus, no ownerone north star + 3-5 inputs, cut the rest
Lagging-onlyyou can watch it but can't act on itadd controllable leading inputs
Un-actionable inputteam can't influence it through their workreplace with a concrete shippable event
Arbitrary target"double it" discourages or invites gamingbaseline first, then a calibrated band
Single number, no guardrailgets gamed, breaks a neighbor silentlypair every target with a countermetric
Raw count as north starrises with time/size, hides declineuse a rate or ratio tied to value
Never re-validatedmetric stops predicting value, nobody noticesre-check predictiveness semi-annually

Re-validation cadence

Re-validate the north star's predictiveness (does it still track retention/revenue?) and the inputs' controllability (can the team still move them?) at least semi-annually. Products and portfolios change; a metric that predicted value last year can quietly stop. Evolve definitions transparently — version the doc, note what changed and why, so a metric shift never looks like cooking the numbers.

Handoff

When the metric definition doc is complete, route the downstream work:

  • Events to instrument (the exact inputs + windows) → ../analytics/SKILL.md
  • What to display and how → ../dashboard/SKILL.md
  • Recurring narrative around the numbers → ../reporting/SKILL.md
  • Designing a test to move a specific input → ../ab-testing/SKILL.md
  • Projecting a metric forward in time → ../forecasting/SKILL.md
  • Cash/revenue economics, CAC/LTV behind the metric → ../unit-economics/SKILL.md
  • Wiring KRs into an operating cadence → ../project-ops/SKILL.md
  • Standing analytics models behind it all → ../business-intelligence/SKILL.md

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/kpi-framework of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/definition-and-targets.md
  • references/metric-catalog.md

Open the folder on GitHubat commit 92fde8f

Compare with similar skills

Kpi Framework next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kpi Framework compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kpi Framework this skillericrisco/rsc-harness156—~2.9kAutomated safety check: PassMIT
Analytics Strategyrampstackco/claude-skills9351 repos~2.4kAutomated safety check: PassMIT
AI PrioritizationILoveDotNet/ilovedotnet155—~3.5kAutomated safety check: PassCC0-1.0
Metricsmenkesu/awesome-pm-skills429—~5kAutomated safety check: PassCustom licence
Startup Metrics Frameworkwshobson/agents40k—~2.5kAutomated safety check: PassMIT
Goals And Kpissocial-media-skills/skills116—~1.4kAutomated safety check: PassMIT

Similar skills

  • Analytics Strategy

    rampstackco/claude-skills

    Design measurement frameworks including event taxonomy, KPI hierarchy, dashboard architecture, attribution models, and analytics implementation strategy.

    935 GitHub starsUsed in 1 repo~2.4k tokens
    Business, Finance & HRAuto-check passed
  • AI Prioritization

    ILoveDotNet/ilovedotnet

    Evaluate, rank, and communicate work priorities using AI as a structured thinking partner.

    155 GitHub stars~3.5k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Metrics

    menkesu/awesome-pm-skills

    Builds your north star metric, a metric tree with owned input metrics and guardrails, and a review cadence, as a one-page metrics spec you can paste into a doc.

    429 GitHub stars~5k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Track, calculate, and optimize key performance metrics for SaaS, marketplace, consumer, and B2B startups from seed through Series A, including unit economics, growth efficiency, and cash management.

    40k GitHub stars~2.5k tokensUpdated 2 days ago
    Business, Finance & HRAuto-check passed
  • Goals And Kpis

    social-media-skills/skills

    Set social media goals and KPIs — measurable targets and north-star metrics that aren't vanity numbers.

    116 GitHub stars~1.4k tokensUpdated 6 days ago
    Business, Finance & HRAuto-check passed
  • Kpi Tree Builder

    revfactory/harness-100

    KPI 트리(지표 계층 구조)를 체계적으로 설계하고 드릴다운 구조를 정의하는 방법론. An agent skill from revfactory/harness-100.

    1.3k GitHub stars~655 tokensUpdated 6 mo ago
    Business, Finance & HRAuto-check passed

More from ericrisco/rsc-harness

All 229 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    156 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    156 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    156 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    156 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    156 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    156 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Questions about Kpi Framework

What does Kpi Framework do?

A skill your agent uses when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so…. Kpi Framework is an agent skill from ericrisco/rsc-harness. Use when a team must decide what to measure before building anything — picking one north-star metric, separating leading input drivers from lagging outputs, adding guardrails so a number cannot be gamed, and setting a target that is not arbitrary.

When should I use Kpi Framework?

Kpi Framework fits situations like: A team must decide what to measure before building anything — picking one north-star metric; separating leading input drivers from lagging outputs; adding guardrails so a number cannot be gamed; setting a target that is not arbitrary.

How do I install Kpi Framework in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill kpi-framework -a claude-code`. Or copy the skill folder (skills/kpi-framework in ericrisco/rsc-harness) into .claude/skills/kpi-framework in your project. Claude Code loads it when a task matches its description.

How do I install Kpi Framework in Codex?

Run `npx skills add ericrisco/rsc-harness --skill kpi-framework -a codex`. Or copy the skill folder (skills/kpi-framework in ericrisco/rsc-harness) into .agents/skills/kpi-framework in your project. Codex loads it when a task matches its description.

Can I use Kpi Framework in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill kpi-framework -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kpi-framework, .gemini/skills/kpi-framework, .github/skills/kpi-framework and .opencode/skills/kpi-framework in your project.

What does Kpi Framework need to run?

SKILL.md names no scripts, command-line tools or credentials: Kpi Framework is instructions for the agent only.

Does Kpi Framework access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Kpi Framework safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Kpi Framework use?

Kpi Framework is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kpi Framework use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.

What are the alternatives to Kpi Framework?

Skills that share tags, products or a category with Kpi Framework: Analytics Strategy (rampstackco/claude-skills, 935 stars), AI Prioritization (ILoveDotNet/ilovedotnet, 155 stars), Metrics (menkesu/awesome-pm-skills, 429 stars) and Startup Metrics Framework (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kpi Framework?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.