list-affitor-program
Research an affiliate program and create a verified listing for list.affitor.com. 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 list.affitor.com, 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 list.affitor.com", "add X to the directory", "register an affiliate program", "publish affiliate program", "new program listing", "profile this affiliate program", "catalog this program".
What this skill does
# Affiliate Program Lister
Research an affiliate program from official sources and produce a verified, publish-ready
listing for [list.affitor.com](https://list.affitor.com). Every number comes from the
program's official affiliate page, network page, or pricing page. No guessing.
## Stage
This skill belongs to Stage S1: Research
## When to Use
- User wants to add an affiliate program to list.affitor.com
- User wants to document a program's commission structure in a standard format
- User found a program and wants to create a shareable profile for other affiliates
- User is contributing to the community directory
- User says "list this program" or "add X to the directory"
## Input Schema
```
{
program_name: string # (required) Name of the affiliate program, e.g., "HeyGen"
affiliate_link: string # (optional) User's affiliate link to include in the listing
niche: string # (optional) Category hint, e.g., "AI video", "email marketing"
}
```
## Workflow
### Step 1: Confirm Program and Context
Confirm the program name with the user. Ask:
- Do you have an affiliate link for this program? (optional — used for verification only)
- What niche or category does it fall under? (helps with tagging)
If the user says "just list it" or provides enough context, skip questions and proceed.
### Step 2: Research from Official Sources
Research the program using only official, verifiable sources. Search in this order:
1. **Official affiliate/partner page** — `web_search "[program name] affiliate program"` or
`web_search "[program name] partner program"`. This is the primary source for commission
structure, cookie duration, payment terms, and signup link.
2. **Affiliate network page** — If the program runs through a network (ShareASale, CJ,
Impact, PartnerStack, Rewardful, etc.), find the network listing for additional details.
3. **Official pricing page** — `web_search "[program name] pricing"`. Needed to calculate
realistic earnings (commission % means nothing without knowing the price).
4. **Credibility signals** — Look for: number of customers, notable clients, funding raised,
year founded, G2/Capterra rating, social proof. These go in the description.
For each data point, note the source. If a value cannot be verified from official sources,
mark it as "unverified" in the output.
### Step 3: Extract Listing Fields
Fill in the structured listing fields from the research:
| Field | Source | Notes |
|-------|--------|-------|
| `name` | Official product name | Exact capitalization from their website |
| `url` | Product homepage | Main website, not affiliate signup page |
| `reward_type` | Affiliate page | One of: `cpc`, `cpl`, `cps_one_time`, `cps_recurring`, `cps_lifetime`, `other` |
| `reward_value` | Affiliate page | e.g., "30%", "$50", "$0.10 per click" |
| `reward_duration` | Affiliate page | For recurring: "12 months", "lifetime", etc. Omit for one-time |
| `cookie_days` | Affiliate page | Number only. If not stated, mark "unverified" and estimate from network norms |
| `tags` | Niche + features | 3-6 lowercase tags, e.g., `["ai", "video", "saas"]` |
**Reward type mapping:**
- "X% of each sale" (one purchase) → `cps_one_time`
- "X% recurring" or "X% for Y months" → `cps_recurring`
- "X% for life of customer" → `cps_lifetime`
- "Pay per lead / free trial signup" → `cpl`
- "Pay per click" → `cpc`
- Anything else → `other` (explain in description)
### Step 4: Write the Description
The description is structured markdown that helps affiliates decide if the program is worth
promoting. Write these sections in order:
**Opening (2-3 sentences)**
What the product does, who it serves, and why affiliates should care. Lead with the value
proposition, not the company history.
**Why Promote This Program**
3-5 bullet points covering: commission rate highlights, cookie duration, payment reliability,
product-market fit, conversion-friendly features (free trial, demo, low friction signup).
**Commission Structure**
A markdown table with all commission tiers if multiple exist:
```
| Plan | Price | Commission | Per Sale | Type |
|------|-------|-----------|----------|------|
| Starter | $29/mo | 30% | $8.70/mo | Recurring |
| Pro | $89/mo | 30% | $26.70/mo | Recurring |
| Enterprise | Custom | 30% | Varies | Recurring |
```
Include: minimum payout threshold, payment methods (PayPal, wire, etc.), payment frequency
(monthly, net-30, etc.) if found.
**Target Audiences**
Who can promote this product effectively. List 3-5 specific audience types with brief
reasoning, e.g., "YouTube creators making tutorial content — visual product, easy to demo."
**Earning Potential**
Realistic earnings at three traffic levels using conservative conversion assumptions
(2% CTR, 2% conversion rate):
```
| Monthly Traffic | Est. Sales | Monthly Earnings | Annual Earnings |
|----------------|-----------|-----------------|----------------|
| 5,000 visitors | 2 | $X | $X |
| 20,000 visitors | 8 | $X | $X |
| 100,000 visitors | 40 | $X | $X |
```
For recurring programs, show month-12 compounded earnings, not just month-1.
**Why It Converts**
2-3 sentences on what makes this product easy to sell: free tier, strong brand recognition,
low-commitment entry point, visual demo potential, etc.
**Honest Limitations**
2-3 bullet points on real drawbacks. Every program has them. Examples: short cookie window,
high competition from other affiliates, niche audience only, high price point limits
conversions, payout threshold too high for beginners.
### Step 5: Verify Affiliate Link (If Provided)
If the user provided an affiliate link:
- Check that the domain matches the program's known affiliate tracking domain
- Check for expected URL parameters (ref=, aff=, via=, etc.)
- Flag if the link looks malformed or suspicious
- Do NOT click the link or test it — just validate the format
### Step 6: Assemble Output
Present the output in two clearly separated parts:
1. **Listing Fields** — structured data ready for API submission
2. **Description** — the full markdown content
### Step 7: Optional API Submission
If the user wants to submit the listing directly:
```
POST https://list.affitor.com/api/v1/programs
Content-Type: application/json
Authorization: Bearer <API_KEY>
{
"name": "...",
"url": "...",
"description": "...",
"reward_type": "...",
"reward_value": "...",
"reward_duration": "...",
"cookie_days": 30,
"tags": ["...", "..."]
}
```
If no API key is available, format the output so the user can copy-paste it into the
list.affitor.com submission form.
### Step 8: Self-Validation
Before presenting output, verify:
- [ ] `name` matches official product name (exact capitalization)
- [ ] `reward_value` comes from the official affiliate page, not estimated
- [ ] `reward_type` uses one of the allowed enum values
- [ ] `cookie_days` is a number from official source or explicitly marked "unverified"
- [ ] Commission table math is correct (price x percentage = per-sale amount)
- [ ] Earning potential uses conservative assumptions (2% CTR, 2% CR) not optimistic ones
- [ ] Honest Limitations section contains real drawbacks, not filler
- [ ] No data was hallucinated — every number traces to a source
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 consume these fields from conversation context:
```
{
output_schema_version: "1.0.0" # Semver — bump major on breaking changes
listing: {
name: string # "HeyGen"
url: string # "https://heygen.com"
description: string # Full markdown description (all sections)
reward_type: string # "cps_recurring" — enum: cpc, cpl, cps_one_time, cps_recurring, cps_lifetime, other
reward_value: string # "30%" or "$50"
reward_duration: string # "12 months" | "lifetime" | null (for one-time)
cookie_days: number # 60
tagsRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.