Not in the top 1,000 by GitHub stars

eph5xx/tweakidea

Evaluate your startup idea from 1 to 5

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/tweakidea/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

007ebb9050fc → 007ebb9050fc

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 007ebb9050fc

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 007ebb9050fc6d0b3370bc5bf60c7f1f566a4301

git clone --filter=blob:none --no-checkout https://github.com/eph5xx/tweakidea.git .hotskills/eph5xx-tweakidea && git -C .hotskills/eph5xx-tweakidea checkout --detach 007ebb9050fc6d0b3370bc5bf60c7f1f566a4301 # Copy each selected skill directory from .hotskills/eph5xx-tweakidea into .claude/skills/<skill-name>/
57GitHub stars
2stars in 7 days
1skill in this repository
9commits in 30 days

Heat

5.2
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 28, 2026Nov 6, 202657

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

tweakidea

When your agent uses it

Use when a founder wants to evaluate a startup idea or problem, improve or compare idea evaluations, or mine Hacker News for product opportunities. Runs a 14-dimension weighted scorecard with assumption tracking, generates small/medium/big idea tweaks, diffs runs, browses and analyzes HN threads, and lists, opens, or shares artifacts saved under ~/.tweakidea/.

What it loads into context

Frontmatter

158 tokens

Always available to the agent

SKILL.md

1,760 tokens

When the skill is activated

Reference documents

38,372 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Setup
  2. Routing
  3. Commands
  4. Internal references
  5. Scripts and assets
  6. Rules

Scripts executed separately

  • scripts/compute.py
  • scripts/hnparse.py
  • scripts/hnsearch.py
  • scripts/lib/__init__.py
  • scripts/lib/errors.py
  • scripts/lib/registry.py
  • scripts/lib/schema.py
  • scripts/render_report.py

Files

  • ../../.claude-plugin/marketplace.jsonasset364 bytes
  • ../../.claude-plugin/plugin.jsonasset621 bytes
  • SKILL.mdcore7,187 bytes
  • assets/report/styles.cssasset28,336 bytes
  • assets/report/template.html.j2asset24,143 bytes
  • assets/report/template.md.j2asset4,333 bytes
  • assets/schemas/assumptions.jsonasset973 bytes
  • assets/schemas/dimension-evaluation.jsonasset3,173 bytes
  • assets/schemas/hypotheses.jsonasset948 bytes
  • assets/schemas/idea.jsonasset1,502 bytes
  • assets/schemas/next-steps.jsonasset1,337 bytes
  • assets/schemas/numbers.jsonasset4,985 bytes
  • assets/schemas/potential.jsonasset2,109 bytes
  • assets/schemas/research.jsonasset2,413 bytes
  • assets/schemas/strengths-weaknesses.jsonasset918 bytes
  • assets/schemas/version.jsonasset1,366 bytes
  • references/agents/ti-evaluator.mddoc15,342 bytes
  • references/agents/ti-extractor.mddoc4,651 bytes
  • references/agents/ti-narrative.mddoc10,529 bytes
  • references/agents/ti-researcher.mddoc6,830 bytes
  • references/commands/analyze-hn-post.mddoc9,292 bytes
  • references/commands/browse-hn.mddoc5,828 bytes
  • references/commands/diff.mddoc6,498 bytes
  • references/commands/evaluate.mddoc27,039 bytes
  • references/commands/improve.mddoc9,377 bytes
  • references/commands/list.mddoc2,493 bytes
  • references/commands/share.mddoc2,394 bytes
  • references/commands/show.mddoc2,820 bytes
  • references/founder.mddoc6,541 bytes
  • references/hn.mddoc1,861 bytes
  • references/report.mddoc6,766 bytes
  • references/runtime.mddoc6,051 bytes
  • references/scoring/EVALUATION.mddoc3,374 bytes
  • references/scoring/dimensions/behavior-change-required.mddoc2,970 bytes
  • references/scoring/dimensions/clarity-of-target-customer.mddoc2,445 bytes
  • references/scoring/dimensions/defensibility.mddoc2,904 bytes
  • references/scoring/dimensions/founder-market-fit.mddoc3,059 bytes
  • references/scoring/dimensions/frequency.mddoc2,477 bytes
  • references/scoring/dimensions/incumbent-indifference.mddoc2,539 bytes
  • references/scoring/dimensions/mandatory-nature.mddoc2,289 bytes
  • references/scoring/dimensions/market-growth.mddoc2,189 bytes
  • references/scoring/dimensions/market-size.mddoc2,553 bytes
  • references/scoring/dimensions/pain-intensity.mddoc2,446 bytes
  • references/scoring/dimensions/scalability.mddoc2,355 bytes
  • references/scoring/dimensions/solution-gap.mddoc2,712 bytes
  • references/scoring/dimensions/urgency.mddoc2,191 bytes
  • references/scoring/dimensions/willingness-to-pay.mddoc2,450 bytes
  • scripts/compute.pyruns8,957 bytes
  • scripts/hnparse.pyruns8,198 bytes
  • scripts/hnsearch.pyruns5,179 bytes
  • scripts/lib/__init__.pyruns0 bytes
  • scripts/lib/errors.pyruns1,818 bytes
  • scripts/lib/registry.pyruns2,246 bytes
  • scripts/lib/schema.pyruns1,508 bytes
  • scripts/render_report.pyruns6,026 bytes
Read SKILL.md

TweakIdea helps founders make better decisions: evaluate whether a problem is worth solving, or discover which problems are emerging from technology shifts. Be an honest second opinion, not a cheerleader.

## Setup

1. **SKILL_DIR** is the directory that contains this SKILL.md (the runtime reports it as the skill's base directory). If no base directory is reported, use the first of `$(pwd)/.claude/skills/tweakidea`, `$HOME/.claude/skills/tweakidea`, `$(pwd)/.agents/skills/tweakidea`, or `$HOME/.agents/skills/tweakidea` that contains `SKILL.md`. Every `{SKILL_DIR}` path in this skill and its references resolves against it.
2. **Runtime:** read [references/runtime.md](references/runtime.md) and map each capability it lists (`ask-user`, `spawn-subagent`, `web-search`, `read-file`, and the rest) and each model tier to what your runtime provides. The references name capabilities, not tools.
3. **HOME_DIR** is the output of `echo "$HOME"`. All user data lives under `{HOME_DIR}/.tweakidea/`.
4. Python helpers in `{SKILL_DIR}/scripts/` run through `uv run`. If a command needs them and `uv` is missing, tell the user to install it (`brew install uv` or `curl -LsSf https://astral.sh/uv/install.sh | sh`) and stop.

## Routing

The invocation arguments are:

$ARGUMENTS
View the complete source on GitHub

Skills included

  • tweakidea

Repository facts

License
MIT
Created
Apr 7, 2026
Last pushed
Oct 26, 2026
Forks
1
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Show all 94 signals by file

.claude-plugin/marketplace.json

  • Network accessline 1
    {   "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
  • Network accessline 2
    "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",

.claude-plugin/plugin.json

  • Network accessline 6
    "author": {     "name": "Aleksandr Sarantsev",     "url": "https://github.com/eph5xx"
  • Network accessline 7
    "name": "Aleksandr Sarantsev",     "url": "https://github.com/eph5xx"   },
  • Network accessline 8
    "url": "https://github.com/eph5xx"
  • Network accessline 9
    },   "homepage": "https://github.com/eph5xx/tweakidea",   "repository": "https://github.com/eph5xx/tweakidea",
  • Network accessline 10
    "homepage": "https://github.com/eph5xx/tweakidea",
  • Network accessline 11
    "repository": "https://github.com/eph5xx/tweakidea",

skills/tweakidea/SKILL.md

  • Broad permissionsline 1
    Read Write Bash Glob Agent AskUserQuestion
  • Network accessline 14
    2. **Runtime:** read [references/runtime.md](references/runtime.md) and map each capability it lists (`ask-user`, `spawn-subagent`, `web-search`, `read-file`, and the rest) and each model tier to what your runtime provides. The references n
  • Dangerous shell operationline 16
    4. Python helpers in `{SKILL_DIR}/scripts/` run through `uv run`. If a command needs them and `uv` is missing, tell the user to install it (`brew install uv` or `curl -LsSf https://astral.sh/uv/install.sh | sh`) and stop.
  • Network accessline 16
    4. Python helpers in `{SKILL_DIR}/scripts/` run through `uv run`. If a command needs them and `uv` is missing, tell the user to install it (`brew install uv` or `curl -LsSf https://astral.sh/uv/install.sh | sh`) and stop.

skills/tweakidea/assets/report/template.html.j2

  • Network accessline 5
    <meta name="viewport" content="width=device-width, initial-scale=1"> <title>TweakIdea — {{ idea.codename or "Evaluation" }}</title> <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 6
    <title>TweakIdea — {{ idea.codename or "Evaluation" }}</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 7
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 8
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 9
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">

skills/tweakidea/assets/schemas/assumptions.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/assumptions.json",

skills/tweakidea/assets/schemas/dimension-evaluation.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/dimension-evaluation.json",

skills/tweakidea/assets/schemas/hypotheses.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/hypotheses.json",

skills/tweakidea/assets/schemas/idea.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/idea.json",

skills/tweakidea/assets/schemas/next-steps.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/next-steps.json",

skills/tweakidea/assets/schemas/numbers.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/numbers.json",

skills/tweakidea/assets/schemas/potential.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/potential.json",

skills/tweakidea/assets/schemas/research.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/research.json",

skills/tweakidea/assets/schemas/strengths-weaknesses.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/strengths-weaknesses.json",

skills/tweakidea/assets/schemas/version.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://tweakidea.dev/schemas/version.json",

skills/tweakidea/references/agents/ti-researcher.md

  • Network accessline 71
    {         "text": "1-line user evidence finding (no URL inline)",         "source_url": "https://example.com/full-article-url",
  • Network accessline 72
    "text": "1-line user evidence finding (no URL inline)",         "source_url": "https://example.com/full-article-url",         "source_title": "example.com"
  • Network accessline 73
    "source_url": "https://example.com/full-article-url",
  • Network accessline 78
    {         "text": "1-line competitive finding",         "source_url": "https://competitor-review.com/article",
  • Network accessline 79
    "text": "1-line competitive finding",         "source_url": "https://competitor-review.com/article",         "source_title": "competitor-review.com"
  • Network accessline 80
    "source_url": "https://competitor-review.com/article",
  • Network accessline 85
    {         "text": "1-line market data citation",         "source_url": "https://market-report.com/2025",
  • Network accessline 86
    "text": "1-line market data citation",         "source_url": "https://market-report.com/2025",         "source_title": "market-report.com"
  • Network accessline 87
    "source_url": "https://market-report.com/2025",

skills/tweakidea/references/commands/analyze-hn-post.md

  • Network accessline 43
    > > Install it: > - `curl -LsSf https://astral.sh/uv/install.sh | sh`
  • Network accessline 44
    > Install it: > - `curl -LsSf https://astral.sh/uv/install.sh | sh` > - Or: `brew install uv`
  • Dangerous shell operationline 45
    > - `curl -LsSf https://astral.sh/uv/install.sh | sh`
  • Network accessline 45
    > - `curl -LsSf https://astral.sh/uv/install.sh | sh`
  • Network accessline 131
    Source: https://news.ycombinator.com/item?id={item_id}
  • Network accessline 212
    Source: https://news.ycombinator.com/item?id={item_id}

skills/tweakidea/references/commands/browse-hn.md

  • Dangerous shell operationline 32
    Verify `uv` is on PATH (`which uv`). If missing, tell the user to install it (`brew install uv` or `curl -LsSf https://astral.sh/uv/install.sh | sh`) and stop.
  • Network accessline 32
    Verify `uv` is on PATH (`which uv`). If missing, tell the user to install it (`brew install uv` or `curl -LsSf https://astral.sh/uv/install.sh | sh`) and stop.

skills/tweakidea/references/commands/share.md

  • Network accessline 15
    Require `gh`: `command -v gh >/dev/null && gh auth status >/dev/null 2>&1`. On failure, print exactly one line — `gh CLI not available or not logged in — install at https://cli.github.com and run \`gh auth login\`, then retry.` — and stop b
  • Network accessline 24
    Then run `gh gist create "<run>/report.html" --desc "<description>"`. Secret by default; no `--public` flag. Capture stdout, take the last non-empty line, and trim surrounding whitespace — that's the gist URL, of the form `https://gist.gith
  • Network accessline 30
    **Code**     <https://gist.github.com/<user>/<id>>
  • Network accessline 31
    <https://gist.github.com/<user>/<id>>
  • Network accessline 33
    **Preview**     <https://htmlpreview.github.io/?https://gist.githubusercontent.com/<user>/<id>/raw/report.html>
  • Network accessline 34
    <https://htmlpreview.github.io/?https://gist.githubusercontent.com/<user>/<id>/raw/report.html>
  • Network accessline 36
    Derive `<user>/<id>` by stripping the `https://gist.github.com/` prefix from the trimmed upload URL.

skills/tweakidea/references/hn.md

  • Network accessline 30
    - Single dependency: `httpx` (no Playwright / trafilatura needed) - Queries `https://hn.algolia.com/api/v1/search` (popularity-sorted)
  • Network accessline 31
    - Queries `https://hn.algolia.com/api/v1/search` (popularity-sorted)

skills/tweakidea/scripts/compute.py

  • Executable scriptline 1
    Executable file

skills/tweakidea/scripts/hnparse.py

  • Executable scriptline 1
    Executable file
  • Network accessline 32
    url = f"https://hn.algolia.com/api/v1/items/{item_id}"     resp = httpx.get(url, timeout=30, follow_redirects=True)
  • Network accessline 33
    resp = httpx.get(url, timeout=30, follow_redirects=True)
  • Network accessline 54
    if not article_html:         try:             resp = httpx.get(
  • Network accessline 55
    try:             resp = httpx.get(                 url,
  • Network accessline 56
    resp = httpx.get(
  • Network accessline 189
    parts.append(f"# {title}\n")     parts.append(f"**Author:** {author} | **Score:** {points} points | **Date:** {date_str}")     parts.append(f"**HN Link:** https://news.ycombinator.com/item?id={item_id}")
  • Network accessline 190
    parts.append(f"**Author:** {author} | **Score:** {points} points | **Date:** {date_str}")     parts.append(f"**HN Link:** https://news.ycombinator.com/item?id={item_id}")     if url:
  • Network accessline 191
    parts.append(f"**HN Link:** https://news.ycombinator.com/item?id={item_id}")

skills/tweakidea/scripts/hnsearch.py

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    ALGOLIA_SEARCH_URL = "https://hn.algolia.com/api/v1/search"
  • Network accessline 89
    resp = httpx.get(ALGOLIA_SEARCH_URL, params=params, timeout=30, follow_redirects=True)
  • Network accessline 109
    "created_at_i": created_ts,                 "relative_age": relative_time_from_epoch(created_ts) if created_ts else "",                 "hn_url": f"https://news.ycombinator.com/item?id={object_id}",
  • Network accessline 110
    "relative_age": relative_time_from_epoch(created_ts) if created_ts else "",                 "hn_url": f"https://news.ycombinator.com/item?id={object_id}",             }
  • Network accessline 111
    "hn_url": f"https://news.ycombinator.com/item?id={object_id}",

skills/tweakidea/scripts/lib/__init__.py

  • Executable scriptline 1
    Executable file

skills/tweakidea/scripts/lib/errors.py

  • Executable scriptline 1
    Executable file

skills/tweakidea/scripts/lib/registry.py

  • Executable scriptline 1
    Executable file

skills/tweakidea/scripts/lib/schema.py

  • Executable scriptline 1
    Executable file

skills/tweakidea/scripts/render_report.py

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 2 facts
Signal confidence: 51 facts

and 1 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/tweakidea/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/tweakidea/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/tweakidea/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/tweakidea/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/tweakidea/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.