GitHub Copilot Skills
T2 ships a set of GitHub Copilot skills — focused instruction files that give Copilot deep knowledge of the T2 plugin. Skills eliminate repetitive context-setting and produce correct, T2-idiomatic output without manual explanation.
What are skills?
A skill is a SKILL.md file that contains step-by-step instructions, conventions, and code patterns for a specific, repeatable task. When Copilot detects that a task matches a skill, it reads the skill file first — before generating any response — ensuring the output follows the project's actual structure, APIs, and conventions.
Skills come in two forms:
- Action skills — guide Copilot through a task (e.g. "add a block", "configure the wiki")
- Reference skills — provide lookup tables (e.g. "all available hooks", "full block catalog")
Skills for T2 contributors
If you are working inside the T2 repository (adding blocks, extensions, or tests), the development skills are located in .github/skills/. GitHub Copilot auto-discovers skills in .github/skills/ when you open the repository in VS Code.
| Skill | When to invoke |
|---|---|
add-t2-block |
Scaffolding a new block in packages/block-library/src/ |
add-t2-extension |
Scaffolding a new extension in packages/extension-library/src/ |
write-t2-e2e-test |
Writing Playwright E2E tests for blocks or extensions |
t2-dev-workflow |
Build, lint, test, and debug commands reference |
t2-architecture-reference |
Boot sequence, package map, PHP APIs, REST endpoints, build system |
Skills for theme and plugin developers
If you are using T2 as a plugin in a client project, the usage skills are located in skills/.
| Skill | When to invoke |
|---|---|
theme-integration |
Setting up T2 in a new WordPress theme end-to-end |
configure-t2-json |
Writing or updating a theme's t2.json configuration file |
configure-people-extension |
Enabling and customizing the People extension |
configure-wiki-extension |
Enabling and customizing the Wiki extension |
configure-custom-block-margin |
Setting up block spacing with Custom Block Margin v1/v2/v3 |
customize-featured-content |
Creating Featured Content card templates in a theme |
override-block-settings |
Restricting allowed blocks, templates, and template locks |
register-external-block |
Registering a third-party block with T2's admin system |
t2-block-catalog |
Quick-reference for all 44 T2 blocks |
t2-extension-catalog |
Quick-reference for all 60+ T2 extensions |
t2-hooks-reference |
All WordPress actions and filters T2 provides |
How to use skills in a client project
Skills are only auto-discovered in the repository they live in. To use T2 usage skills in a client project, choose one of the following approaches:
Option A — Copy skills into the client project (recommended for teams)
Copy the skills your project needs into .github/skills/ in the client repository:
# From your client project root
mkdir -p .github/skills
# Copy individual skills
cp -r /path/to/t2/skills/configure-t2-json .github/skills/
cp -r /path/to/t2/skills/theme-integration .github/skills/
Skills committed to the project repository are available to all team members automatically.
Option B — Symlink to your global skills (local only)
Make the skills available across all your projects by symlinking into ~/.copilot/skills/:
cd ~/.copilot/skills
# Link all T2 usage skills at once
for dir in /path/to/t2/skills/*/; do
ln -s "$dir" "$(basename $dir)"
done
This is a local-only setup — not shared with teammates.
Option C — Reference from project instructions
Add a note to .github/copilot-instructions.md in the client project pointing Copilot to the T2 skill library:
## T2 Plugin
This project uses the T2 WordPress plugin (v8.x). Copilot skills for T2
are available at `/path/to/t2/skills/`. Read the relevant
SKILL.md before answering questions about blocks, extensions, or t2.json.
Invoking a skill
Skills are invoked automatically when Copilot recognises the task. You can also invoke them explicitly:
Use the configure-t2-json skill to help me set up t2.json for a news site.
Using the t2-block-catalog skill, which block should I use for a before/after image comparison?