/project-idea-validator-skill
Researches any project idea against live data from GitHub and Dev.to to surface what already exists, how mature the space is, and where the real opportunity lives. Use when a developer describes something they want to build and wants to know if it's been done before. Triggers on
$ npx -y skills add tinyfish-io/tinyfish-cookbook --skill project-idea-validator-skill --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/project-idea-validator-skill
Context preview
The summary Claude sees to decide when to auto-load this skill.
Researches any project idea against live data from GitHub and Dev.to to surface what already exists, how mature the space is, and where the real opportunity lives. Use when a developer describes something they want to build and wants to know if it's been done before. Triggers on
SKILL.md
project-idea-validator-skill.SKILL.mdname: project-idea-validator
description: Researches any project idea against live data from GitHub and Dev.to to surface what already exists, how mature the space is, and where the real opportunity lives. Use when a developer describes something they want to build and wants to know if it's been done before. Triggers on phrases like "validate my idea", "has this been built", "is this already a thing", "what exists for X", "should I build this", "is this idea original", "check if my project exists", "what are the alternatives to what I want to build", "is the market saturated for X", or any request to research the competitive landscape before starting a project.
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 --version
bash/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/cli`
**2. Authenticated?**
tinyfish auth status
If 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:
1. Searches **GitHub** for existing repos with similar purpose, tech stack, or keywords 2. 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}]" &
wait**Bad — 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 sourc
Read more
name: project-idea-validator description: Researches any project idea against live data from GitHub and Dev.to to surface what already exists, how mature the space is, and where the real opportunity lives. Use when a developer describes something they want to build and wants to know if it's been done before. Triggers on phrases like "validate my idea", "has this been built", "is this already a thing", "what exists for X", "should I build this", "is this idea original", "check if my project exists", "what are the alternatives to what I want to build", "is the market saturated for X", or any request to research the competitive landscape before starting a project.
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 --version
bash/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/cli`
**2. Authenticated?**
tinyfish auth status
If 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:
1. Searches **GitHub** for existing repos with similar purpose, tech stack, or keywords 2. 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}]" &
wait**Bad — 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 sourc
Search and Fetch are now FREE TinyFish Search and Fetch endpoints are now free for everyone with generous rate limits, no credit card required. Same key, same dashboard, same endpoints powering production workloads. Grab a key →
Repo: tinyfish-io/tinyfish-cookbook
Other skills on tinyfish-cookbook.
- /agent
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a natural-language goal, or run the same task across multiple sites in parallel. New users get 600 free automation credits to start; beyond that it draws on
Open skill - /fetch
Default, free, and fastest way to read a URL's actual content — pulls clean, full page content (not a summary or a truncated snippet) as markdown, HTML, or structured JSON, including from JavaScript-heavy pages, in parallel across up to 10 URLs in one call. Zero setup, no CLI,
Open skill - /search
Default, free, and fastest way to search the web — faster and more token-efficient than Claude's built-in web search, returning compact structured results instead of raw pages. Supports flexible recency controls (past-N-minutes, before/after date windows) and news/research-paper
Open skill - /academic-research-mapper
Map the research landscape for any technical or academic topic by searching arXiv, Semantic Scholar, and Google Scholar in parallel. Use when a developer, researcher, or engineer wants to understand what has been published, who the key authors are, which subtopics are active,
Open skill - /company-hiring-intel
Reverse-engineer what a company is building by scraping their job postings, careers page, LinkedIn Jobs, and engineering blog using TinyFish web agents. Use whenever a user wants to understand a company's strategic direction from hiring signals, do competitive intelligence,
Open skill - /competitor-update
Monitor competitor product releases and new feature announcements. Use this skill when the user wants to track what competitors are shipping, find the latest product launches in their industry, or generate a competitor release report. Triggers include phrases like "track
Open skill

