claudeers.
// Developer Tools

agent-harness-bootstrap

Specs both you and the AI understand. An agent team fitted to your repo. Guardrails that block, not advise. Two Claude Code skills - spec-builder + harness-b…

Actively maintained
100/100
last commit 9 days ago
last release 9 days ago
releases 11
open issues 0

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up agent-harness-bootstrap (release-binary project) into my current project.
Found on https://claudeers.com/agent-harness-bootstrap
Repo: https://github.com/nguyenhx2/agent-harness-bootstrap
Homepage/docs: https://nguyenhx2.github.io/agent-harness-bootstrap/
Detected install method: release-binary → inspect the README
Category: devtools. Platforms: api, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or install directly (release-binary)

Grab the latest release asset from GitHub.

# download a build from https://github.com/nguyenhx2/agent-harness-bootstrap/releases
// or clone
git clone https://github.com/nguyenhx2/agent-harness-bootstrap

// compatibility

Platformsapi, web
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageHTML

Agent Harness Bootstrap - the frame that lets AI agents operate autonomously, and safely

Give an AI agent a repo it can actually understand, and a harness it cannot escape.

by nguyenhx2 · English · 日本語

📊 Slide presentation · 🎥 Video gallery · 📦 Latest release · 📚 Docs map


🎬 What it does

Two skills for Claude Code that fix four specific, recognizable failure modes of an unmanaged AI coding agent:

BeforeAfter
You ask an agent for a feature. It edits 14 files across 3 modules and force-pushes to main.It works inside scoped agents and path-based rules; a blocking hook (a script that intercepts a risky action and refuses it) stops the push before it lands.
The session compacts and the agent forgets the plan it was three steps into.The task board (docs/tasks/) and its session log live on disk, not in context - a fresh session resumes exactly where the last one stopped.
The 40th agent-generated doc quietly contradicts what the spec says.spec-builder gives every requirement a stable ID; the traceability graph (docs/context/specs-graph.html) flags the doc that drifted.
It reads .env, a private key, or ~/.ssh/ while "just fixing a bug."Those paths are denied at the permission layer before the read happens - it cannot leak what it was never allowed to open.

The complete solution: the pain points, spec-builder writing the contract, harness-bootstrap building the harness, the delivery loop running inside it, and the payoff

The whole product in one clip. Watch the full set in the gallery - six clips, sound-free captions, no download.

  • spec-builder creates the thing you and the AI both understand - one shared voice, built from an idea, a transcript, meeting notes, or a pile of legacy docs, into a 13-section contract with stable requirement IDs and acceptance criteria. It never invents a requirement; anything unstated becomes a flagged open issue instead of a guess. What that contract actually looks like: see below.
  • harness-bootstrap creates the frame that lets AI operate autonomously AND safely - the .claude/ harness (a folder of agents, path-based rules, and enforcement scripts that shapes what an AI agent may do) it runs inside, tailored to your repo rather than copied from a template. It reads your code first, so what it generates fits your repo. What "tailored" means concretely: see What you get.
  • The guardrails are shell scripts and exit codes, not the model's judgment. Swap every agent from Opus to Haiku and the safety floor is byte-identical - python eval/guardrail_eval.py proves it, 26/26.

AI-DLC flow: spec-builder produces the contract, harness-bootstrap builds the harness, then the delivery loop runs inside it


📋 What spec-builder produces

Not prose retyped from scratch each time - a fixed structure, thirteen numbered sections under docs/specs/ (01-overview.md through 13-revision-history.md), installed from real template files so the shape never drifts between projects:

  • Stable requirement IDs, each with one defining home - FR- (functional requirements, section 05), NFR- (non-functional, 07), BR- (business rules, 05), US-/UC- (user stories and use cases, 05), and more. Every other document links back to the defining section instead of restating the requirement.
  • The blank-cell-with-question rule - an unknown never becomes an invented fact. It becomes either an assumption (AS-nn, with what breaks if it's wrong) or an open issue (OI-nn, with a named owner) in 11-assumptions-constraints.md - never a guessed default standing in for a real answer.
  • A verifiable quality gate - every FR must appear in the feasibility table (12), carry an acceptance criterion with at least one negative case, and trace back to something a stakeholder actually said. Each check in the gate is a grep command against the files, not a vibe check.
  • The specs graph - docs/context/specs-graph.html, a self-contained interactive export (open in any browser, no server needed) of how sections, requirements, ADRs, and tasks reference each other, with orphan IDs called out.

Full depth, and the standards it draws on (ISO/IEC/IEEE 29148, ISO/IEC 25010, BABOK v3, MoSCoW, Cockburn use cases): spec-builder/SKILL.md · ba-standards.md.


🚀 Quickstart

Requires Python 3. Install both skills in one line.

macOS / Linux (bash):

curl -fsSL https://github.com/nguyenhx2/agent-harness-bootstrap/releases/latest/download/agent-harness-bootstrap.zip -o skills.zip \
  && unzip -o skills.zip -d ~/.claude/skills/ \
  && rm skills.zip

Windows (PowerShell):

irm https://github.com/nguyenhx2/agent-harness-bootstrap/releases/latest/download/agent-harness-bootstrap.zip -OutFile "$env:TEMP\skills.zip"
Expand-Archive "$env:TEMP\skills.zip" "$env:USERPROFILE\.claude\skills" -Force
Remove-Item "$env:TEMP\skills.zip"

Or let the agent install it - paste this into any Claude Code session:

Install the two skills from the latest release of
https://github.com/nguyenhx2/agent-harness-bootstrap into ~/.claude/skills/:
download agent-harness-bootstrap.zip from the latest release, verify it against the
SHA256SUMS asset from the same release, extract it so that each skill directory
(harness-bootstrap/, spec-builder/) sits directly under ~/.claude/skills/, confirm both
SKILL.md files exist, and tell me the installed version from their VERSION files.

Then, inside Claude Code:

/spec-builder           # write the specs first, if you're starting from an idea
/harness-bootstrap      # build (or update) the .claude harness for this repo

If the repo already has code, run /harness-bootstrap on its own - it reads the code first and pre-fills the intake with what it found. Existing files are reconciled, not overwritten: anything that conflicts is reported and left for you to merge. Nothing is written until you approve the plan.

One skill at a time, a pinned version, checksums, from source, or running the harness in Cursor and Codex instead of Claude Code: see docs/tools/ - Claude Code · Cursor · Codex.


📦 What you get

Not a fixed bundle - a .claude/ harness tailored to this repo. The roster, which rules load, the hook flavor, the deny-list, and the delivery discipline are all derived from intake and from what the code graph finds in your source, not copied from a template:

  • Agent roster - one dev seat per module or bounded context the code graph maps in your repo, not a fixed head count; add or retire a seat later with /harness-update.
  • Rules that load - matched to the stack your manifests actually show; a rule for a language, framework, or concern you don't have (no DB, no UI) never loads at all.
  • Hooks - matched to the dev OS intake detects (Windows vs. POSIX), so the guardrails fire instead of silently no-opping on the wrong shell.
  • Deny-list - matched to the real destructive commands for this stack (the DB reset command, the deploy command, any infra-teardown command) - confirmed from your config, never guessed.
  • Methodology - chosen in intake: DDD by default (bounded-context scopes, tests ship with the implementation), TDD opt-in (tests strictly first - stronger proof, slower delivery, and the two can pull against each other if combined) - see intake.md.
  • Effort profile - Default / Economy / Thorough, tuning cost vs. depth per seat without touching a review or safety gate.
  • Control level - deploy rights and destructive-command posture; deployment defaults to human-only (deploy sits in permissions.deny until intake, or /harness-tune later, moves it to ask), adjustable after bootstrap without re-running intake.
.claude/
  agents/     one seat per module the code graph finds - model, effort, tool grant, turn limit
  rules/      always-loaded core plus stack-matched rules that load only on a matching file touched
  commands/   the tuning commands (below) plus the stack-specific ones intake wires in
  hooks/      the guardrails matched to your OS, blocking a dangerous action before it happens
  settings.json
docs/
  tasks/      the board: one row per task, a session log the agent writes AS IT WORKS
  context/    code-graph.md (dependency map) and docs-graph.md (traceability map), each also exported
              as self-contained interactive HTML - docs/context/harness-graph.html (agents, hooks,
              rules, commands, settings, and modules) and docs/context/specs-graph.html (document
              traceability)
  specs/ requirements/ architecture/ templates/
AGENTS.md + CLAUDE.md
An agent tries toResult
Read .env, a private key, ~/.ssh/, or a path classified RestrictedBlocked
Commit straight to main, or ship an AI-attribution trailerBlocked
Edit an Accepted ADR, or spawn an off-roster agentBlocked

The spawn boundary itself - only a roster seat may run, and only at its pinned model - is enforced by the guard-agent-spawn hook, not by a rule an agent could drift from.

Shipped toolbox this tailoring draws from - the asset superset, not a per-project guarantee: 15 agents, 15 rules, 21 slash commands, 9 hooks. What actually lands in your .claude/ depends on the dimensions above; see roster.md for the full seat list.

Full guarantees, the memory model, and the cost breakdown: docs/ASSESSMENT.md, docs/CONTEXT-MANAGEMENT.md, cost-model.md.


🎛️ Post-bootstrap tuning

The harness's starting posture is not permanent. Seven commands ship into every bootstrapped repo to adjust it after the fact - full guidance, worked examples, and the invariants each one enforces live in docs/TUNING.md.

CommandWhat it does
/board-auditRead-only sweep for orphaned tasks, unlogged runs, board drift, and a stale code graph
/harness-tuneRetune control level - deploy rights, destructive-command posture, spawn allowlist, caps, review scope
/agent-permissionsGrant or revoke one tool on one roster seat
/harness-updateRe-run the scaffolder to pick up new assets or a changed codebase, conflicts flagged, never clobbered
/code-graphRebuild the code dependency graph (mermaid + JSON) an agent consults before a cross-module change
/docs-graphRebuild the docs traceability graph - orphan requirement IDs - and refresh both interactive exports, specs-graph.html and harness-graph.html
/skill-wireWire an installed skills.sh skill to a roster seat - content re-review, scope match, recorded

Three things none of the seven will ever do, no matter what you confirm: reviewers never gain write access, only the orchestrator spawns, and the code-review gate cannot be removed - only rescoped.


🗺️ Docs map

docs/FLOWS.mdSeven diagrams: the scaffolder, one feature end to end, context loading
docs/CONTEXT-MANAGEMENT.mdRAM vs. disk, the crash-resume protocol, hard vs. soft controls
docs/ASSESSMENT.mdScorecard, including what this does not do
docs/TUNING.mdThe seven post-bootstrap tuning commands, in full
docs/QUESTIONNAIRES.mdWhat each skill's question set explores, and why - flow diagrams for both
docs/RELEASING.mdSemver, artifacts, the release note format
CONTRIBUTING.mdDev setup, the gates a PR must pass, asset editing rules
Slide presentationEN / VI / JP
Video gallerySix clips, sound-free captions, no download
roster.mdEvery agent's model, effort, tools, turn limit, and why
cost-model.mdHow model, effort, tools, and cache stability affect the bill
task-control.mdThe orchestration loop, crash recovery, merge discipline
ba-standards.mdWhich standards the 13 spec sections draw on
benchmark/RESULTS.mdBenchmark numbers and their caveats

Numbers, measured against the predecessor skill this replaces - reproduce with python benchmark/benchmark.py:

BeforeAfterΔ
Bytes the model must read to bootstrap a repo234,196108,591-54%
Bytes the model must write as output95,06413,881-85%
Rule content kept out of the default session-51,785 of 77,452 B67%
Guardrail eval-26/26-

👤 Who made this

Built by nguyenhx2. Contributions welcome - start with CONTRIBUTING.md.

📄 License

MIT - see LICENSE.

// faq

What is agent-harness-bootstrap?

Specs both you and the AI understand. An agent team fitted to your repo. Guardrails that block, not advise. Two Claude Code skills - spec-builder + harness-bootstrap - for greenfield, brownfield, or audit-only.. It is open-source on GitHub.

Is agent-harness-bootstrap free to use?

agent-harness-bootstrap is open-source under the MIT license, so it is free to use.

What category does agent-harness-bootstrap belong to?

agent-harness-bootstrap is listed under devtools in the Claudeers registry of Claude-compatible tools.

6 views
23 stars
unclaimed
updated 17 days ago

// embed badge

agent-harness-bootstrap on Claudeers
[![Claudeers](https://claudeers.com/api/badge/agent-harness-bootstrap.svg)](https://claudeers.com/agent-harness-bootstrap)

// retro hit counter

agent-harness-bootstrap hit counter
[![Hits](https://claudeers.com/api/counter/agent-harness-bootstrap.svg)](https://claudeers.com/agent-harness-bootstrap)

// reviews

// guestbook

0/500

// related in Developer Tools

🔓

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Curs…

// devtoolsaffaan-m/JavaScript240,305MIT[ claude ]
🔓

Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA

// devtoolsgarrytan/TypeScript128,278MIT[ claude ]
🔓

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// devtoolssafishamsi/Python109,277MIT[ claude ]
🔓

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

// devtoolsDietrichGebert/JavaScript104,762MIT[ claude ]
→ see how agent-harness-bootstrap connects across the ecosystem