agentleFS
TheArchitectitTheArchitectit/awesome-cline-skills/skills/skill-creator/SKILL.md

skill-creator

Skill8 starsChanged 3 months agoApache-2.0View on GitHub

Guide for creating effective Cline Skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Cline's capabilities with specialized knowledge, workflows, or tool integrations.

We split this skill into the rules it gives an agent

16 rules. 0 are common, 12 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 183 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

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

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

    Every skill consists of a required SKILL.md file and optional bundled resources:

    line 23
  2. Distinctive:

    When to include: When the same code is being rewritten repeatedly or deterministic reliability is needed

    line 51
  3. Very specific:

    Best practice: If files are large (>10k words), include grep search patterns in SKILL.md

    line 64
  4. Distinctive:

    Document or code templates that Cline can copy and modify for output.

    line 68
  5. Distinctive:

    When to include: When the skill produces output following a consistent pattern

    line 70
  6. Distinctive:

    Create the skill directory structure:

    line 129
  7. Very specific:

    Create the SKILL.md file with proper frontmatter:

    line 135
  8. Distinctive:

    Writing Style: Write the entire skill using imperative/infinitive form (verb-first instructions), not second person.

    line 170
  9. Distinctive:

    When should the skill be used?

    line 175
  10. Distinctive:

    Verify the skill meets these requirements:

    line 180
  11. Distinctive:

    Start Cline and trigger the skill

    line 196
  12. Distinctive:

    Verify the skill loads and executes correctly

    line 197
  13. Distinctive:

    Write instructions for Cline, not end users

    line 211
  14. Distinctive:

    Test with Cline before sharing

    line 212
  15. Distinctive:

    Document prerequisites and dependencies

    line 213
  16. Very specific:

    Put reference material in docs/ to keep SKILL.md lean

    line 215

“Common” is measured: kept by at least 6 in 10 of the 183 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

This skill provides guidance for creating effective Cline Skills.

About Cline Skills

Skills are modular, self-contained packages that extend Cline's capabilities by providing specialized knowledge, workflows, and tools. Unlike rules (which are always active via .clinerules/), skills are loaded on-demand when triggered — keeping Cline's context window clean until specialized knowledge is needed.

What Skills Provide

  1. Specialized workflows — Multi-step procedures for specific domains
  2. Tool integrations — Instructions for working with specific file formats or APIs
  3. Domain expertise — Company-specific knowledge, schemas, business logic
  4. Bundled resources — Scripts, references, and assets for complex and repetitive tasks

Anatomy of a Skill

Every skill consists of a required SKILL.md file and optional bundled resources:

skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter metadata (required)
│   │   ├── name: (required, must match directory name exactly)
│   │   └── description: (required, max 1024 chars)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/          - Executable code (Python/Bash/etc.)
    ├── docs/             - Additional documentation loaded as needed
    ├── templates/        - Document or code templates
    └── resources/        - Reference files

SKILL.md (required)

Metadata Quality: The name and description in YAML frontmatter determine when Cline will use the skill. Be specific about what the skill does and when to use it. Use the third-person (e.g., "This skill should be used when..." instead of "Use this skill when...").

Critical Rule: The name field in frontmatter must match the directory name exactly. For example, a skill in directory pdf-editor/ must have name: pdf-editor in its frontmatter.

Bundled Resources (optional)

Scripts (scripts/)

Executable code (Python/Bash/etc.) for tasks that require deterministic reliability or are repeatedly rewritten.

  • When to include: When the same code is being rewritten repeatedly or deterministic reliability is needed
  • Example: scripts/rotate_pdf.py for PDF rotation tasks
  • Benefits: Token efficient, deterministic, may be executed without loading into context
  • Note: Scripts may still need to be read by Cline for patching or environment-specific adjustments
Docs (docs/)

Additional documentation and reference material intended to be loaded as needed into context.

  • When to include: For documentation that Cline should reference while working
  • Examples: docs/api_reference.md, docs/workflow_guide.md
  • Use cases: Database schemas, API documentation, domain knowledge, company policies, detailed workflow guides
  • Benefits: Keeps SKILL.md lean, loaded only when Cline determines it's needed
  • Best practice: If files are large (>10k words), include grep search patterns in SKILL.md
Templates (templates/)

Document or code templates that Cline can copy and modify for output.

  • When to include: When the skill produces output following a consistent pattern
  • Examples: templates/report_header.md, templates/api_server.py
  • Benefits: Ensures consistent output, reduces token usage by avoiding inline templates

Progressive Disclosure Design Principle

Cline Skills use a three-level loading system to manage context efficiently:

  1. Metadata (name + description) — Always in context (~100 tokens)
  2. SKILL.md body — When skill triggers (<5k tokens)
  3. Bundled resources — As needed by Cline (Unlimited*)

*Unlimited because scripts can be executed without reading into context window.

Skill Creation Process

To create a skill, follow these steps in order, skipping steps only if there is a clear reason why they are not applicable.

Step 1: Understanding the Skill with Concrete Examples

Skip this step only when the skill's usage patterns are already clearly understood.

To create an effective skill, clearly understand concrete examples of how the skill will be used. This understanding can come from either direct user examples or generated examples that are validated with user feedback.

For example, when building an image-editor skill, relevant questions include:

  • "What functionality should the image-editor skill support? Editing, rotating, anything else?"
  • "Can you give some examples of how this skill would be used?"
  • "I can imagine users asking for things like 'Remove the red-eye from this image' or 'Rotate this image'. Are there other ways you imagine this skill being used?"
  • "What would a user say that should trigger this skill?"

To avoid overwhelming users, avoid asking too many questions in a single message. Start with the most important questions and follow up as needed.

Conclude this step when there is a clear sense of the functionality the skill should support.

Step 2: Planning the Reusable Skill Contents

To turn concrete examples into an effective skill, analyze each example by:

  1. Considering how to execute on the example from scratch
  2. Identifying what scripts, docs, templates, and resources would be helpful when executing these workflows repeatedly

Example: When building a pdf-editor skill to handle queries like "Help me rotate this PDF," the analysis shows:

  1. Rotating a PDF requires re-writing the same code each time
  2. A scripts/rotate_pdf.py script would be helpful to store in the skill

Example: When designing a frontend-webapp-builder skill for queries like "Build me a todo app," the analysis shows:

  1. Writing a frontend webapp requires the same boilerplate HTML/React each time
  2. A templates/hello-world/ template containing boilerplate project files would be helpful

Example: When building a big-query skill to handle queries like "How many users have logged in today?" the analysis shows:

  1. Querying BigQuery requires re-discovering the table schemas and relationships each time
  2. A docs/schema.md file documenting the table schemas would be helpful

Step 3: Initialize the Skill Directory

Create the skill directory structure:

mkdir -p skill-name/{scripts,docs,templates,resources}

Create the SKILL.md file with proper frontmatter:

---
name: skill-name
description: Clear description of what this skill does and when Cline should use it.
---

# Skill Name

## When to Use This Skill

- [Use cases]

## Instructions

[Detailed instructions for Cline]

## Examples

[Real-world examples]

Step 4: Edit the Skill

When editing the skill, remember that the skill is being created for another instance of Cline to use. Focus on including information that would be beneficial and non-obvious to Cline. Consider what procedural knowledge, domain-specific details, or reusable assets would help another Cline instance execute these tasks more effectively.

Start with Reusable Skill Contents

To begin implementation, start with the reusable resources identified above: scripts/, docs/, templates/, and resources/ files. Note that this step may require user input. For example, when implementing a brand-guidelines skill, the user may need to provide brand assets or templates to store in templates/, or documentation to store in docs/.

Also, delete any example files and directories not needed for the skill.

Update SKILL.md

Writing Style: Write the entire skill using imperative/infinitive form (verb-first instructions), not second person. Use objective, instructional language (e.g., "To accomplish X, do Y" rather than "You should do X"). This maintains consistency and clarity for AI consumption.

To complete SKILL.md, answer the following questions:

  1. What is the purpose of the skill, in a few sentences?
  2. When should the skill be used?
  3. In practice, how should Cline use the skill? All reusable skill contents developed above should be referenced so that Cline knows how to use them.

Step 5: Validate the Skill

Verify the skill meets these requirements:

  • SKILL.md exists in the skill directory
  • YAML frontmatter has name field matching directory name exactly
  • YAML frontmatter has description field under 1024 characters
  • Description is written in third-person ("This skill should be used when...")
  • Instructions are written for Cline (AI agent), not end users
  • SKILL.md is under 5,000 words (put detailed reference in docs/)
  • Optional directories only exist if they contain content
  • Examples are included

Step 6: Install and Test

Install the skill and test it with Cline:

  1. Copy the skill to .cline/skills/ (project) or ~/.cline/skills/ (global)
  2. Start Cline and trigger the skill
  3. Verify the skill loads and executes correctly
  4. Iterate on any issues found

Skill Installation Paths

Cline discovers skills from these locations:

  • Project-level: .cline/skills/skill-name/ — Shared with team via version control
  • Global: ~/.cline/skills/skill-name/ — Available across all projects

Tips

  • Focus on specific, repeatable tasks
  • Include clear examples and edge cases
  • Write instructions for Cline, not end users
  • Test with Cline before sharing
  • Document prerequisites and dependencies
  • Include error handling guidance
  • Put reference material in docs/ to keep SKILL.md lean

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.