project-idea-validator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseProject Idea Validator — Discover What Already Exists Before You Build
项目创意验证工具 — 动手开发前先了解已有成果
You have access to the TinyFish CLI (), a tool that runs browser automations from the terminal using natural language goals. This skill uses it to search GitHub and Dev.to in parallel, then synthesizes results into a gap analysis report.
tinyfish你可以使用TinyFish CLI(),这是一个通过自然语言目标在终端运行浏览器自动化的工具。本技能会用它并行搜索GitHub和Dev.to,然后将结果合成为差距分析报告。
tinyfishPre-flight Check (REQUIRED)
前置检查(必填)
Before making any TinyFish call, always run BOTH checks:
1. CLI installed?
PowerShell:
powershell
Get-Command tinyfish; tinyfish --versionbash/zsh:
bash
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"If not installed, stop and tell the user:
Install the TinyFish CLI:npm install -g @tiny-fish/cli
2. Authenticated?
powershell
tinyfish auth statusIf not authenticated, stop and tell the user:
You need a TinyFish API key. Get one at: https://agent.tinyfish.ai/api-keysThen authenticate:Option 1 — CLI login (interactive):tinyfish auth loginOption 2 — PowerShell (current session only):powershell$env:TINYFISH_API_KEY="your_api_key_here"Option 3 — PowerShell (persist across sessions):powershell[System.Environment]::SetEnvironmentVariable("TINYFISH_API_KEY", "your_api_key_here", "User")Then close and reopen PowerShell for it to take effect.Option 4 — bash/zsh (Mac/Linux):bashexport TINYFISH_API_KEY="your_api_key_here"Option 5 — Claude Code settings: Add to:~/.claude/settings.local.jsonjson{ "env": { "TINYFISH_API_KEY": "your_api_key_here" } }
Do NOT proceed until both checks pass.
在调用任何TinyFish命令前,务必完成以下两项检查:
1. 是否已安装CLI?
PowerShell:
powershell
Get-Command tinyfish; tinyfish --versionbash/zsh:
bash
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"如果未安装,请停止操作并告知用户:
安装TinyFish CLI:npm install -g @tiny-fish/cli
2. 是否已完成认证?
powershell
tinyfish auth status如果未认证,请停止操作并告知用户:
你需要一个TinyFish API密钥。请前往以下地址获取:https://agent.tinyfish.ai/api-keys然后进行认证:选项1 — CLI登录(交互式):tinyfish auth login选项2 — PowerShell(仅当前会话):powershell$env:TINYFISH_API_KEY="your_api_key_here"选项3 — PowerShell(跨会话持久化):powershell[System.Environment]::SetEnvironmentVariable("TINYFISH_API_KEY", "your_api_key_here", "User")然后关闭并重新打开PowerShell使设置生效。选项4 — bash/zsh(Mac/Linux):bashexport TINYFISH_API_KEY="your_api_key_here"选项5 — Claude Code设置: 添加至:~/.claude/settings.local.jsonjson{ "env": { "TINYFISH_API_KEY": "your_api_key_here" } }
必须在两项检查都通过后才能继续。
What This Skill Does
本技能的功能
Given a project idea (e.g. "a CLI tool that converts Figma designs to Tailwind components"), this skill:
- Searches GitHub for existing repos with similar purpose, tech stack, or keywords
- Searches Dev.to for articles, tutorials, or project showcases covering the same problem
It then synthesizes findings into a structured gap analysis: what exists, how mature it is, and where the opportunity still lives.
给定一个项目创意(例如:"将Figma设计转换为Tailwind组件的CLI工具"),本技能会:
- 在GitHub上搜索具有相似用途、技术栈或关键词的现有仓库
- 在Dev.to上搜索涵盖同一问题的文章、教程或项目展示
随后将结果合成为结构化的差距分析:已有哪些成果、领域成熟度如何,以及仍存在哪些机会。
Core Command
核心命令
bash
tinyfish agent run --url <url> "<goal>"bash
tinyfish agent run --url <url> "<goal>"Flags
标志
| Flag | Purpose |
|---|---|
| Target website URL |
| Wait for full result (no streaming) |
| Submit and return immediately |
| Human-readable formatted output |
| 标志 | 用途 |
|---|---|
| 目标网站URL |
| 等待完整结果(无流式输出) |
| 提交后立即返回 |
| 生成人类可读的格式化输出 |
Step-by-Step Workflow
分步工作流程
Step 1 — Search GitHub
步骤1 — 搜索GitHub
Search for existing repositories matching the idea. Run with since you need the full list before synthesizing.
--syncbash
tinyfish agent run --sync --url "https://github.com/search?q=<keywords>&type=repositories&s=stars&o=desc" \
"Extract the top 10 search results as JSON: [{\"name\": str, \"owner\": str, \"description\": str, \"stars\": str, \"url\": str, \"last_updated\": str}]"Example for a Figma-to-Tailwind CLI idea:
bash
tinyfish agent run --sync \
--url "https://github.com/search?q=figma+tailwind+cli&type=repositories&s=stars&o=desc" \
"Extract the top 10 repositories as JSON: [{\"name\": str, \"owner\": str, \"description\": str, \"stars\": str, \"url\": str, \"last_updated\": str}]"搜索与创意匹配的现有仓库。使用标志,因为你需要完整列表才能进行结果合成。
--syncbash
tinyfish agent run --sync --url "https://github.com/search?q=<keywords>&type=repositories&s=stars&o=desc" \
"Extract the top 10 search results as JSON: [{\"name\": str, \"owner\": str, \"description\": str, \"stars\": str, \"url\": str, \"last_updated\": str}]"Figma转Tailwind CLI创意的示例:
bash
tinyfish agent run --sync \
--url "https://github.com/search?q=figma+tailwind+cli&type=repositories&s=stars&o=desc" \
"Extract the top 10 repositories as JSON: [{\"name\": str, \"owner\": str, \"description\": str, \"stars\": str, \"url\": str, \"last_updated\": str}]"Step 2 — Search Dev.to
步骤2 — 搜索Dev.to
Search for articles and project posts covering the same problem space. Run in parallel with Step 1 results processing.
bash
tinyfish agent run --sync --url "https://dev.to/search?q=<keywords>" \
"Extract the top 10 articles as JSON: [{\"title\": str, \"author\": str, \"tags\": [str], \"published_at\": str, \"url\": str, \"reactions\": str}]"Example:
bash
tinyfish agent run --sync \
--url "https://dev.to/search?q=figma+tailwind+component+generator" \
"Extract the top 10 articles as JSON: [{\"title\": str, \"author\": str, \"tags\": [str], \"published_at\": str, \"url\": str, \"reactions\": str}]"搜索涵盖同一问题领域的文章和项目帖子。与步骤1的结果处理并行执行。
bash
tinyfish agent run --sync --url "https://dev.to/search?q=<keywords>" \
"Extract the top 10 articles as JSON: [{\"title\": str, \"author\": str, \"tags\": [str], \"published_at\": str, \"url\": str, \"reactions\": str}]"示例:
bash
tinyfish agent run --sync \
--url "https://dev.to/search?q=figma+tailwind+component+generator" \
"Extract the top 10 articles as JSON: [{\"title\": str, \"author\": str, \"tags\": [str], \"published_at\": str, \"url\": str, \"reactions\": str}]"Parallel Execution
并行执行
Steps 1 and 2 are independent — run them at the same time. Do NOT wait for GitHub before starting Dev.to.
Good — Parallel calls:
bash
undefined步骤1和步骤2相互独立——应同时运行。不要等待GitHub搜索完成后再启动Dev.to搜索。
正确做法 — 并行调用:
bash
undefinedFire both simultaneously
同时触发两个调用
tinyfish agent run --sync --url "https://github.com/search?q=<keywords>&type=repositories&s=stars&o=desc"
"Extract top 10 repositories as JSON: [{"name": str, "owner": str, "description": str, "stars": str, "url": str, "last_updated": str}]" &
"Extract top 10 repositories as JSON: [{"name": str, "owner": str, "description": str, "stars": str, "url": str, "last_updated": str}]" &
tinyfish agent run --sync --url "https://dev.to/search?q=<keywords>"
"Extract top 10 articles as JSON: [{"title": str, "author": str, "url": str, "reactions": str}]" &
"Extract top 10 articles as JSON: [{"title": str, "author": str, "url": str, "reactions": str}]" &
wait
**Bad — Sequential calls:**
```bashtinyfish agent run --sync --url "https://github.com/search?q=<keywords>&type=repositories&s=stars&o=desc"
"Extract top 10 repositories as JSON: [{"name": str, "owner": str, "description": str, "stars": str, "url": str, "last_updated": str}]" &
"Extract top 10 repositories as JSON: [{"name": str, "owner": str, "description": str, "stars": str, "url": str, "last_updated": str}]" &
tinyfish agent run --sync --url "https://dev.to/search?q=<keywords>"
"Extract top 10 articles as JSON: [{"title": str, "author": str, "url": str, "reactions": str}]" &
"Extract top 10 articles as JSON: [{"title": str, "author": str, "url": str, "reactions": str}]" &
wait
**错误做法 — 顺序调用:**
```bashDon't do this — wastes time and gives the same results
请勿这样做——浪费时间且结果相同
tinyfish agent run --url "https://github.com/..." "...also search Dev.to..."
Each source is its own call. Always.
---tinyfish agent run --url "https://github.com/..." "...also search Dev.to..."
每个数据源都需要单独调用。务必遵守此规则。
---Step 3 — Synthesize Into a Gap Analysis
步骤3 — 合成为差距分析报告
Once both sources return results, synthesize findings into this structure:
undefined当两个数据源都返回结果后,将发现整理为以下结构:
undefinedProject Idea Validation: <idea title>
项目创意验证:<创意标题>
What Already Exists
已有成果
- <project/article> — <what it does, stars/reactions, last active>
- ...
- <项目/文章> — <功能介绍、星标/互动数、最后更新时间>
- ...
Maturity Assessment
成熟度评估
- GitHub: <active / abandoned / fragmented>
- Dev.to coverage: <heavy / moderate / sparse>
- GitHub:<活跃 / 已废弃 / 碎片化>
- Dev.to覆盖度:<密集 / 中等 / 稀疏>
Gaps & Opportunities
差距与机会
- <specific gap #1>
- <specific gap #2>
- ...
- <具体差距1>
- <具体差距2>
- ...
Verdict
结论
<1–2 sentences: is the space crowded, open, or ripe for a better take?>
Use the raw JSON from both sources as input. Do not hallucinate repo names, star counts, or article titles — only use what TinyFish returned.
---<1-2句话:该领域是拥挤、开放还是值得推出更优方案?>
以两个数据源返回的原始JSON作为输入。请勿虚构仓库名称、星标数量或文章标题——仅使用TinyFish返回的内容。
---Keyword Strategy
关键词策略
The quality of results depends heavily on your search terms. Before running, derive 2–3 keyword variants from the idea:
| Idea | Primary keywords | Variant keywords |
|---|---|---|
| Figma-to-Tailwind CLI | | |
| AI code review bot | | |
| Markdown-to-Notion sync | | |
Run separate parallel calls for each variant if the first pass returns sparse results.
结果的质量很大程度上取决于搜索词。在运行搜索前,从创意中衍生2-3个关键词变体:
| 创意 | 核心关键词 | 变体关键词 |
|---|---|---|
| Figma转Tailwind CLI | | |
| AI代码审查机器人 | | |
| Markdown转Notion同步工具 | | |
如果首次搜索结果稀疏,请针对每个变体分别进行并行调用。
Managing Runs
运行管理
bash
undefinedbash
undefinedList recent runs
列出最近的运行记录
tinyfish agent run list
tinyfish agent run list
Get a specific run by ID
通过ID获取特定运行记录
tinyfish agent run get <run_id>
tinyfish agent run get <run_id>
Cancel a running automation
取消正在运行的自动化任务
tinyfish agent run cancel <run_id>
---tinyfish agent run cancel <run_id>
---Output
输出
The CLI streams SSE lines by default. The final result is the event where and — the extracted data is in the field. Read the raw output directly; no script-side parsing is needed.
data: {...}type == "COMPLETE"status == "COMPLETED"resultJsonCLI默认会流式输出格式的SSE行。最终结果是且的事件——提取的数据位于字段中。直接读取原始输出即可;无需在脚本端进行解析。
data: {...}type == "COMPLETE"status == "COMPLETED"resultJson