Repository navigation
feat(init): a picker row per harness, grouped by where it was detected - #561
Conversation
|
@claude /review |
|
Claude finished @theCodeDrift's task in 3m 36s —— View job Review completeReview mode: incremental — read 0 prior review thread(s) before reviewing. The Todo list
SummaryThis is a clean, well-scoped change. I traced the row→directory resolution end to end (
One finding worth a look, posted inline:
No correctness, security, or test-adequacy issues found beyond that — the machine-detection functions, Codex permission-rule gating, and Devin's directory fallback are all behaving as documented and specified. |
The one finding (dead — AI Coding Agent |
Every catalog harness gets its own row, so a user finds the harness they run without knowing which skill directory it reads. Rows are grouped into harnesses detected in the project (pre-checked), on this machine (unchecked), and the rest. Machine detection only moves a row up; nothing is written outside the project. Devin joins the catalog, installing into .devin/ when the project has it. Checking Codex writes its permission rule without needing .codex/ first.
It was read only by agentsRowLabel, removed with the per-harness picker rows. Also note why the picker's covered set is a snapshot.
196e681 to
571167c
Compare
A Codex user on 0.13 did not find Codex in the setup wizard's tool list. They picked
.agentsonly because they happened to know Codex reads it. Users know which harness they run, not which skill directory it reads, and the single.agents/row from80f3934afell back to "Agent Skills" when nothing was detected, which names no harness at all.What changes
.agents/)". Several rows can share a directory; the install plan, manifest and summary stay keyed by directory, so two checked.agents/rows still install once.groupMultiselect: Detected in this project (pre-checked), Detected on this machine (unchecked), Other harnesses.CLAUDE_CONFIG_DIR,CODEX_HOME,CURSOR_CONFIG_DIR,OPENCODE_CONFIG_DIR,GEMINI_CLI_HOME,CRUSH_GLOBAL_CONFIG/CRUSH_GLOBAL_DATA,~/.config/devin). It only decides the section; nothing is written outside the project..devin/skills, and it also reads.agents/skills, so it installs into.devin/when the project has one and.agents/otherwise. Taskless never creates.devin/..claude/. The issue's "Claude Multi-Harness (.agents)" row is not offered: Claude Code readsAGENTS.mdwhen there is noCLAUDE.md, but never anything under.agents/(code.claude.com/docs/en/memory), so a skill there would be invisible to it..codex/in the project first.--no-interactivekeeps using detection, which the written rules file satisfies on later runs.agentsRowLabelis removed and theSHIM_TARGETScomment rewritten to say why a row per harness is what makes a harness discoverable.Verification
pnpm typecheck,pnpm lint, and the full CLI suite pass..agents/skills/taskless/SKILL.mdand.codex/rules/taskless.rules, and the scratch home was unchanged.OpenSpec
harness-picker-rowsis archived on this PR. "Wizard prompts the user to choose install locations" is REMOVED and replaced by the ADDED "Wizard offers a row per harness", since several of its label scenarios are intentionally superseded. The permissions table's Codex row is MODIFIED in full. Delivery shape: single PR,patchchangeset.Fixes #553