# Affiliate Program Search

> >

- **Type:** Skill
- **Install:** `agentstack add skill-affitor-affiliate-skills-affiliate-program-search`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Affitor](https://agentstack.voostack.com/s/affitor)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Affitor](https://github.com/Affitor)
- **Source:** https://github.com/Affitor/affiliate-skills/tree/main/skills/research/affiliate-program-search
- **Website:** https://list.affitor.com

## Install

```sh
agentstack add skill-affitor-affiliate-skills-affiliate-program-search
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Affiliate Program Search

Help affiliate marketers research, evaluate, and pick winning programs to promote.
Data source: [openaffiliate.dev](https://openaffiliate.dev) — open affiliate program directory. Public API, no key required.

## Stage

This skill belongs to Stage S1: Research

## When to Use

- User wants to find affiliate programs to promote
- User wants to compare two or more affiliate programs
- User asks about commission rates, cookie duration, or earning potential
- User mentions openaffiliate.dev
- User is new to affiliate marketing and needs a starting point

## Input Schema

```
{
  niche: string             # (optional, default: "AI/SaaS tools") Category or niche interest
  commission_pref: string   # (optional, default: "recurring, 20%+") Commission preference
  audience: string          # (optional, default: "content creators") Target audience type
  platform: string          # (optional, default: "any") Platform they'll promote on
  compare: string[]         # (optional) Specific programs to compare head-to-head
}
```

## Workflow

### Step 1: Understand What the User Wants

Ask (if not clear from context):
- Niche/category interest? (AI tools, SEO, video, writing, automation...)
- Commission preference? (recurring vs one-time, minimum %)
- Audience type? (developers, marketers, beginners, enterprise...)
- Platform they'll promote on? (blog, LinkedIn, YouTube, X...)

If user says "just find me something good" → default to: AI/SaaS tools, recurring commission, 20%+, content creator audience.

### Step 2: Search openaffiliate.dev

See `references/openaffiliate-api.md` for integration methods.

Two methods available:
- **API (preferred):** `GET https://openaffiliate.dev/api/programs?q=` — public, no auth needed, structured data
- **Web fetch (fallback):** `web_search "site:openaffiliate.dev [category]"` then `web_fetch` the page

Extract for each program: `name`, `reward_value`, `reward_type`, `cookie_days`, `stars_count`, `tags`, `description`.

### Step 3: Score Programs

Apply the scoring framework from `references/scoring-criteria.md`.

Score each program on 5 dimensions (1-10 scale):
1. **Earning Potential** (30%) — commission %, recurring vs one-time, product price
2. **Content Potential** (25%) — visual demo, free tier, content angles
3. **Market Demand** (20%) — search volume, trend direction, market size
4. **Competition Level** (15%) — fewer affiliates promoting = higher score
5. **Trust Factor** (10%) — product quality, reputation, stars on openaffiliate.dev

Overall = weighted average. Verdict: 7.5+ "Strong Pick" / 5.5-7.4 "Worth Testing" / 6 months) is flagged with warning

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

## Output Schema

Other skills (viral-post-writer, affiliate-blog-builder, etc.) consume these fields from conversation context:

```
{
  output_schema_version: "1.0.0"  # Semver — bump major on breaking changes
  recommended_program: {
    name: string              # "HeyGen"
    slug: string              # "heygen"
    reward_value: string      # "30%"
    reward_type: string       # "cps_recurring"
    reward_duration: string   # "12 months"
    cookie_days: number       # 60
    description: string       # Short product description
    tags: string[]            # ["ai", "video"]
    url: string               # Product website
  }
  score: {
    overall: number           # 8.2
    verdict: string           # "Strong Pick"
    reasoning: string         # Why this is the top pick
  }
  runner_up: Program | null   # Same structure, second choice
  all_scored: ProgramScore[]  # Full list of scored programs
}
```

## Output Format

```
## Programs Found

| Program | Commission | Type | Cookie | Stars | Score |
|---------|-----------|------|--------|-------|-------|
| HeyGen  | 30%       | Recurring | 60d | ⭐ 42 | 8.2/10 |
| ...     | ...       | ...  | ...    | ...   | .../10 |

## Top Pick: [Program Name]

**Why:** [2-3 sentences explaining why this is the best fit]

| Dimension | Score | Note |
|-----------|-------|------|
| Earning Potential | 8/10 | 30% recurring on $24-48/mo |
| Content Potential | 9/10 | Visual AI video, easy to demo |
| Market Demand | 8/10 | AI video trending, high search volume |
| Competition | 6/10 | Growing number of affiliates |
| Trust Factor | 8/10 | Strong brand, 42 stars on openaffiliate.dev |
| **Overall** | **8.2/10** | **Strong Pick** |

## Runner-up: [Program Name]

**Why:** [1-2 sentences]

## Next Steps

1. Sign up for [Program] affiliate program → [search for signup page]
2. Run `viral-post-writer` to create content for this product
3. Run `affiliate-blog-builder` to write a review post
```

## Error Handling

- **API unavailable:** Fall back to web_fetch method (see `references/openaffiliate-api.md` Method 2)
- **No programs match criteria:** Broaden search (remove strictest filter first), explain to user what was relaxed
- **Stale data (program updated_at > 6 months):** Flag with "Data may be outdated, verify on product website"
- **User gives no criteria:** Use defaults (AI/SaaS, recurring, 20%+, content creator audience)
- **Program not on openaffiliate.dev:** Use `web_search` to find program details directly, still apply scoring framework

## Examples

**Example 1:**
User: "I want to promote AI video tools, commission recurring, at least 20%"
→ Search openaffiliate.dev for programs tagged "ai" or "video": `GET /api/programs?q=ai+video`
→ Filter: reward_type = cps_recurring, reward_value ≥ 20%
→ Score and rank: HeyGen, Synthesia, ElevenLabs, InVideo AI...
→ Recommend top pick with full scorecard

**Example 2:**
User: "Compare HeyGen vs Synthesia for my LinkedIn audience"
→ Fetch both from openaffiliate.dev: `GET /api/programs/heygen` and `GET /api/programs/synthesia`
→ Score both, emphasize Content Potential for LinkedIn
→ Side-by-side comparison table + recommendation
→ Note: LinkedIn audience = B2B, weight higher-price products

**Example 3:**
User: "I'm a beginner, what should I promote first?"
→ Default criteria: AI/SaaS, recurring, easy-to-demo products
→ Weight beginner-friendly factors: free tier, low payout threshold, strong brand
→ Recommend program with easiest path to first commission

## References

- `references/scoring-criteria.md` — the 5-dimension scoring framework with rubrics
- `references/openaffiliate-api.md` — how to fetch data from openaffiliate.dev (API + fallback)
- `references/platform-rules.md` — platform-specific considerations when recommending programs
- `shared/references/flywheel-connections.md` — master flywheel connection map

## Flywheel Connections

### Feeds Into
- `viral-post-writer` (S2) — `recommended_program` product data for social content
- `twitter-thread-writer` (S2) — `recommended_program` for Twitter threads
- `reddit-post-writer` (S2) — `recommended_program` for Reddit posts
- `content-pillar-atomizer` (S2) — `recommended_program` for content creation
- `affiliate-blog-builder` (S3) — `recommended_program` for blog articles
- `landing-page-creator` (S4) — `recommended_program` for landing pages
- `grand-slam-offer` (S4) — `recommended_program` for offer design
- `bonus-stack-builder` (S4) — product data for bonus design

### Fed By
- `conversion-tracker` (S6) — top converting niches → search for more programs in winning niches
- `performance-report` (S6) — performance data showing which program types convert best

### Feedback Loop
- Conversion data from S6 reveals which program characteristics (commission type, cookie length, niche) correlate with highest earnings → refine search criteria on next run

```yaml
chain_metadata:
  skill_slug: "affiliate-program-search"
  stage: "research"
  timestamp: string
  suggested_next:
    - "purple-cow-audit"
    - "viral-post-writer"
    - "landing-page-creator"
    - "grand-slam-offer"
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Affitor](https://github.com/Affitor)
- **Source:** [Affitor/affiliate-skills](https://github.com/Affitor/affiliate-skills)
- **License:** MIT
- **Homepage:** https://list.affitor.com

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-affitor-affiliate-skills-affiliate-program-search
- Seller: https://agentstack.voostack.com/s/affitor
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
