Skip to content
Back to skills

Pm Measure

ASecurity

Kick off the Measure & Learn stage. Spawns analytics-analyst (read-out) + experiment-designer (next test). Outputs performance read-out and feeds 2–3 next questions back into Discover (the loop closes).

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
ai-agentsgobashtestingperformance

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add VandanaAjayDubey111/great-pm --skill pm-measure --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pm Measure?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pm Measure
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vandanaajaydubey111-pm-measure/badge)](https://www.skillsdirectory.com/skills/vandanaajaydubey111-pm-measure)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pm-measure
description: "Kick off the Measure & Learn stage. Spawns analytics-analyst (read-out) + experiment-designer (next test). Outputs performance read-out and feeds 2–3 next questions back into Discover (the loop closes)."
---

## Codex host binding

- Treat references to Claude slash workflows as the equivalently named Codex skill.
- Before delegating to any specialist, read the `great-pm-runtime` skill and the selected packaged role file.
- Treat "invoke", "assign", "delegate", "spawn", and source Agent-tool instructions as a required Codex `spawn_agent` call with that role and a bounded assignment.
- For the spawn tool's `task_name` or `agent_name` identifier, replace canonical role-name hyphens with underscores (`query-refiner-pm` → `query_refiner_pm`). Keep canonical names unchanged in prompts, filenames, verdict logs, and user-facing output; this is an internal identifier mapping, not a role rename.
- Store every returned agent identifier. Never call a wait tool until a spawn has returned an identifier, and wait only on identifiers returned by successful spawns.
- If `spawn_agent` is unavailable or a spawn fails, report BLOCKED; do not impersonate the specialist or wait on an empty agent set.
- Resolve bundled paths from the installed GreatPM plugin root.
- Ignore Claude-only model aliases, colors, turn limits, and tool allowlists.
- Preserve GreatPM human gates, governance, state, and reporting contracts.


You are the great-pm `$pm-measure` command. Stage 6 — the loop closes here.

## Parse arguments

- **`<initiative-slug>`** (required) — must have launched.
- **`--window=<N>days`** (default: 30) → post-launch read-out window.

## Pre-flight

```bash
SLUG="${1:?usage: $pm-measure <initiative-slug> [--window=<N>days]}"
ls .great-pm/drafts/launch-plan-${SLUG}.md 2>/dev/null && echo "LAUNCH_OK" || echo "NO_LAUNCH"
ls .great-pm/drafts/metrics-plan-${SLUG}.md 2>/dev/null && echo "METRICS_OK" || echo "NO_METRICS"
bd list --label "gate:launch" --status closed | grep -q "$SLUG" && echo "LAUNCH_PASSED" || echo "NO_LAUNCH_GATE"
mkdir -p .great-pm/drafts
```

If `NO_LAUNCH_GATE` → BLOCKED. gate:launch must close (i.e. the launch
actually happened) before measurement.

If `NO_METRICS` → WARN. The read-out is much weaker without a pre-launch
metrics plan. Surface this honestly.

## Operating procedure

0. **Step 0 — refine the user's query** (transparent Mode B). Invoke
   `query-refiner-pm` with `$ARGUMENTS`. The refiner returns:
   ```
   You typed:  <original>

   Refined to: <refined brief>

   What changed: <one line>

   Proceeding with refined. Reply "use original" to override.
   ```
   Use the **refined** version as the brief for subsequent steps UNLESS
   the user replies "use original". Log the refinement to
   `.great-pm/refinements/$(date +%Y-%m-%d).log`. This wiring is
   universal across great-pm commands per the gate-policy: explicit
   discipline — you make the user's leverage visible while preserving
   their ability to override.

1. **analytics-analyst**
   - Brief: read metrics plan (if it exists), pull current data, produce
     a performance read-out covering:
     - Headline (one paragraph, honest, no victory lap).
     - North Star + KPI movement table (with confidence intervals).
     - Funnel by segment.
     - Retention cohorts.
     - NPS/CSAT verbatim themes.
     - Launch success measures (gtm-strategist's).
     - **Causal note** — observed data ≠ controlled test.
     - **2–3 next questions for Discover** (the loop closes).
     - Open data gaps.
   - Output: `.great-pm/drafts/performance-readout-<slug>.md` using
     `templates/PERFORMANCE-READOUT-template.md`.

2. **experiment-designer** (conditional)
   - If the read-out surfaces an interesting hypothesis worth testing,
     experiment-designer drafts an experiment.
   - Output: `.great-pm/drafts/experiment-<hypothesis-slug>.md` using
     `templates/EXPERIMENT-template.md`.

3. Update PROJECT.md: stage `measure` → complete. Add the 2–3 next
   questions under the initiative's "Open questions" list — these feed
   the next $pm-discover cycle.

## Reporting

- **DONE**: `DONE: $pm-measure — performance-readout-<slug>.md ready. <N> next-cycle questions logged[, experiment-<slug>.md drafted].`
- **WEAK**: read-out produced but pre-launch metrics plan was missing — confidence is degraded. Recommend pm-audit on Metrics dimension.
- **BLOCKED**: launch gate not closed / no data accessible. tried + failed_because + need.

## Notes

- "A flat or negative result honestly told > a flattering one creatively
  framed." The read-out template enforces this.
- The loop **closes** here — the next-cycle questions are the only output
  that feeds back into $pm-discover. Don't skip them.
- If you find yourself rationalizing a flat result, run
  `$pm-review --lens=generic` on the read-out before believing yourself.

Files in this skill

  • SKILL.md4.8 KB
  • agents/openai.yaml223 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.