I3405 — Every generated model-invocable domain skill follows the skill an unsuccessful answer names, so the MCP path does not end at a refused paste
Put the rule I3402 gives the alias into the generic domain-skill text at apps/majordomus-cli/src/editors/claude.rs:179: an unsuccessful answer of a capability that changes something, when it names majordomus://skill/<id>, is followed by reading that skill (majordomus skills show <id> or majordomus://skill/<id>) with the same text; the capability is never called again with altered text; any other refusal is reported as it is. Reuse the sentence I3402 introduced rather than writing it twice, regenerate the 58 .claude/skills/mj-*/SKILL.md projections and extend docs/EDITORS.md.
BLOKOVÁNO vlna 3 · p1 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3402 is done. The status is derived from that, not declared.
Cíl
Put the rule I3402 gives the alias into the generic domain-skill text at apps/majordomus-cli/src/editors/claude.rs:179: an unsuccessful answer of a capability that changes something, when it names majordomus://skill/<id>, is followed by reading that skill (majordomus skills show <id> or majordomus://skill/<id>) with the same text; the capability is never called again with altered text; any other refusal is reported as it is. Reuse the sentence I3402 introduced rather than writing it twice, regenerate the 58 .claude/skills/mj-*/SKILL.md projections and extend docs/EDITORS.md.
Proč
The owner's 2026-10-19 order covers every path a paste can take. Under T6 of the owner's report of 2026-10-19 a new user does not pick the alias; a model reaches majordomus_intent_propose through the model-invocable mj-intents skill, and that text today ends the turn at the refusal. Split from I3402 so the change to 58 generated files is reviewed alone; it depends on I3402 because both edit claude.rs, case 2980 and docs/EDITORS.md.
Aktuální stav
apps/majordomus-cli/src/editors/claude.rs:179-181 says a capability that changes something is called once 'and if it is refused or its outcome is not known, report that as it is and do not try again by another way'. That sentence is line 26 of .claude/skills/mj-intents/SKILL.md and appears in all 58 tracked .claude/skills/mj-*/SKILL.md files (git ls-files '.claude/skills/mj-*/SKILL.md' | wc -l). No .agents/skills/mj-* projection exists.
Cílový stav
An agent that reaches intents.propose through a domain skill and is refused for a paste continues into decompose-a-brief with the same text, and every other refusal behaves as today.
Rozsah
- apps/majordomus-cli/src/editors/claude.rs
- apps/majordomus-cli/tests/editors.rs
- test/cases/2980_a_capability_is_invoked_by_name_from_claude_code.sh
- docs/EDITORS.md
- site/content/docs/editors.md
- .claude/skills/mj-artifacts/SKILL.md
- .claude/skills/mj-brief/SKILL.md
- .claude/skills/mj-capabilities/SKILL.md
- .claude/skills/mj-commands/SKILL.md
- .claude/skills/mj-commit/SKILL.md
- .claude/skills/mj-continuity/SKILL.md
- .claude/skills/mj-convergence/SKILL.md
- .claude/skills/mj-dashboard/SKILL.md
- .claude/skills/mj-delivery/SKILL.md
- .claude/skills/mj-deploy/SKILL.md
- .claude/skills/mj-design/SKILL.md
- .claude/skills/mj-devcontext/SKILL.md
- .claude/skills/mj-devtask/SKILL.md
- .claude/skills/mj-directories/SKILL.md
- .claude/skills/mj-distribution/SKILL.md
- .claude/skills/mj-economics/SKILL.md
- .claude/skills/mj-editors/SKILL.md
- .claude/skills/mj-entity/SKILL.md
- .claude/skills/mj-environment/SKILL.md
- .claude/skills/mj-episodes/SKILL.md
- .claude/skills/mj-evidence/SKILL.md
- .claude/skills/mj-executions/SKILL.md
- .claude/skills/mj-gates/SKILL.md
- .claude/skills/mj-graph/SKILL.md
- .claude/skills/mj-guard/SKILL.md
- .claude/skills/mj-health/SKILL.md
- .claude/skills/mj-integration/SKILL.md
- .claude/skills/mj-intent-realization/SKILL.md
- .claude/skills/mj-intents/SKILL.md
- .claude/skills/mj-knowledge-base/SKILL.md
- .claude/skills/mj-lifecycle/SKILL.md
- .claude/skills/mj-mcp/SKILL.md
- .claude/skills/mj-mesh/SKILL.md
- .claude/skills/mj-models/SKILL.md
- .claude/skills/mj-monitor/SKILL.md
- .claude/skills/mj-objects/SKILL.md
- .claude/skills/mj-obligations/SKILL.md
- .claude/skills/mj-observatory/SKILL.md
- .claude/skills/mj-pack/SKILL.md
- .claude/skills/mj-peers/SKILL.md
- .claude/skills/mj-perf/SKILL.md
- .claude/skills/mj-plan/SKILL.md
- .claude/skills/mj-product/SKILL.md
- .claude/skills/mj-quality/SKILL.md
- .claude/skills/mj-reasoning/SKILL.md
- .claude/skills/mj-recover/SKILL.md
- .claude/skills/mj-release/SKILL.md
- .claude/skills/mj-repository/SKILL.md
- .claude/skills/mj-rules/SKILL.md
- .claude/skills/mj-served/SKILL.md
- .claude/skills/mj-server/SKILL.md
- .claude/skills/mj-session-domain/SKILL.md
- .claude/skills/mj-shell/SKILL.md
- .claude/skills/mj-skills/SKILL.md
- .claude/skills/mj-trace/SKILL.md
- .claude/skills/mj-web/SKILL.md
- .claude/skills/mj-why/SKILL.md
- .claude/skills/mj-worktree/SKILL.md
Mimo rozsah
- The /intent alias text (I3402)
- Making any writer model-invocable, or changing which capabilities a domain skill lists
- Workflow skill pointers under .claude/skills/<workflow-skill>
- Packaging the skills as a plugin (I3300)
Závislosti
Kritéria přijetí
- Precondition: majordomus intent preflight for this issue passes from a branch of master that holds I3402
- Each of the 58 generated .claude/skills/mj-*/SKILL.md files carries the follow-the-named-skill sentence and the no-altered-retry sentence; a unit test in editors/claude.rs asserts both in the generated mj-intents text, and case 2980 asserts them in .claude/skills/mj-intents/SKILL.md
- The sentence text exists once in claude.rs and is shared by the alias and the domain text
- The phrase 'do not try again by another way' stays for a refusal naming no skill
- docs/EDITORS.md states that the domain skills follow the same rule, and majordomus generate --check is clean
Validace
- cargo test -p majordomus-cli --lib editors::claude
- cargo test -p majordomus-cli --test editors
- bash test/run.sh 2980_a_capability_is_invoked_by_name_from_claude_code
- majordomus generate --check
Požadované důkazy
- test_the_domain_skills_follow_the_skill_a_refusal_names
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3405.yaml. Read it back with majordomus plan show I3405.