validate-idea
Skill1 starsChanged 4 months agoMITView on GitHub
Serial founder framework for validating business ideas before committing time and resources. Use this skill whenever evaluating a new business idea, startup concept, side project, or venture opportunity — even early-stage "shower thoughts". Guides through Pain vs Enjoyment classification, skillset Venn diagram, opportunity scoring, competitive research, TAM/SAM/SOM sizing, market testing strategy, and commit/kill decision. Tracks all ideas in domains/ideas/tracking/pipeline.json with 30-day kill timers. ALWAYS use this skill when the user says things like "I have an idea", "what do you think about building X", "should I pursue this", "validate this idea", or "idea pipeline".
23 other projects use a version of this.
Adopted by
Most recently taken up by
- insight68/Skillstheir own version, first seen Nov 8, 2026
- lalulali/vespyrtheir own version, first seen Nov 6, 2026
- sanskarprajapati/validator-skilltheir own version, first seen Nov 1, 2026
- alexjmiller5/agent-config-publictheir own version, first seen Oct 15, 2026
- scaccogatto/minimalist-entrepreneurtheir own version, first seen Oct 15, 2026
- menkesu/awesome-pm-skillstheir own version, first seen Oct 13, 2026
Used with
Projects with it also use company-values, find-community and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
insight68Skillcompany-values
Help define company values and culture for a minimalist business. Use when someone is setting up their company culture, preparing to hire, or wanting to codify what their company stands for.
Also in 6 projects that use this
insight68Skillfind-community
Help identify and evaluate communities to build a minimalist business around. Use when someone is looking for a business idea, trying to find their community, or wondering where to start as an entrepreneur.
Also in 6 projects that use this
slavingiaSkillgrow-sustainably
Evaluate business decisions through the lens of sustainable, profitable growth. Use when someone is making decisions about spending, hiring, fundraising, or scaling their business.
Also in 6 projects that use this
slavingiaSkillprocessize
Turn a product idea into a manual-first process you can start delivering today. Use when you have an idea and want to figure out how to deliver value by hand before writing any code.
Also in 6 projects that use this
MicrosoftSkilllaunch
Launch and automate VS Code Insiders with the Copilot Chat extension using @playwright/cli via Chrome DevTools Protocol. Use when you need to interact with the VS Code UI, automate the chat panel, test the extension UI, or take screenshots. Triggers include 'automate VS Code', 'interact with chat', 'test the UI', 'take a screenshot', 'launch with debugging'.
Also in 3 projects that use this
- +4 more from insight68
- +1 more from slavingia
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- slavingia/skills★ 11ksame name
- emotixco/claude-skills-founder★ 796same name
- me2resh/apexyard★ 542same name
- menkesu/awesome-pm-skills★ 441same name
- sendaifun/solana-new★ 178same name
- konglong87/superPM★ 84same name
- keeea/minimalist-entrepreneur-skills★ 19same name
- ariadoss/superskills★ 12same name
- lalulali/vespyr★ 11same name
- Latifox/find-me-saas★ 10same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- commsSkill
- composeSkill
- daily-briefSkill
- domain-hygieneSkill
- grill-meSkill
- idea-deep-diveSkill
- laila-headless-conductSkill
- laila-judgmentSkill
- laila-ops-debuggingSkill
- level-upSkill
- new-domainSkill
- os-auditSkill
- personaSkill
- quarterly-refreshSkill
- roastSkill
- running-briefSkill
- session-wrapSkill
- setupSkill
- specSkill
- whats-nextSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
28 rules. 0 are common, 14 are distinctive, and 14 are very specific to this project.
0
Common
Most of the 20 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
14
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 26
All ideas live in domains/ideas/tracking/pipeline.json.
- Distinctive: line 40
Before scoring anything, get clear on two things:
- Distinctive: line 43
Ask: "What are you hoping to get out of this — passive income, a lifestyle business, or something venture-scale?" The right answer shapes …
- Distinctive: line 46
Every business either solves a pain point or provides enjoyment.
- Distinctive: line 124
If it's a Sales company but the price is too low to fund a sales team, that's a structural problem worth flagging now.
- Very specific: line 152
If most ideas land in 3+mo, the thinking isn't lean enough.
- Distinctive: line 176
Not an MVP in the traditional sense.
- Distinctive: line 195
Don't get attached. "Never give up" applies to entrepreneurship as a path, not to specific ideas.
- Very specific: line 205
If you run a CRM: update the idea's Opportunity stage to COMMITTED
- Distinctive: line 206
Ask: "What are you *stopping* to make room for this?"
- Very specific: line 207
Update state/strategy.md capacity allocation
- Very specific: line 212
If you run a CRM: update the Opportunity stage to LOST
- Distinctive: line 213
Remove the kill-timer reminder
- Distinctive: line 249
Add the domain row to the root AGENTS.md Domains list with a one-line purpose description.
- Very specific: line 250
Add a trigger entry to config/domain-triggers.json mapping Check <Domain> phrases to the domain's AGENTS.md.
- Distinctive: line 251
If your dashboard/CRM tracks life domains, create the corresponding record for visibility.
- Very specific: line 284
Update pipeline.json idea record:
- Distinctive: line 287
Remove the domain's entry from:
- Distinctive: line 296
When a killed idea becomes viable again (e.g., capital partner surfaces, skill gap fills, structural blocker resolves):
- Very specific: line 305
If you run a CRM: move the Opportunity stage from LOST back to the appropriate stage.
- Distinctive: line 308
Create a fresh 30-day kill reminder (same pattern as new-idea creation).
- Very specific: line 309
Document revival reason + trigger in domains/ideas/tracking/status.md under a ## Revived section.
- Very specific: line 318
Run automated research via the placeholder ./scripts/idea-research.sh <slug> (or dispatch a research subagent with the same contract).
- Distinctive: line 321
After research: regenerate the matrix.
- Very specific: line 329
Add record to domains/ideas/tracking/pipeline.json.
- Very specific: line 330
If you run a CRM: create an Opportunity tagged to the ideas domain, stage IDENTIFIED, named "<Idea Name> (<IDEA-ID>)".
- Very specific: line 331
Write the returned record ID back to pipeline.json as crm_opportunity_id.
- Very specific: line 334
Create a kill-timer reminder in your reminders app: "[idea name]: validate or kill by [kill_by]" due on [kill_by].
“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Validate Idea
A structured framework for evaluating whether a business idea is worth pursuing — before spending months building something no one wants.
Setup note: this skill assumes an ideas domain at
domains/ideas/(an optional pattern — create it on first use withtracking/andresearch/subfolders). Two helper scripts are referenced as placeholders; port or stub them for your setup:
scripts/idea-research.sh <slug>— PLACEHOLDER: an automated research agent that writesdomains/ideas/research/<slug>/intel.md+scores.json(can be replaced by dispatching a research subagent manually)scripts/generate-idea-matrix.py— PLACEHOLDER: regenerates the scoring matrix frompipeline.jsonCRM steps are optional — skip them if you don't run a CRM, but keep
pipeline.jsonas the source of truth either way.
Invocation
/validate-idea status— show full pipeline by phase with kill-timer countdowns/validate-idea [name]— start new idea or resume an existing one by name/validate-idea research <slug>— run automated research on an idea/validate-idea matrix— regenerate the scoring matrix
State File
All ideas live in domains/ideas/tracking/pipeline.json. Load it at the start of every invocation.
Key files:
domains/ideas/tracking/pipeline.json— canonical pipeline (source of truth)domains/ideas/tracking/status.md— domain health summary (regenerate after changes)domains/ideas/tracking/matrix.md— auto-generated scoring matrixdomains/ideas/tracking/scoring-rubric.md— scoring rubricdomains/ideas/research/[slug]/intel.md— per-idea research briefdomains/ideas/research/[slug]/scores.json— per-idea rubric scores
Phase 0 — Framing
Before scoring anything, get clear on two things:
What do you want? Ask: "What are you hoping to get out of this — passive income, a lifestyle business, or something venture-scale?" The right answer shapes every decision that follows. A micro-SaaS and a venture-backed platform are both valid; they require very different resource commitments and validation timelines.
Pain or Enjoyment? Every business either solves a pain point or provides enjoyment. Pain businesses are almost always the better starting point:
- Pain drives people to pay. The worse and more frequent the pain, the more they'll spend to make it stop.
- Enjoyment businesses compete against all other entertainment — every movie, game, and social feed is a competitor.
- Enjoyment requires deep passion and domain expertise to break through.
This isn't a hard rule — great enjoyment businesses exist — but going in with eyes open matters. If the idea is Enjoyment-based, flag it explicitly and confirm it's a conscious choice.
Store: type: "pain" | "enjoyment", goal: "passive" | "lifestyle" | "venture"
Phase 1 — Skillset Check
The right business for someone else may be exactly wrong for you. Your skillset is the lens through which every idea should be evaluated.
Pull the existing skillset from knowledge/entities/people/alex.md (under ## Skillset). If it's older than 90 days or missing, do a quick re-evaluation — score each skill as Good / Acceptable / Bad:
Sales · Graphic Design · Product Design · Content Creation · Marketing (hard skills: SEO, ads, etc.) · Public Speaking · Technical Literacy · Programming · Finance · Operational Efficiency · Leadership
Good = someone would pay you to do this today, even at a junior level. Acceptable = can do it, could go pro with practice. Bad = weak or minimal experience.
Then apply the Venn diagram: what are the 3–4 skills most critical to this specific idea's success? How many overlap with the Good tier?
- Most critical skills in Good tier → confidence boost, lean in
- Critical skill in Bad tier → flag as risk; is there a co-founder who covers it?
Save the updated skillset to knowledge/entities/people/alex.md.
Phase 2 — Opportunity Scoring
Rate the pain point on three dimensions (1–5):
| Dimension | 1 | 5 |
| Pain | Mild inconvenience | Blocking / critical |
| Frequency | Once a year | Daily |
| Niche | Everyone has this problem | Very specific group |
Higher niche score is better — counterintuitively. Niche advantages:
- Less competition with real product-market fit
- Easier to charge premium (tailor-built for an underserved group)
- Faster, higher-quality feedback loops
- Growth loops work better within tight communities
- Expanding out from a niche is easier than narrowing down from broad
Also ask: "Do you personally experience this pain?" Personal pain = built-in conviction and one automatic data point of product-market fit.
Store: pain_score, frequency_score, niche_score, personal_pain: bool
Phase 3 — Research
Time-box this to 10 hours. Research paralysis is a real threat — the goal is to validate assumptions, not achieve certainty.
Competition
Find 2–3 businesses solving the same underlying pain. No competition is usually a red flag (someone's probably tried and failed). Okay only if: (a) problem is enabled by brand-new technology, or (b) it's genuinely extremely niche.
For each competitor, capture:
- Pricing model (subscription vs. one-time vs. usage-based) and price points
- Size (employees) and funding status (bootstrapped vs. VC-backed)
- How they frame the solution — landing page language, differentiators they call out, price transparency
Customer Location
- Who is the customer? (specific persona)
- Where do they spend time online and offline?
- Gut check: "If I had to find one potential customer for this right now, online, how long would it take?"
Marketing or Sales Company?
Most early-stage startups are one or the other — rarely both.
Marketing company signals: low price point, individual buyers, self-serve onboarding, no contracts needed Sales company signals: high average deal size, B2B buyers, contract or volume commitments, complex setup
If it's a Sales company but the price is too low to fund a sales team, that's a structural problem worth flagging now.
TAM / SAM / SOM (simple version)
Anchor all estimates on the low end. Don't spend more than an hour here.
Total people in the space (TAM denominator)
× % who experience this specific pain → people in need (SAM denominator)
× price per transaction or subscription
× purchase frequency per year
SAM = (people in need) × price × frequency
SOM = SAM × 10%SOM is the realistic near-term opportunity. Cross-check against any competitor revenue data if available.
Store: competition: [], customer_persona, channel_type: "marketing" | "sales", sam, som, research_notes
Phase 4 — Categorize
Build a quick scorecard:
Timeline to Ship — how long to a lean, sellable v1?
<1mo · 1-3mo · 3+mo · ongoing
If most ideas land in 3+mo, the thinking isn't lean enough. The goal isn't perfection — it's something to test with.
Opportunity Size — from SOM:
low (<$500K) · mid (<$1M) · large (<$10M) · venture ($10M+)
Confidence — honestly: can you make any money at all?
low (<10%) · fair (10–50%) · likely (50–80%) · high (>80%)
Confidence inputs: personal pain point? strong skillset overlap? competition confirms demand exists?
Decision heuristics to surface:
- Short timeline + any confidence = worth trying (cheap experiment)
- Venture scale = needs
likelyorhighconfidence first - Niche + smaller opportunity often beats broad + venture for first-time founders
Store: timeline, opportunity_size, confidence
Phase 5 — Testing
The goal: 10 paying customers. Not free users. Not signups. Paying customers.
Build the leanest thing possible
Not an MVP in the traditional sense. Not a dream product. Possibly not a product at all — a form and manual fulfillment has launched real businesses.
Cut everything that doesn't directly address the pain. No polished landing page, no branding system, no swag. These are procrastination dressed up as preparation.
Finding first customers
Go to where they are (from Phase 3 research). Talk to people directly when possible.
The counterintuitive truth: being an early-stage founder is an asset with potential customers. Large companies can't give customers a line to the founder. Lean into it — people root for transparent founders with genuine conviction.
Pricing approaches:
- Sell at cost — break even, focus entirely on validation
- Godfather offer — extremely competitive price locked in long-term; earns early commitment
- Free trial with CC required — sets payment expectation, still collects genuine interest signal
Advisor shares — for customers in high-prestige segments (executives, doctors, lawyers), offer 0.1–0.5% advisor equity. Creates the Ikea effect: people value things more when they helped build them. Keeps them engaged as feedback sources and long-term customers.
Know when to fold
100+ people from the target market, fewer than 1% expressed real interest → kill it.
Don't get attached. "Never give up" applies to entrepreneurship as a path, not to specific ideas. The faster bad ideas die, the faster good ones surface.
Track: customers_acquired, customer_target: 10, lean_mvp_description
Phase 6 — Commit or Kill
Commit (10 customers, or explicit decision)
- Set
phase = committedindomains/ideas/tracking/pipeline.json - If you run a CRM: update the idea's Opportunity stage to
COMMITTED - Ask: "What are you stopping to make room for this?"
- Update
state/strategy.mdcapacity allocation - Regenerate
domains/ideas/tracking/status.md
Kill (criteria met, or explicit decision)
- Set
phase = killed, recordkilled_reason+killed_atindomains/ideas/tracking/pipeline.json - If you run a CRM: update the Opportunity stage to
LOST - Remove the kill-timer reminder
- Log a lesson to
knowledge/tacit/lessons.md - Regenerate
domains/ideas/tracking/status.md - If
has_domain: true— follow the Archive Protocol below before closing the loop.
Graduation Protocol (categorizing → testing)
When an idea is promoted from categorizing to testing and the work ahead includes any ongoing operational surface — partner outreach, sales conversations, content creation, code development, discovery-log tracking — create a domain for it. Pure validation-only work (still just testing price points via landing pages, no active GTM motion) does not require domain creation.
1. Decide the skeleton depth.
- Minimal pattern: AGENTS.md + tracking/. Use when product code lives elsewhere (external repo) or isn't yet being built.
- Code-heavy pattern: AGENTS.md + tracking/ + build/server/etc. Use when code and tracking co-locate.
2. Create the domain.
domains/<slug>/
├── AGENTS.md # onboarding, rules, working agreement
└── tracking/
├── Next_Actions.md # daily/weekly backlog (read first on any Check <Domain> trigger)
├── status.md # domain health summary (authoritative for domain state)
└── Decisions.md # product pivots, pricing, channel choices (append-only)Expand Documents/ and research/ subfolders as operational work demands (see Research Artifact Manifest below).
3. Migrate existing artifacts.
domains/ideas/research/<slug>/intel.md→domains/<slug>/research/intel.mddomains/ideas/research/<slug>/scores.json→domains/<slug>/research/scores.json- Any marketing/sales collateral previously parked elsewhere →
domains/<slug>/Documents/
4. Update pipeline.json record for this idea:
phase→"testing"has_domain→truedomain_path→"domains/<slug>/"graduated_at→ today's ISO date
5. Update canonical references:
- Add the domain row to the root
AGENTS.mdDomains list with a one-line purpose description. - Add a trigger entry to
config/domain-triggers.jsonmappingCheck <Domain>phrases to the domain's AGENTS.md. - If your dashboard/CRM tracks life domains, create the corresponding record for visibility.
6. Regenerate domains/ideas/tracking/status.md and matrix.md so the matrix reflects the graduated phase.
7. Research Artifact Manifest (reference, not mandate).
As the idea works through testing toward commit, these artifacts should accumulate under domains/<slug>/Documents/ and research/. Not all of them need to exist at testing-phase start; they compound as operational reality demands:
- ICP Qualification Scorecard (firmographic + technographic + psychographic + operational signals + anti-ICP)
- Competitive Analysis (deep profiles, 3–5 competitors, positioning map)
- Go-to-Market Plan (channels, motion, sequencing, pricing philosophy)
- Product Development Plan (MVP scope, roadmap, gating)
- Financial Model (unit economics, CAC/LTV, path to profitability)
- Technical & Product Analysis (architecture, data sources, cost structure, integrations)
- Regulatory / Legal deep-dive (licensing, compliance, tailwinds, risks)
- Buyer Journey Map (awareness → consideration → activation → expansion)
- Sales Enablement (pitch 1-pager, training guide, objection handling, leave-behinds)
- Risk Register (technical, market, legal, team)
The commit gate (phase testing → committed) is reached when enough of this manifest exists to argue defensibly that the business is real — not on doc count, on whether the business question "would we bet the runway on this?" has a clean answer backed by those docs.
Archive Protocol (killed ideas with has_domain: true)
Killed ideas that had a domain folder (has_domain: true in pipeline.json) must be archived, not deleted — preserve optionality for future revival.
git mv domains/<slug>/ domains/_archive/<slug>-killed-<YYYY-MM-DD>/- Create
domains/_archive/<slug>-killed-<YYYY-MM-DD>/ARCHIVED.mdwith:- Kill date + reason (copy from
pipeline.jsonkilled_reason) - Last-known state (code repo path, external services, credentials required to deploy — names only, never values)
- Revival requirements (what structural change would make this viable again)
- Link back to this skill's Revival Protocol (below)
- Kill date + reason (copy from
- Update
pipeline.jsonidea record:archived_at: ISO datearchived_path:"domains/_archive/<slug>-killed-<YYYY-MM-DD>/"
- Remove the domain's entry from:
config/domain-triggers.json(trigger block)- Root
AGENTS.mdDomains list (row)
config/reminders-lists.json— remove entry if one was added.
Daily workflows (daily brief, what's-next, session-wrap) should skip domains/_archive/** — the underscore prefix is the universal skip signal.
Revival Protocol
When a killed idea becomes viable again (e.g., capital partner surfaces, skill gap fills, structural blocker resolves):
git mv domains/_archive/<slug>-killed-<date>/ domains/<slug>/- Delete
domains/<slug>/ARCHIVED.md - Update
pipeline.jsonidea record:phase→ appropriate phase (typicallytestingorcategorizingdepending on prior state)killed_reason→null,killed_at→nullarchived_path→null,archived_at→nullkill_date→ today + 30 days (fresh kill timer)
- If you run a CRM: move the Opportunity stage from
LOSTback to the appropriate stage. - Restore the trigger block in
config/domain-triggers.json. - Restore the row in the root
AGENTS.mdDomains list. - Create a fresh 30-day kill reminder (same pattern as new-idea creation).
- Document revival reason + trigger in
domains/ideas/tracking/status.mdunder a## Revivedsection. - Regenerate the matrix.
State Management
Research Agent
Run automated research via the placeholder ./scripts/idea-research.sh <slug> (or dispatch a research subagent with the same contract).
Produces: domains/ideas/research/<slug>/intel.md + scores.json
After research: regenerate the matrix.
Trigger in session: if the user says "research [idea name]", run the research step for that slug.
On new idea creation
- Add record to
domains/ideas/tracking/pipeline.json. Required fields:id,name,slug,phase,added,kill_date. Setcrm_opportunity_id: nullif you have not yet created the CRM record. - If you run a CRM: create an Opportunity tagged to the ideas domain, stage
IDENTIFIED, named"<Idea Name> (<IDEA-ID>)". - Write the returned record ID back to
pipeline.jsonascrm_opportunity_id. - Set
kill_date = added + 30 days. - Regenerate
domains/ideas/tracking/status.md. - Create a kill-timer reminder in your reminders app:
"[idea name]: validate or kill by [kill_by]"due on[kill_by].
WHY steps 2/3 matter (if you have a dashboard): dashboard pipeline widgets typically read from the CRM, NOT from pipeline.json directly. An idea without a CRM record is invisible on the dashboard. A safety-net in the matrix generator can auto-create missing CRM records — treat that as a net, not the intended path.
Background-agent gotcha: if a validate-idea agent runs in a git worktree, any research outputs written to gitignored paths will be wiped when the worktree is removed. When dispatching such an agent, instruct it to either (a) run in the main checkout, or (b) move outputs into the main checkout before worktree cleanup.
Schema
{
"id": "uuid",
"name": "Idea name",
"pain_point": "What pain does this solve?",
"type": "pain | enjoyment",
"goal": "passive | lifestyle | venture",
"phase": "identified | researching | categorizing | testing | committed | killed",
"personal_pain": true,
"scores": {
"pain": 3,
"frequency": 4,
"niche": 4,
"timeline": "<1mo",
"opportunity_size": "mid",
"confidence": "likely"
},
"research": {
"competition": [],
"customer_persona": "",
"channel_type": "marketing | sales",
"sam": 0,
"som": 0,
"notes": ""
},
"testing": {
"lean_mvp_description": "",
"customers_acquired": 0,
"customer_target": 10
},
"created": "YYYY-MM-DD",
"kill_by": "YYYY-MM-DD",
"killed_reason": null
}Running Brief Integration
During "what's next" / running-brief passes: check domains/ideas/tracking/pipeline.json for ideas where kill_by is within 7 days and phase is not committed or killed. Surface as ⚠️ items requiring a decision.
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.

