Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/tinyfish-io/tinyfish-cookbook --skill project-idea-validatorAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Project Idea Validator — Discover What Already Exists Before You Build
You have access to the TinyFish CLI (tinyfish), 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.
Pre-flight Check (REQUIRED)
Before making any TinyFish call, always run BOTH checks:
1. CLI installed?
PowerShell:
Get-Command tinyfish; tinyfish --versionbash/zsh:
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/cli2. Authenticated?
tinyfish auth statusIf not authenticated, stop and tell the user:
You need a TinyFish API key. Get one at: https://agent.tinyfish.ai/api-keys Then authenticate: Option 1 — CLI login (interactive): ``tinyfish auth login**Option 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):**bash export TINYFISH_API_KEY="your_api_key_here"**Option 5 — Claude Code settings:** Add to~/.claude/settings.local.json:json { "env": { "TINYFISH_API_KEY": "your_api_key_here" } }
Do NOT proceed until both checks pass.
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.
Core Command
tinyfish agent run --url <url> "<goal>"Flags
| Flag | Purpose |
|---|---|
--url <url> | Target website URL |
--sync | Wait for full result (no streaming) |
--async | Submit and return immediately |
--pretty | Human-readable formatted output |
Step-by-Step Workflow
Step 1 — Search GitHub
Search for existing repositories matching the idea. Run with --sync since you need the full list before synthesizing.
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:
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
Search for articles and project posts covering the same problem space. Run in parallel with Step 1 results processing.
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:
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:
# 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}]" &
waitBad — Sequential calls:
# Don'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.
Step 3 — Synthesize Into a Gap Analysis
Once both sources return results, synthesize findings into this structure:
## 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?>Use the raw JSON from both sources as input. Do not hallucinate repo names, star counts, or article titles — only use what TinyFish returned.
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 | figma tailwind cli | figma css export, design token tailwind |
| AI code review bot | ai code review github | llm pull request, automated code feedback |
| Markdown-to-Notion sync | markdown notion sync | notion import cli, notion api markdown |
Run separate parallel calls for each variant if the first pass returns sparse results.
Managing Runs
# 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>Output
The CLI streams data: {...} SSE lines by default. The final result is the event where type == "COMPLETE" and status == "COMPLETED" — the extracted data is in the resultJson field. Read the raw output directly; no script-side parsing is needed.


