GitHub - eph5xx/tweakidea: Evaluate your startup idea from 1 to 5 · GitHub
Skip to content

Repository files navigation

TweakIdea

npm version npm downloads license

An independent second opinion on your startup idea. Free, evidence-backed, ready in 10 minutes.

npx skills add eph5xx/tweakidea

What you get:

  • A scorecard — verdict (PIVOT / GO / STOP), weighted score, letter-graded evidence
  • A 14-dimension breakdown — per-dim scores with what's strong, what's weak, what's untested
  • An assumption ledger — every untested claim in your idea, surfaced so you know what to validate next
  • A shareable HTML report — opens in your browser, easy to revisit

Why not just ask ChatGPT?

  • 14 evaluators run in parallel — one per dimension
  • Each runs its own independent targeted web search and cites sources
  • Every untested assumption in your idea is surfaced
  • Output is a structured beautiful scorecard you can revisit and share, not a one-shot paragraph

Browse full interactive reports: Airlock · Mirror · Giftwrap

TweakIdea HTML report — Mirror

Why I built this

An idea dies from what you don't verify. TweakIdea runs an idea through 14 weighted dimensions — pain intensity, willingness to pay, solution gap, founder-market fit, and ten more — each scored with cited web research. Fourteen Sonnet evaluators work in parallel; Opus merges the results into a scorecard with strengths, weaknesses, and three rewrites targeting the weakest dimensions. The output names what you haven't tested yet. It doesn't tell you to quit your job.

Longer background: TweakIdea — the origin story · TweakIdea v2 — what changed

See it work

You:    /tweakidea evaluate "A mobile app that lets restaurants sell unsold
        food at a discount 30 minutes before closing"

Claude: [researcher kicks off in background — web search on market,
         competitors, pricing]
        [extracts hypotheses from your idea — e.g. "restaurants have
         unsold food at close", "30-min window is enough to sell it"]

        Mark each hypothesis: CONFIRMED / UNCONFIRMED / REJECTED?

You:    [confirms what you already know; leaves the rest unconfirmed]

Claude: [2-4 founder-fit questions on your connection to THIS idea —
         restaurant ops? distribution? capital?]

You:    [answers inline]

Claude: [launches 14 parallel evaluators, one per dimension]
        [each runs its own targeted web searches for evidence]
        [compute.py aggregates per-dim scores, weights them, grades
         evidence A+ through F]
        [Opus synthesizes strengths/weaknesses, next steps, and a
         potential-uplift narrative driven by your unconfirmed
         hypotheses]

        PIVOT — Promising, address weak areas | Weighted 3.4/5.0
        | Potential 4.0/5.0 | Evidence C+
        [14-dim scorecard; report.html opens in browser]

You:    /tweakidea improve latest

Claude: [three rewrites — small reframe, medium reshape, big reimagine]
        [each targets the weakest dimensions with rubric-grounded rationale]
        [paste any rewrite into /tweakidea evaluate to re-score]

The 14 Dimensions

Weight Dimension What it measures
12% Pain Intensity Painkiller vs. vitamin vs. candy
12% Willingness to Pay Budget exists and buyer is reachable
12% Solution Gap Why this hasn't been solved yet
12% Founder-Market Fit Founder's domain, network, capabilities
8% Urgency Forcing functions and active revenue loss
8% Frequency How often the problem occurs
8% Market Size TAM/SAM/SOM viability
8% Defensibility Moats: network effects, switching costs, data
4% Market Growth Sector CAGR trajectory
4% Scalability Margins, self-serve, automation potential
4% Clarity of Target Customer ICP specificity and findability
4% Behavior Change Required Drop-in (5) vs. massive change (1)
2% Mandatory Nature Regulatory or contractual forcing
2% Incumbent Indifference Risk of being in the kill zone

Commands

/tweakidea evaluate

Runs 14 independent Sonnet evaluators in parallel — one per dimension — then merges them into a weighted scorecard with assumption tracking and letter-graded evidence. Produces a markdown scorecard and an HTML report.

  • /tweakidea evaluate "A mobile app that lets restaurants sell unsold food at a discount" — inline
  • /tweakidea evaluate path/to/idea.md — from a file
  • /tweakidea evaluate — fully interactive
  • /tweakidea "A mobile app that..." — shortcut: any text that isn't a command name is evaluated as an idea

/tweakidea browse-hn

Searches Hacker News via Algolia and prints a ranked table of threads worth feeding into /tweakidea analyze-hn-post. Each hit is scored 1–5 on how likely it is to yield a real startup-idea seed. Read-only.

  • /tweakidea browse-hn llm agents week — topic llm agents, last 7 days
  • /tweakidea browse-hn robotics — topic only; prompts for a time window
  • /tweakidea browse-hn today — window only; browses everything recent
  • /tweakidea browse-hn — fully interactive

/tweakidea analyze-hn-post

Fetches a Hacker News post (article + full comment tree), identifies 3-6 technology shifts, and surfaces 1-3 product opportunities per shift. Confirmed opportunities are written up and can be fed into /tweakidea evaluate.

  • /tweakidea analyze-hn-post 43374458 — by HN id
  • /tweakidea analyze-hn-post https://news.ycombinator.com/item?id=43374458 — by URL
  • /tweakidea analyze-hn-post — prompts for an id

/tweakidea improve

Reads a completed evaluation run and generates three rewrites at escalating scales — Small reframe, Medium reshape, Big reimagine — each targeting the weakest dimensions with rubric-grounded rationale and mandatory trade-off acknowledgments. Read-only.

  • /tweakidea improve latest — improve the most recent run
  • /tweakidea improve 20260416 — improve a run by timestamp prefix

/tweakidea diff

Compares two evaluation runs side-by-side — score changes, potential shifts, verdict movement, and a per-dimension breakdown of what moved. Read-only.

  • /tweakidea diff latest — compare the two most recent runs
  • /tweakidea diff 20260413 20260416 — compare two runs by timestamp prefix
  • /tweakidea diff 20260413 latest — compare a specific run against the latest

/tweakidea list

Lists artifacts under ~/.tweakidea/ — evaluation runs, HN analyses, and founder profiles. Arguments are free-form. Read-only.

  • /tweakidea list — all categories, 5 most recent per section
  • /tweakidea list runs 20 — the 20 most recent evaluation runs
  • /tweakidea list best ideas — runs ranked by weighted score
  • /tweakidea list hn — just HN analyses

/tweakidea show

Opens any artifact under ~/.tweakidea/ by timestamp, keyword, HN id, founder name, or natural query. Run reports open in the browser; HN and founder artifacts are inlined.

  • /tweakidea show latest — most recent evaluation run
  • /tweakidea show 20260412-143022 — a specific run by timestamp
  • /tweakidea show restaurant food waste — keyword match on idea text
  • /tweakidea show hn 43374458 — an HN analysis by id
  • /tweakidea show best ideas — ranked query over saved runs

/tweakidea share

Uploads a run's report.html to a secret GitHub gist and prints two links — the gist itself and an htmlpreview.github.io rendered URL you can paste into Slack or email. Requires the GitHub CLI (gh auth login).

  • /tweakidea share — share the most recent run
  • /tweakidea share latest — same, explicit
  • /tweakidea share 20260412-143022 — a specific run by timestamp
  • /tweakidea share restaurant food waste — keyword match on idea text

Installation

# uv runs the bundled Python scripts (or: brew install uv)
curl -LsSf https://astral.sh/uv/install.sh | sh

npx skills add eph5xx/tweakidea

Works in any Agent Skills agent; tuned and tested on Claude Code. /tweakidea evaluate also needs subagents and web search.

This uses the skills CLI, which detects your installed agents and installs one skill, tweakidea. Useful flags:

  • -g installs for all projects instead of just the current one
  • -a claude-code targets a specific agent
  • -y skips the prompts, for example npx skills add eph5xx/tweakidea -g -a claude-code -y

After install, open your agent and type /tweakidea followed by a command: evaluate, improve, diff, browse-hn, analyze-hn-post, list, show, or share. Run /tweakidea on its own to see the command menu.

Update with npx skills update tweakidea. Remove with npx skills remove tweakidea (add -g for a global install).

Note

First /tweakidea evaluate run takes 10-20 minutes — it creates your founder profile, runs the researcher, and dispatches 14 parallel Sonnet evaluators plus one Opus synthesis pass. Subsequent runs reuse the founder profile and finish faster.

As a plugin

Claude Code:

/plugin marketplace add eph5xx/tweakidea
/plugin install tweakidea@tweakidea

Plugin skills are namespaced, so commands become /tweakidea:tweakidea <command>.

Codex:

codex plugin marketplace add eph5xx/tweakidea
codex plugin add tweakidea@tweakidea

Start a new session afterwards. You can also install it from /plugins inside Codex. Update with codex plugin marketplace upgrade tweakidea.

Cursor: TweakIdea isn't in the Cursor Marketplace, so add the repo as a marketplace:

cursor-agent plugin marketplace add https://github.com/eph5xx/tweakidea

Then run cursor-agent, type /plugin, open the Marketplace tab, and select tweakidea.

Or clone it into Cursor's local plugin folder and run Developer: Reload Window:

git clone https://github.com/eph5xx/tweakidea ~/.cursor/plugins/local/tweakidea
Legacy installer (npx tweakidea)

The original npm installer still works for Claude Code. It prompts for global (~/.claude) or local (./.claude) placement and copies the skill there.

npx tweakidea       # install
npx tweakidea -u    # uninstall
Better article extraction (optional)

For JS-heavy sites, run uv run playwright install chromium once. Without it, the HN fetcher falls back to plain HTTP — which works fine for most sites.

License

MIT — see LICENSE for details.