# How to Define and Implement a North Star Metric Using PM Skills

> Learn to define and implement a North Star Metric with PM Skills. Select, validate, and operationalize a key customer-centric KPI using the /north-star command. Drive product growth effectively.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: how-to-guide
- Published: 2026-06-17

---

**PM Skills provides a dedicated North Star Metric skill that guides product teams through selecting, validating, and operationalizing a single customer-centric KPI using the `/north-star` command.**

PM Skills is an open-source product management toolkit hosted at `phuryn/pm-skills`. The repository ships a specialized **North Star Metric** skill that automates the entire workflow of picking, validating, and operationalizing your primary KPI through a structured LLM-powered prompt.

## Architecture of the North Star Metric System

The implementation consists of three distinct layers that work together to generate actionable metric frameworks.

### Skill Definition Layer

The core logic resides in [`pm-marketing-growth/skills/north-star-metric/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-marketing-growth/skills/north-star-metric/SKILL.md). This file contains the prompt template that instructs the model to classify your business game, suggest North Star candidates, and identify supporting input metrics.

### Command Wrapper Layer

The [`pm-marketing-growth/commands/north-star.md`](https://github.com/phuryn/pm-skills/blob/main/pm-marketing-growth/commands/north-star.md) file defines the `/north-star` slash-command. This wrapper collects your product description, forwards it to the skill, and formats the LLM response as a structured markdown report.

### Execution Engine Layer

The generic `pm-toolkit` runtime parses commands, injects `$ARGUMENTS` into skill prompts, calls the LLM, and streams the rendered markdown back to the user. Reference the [`pm-toolkit/README.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/README.md) for implementation details.

## Step-by-Step Workflow

When you run the North Star Metric command, PM Skills executes a five-step pipeline grounded in product management best practices.

### Step 1: Invoke the Command

Trigger the skill using the slash-command syntax defined in [`north-star.md`](https://github.com/phuryn/pm-skills/blob/main/north-star.md) (lines 10-30):

```bash
/north-star B2B SaaS for team collaboration

```

The command accepts any product description as its argument.

### Step 2: Inject Context

The execution engine replaces the `$ARGUMENTS` placeholder in [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) (line 37) with your supplied description. This creates a complete prompt that provides the LLM with full business context.

### Step 3: Classify and Validate

The skill runs three sequential operations:

- **Business Game Classification**: Categorizes your product into one of three games—**Attention**, **Transaction**, or **Productivity**—using the definitions at lines 27-31 of [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md)
- **Candidate Generation**: Proposes 2-3 North Star metric candidates
- **Validation**: Tests each candidate against **seven criteria** (lines 42-51) including "Easy to Understand," "Customer-Centric," and "Sustainable Value"

### Step 4: Extract Input Metrics

For the selected North Star, the skill identifies 3-5 **input metrics** that directly drive the outcome (lines 53-57). These represent the ownable levers your team can pull to influence the North Star.

### Step 5: Render the Report

The command template (lines 59-98) assembles a markdown document containing:

- Validation tables for each criterion
- Input metrics with definitions
- A metrics constellation diagram
- Next-step recommendations

## Practical Implementation Examples

### Basic Command Usage

Run the command from any PM Skills interface:

```text
/north-star Consumer fitness app monetized through subscriptions

```

The output follows the template defined in [`north-star.md`](https://github.com/phuryn/pm-skills/blob/main/north-star.md):

```markdown

## North Star Framework: Consumer fitness app

**Business Game**: Productivity

### North Star Metric

**Metric**: Weekly Active Workouts Completed
**Definition**: Number of distinct users who log a completed workout at least once per week

| Criterion            | Pass? | Notes                                         |
|----------------------|-------|-----------------------------------------------|
| Easy to Understand   | Y     | Clear action ("completed workout")            |
| Customer-Centric     | Y     | Reflects value delivered to user              |
| Sustainable Value    | Y     | Correlates with long-term retention         |

```

### Programmatic Invocation

Embed the skill in a custom Node.js bot using the toolkit API:

```javascript
import { runCommand } from '@pm-toolkit/cli';

async function defineNorthStar(productDesc) {
  const result = await runCommand('/north-star', productDesc);
  return result.markdown;   // Structured report ready for display
}

defineNorthStar('Marketplace for freelance designers');

```

The `runCommand` helper internally loads [`north-star.md`](https://github.com/phuryn/pm-skills/blob/main/north-star.md), substitutes `$ARGUMENTS`, and returns the structured markdown payload.

### Integrating with OKRs

Copy the generated tables directly into your OKR tracker:

```markdown

# Q3 OKR – Growth

**Objective:** Grow product-value adoption

- **Key Result 1:** Increase Weekly Active Workouts (North Star) from 5,000 to 8,000
- **Key Result 2:** Boost "Workout Completion Rate" (input metric) by 15%
- **Key Result 3:** Reduce "Time-to-First-Workout" (counter-metric) to < 24 hours

```

## Summary

- **Customer-centric focus**: The [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) prompt enforces that your North Star captures value delivered to the customer, not vanity metrics or raw revenue.
- **Actionable levers**: The requirement for 3-5 input metrics provides a clear map of ownable metrics that drive the North Star.
- **Repeatable process**: The `/north-star` command can be run quarterly or whenever your business model shifts, ensuring the metric stays aligned with product strategy.
- **Three-layer architecture**: Implementation spans [`pm-marketing-growth/skills/north-star-metric/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-marketing-growth/skills/north-star-metric/SKILL.md), [`pm-marketing-growth/commands/north-star.md`](https://github.com/phuryn/pm-skills/blob/main/pm-marketing-growth/commands/north-star.md), and the `pm-toolkit` execution engine.

## Frequently Asked Questions

### What are the three business games used for classification?

The skill classifies products into **Attention** (content/engagement platforms), **Transaction** (marketplaces/e-commerce), or **Productivity** (tools that help users create output) as defined in [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) lines 27-31. This classification ensures the proposed North Star matches your fundamental value proposition.

### How does PM Skills validate North Star candidates?

Each candidate is evaluated against seven criteria explicitly defined in the skill prompt: Easy to Understand, Customer-Centric, captures Sustainable Value, Actionable, Measurable, not a Vanity Metric, and aligned with the Business Game. The validation table in the output shows pass/fail status for each criterion with explanatory notes.

### Can I customize the number of input metrics generated?

The skill template in [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) (lines 53-57) is optimized to return 3-5 input metrics. While you can modify the source file to request more or fewer metrics, the current implementation targets this range to maintain focus on the highest-impact levers without overwhelming the team with too many variables.

### Where does the LLM prompt live in the repository?

The core prompt logic resides in [`pm-marketing-growth/skills/north-star-metric/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-marketing-growth/skills/north-star-metric/SKILL.md). The command wrapper that handles user input and formatting is located at [`pm-marketing-growth/commands/north-star.md`](https://github.com/phuryn/pm-skills/blob/main/pm-marketing-growth/commands/north-star.md). The execution engine that processes these files is documented in [`pm-toolkit/README.md`](https://github.com/phuryn/pm-skills/blob/main/pm-toolkit/README.md).