How to use it
- Hit Copy the whole skill.
- 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. - Describe your job in plain words. The AI follows the skill from there.
npx degit Affitor/affiliate-skills/template#main ~/.claude/skills/templateFor one project only, change the path to .claude/skills/template.
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.
Paste into Claude, ChatGPT or Cursor.
Show the full text164 lines
Your Skill Name
What this skill does in 2-3 sentences. Focus on the outcome, not the process.
Stage
This skill belongs to Stage SX: StageName
When to Use
- Scenario 1
- Scenario 2
- Scenario 3
Input Schema
{
required_field: { # (required) Description
name: string # Example value
}
optional_field: string # (optional, default: "value") Description
}
Workflow
Step 1: Gather Context
What to check first. How to handle missing inputs.
Step 2: Execute Core Task
The main work the skill does.
Step 3: Format and Deliver
How to structure the output.
Output Schema
Other skills can consume these fields from conversation context:
{
primary_output: string # Main result for downstream chaining
secondary_output: string # Additional data for downstream skills
}
Output Format
## [Skill Name]: [Context]
### Section 1
[Main content]
### Section 2
[Supporting content]
Error Handling
- Missing required input: How to recover gracefully.
- External data unavailable: Fallback strategy.
- Edge case: How to handle unexpected scenarios.
Examples
Example 1: [realistic user prompt] → [step-by-step what the skill does] → [expected output summary]
Example 2: [different scenario] → [step-by-step] → [expected output summary]
Example 3: [edge case or beginner scenario] → [step-by-step] → [expected output summary]
Flywheel Connections
Feeds Into
[skill](S[X]) — [what data/output flows forward to this skill]
Fed By
[skill](S[X]) — [what data/output flows back from this skill]
Feedback Loop
- [analytics metric or data point that improves this skill's next run]
Quality Gate
Include this section for content-producing skills (S2, S3, S4, S5, S7). Remove for non-content skills.
Before delivering output, verify:
- Would I share this on MY personal social?
- Contains specific, surprising detail? (not generic)
- Respects reader's intelligence?
- Remarkable enough to share? (Purple Cow test)
- Irresistible offer framing? (if S4 offer skills ran)
Any NO → rewrite before delivering. Do not flag this checklist to the user.
Volume Mode
Include this section for S2 Content skills only. Remove for other stages.
When mode: "volume":
- Generate 5-10 variations instead of 1
- Prioritize speed + variety over perfection
- Tag each with variant ID for A/B tracking
- Let data pick the winner (GaryVee philosophy)
volume_output:
variants:
- id: string # e.g., "v1", "v2"
content: string # The variation
angle: string # What makes this one different
Feedback & Issue Reporting
When this skill produces unexpected, incomplete, or incorrect output, generate a
skill_feedback block (see shared/references/feedback-protocol.md for full schema).
Skill-specific failure modes:
- [Failure mode 1]: [What triggers it, what to report]
- [Failure mode 2]: [What triggers it, what to report]
Auto-detect triggers for this skill:
- [Specific condition that means this skill underperformed]
- [Another condition]
Report issues: GitHub Issues | Discussions
References
references/your-reference.md— description of what it containsshared/references/ftc-compliance.md— FTC disclosure requirementsshared/references/affitor-branding.md— branding rulesshared/references/flywheel-connections.md— master flywheel connection mapshared/references/feedback-protocol.md— issue detection and reporting standardshared/references/version-check.md— update notification system
| 1 | |
| 2 | name your-skill-name |
| 3 | description > |
| 4 | Replace with when the AI should activate this skill. Be pushy — cover multiple |
| 5 | phrasings so the AI activates for a wide range of user prompts. |
| 6 | license MIT |
| 7 | version "1.0.0" |
| 8 | tags ["affiliate-marketing"] |
| 9 | compatibility "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent" |
| 10 | metadata |
| 11 | author your-github-handle |
| 12 | version "1.0" |
| 13 | stage SX-StageName |
| 14 | |
| 15 | |
| 16 | # Your Skill Name |
| 17 | |
| 18 | What this skill does in 2-3 sentences. Focus on the outcome, not the process. |
| 19 | |
| 20 | ## Stage |
| 21 | |
| 22 | This skill belongs to Stage SX: StageName |
| 23 | |
| 24 | ## When to Use |
| 25 | |
| 26 | Scenario 1 |
| 27 | Scenario 2 |
| 28 | Scenario 3 |
| 29 | |
| 30 | ## Input Schema |
| 31 | |
| 32 | |
| 33 | { |
| 34 | required_field: { # (required) Description |
| 35 | name: string # Example value |
| 36 | } |
| 37 | optional_field: string # (optional, default: "value") Description |
| 38 | } |
| 39 | |
| 40 | |
| 41 | ## Workflow |
| 42 | |
| 43 | ### Step 1: Gather Context |
| 44 | |
| 45 | What to check first. How to handle missing inputs. |
| 46 | |
| 47 | ### Step 2: Execute Core Task |
| 48 | |
| 49 | The main work the skill does. |
| 50 | |
| 51 | ### Step 3: Format and Deliver |
| 52 | |
| 53 | How to structure the output. |
| 54 | |
| 55 | ## Output Schema |
| 56 | |
| 57 | Other skills can consume these fields from conversation context: |
| 58 | |
| 59 | |
| 60 | { |
| 61 | primary_output: string # Main result for downstream chaining |
| 62 | secondary_output: string # Additional data for downstream skills |
| 63 | } |
| 64 | |
| 65 | |
| 66 | ## Output Format |
| 67 | |
| 68 | |
| 69 | ## [Skill Name]: [Context] |
| 70 | |
| 71 | ### Section 1 |
| 72 | [Main content] |
| 73 | |
| 74 | ### Section 2 |
| 75 | [Supporting content] |
| 76 | |
| 77 | |
| 78 | ## Error Handling |
| 79 | |
| 80 | **Missing required input:** How to recover gracefully. |
| 81 | **External data unavailable:** Fallback strategy. |
| 82 | **Edge case:** How to handle unexpected scenarios. |
| 83 | |
| 84 | ## Examples |
| 85 | |
| 86 | **Example 1:** [realistic user prompt] |
| 87 | → [step-by-step what the skill does] |
| 88 | → [expected output summary] |
| 89 | |
| 90 | **Example 2:** [different scenario] |
| 91 | → [step-by-step] |
| 92 | → [expected output summary] |
| 93 | |
| 94 | **Example 3:** [edge case or beginner scenario] |
| 95 | → [step-by-step] |
| 96 | → [expected output summary] |
| 97 | |
| 98 | ## Flywheel Connections |
| 99 | |
| 100 | ### Feeds Into |
| 101 | `[skill]` (S[X]) — [what data/output flows forward to this skill] |
| 102 | |
| 103 | ### Fed By |
| 104 | `[skill]` (S[X]) — [what data/output flows back from this skill] |
| 105 | |
| 106 | ### Feedback Loop |
| 107 | [analytics metric or data point that improves this skill's next run] |
| 108 | |
| 109 | ## Quality Gate |
| 110 | |
| 111 | > Include this section for content-producing skills (S2, S3, S4, S5, S7). Remove for non-content skills. |
| 112 | |
| 113 | Before delivering output, verify: |
| 114 | |
| 115 | Would I share this on MY personal social? |
| 116 | Contains specific, surprising detail? (not generic) |
| 117 | Respects reader's intelligence? |
| 118 | Remarkable enough to share? (Purple Cow test) |
| 119 | Irresistible offer framing? (if S4 offer skills ran) |
| 120 | |
| 121 | Any NO → rewrite before delivering. Do not flag this checklist to the user. |
| 122 | |
| 123 | ## Volume Mode |
| 124 | |
| 125 | > Include this section for S2 Content skills only. Remove for other stages. |
| 126 | |
| 127 | When `mode: "volume"`: |
| 128 | Generate 5-10 variations instead of 1 |
| 129 | Prioritize speed + variety over perfection |
| 130 | Tag each with variant ID for A/B tracking |
| 131 | Let data pick the winner (GaryVee philosophy) |
| 132 | |
| 133 | |
| 134 | volume_output: |
| 135 | variants: |
| 136 | - id: string # e.g., "v1", "v2" |
| 137 | content: string # The variation |
| 138 | angle: string # What makes this one different |
| 139 | |
| 140 | |
| 141 | ## Feedback & Issue Reporting |
| 142 | |
| 143 | When this skill produces unexpected, incomplete, or incorrect output, generate a |
| 144 | `skill_feedback` block (see `shared/references/feedback-protocol.md` for full schema). |
| 145 | |
| 146 | **Skill-specific failure modes:** |
| 147 | **[Failure mode 1]:** [What triggers it, what to report] |
| 148 | **[Failure mode 2]:** [What triggers it, what to report] |
| 149 | |
| 150 | **Auto-detect triggers for this skill:** |
| 151 | [Specific condition that means this skill underperformed] |
| 152 | [Another condition] |
| 153 | |
| 154 | Report issues: [GitHub Issues] | [Discussions] |
| 155 | |
| 156 | ## References |
| 157 | |
| 158 | `references/your-reference.md` — description of what it contains |
| 159 | `shared/references/ftc-compliance.md` — FTC disclosure requirements |
| 160 | `shared/references/affitor-branding.md` — branding rules |
| 161 | `shared/references/flywheel-connections.md` — master flywheel connection map |
| 162 | `shared/references/feedback-protocol.md` — issue detection and reporting standard |
| 163 | `shared/references/version-check.md` — update notification system |
| 164 |