Buyer Persona Simulator

Founder consumer

by Jakeschincariol · MIT license · ★ 322 on GitHub

Founder consumer cover

The consumer panel. Spins up a swarm of buyer sub-agents (default 100, --quick for 20) trained on the user's target customer, each with a different income, age, buying behaviour and objection, shows every one the same pitch, and runs…

---
name: founder-consumer
description: >-
  The consumer panel. Spins up a swarm of buyer sub-agents (default 100, --quick
  for 20) trained on the user's target customer, each with a different income,
  age, buying behaviour and objection, shows every one the same pitch, and runs
  the business through 100 buyer scenarios to see who buys, who doesn't, and why.
  Tallies the answers into buy rates by segment, the reasons people pass in their
  own words, what would flip a no, and price answers for founder-pricing. Use when
  the user says "would people buy this", "test it on customers", "run the
  consumer panel", "simulate buyers", "who is my customer", or "validate demand".
argument-hint: "[--n 100 | --quick] [--seed S]"
---

# founder-consumer

The craziest part of the pack. Instead of guessing whether people will buy, you
ask a hundred of them, each one a sub-agent playing a specific buyer drawn from

Overview

The craziest part of the pack. Instead of guessing whether people will buy, you ask a hundred of them, each one a sub-agent playing a specific buyer drawn from your target customer. You are the moderator. You never answer for a buyer.

Manual install (npx, ZIP)
Claude Codenpx skills add Jakeschincariol/founder-skill --skill founder-consumer -g -a claude-code
Claude Code (degit)npx degit Jakeschincariol/founder-skill/skills/founder-consumer#main ~/.claude/skills/founder-consumer
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.6 KB
Read SKILL.md here
Jakeschincariol/main1 file shown
SKILL.md
Show the full text127 lines

founder-consumer

The craziest part of the pack. Instead of guessing whether people will buy, you ask a hundred of them, each one a sub-agent playing a specific buyer drawn from your target customer. You are the moderator. You never answer for a buyer.

What the user typed after /founder-consumer: $ARGUMENTS

The tool

All bookkeeping goes through panel.py in this skill's folder:

python3 "${CLAUDE_SKILL_DIR}/panel.py" <command>

Below, PANEL means exactly that. If the path is not expanded, use the base directory Claude Code printed for this skill. State lives in founder/panel/.

Step 1: the target customer

Write founder/customer.json (shape: customer.example.json in this folder):

  • business, and target: who the customer is, in one specific line.
  • segments: 2 to 4 groups with a share and an income range [low, high].
  • behaviours: 4 to 8 buying behaviours with a share and a how line (daily regular, deal hunter, reads every review, loyal to a competitor...).
  • objections: the 4 to 8 doubts this kind of buyer really has.
  • habits (optional): everyday context lines that make a buyer concrete.

Ground it in something real. Use what the user knows about their customers, and if /founder-competitors ran, the complaints in founder/competitors.md. If the user has real customer data (interviews, reviews, survey answers), prefer it to your guesses and say which parts are guesses. Show the user the profile in a few lines and let them correct it before you deal: a wrong customer makes the whole panel wrong.

Step 2: the pitch

Write founder/pitch.md: what a buyer would actually see. The product, the price, where and how to get it, any opening offer. Three to six plain lines, no superlatives, nothing the business cannot deliver. Every buyer sees exactly this.

Step 3: deal and run

PANEL init --customer founder/customer.json --pitch founder/pitch.md --n 100
PANEL prompts

init deals the persona cards (same seed, same cards; the seed is recorded). prompts writes one brief per buyer and lists them in waves of 10. For each wave, send ONE message with one Agent tool call per buyer in that wave (the Agent tool is called Task in older Claude Code versions):

  • subagent_type: general-purpose
  • description: panel <id>
  • prompt: Read <brief path> and follow it exactly. It is your whole brief.

Wait for the whole wave before the next one. Claude Code runs about 10 tool calls at once by default, so 100 buyers is 10 waves. After the last wave:

PANEL check      # lists missing or broken answers
PANEL prompts    # rewrites briefs for those only; run them once more
PANEL tally

If a buyer printed its JSON in its reply instead of writing the file (it happens), file its own reply with PANEL save <id> and the reply on stdin; save refuses anything that is not a valid answer. A buyer that fails twice is left out and counted in the results. Never write an answer for a buyer yourself.

Before a 100-buyer run, tell the user it is 100 sub-agent calls and suggest --quick (20 buyers) for a first look. Sub-agents write one file each into founder/panel/answers/; in the default permission mode that is one approval per file, so suggest accept-edits mode (Shift+Tab) for the run.

Step 4: read it to the user

PANEL tally writes founder/panel/results.md and results.json. Give the user:

  1. The headline: "40 buy · 60 pass" and the buy rate.
  2. Who buys and who doesn't: the segment and behaviour rows that differ most.
  3. Why they pass: the top three reasons with one quote each, as written.
  4. What would flip a no: the most repeated answers.
  5. One sentence on what to change before spending money, and which skill does it (pricing, offer, marketing).

Honest limits, say them once

These are simulated buyers. They are good at surfacing objections, segments and wording you had not thought of, and bad at predicting real conversion: language models lean agreeable, so treat the buy rate as an upper bound. Confirm the big calls with real people (a waitlist, a pre-sale, a landing page with a price) before signing anything. Do not present panel quotes as customer testimonials.

The brief every buyer gets

panel.py fills the card into a fixed template (see BRIEF in the script): who the buyer is (name, age, segment, income, buying behaviour, a habit, the doubt that comes to mind), the pitch word for word, an instruction not to be agreeable and not to invent facts, and the exact JSON to write: buys, purchases in the first month, a reason code, the reason in their own voice, their main objection, what would change their mind, and four price answers (too cheap, a bargain, getting expensive, too expensive). Never edit a brief for one buyer.

Output

founder/customer.json, founder/pitch.md, founder/panel/ (cards, briefs, answers, results). Next: /founder-pricing reads the price answers, /founder-offer and /founder-marketing read the objections.

1---
2name: founder-consumer
3description: >-
4 The consumer panel. Spins up a swarm of buyer sub-agents (default 100, --quick
5 for 20) trained on the user's target customer, each with a different income,
6 age, buying behaviour and objection, shows every one the same pitch, and runs
7 the business through 100 buyer scenarios to see who buys, who doesn't, and why.
8 Tallies the answers into buy rates by segment, the reasons people pass in their
9 own words, what would flip a no, and price answers for founder-pricing. Use when
10 the user says "would people buy this", "test it on customers", "run the
11 consumer panel", "simulate buyers", "who is my customer", or "validate demand".
12argument-hint: "[--n 100 | --quick] [--seed S]"
13---
14 
15# founder-consumer
16 
17The craziest part of the pack. Instead of guessing whether people will buy, you
18ask a hundred of them, each one a sub-agent playing a specific buyer drawn from
19your target customer. You are the moderator. You never answer for a buyer.
20 
21What the user typed after `/founder-consumer`: `$ARGUMENTS`
22 
23## The tool
24 
25All bookkeeping goes through `panel.py` in this skill's folder:
26 
27```bash
28python3 "${CLAUDE_SKILL_DIR}/panel.py" <command>
29```
30 
31Below, `PANEL` means exactly that. If the path is not expanded, use the base
32directory Claude Code printed for this skill. State lives in `founder/panel/`.
33 
34## Step 1: the target customer
35 
36Write `founder/customer.json` (shape: `customer.example.json` in this folder):
37 
38- `business`, and `target`: who the customer is, in one specific line.
39- `segments`: 2 to 4 groups with a `share` and an `income` range [low, high].
40- `behaviours`: 4 to 8 buying behaviours with a `share` and a `how` line
41 (daily regular, deal hunter, reads every review, loyal to a competitor...).
42- `objections`: the 4 to 8 doubts this kind of buyer really has.
43- `habits` (optional): everyday context lines that make a buyer concrete.
44 
45Ground it in something real. Use what the user knows about their customers, and
46if `/founder-competitors` ran, the complaints in `founder/competitors.md`. If the
47user has real customer data (interviews, reviews, survey answers), prefer it to
48your guesses and say which parts are guesses. Show the user the profile in a few
49lines and let them correct it before you deal: a wrong customer makes the whole
50panel wrong.
51 
52## Step 2: the pitch
53 
54Write `founder/pitch.md`: what a buyer would actually see. The product, the price,
55where and how to get it, any opening offer. Three to six plain lines, no
56superlatives, nothing the business cannot deliver. Every buyer sees exactly this.
57 
58## Step 3: deal and run
59 
60```bash
61PANEL init --customer founder/customer.json --pitch founder/pitch.md --n 100
62PANEL prompts
63```
64 
65`init` deals the persona cards (same seed, same cards; the seed is recorded).
66`prompts` writes one brief per buyer and lists them in waves of 10. For each wave,
67send ONE message with one Agent tool call per buyer in that wave (the Agent tool
68is called Task in older Claude Code versions):
69 
70- `subagent_type`: `general-purpose`
71- `description`: `panel <id>`
72- `prompt`: `Read <brief path> and follow it exactly. It is your whole brief.`
73 
74Wait for the whole wave before the next one. Claude Code runs about 10 tool calls
75at once by default, so 100 buyers is 10 waves. After the last wave:
76 
77```bash
78PANEL check # lists missing or broken answers
79PANEL prompts # rewrites briefs for those only; run them once more
80PANEL tally
81```
82 
83If a buyer printed its JSON in its reply instead of writing the file (it happens),
84file its own reply with `PANEL save <id>` and the reply on stdin; `save` refuses
85anything that is not a valid answer. A buyer that fails twice is left out and
86counted in the results. Never write an answer for a buyer yourself.
87 
88Before a 100-buyer run, tell the user it is 100 sub-agent calls and suggest
89`--quick` (20 buyers) for a first look. Sub-agents write one file each into
90`founder/panel/answers/`; in the default permission mode that is one approval per
91file, so suggest accept-edits mode (Shift+Tab) for the run.
92 
93## Step 4: read it to the user
94 
95`PANEL tally` writes `founder/panel/results.md` and `results.json`. Give the user:
96 
971. The headline: "40 buy · 60 pass" and the buy rate.
982. Who buys and who doesn't: the segment and behaviour rows that differ most.
993. Why they pass: the top three reasons with one quote each, as written.
1004. What would flip a no: the most repeated answers.
1015. One sentence on what to change before spending money, and which skill does it
102 (pricing, offer, marketing).
103 
104## Honest limits, say them once
105 
106These are simulated buyers. They are good at surfacing objections, segments and
107wording you had not thought of, and bad at predicting real conversion: language
108models lean agreeable, so treat the buy rate as an upper bound. Confirm the big
109calls with real people (a waitlist, a pre-sale, a landing page with a price)
110before signing anything. Do not present panel quotes as customer testimonials.
111 
112## The brief every buyer gets
113 
114`panel.py` fills the card into a fixed template (see `BRIEF` in the script): who
115the buyer is (name, age, segment, income, buying behaviour, a habit, the doubt
116that comes to mind), the pitch word for word, an instruction not to be agreeable
117and not to invent facts, and the exact JSON to write: buys, purchases in the first
118month, a reason code, the reason in their own voice, their main objection, what
119would change their mind, and four price answers (too cheap, a bargain, getting
120expensive, too expensive). Never edit a brief for one buyer.
121 
122## Output
123 
124`founder/customer.json`, `founder/pitch.md`, `founder/panel/` (cards, briefs,
125answers, results). Next: `/founder-pricing` reads the price answers,
126`/founder-offer` and `/founder-marketing` read the objections.
127 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 322
Checked
Source
Jakeschincariol/founder-skill ↗
Creator
Jakeschincariol · 34 listings
View creator

Similar skills

See all →
Skill360 Feedback Surveymohitagw15856/pm-claude-skills · by mohitagw15856Design a 360-degree feedback survey or write a structured 360 feedback report. Use when asked to build a 360 feedback process, write 360 feedback for a colleague, design a feedback survey, or produce a feedback report. Produces either a complete survey instrument with rating scales and open-ended questions, or a structured narrative feedback report with themes, strengths, and development areas.★ 1.4k GitHub starsSkillExpert Knowledge Extractorinhouseseo/superseo-skills · by inhouseseoUse when extracting first-party expertise from a subject-matter expert before writing content. Produces a knowledge document of contrarian takes, specific examples, and surprising outcomes that AI can't fabricate.★ 353 GitHub starsSkillCreator Persona ResearcherTheMattBerman/scrollclaw · by TheMattBermanStart of the UGC pipeline for persona research, creator profiles, format selection, and scriptwriting. Use when the user is clearly asking for messaging work rather than broad full-pipeline orchestration.★ 71 GitHub starsSkillQuestionnaire Generatormattpocock/skills · by mattpocockTell us who you need answers from and what you're missing; get back a clean form you send them to fill in.★ 267k GitHub starsSkillIntent Interview Assistantaddyosmani/agent-skills · by addyosmaniExtracts what the user actually wants instead of what they think they should want. Achieves this through one-question-at-a-time interview until ~95% confidence about the underlying intent. Use when an ask is underspecified ("build me X" without "for whom" or "why now"), when the user explicitly invokes ("interview me", "grill me", "are we sure?", "stress-test my thinking"), or when you catch yourself silently filling in ambiguous requirements before any plan, spec, or code exists.★ 98.7k GitHub starsSkillBehavioral Science for Marketingcoreyhaines31/marketingskills · by coreyhaines31When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,' 'cognitive bias,' 'persuasion,' 'behavioral science,' 'why people buy,' 'decision-making,' 'consumer behavior,' 'anchoring,' 'social proof,' 'scarcity,' 'loss aversion,' 'framing,' or 'nudge.' Use this whenever someone wants to understand or leverage how people think and make decisions in a marketing context. For applying psychology to specific pages, see cro; for pricing tactics, see pricing; for copy framing, see copywriting.★ 51.1k GitHub stars

More from Jakeschincariol

SkillIG Story WriterJakeschincariol/instagram-agent-skill · by JakeschincariolWrite the day's Instagram Stories - the frame-by-frame sequence, which stickers to use where, and the one that moves people into the DMs. Use when the user says "stories", "what do I post on my story", "story sequence", poll idea", "I have nothing to story about", or wants to sell something without making a post about it.★ 6k GitHub starsSkillLinkedIn Post AuditJakeschincariol/linkedin-agent-skill · by JakeschincariolPost-mortem on what the user has already published - which posts actually worked, why, and what to stop doing. Use when the user pastes their LinkedIn analytics or past posts and asks "what's working", "why did this flop", "read my analytics", "audit my content", or wants to know what to double down on.★ 1.9k GitHub starsSkillLinkedIn Carousel BuilderJakeschincariol/linkedin-agent-skill · by JakeschincariolBuild a LinkedIn document post (carousel) - slide-by-slide copy, the cover that earns the swipe, and the PDF to upload. Use when the user says carousel", "document post", "slides for LinkedIn", "turn this into a carousel", or has a list-shaped idea that would die as a text post.★ 1.9k GitHub starsSkillLinkedIn Comment WriterJakeschincariol/linkedin-agent-skill · by JakeschincariolWrite comments on other people's LinkedIn posts that read as a person with an opinion, not a bot. Use when the user pastes a post and wants a comment, says comment on this", "engage with this", "what do I say here", or wants a batch of comments for their engagement round.★ 1.9k GitHub starsSkillYouTube Channel AuditorJakeschincariol/youtube-agent-skill · by JakeschincariolAudit a YouTube channel end to end - packaging, consistency, the first fifteen seconds, and what to fix first. Use for "audit my channel", "why isn't my channel growing", "review my videos", or a pasted channel URL.★ 1.1k GitHub starsSkillYouTube Chapter WriterJakeschincariol/youtube-agent-skill · by JakeschincariolWrite YouTube chapters from a transcript, validated against YouTube's own rules so they actually render. Use for "add chapters", "timestamps", break this video into sections".★ 1.1k GitHub stars