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