update-skill

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.

npx skills add https://github.com/warpdotdev/common-skills --skill update-skill

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

More skills from warpdotdev

council
warpdotdev
Run a model-diverse subagent council to investigate the same problem from multiple perspectives, compare findings, and produce a final recommendation. Use this skill whenever the user asks for a council, second opinions, multiple agents/models to evaluate one question, parallel investigation, red-team/blue-team comparison, or help deciding between competing technical approaches.
researchcommunicationproject-management
spec-driven-implementation
warpdotdev
Drive a spec-first workflow for substantial features by writing PRODUCT.md before implementation, writing TECH.md when warranted, and keeping both specs updated as implementation evolves. Use when starting a significant feature, planning agent-driven implementation, or when the user wants product and tech specs checked into source control.
developmentdocumentproject-management
review-pr
warpdotdev
Review a pull request diff and write structured feedback to review.json for the workflow to publish. Use when reviewing a checked-out PR from local artifacts like pr_diff.txt and pr_description.txt and producing machine-readable review output instead of posting directly to GitHub.
code-reviewdevelopment
create-pr
warpdotdev
Create a pull request in the warp repository for the current branch. Use when the user mentions opening a PR, creating a pull request, submitting changes for review, or preparing code for merge.
developmentcode-review
implement-specs
warpdotdev
Implement an approved feature from PRODUCT.md and TECH.md, keeping specs and code aligned in the same PR as implementation evolves. Use after the product and tech specs are approved and the next step is building the feature.
developmentcode-reviewapi
cross-critique
warpdotdev
Run a second round on a contested question by circulating each subagent's independent proposal to the other authors and asking for structured pros and cons, then synthesize. Use this skill whenever you have multiple independent proposals or opinions on a contested decision — architecture tradeoffs, code review disagreements, design choices, competing root-cause theories — and want sharper analysis than you'd produce by synthesizing alone. Pairs naturally with the council and research skills;...
resolve-merge-conflicts
warpdotdev
Resolve Git merge conflicts by extracting only unresolved paths, conflict hunks, and compact diffs instead of loading whole files into context. Use when a merge, rebase, cherry-pick, or stash pop stops on conflicts, when `git status` shows unmerged paths, or when files contain conflict markers.
developmentcode-review
brandalf
warpdotdev
Guides creation, revision, and review of Warp- or Oz-branded assets. Use when working on launch pages, docs, HTML/CSS components, UI mockups, prompts, social assets, copy, presentations, or any other branded deliverable that should look and sound unmistakably Warp or Oz.
designcreativemarketing