agentleFS
oztenozten/skills/idea-to-icp/SKILL.md

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.

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
  1. Distinctive:

    Never skip ahead. If the user jumps to channels before ICP exists, acknowledge their input, park it, and redirect: "Great channel instinct …

    line 21
  2. Distinctive:

    If user provides rich input that covers multiple phases, extract everything you can and start at the earliest incomplete phase.

    line 67
  3. Very specific:

    If $ARGUMENTS is provided: Start Phase 1 extraction immediately.

    line 71
  4. Distinctive:

    If no arguments: Ask:

    line 73
  5. Distinctive:

    All outputs map to existing Cantrip data models:

    line 81
  6. Distinctive:

    Use the user's own language.

    line 103
  7. Distinctive:

    If the user pushes back on an inference, update immediately and acknowledge.

    line 105

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 → Channels

Never 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:

StateMeaningMarker
emptyNo data[ ]
draftExists but thin[~]
refinedSolid, could be sharper[+]
confirmedUser 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.

PhaseGate to EnterWorkflow File
1. Product ExtractionAlways firstworkflows/01-product-extraction.md
2. ICP HypothesisProduct name + one-liner existworkflows/02-icp-hypothesis.md
3. Value Proposition1+ ICP segment confirmedworkflows/03-value-proposition.md
4. Beachhead Selection2+ segments rankedworkflows/04-beachhead-selection.md
5. Channel StrategyBeachhead selectedworkflows/05-channel-strategy.md
6. SummaryAll above completeworkflows/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 OutputCantrip ModelKey Fields
ProductProjectModelname, description
ICP SegmentICPModelname, painPoints, jobsToBeDone, currentAlternatives, willingnessToPay, priority
Value PropValuePropositionModelframing, options (as MultiOptionCandidate[])
ChannelSocialWebEntryModelplatform, name, relevanceScore
Completenessinterview.tsUses 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 enums
  • references/icp-patterns.md — Common segments by vertical + decision trees for market_type and buying_model
  • references/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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.