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
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.
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>/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
30-day change not yet available: not enough history.
Individual skills in this repository
- tweakidea
skills/tweakidea
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 tokensAlways available to the agent
SKILL.md
1,760 tokensWhen the skill is activated
Reference documents
38,372 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- Routing
- Commands
- Internal references
- Scripts and assets
- Rules
Scripts executed separately
scripts/compute.pyscripts/hnparse.pyscripts/hnsearch.pyscripts/lib/__init__.pyscripts/lib/errors.pyscripts/lib/registry.pyscripts/lib/schema.pyscripts/render_report.py
Files
../../.claude-plugin/marketplace.jsonasset364 bytes../../.claude-plugin/plugin.jsonasset621 bytesSKILL.mdcore7,187 bytesassets/report/styles.cssasset28,336 bytesassets/report/template.html.j2asset24,143 bytesassets/report/template.md.j2asset4,333 bytesassets/schemas/assumptions.jsonasset973 bytesassets/schemas/dimension-evaluation.jsonasset3,173 bytesassets/schemas/hypotheses.jsonasset948 bytesassets/schemas/idea.jsonasset1,502 bytesassets/schemas/next-steps.jsonasset1,337 bytesassets/schemas/numbers.jsonasset4,985 bytesassets/schemas/potential.jsonasset2,109 bytesassets/schemas/research.jsonasset2,413 bytesassets/schemas/strengths-weaknesses.jsonasset918 bytesassets/schemas/version.jsonasset1,366 bytesreferences/agents/ti-evaluator.mddoc15,342 bytesreferences/agents/ti-extractor.mddoc4,651 bytesreferences/agents/ti-narrative.mddoc10,529 bytesreferences/agents/ti-researcher.mddoc6,830 bytesreferences/commands/analyze-hn-post.mddoc9,292 bytesreferences/commands/browse-hn.mddoc5,828 bytesreferences/commands/diff.mddoc6,498 bytesreferences/commands/evaluate.mddoc27,039 bytesreferences/commands/improve.mddoc9,377 bytesreferences/commands/list.mddoc2,493 bytesreferences/commands/share.mddoc2,394 bytesreferences/commands/show.mddoc2,820 bytesreferences/founder.mddoc6,541 bytesreferences/hn.mddoc1,861 bytesreferences/report.mddoc6,766 bytesreferences/runtime.mddoc6,051 bytesreferences/scoring/EVALUATION.mddoc3,374 bytesreferences/scoring/dimensions/behavior-change-required.mddoc2,970 bytesreferences/scoring/dimensions/clarity-of-target-customer.mddoc2,445 bytesreferences/scoring/dimensions/defensibility.mddoc2,904 bytesreferences/scoring/dimensions/founder-market-fit.mddoc3,059 bytesreferences/scoring/dimensions/frequency.mddoc2,477 bytesreferences/scoring/dimensions/incumbent-indifference.mddoc2,539 bytesreferences/scoring/dimensions/mandatory-nature.mddoc2,289 bytesreferences/scoring/dimensions/market-growth.mddoc2,189 bytesreferences/scoring/dimensions/market-size.mddoc2,553 bytesreferences/scoring/dimensions/pain-intensity.mddoc2,446 bytesreferences/scoring/dimensions/scalability.mddoc2,355 bytesreferences/scoring/dimensions/solution-gap.mddoc2,712 bytesreferences/scoring/dimensions/urgency.mddoc2,191 bytesreferences/scoring/dimensions/willingness-to-pay.mddoc2,450 bytesscripts/compute.pyruns8,957 bytesscripts/hnparse.pyruns8,198 bytesscripts/hnsearch.pyruns5,179 bytesscripts/lib/__init__.pyruns0 bytesscripts/lib/errors.pyruns1,818 bytesscripts/lib/registry.pyruns2,246 bytesscripts/lib/schema.pyruns1,508 bytesscripts/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:
$ARGUMENTSView the complete source on GitHubSkills 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 shellAutomated signals, not a guarantee
Checked Nov 5, 2026
- 1 broad permissionin 1 file: tweakidea/SKILL.md:1
- 3 dangerous shell commandsin 3 files: tweakidea/SKILL.md:16 tweakidea/references/commands/analyze-hn-post.md:45 tweakidea/references/commands/browse-hn.md:32
- 82 network referencesin 21 files: tweakidea/references/agents/ti-researcher.md:71 tweakidea/scripts/hnparse.py:32 tweakidea/references/commands/share.md:15 and 18 more
- No hidden or obfuscated text
- No instruction overrides
- 8 executable scriptsin 8 files: tweakidea/scripts/compute.py:1 tweakidea/scripts/hnparse.py:1 tweakidea/scripts/hnsearch.py:1 and 5 more
- No access to secrets
- No requests to vote in Hot
Show all 94 signals by file
.claude-plugin/marketplace.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
skills/tweakidea/assets/schemas/dimension-evaluation.json
skills/tweakidea/assets/schemas/hypotheses.json
skills/tweakidea/assets/schemas/idea.json
skills/tweakidea/assets/schemas/next-steps.json
skills/tweakidea/assets/schemas/numbers.json
skills/tweakidea/assets/schemas/potential.json
skills/tweakidea/assets/schemas/research.json
skills/tweakidea/assets/schemas/strengths-weaknesses.json
skills/tweakidea/assets/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
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
- Contacts hn.algolia.com, which SKILL.md, the README and the plugin manifest do not mentiontweakidea/scripts/hnparse.py:32High confidence
- Contacts hn.algolia.com, which SKILL.md, the README and the plugin manifest do not mentiontweakidea/scripts/hnsearch.py:16High confidence
Signal confidence: 51 facts
- Broad permissions in the frontmatter of the SKILL.mdtweakidea/SKILL.md:1High confidence
- Network access in prose of the SKILL.mdtweakidea/SKILL.md:14Low confidence
- Dangerous shell operation in prose of the SKILL.mdtweakidea/SKILL.md:16Low confidence
- Network access in prose of the SKILL.mdtweakidea/SKILL.md:16Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:71Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:72Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:73Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:78Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:79Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:80Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:85Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:86Low confidence
- Network access in code of documentationtweakidea/references/agents/ti-researcher.md:87Low confidence
- Network access in prose of documentationtweakidea/references/commands/analyze-hn-post.md:43Low confidence
- Network access in prose of documentationtweakidea/references/commands/analyze-hn-post.md:44Low confidence
- Dangerous shell operation in prose of documentationtweakidea/references/commands/analyze-hn-post.md:45Low confidence
- Network access in prose of documentationtweakidea/references/commands/analyze-hn-post.md:45Low confidence
- Network access in code of documentationtweakidea/references/commands/analyze-hn-post.md:131Low confidence
- Network access in code of documentationtweakidea/references/commands/analyze-hn-post.md:212Low confidence
- Dangerous shell operation in prose of documentationtweakidea/references/commands/browse-hn.md:32Low confidence
- Network access in prose of documentationtweakidea/references/commands/browse-hn.md:32Low confidence
- Network access in prose of documentationtweakidea/references/commands/share.md:15Low confidence
- Network access in prose of documentationtweakidea/references/commands/share.md:24Low confidence
- Network access in prose of documentationtweakidea/references/commands/share.md:30Low confidence
- Network access in prose of documentationtweakidea/references/commands/share.md:31Low confidence
- Network access in prose of documentationtweakidea/references/commands/share.md:33Low confidence
- Network access in prose of documentationtweakidea/references/commands/share.md:34Low confidence
- Network access in prose of documentationtweakidea/references/commands/share.md:36Low confidence
- Network access in prose of documentationtweakidea/references/hn.md:30Low confidence
- Network access in prose of documentationtweakidea/references/hn.md:31Low confidence
- Executable script in a comment of a file that runstweakidea/scripts/compute.py:1Low confidence
- Executable script in a comment of a file that runstweakidea/scripts/hnparse.py:1Low confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:32High confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:33High confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:54High confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:55High confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:56High confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:189High confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:190High confidence
- Network access in code of a file that runstweakidea/scripts/hnparse.py:191High confidence
- Executable script in a comment of a file that runstweakidea/scripts/hnsearch.py:1Low confidence
- Network access in code of a file that runstweakidea/scripts/hnsearch.py:16High confidence
- Network access in code of a file that runstweakidea/scripts/hnsearch.py:89High confidence
- Network access in code of a file that runstweakidea/scripts/hnsearch.py:109High confidence
- Network access in code of a file that runstweakidea/scripts/hnsearch.py:110High confidence
- Network access in code of a file that runstweakidea/scripts/hnsearch.py:111High confidence
- Executable script in prose of a file that runstweakidea/scripts/lib/__init__.py:1Low confidence
- Executable script in prose of a file that runstweakidea/scripts/lib/errors.py:1Low confidence
- Executable script in prose of a file that runstweakidea/scripts/lib/registry.py:1Low confidence
- Executable script in prose of a file that runstweakidea/scripts/lib/schema.py:1Low confidence
and 1 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/tweakidea/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/tweakidea/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/tweakidea/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/tweakidea/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.