Repository navigation
Tell every CLI-running skill how to launch the CLI - #319
Conversation
A Lean project has no `autoform` on PATH, but Roadmap, Formalize, agent-review, and human-review named bare `autoform` commands and left the `uv run --project "<AUTOFORM_PLUGIN_ROOT>"` prefix to one sentence of the CLI reference. In trials every fresh Roadmap and Formalize session began with `which autoform` and guessed; some never reached the CLI and skipped library search. Setup, which states the launcher, never guessed. Each of those skills now states the launcher once, where the plugin root is, and that subagents get both. The delegation test still forbids restating subcommands or flags. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
"Two directories above this skill's base directory" leans on Claude Code's "Base directory" line; an agent given only SKILL.md's path can count from the file and land on skills/. Name the directory by what it holds instead. The launcher test now covers every skill whose text names a command, not four fixed ones, and pins the subagent hand-off sentence itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Final check before mergeBranch state. The branch is rebased on Fresh end-to-end trial on this branch. I ran Setup → Roadmap → Formalize from scratch, with the same prompts and permission allowlist as the earlier baseline. None of the prompts hinted at the launcher.
Neither Roadmap nor Formalize ever ran Not yet verified:
Possible follow-ups (none blocks this PR):
Ready to merge from my side. 🤖 Generated with Claude Code |
Problem
A Lean project has no
autoformonPATH. Roadmap, Formalize, agent-review and human-review tell agents to run bareautoform …commands. The prefix they actually need,uv run --project "<AUTOFORM_PLUGIN_ROOT>", appears in one sentence ofautoform_cli/README.md#commands, and Roadmap points agents at that README "only when exact syntax or CLI usage is needed".So agents guessed. Across 21 headless trial sessions (Setup → Roadmap → Formalize on paper §1.2, with ATLAS):
which autoform, thenpython3 -m autoform_cli, a bareuv run autoform, or reading the Makefile.findin place ofautoform search, and skipped library reuse altogether.lson it. What none of them had was the form of the command.A test enforced the gap:
test_skills_delegate_the_command_line_to_the_referenceforbadeuv run --projectin every skill except Setup.Change
Skills: Roadmap, Formalize, agent-review and human-review each state the launcher once, near the top. The paragraph says:
autoformonPATH;uv run --project "<AUTOFORM_PLUGIN_ROOT>" autoformfollowed by its arguments, from the project;skills/folder, along withpyproject.tomlandautoform_cli/;The root is described by its contents rather than as "N levels above the skill's base directory", because Codex and Muse present a skill by path, not with Claude Code's "Base directory" line.
Formalize: the vague "resolve the plugin root and run commands through the invocation contract" sentence is replaced by that paragraph.
Tests:
autoformcommand and requires the paragraph, including the exact subagent sentence. Setup and Develop Plugin are exempt, with the reasons stated.Verification
Suite:
uv run pytest→ 3246 passed, 56 skipped, 1 xfailed;make lintclean.Test checked: the new test fails without the paragraph, and fails when the subagent sentence is removed.
Fresh chain: I reran the same Setup → Roadmap → Formalize prompts and allowlist from scratch on this branch, with no launcher hint in any prompt:
autoform library list .autoform work list …That Roadmap ran 8 ATLAS searches and reused 3 ATLAS results, and check and audit were clean.
Not yet confirmed: the Formalize run is still in progress, so its worktree subagents haven't been checked yet. No Codex or Muse run has been done.
🤖 Generated with Claude Code