Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Schopnost se vyvolává jménem přes vygenerovanou dovednost

Schopnost se vyvolává jménem přes vygenerovanou dovednost

majordomus://adr/adr-0146přijato capabilitiesproviderseditory

odkazuje na

  • put_in_force apps/majordomus-cli/src/capability/model.rs (soubor)
  • put_in_force apps/majordomus-cli/src/editors/claude.rs (soubor)
  • put_in_force adr-0004
  • put_in_force adr-0140
  • put_in_force adr-0144
  • put_in_force docs/EDITORS.md (dokument)
  • put_in_force test/cases/2980_a_capability_is_invoked_by_name_from_claude_code.sh (test)

odkazuje na něj

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.propose s větou jako statement. 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 generate zapisuje dovednost, generate --check selže, když je zastaralá, a schopnost, která zahodí svůj alias, má soubor odstraněn jako osiřelý.
  • editors.status hlásí adaptér claude-code s 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.

Odkud to pochází

kanonický soubor
.ai/repo/adrs/0146-a-capability-is-invoked-by-name-through-a-generated-skill.md
identity
adr-0146
dostupné také jako
Zdroj MCP majordomus://adr/adr-0146 · majordomus entity show adr/adr-0146 · GET /api/v1/entity?uri=majordomus://adr/adr-0146
v Cockpitu
/cockpit/objects/adr/adr-0146

Tato stránka je generována z výše uvedeného souboru pomocí scripts/generate-site-data; úprava stránky nic nemění, úprava souboru změní všechna rozhraní. Výše uvedené vztahy jsou hrany docs/generated/graph.json, které spustitelný program zapisuje ze stejného indexu.

Prohledává názvy a popisy všech stránek, které tento web publikuje.