Overview
Most free tools built for SEO fail because they're picked by gut, not by a gate. They duplicate something Lorem-Ipsum-generic, run on commodity data, drift outside the site's niche, or have no monetization path — so even when they get traffic, they don't earn links and don't move revenue. This skill encodes the discovery funnel that prevents that: a niche-fit + data-moat gate that kills 80% of bad ideas before any build effort, a 5-candidate scoring rubric that ranks survivors, and a hand-off format that names the downstream build agent so nothing falls between roles.
Use this skill BEFORE any tool-build work. Skip it if the user has already validated their concept and just wants to ship.
Instructions
Core Rules
- The data moat decides everything. A tool without proprietary or hard-to-replicate data is a commodity. Commodity tools earn no durable links — competitors clone them in a day. If no moat, kill the idea even if everything else looks good.
- Niche fit is non-negotiable. A "useful" tool that doesn't serve the site's existing audience earns off-topic links that Google discounts. Cosmetics site → skin-tone matcher YES, SEO checker NO.
- 80/20 the planning. 80% of the value of this skill is in idea selection (niche fit + data moat). Building is downstream. Do not let users skip the gate to "just start building."
- Five candidates, not one. Single-idea brainstorms anchor to whatever came first. Always generate five and rank — even if four are obvious dead ends, the comparison clarifies why the survivor wins.
- Output a strategy brief, not a verdict. The skill's deliverable is a written brief covering niche fit, data moat, SEO signals, feasibility, monetization, and alignment. Build, on-page wrapping, and launch content are downstream concerns owned by the orchestrating agent.
- Compound over spike. Prefer tools that keep earning links for years (calculators on durable data, embed widgets) over tools tied to a news cycle.
The Funnel
Stage 1 — Gatekeeping Questions (kill or proceed)
Before anything else, force two answers from the user. If either is "no" or "unclear," stop and ask. Do not proceed to candidate generation.
- Niche question: "What is the site's niche, in one sentence? Who exactly visits today?"
- Data question: "What data do you already own or can ingest cheaply? List concretely."
Examples of valid data sources:
- Product or service specifications (catalogs, SKUs, configurations)
- Blog post / article databases (your content corpus)
- Public APIs you can hit affordably (price feeds, weather, gov data, sports stats)
- Proprietary metrics (your own benchmarks, performance data, conversion stats)
- Customer datasets (anonymized usage data, survey results)
- Community-generated content (reviews, ratings, comments — with rights)
If the user can't name concrete data, kill the engagement: "Without a data source you own or can ingest cheaply, every tool you build will be commodity. Come back when you have at least one of these." Do not soften this.
Stage 2 — Generate 5 Candidates
Brainstorm exactly five candidate tools that:
- Use one or more of the user's named data sources
- Solve a problem the user's existing audience actually has
- Could plausibly be embedded, shared, or cited
Write each as one sentence: [Tool name] — [what it does] — [data it uses].
Example for a GPU benchmark site:
- GPU Compatibility Matrix — checks if a GPU fits a given motherboard/case/PSU — uses spec database
- FPS Estimator — predicts FPS for game × GPU × resolution — uses benchmark database
- Upgrade ROI Calculator — shows cost-per-FPS gained for an upgrade — uses spec + benchmark + price data
- Power Draw Estimator — calculates total system wattage needed — uses spec database
- GPU Generation Timeline — visualizes performance gains across generations — uses benchmark database
Stage 3 — Score Each Candidate Across 5 Dimensions
Score 1–5 (1 = bad, 5 = excellent) on each dimension. Total a candidate by summing — but a single 1 in data_moat or niche_fit is a kill regardless of total.
| Dimension |
What 5 looks like |
What 1 looks like |
| Niche fit |
The site's exact audience uses this monthly |
The audience would never search for this |
| Data moat |
Built on proprietary data competitors can't easily replicate |
Built on data anyone can scrape in a day |
| SEO signals |
Sticky (3–5 min dwell), produces shareable outputs, AI-citable answers, natural embed hook |
Static result, nothing to embed, no citation hook |
| Feasibility |
Mostly client-side, ships in days |
Months of backend, infrastructure-heavy |
| Monetization path |
Clear path to email capture / affiliate / paid upgrade / sponsorship |
No revenue connection at all |
A score of 1 on niche_fit OR data_moat → strike the candidate. No exceptions.
Stage 4 — Alignment Checklist (final gate on the top candidate)
Before recommending the highest-scoring candidate, run it through:
A "no" on any of these is not an automatic kill — but every "no" must be acknowledged in the hand-off brief with mitigation.
Stage 5 — Hand-Off Brief
Output a single brief in the format below. This is the deliverable.
# Free Tool Brief: [Tool Name]
## Niche Fit
[One paragraph. Who the tool serves and why this matches the site's existing audience.]
## Data Moat
[One paragraph. The proprietary/exclusive data this runs on. Why competitors can't replicate cheaply.]
## SEO Signals
- Expected dwell time: [estimate, with reasoning]
- Embed opportunity: [yes/no — which publishers would embed and why]
- AI citation potential: [yes/no — does it produce extractable, citable answers? FAQ/structured-output formats?]
- Backlink hook: [the natural reason a journalist or blogger would link]
- Shareability: [does it produce a result users want to share? screenshot? badge?]
## Feasibility
- Mostly client-side? [yes/no]
- Data ingestion needs: [one-time / periodic / live]
- External APIs needed: [list, with cost notes]
- Estimated build effort: [days/weeks]
## Monetization Path
[How the tool feeds the funnel — email capture, affiliate clicks, paid upsell, sponsorship slots, lead gen.]
## Alignment Notes
- Audience match: [✅/⚠️ + note]
- Brand fit: [✅/⚠️ + note]
- Competitive moat: [✅/⚠️ + note]
- Longevity: [✅/⚠️ + note]
## Build Notes (for the orchestrating agent)
- **Stack hint:** [Svelte / Next / static HTML / Astro — based on feasibility]
- **Data source:** [exact source the build needs access to]
- **On-page wrapper:** page copy + meta + schema needs
- **Launch content:** launch post / press hook angle
- **Tracking:** [what events to instrument — embed loads, completions, email captures]
Decision Guide — common cases
| Situation |
Action |
| User has no clear data source |
Kill the engagement at Stage 1. No moat = no point. |
| User has data but it's also publicly available |
Ask what their version adds (curation, structure, freshness). If nothing, kill. |
| Two candidates tie on score |
Pick the one with the stronger embed hook (compounds harder over time). |
| Top candidate fails brand fit only |
Acceptable IF the user is willing to build credibility first (1–2 supporting blog posts before tool launch). Note in mitigation. |
| User pushes "let's just start building" before scoring |
Hold the line. The whole point of this skill is to refuse premature build. |
| User's niche is too broad to assess |
Force a narrowing question: "Which sub-niche is the priority for the next 6 months?" |
Examples
Example 1: Cosmetics e-commerce site
Stage 1 inputs:
- Niche: mid-tier cosmetics e-commerce, focused on inclusive shade ranges for foundations
- Data: SKU database (3,400 products with hex codes + undertone tags), customer purchase history, returns reasons
Stage 2 candidates:
- Skin-Tone-to-Foundation Matcher — uploads selfie or picks tone, returns matching SKUs — uses SKU database
- Lorem Ipsum for Beauty Copy — generic placeholder text — none
- Foundation Coverage Comparison — side-by-side coverage levels — uses SKU database
- Return-Reason Stats Dashboard — public stats on which products are returned and why — uses returns data
- SEO Keyword Tool for Beauty Brands — generic SEO checker — none
Stage 3 scores:
| Candidate |
Niche |
Moat |
SEO |
Feas |
Monet |
Total |
Verdict |
| 1. Tone Matcher |
5 |
5 |
5 |
4 |
5 |
24 |
✅ |
| 2. Lorem Ipsum |
1 |
1 |
1 |
5 |
1 |
9 |
❌ kill (niche=1, moat=1) |
| 3. Coverage Compare |
5 |
4 |
4 |
4 |
4 |
21 |
possible |
| 4. Returns Dashboard |
4 |
5 |
4 |
3 |
2 |
18 |
privacy risk + weak monet |
| 5. SEO Keyword Tool |
1 |
1 |
3 |
3 |
2 |
10 |
❌ kill (niche=1) |
Stage 4 — Tone Matcher alignment:
- Audience match ✅ — exact pain point of every shopper
- Brand fit ✅ — site is already known for shade range
- Competitive moat ✅ — matcher accuracy depends on the SKU undertone tags (proprietary)
- Longevity ✅ — foundation matching is a permanent problem
Stage 5 — Strategy brief: (would be written using the template above; client-side image processing noted as a stack hint)
Example 2: Engineering blog with no data
Stage 1 inputs:
- Niche: engineering blog covering distributed systems
- Data: 47 published blog posts, no databases, no APIs, no proprietary metrics
Action: Kill at Stage 1.
"47 blog posts is content, not a tool data source. Building a tool here means building on commodity APIs (GitHub, Stack Overflow) — which means competitors can clone it in a weekend and your moat is zero. Two paths forward:
- Build a data set FIRST. Run benchmarks, scrape your own corpus, run a community survey. Come back when you have something exclusive.
- Skip free tools. Earn links via original research posts and digital PR — that plays to what you do have (writing). Different lever, no tool needed."
Do not soften, do not propose a tool anyway. The honest answer is the only useful one.
Example 3: User pushes to skip the funnel
User: "I already know I want to build a salary calculator for tech jobs. Just help me design it."
Response:
"Before producing the brief, two questions — these are the same gates the funnel runs and they're 30 seconds:
- What salary data are you using? (Public scraped Glassdoor data has no moat — Levels.fyi already won that. Proprietary survey, payroll-anonymized, or company-disclosed data is a different game.)
- Who's your existing audience and do they search for salary info? (If you're a dev-tools blog, salary data isn't your niche — links from HR sites won't compound your dev-tools rankings.)
If both pass, I'll write the brief. If either fails, we change the tool — not skip the questions."
References
1---2name: seo-tool-discovery3description: Validation funnel for deciding WHICH free tool to build for backlinks, embeds, and AI-search citation. Encodes the data-moat-first methodology: niche-fit gate, data inventory, 5-candidate scoring across niche/moat/SEO/feasibility/monetization, alignment checklist, and a strategy brief. Use BEFORE any tool-build work to avoid building commodity tools that earn nothing. Skip if the user has already validated the concept and just wants to build. Stays in the SEO lane: produces the brief — the build itself is a downstream concern owned elsewhere.4license: Apache-2.05---67## Overview89Most free tools built for SEO fail because they're picked by gut, not by a gate. They duplicate something Lorem-Ipsum-generic, run on commodity data, drift outside the site's niche, or have no monetization path — so even when they get traffic, they don't earn links and don't move revenue. This skill encodes the discovery funnel that prevents that: a niche-fit + data-moat gate that kills 80% of bad ideas before any build effort, a 5-candidate scoring rubric that ranks survivors, and a hand-off format that names the downstream build agent so nothing falls between roles.1011Use this skill BEFORE any tool-build work. Skip it if the user has already validated their concept and just wants to ship.1213## Instructions1415### Core Rules1617- The data moat decides everything. A tool without proprietary or hard-to-replicate data is a commodity. Commodity tools earn no durable links — competitors clone them in a day. If no moat, kill the idea even if everything else looks good.18- Niche fit is non-negotiable. A "useful" tool that doesn't serve the site's existing audience earns off-topic links that Google discounts. Cosmetics site → skin-tone matcher YES, SEO checker NO.19- 80/20 the planning. 80% of the value of this skill is in idea selection (niche fit + data moat). Building is downstream. Do not let users skip the gate to "just start building."20- Five candidates, not one. Single-idea brainstorms anchor to whatever came first. Always generate five and rank — even if four are obvious dead ends, the comparison clarifies why the survivor wins.21- Output a strategy brief, not a verdict. The skill's deliverable is a written brief covering niche fit, data moat, SEO signals, feasibility, monetization, and alignment. Build, on-page wrapping, and launch content are downstream concerns owned by the orchestrating agent.22- Compound over spike. Prefer tools that keep earning links for years (calculators on durable data, embed widgets) over tools tied to a news cycle.2324### The Funnel2526#### Stage 1 — Gatekeeping Questions (kill or proceed)2728Before anything else, force two answers from the user. If either is "no" or "unclear," stop and ask. Do not proceed to candidate generation.29301. Niche question: "What is the site's niche, in one sentence? Who exactly visits today?"312. Data question: "What data do you already own or can ingest cheaply? List concretely."3233Examples of valid data sources:34- Product or service specifications (catalogs, SKUs, configurations)35- Blog post / article databases (your content corpus)36- Public APIs you can hit affordably (price feeds, weather, gov data, sports stats)37- Proprietary metrics (your own benchmarks, performance data, conversion stats)38- Customer datasets (anonymized usage data, survey results)39- Community-generated content (reviews, ratings, comments — with rights)4041If the user can't name concrete data, kill the engagement: "Without a data source you own or can ingest cheaply, every tool you build will be commodity. Come back when you have at least one of these." Do not soften this.4243#### Stage 2 — Generate 5 Candidates4445Brainstorm exactly five candidate tools that:46- Use one or more of the user's named data sources47- Solve a problem the user's existing audience actually has48- Could plausibly be embedded, shared, or cited4950Write each as one sentence: `[Tool name] — [what it does] — [data it uses]`.5152Example for a GPU benchmark site:531. GPU Compatibility Matrix — checks if a GPU fits a given motherboard/case/PSU — uses spec database542. FPS Estimator — predicts FPS for game × GPU × resolution — uses benchmark database553. Upgrade ROI Calculator — shows cost-per-FPS gained for an upgrade — uses spec + benchmark + price data564. Power Draw Estimator — calculates total system wattage needed — uses spec database575. GPU Generation Timeline — visualizes performance gains across generations — uses benchmark database5859#### Stage 3 — Score Each Candidate Across 5 Dimensions6061Score 1–5 (1 = bad, 5 = excellent) on each dimension. Total a candidate by summing — but a single 1 in `data_moat` or `niche_fit` is a kill regardless of total.6263| Dimension | What 5 looks like | What 1 looks like |64|---|---|---|65| Niche fit | The site's exact audience uses this monthly | The audience would never search for this |66| Data moat | Built on proprietary data competitors can't easily replicate | Built on data anyone can scrape in a day |67| SEO signals | Sticky (3–5 min dwell), produces shareable outputs, AI-citable answers, natural embed hook | Static result, nothing to embed, no citation hook |68| Feasibility | Mostly client-side, ships in days | Months of backend, infrastructure-heavy |69| Monetization path | Clear path to email capture / affiliate / paid upgrade / sponsorship | No revenue connection at all |7071A score of 1 on niche_fit OR data_moat → strike the candidate. No exceptions.7273#### Stage 4 — Alignment Checklist (final gate on the top candidate)7475Before recommending the highest-scoring candidate, run it through:7677- [ ] Audience match — does this solve a problem the site's existing visitors face?78- [ ] Brand fit — would the site's customers expect them to build this? (Yes = free credibility. No = build credibility before launching.)79- [ ] Competitive moat — would a competitor need the user's specific data/position to replicate, or could they build it in a week?80- [ ] Longevity — will this tool still be relevant in 2 years, or is it a trend rider?8182A "no" on any of these is not an automatic kill — but every "no" must be acknowledged in the hand-off brief with mitigation.8384#### Stage 5 — Hand-Off Brief8586Output a single brief in the format below. This is the deliverable.8788```markdown89# Free Tool Brief: [Tool Name]9091## Niche Fit92[One paragraph. Who the tool serves and why this matches the site's existing audience.]9394## Data Moat95[One paragraph. The proprietary/exclusive data this runs on. Why competitors can't replicate cheaply.]9697## SEO Signals98- Expected dwell time: [estimate, with reasoning]99- Embed opportunity: [yes/no — which publishers would embed and why]100- AI citation potential: [yes/no — does it produce extractable, citable answers? FAQ/structured-output formats?]101- Backlink hook: [the natural reason a journalist or blogger would link]102- Shareability: [does it produce a result users want to share? screenshot? badge?]103104## Feasibility105- Mostly client-side? [yes/no]106- Data ingestion needs: [one-time / periodic / live]107- External APIs needed: [list, with cost notes]108- Estimated build effort: [days/weeks]109110## Monetization Path111[How the tool feeds the funnel — email capture, affiliate clicks, paid upsell, sponsorship slots, lead gen.]112113## Alignment Notes114- Audience match: [✅/⚠️ + note]115- Brand fit: [✅/⚠️ + note]116- Competitive moat: [✅/⚠️ + note]117- Longevity: [✅/⚠️ + note]118119## Build Notes (for the orchestrating agent)120- **Stack hint:** [Svelte / Next / static HTML / Astro — based on feasibility]121- **Data source:** [exact source the build needs access to]122- **On-page wrapper:** page copy + meta + schema needs123- **Launch content:** launch post / press hook angle124- **Tracking:** [what events to instrument — embed loads, completions, email captures]125```126127### Decision Guide — common cases128129| Situation | Action |130|---|---|131| User has no clear data source | Kill the engagement at Stage 1. No moat = no point. |132| User has data but it's also publicly available | Ask what their version adds (curation, structure, freshness). If nothing, kill. |133| Two candidates tie on score | Pick the one with the stronger embed hook (compounds harder over time). |134| Top candidate fails brand fit only | Acceptable IF the user is willing to build credibility first (1–2 supporting blog posts before tool launch). Note in mitigation. |135| User pushes "let's just start building" before scoring | Hold the line. The whole point of this skill is to refuse premature build. |136| User's niche is too broad to assess | Force a narrowing question: "Which sub-niche is the priority for the next 6 months?" |137138## Examples139140### Example 1: Cosmetics e-commerce site141142Stage 1 inputs:143- Niche: mid-tier cosmetics e-commerce, focused on inclusive shade ranges for foundations144- Data: SKU database (3,400 products with hex codes + undertone tags), customer purchase history, returns reasons145146Stage 2 candidates:1471. Skin-Tone-to-Foundation Matcher — uploads selfie or picks tone, returns matching SKUs — uses SKU database1482. Lorem Ipsum for Beauty Copy — generic placeholder text — none1493. Foundation Coverage Comparison — side-by-side coverage levels — uses SKU database1504. Return-Reason Stats Dashboard — public stats on which products are returned and why — uses returns data1515. SEO Keyword Tool for Beauty Brands — generic SEO checker — none152153Stage 3 scores:154| Candidate | Niche | Moat | SEO | Feas | Monet | Total | Verdict |155|---|---|---|---|---|---|---|---|156| 1. Tone Matcher | 5 | 5 | 5 | 4 | 5 | 24 | ✅ |157| 2. Lorem Ipsum | 1 | 1 | 1 | 5 | 1 | 9 | ❌ kill (niche=1, moat=1) |158| 3. Coverage Compare | 5 | 4 | 4 | 4 | 4 | 21 | possible |159| 4. Returns Dashboard | 4 | 5 | 4 | 3 | 2 | 18 | privacy risk + weak monet |160| 5. SEO Keyword Tool | 1 | 1 | 3 | 3 | 2 | 10 | ❌ kill (niche=1) |161162Stage 4 — Tone Matcher alignment:163- Audience match ✅ — exact pain point of every shopper164- Brand fit ✅ — site is already known for shade range165- Competitive moat ✅ — matcher accuracy depends on the SKU undertone tags (proprietary)166- Longevity ✅ — foundation matching is a permanent problem167168Stage 5 — Strategy brief: (would be written using the template above; client-side image processing noted as a stack hint)169170### Example 2: Engineering blog with no data171172Stage 1 inputs:173- Niche: engineering blog covering distributed systems174- Data: 47 published blog posts, no databases, no APIs, no proprietary metrics175176Action: Kill at Stage 1.177178> "47 blog posts is content, not a tool data source. Building a tool here means building on commodity APIs (GitHub, Stack Overflow) — which means competitors can clone it in a weekend and your moat is zero. Two paths forward:179> 1. Build a data set FIRST. Run benchmarks, scrape your own corpus, run a community survey. Come back when you have something exclusive.180> 2. Skip free tools. Earn links via original research posts and digital PR — that plays to what you do have (writing). Different lever, no tool needed."181182Do not soften, do not propose a tool anyway. The honest answer is the only useful one.183184### Example 3: User pushes to skip the funnel185186User: "I already know I want to build a salary calculator for tech jobs. Just help me design it."187188Response:189> "Before producing the brief, two questions — these are the same gates the funnel runs and they're 30 seconds:190> 1. What salary data are you using? (Public scraped Glassdoor data has no moat — Levels.fyi already won that. Proprietary survey, payroll-anonymized, or company-disclosed data is a different game.)191> 2. Who's your existing audience and do they search for salary info? (If you're a dev-tools blog, salary data isn't your niche — links from HR sites won't compound your dev-tools rankings.)192>193> If both pass, I'll write the brief. If either fails, we change the tool — not skip the questions."194195## References196197- Original article framework: [How to build free tools with Claude Code for backlinks](https://www.madebyagents.com/blog/how-to-build-free-tools-with-claude-code-for-backlinks)198- Eugene Schwartz, Breakthrough Advertising — for awareness-stage matching when picking the tool's positioning