Niche opportunity finder

Find untapped affiliate niches with real earning potential.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit Affitor/affiliate-skills/skills/research/niche-opportunity-finder#main ~/.claude/skills/niche-opportunity-finder

For one project only, change the path to .claude/skills/niche-opportunity-finder.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text265 lines
niche-opportunity-finder/SKILL.md265 lines10.7 KBpushed 16d agoRawView on GitHub

Niche Opportunity Finder

Analyze search demand, competition, and available affiliate programs to surface untapped niches worth entering. Outputs a scored shortlist with clear reasoning so beginners can start promoting in under an hour.

Stage

This skill belongs to Stage S1: Research

When to Use

  • User is new to affiliate marketing and has no niche
  • User is unhappy with their current niche and wants alternatives
  • User wants to validate a niche idea before investing time
  • User asks which niches are trending or low-competition
  • User wants to find niches underserved by existing affiliates

Input Schema

{
  interests: string[]       # (optional) Topics user already knows or cares about
  audience: string          # (optional) Who they plan to reach — "beginners", "professionals", "parents"
  platform: string          # (optional) Where they'll publish — "blog", "tiktok", "youtube", "linkedin"
  budget: string            # (optional) "zero" | "low ($0-50/mo)" | "medium ($50-200/mo)"
  goal: string              # (optional) "first $100" | "side income $1k/mo" | "full-time income"
  avoid: string[]           # (optional) Niches or topics to exclude
}

Workflow

Step 1: Understand the User's Situation

Ask (if not already clear from context):

  1. Any topics you already know well or are curious about?
  2. Where will you publish content? (blog, TikTok, YouTube, newsletter...)
  3. What's your income goal in the first 6 months?

If user says "just find me something" → default to: AI/SaaS tools, YouTube or blog, goal = first $500/mo.

Step 2: Generate Niche Candidates

Produce 8-12 niche candidates across 3 tiers:

Tier A — Trending (high demand, growing fast): Use web_search "fastest growing affiliate niches [current year]" and web_search "trending affiliate programs [current year]" to find niches with momentum. Look for: AI tools, health tech, fintech, remote work tools, creator economy.

Tier B — Evergreen (stable demand, proven programs): Always-on niches: personal finance, web hosting, email marketing, SEO tools, fitness/wellness, online education, cybersecurity.

Tier C — Micro-niches (narrow, low competition, high intent): Examples: AI tools for lawyers, budgeting apps for freelancers, SEO for Shopify stores, productivity tools for ADHD. These are combinations of a vertical + a job or persona. Use web_search "[vertical] affiliate programs [persona]" to discover.

Step 3: Score Each Niche

Score each candidate on 4 dimensions (1-10 scale each):

Dimension Weight How to Assess
Search Demand 30% `web_search "[niche] how to" — look at result count and autosuggest depth
Program Availability 30% Search openaffiliate.dev (GET /api/programs?q=[niche]) or web_search "[niche] affiliate programs" — count quality programs
Competition Level 25% Search "[niche] best tools" — how saturated is the top 10? Fewer exact-match affiliate sites = less competition. Score 10 = very low competition
Content Potential 15% Can tutorials, comparisons, listicles, and reviews be made for this niche easily?

Overall score = weighted average. Cut anything below 5.5.

Verdict: 7.5+ = "High Opportunity" / 5.5-7.4 = "Worth Testing" / <5.5 = "Saturated/Skip"

Step 4: Validate Top 3 Niches on openaffiliate.dev

For the top 3 niches, query GET https://openaffiliate.dev/api/programs?q=[niche]&utm_source=affiliate-skills (see affiliate-program-search/references/openaffiliate-api.md) to verify real programs exist with good commission structures:

  • At least 3 programs with reward_value 20%+ OR reward_type cps_recurring
  • At least one program with cookie_days >= 30
  • Programs with stars_count > 5 (community-validated quality)

If a niche scores well on demand but has no programs on openaffiliate.dev, use web_search "[niche] affiliate program signup" to verify alternatives exist.

Step 5: Build the Opportunity Brief

For the top-ranked niche, produce a one-page opportunity brief (see Output Format). For runner-up niches, produce summary cards only.

Step 6: Recommend Next Steps

Map user's chosen niche to the affiliate funnel:

  1. Use affiliate-program-search to find the best specific program in this niche
  2. Use tiktok-script-writer or twitter-thread-writer for first content
  3. Use commission-calculator to project first 90 days of income

Step 7: Self-Validation

Before presenting output, verify:

  • Search demand backed by data (autosuggest depth, result count)
  • Top niche has ≥3 programs with 20%+ commission on openaffiliate.dev
  • Competition score reflects actual top-10 SERP analysis
  • Content angles are specific and actionable, not generic

If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.

Output Schema

{
  output_schema_version: "1.0.0"  # Semver — bump major on breaking changes
  top_niche: {
    name: string              # "AI Productivity Tools"
    tier: string              # "Trending" | "Evergreen" | "Micro-niche"
    score: number             # 8.4
    verdict: string           # "High Opportunity"
    why: string               # 2-3 sentence rationale
    example_programs: string[] # ["Notion", "ClickUp", "Reclaim AI"]
    content_angles: string[]  # ["comparison", "workflow walkthrough", "beginner guide"]
    difficulty: string        # "Beginner-friendly" | "Intermediate" | "Advanced"
  }
  runner_up: NicheCandidate   # Same structure
  all_scored: NicheScore[]    # Full list with scores
  recommended_next_skill: string  # "affiliate-program-search"
}

Output Format

## Niche Opportunity Report

### Top Pick: [Niche Name]

**Opportunity Score:** [X.X/10] — [Verdict]
**Tier:** [Trending / Evergreen / Micro-niche]
**Difficulty:** [Beginner-friendly / Intermediate / Advanced]

**Why this niche:**
[2-3 sentences covering demand, program quality, and why it's not yet saturated]

| Dimension | Score | Evidence |
|-----------|-------|----------|
| Search Demand | X/10 | [What search data showed] |
| Program Availability | X/10 | [X programs found, avg commission Y%] |
| Competition Level | X/10 | [What competitor landscape looks like] |
| Content Potential | X/10 | [Content formats that work here] |
| **Overall** | **X.X/10** | **[Verdict]** |

**Example affiliate programs:** [Program A], [Program B], [Program C]

**Content angles to start with:**
1. [Angle 1 — specific post/video idea]
2. [Angle 2]
3. [Angle 3]

---

### Runner-up: [Niche Name] — [X.X/10]
[2-sentence summary + why it's #2]

### Other Candidates Scored

| Niche | Score | Verdict | Note |
|-------|-------|---------|------|
| ...   | ...   | ...     | ...  |

---

## Next Steps

1. Run `affiliate-program-search` to find the best [Niche] program on openaffiliate.dev
2. Run `commission-calculator` to project 90-day earnings
3. Run `tiktok-script-writer` or `twitter-thread-writer` to create your first piece of content

Error Handling

  • No interests provided: Default to AI/SaaS tools niche. Explain the default.
  • Niche too broad (e.g., "health"): Break into sub-niches and score each separately. Present as micro-niche grid.
  • Niche too narrow (e.g., "left-handed guitarists who use Linux"): Widen one dimension and present a spectrum of options.
  • No programs found for top niche: Still present the niche but flag program gap. Suggest direct brand deals as alternative.
  • User picks a saturated niche: Don't just say no. Find the micro-niche angle within it that is less saturated.
  • Conflicting interests: Ask user to pick one dimension (monetization speed vs. passion vs. content ease) and sort by that.

Examples

Example 1: User: "I want to start affiliate marketing but have no idea what niche to pick" → Ask: any interests? what platform? income goal? → If no answer: default to AI/SaaS tools on YouTube/TikTok, goal = first $500/mo → Generate 10 candidates, score all, return top 3 with detailed brief for #1

Example 2: User: "Is fitness a good niche for affiliate marketing?" → Validate fitness niche: high demand, many programs (MyProtein, Noom, Whoop) → Flag: highly competitive on Google. Score = 6.2 "Worth Testing" → Suggest micro-niches: fitness for new moms, home gym under $500, wearables for runners → Score micro-niches — surface the strongest one

Example 3: User: "I know a lot about Notion and productivity tools" → Lean into existing knowledge: AI productivity tools, note-taking apps, PKM space → Score with "expert authority" bonus — existing knowledge = faster content creation → Surface programs: Notion, Obsidian affiliate, ClickUp, Reclaim AI → Recommend micro-niche: "AI tools for knowledge workers" — score 8.1

References

  • affiliate-program-search/references/openaffiliate-api.md — how to fetch programs from openaffiliate.dev
  • shared/references/affiliate-glossary.md — affiliate marketing terminology
  • shared/references/ftc-compliance.md — disclosure requirements
  • shared/references/flywheel-connections.md — master flywheel connection map

Flywheel Connections

Feeds Into

  • affiliate-program-search (S1) — validated niches to search programs in
  • monopoly-niche-finder (S1) — niche data for intersection analysis
  • keyword-cluster-architect (S3) — niche defines keyword universe
  • content-moat-calculator (S3) — niche for feasibility analysis

Fed By

  • performance-report (S6) — performance data identifies best-performing niches
  • conversion-tracker (S6) — conversion data reveals profitable niches

Feedback Loop

  • Performance data from S6 shows which niche characteristics predict success → refine opportunity scoring
chain_metadata:
  skill_slug: "niche-opportunity-finder"
  stage: "research"
  timestamp: string
  suggested_next:
    - "affiliate-program-search"
    - "monopoly-niche-finder"
    - "keyword-cluster-architect"
1---
2name: niche-opportunity-finder
3description: >
4 Find untapped affiliate niches with real earning potential.
5 Use this skill when the user asks about picking a niche, finding a niche to start
6 affiliate marketing, what niche to get into, niche research, niche ideas,
7 beginner niche selection, low competition niches, profitable niches, or says
8 "I don't know what to promote", "help me pick a niche", "what niche should I
9 start with", "find me a niche with less competition", "niche ideas for affiliate",
10 "is X a good niche for affiliate marketing", "best niches 2024", "untapped niches".
11license: MIT
12version: "1.0.0"
13tags: ["affiliate-marketing", "research", "niche-analysis", "program-discovery", "niche", "opportunity"]
14compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent"
15metadata:
16 author: affitor
17 version: "1.0"
18 stage: S1-Research
19---
20 
21# Niche Opportunity Finder
22 
23Analyze search demand, competition, and available affiliate programs to surface
24untapped niches worth entering. Outputs a scored shortlist with clear reasoning
25so beginners can start promoting in under an hour.
26 
27## Stage
28 
29This skill belongs to Stage S1: Research
30 
31## When to Use
32 
33- User is new to affiliate marketing and has no niche
34- User is unhappy with their current niche and wants alternatives
35- User wants to validate a niche idea before investing time
36- User asks which niches are trending or low-competition
37- User wants to find niches underserved by existing affiliates
38 
39## Input Schema
40 
41```
42{
43 interests: string[] # (optional) Topics user already knows or cares about
44 audience: string # (optional) Who they plan to reach — "beginners", "professionals", "parents"
45 platform: string # (optional) Where they'll publish — "blog", "tiktok", "youtube", "linkedin"
46 budget: string # (optional) "zero" | "low ($0-50/mo)" | "medium ($50-200/mo)"
47 goal: string # (optional) "first $100" | "side income $1k/mo" | "full-time income"
48 avoid: string[] # (optional) Niches or topics to exclude
49}
50```
51 
52## Workflow
53 
54### Step 1: Understand the User's Situation
55 
56Ask (if not already clear from context):
571. Any topics you already know well or are curious about?
582. Where will you publish content? (blog, TikTok, YouTube, newsletter...)
593. What's your income goal in the first 6 months?
60 
61If user says "just find me something" → default to: AI/SaaS tools, YouTube or blog,
62goal = first $500/mo.
63 
64### Step 2: Generate Niche Candidates
65 
66Produce 8-12 niche candidates across 3 tiers:
67 
68**Tier A — Trending (high demand, growing fast):**
69Use `web_search "fastest growing affiliate niches [current year]"` and
70`web_search "trending affiliate programs [current year]"` to find niches with
71momentum. Look for: AI tools, health tech, fintech, remote work tools, creator economy.
72 
73**Tier B — Evergreen (stable demand, proven programs):**
74Always-on niches: personal finance, web hosting, email marketing, SEO tools,
75fitness/wellness, online education, cybersecurity.
76 
77**Tier C — Micro-niches (narrow, low competition, high intent):**
78Examples: AI tools for lawyers, budgeting apps for freelancers, SEO for Shopify
79stores, productivity tools for ADHD. These are combinations of a vertical + a job
80or persona. Use `web_search "[vertical] affiliate programs [persona]"` to discover.
81 
82### Step 3: Score Each Niche
83 
84Score each candidate on 4 dimensions (1-10 scale each):
85 
86| Dimension | Weight | How to Assess |
87|-----------|--------|---------------|
88| Search Demand | 30% | `web_search "[niche] how to" — look at result count and autosuggest depth |
89| Program Availability | 30% | Search openaffiliate.dev (`GET /api/programs?q=[niche]`) or `web_search "[niche] affiliate programs"` — count quality programs |
90| Competition Level | 25% | Search "[niche] best tools" — how saturated is the top 10? Fewer exact-match affiliate sites = less competition. Score 10 = very low competition |
91| Content Potential | 15% | Can tutorials, comparisons, listicles, and reviews be made for this niche easily? |
92 
93**Overall score** = weighted average. Cut anything below 5.5.
94 
95Verdict: 7.5+ = "High Opportunity" / 5.5-7.4 = "Worth Testing" / <5.5 = "Saturated/Skip"
96 
97### Step 4: Validate Top 3 Niches on openaffiliate.dev
98 
99For the top 3 niches, query `GET https://openaffiliate.dev/api/programs?q=[niche]&utm_source=affiliate-skills`
100(see `affiliate-program-search/references/openaffiliate-api.md`)
101to verify real programs exist with good commission structures:
102- At least 3 programs with `reward_value` 20%+ OR `reward_type` cps_recurring
103- At least one program with `cookie_days` >= 30
104- Programs with `stars_count` > 5 (community-validated quality)
105 
106If a niche scores well on demand but has no programs on openaffiliate.dev, use
107`web_search "[niche] affiliate program signup"` to verify alternatives exist.
108 
109### Step 5: Build the Opportunity Brief
110 
111For the top-ranked niche, produce a one-page opportunity brief (see Output Format).
112For runner-up niches, produce summary cards only.
113 
114### Step 6: Recommend Next Steps
115 
116Map user's chosen niche to the affiliate funnel:
1171. Use `affiliate-program-search` to find the best specific program in this niche
1182. Use `tiktok-script-writer` or `twitter-thread-writer` for first content
1193. Use `commission-calculator` to project first 90 days of income
120 
121### Step 7: Self-Validation
122 
123Before presenting output, verify:
124 
125- [ ] Search demand backed by data (autosuggest depth, result count)
126- [ ] Top niche has ≥3 programs with 20%+ commission on openaffiliate.dev
127- [ ] Competition score reflects actual top-10 SERP analysis
128- [ ] Content angles are specific and actionable, not generic
129 
130If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.
131 
132## Output Schema
133 
134```
135{
136 output_schema_version: "1.0.0" # Semver — bump major on breaking changes
137 top_niche: {
138 name: string # "AI Productivity Tools"
139 tier: string # "Trending" | "Evergreen" | "Micro-niche"
140 score: number # 8.4
141 verdict: string # "High Opportunity"
142 why: string # 2-3 sentence rationale
143 example_programs: string[] # ["Notion", "ClickUp", "Reclaim AI"]
144 content_angles: string[] # ["comparison", "workflow walkthrough", "beginner guide"]
145 difficulty: string # "Beginner-friendly" | "Intermediate" | "Advanced"
146 }
147 runner_up: NicheCandidate # Same structure
148 all_scored: NicheScore[] # Full list with scores
149 recommended_next_skill: string # "affiliate-program-search"
150}
151```
152 
153## Output Format
154 
155```
156## Niche Opportunity Report
157 
158### Top Pick: [Niche Name]
159 
160**Opportunity Score:** [X.X/10] — [Verdict]
161**Tier:** [Trending / Evergreen / Micro-niche]
162**Difficulty:** [Beginner-friendly / Intermediate / Advanced]
163 
164**Why this niche:**
165[2-3 sentences covering demand, program quality, and why it's not yet saturated]
166 
167| Dimension | Score | Evidence |
168|-----------|-------|----------|
169| Search Demand | X/10 | [What search data showed] |
170| Program Availability | X/10 | [X programs found, avg commission Y%] |
171| Competition Level | X/10 | [What competitor landscape looks like] |
172| Content Potential | X/10 | [Content formats that work here] |
173| **Overall** | **X.X/10** | **[Verdict]** |
174 
175**Example affiliate programs:** [Program A], [Program B], [Program C]
176 
177**Content angles to start with:**
1781. [Angle 1 — specific post/video idea]
1792. [Angle 2]
1803. [Angle 3]
181 
182---
183 
184### Runner-up: [Niche Name] — [X.X/10]
185[2-sentence summary + why it's #2]
186 
187### Other Candidates Scored
188 
189| Niche | Score | Verdict | Note |
190|-------|-------|---------|------|
191| ... | ... | ... | ... |
192 
193---
194 
195## Next Steps
196 
1971. Run `affiliate-program-search` to find the best [Niche] program on openaffiliate.dev
1982. Run `commission-calculator` to project 90-day earnings
1993. Run `tiktok-script-writer` or `twitter-thread-writer` to create your first piece of content
200```
201 
202## Error Handling
203 
204- **No interests provided:** Default to AI/SaaS tools niche. Explain the default.
205- **Niche too broad (e.g., "health"):** Break into sub-niches and score each separately. Present as micro-niche grid.
206- **Niche too narrow (e.g., "left-handed guitarists who use Linux"):** Widen one dimension and present a spectrum of options.
207- **No programs found for top niche:** Still present the niche but flag program gap. Suggest direct brand deals as alternative.
208- **User picks a saturated niche:** Don't just say no. Find the micro-niche angle within it that is less saturated.
209- **Conflicting interests:** Ask user to pick one dimension (monetization speed vs. passion vs. content ease) and sort by that.
210 
211## Examples
212 
213**Example 1:**
214User: "I want to start affiliate marketing but have no idea what niche to pick"
215→ Ask: any interests? what platform? income goal?
216→ If no answer: default to AI/SaaS tools on YouTube/TikTok, goal = first $500/mo
217→ Generate 10 candidates, score all, return top 3 with detailed brief for #1
218 
219**Example 2:**
220User: "Is fitness a good niche for affiliate marketing?"
221→ Validate fitness niche: high demand, many programs (MyProtein, Noom, Whoop)
222→ Flag: highly competitive on Google. Score = 6.2 "Worth Testing"
223→ Suggest micro-niches: fitness for new moms, home gym under $500, wearables for runners
224→ Score micro-niches — surface the strongest one
225 
226**Example 3:**
227User: "I know a lot about Notion and productivity tools"
228→ Lean into existing knowledge: AI productivity tools, note-taking apps, PKM space
229→ Score with "expert authority" bonus — existing knowledge = faster content creation
230→ Surface programs: Notion, Obsidian affiliate, ClickUp, Reclaim AI
231→ Recommend micro-niche: "AI tools for knowledge workers" — score 8.1
232 
233## References
234 
235- `affiliate-program-search/references/openaffiliate-api.md` — how to fetch programs from openaffiliate.dev
236- `shared/references/affiliate-glossary.md` — affiliate marketing terminology
237- `shared/references/ftc-compliance.md` — disclosure requirements
238- `shared/references/flywheel-connections.md` — master flywheel connection map
239 
240## Flywheel Connections
241 
242### Feeds Into
243- `affiliate-program-search` (S1) — validated niches to search programs in
244- `monopoly-niche-finder` (S1) — niche data for intersection analysis
245- `keyword-cluster-architect` (S3) — niche defines keyword universe
246- `content-moat-calculator` (S3) — niche for feasibility analysis
247 
248### Fed By
249- `performance-report` (S6) — performance data identifies best-performing niches
250- `conversion-tracker` (S6) — conversion data reveals profitable niches
251 
252### Feedback Loop
253- Performance data from S6 shows which niche characteristics predict success → refine opportunity scoring
254 
255```yaml
256chain_metadata:
257 skill_slug: "niche-opportunity-finder"
258 stage: "research"
259 timestamp: string
260 suggested_next:
261 - "affiliate-program-search"
262 - "monopoly-niche-finder"
263 - "keyword-cluster-architect"
264```
265 

Discussion

Alternatives

Also in Affiliate programs
Affiliate Program ListerResearch an affiliate program and create a verified listing for openaffiliate.dev. Use this skill when the user asks anything about listing a program, adding an affiliate program to the directory, submitting a program to list, creating a listing, documenting an affiliate program, sharing an affiliate program, writing a program profile, posting a program to openaffiliate.dev, or contributing a new program. Also trigger for: "list a program", "add affiliate program", "submit program to list", create listing for X", "document affiliate program", "share affiliate program", write a listing", "post to openaffiliate.dev", "add X to the directory", register an affiliate program", "publish affiliate program", "new program listing", profile this affiliate program", "catalog this program".Marketing · MITReferral & Affiliate ProgramsWhen the user wants to create, optimize, or analyze a referral program, affiliate program, or word-of-mouth strategy. Also use when the user mentions 'referral,' 'affiliate,' 'ambassador,' 'word of mouth,' 'viral loop,' 'refer a friend,' 'partner program,' 'referral incentive,' 'how to get referrals,' 'customers referring customers,' or 'affiliate payout.' Use this whenever someone wants existing users or partners to bring in new customers. For launch-specific virality, see launch.Marketing · MITAffiliate program searchResearch and evaluate affiliate programs to find the best ones to promote. Use this skill when the user asks anything about finding affiliate programs, comparing commission rates, evaluating affiliate opportunities, searching for products to promote, picking a niche, or mentions openaffiliate.dev. Also trigger for: "which SaaS should I promote", "best affiliate programs for X", high commission programs", "recurring commission affiliate", "compare these affiliate programs", "is X affiliate program worth it", "find me something to promote", what pays the most", "affiliate programs with long cookie duration".Marketing · MITaffiliate-check: Live Affiliate Program Data| Live affiliate program data from openaffiliate.dev. Search programs, compare commissions, check cookie days, find top performers. Use when researching affiliate programs, comparing options, or checking program details. Persistent daemon with cache — first call starts server (~2s), subsequent calls ~100ms.Marketing · MIT