idea-to-icp
Skill7 starsChanged 9 months agoMITView on GitHub
Take a messy business idea and work through to structured GTM primitives — Product, ICP segments, value prop, beachhead market, and channel strategy. Use when the user shares a product idea, says 'decompose my idea', 'help me find my ICP', 'who should I sell to', 'idea to ICP', or wants to structure their go-to-market thinking.
In this repository15 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- creative-directionSkill
- find-bugsSkill
- five-whysSkill
- nano-banana-image-genSkill
- self-improvementSkill
- simplifySkill
- tpm-roadmap-sliceSkill
- tpm-spec-trace-idsSkill
- tpm-spec-verifySkill
- ui-design-iterationSkill
- webdev-combobox-autocompleteSkill
- webdev-filter-query-builderSkill
- webdev-token-inputSkill
- youtube-transcriptSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Never skip ahead. If the user jumps to channels before ICP exists, acknowledge their input, park it, and redirect: "Great channel instinct …
- Distinctive: line 67
If user provides rich input that covers multiple phases, extract everything you can and start at the earliest incomplete phase.
- Very specific: line 71
If
$ARGUMENTSis provided: Start Phase 1 extraction immediately. - Distinctive: line 73
If no arguments: Ask:
- Distinctive: line 81
All outputs map to existing Cantrip data models:
- Distinctive: line 103
Use the user's own language.
- Distinctive: line 105
If the user pushes back on an inference, update immediately and acknowledge.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Idea to ICP
Take a messy business idea and work through to structured GTM primitives: Product, ICP segments, value proposition, beachhead market, and channel strategy.
Essential Principles
These principles govern every phase. Never violate them.
1. Dependency Chain is Sacred
Product → ICP → ValueProp → Beachhead → ChannelsNever skip ahead. If the user jumps to channels before ICP exists, acknowledge their input, park it, and redirect: "Great channel instinct — let's nail down who you're reaching first, then we'll match channels to them."
2. Extract Before Asking
Parse whatever the user gives you first. Only ask about critical gaps. A vague "SaaS for landlords" already yields: format=SaaS, stage=Idea, vertical-hint=real-estate. Don't ask what you can infer.
3. Opinionated Defaults Over Blocking
Infer aggressively, mark confidence. Say "I'm inferring X — correct me if wrong" rather than "What is X?" The flow should never block on a non-critical field.
4. Three Segments, One Beachhead
Generate 3-5 ICP hypotheses. User selects/ranks 1-2. One becomes the beachhead — the segment you attack first. This is the critical strategic decision.
5. Completeness States
Align with Cantrip's existing system from src/lib/interview.ts:
| State | Meaning | Marker |
empty | No data | [ ] |
draft | Exists but thin | [~] |
refined | Solid, could be sharper | [+] |
confirmed | User approved | [✓] |
Show these inline throughout all outputs.
6. Concise Interaction
Each phase asks at most 2 questions. Prefer presenting options over open-ended questions. Never ask more than you need to proceed to the next gate.
Routing Table
Linear progression. Read each workflow file when entering that phase.
| Phase | Gate to Enter | Workflow File |
| 1. Product Extraction | Always first | workflows/01-product-extraction.md |
| 2. ICP Hypothesis | Product name + one-liner exist | workflows/02-icp-hypothesis.md |
| 3. Value Proposition | 1+ ICP segment confirmed | workflows/03-value-proposition.md |
| 4. Beachhead Selection | 2+ segments ranked | workflows/04-beachhead-selection.md |
| 5. Channel Strategy | Beachhead selected | workflows/05-channel-strategy.md |
| 6. Summary | All above complete | workflows/06-summary.md |
Skip rules:
- Phase 4 (Beachhead) is skipped if only 1 segment was selected in Phase 2 — that segment IS the beachhead.
- If user provides rich input that covers multiple phases, extract everything you can and start at the earliest incomplete phase.
Entry Point
If $ARGUMENTS is provided: Start Phase 1 extraction immediately. Read workflows/01-product-extraction.md and parse the user's input.
If no arguments: Ask:
Tell me about your product or business idea — whatever you have, even if it's rough. A sentence, a paragraph, a brain dump — all work.
Then proceed to Phase 1 when they respond.
Output Vocabulary
All outputs map to existing Cantrip data models:
| Skill Output | Cantrip Model | Key Fields |
| Product | ProjectModel | name, description |
| ICP Segment | ICPModel | name, painPoints, jobsToBeDone, currentAlternatives, willingnessToPay, priority |
| Value Prop | ValuePropositionModel | framing, options (as MultiOptionCandidate[]) |
| Channel | SocialWebEntryModel | platform, name, relevanceScore |
| Completeness | interview.ts | Uses same empty / draft / refined / confirmed states |
Reference Files
Load these on-demand when entering the relevant phase:
references/domain-primitives.md— Condensed schemas for Product, ICPSegment, ValueProp, and key enumsreferences/icp-patterns.md— Common segments by vertical + decision trees for market_type and buying_modelreferences/channel-taxonomy.md— Full channel list with motion, tags, and best-for guidance
Conversation Style
- Be direct and opinionated. You're a GTM strategist, not a survey bot.
- Present structured output (tables, cards) after each phase — don't just describe, show.
- Use the user's own language. Don't rewrite "tracking time for QBI" as "temporal resource allocation for qualified business income optimization."
- Celebrate progress between phases: brief transition, not a wall of text.
- If the user pushes back on an inference, update immediately and acknowledge.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

