Skip to content
Back to skills

Pipeline Steps

ASecurity

Detailed instructions for each pipeline step (0-18). Read this when PM calls a specific pipeline command like /analyze-cjm, /validate-problems, etc.

  • 13 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
documentationpythongosqlrailsgitapiperformance

Works with

  • cli
  • api
  • mcp

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned May 27, 2026

npx -y skills add lenar-amirov/product-pipeline-public --skill pipeline-steps --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pipeline Steps?

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

Security grade badge for Pipeline Steps
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lenar-amirov-pipeline-steps/badge)](https://www.skillsdirectory.com/skills/lenar-amirov-pipeline-steps)

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: pipeline-steps
description: Detailed instructions for each pipeline step (0-18). Read this when PM calls a specific pipeline command like /analyze-cjm, /validate-problems, etc.
---

# Pipeline Step Instructions

Read the relevant step below when PM invokes a pipeline command.

---

## STEP 0 — `/setup-initiative` (Core)

**Type**: PM fills with AI guidance
**Output**: filled `CONTEXT.md` + `pipeline_config` in status.json
**Skills**: `setup-initiative` + `ambiguity-resolver` (if brief is vague)

Guide PM through alignment checklist:
1. Outcome: metric, baseline → target
2. Stakeholders: decision-maker, influencer, blocker
3. OKR alignment
4. Constraints: timeline, budget, team, tech
5. Success criteria
6. Kill criteria
7. User segment: who, how many, where
8. Available data: analytics, CJM, research, feedback
9. Tracker: Jira/Linear/GitHub/None + project key
10. Pipeline config: choose template or custom steps

After checklist — write CONTEXT.md and set pipeline_config in status.json.

---

## STEP 1 — `/analyze-cjm` (Core)

**Type**: Autonomous
**Input**: `CONTEXT.md` + `/CJM/` materials
**Output**: `output/hypotheses.md`
**PRD**: → §1, §2
**Skills**: `consulting-problem-solving` (MECE) + `user-persona-builder`

⚠️ Only PROBLEM hypotheses. No solutions.

**Readiness check** — before starting verify CONTEXT.md has:
- Metric + baseline (grounds hypotheses)
- Segment + size (assess Impact)
- "Why now" (justify Report)

If critical fields empty — ask PM, don't start.

**No CJM screenshots? Don't block.** Offer the PM 3 options:
- (a) "Describe the user journey in the chat — I'll work from your description (mark hypotheses INFERRED, confidence 0.3-0.5)"
- (b) "Take 5 minutes to capture screens — paste links or save to `CJM/` and I'll wait"
- (c) "Skip CJM analysis — go straight to /synthetic-research from CONTEXT.md alone"

Pick the path with the PM, then proceed.

1. Read `CONTEXT.md`
2. Analyze CJM materials if present (PNG/JPG directly, .fig via Figma MCP, .pdf via Read).
   If no CJM — work from PM's verbal description; mark each hypothesis as INFERRED.
3. For each step: what user sees, does, where friction occurs
4. Use MECE structure from `consulting-problem-solving`
5. Form 5-15 problem hypotheses in `output/hypotheses.md`
6. Create 2-3 initial personas from `user-persona-builder`
7. Add `## Blind spots` — what's unclear (especially valuable when no CJM was provided)
8. Fill PRD §1, §2

---

## STEP 2 — `/synthetic-research` (Recommended)

**Type**: Autonomous
**Input**: `CONTEXT.md` + `output/hypotheses.md`
**Output**: `research/synthetic-interviews.md` + updated hypotheses
**Skills**: `user-persona-builder`

⚠️ Only PROBLEM hypotheses. Don't ask about desired solutions.
Evidence typing: SYNTHETIC (confidence 0.2-0.4).

**Part A — applicability check:**
NOT applicable if: rare expertise needed, physical context matters, sensitive topic, high stakes.
→ If not applicable: Part C. If applicable: Part B.

**Part B — synthetic interviews:**
1. 4-5 personas: different patterns, context, experience
2. Problem interview: 5-7 questions per persona, "quotes"
3. Synthesis: patterns in 3+ personas → high priority
4. Update `output/hypotheses.md`

**Part C — real research task:**
Create `research/qual-research-brief.md` with justification + interview guide.

---

## STEP 3 — `/competitor-research` (Recommended)

**Type**: Autonomous
**Input**: `CONTEXT.md` + `output/hypotheses.md`
**Output**: `research/competitive-analysis.md` + `research/competitive/`
**PRD**: → §5
**Skills**: `consulting-problem-solving`

Look for **scenario analogues** — products where similar problem is solved.

1. 3-5 search queries (local + English)
2. WebSearch: competitors, analogous scenarios, best practices
3. For each: name, scenario, mechanism, link, insight
4. Materials in `research/competitive/`, summary in `research/competitive-analysis.md`
5. Show PM, ask what to add
6. Fill PRD §5

---

## STEP 4 — `/generate-research` (Recommended)

**Type**: Autonomous
**Input**: `CONTEXT.md` + `output/hypotheses.md`
**Output**: `research/analytics-brief.md` + `research/survey-questions.md`
**Skills**: `funnel-analysis-builder` + `product-analytics-setup` + `usability-test-plan`

1. For each hypothesis — what data needed
2. `research/analytics-brief.md`: goals, metrics, funnels, event schema
3. `research/survey-questions.md`: screening + problem block, ≤12 questions, sample size
   - Don't ask "would you like feature X"

**Tracking**: activate `pending.analytics_brief` and `pending.survey_brief`.

---

## STEP 5 — `/create-survey-audience` (Optional)

**Type**: Autonomous
**Input**: `research/survey-questions.md`
**Output**: `research/survey-audience-brief.md`
**Skills**: `funnel-analysis-builder` + `product-analytics-setup`

1. Translate screening questions into behavioral analytics signals
2. `research/survey-audience-brief.md`: criteria, period, format, SQL pseudocode

**Tracking**: activate `pending.audience_brief`.

---

## STEP 5.5 — Customer Research Pause (Recommended)

**Type**: Pause — PM conducts real research
**Output**: `research/analytics-data.md` + `research/survey-results.md` + `research/interview-notes.md`

PM conducts real research: analytics, survey, 5-8 interviews (Teresa Torres).
Dashboard tracks pending items. Resume at step 6 when data arrives.

---

## STEP 6 — `/validate-problems` (Core)

**Type**: Autonomous (when data arrives)
**Input**: `output/hypotheses.md` + research data
**Output**: `output/validated-hypotheses.md`
**PRD**: → §3, §4
**Skills**: `funnel-analysis-builder` + `consulting-problem-solving` + `multi-source-signal-synthesiser`

Three sub-steps (PM chooses how many):

**6a. Quick signal** (Core) — analytics confirm/deny?
- Input: analytics-data.md → confidence REAL 0.6-0.8

**6b. Survey validation** (Recommended) — quantitative
- Input: survey-results.md → confidence REAL 0.8-0.9

**6c. Interview validation** (Optional) — qualitative depth
- Input: interview-notes.md → confidence REAL 0.9-1.0

For each hypothesis: ✅/❌/⚠️, evidence, recalculated SIF.
Pyramid principle: data → insight → conclusion → recommendation.

**Branching**: confirmed → step 7 | partially → narrow | none → step 1 | insufficient → repeat

---

## STEP 7 — `/solution-hypotheses` (Core)

**Type**: PM chooses
**Input**: `output/validated-hypotheses.md`
**Output**: `output/solution-hypotheses.md`
**PRD**: → §6
**Skills**: `product-discovery-template`

1. For each ✅ problem: 2-3 solution hypotheses with assumption map
2. Comparative table with ICE, top-1 recommendation
3. Business viability check per hypothesis:
   - Unit economics, cannibalization, dependencies, compliance, effort S/M/L
4. Fill PRD §6

---

## STEP 8 — `/sketch-solution` (Core)

**Type**: PM comments
**Input**: `output/solution-hypotheses.md`
**Output**: `output/solution-sketch.md`
**PRD**: → §6 update, §7
**Skills**: `ui-pattern-library`

1. Select UI patterns, create `output/solution-sketch.md`: screens, elements, user flow
2. Figma MCP if connected
3. Update PRD §6, fill §7

---

## STEP 8.5 — `/user-test-concept` (Optional)

**Type**: Pause — PM conducts test
**Input**: `output/solution-sketch.md`
**Output**: `research/concept-test-results.md`
**Skills**: `user-test-concept`

Generate: concept test scenario (15 min, 3-5 users), questions per screen, success/fail criteria.
PM conducts → enters results → hypotheses updated with REAL evidence.

---

## STEP 9 — `/review-design` (Recommended)

**Type**: PM comments
**Input**: comments + `output/solution-sketch.md`
**Output**: updated `output/solution-sketch.md`
**Skills**: `design-critique-template`

1. Comments from chat or `output/design-comments.md`
2. Run through heuristics
3. Update, add `## Changelog`

---

## STEP 10 — `/create-presentation` (Core) — Problem Research Report

**Type**: Autonomous
**Input**: `output/PRD.md` + `output/solution-sketch.md` + `research/competitive-analysis.md`
**Output**: `output/presentation.md` + `output/presentation.pptx`
**Skills**: `strategic-narrative-generator`

Read template: `template/slides/Problem Research Report Template.pptx.pdf` (if exists).

Structure: Title → Context → Problem → AS IS → Hypothesis → Solution → Estimate

For each slide: title, bullets, speaker notes, sources.
After `presentation.md` run `python3 tools/scripts/generate-pptx.py {initiative-folder}`.
If the script fails (no `python-pptx`), tell PM: "PPTX generation needs `pip install python-pptx`. The markdown is ready at `output/presentation.md` — you can convert it manually or install python-pptx and re-run." Don't block.

**Tracking**: activate `pending.gate1_challenge`.

---

## STEP 11 — `/create-design-brief` (Recommended)

**Type**: Autonomous → Pause
**Output**: `output/design-brief.md` + (optional) `output/ux-research-brief.md`
**Skills**: `usability-test-plan`

**Tracking**: activate `pending.design_brief`.

---

## STEP 12 — `/estimate-with-dev` (Core)

**Type**: Pause — dev lead fills
**Output**: `output/dev-estimate.md`
**PRD**: → §9, §10
**Skills**: `system-design-doc` + `technical-spec-document`

---

## STEP 13 — `/finalize-prd` (Core)

**Type**: Autonomous
**Output**: updated `output/PRD.md`
**Skills**: `product-requirements-doc` + `user-story-generator`

Fill §8 (User Stories), §11 (Open questions). Check consistency. Status → Review.

---

## STEP 14 — `/design-ab-test` (Recommended)

**Type**: PM + analyst
**Output**: `output/ab-test-design.md`
**Skills**: `product-discovery-template` + `funnel-analysis-builder` + `product-analytics-setup`

Calculate: baseline, MDE, sample size, duration, segmentation, guardrails, decision criteria.

---

## STEP 15 — `/create-gate2-presentation` (Core) — Solution Research Report

**Type**: Autonomous
**Output**: `output/gate2-presentation.md` + `output/gate2-presentation.pptx`
**Skills**: `strategic-narrative-generator`

Read template: `template/slides/Solution Research Report Template.pptx.pdf` (if exists).

Structure: Title → Hypothesis → Solution context → Solution → Demo → UX test → Experiment → Estimate

**Tracking**: activate `pending.gate2_challenge`.

---

## `/create-tickets` (after Solution Research Report)

**Type**: Autonomous → PM confirms → Push via MCP
**Input**: `output/PRD.md` + `output/solution-sketch.md` + `output/dev-estimate.md`
**Output**: `output/tickets.md` + tickets in tracker (if MCP connected)
**Skills**: `user-story-generator`

**Phase A — Generate markdown:**
1. Read PRD §6-8, dev estimate, solution sketch
2. Structure by tracker (CONTEXT.md → Tracker field): Jira (Epic→Story→Sub-task), Linear (Project→Issue→Sub-issue), GitHub (Milestone→Issue→Tasks)
3. Each ticket: title, user story, acceptance criteria, priority, estimate, dependencies, component
4. Write to `output/tickets.md` — show PM for review

**Phase B — Push via MCP (after PM confirms):**
1. Detect MCP: jira tools → Jira API; linear tools → Linear; gh CLI → GitHub Issues
2. Create parent first, then children with references
3. Save tracker URLs to `output/tickets.md`
4. If no MCP → inform PM, suggest setup (see Tracker integration section in README.md)

---

## STEP 16 — `/analyze-ab-test` (Recommended)

**Type**: Pause (waiting for AB test data) → Autonomous (when data arrives)
**Input**: `output/ab-test-design.md` + `research/ab-test-results.md` (raw test data from analyst)
**Output**: `output/ab-test-analysis.md`
**Skills**: `funnel-analysis-builder` + `multi-source-signal-synthesiser`

**External dependency** (optional): if PM has [pm-skills](https://github.com/phuryn/pm-skills) installed, prefer `pm-data-analytics:ab-test-analysis` skill or `/analyze-test` command — it has dedicated stat-sig validation tooling.

When the AB test concludes and data is in `research/ab-test-results.md`, analyze:
1. **Statistical significance**: p-value, confidence interval, sample size validation. Flag if underpowered.
2. **Primary metric**: did it move? Effect size, vs MDE from `ab-test-design.md`.
3. **Guardrails**: did any guardrail metric break? (engagement, churn, error rate, performance)
4. **Segments**: where did it work / not work? Heterogeneous treatment effects.
5. **Counter-metrics**: did anything we feared moved against us?
6. **Decision**: **Ship / Extend / Stop / Iterate** — with explicit reasoning tied to the win criteria from the design.

Evidence typing: REAL, confidence 0.7-0.95 (depending on sample size and stat-sig).

**Branching**:
- Ship → proceed to step 17 `/plan-gtm`
- Extend (need more power) → wait, re-analyze later
- Iterate (partial signal) → back to step 7 with refined hypothesis
- Stop → write retrospective to `output/decisions.md`, mark initiative as `archived` in status.json

**Tracking**: close `pending.ab_test_analysis` if active.

---

## STEP 17 — `/plan-gtm` (Core)

**Type**: Autonomous → PM reviews
**Input**: `output/PRD.md` + `output/ab-test-analysis.md` (if present) + `CONTEXT.md`
**Output**: `output/gtm-plan.md`
**Skills**: `strategic-narrative-generator` (for narrative structure)

GTM plan for **rolling out to existing product users** (this is not net-new product launch — existing users are getting a new feature/initiative).

**External dependency** (optional): if PM has [pm-skills](https://github.com/phuryn/pm-skills) installed, leverage their `pm-go-to-market:gtm-strategy`, `beachhead-segment`, `ideal-customer-profile` skills, or run `/plan-launch` first and adapt.

Plan must cover:

1. **Activation segment**: which subset of current users gets this first? (cohort, behavior, plan tier, geo)
   - Beachhead: smallest segment that proves the value
   - Expansion path: how we go from beachhead → broader rollout
2. **Value proposition for current users**: why should they care? (one sentence, then 3 bullet expansion)
   - Pain it solves for them specifically (different from net-new user value prop)
   - What changes in their workflow
3. **Rollout plan**: phased vs full
   - Phase 1: % users (or named cohort), success criteria, decision gate
   - Phase 2: expansion criteria
   - Full rollout: when, who decides
   - Kill switches: when to pause
4. **Channels** for activation (where current users will encounter the feature):
   - In-app: notification, banner, modal, tooltip, empty state
   - Lifecycle: email, push, SMS
   - Owned: blog, changelog, help center
   - Direct: CSM/sales for high-touch accounts
5. **Success metrics**:
   - Adoption rate (target % of activation segment using feature within X days)
   - Activation funnel (saw → tried → repeated)
   - Retention impact (does it improve the broader retention metric)
   - Counter-metrics to watch (drop in primary engagement, support load)
6. **Risk mitigation**:
   - What if adoption is lower than expected — escalation plan
   - What if support load spikes — staffing plan
   - What if guardrails break — rollback procedure

Show plan to PM for review. After approval, proceed to step 18.

---

## STEP 18 — `/create-gtm-materials` (Recommended)

**Type**: Autonomous → PM reviews each artifact
**Input**: `output/gtm-plan.md` + `output/PRD.md` + `output/solution-sketch.md`
**Output**: `output/gtm-materials.md` (index) + individual material files in `output/materials/`
**Skills**: `ab-test-announcement-wizard` (for communication patterns) + `user-persona-builder` (to tailor copy per segment)

**External dependency** (optional): if PM has [pm-skills](https://github.com/phuryn/pm-skills) installed, leverage `pm-marketing-growth:value-prop-statements`, `positioning-ideas` for richer copy variants.

Generate the actual materials referenced in the GTM plan. For each channel in the plan, produce one ready-to-publish artifact:

1. **In-app**:
   - `output/materials/in-app-notification.md` — first-touch notification (1 line, 1 CTA)
   - `output/materials/in-app-feature-banner.md` — banner copy with persistent display
   - `output/materials/in-app-empty-state.md` — empty-state copy if feature has one
2. **Lifecycle**:
   - `output/materials/email-announcement.md` — subject lines (3 variants), body, CTA
   - `output/materials/push-notification.md` — push copy if applicable
3. **Owned**:
   - `output/materials/blog-post.md` — full blog/changelog entry with screenshots placeholders
   - `output/materials/help-center-article.md` — help doc explaining the feature
4. **Internal enablement**:
   - `output/materials/sales-enablement.md` — talking points for sales/CSM
   - `output/materials/support-faq.md` — anticipated questions + answers (subset of step 19 support brief)
5. **Press/External** (if applicable):
   - `output/materials/press-release.md` — only if this is a notable launch

Each material:
- Tailored to the segment from the GTM plan
- Includes alternative versions where relevant (A/B copy)
- References screenshots/assets needed (placeholders if not yet produced)
- Notes who owns the asset (PM, marketing, design, support)

**Tracking**: activate `pending.gtm_materials_review` until PM signs off.

---

## STEP 19 — `/support-task` (Optional)

**Type**: Autonomous → Pause
**Input**: `output/PRD.md` + `output/solution-sketch.md` + `output/ab-test-design.md` + `output/gtm-plan.md`
**Output**: `output/support-brief.md`

Create support brief: what's changing, who's affected, support scenarios (5-10), FAQ, limitations, timeline, PM contact.

**Tracking**: activate `pending.support_brief`.

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.