From automation-skills
Turns repeatable prompts or AI workflows into structured SKILL.md files for the affiliate-skills GitHub repository. Use when someone wants to create, write, share, or publish a skill.
How this skill is triggered — by the user, by Claude, or both
Slash command
/automation-skills:create-skillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn a repeatable AI prompt or workflow into a structured, shareable skill for the
Turn a repeatable AI prompt or workflow into a structured, shareable skill for the
affiliate-skills GitHub repository.
The output is a complete SKILL.md file that works in any AI agent — shared via
npx skills add Affitor/affiliate-skills so anyone can install it.
This skill belongs to Stage S8: Meta
{
raw_prompt: string # (required) The prompt, workflow description, or detailed explanation of what the skill does
failure_modes: string # (optional) What goes wrong when the output is bad — helps write better Instructions and Error Handling
niche: string # (optional) Category hint, e.g., "content", "research", "seo"
examples: string # (optional) Example input/output pairs the user already has
}
Before writing anything, analyze the user's raw prompt or workflow description:
If the user gave a vague description instead of an actual prompt, ask:
If the user says "just do it", infer from context and proceed.
Based on the analysis, determine:
| Field | How to decide |
|---|---|
name | Short, action-oriented. "Comparison Post Writer" not "A Skill for Writing Comparison Posts" |
slug | kebab-case of name, e.g., comparison-post-writer |
category | One of: research, content, seo, landing, distribution, analytics, automation, meta |
level | beginner (1-step, no tools), intermediate (multi-step, 1 tool), advanced (complex workflow, multiple tools) |
stage | S1-Research, S2-Content, S3-Blog, S4-Landing, S5-Distribution, S6-Analytics, S7-Automation, S8-Meta |
tags | 3-6 lowercase tags relevant to the skill's domain |
tools | What external tools the skill needs: web_search, web_fetch, code_execution, none |
Create a complete SKILL.md following this exact structure. Every section is required.
Frontmatter (YAML)
---
name: [slug]
description: >
[2-3 lines. First line: what it does. Second line: trigger phrases.
This is used for skill discovery — be specific about use cases.]
license: MIT
version: "1.0.0"
tags: [relevant tags]
compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent"
metadata:
author: [user handle or "affitor"]
version: "1.0"
stage: [S1-S8]
---
Title and Introduction One paragraph. What the skill does and what makes the output reliable. No marketing speak.
When to Use 3-5 specific trigger scenarios. "Writing a blog post" is too vague. "You need to publish a comparison post for two competing SaaS tools this week" is useful.
Input Schema Typed definition of every variable input. Mark required vs optional.
Workflow (numbered steps) This is the core. Each step must be concrete enough that any AI model produces consistent output:
Bad: "3. Write the pros and cons" Good: "3. Write at least 3 pros and 2 cons. Each must reference a specific feature, not a vague category. 'Exports to 12 formats including PDF and DOCX' not 'Great export options'."
Output Schema
Typed fields that other skills can consume via conversation context. Include output_schema_version: "1.0.0".
Output Format
A markdown code block showing the exact template with [placeholder] brackets. This is the single most important section for consistency.
Error Handling 3-5 named failure modes with specific recovery behavior. What happens when input is missing, ambiguous, or the task can't be completed?
Examples 2-3 concrete examples showing:
Flywheel Connections
chain_metadata YAML block with skill_slug, stage, timestamp, suggested_nextQuality Gate 5-7 numbered checklist items that must all pass before the output is delivered. These are the self-validation checks the AI runs silently.
References Links to supplementary reference files if applicable.
Separately from the SKILL.md, write a community-facing description for the skill's README section (for GitHub and the affiliate-skills registry). This is what people see when browsing — it sells the skill, not documents it.
Structure:
This is NOT the SKILL.md content — it's a human-friendly summary for discovery.
Present two clearly separated outputs:
skills/{stage}/{slug}/SKILL.mdBefore presenting output, verify:
[placeholder] bracketsname matches the slug exactlyOther skills consume these fields from conversation context:
{
output_schema_version: "1.0.0"
skill_md: string # Complete SKILL.md file content (ready to write to disk)
listing: {
name: string # "Comparison Post Writer"
slug: string # "comparison-post-writer"
description: string # Community-facing description for GitHub README / registry
content: string # Full SKILL.md content (for the content field)
category: string # "content", "research", "seo", etc.
level: string # "beginner", "intermediate", "advanced"
tags: string[] # ["content", "comparison", "seo", "blog"]
}
metadata: {
stage: string # "S2-Content"
tools_needed: string[] # ["web_search"] or []
estimated_time: string # "15 min"
}
}
The skill produces two outputs:
---
name: [slug]
description: >
[2-3 lines describing the skill and trigger phrases]
license: MIT
version: "1.0.0"
tags: [[tags]]
compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent"
metadata:
author: [author]
version: "1.0"
stage: [S1-S8 stage]
---
# [Skill Name]
[1 paragraph intro]
## Stage
This skill belongs to Stage [S1-S8]: [Stage Name]
## When to Use
- [Scenario 1]
- [Scenario 2]
- [Scenario 3]
## Input Schema
[typed input definition]
## Workflow
### Step 1: [Action]
[Instructions with approach and quality bar]
### Step 2: [Action]
[Instructions]
...
## Output Schema
[typed output definition with output_schema_version]
## Output Format
[code block template with [placeholders]]
## Error Handling
- **[Failure mode 1]:** [Recovery behavior]
- **[Failure mode 2]:** [Recovery behavior]
## Examples
**Example 1: [Scenario]**
[Input, decisions, output excerpt]
**Example 2: [Scenario]**
[Input, decisions, output excerpt]
## Flywheel Connections
### Feeds Into
- [skill] ([stage]) — [how]
### Fed By
- [skill] ([stage]) — [how]
### Feedback Loop
[How community engagement improves this skill]
chain_metadata YAML block
## Quality Gate
1. [Testable check]
2. [Testable check]
...
## References
- [reference files if applicable]
## Skill Info (for GitHub README and registry)
| Field | Value |
|-------|-------|
| Name | [Skill Name] |
| Slug | [slug] |
| Category | [category] |
| Level | [level] |
| Tags | [tag1, tag2, tag3] |
| Install | npx skills add Affitor/affiliate-skills |
---
## Description (paste into README or PR description)
[Community-facing description — see Step 4]
Example 1: Converting a reused ChatGPT prompt
User: "I always ask ChatGPT to write me a comparison blog post about two SaaS tools for my affiliate site. Sometimes it's great, sometimes it writes a generic listicle."
Analysis:
Output: SKILL.md with comparison-post-writer slug, detailed workflow for researching both products, building comparison tables, writing specific pros/cons, and a quality gate that checks for concrete feature comparisons (not generic praise).
Example 2: Packaging a workflow that spans multiple tools
User: "I have a workflow where I research a product on G2, check their pricing page, then write a review post with SEO keywords. Can you make this a skill?"
Analysis:
Output: SKILL.md with product-review-writer slug, workflow that explicitly separates research (Steps 1-3) from writing (Steps 4-6), output schema that passes review data to downstream skills, and error handling for when G2 listings don't exist.
Example 3: Skill that's too simple
User: "Make a skill that writes Twitter threads"
Response: Ask clarifying questions — "What kind of Twitter threads? About a product you're promoting? Summarizing a blog post? Sharing tips in a niche? The skill needs a specific use case to produce consistent output. 'Write a Twitter thread' is too broad — the AI will produce different things every time."
npx skills add Affitor/affiliate-skills. Secondary: community discussions, PRs, and mentionsskills/{stage}/{slug}/SKILL.md and open a PR to Affitor/affiliate-skillsAfter 7 days: how many installs and GitHub stars? After 30 days: any community PRs or feedback? If engagement is growing, create more skills in related areas to build a skill portfolio. Your skills become your brand — people trust affiliates who create useful tools.
Next step — copy-paste this prompt: "Find ways to improve my skill based on usage feedback" → runs
self-improver
skill-finder (S8) — newly created skills appear in the repo for discoveryself-improver (S8) — skill structure enables automated quality improvementcompliance-checker (S8) — validates skill outputs against FTC and platform rulessubmit-program (S1) — program listings inspire related skill ideasniche-opportunity-finder (S1) — high-opportunity niches reveal skill gapschain_metadata:
skill_slug: "create-skill"
stage: "meta"
timestamp: string
suggested_next:
- "skill-finder"
- "self-improver"
- "compliance-checker"
Before marking this skill's output as complete:
[placeholder] brackets, not prose descriptionname field matches the slug exactlyshared/references/flywheel-connections.md — master flywheel connection mapshared/references/skill-template.md — canonical SKILL.md template (if exists)npx claudepluginhub affitor/affiliate-skills --plugin research-skillsCreates high-quality SKILL.md files for Claude Code and Cowork using expert vocabulary payloads, anti-pattern watchlists, and progressive disclosure architecture. Use for custom skill building or reusable prompts.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends OpenCode's capabilities with specialized knowledge, workflows, or tool integrations.
Creates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.