mcpField
P
project-idea-validator

project-idea-validator

github.com/tinyfish-io生产力2.3k40 次安装6 天前更新
代码仓库

关于 project-idea-validator

使用 TinyFish CLI 检查 GitHub 和 Dev.to 上是否已有类似项目的技能。它并行搜索两个来源,并将结果整理为差距分析。

主要功能

  1. 01搜索 GitHub 仓库
  2. 02搜索 Dev.to 文章
  3. 03并行执行搜索
  4. 04生成结构化差距分析
  5. 05支持关键词变体

适用场景

  1. 01开发前检查现有项目
  2. 02查找相关概念的文章
  3. 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 工具”),本技能会:

  1. 在 GitHub 上搜索用途、技术栈或关键词相似的现有仓库
  2. 在 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 CLIfigma tailwind clifigma css export、design token tailwind
AI 代码审查机器人ai code review githubllm pull request、automated code feedback
Markdown 到 Notion 同步markdown notion syncnotion 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 字段中。直接读取原始输出即可,无需在脚本端解析。

评论

支持 Markdown