PluginBench
Skill
Pass
Audit score 90

update-skill

warpdotdev/common-skills

Create or update skills by generating, editing, or refining SKILL.md files in this repository.

What is update-skill?

This skill guides you through creating or updating skills in the Warp common-skills repository. Use it when authoring new skills or revising the structure, frontmatter, or guidance for existing ones.

  • Generate new SKILL.md files with proper YAML frontmatter and markdown structure
  • Edit and refine existing skill documentation to meet repository standards
  • Validate skill naming conventions and frontmatter requirements
  • Organize skill content into main SKILL.md and references/ subdirectories for complex skills
  • Apply best practices for descriptions, examples, and workflow guidance

How to install update-skill

npx skills add https://github.com/warpdotdev/common-skills --skill update-skill
Prerequisites
  • Access to the warpdotdev/common-skills repository
  • Basic understanding of YAML frontmatter and markdown formatting
  • Familiarity with kebab-case naming conventions
Claude Code
Cursor
Windsurf
Cline

How to use update-skill

  1. 1.Review the frontmatter requirements: name (kebab-case), description (action verb + use case)
  2. 2.Structure your skill with a title, optional overview, main content, and optional best practices sections
  3. 3.Write descriptions that include both what the skill does and when to use it, starting with an action verb
  4. 4.Keep simple skills (≤200 lines) in a single SKILL.md file
  5. 5.For complex skills (>200 lines), split detailed content into references/ subdirectory with clear links from SKILL.md
  6. 6.Optionally validate your skill using the skills-ref package to check frontmatter and naming conventions
  7. 7.Follow code example formatting and conciseness principles from references/best-practices.md

Use cases

Good for
  • Creating a new skill from scratch with correct frontmatter and structure
  • Updating an existing skill's description to improve discoverability
  • Splitting a large SKILL.md (200+ lines) into main content and reference files
  • Ensuring skill descriptions follow the action-verb-plus-use-case pattern
  • Validating skill structure against repository standards before submission
Who it's for
  • Skill authors and maintainers
  • Contributors to the Warp common-skills repository
  • Developers creating reusable agent skills
  • Teams documenting workflows as installable skills

update-skill FAQ

What must every SKILL.md file contain?

Every SKILL.md must start with YAML frontmatter containing 'name' (kebab-case identifier) and 'description' (specific description starting with an action verb and including when to use it), followed by markdown body content.

How should I write the description field?

Begin with an action verb (e.g., 'Adds', 'Extracts', 'Generates') that clearly states what the skill accomplishes, immediately followed by a specific use case or context. Write in third person and include key terms for skill discovery.

When should I split content into a references/ subdirectory?

Create a references/ subdirectory when SKILL.md approaches 200+ lines, covers multiple independent domains, or contains extensive reference material that would clutter the main instructions.

What are the typical sections in a Warp skill?

Standard sections are: title and brief summary, optional overview, main content (steps/instructions), optional best practices, and optional examples/reference PRs. Keep structure flexible based on the skill's needs.

How can I validate my skill before submission?

Use the skills-ref package to validate your SKILL.md: run 'skills-ref validate ./my-skill' to check frontmatter validity and naming conventions.

Full instructions (SKILL.md)

Source of truth, from warpdotdev/common-skills.


name: update-skill description: Create or update skills by generating, editing, or refining SKILL.md files in this repository. Use when authoring new skills or revising the structure, frontmatter, or guidance for existing ones.

update-skill

This guide provides instructions for creating or updating skills in this repository. It covers the required structure, frontmatter, and best practices for skills.

Quick Start

Every skill is a directory containing a SKILL.md file with YAML frontmatter and markdown body:

---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
---

# PDF Processing

## When to use this skill
Use this skill when the user needs to work with PDF files...

## How to extract text
1. Use pdfplumber for text extraction...

## How to fill forms
...

Requirements

Frontmatter (Required)

Every SKILL.md must start with YAML frontmatter containing:

  • name: Kebab-case identifier (lowercase letters, numbers, hyphens only)
    • Example: add-feature-flag, pdf-processing, update-skill
  • description: Specific description of what the skill does and when to use it
    • Must be non-empty
    • Should include key terms for skill discovery
    • Begin with an action verb to clearly state what the skill accomplishes (e.g., "Adds feature flags..." instead of "Helps with features..."), and immediately follow with a specific use case or context (e.g., "Use when working with feature flags")
    • Write in third person (e.g., "Adds feature flags..." not "I can help you add...")

Writing Effective Descriptions

The description field is critical for skill discovery. Include both what the skill does and when to use it. Some good examples:

  • git-commit: "Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes."
  • pdf-processing: "Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction."

Avoid vague descriptions like "Helps with code" or "Does development tasks". For more context, see "Description Best Practices" in references/best-practices.md.

Skill Structure

Typical sections in Warp skills:

  1. Title and brief summary – Clear title and a concise overview of the skill's purpose and primary use cases. Link to sections, reference files or related skills if useful
  2. Overview - Context about the skill's purpose (optional but common), extends the summary with more details and context
  3. Main content - Steps, usage instructions, or workflow guidance
  4. Best Practices - Guidelines and recommendations (optional)
  5. Examples / Reference PRs - Links to real examples (optional)

Keep the structure flexible based on the skill's needs. Simple skills can omit the optional sections.

Validation

Optionally, use the skills-ref reference library to validate your skills:

skills-ref validate ./my-skill

This checks that your SKILL.md frontmatter is valid and follows all naming conventions. If not installed, use the WebSearch tool to get context around this package.

Main Content Best Practices

File Organization

  • Simple skills (<=200 lines): Keep everything in SKILL.md
  • Complex skills (>200 lines): Split detailed content into references/ subdirectory

When to Split Content

Create references/ subdirectory when:

  • SKILL.md approaches 200+ lines
  • Skill covers multiple domains or workflows that can be loaded independently
  • Detailed reference material would clutter the main instructions

Keep only essential workflow and procedural instructions in SKILL.md. Move detailed reference material, schemas, and extensive examples to references/ files.

Examples from Existing Skills

For reference on structure and style:

  • .agents/skills/add-feature-flag/SKILL.md - Multi-step workflow with clear sequential steps
  • .agents/skills/remove-feature-flag/SKILL.md - Cleanup workflow with search commands

Best Practices

See references/best-practices.md for detailed authoring guidance including:

  • Progressive disclosure patterns
  • Writing concise, effective instructions
  • Code example formatting
  • Common anti-patterns to avoid