agentleFS
sanskarprajapatisanskarprajapati/validator-skill/skills/validate-idea/SKILL.md

validate-idea

Skill7 starsChanged 17 days agoMITView on GitHub

Intake for the Validator pack. Turns a startup idea into validator/idea.json: the target user, the problem hypothesis, the search terms and competitor apps to mine, and the pass/fail bar, which is set before any data comes in and never moved after. Use when the user says "validate my idea", "is this idea any good", "test this startup idea", "should I build this", or starts the Validator pack.

23 other projects use a version of this.

Adopted by

Most recently taken up by

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.
  • insight68Skill

    company-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

  • insight68Skill

    find-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

  • slavingiaSkill

    grow-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

  • slavingiaSkill

    processize

    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

  • MicrosoftSkill

    launch

    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

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 1 is distinctive, and 7 are very specific to this project.

  • 0

    Common

    Most of the 20 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If $ARGUMENTS is empty, ask for the idea in one line.

    line 34
  2. Distinctive:

    If the user already knows this from their own customers, use it and say which parts came from them and which are your guesses.

    line 44
  3. Very specific:

    If the user has no price in mind, leave a range and say /validate-wtp will test it.

    line 53
  4. Very specific:

    Write search.terms the way a frustrated person would type a post, not the way a landing page talks.

    line 58
  5. Very specific:

    Write validator/idea.json in the shape of the example.

    line 95
  6. Very specific:

    Run IDEA check validator/idea.json and fix everything it lists.

    line 96
  7. Very specific:

    After the lock, terms, subreddits and apps can still change freely.

    line 101
  8. Very specific:

    Never edit idea.lock by hand, and never move the bar without the user asking.

    line 104

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

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

validate-idea

The first skill in the pack. It does one job: pin the idea down tightly enough that the rest of the pack can test it, and set the pass/fail bar before anyone has seen a single complaint. People who set the bar after seeing the data always find a reason to pass.

What the user typed after /validate-idea: $ARGUMENTS

The tool

python3 "${CLAUDE_SKILL_DIR}/idea.py" check validator/idea.json
python3 "${CLAUDE_SKILL_DIR}/idea.py" lock  validator/idea.json

Below, IDEA means python3 "${CLAUDE_SKILL_DIR}/idea.py". If the path is not expanded, use the base directory Claude Code printed for this skill. The shape of the file is in ${CLAUDE_SKILL_DIR}/idea.example.json.

Step 1: the idea, the person, the problem

If $ARGUMENTS is empty, ask for the idea in one line. Then ask, one question at a time, only for what is still missing:

  • Who has the problem. Push for a role and a context, not a demographic. "Small businesses" is too wide. "Solo recruiters who work leads over email, LinkedIn and WhatsApp" is something you can search for.
  • What goes wrong for them today, in their words. A missed reply, a lost hour, a bill they hate. Not the absence of your product.
  • What they do about it now. The workaround is the best clue there is.

If the user already knows this from their own customers, use it and say which parts came from them and which are your guesses.

Step 2: the hypothesis

One sentence the data can prove wrong:

[who] struggle with [problem] and would pay [rough price] for [outcome].

If the user has no price in mind, leave a range and say /validate-wtp will test it.

Step 3: what to search for

Write search.terms the way a frustrated person would type a post, not the way a landing page talks. Three to eight terms. Quote exact phrases: "unified inbox", "too many messaging apps". A term without quotes matches posts that contain every word, in any order.

Good terms name the pain or the workaround: "missed a message", "spreadsheet to track", "switched from <competitor>". Bad terms are your product category in marketing language, because nobody complains in that voice.

search.subreddits (optional): communities where this person hangs out. search.competitor_apps (optional): apps people already use for this. Look up each App Store id with the miner's search:

python3 "${CLAUDE_SKILL_DIR}/../validate-mine/sources.py" find-app "<app name>"

Pick the right one from the list with the user. A wrong id mines the wrong app.

Step 4: the bar

Explain this once: the bar is what the evidence must show for the idea to pass, and it is set now because nobody judges fairly after seeing the data.

bar.evidence is what the mined data has to show:

  • min_complaints: distinct complaints about this problem. Default 100.
  • min_money_signals: complaints that mention paying, a price, or switching tools. Default 10. This is the number that matters most.
  • max_age_months: only count complaints this recent. Default 24.

bar.real_world is what a real test has to show later (/validate-smoke plans it). Ask the user, and suggest numbers if they have none, for example "200 waitlist signups from strangers" and "10 paid, refundable preorders".

Step 5: write, check, lock

  1. Write validator/idea.json in the shape of the example.
  2. Run IDEA check validator/idea.json and fix everything it lists.
  3. Show the user the idea, the hypothesis, the terms and the bar in a few lines. Let them correct it.
  4. Once they agree, run IDEA lock validator/idea.json.

After the lock, terms, subreddits and apps can still change freely. The bar cannot. If the user later wants to move it, run IDEA lock ... --reason "<why>". The move is kept in validator/idea.lock, and /validate-verdict reports it. Never edit idea.lock by hand, and never move the bar without the user asking.

Output

validator/idea.json, validator/idea.lock.

Next: /validate-mine reads the search terms and competitor apps.

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.