Problem
/better-harness Step 1 routes only three kinds of request: a machine-owned <better-harness-fix-output> callback, a leading manual fix/repair directive, and review/evaluation/reporting. An explicit "initialize a Harness for this project" request has no owner, so it falls into the full review route: one Evidence Bundle, three delegated review agents, findings, scores, and a durable report.
That is the wrong cost and the wrong evidence model for 0 -> 1:
- a project with no agent assets and no Session history has almost nothing to analyze, so the report mostly reports absence;
- the expensive path returns findings and scores when the user asked for files;
skills/better-harness/references/support-bootstrap.md is not an alternative. It is a lead-only report support track that runs only after the lead freezes findings and dimension scores, and it shapes already-supported priority moves rather than writing project guidance.
So the most common first-time request — "set up AGENTS.md and wire my existing docs" — is the one thing the Skill cannot currently do cheaply.
Proposal
Add a direct Bootstrap route to Step 1 that produces a Minimum Viable Harness without the report workflow, owned by its own routed directory skills/better-harness/bootstrap/:
- Project entry map — create, or minimally merge into, a concise root
AGENTS.md built from verified project facts.
- Knowledge routing — turn existing authoritative architecture, design, test, runbook, and contribution documents into conditional read routes instead of duplicating or generating them.
- Optional capability recommendation — only after the foundation validates, name the smallest useful owner for demand the user actually has.
Proposed acceptance criteria
- AC-1: A leading explicit
init, initialize, bootstrap, setup harness, or request-language equivalent routes to the direct Bootstrap reference and stops there. It collects no Evidence Bundle, launches no review agents, and creates no findings, scores, or report.
- AC-2: The initialization request is task-local authority for bounded project-file changes only. Bootstrap inspects before writing, preserves existing user content and unrelated worktree changes, and stops before ambiguous overwrites or externally visible changes such as dependency installs, SCM settings, credentials, CI activation, or releases.
- AC-3:
AGENTS.md output is free-form with no mandatory section schema. Every persisted command is concrete and copy-pasteable with a declared working directory, every normative rule has a user or project source, and no placeholder, metavariable, or invented path, version, or command is written.
- AC-4: Validation confirms persisted links and paths resolve, exercises the cheapest safely runnable commands from their declared directory, and records skipped checks honestly. The result is labelled
Present or Wired; Exercised requires a representative real task.
- AC-5: Capability recommendation runs only after the foundation is applied and validated. Framework names, Git remotes, dependency presence, and asset counts route inspection but never alone justify a recommendation. Bootstrap installs, authenticates, connects, and activates nothing, and never writes
findings.json.
- AC-6: The route stays host-neutral. No supported host is assumed, and any host-specific trigger, tool, or path is verified against the current runtime before it is named.
- AC-7: Every new Bootstrap document is reachable from
SKILL.md routing, the root Skill stays within its 220-line / 12000-byte budget, and test/better-harness-skill.test.mjs, test/doc-link-graph.test.mjs, scripts/npm-package/verify-pack.mjs, and the regenerated docs/better-harness-doc-links.mmd cover the new layout.
Notes
SKILL.md is currently 215 lines / 11977 bytes against a 220 / 12000 budget, so the new route must push detail into routed references instead of inlining it.
- Consider relocating
references/support-bootstrap.md to bootstrap/report-support.md in the same change so directory routing communicates the split — without merging its report-only, post-freeze authority into the new mutation route.
- Calibrate concrete
AGENTS.md fragments against case-studies/agent-customize/agents-md-good-examples.md and the AGENTS.md open format; never copy facts from an example project.
- Per
AGENTS.md, this needs a spec under docs/specs/ before implementation.
Problem
/better-harnessStep 1 routes only three kinds of request: a machine-owned<better-harness-fix-output>callback, a leading manualfix/repairdirective, and review/evaluation/reporting. An explicit "initialize a Harness for this project" request has no owner, so it falls into the full review route: one Evidence Bundle, three delegated review agents, findings, scores, and a durable report.That is the wrong cost and the wrong evidence model for 0 -> 1:
skills/better-harness/references/support-bootstrap.mdis not an alternative. It is a lead-only report support track that runs only after the lead freezes findings and dimension scores, and it shapes already-supported priority moves rather than writing project guidance.So the most common first-time request — "set up
AGENTS.mdand wire my existing docs" — is the one thing the Skill cannot currently do cheaply.Proposal
Add a direct Bootstrap route to Step 1 that produces a Minimum Viable Harness without the report workflow, owned by its own routed directory
skills/better-harness/bootstrap/:AGENTS.mdbuilt from verified project facts.Proposed acceptance criteria
init,initialize,bootstrap,setup harness, or request-language equivalent routes to the direct Bootstrap reference and stops there. It collects no Evidence Bundle, launches no review agents, and creates no findings, scores, or report.AGENTS.mdoutput is free-form with no mandatory section schema. Every persisted command is concrete and copy-pasteable with a declared working directory, every normative rule has a user or project source, and no placeholder, metavariable, or invented path, version, or command is written.PresentorWired;Exercisedrequires a representative real task.findings.json.SKILL.mdrouting, the root Skill stays within its 220-line / 12000-byte budget, andtest/better-harness-skill.test.mjs,test/doc-link-graph.test.mjs,scripts/npm-package/verify-pack.mjs, and the regenerateddocs/better-harness-doc-links.mmdcover the new layout.Notes
SKILL.mdis currently 215 lines / 11977 bytes against a 220 / 12000 budget, so the new route must push detail into routed references instead of inlining it.references/support-bootstrap.mdtobootstrap/report-support.mdin the same change so directory routing communicates the split — without merging its report-only, post-freeze authority into the new mutation route.AGENTS.mdfragments againstcase-studies/agent-customize/agents-md-good-examples.mdand the AGENTS.md open format; never copy facts from an example project.AGENTS.md, this needs a spec underdocs/specs/before implementation.