plugins/pm/skills/impact-sizing/SKILL.md
Quantify feature value with driver trees, confidence levels, and the 4-step sizing framework.
npx skillsauth add coalesce-labs/catalyst impact-sizingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Systematically estimate the impact of a feature using the 4-step framework.
Automatic Context Checks: When this skill is invoked, immediately check:
| Source | Files/Folders | Search Terms | What to Extract |
| --------------- | ---------------------------------------------- | ------------------------------------- | --------------------------------------- |
| Current PRD | thoughts/shared/pm/prds/*.md | feature name from chat | User impact, problem severity |
| User Research | thoughts/shared/pm/*.md | feature problem, user quotes | Addressable users, pain severity |
| Business Model | thoughts/shared/pm/context/business-info-template.md | pricing, revenue model, TAM | Revenue impact drivers |
| Historical Data | thoughts/shared/pm/metrics/*.md | similar features, baseline conversion | Reference adoption rates |
| Strategy | thoughts/shared/pm/frameworks/*.md | feature strategic fit | Resource availability, priority context |
Context Priority:
Cross-Skill Links:
/impact-sizing (this skill)/experiment-decision/write-prod-strategy/feature-metrics and /metrics-frameworkBefore we estimate impact, let me check what context exists...
Checking:
thoughts/shared/pm/prds/ for the feature definitionthoughts/shared/pm/ for user research on this problemthoughts/shared/pm/context/business-info-template.md for business model contextthoughts/shared/pm/metrics/ for comparable feature dataBased on what I find, I'll show you:
Feature Definition:
User Impact:
Business Context:
Create a funnel from exposure to usage:
Total users who see feature: [number]
↓ (Drop-off: [reason])
Users eligible for feature: [number]
↓ (Drop-off: [reason])
Users who engage: [number]
↓ (Drop-off: [reason])
Users who complete action: [number]
Gotchas to consider:
Progress through three levels:
Engagement Impact:
Top-Line Impact:
Bottom-Line Impact:
For each assumption, assess risk and plan mitigation:
| Assumption | Confidence | Risk | De-risking Action | | ------------ | ------------ | --------------- | ----------------- | | [Assumption] | High/Med/Low | [Risk if wrong] | [Action] |
Common de-risking actions:
Three buckets:
When PM types /impact-sizing, respond:
Let's size the impact of your feature. I'll walk you through the 4-step framework.
**Step 1: Estimate Usage**
- What feature are we sizing?
- Who sees this feature? (total addressable users)
- What are the steps from seeing → using?
Once you share this, I'll help build the funnel and calculate impact.
# Impact Sizing: [Feature Name]
## Usage Funnel
| Stage | Users | Drop-off Rate | Reason |
| ----------- | ----- | ------------- | -------- |
| See feature | [X] | - | - |
| Eligible | [X] | [Y%] | [reason] |
| Engage | [X] | [Y%] | [reason] |
| Complete | [X] | [Y%] | [reason] |
## Impact Estimates
**Engagement Impact:**
- Metric: [metric]
- Current: [baseline]
- Expected change: [+/- X%]
- Confidence: [High/Med/Low]
**Top-Line Impact:**
- Metric: [revenue/GMV]
- Expected change: [$X / +Y%]
- Confidence: [High/Med/Low]
**Bottom-Line Impact:**
- Metric: [margin/LTV]
- Expected change: [$X / +Y%]
- Confidence: [High/Med/Low]
## Confidence Assessment
| Assumption | Confidence | De-risking Action |
| ------------ | ---------- | ----------------- |
| [assumption] | [level] | [action] |
## Recommendation
[Proceed / De-risk first / Deprioritize]
Rationale: [why]
Connect feature to business metrics:
Feature: [Name]
↓
[Engagement metric] +X%
↓
[Conversion metric] +Y%
↓
[Revenue metric] +$Z
↓
[Profit metric] +$W
Impact sizing analysis:
thoughts/shared/pm/analyses/impact-sizing-[feature-name]-[date].mdStrategic Fit sectionAfter sizing impact:
Feeds into:
/prd-draft - Impact sizing goes into "Strategic Fit" section/write-prod-strategy - Feature impact informs strategic pillar priorities/feature-metrics - Usage estimates inform what metrics can detect changes/experiment-decision - Impact size determines experiment duration/sample sizePulls from:
thoughts/shared/pm/ - User pain and adoption patterns/user-research-synthesis - Qualitative insights about addressable usersthoughts/shared/pm/metrics/ - Historical data on similar featuresBefore presenting output to the PM, verify:
thoughts/shared/pm/analyses/impact-sizing-[feature-name]-[date].mdthoughts/shared/pm/context/business-info-template.md, thoughts/shared/pm/frameworks/, and thoughts/shared/pm/metrics/ for relevant contextthoughts/shared/pm/frameworks/development
Migrate a single-harness repo to the dual-harness layout so both Claude Code and Codex load the same instructions and skills — AGENTS.md as the portable canonical doc, a thin CLAUDE.md `@AGENTS.md` bridge, and a `.agents/skills` dir with a `.claude/skills` symlink onto it. Use when asked to migrate to dual-harness, make this repo work in both Claude and Codex, or for agent metadata cleanup.
tools
Goal-driven senior-engineer pipeline-unstick sweep (CTL-1176 rung 3). Given the stuck/failed/needs-human set (or ONE ticket handed by the recovery router), its GOAL is to get the pipeline MOVING again — not to fix one ticket's review findings (that is phase-remediate). It runs AFTER the eyes (diagnostician evidence) and the hands (deterministic unstuck-sweep seams) have already tried, and it CONSUMES their output from a recovery-pass.json brief rather than re-diagnosing or redoing their narrow work. It acts like a senior engineer with full tool access — it resolves merge conflicts, rebases, force-pushes, merges green PRs, and re-dispatches stalled phases AUTONOMOUSLY — and escalates to the operator ONLY for a genuine value judgment / something that degrades other functionality / a real cost-benefit trade-off / a serious architecture change / an ADR conflict. On escalation it AUTHORS the operator inbox row + the push notification (executive-voiced). Dispatched as a `claude --bg` job by phase-agent-dispatch via slash command, AND invocable bare by the operator as a sweep — hence `user-invocable: true`. Ships behind CATALYST_RECOVERY_PASS (off by default — no live behavior change until shadow/enforce).
tools
Diagnose and fix Catalyst setup issues. Validates tools, database, config, OTel, direnv, and thoughts. Automatically fixes what it can — creates directories, initializes the database, sets WAL mode, runs migrations. Use for new installs, upgrades, or when something isn't working.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies genuine blockers (a semantic second-pass over the backlog — NOT a prose scrape; CTL-838), estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.fai