agentsclimarketplace

Copilot skill builder

Skill trsdn/github-copilot-cli/packages/copilot-skill-builder/skills/copilot-skill-builder

Blueprint for customizing GitHub Copilot CLI — custom agents, instructions, skills, and MCP configurations. Terminal-only. No VS Code.

Install
npx -y skills add trsdn/github-copilot-cli --skill copilot-skill-builder

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

A meta-skill that teaches how to create and maintain Agent Skills for Copilot CLI. Use this skill when the user wants to create a new skill, understand skill frontmatter, configure allowed-tools, choose skill locations, or learn best practices for writing SKILL.md files.

SKILL.md

5.0 KB, as published. Nobody here has run it

Skill Builder

This skill helps you create well-structured Agent Skills for GitHub Copilot CLI.

When to use this skill

  • User wants to create a new Agent Skill
  • User asks about the SKILL.md format or best practices
  • User wants to understand how skills work in Copilot CLI
  • User needs to debug or improve an existing skill

SKILL.md Format

Every skill lives in its own directory and must contain a SKILL.md file:

.github/skills/<skill-name>/
├── SKILL.md          # Required: skill instructions
├── scripts/          # Optional: helper scripts
├── examples/         # Optional: example files
└── templates/        # Optional: template files

SKILL.md Structure

---
name: skill-name
description: What the skill does and when Copilot should use it. Be specific to help Copilot decide when to load this skill.
license: MIT
allowed-tools: read, grep
user-invocable: true
disable-model-invocation: false
---

# Skill Title

Overview of what this skill accomplishes.

## When to use this skill

- Specific trigger 1
- Specific trigger 2

## Step-by-step procedure

1. First step
2. Second step

## Examples

### Example 1: Description
...

## References

- [Link to relevant docs](https://...)

Frontmatter Fields

FieldRequiredDescription
name✅ YesUnique identifier, lowercase with hyphens, max 64 chars
description✅ YesWhat it does and when to use it, max 1024 chars
license❌ NoLicense information for the skill
allowed-tools❌ NoComma-separated string or YAML array of tools to allow when active
user-invocable❌ NoWhether users can invoke the skill with /skill-name; defaults to true
disable-model-invocation❌ NoPrevents automatic model invocation; defaults to false

Skill Locations

TypeLocationScope
Project skills.github/skills/<name>/SKILL.mdCurrent repository
Project skills.agents/skills/<name>/SKILL.mdCurrent repository, cross-agent standard
Project skills.claude/skills/<name>/SKILL.mdCurrent repository, Claude-compatible
Personal skills~/.copilot/skills/<name>/SKILL.mdAll your projects
Personal skills~/.agents/skills/<name>/SKILL.mdShared across agent tools
Custom locationsCOPILOT_SKILLS_DIRSAdditional comma-separated directories
Plugin skills<plugin>/skills/<name>/SKILL.mdInstalled plugin scope

Best Practices

Writing effective descriptions

The description field is critical — it's how Copilot decides when to load your skill.

Good descriptions:

  • "Guide for debugging failing GitHub Actions workflows. Use when asked to debug CI failures."
  • "Convert images between formats using ImageMagick. Use when asked to convert, resize, or optimize images."

Bad descriptions:

  • "A useful skill" (too vague)
  • "Helps with stuff" (non-specific)

Writing effective instructions

  1. Be specific — provide concrete steps, not vague guidance
  2. Include examples — show expected input/output pairs
  3. Reference resources — link to scripts and files using relative paths (e.g., [template](./template.js))
  4. Define scope — clearly state what the skill does and doesn't do
  5. Keep it focused — one skill per concern, not a kitchen sink

Including scripts and resources

Skills can include additional files that Copilot can reference:

When creating a new component, use the template at [component-template](./templates/component.tsx)
as a starting point.

To run validation, execute the script at [validate](./scripts/validate.sh).

Only use allowed-tools: shell or allowed-tools: bash for skills and scripts you fully trust. When in doubt, omit shell tools so Copilot asks before running commands.

Managing Skills in Copilot CLI

/skills list     # List available skills
/skills          # Toggle skills on/off interactively
/skills info     # View details about a skill
/skills reload   # Reload after adding new skills
/skills add      # Add alternative skill location
/skills remove   # Remove a skill directory

Skills vs Custom Instructions

AspectSkillsCustom Instructions
When loadedOn-demand, when relevantAlways, automatically
ScopeTask-specificGeneral/project-wide
Can include scripts✅ Yes❌ No
Best forDetailed task proceduresCoding standards, conventions

Rule of thumb: Use instructions for "always apply" rules, skills for "when relevant" procedures.

Template

Use skill-template.md as a starting point for new skills.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.