7. Dovednosti jsou data v sekci dovedností vrstvy a každý povrch, který nějakou ukazuje, je projekce
Rozšiřuje ADR 2 a ADR 5.
Kontext
Manifest pojmenovává oddíl skills od doby, kdy vrstva existuje, a obsahoval README a nic jiného. Operátor požádal o první dovednost, repo-review, a o podmínku, že další nesmí stát nic než své vlastní soubory: žádný registr, žádný seznam webu, žádná položka MCP, žádný soubor poskytovatele, žádná větev match v Rustu, kterou by bylo třeba upravit. Zdrojový materiál tohoto nástroje je varování: katalog pěti set čtyřiceti šesti agentů, z nichž jeden byl zaregistrován s čímkoli, co běželo, protože existovat a být zaregistrován byly dva úkony a jen jeden z nich byl kdy proveden.
Rozhodnutí
- Dovednost je adresář.
.ai/repo/skills/<id>/SKILL.md— YAML front matter podshare/schemas/skill.schema.json(schema: skill/v1,idrovné adresáři, celočíselnéversion,title,description,statusz uzavřené množiny, volitelnétags,related,inputs,outputs) nad tělem v Markdownu s neprázdnými sekcemi# Purpose,# Procedurea# Output— s volitelnýmexamples/*.md. - Objevování je stávající, deklarované jednou.
share/kinds.yamldeklaruje druhskill; třídy zdrojůskillaskill_examplev.ai/repo/knowledge/sources.yaml(a skeleton, který zapisuje čerstvéinit) říkají, které sledované soubory ho nesou. Spustitelný soubor v Rustu je indexuje jako každý druh a obsluhujemajordomus://skill/<id>bez kódu, který by druh jmenoval;lib/skills.shshellového nástroje odvozuje jeden katalog ze stejné třídy přesmj_knowledge_discovera validuje proti allow-listu, kterýmajordomus generate allowodvozuje ze stejného schématu. - Každý povrch čte katalog.
majordomus skills list|show|check, doktrínamajordomus.skill-integrity(rozesílanádoctorawatch) ascripts/generate-site-data, který zapisujesite/data/generated/skills.jsona jednu stránku na dovednost podsite/content/skills/a celý ten adresář nahrazuje. Šablony webu se vykreslují z těchto dvou souborů a vlastních stránek sekce; navigace jmenuje sekci, nikdy dovednost. - Drift selhává.
generate --checkodmítne zastaralý seznam povolených nebo datovou sadu registru;generate-site-data --checkodmítne zastaralá data webu;skills checkadoctorodmítnou dovednost, která porušuje svůj kontrakt, jmenují soubor a každý důvod a hlásí počty toho, co zkoumaly; repozitář bez dovedností jeWARN, ne úspěch. - Nic se neregistruje jménem. Žádný soubor v repozitáři nevypisuje dovednosti ručně. Test
test/cases/95_skills.shdovednost přidá, rozbije, přejmenuje a odstraní a ověří, že příkaz, doctor, index v Rustu přes MCP, data webu i sestavené stránky ji následují a že žádná stránka nepřežije svůj soubor.
Důsledky
Přidání dovednosti je zapsání jejího adresáře a jeho sledování. Cena rozhodnutí je v kontraktu: dovednost, které chybí sekce nebo která jmenuje související dovednost, jež neexistuje, shodí doctor pro všechny, což je záměr. Dva čtenáři (shell a Rust) parsují stejný front matter stejným schématem; shell čte projekci schématu, Rust executable čte schéma a případ dokazuje, že odmítají stejný soubor ze stejného důvodu. Co se zde nerozhoduje: kterou dovednost má úloha načíst (generované instrukce říkají „ty, o nichž úloha je“) a zda je dovednost nějak dobrá.