affitor/niche-opportunity-finder
> Find untapped affiliate niches with real earning potential. Use this skill when the user asks about picking a niche, finding a niche to start affiliate marketing, what niche to get into, niche research, niche ideas, beginner niche selection, low competition niches, profitable niches, or says "I don't know what to promote", "help me pick a niche", "what niche should I start with", "find me a niche with less competition", "niche ideas for affiliate", "is X a good niche for affiliate marketing", "best niches 2024", "untapped niches".
npx skills add https://github.com/Affitor/affiliate-skills --skill 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.
This skill belongs to Stage S1: Research
{
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
}
Ask (if not already clear from context):
If user says "just find me something" → default to: AI/SaaS tools, YouTube or blog,
goal = first $500/mo.
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.
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"
For the top 3 niches, query GET https://openaffiliate.dev/api/programs?q=[niche]
(see affiliate-program-search/references/openaffiliate-api.md)
to verify real programs exist with good commission structures:
reward_value 20%+ OR reward_type cps_recurringcookie_days >= 30stars_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.
For the top-ranked niche, produce a one-page opportunity brief (see Output Format).
For runner-up niches, produce summary cards only.
Map user's chosen niche to the affiliate funnel:
affiliate-program-search to find the best specific program in this nichetiktok-script-writer or twitter-thread-writer for first contentcommission-calculator to project first 90 days of incomeBefore presenting output, verify:
If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.
{
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"
}
## 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
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
affiliate-program-search/references/openaffiliate-api.md — how to fetch programs from openaffiliate.devshared/references/affiliate-glossary.md — affiliate marketing terminologyshared/references/ftc-compliance.md — disclosure requirementsshared/references/flywheel-connections.md — master flywheel connection mapaffiliate-program-search (S1) — validated niches to search programs inmonopoly-niche-finder (S1) — niche data for intersection analysiskeyword-cluster-architect (S3) — niche defines keyword universecontent-moat-calculator (S3) — niche for feasibility analysisperformance-report (S6) — performance data identifies best-performing nichesconversion-tracker (S6) — conversion data reveals profitable nicheschain_metadata:
skill_slug: "niche-opportunity-finder"
stage: "research"
timestamp: string
suggested_next:
- "affiliate-program-search"
- "monopoly-niche-finder"
- "keyword-cluster-architect"
Take affitor/niche-opportunity-finder from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.