146. Schopnost se vyvolává jménem přes vygenerovanou dovednost
Kontext
Schopnost se deklaruje jednou a promítá do příkazové řádky, MCP, HTTP a OpenAPI (ADR 0004). Uživatel agenta k ní přistupuje přes nástroj MCP, což znamená popsat, co chce, a nechat model najít nástroj. Vlastník požádal o krátkou podobu: /intent <sentence> v Claude Code, s ničím registrovaným ručně a bez kopie toho, co schopnost dělá.
Claude Code čte dovednosti projektu z .claude/skills/<name>/SKILL.md a dovednost je také příkaz: /<name> <text> ji načte s textem na místě $ARGUMENTS. ADR 0140 už promítá dovednosti pracovních postupů vrstvy pro Zed a Antigravity jedním plánem, s vlastnictvím podle banneru, odmítnutím ručně psaných souborů a odstraněním osiřelých.
Rozhodnutí
Schopnost může deklarovat dovednost: alias a jedno vstupní pole, které vyplní zadaný text. Deklarace je .skill(alias, argument) na schopnosti, vedle .writes_repository(). Je to typovaná metadata deskriptoru (Capability.skill), nepřítomná u každé schopnosti, která ji neuvádí.
Registr drží dovednost u schopnosti. Odmítne alias, který není jménem, jaké produkty agentů přijímají, takový, na který už produkt agenta odpovídá (vyhrazený seznam), takový, který zabrala jiná schopnost, argument, který není řetězcovým polem vstupu, a vstup, který vyžaduje další pole, které typovaný text nemůže dodat.
Soubor generuje plán editorů jako jeden další adaptér (claude-code). Nese front matter, který Claude Code vyžaduje, banner, id schopnosti, kam text patří a jak se schopnost dosáhne: její nástroj MCP, jinak její příkazová řádka. Neříká nic o tom, co schopnost dělá, mimo vlastní název deklarace. Schopnost, jejíž efekt není read, se promítá s disable-model-invocation: true, takže ji vyvolá jen člověk, a soubor agentovi říká, aby ji zavolal jednou a odmítnutý nebo neznámý výsledek nezkoušel jinou cestou.
Pokrytí není jeden soubor na schopnost. Každá schopnost s nástrojem MCP je z Claude Code už dosažitelná. Dovednost je pro těch pár, které člověk píše jménem.
Zamítnuté alternativy
Ručně psané .claude/commands/intent.md. Je to druhý popis schopnosti, který nic nedrží k prvnímu.
Jeden MCP prompt na schopnost. Claude Code dělí argumenty promptu podle mezer, takže věta nedorazí jako jedna hodnota.
Jedna dovednost na schopnost. Stovky jmen ve výpisu, z nichž každé je zopakováním nástroje, který model už umí zavolat.
Důsledky
/intent <sentence>voláintents.proposes větou jakostatement. Bylo to spuštěno s nainstalovaným klientem (Claude Code 2.1.296) proti čerstvému repozitáři: záznam byl zapsán přes nástroj MCP a když nástroj nebyl povolen, klient nahlásil odmítnutí a nevrátil se k příkazové řádce.majordomus generatezapisuje dovednost,generate --checkselže, když je zastaralá, a schopnost, která zahodí svůj alias, má soubor odstraněn jako osiřelý.editors.statushlásí adaptérclaude-codes jeho důkazy, vedle Zed a Antigravity.- Odvozování argumentů, výběr transportu dispečerem a zaznamenání volání jako provedení jsou pozdější kroky; tento činí schopnost dosažitelnou jménem.