关于 project-idea-validator
使用 TinyFish CLI 检查 GitHub 和 Dev.to 上是否已有类似项目的技能。它并行搜索两个来源,并将结果整理为差距分析。
主要功能
- 01搜索 GitHub 仓库
- 02搜索 Dev.to 文章
- 03并行执行搜索
- 04生成结构化差距分析
- 05支持关键词变体
适用场景
- 01开发前检查现有项目
- 02查找相关概念的文章
- 03识别项目方向中的空缺
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tinyfish-io/ tinyfish-cookbook --skill project-idea-validator安装后在 Claude Code 中输入/project-idea-validator确认已加载。
附带文件README.md
详细介绍
项目创意验证器 — 构建之前,先了解已有方案
你可以使用 TinyFish CLI(tinyfish),这是一款从终端通过自然语言目标运行浏览器自动化的工具。本技能使用它并行搜索 GitHub 和 Dev.to,然后将结果汇总为差距分析报告。
预检(必需)
进行任何 TinyFish 调用之前,始终运行这两项检查:
1. 是否已安装 CLI?
PowerShell:
Get-Command tinyfish; tinyfish --version
bash/zsh:
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"
如果尚未安装,请停止并告知用户:
安装 TinyFish CLI:
npm install -g @tiny-fish/cli
2. 是否已完成身份验证?
tinyfish auth status
如果尚未完成身份验证,请停止并告知用户:
你需要 TinyFish API 密钥。请在此处获取:https://agent.tinyfish.ai/api-keys
然后进行身份验证:
选项 1 — CLI 登录(交互式):
tinyfish auth login选项 2 — PowerShell(仅当前会话):
$env:TINYFISH_API_KEY="your_api_key_here"选项 3 — PowerShell(在各会话间持久生效):
[System.Environment]::SetEnvironmentVariable("TINYFISH_API_KEY", "your_api_key_here", "User")然后关闭并重新打开 PowerShell,使其生效。
选项 4 — bash/zsh(Mac/Linux):
export TINYFISH_API_KEY="your_api_key_here"选项 5 — Claude Code 设置: 添加到
~/.claude/settings.local.json:{ "env": { "TINYFISH_API_KEY": "your_api_key_here" } }
两项检查都通过之前,请勿继续。
本技能的功能
给定一个项目创意(例如 “一款将 Figma 设计转换为 Tailwind 组件的 CLI 工具”),本技能会:
- 在 GitHub 上搜索用途、技术栈或关键词相似的现有仓库
- 在 Dev.to 上搜索涉及同一问题的文章、教程或项目展示
随后将结果汇总为结构化的差距分析:已有方案、成熟度,以及仍有哪些机会。
核心命令
tinyfish agent run --url <url> "<goal>"
标志
| 标志 | 用途 |
|---|---|
--url <url> | 目标网站 URL |
--sync | 等待完整结果(不进行流式传输) |
--async | 提交后立即返回 |
--pretty | 以便于阅读的格式输出 |
分步工作流
第 1 步 — 搜索 GitHub
搜索与创意匹配的现有仓库。运行时使用 --sync,因为汇总之前需要获取完整列表。
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 创意示例:
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}]"
第 2 步 — 搜索 Dev.to
搜索涉及同一问题领域的文章和项目帖子。与第 1 步的结果处理并行运行。
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}]"
示例:
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 步和第 2 步相互独立,应同时运行。请勿等待 GitHub 搜索完成后才开始 Dev.to 搜索。
正确 — 并行调用:
# Fire 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}]" &
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}]" &
wait
错误 — 顺序调用:
# Don't do this — wastes time and gives the same results
tinyfish agent run --url "https://github.com/..." "...also search Dev.to..."
每个来源都应单独调用。务必如此。
第 3 步 — 汇总为差距分析
两个来源都返回结果后,请按以下结构汇总:
## Project 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>
### Gaps & Opportunities
- <specific gap #1>
- <specific gap #2>
- ...
### Verdict
<1–2 sentences: is the space crowded, open, or ripe for a better take?>
使用两个来源返回的原始 JSON 作为输入。不要凭空编造仓库名称、星标数或文章标题——只能使用 TinyFish 返回的内容。
关键词策略
结果质量很大程度上取决于搜索词。运行之前,请从创意中提炼出 2–3 组关键词变体:
| 创意 | 主要关键词 | 变体关键词 |
|---|---|---|
| Figma 转 Tailwind CLI | figma tailwind cli | figma css export、design token tailwind |
| AI 代码审查机器人 | ai code review github | llm pull request、automated code feedback |
| Markdown 到 Notion 同步 | markdown notion sync | notion import cli、notion api markdown |
如果第一轮搜索结果较少,请针对每个变体分别并行调用。
管理运行
# List recent runs
tinyfish agent run list
# Get a specific run by ID
tinyfish agent run get <run_id>
# Cancel a running automation
tinyfish agent run cancel <run_id>
输出
CLI 默认会流式输出 data: {...} SSE 行。最终结果是 type == "COMPLETE" 且 status == "COMPLETED" 的事件——提取的数据位于 resultJson 字段中。直接读取原始输出即可,无需在脚本端解析。