CtrlK
BlogDocsLog inGet started
Tessl Logo

make-skill-template

Create new Agent Skills for GitHub Copilot from user requests or by duplicating this template. Use when asked to "create a skill", "make a new skill", "scaffold a skill", or when building specialized AI capabilities with bundled resources. Generates SKILL.md files with proper frontmatter, directory structure, and optional scripts/references/assets folders.

74

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Make Skill Template

A meta-skill for creating new Agent Skills. Use this skill when you need to scaffold a new skill folder, generate a SKILL.md file, or help users understand the Agent Skills specification.

Contents

How to use this skill

Attach this file to your Copilot Chat context, then invoke it when creating or refining a skill under .github/skills/. Use it to scaffold new skills and to check discoverability quality before committing.

Related skills

  • Reviewing Skills — audit a skill for quality, discoverability, and best-practice compliance after authoring
  • Development Workflow — integrate skill creation changes into the repository workflow
  • PR Readiness Review — final validation before opening a pull request with new or updated skills

When to Use This Skill

  • User asks to "create a skill", "make a new skill", or "scaffold a skill"
  • User wants to add a specialized capability to their GitHub Copilot setup
  • User needs help structuring a skill with bundled resources
  • User wants to duplicate this template as a starting point

Prerequisites

  • Understanding of what the skill should accomplish
  • A clear, keyword-rich description of capabilities and triggers
  • Knowledge of any bundled resources needed (scripts, references, assets, templates)

Creating a New Skill

Step 1: Create the Skill Directory

Create a new folder with a lowercase, hyphenated name:

.github/skills/<skill-name>/
└── SKILL.md          # Required

Step 2: Generate SKILL.md with Frontmatter

Every skill requires YAML frontmatter with name and description:

---
name: <skill-name>
description: '<What it does>. Use when <specific triggers, scenarios, keywords users might say>.'
---

Frontmatter Field Requirements

FieldRequiredConstraints
nameYes1-64 chars, lowercase letters/numbers/hyphens only, must match folder name
descriptionYes10-1024 chars, must describe WHAT it does AND WHEN to use it
licenseNoLicense name or reference to bundled LICENSE.txt
compatibilityNo1-500 chars, environment requirements if needed
metadataNoKey-value pairs for additional properties
allowed-toolsNoSpace-delimited list of pre-approved tools (experimental)

Description Best Practices

CRITICAL: The description is the PRIMARY mechanism for automatic skill discovery. Include:

  1. WHAT the skill does (capabilities)
  2. WHEN to use it (triggers, scenarios, file types)
  3. Keywords users might mention in requests

Good example:

description: 'Toolkit for testing local web applications using Playwright. Use when asked to verify frontend functionality, debug UI behavior, capture browser screenshots, or view browser console logs. Supports Chrome, Firefox, and WebKit.'

Poor example:

description: 'Web testing helpers'

Step 3: Write the Skill Body

After the frontmatter, add markdown instructions. Recommended sections:

SectionPurpose
# TitleBrief overview
## When to Use This SkillReinforces description triggers
## PrerequisitesRequired tools, dependencies
## Step-by-Step WorkflowsNumbered steps for tasks
## TroubleshootingCommon issues and solutions
## ReferencesLinks to bundled docs

For standards and review skills, rules are mandatory unless explicitly marked Optional. For advisory skills, distinguish requirements, recommendations, and examples with consistent labels.

Define named thresholds, modes, phases, or terms before first use, and keep one authoritative definition for each concept.

Use real markdown headings for durable rule sections. Avoid bold paragraphs as pseudo-headings when the section may need a table-of-contents entry, deep link, or review reference.

Step 4: Add Optional Directories (If Needed)

FolderPurposeWhen to Use
scripts/Executable code (Python, Bash, JS)Automation that performs operations
references/Documentation agent readsAPI references, schemas, guides
assets/Static files used AS-ISImages, fonts, templates
templates/Starter code agent modifiesScaffolds to extend

Skill Body Organization

Target SKILL.md under 500 lines; review carefully above 600 lines. Exceeding the target is acceptable when splitting always-needed workflow or review rules would make the skill less effective. Split situational references first.

Keep these in SKILL.md:

  • Routing, prerequisites, and precedence rules
  • The main workflow and required feedback loops
  • Mandatory validation or review checklists
  • Rules needed on nearly every invocation

Move these to reference files:

  • Element-specific, type-specific, or platform-specific rules
  • Long examples and templates
  • Rare edge cases and background material
  • Appendices or migration notes

Each reference file should state its purpose and when the agent should load it. Keep references one level deep from SKILL.md.

When one skill extends another, state what it inherits, overrides, or adds. Link to the parent skill or reference file and keep child-skill overrides narrow.

Example: Complete Skill Structure

my-awesome-skill/
├── SKILL.md                    # Required instructions
├── LICENSE.txt                 # Optional license file
├── scripts/
│   └── helper.py               # Executable automation
├── references/
│   ├── api-reference.md        # Detailed docs
│   └── examples.md             # Usage examples
├── assets/
│   └── diagram.png             # Static resources
└── templates/
    └── starter.ts              # Code scaffold

Quick Start: Duplicate This Template

  1. Copy the make-skill-template/ folder
  2. Rename to your skill name (lowercase, hyphens)
  3. Update SKILL.md:
    • Change name: to match folder name
    • Write a keyword-rich description:
    • Replace body content with your instructions
  4. Add bundled resources as needed
  5. Review with the Reviewing Skills skill

Validation Checklist

  • Folder name is lowercase with hyphens
  • name field matches folder name exactly
  • description is 10-1024 characters
  • description explains WHAT and WHEN
  • description is wrapped in single quotes
  • Body content targets under 500 lines and is reviewed carefully above 600 lines
  • Always-needed workflow and review rules remain in SKILL.md
  • Situational details are split into reference files with clear load conditions
  • Named thresholds, modes, phases, or terms are defined before first use
  • Standards/review rules are mandatory unless explicitly marked Optional
  • Deep links, TOC anchors, and referenced files resolve after heading changes
  • Bundled assets are under 5MB each

Troubleshooting

IssueSolution
Skill not discoveredImprove description with more keywords and triggers
Validation fails on nameEnsure lowercase, no consecutive hyphens, matches folder
Description too shortAdd capabilities, triggers, and keywords
Assets not foundUse relative paths from skill root

References

Repository
ruby-git/ruby-git
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.