Nyhet

Agent Plugins 1.0 i Copilot: paketera skills och MCP en gång

GitHub har lagt stöd för Agent Plugins 1.0 i VS Code, Copilot CLI och Copilot-appen. Vinsten är en gemensam paketkärna — men portabelt betyder inte att klienterna beter sig identiskt.

14 aug 2026

En abstrakt simiansk silhuett av tunna ljuslinjer granskar en rad mörka modulblock med en acid-grön ljusdetalj.
Den gemensamma modulraden illustrerar en portabel kärna, medan installation och behörigheter fortfarande hanteras av respektive klient.

Kort sagt

GitHubs besked den 12 augusti 2026 gör Agent Plugins 1.0 till en gemensam paketyta i tre Copilot-klienter. Lägg den portabla kärnan i plugin.json, skills/ och vid behov mcp.json. Lägg klientspecifika delar i egna namnrymder och prova paketet i varje klient innan du kallar det portabelt.

Vad 1.0 faktiskt standardiserar

Agent Plugins 1.0 beskriver ett plugin som en fristående katalog. I roten krävs plugin.json. Därutöver kan paketet innehålla skills i fasta underkataloger under skills/ och MCP-servrar i mcp.json. Saknas en av de valfria delarna ska det inte i sig göra paketet ogiltigt.

mitt-plugin/
├── plugin.json
├── skills/
│   └── kontrollera-api/
│       └── SKILL.md
└── mcp.json

Det här är den viktiga skillnaden mot att kopiera fristående konfigurationsfiler mellan verktyg. Paketets identitet och version ligger i ett rotmanifest, medan klienten upptäcker de standardiserade komponenterna på bestämda platser. I specifikationens portabla kärna finns exakt två komponenttyper: Agent Skills och MCP-servrar.

GitHubs produktbesked och formatets specifikation har samtidigt olika statusord. GitHub annonserar stöd för Agent Plugins 1.0 i sina klienter, medan specifikationssidan den 14 augusti fortfarande märker dokumentet Working Draft och versionsnumret 1.0.0. Lås därför schemaversionen i filerna och behandla ändringar i specifikationen som ett beroende att följa, inte som något som kan glömmas efter första installationen.

Den minsta portabla kärnan

Börja mindre än du tror. Ett minimalt manifest behöver schemaidentifieraren och ett namn. Namnet får enligt 1.0-specifikationen bara använda gemener, siffror, bindestreck och punkter, vara mellan 1 och 64 tecken samt börja och sluta alfanumeriskt.

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "api-kontroll"
}

Lägg sedan till en enda skill som går att känna igen på sitt resultat. Ett bättre första prov än ”hjälp mig med API:et” är: be agenten kontrollera en endpoint mot ett bestämt kontrakt och kräva att svaret pekar ut statuskod, svarsschema och ett negativt test. Samma prompt ska ge samma typ av arbetsgång i VS Code, Copilot CLI och Copilot-appen. Formuleringarna behöver inte bli lika; det är komponentens avsedda beteende som ska överleva klientbytet.

Ett prov som går att upprepa

MCP är portabel konfiguration — inte en sandlåda

För MCP läggs den portabla konfigurationen i mcp.json, inte godtyckligt i rotmanifestet. Formatet kan beskriva lokala servrar över stdio och fjärrservrar över Streamable HTTP; äldre HTTP+SSE finns också i specifikationen. Kompatibilitetslistan anger att GitHub Copilot och VS Code stöder skills samt de tre transporterna.

Sökvägsreglerna skyddar paketgränsen: en fil som pluginet levererar ska stanna inom pluginroten, och relativa paketsökvägar ska börja med ./. Men specifikationen säger uttryckligen att den kontrollen inte skapar en sandlåda för en startad process. En MCP-server får de möjligheter som operativsystemet och klienten ger den. Ett godkänt schema är alltså inte samma sak som en säker körning.

Lägg inte hemligheter i paketet

Varken fasta HTTP-headrar eller miljövärden i mcp.json är en portabel hemlighetsmekanism. Specifikationen behandlar dem som synlig paketdata. Autentisering, användardialog och lagring av inloggningsuppgifter är klientens ansvar. Prova därför även vad som händer när autentisering saknas, nekas och löper ut.

Det här behöver fortfarande skiljas per klient

Standarden täcker paketet, inte hela livscykeln. Installation, distribution, aktivering, uppdatering och användargränssnitt ligger utanför den portabla specifikationen. En klient kan dessutom ignorera en komponenttyp som den inte stöder. Det betyder att ”installerat utan fel” är ett för svagt acceptanstest.

Klientspecifik metadata ska ligga under extensions i manifestet och använda en omvänd domännamnsrymd. Klientspecifika filer kan på samma sätt ligga i en toppkatalog med den namnrymden. Håll de delarna utanför ditt portabilitetslöfte: kärnan ska fungera utan dem, medan tillägget får förbättra upplevelsen i en bestämd klient.

Kontrollera även namnkollisioner. GitHubs dokumentation för Copilot CLI anger att agents och skills använder ”först hittad vinner”, medan MCP-servrar använder en annan prioritetsordning. Ett plugin kan därför laddas men få sin skill tyst åsidosatt av en projektlokal komponent med samma identitet. Ditt prov behöver visa vilken komponent som faktiskt kördes, inte bara att ett namn syns i en lista.

En migreringsgrind för ditt första paket

Validera båda schemana. Kontrollera plugin.json mot plugin-schemat och, om filen finns, mcp.json mot MCP-schemat för exakt samma version.
Prova upptäckten. Verifiera att varje avsedd skill hittas som ett direkt barn under skills/; specifikationen kräver ingen rekursiv sökning efter djupare skills.
Prova en verklig effekt. Låt skillen ge ett kontrollerbart resultat och låt MCP-servern göra ett läsande testanrop. Ett listkommando ensamt bevisar inte att komponenten fungerar.
Prova felvägen. Byt till en ogiltig sökväg, neka autentisering och stäng servern. Klienten ska rapportera vilken komponent som hoppades över utan att du misstolkar ett delvis laddat paket som grönt.
Prova varje målklient. Kör samma testmatris i VS Code, Copilot CLI och Copilot-appen. Dokumentera skillnader i installation, godkännanden och uppdatering bredvid paketet.

Den praktiska vinsten är alltså inte ”skriv vilken plugin som helst en gång”. Vinsten är att du kan äga en liten, versionssatt kärna en gång och göra avvikelserna synliga. Det är betydligt bättre än tre kopior som driver isär utan att någon märker det — särskilt när en skill eller MCP-server ska förvaltas av fler än personen som skapade den.

Källor

Uppgifterna kontrollerades mot källorna den 14 augusti 2026. Klientstöd och specifikationens status kan ändras; kontrollera båda före en utrullning.

Läs vidare
Agenter och automatisering: avgränsningen är hela säkerheten