Lesson 5 - Customize and use a quality-checks skill
There’s more to writing code than just writing code. We’ve been able to validate the code works manually and used instruction files to ensure it follows our standards. But how about testing? Linting? All the other parts of continuous integration (CI)?
For these types of tasks, agent skills are the best fit! Skills help Copilot understand how to properly run operations like these.
In this lesson, you will:
- explore the existing
quality-checksskill. - customize the format of its results.
- reload and run the skill.
Scenario
Tailspin Toys uses the quality-checks skill for unit tests, lint, and type checks. The team wants to improve the report to make the results easier to read.
Instructions, scripts, and resources
Agent skills package reusable task instructions, executable scripts, and supporting resources that an agent loads on demand. At their core, they’re a folder with the name of the skill, with a Markdown file named SKILL.md. The Markdown contains frontmatter with a name and description to define what the skill is, an overview of what it does, and guidance on when it should be called. The folder can also contain subfolders with scripts and other resources for the skill to use when called.
Additional folders and files are not required for a skill. The Tailspin Toys quality-checks skill contains only SKILL.md because it uses the project’s existing commands.
Skills can reside in a project’s .github/skills folder to become a repository asset shared and reused by the team, or in the user skills folder at ~/.copilot/skills.
Explore the skill
Let’s explore the skill the Tailspin Toys team created for running unit tests, lint, and type checks, named quality-checks.
- Return to your Codespace. In the Codespaces editor, open
.github/skills/quality-checks/SKILL.md. - Read the
nameanddescriptionat the top. The description helps Copilot understand when to call the skill. - Read the instructions and note how they guide Copilot through the testing and linting process.
- Notice that the skill does not yet contain a Results output formatting section.
Run the skill before making a change
Skills are callable directly through Copilot CLI or by using natural language. Let’s ask Copilot to run the skill’s three checks.
-
Return to the filtering conversation in Interactive mode.
-
Use the following prompt:
Run the quality-checks skill for unit tests, lint, and type checks. -
Note the report at the end.
Customize the report
OK, we’d like a better report that tells us what ran, whether it succeeded, and what the tools actually reported. Let’s update our skill to create that report!
-
Return to
.github/skills/quality-checks/SKILL.md. -
Add the following section to the end of the file:
## Results output formattingUpon completion, report each command that ran and whether it passed, failed, or was blocked. Include test counts, durations, errors, warnings, and other metrics only when the tool reports them. Identify the next action for any failure or blocker, and never describe a skipped or incomplete check as passed. -
The file is automatically saved.
Run the updated skill
With our change made, let’s see it in action! Copilot CLI can reload edited skills without restarting the conversation.
-
Enter:
/skills reload -
Use the exact same prompt as before:
Run the quality-checks skill for unit tests, lint, and type checks. -
Note the report at the end and compare it with the first report.
Summary and next steps
You’ve customized and used an existing agent skill. In this lesson, you:
- explored the
quality-checksskill for unit tests, lint, and type checks. - customized the format of its results.
- reloaded and ran the skill.
That change will accompany filtering in the feature PR. Next, you’ll allow Copilot to interact with the site directly via the Playwright MCP server.
More skill examples
These community examples are references, not additional tasks: