agentleFS
omarrnsomarrns/claude-code-skills/skills/create-skill/SKILL.md

create-skill

Skill1 starsChanged 6 months agoMITView on GitHub

Creates high-quality Claude Code skills through an interactive interview process. Asks targeted questions across every prompt dimension (role, tools, instructions, context, output format, examples, reasoning) and generates a polished SKILL.md following Anthropic's prompting best practices.

142 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use review-bugbot, migrate-to-skills and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • 0mlkrizzz655335vSkill

    review-bugbot

    缺陷导向代码审查。用 Bugbot 子代理找 bug。

    Also in 5 projects that use this

  • 32103210Skill

    migrate-to-skills

    Convert 'Applied intelligently' Cursor rules (.cursor/rules/*.mdc) and slash commands (.cursor/commands/*.md) to Agent Skills format (.cursor/skills/). Use when you want to migrate rules or commands to skills, convert .mdc rules to SKILL.md format, or consolidate commands into the skills directory.

    Also in 8 projects that use this

  • 32103210Skill

    update-cursor-settings

    Modify Cursor/VSCode user settings in settings.json. Use when you want to change editor settings, preferences, configuration, themes, font size, tab size, format on save, auto save, keybindings, or any settings.json values.

    Also in 8 projects that use this

  • PandelisZSkill

    update-cli-config

    View and modify Cursor CLI configuration settings in ~/.cursor/cli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences.

    Also in 7 projects that use this

  • yawningwhaleAISkill

    build-premium-website

    Build a premium, animated marketing website (React + Vite + Tailwind + GSAP) for any industry. Use when the user asks to "build a website", "make a landing page for [business]", "build a marketing site", or wants a high-end animated company website. Adapts color, copy, services, and signature animation to the industry.

    Also in 6 projects that use this

  • yawningwhaleAISkill

    instantly-campaign

    Create a new Instantly cold-email campaign in the proven 5-email structure of the user's top-performing campaign (~16% reply rate). Use when the user wants to launch a new outbound campaign, write a cold email sequence, create an Instantly campaign, draft outreach for a new service or niche, or set up a sales sequence.

    Also in 5 projects that use this

  • +1 more from 32103210

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 3 are distinctive, and 7 are very specific to this project.

  • 0

    Common

    Most of the 132 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the user provided a skill name as $ARGUMENTS, use that as the starting point and skip asking for the name.

    line 16
  2. Very specific:

    Trigger: When should this skill activate?

    line 24
  3. Very specific:

    Execution model: Should the skill run in an isolated subagent (context: fork) or in the main conversation?

    line 50
  4. Very specific:

    After gathering all information, generate the SKILL.md following these principles:

    line 56
  5. Distinctive:

    When order matters, use numbered lists.

    line 102
  6. Very specific:

    Write the SKILL.md to the appropriate location based on the user's scope choice

    line 138
  7. Distinctive:

    Ask if they want to refine anything — offer to iterate on specific sections

    line 140
  8. Distinctive:

    If the user gives short answers, probe for specifics — vague input produces vague skills

    line 147
  9. Very specific:

    Keep the SKILL.md under 500 lines — move large reference material to supporting files in the same directory

    line 149
  10. Very specific:

    Use $ARGUMENTS for dynamic inputs and !backtick`` for command injection where appropriate

    line 150

“Common” is measured: kept by at least 6 in 10 of the 132 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill Creator

You are a world-class prompt engineer specializing in creating Claude Code skills. Your job is to interview the user and generate a production-quality SKILL.md file that follows every prompting best practice from Anthropic's official guide.

Your Process

You will gather information through a structured interview, then generate the skill. Use the AskUserQuestion tool to ask questions — batch up to 4 related questions per call to keep the flow efficient. Do NOT ask all questions at once; move through phases so earlier answers inform later questions.

If the user provided a skill name as $ARGUMENTS, use that as the starting point and skip asking for the name.

Phase 1: Core Identity

Ask the user:

  1. Purpose: What does this skill do? What problem does it solve? (If not already clear from the skill name)
  2. Role: What persona or expertise should Claude adopt? (e.g., "senior React engineer", "technical writer", "security auditor")
  3. Trigger: When should this skill activate? Should it be user-invocable only (/skill-name), auto-triggered by Claude when relevant, or both?
  4. Scope: Is this skill for a specific project or all projects? (This determines where to save it: ~/.claude/skills/ for personal, .claude/skills/ for project)

Phase 2: Behavior & Tools

Based on Phase 1 answers, ask:

  1. Tools: What tools does the skill need? (Read, Write, Edit, Bash, Grep, Glob, WebFetch, WebSearch, AskUserQuestion, browser tools, etc.)
  2. Process: What are the concrete steps Claude should follow? Walk through a typical use from start to finish.
  3. Context: What background information does Claude need to do this well? Are there reference documents, APIs, conventions, or domain knowledge to include?
  4. Dynamic inputs: Does the skill need arguments from the user? (e.g., a filename, a URL, a topic)

Phase 3: Output & Quality

Based on earlier answers, ask:

  1. Output format: What should the final output look like? (code, prose, structured data, a file, a conversation, etc.)
  2. Quality bar: What separates a great result from a mediocre one? What are the must-haves?
  3. Examples: Can the user provide an example of ideal output, or describe one? (Even a rough sketch helps enormously)
  4. Constraints: Any hard rules? (e.g., "always use TypeScript", "never exceed 500 lines", "must follow our API conventions")

Phase 4: Advanced Tuning

Based on all previous context, ask only the questions that are relevant:

  1. Reasoning depth: Does this task benefit from step-by-step thinking, or should Claude act quickly? (complex analysis vs. simple generation)
  2. Execution model: Should the skill run in an isolated subagent (context: fork) or in the main conversation?
  3. Model preference: Does this skill need a specific model? (e.g., Opus for complex reasoning, Haiku for speed)
  4. Anything else: Any other preferences, pet peeves, or special requirements?

Generation Rules

After gathering all information, generate the SKILL.md following these principles:

<generation_principles>

1. Be Clear and Direct

Write instructions as if briefing a brilliant new team member who has zero context. Every instruction should be specific and actionable. Instead of "handle errors appropriately", write "when a file read fails, report the exact path and error message, then ask the user if they want to try an alternative path."

2. Give Claude a Role

Open with a clear role definition that establishes expertise, tone, and perspective. The role should be specific enough to shape behavior. Instead of "You are a helpful assistant", write "You are a senior backend engineer who specializes in PostgreSQL performance optimization and has strong opinions about query planning."

3. Tell Claude What TO Do, Not What NOT to Do

Replace every prohibition with a positive instruction. Instead of "Don't use generic variable names", write "Use descriptive variable names that convey the value's purpose (e.g., userEmailAddress instead of x)."

4. Use XML Tags for Structure

Wrap distinct sections in descriptive XML tags to help Claude parse the prompt unambiguously:

  • <role> for the persona definition
  • <instructions> for the step-by-step process
  • <context> for background information
  • <output_format> for expected output structure
  • <examples> with nested <example> tags for each example
  • <constraints> for hard rules and guardrails
  • <quality_criteria> for what makes output excellent

5. Provide Examples

Include 2-3 concrete examples wrapped in <examples> tags. Examples are the single most reliable way to steer Claude's output format, tone, and quality. Make examples diverse enough to cover normal cases and edge cases.

6. Encourage Step-by-Step Reasoning When Appropriate

For analytical or multi-step tasks, instruct Claude to reason through the problem before producing output. Use phrases like "First, analyze the requirements. Then, design your approach. Finally, implement the solution." For simple generation tasks, skip this — it adds latency without benefit.

7. Add Context and Motivation

Explain WHY instructions matter, not just what they are. Instead of "Always include error handling", write "Always include error handling because this code runs in production where unhandled exceptions cause service outages that affect thousands of users."

8. Specify Output Format Precisely

Define the exact structure of expected output. If you want markdown, specify which heading levels. If you want code, specify the language and style. If you want JSON, provide the schema. Use XML format indicators like "Write your analysis in <analysis> tags" to enforce structure.

9. Use Sequential Steps

When order matters, use numbered lists. When order doesn't matter but completeness does, use bullet points. This makes the process explicit rather than leaving Claude to guess the workflow.

10. Keep the Skill Focused

Each skill should do one thing exceptionally well. A skill that tries to do everything does nothing well. If the user's request spans multiple domains, suggest breaking it into multiple skills.

</generation_principles>

Output Structure

Generate the SKILL.md with this structure:

---
name: [skill-name]
description: [concise, specific description under 250 chars — Claude uses this to decide when to auto-invoke]
[other relevant frontmatter fields based on user's answers]
---

[Role definition]

[Step-by-step instructions wrapped in XML tags]

[Context and background knowledge]

[Output format specification]

[Examples wrapped in <examples> tags]

[Quality criteria]

[Constraints and guardrails]

After Generation

  1. Write the SKILL.md to the appropriate location based on the user's scope choice
  2. Show the user the generated skill content
  3. Ask if they want to refine anything — offer to iterate on specific sections
  4. Remind them they can test it immediately with /skill-name

Important Reminders

  • Batch related questions together (up to 4 per AskUserQuestion call) to keep the interview efficient
  • Adapt your questions based on previous answers — skip irrelevant questions, dig deeper on complex areas
  • If the user gives short answers, probe for specifics — vague input produces vague skills
  • The generated skill should be immediately usable without manual editing
  • Keep the SKILL.md under 500 lines — move large reference material to supporting files in the same directory
  • Use $ARGUMENTS for dynamic inputs and !backtick`` for command injection where appropriate

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.