GitHub Copilot's agent mode in VS Code ondersteunt custom skills — herbruikbare instructiesets die Copilot leren hoe hij domeinspecifieke taken moet aanpakken. Ik heb een eigen skills-repository opgezet op GitHub en deel hier hoe je snel aan de slag gaat, inclusief een skill die zichzelf en andere skills installeert.
.github/skills/
Wat zijn Copilot Skills?
Skills zijn markdown-instructiebestanden die uitbreiden wat GitHub Copilot kan doen in agent
mode. Elke skill bestaat uit een SKILL.md-bestand met een omschrijving,
aanroeppatronen en gedetailleerde instructies die Copilot volgt als de skill overeenkomt
met een gebruikersverzoek.
De instelling chat.agentSkillsLocations vertelt VS Code waar hij naar deze
skill-bestanden moet zoeken. Eenmaal geconfigureerd ontdekt Copilot ze automatisch — geen
extensie installatie nodig.
Dit zijn enkele van de skills die ik zelf gebruik — sommige zitten in de workspace, andere globaal op mijn machine.
Het bootstrap-probleem
Skills staan in markdown-bestanden op schijf. VS Code ontdekt ze via de
chat.agentSkillsLocations-instelling. Om een nieuwe skills-repository te
gebruiken, moet je hem ergens clonen en het pad aan die instelling toevoegen. Doe dat één
keer en het is prima. Doe het voor vijf repositories en je kopieert handmatig paden en
bewerkt JSON.
De beste oplossing voor dat probleem? Een skill die skills installeert.
Aan de slag
Download en voer het script uit, waarbij je het naar de repo wijst om de
install-skills skill zelf te installeren:
irm https://raw.githubusercontent.com/troystaylor/SharingIsCaring/main/skills/install-skills/install-skills.ps1 -OutFile "$env:TEMP\install-skills.ps1"
& "$env:TEMP\install-skills.ps1" -RepoUrl "https://github.com/RemseyMailjard/www.remsey.nl" -SkillsSubPath ".github/skills"
Dit clonet de repo, registreert het skills-pad in VS Code en geeft Copilot toegang tot alle skills. Herstart VS Code en je bent klaar.
Daarna kun je Copilot in natuurlijke taal vragen extra skills te installeren:
Hoe een skill is opgebouwd
Elke skill heeft twee onderdelen: een SKILL.md die Copilot leest en optioneel
een script dat het echte werk doet.
De skill-definitie (SKILL.md)
Het SKILL.md-bestand vertelt Copilot wanneer en hoe de skill te gebruiken:
---
name: install-skills
description: 'Install Copilot skills from GitHub repositories. Use when: adding
skills, cloning skill repos, configuring chat.agentSkillsLocations, setting up
skills for Copilot Studio.'
argument-hint: 'Optionally provide repo URL and skills subfolder path'
---
De rest van het bestand bevat een procedurebeschrijving met exacte commando's, documentatie van parameters en een beschrijving van wat elke stap doet. Copilot koppelt verzoeken zoals "installeer skills uit deze repo" aan deze skill en volgt de procedure.
Het PowerShell-script
Het script heeft twee modi: global (standaard) en workspace.
In globale modus doet het script het volgende:
- Maakt de skills-map aan op
%USERPROFILE%\.copilot\skillsals die niet bestaat - Clonet de repository (of pullt de laatste wijzigingen als hij al bestaat)
- Werkt VS Code-instellingen bij door het skills-pad toe te voegen aan
chat.agentSkillsLocations
In workspace-modus (-Workspace) kopieert het script
skill-mappen naar .github/skills/ in de huidige workspace. VS Code
auto-ontdekt skills op die locatie — niets te configureren. Workspace-skills reizen mee
met de repo, zodat elke bijdrager ze direct heeft na clonen.
Parameters
| Parameter | Standaard | Doel |
|---|---|---|
| -RepoUrl | https://github.com/microsoft/skills-for-copilot-studio | De Git-repository om te clonen |
| -SkillsSubPath | skills | Pad binnen de repo waar skill-bestanden staan |
| -Workspace | (switch) | Installeer naar .github/skills/ in de huidige workspace |
Voorbeelden
# Mijn eigen skills-repo (www.remsey.nl/.github/skills/)
& "$env:USERPROFILE\.copilot\skills\www.remsey.nl\.github\skills\install-skills.ps1" `
-RepoUrl "https://github.com/RemseyMailjard/www.remsey.nl" `
-SkillsSubPath ".github/skills"
# Microsoft's officiële Copilot Studio skills
& "$env:USERPROFILE\.copilot\skills\www.remsey.nl\.github\skills\install-skills.ps1"
# Workspace-modus: skills direct in het huidige project
& "$env:USERPROFILE\.copilot\skills\www.remsey.nl\.github\skills\install-skills.ps1" -Workspace
Of sla de terminal volledig over en zeg het tegen Copilot:
Hoe het script werkt
1. Repo clonen of updaten
$SkillsRoot = "$env:USERPROFILE\.copilot\skills"
$RepoName = ($RepoUrl -split '/')[-1] -replace '\.git$', ''
$ClonePath = Join-Path $SkillsRoot $RepoName
if (Test-Path $ClonePath) {
Write-Host "Repo bestaat al op $ClonePath - pulling latest..."
git -C $ClonePath pull
} else {
Write-Host "Cloning $RepoUrl..."
git clone $RepoUrl $ClonePath
}
De repo-naam wordt automatisch uit de URL gehaald. Opnieuw uitvoeren haalt de laatste wijzigingen op in plaats van opnieuw te clonen.
2. VS Code-instellingen bijwerken
$Settings = Get-Content $SettingsFile -Raw | ConvertFrom-Json
if (-not $Settings.'chat.agentSkillsLocations') {
$Settings | Add-Member -NotePropertyName 'chat.agentSkillsLocations' -NotePropertyValue @()
}
$Locations = @($Settings.'chat.agentSkillsLocations')
if ($NestedSkillsPath -notin $Locations) {
$Locations += $NestedSkillsPath
$Settings.'chat.agentSkillsLocations' = $Locations
$Settings | ConvertTo-Json -Depth 10 | Set-Content $SettingsFile
}
Het script leest bestaande instellingen, controleert of het pad al is geregistreerd en schrijft alleen als het iets nieuws moet toevoegen. Je andere VS Code-instellingen blijven onaangeroerd.
Vereisten
- Git geïnstalleerd en in je PATH
- VS Code of VS Code Insiders
- GitHub Copilot extensie met agent mode ingeschakeld
- PowerShell 5.1+ (standaard aanwezig op Windows)
Resources
- Mijn skills-repo op GitHub
- Microsoft skills-for-copilot-studio repository
- SharingIsCaring (install-skills script bron)
- GitHub Copilot agent mode documentatie