alenazaharovaux/share/pmf
Claude Code and agent skill by alenazaharovaux/share
- community
Checking that the SKILL.md file is still in the repository.
Full product-market fit cycle for one product — from initial hypothesis to post-launch metrics. 10 stages: setup → hypothesis (7 dimensions) → market research → risk synthesis → DVF validation → interview prep → field → interview synthesis → MVP → metrics (Sean Ellis + retention + Levels of PMF) → iterate. Resumes between sessions based on the project folder state. Bilingual (English + Russian) — picks the language during first-run setup. TRIGGER on ANY: - "do PMF for [product]" / "I need produ…
Install
npx vskill@latest install alenazaharovaux/share/pmfSKILL.md
PMF — Product-Market Fit Engine
This skill takes a product through the full product-market fit cycle. One skill = one orchestrator, not a bundle. All 10 stages live inside it. The skill figures out which stage the project is in and proposes the next step.
A PMF cycle takes months. The skill accepts that pace: it resumes between sessions, remembers where you left off, and does not rush.
⛔ Critical rules
- No subagents for research. Stage 2 (market research) is done sequentially in the main session via Exa/WebSearch. The user sees every search and every result and can intervene. Researching analogs is substantive work, not "file lookup."
- The PMF projects folder is configurable. Stored in
~/.claude/skills/pmf/config.md. Default:~/pmf-projects/. The skill writes everything for a given product into<projects_path>/<product-slug>/. Not CWD, not somewhere else.
- Confidence can decrease. That is normal. If the confidence in narrative-v2 is lower than v1 — the data is contradicting the hypothesis, and that is a useful signal, not a reason to inflate the number.
- Terminology: "assumption" (not "hypothesis") in Stage 4. In stages 1–3 — "hypothesis." In stage 4 with DVF — only "assumption." This is methodologically important (David Bland).
- Tone is calm. No exclamation marks, no dramatization. The user is doing PMF not to be cheered on, but to understand what works and what does not.
- Stages 6 (interviews) and 8 (MVP) are outside the skill. The skill prepares the guide / gives metrics instructions, but does NOT try to "conduct interviews" or "launch an MVP." This is the user's work in the real world, weeks or months.
Step 0 — Configuration (first run)
On every trigger, before doing anything else, the skill reads its config:
Expected format:
If config.md does not exist OR is missing values
Ask the user, one question at a time. Each question can be skipped (the default is used).
Question 1 — Language:
"What language should we work in for this skill — English or Russian? (default: English)"English: skill communicates in English, references loaded fromreferences/en/.Russian / Русский: skill communicates in Russian, references loaded fromreferences/ru/.
Question 2 — Projects path:
"Where do you want PMF projects stored? (default:~/pmf-projects/)"Examples:-~/pmf-projects/(default — home folder)-~/Documents/PMF/-D:/Work/PMF/(Windows)-/Users/me/Projects/PMF/(macOS)The skill creates one subfolder per product inside this path.
Save the config: After both answers (or skips → defaults), write ~/.claude/skills/pmf/config.md with the chosen values. Confirm to the user: "Config saved. Default language is <lang>, projects folder is <path>. You can change this anytime by editing the file."
If config.md exists
Read it. Use those values for the rest of the session. All references must be loaded from `references/<language>/...`. All communication happens in the configured language.
Step 1 — Auto-start (what the skill does first on every trigger after config)
1a. Read the listing of the projects folder
- Folder does not exist → create it (
mkdir) - Folder is empty → no active projects
- Subfolders exist → each = one active PMF project (product slug)
1b. Parse the user's intent
| Trigger phrase | Action | ||||
|---|---|---|---|---|---|
| "Do PMF for [new name]" / "new PMF for [X]" | Create project, go to Stage 0 (Setup) | ||||
| "Do PMF" (no name) | Ask for product name and slug | ||||
| "Continue PMF" (no name) | 0 projects → offer to create; 1 → continue; >1 → show list, ask which | ||||
| "PMF [name]" / "continue PMF [name]" | Find project [name] in the listing, continue from its current stage. If not found — show what exists, offer to create | ||||
| "What stage" / "show my PMF projects" / "PMF status" | Show table: project \ | stage \ | last updated \ | next action. Do not move forward, wait for user choice |
1c. Determine the stage of the chosen project from folder contents
Check files in priority order (later stages first):
| File found | Stage | |
|---|---|---|
metrics-dashboard.md | Stage 9 done (or Stage 10 if iteration-changelog.md exists) | |
interview-synthesis.md + narrative-v3.md | Stage 7 done → waiting for Stage 8 (MVP launch) or jump to Stage 9 | |
interviews/notes/*.md ≥ 1 file | Stage 6 (field in progress or done), ready for Stage 7 | |
interview-guide.md | Stage 5 done → waiting for Stage 6 (field) | |
assumptions-map.md | Stage 4 done, ready for Stage 5 | |
risk-prioritization.md + narrative-v2.md | Stage 3 done, ready for Stage 4 | |
market-research.md | Stage 2 done, ready for Stage 3 | |
narrative-v1.md | Stage 1 done, ready for Stage 2 | |
00_setup.md | Stage 0 done, ready for Stage 1 | |
| Folder empty or just created | Stage 0 (setup needed) |
1d. Show status and ask for the next action
Output format:
After the user agrees — move to the chosen stage.
Step 2 — Setup (Stage 0)
When it runs: auto-start found an empty folder or an explicit "new PMF for X." If 00_setup.md already exists in the folder — Stage 0 is skipped.
Goal: collect basic product and team context before working on the hypothesis. Short stage (10–20 minutes).
What is collected:
- Product name and folder slug
- Product type (B2C / B2B / Marketplace / DTC / Services / Internal / Other)
- Organizational context (Zero-to-one / Established / Extension)
- Team Pre-Flight Check (3 questions: Founder-Market Fit, Skill gaps, Conviction-flexibility) → risk flag
Artifact: 00_setup.md in the project folder.
The Pre-Flight Check happens HERE, not in Stage 1. It is about the team, not the product. Stage 1 will read the finished results from 00_setup.md and copy them into the narrative.
Detailed logic, the `00_setup.md` template, quality gates, common pitfalls: references/<lang>/stage-0-setup.md.
Pipeline overview — 10 stages
| # | Stage | Goal | Artifact | |
|---|---|---|---|---|
| 0 | Setup | Product context (type, org, team) | 00_setup.md | |
| 1 | Hypothesis | Hypothesis across 7 dimensions + confidence scores | narrative-v1.md | |
| 2 | Market research | Analogs (successes) + antilogs (failures) per dimension | market-research.md | |
| 3 | Synthesis | Risk scoring + cross-fit + narrative V2 | risk-prioritization.md, narrative-v2.md | |
| 4 | Validate (DVF) | 9 assumptions from the riskiest dimension + 2×2 map + experiment | assumptions-map.md, experiment-brief.md | |
| 5 | Interview prep | Guide for in-depth interviews | interview-guide.md | |
| 6 | [Field] | Outside the skill. The user runs 15–20 interviews. | interviews/notes/*.md | |
| 7 | Interview synthesis | Patterns from notes → narrative V3 | interview-synthesis.md, narrative-v3.md | |
| 8 | [MVP launch] | Outside the skill. The user launches the MVP. | — | |
| 9 | Metrics | Sean Ellis + retention cohorts + Levels of PMF | metrics-dashboard.md | |
| 10 | Iterate | Decision: continue / iterate / pivot | iteration-changelog.md |
For the stage-to-stage transition map, see references/<lang>/pipeline-overview.md.
Step 3 — Hypothesis (Stage 1)
Goal: turn the product idea into a structured hypothesis across 7 PMF dimensions with honest confidence scores.
7 dimensions (detail — references/<lang>/7-dimensions.md):
- Problem to Solve — outcome-motivation gap
- Target Audience — 2-3 defining attributes, Now vs Future segments
- Value Proposition — tagline + 3-5 benefits (not features)
- Competitive Advantage — one of the 7 Powers (Helmer)
- Growth Strategy — short-term traction (first 1K) ≠ long-term sustainable (100K+)
- Business Model — equation, pricing, LTV, cost structure
- Timing / Why Now — what changed, why now in particular
Before dimensions: Team Pre-Flight Check — 3 questions (references/<lang>/stage-1-hypothesis.md).
After dimensions: confidence assessment 1–10 for each + identification of the riskiest.
Artifact: narrative-v1.md from the template references/<lang>/template-narrative.md (structured) or references/<lang>/template-narrative-prose.md (prose, for stakeholders).
Detailed stage logic: references/<lang>/stage-1-hypothesis.md.
Step 4 — Market Research (Stage 2)
Goal: find analogs (successful companies validating the dimension) and antilogs (known failures on the dimension) for each of the 7 dimensions.
Method: sequentially via Exa (preferred) or WebSearch (fallback). Per dimension — 3-5 analogs and 2-3 antilogs. Total ~14-21 searches.
Adaptive threshold:
- Mature markets (SaaS, e-commerce, marketplace): analog = $10M+ revenue
- Emerging markets (AI, web3, new categories): analog = $1M+ ARR or 10K+ active users
⛔ Do NOT use the Agent tool / subagents. Search is done by direct calls to mcp__exa__web_search_exa or WebSearch in the main session. This is a hard rule.
Artifact: market-research.md from the template references/<lang>/template-market-research.md.
If context overflows: split into 2 passes (dim 1-4 in one session, dim 5-7 in the next). This is normal for a months-long cycle.
Detailed logic and search strategies per dimension: references/<lang>/stage-2-research.md.
Step 5 — Synthesis (Stage 3)
Goal: condense the research into risk-prioritization, identify the riskiest dimension, update the narrative to V2.
Risk scoring formula:
Failure Impact defaults (can be recalibrated for the specific product):
| Dimension | Default Impact | |
|---|---|---|
| Problem to Solve | 4 (Critical) | |
| Target Audience | 3 (High) | |
| Value Proposition | 2 (Medium) | |
| Competitive Advantage | 2 (Medium) | |
| Growth Strategy | 3 (High) | |
| Business Model | 4 (Critical) | |
| Timing / Why Now | 3 (High) |
Cross-fit analysis (mandatory):
- Channel-Model Fit — does the growth channel fit the business model? (example conflict: enterprise sales + freemium pricing)
- Model-Market Fit — does the business model fit the target audience? (example conflict: subscription for an audience that does not pay for software)
Artifacts:
risk-prioritization.md(from the templatereferences/<lang>/template-risk-prioritization.md)narrative-v2.md(an update of V1 based on research data, with an explicit version history changelog)
Decision tree after synthesis:
- Overall confidence > 7 + a riskiest dimension exists → Stage 4 (validate the riskiest) or jump to Stage 5 (interviews)
- Overall confidence 4–7 → Stage 4 is mandatory
- Overall confidence < 4 → return to Stage 1 (rethink hypothesis) or do more research
Detailed logic: references/<lang>/stage-3-synthesis.md.
Step 6 — Validate / DVF (Stage 4)
Goal: take the riskiest dimension, decompose it into 9 assumptions across DVF (Desirability × Viability × Feasibility), prioritize via a 2×2 (importance × evidence), and design an experiment for the riskiest assumption.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/pmf/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/alenazaharovaux/share/pmf)