Agent Harness Engineering
Bootstrap or upgrade a software repository for agent-first engineering. Use when a user wants to improve project-wide development discipline around `AGENTS.m...
Description
name: agent-harness-engineering
description: Bootstrap or upgrade a software repository for agent-first engineering. Use when a user wants to improve project-wide development discipline around AGENTS.md, progressive-disclosure docs, agent-readable architecture/context, mechanical quality checks, CI-enforced structure, or optional garbage-collection/maintenance loops.
Agent Harness Engineering
Use this skill when the goal is to make a repository easier for coding agents to understand, change, and maintain over time.
This skill turns the main ideas from OpenAI's harness-engineering article into a reusable project pattern:
AGENTS.mdstays short and acts as a router- durable knowledge moves into
docs/ - context is disclosed progressively instead of dumped all at once
- quality rules become mechanical checks instead of tribal knowledge
- optional garbage collection keeps agent-generated entropy under control
When to use it
Use this skill when the user asks to:
- create a reusable engineering skill for many repos
- bootstrap a repo for agent-first or AI-assisted development
- redesign
AGENTS.mdso it routes to structured docs - add repo-readable architecture, spec, quality, reliability, or security docs
- add mechanical checks for doc freshness, structure, and agent guardrails
- add a low-friction cleanup loop for drift, stale docs, and code sprawl
Choose a rollout mode
Pick the least invasive mode that still improves the repo.
overlay: Default for existing repos. Adddocs/agent/as an agent-readable overlay without rewriting existing docs.full: Use for greenfield repos or when the user explicitly wants a broader doc reorganization.
For most mature repos, start with overlay.
First-use workflow
When applying this pattern to a repo for the first time, do the following in order:
- Inspect the repo's current
AGENTS.md,docs/, CI, and lint/test commands. - Run the bundled bootstrap script in
overlayorfullmode. - Review the generated
AGENTS.mdblock and adapt command names to the repo. - Keep existing project-specific instructions, but move durable detail from
AGENTS.mdinto the generated docs. - Wire the generated validation script into the repo's native check flow.
- If the repo moves fast or uses many agents, optionally enable garbage collection.
Bootstrap command
Run the bundled script from this skill directory:
python3 scripts/bootstrap_project.py --repo /path/to/repo --mode overlay
Optional flags:
--mode overlay|full--with-gcto scaffold the garbage-collection report--dry-runto preview changes--forceto overwrite generated files--no-claude-linkto skip theCLAUDE.md -> AGENTS.mdsymlink
What the bootstrap adds
On first application, the scaffold normally creates or updates:
AGENTS.mdwith a short agent-navigation blockCLAUDE.mdsymlink toAGENTS.mdunless disableddocs/agent/index.mddocs/agent/architecture.mddocs/agent/specs.mddocs/agent/plans.mddocs/agent/quality.mddocs/agent/reliability.mddocs/agent/security.mdscripts/agent_repo_check.py- optionally
docs/agent/garbage-collection.md - optionally
scripts/agent_gc_report.py
Operating rules
1. AGENTS.md is a router
Do not turn AGENTS.md into a giant handbook.
- keep it short
- link outward to durable docs
- update links when docs move
- reserve
AGENTS.mdfor task-routing instructions and repo-specific operational constraints
2. Durable knowledge lives in docs
Put medium- and long-lived repo knowledge in docs/agent/ or the repo's main docs tree.
Examples:
- architecture boundaries
- product or integration specs
- current plans
- quality gates and invariants
- reliability expectations
- security assumptions and trust boundaries
3. Progressive disclosure beats giant prompts
Only read the docs needed for the task.
- start at
docs/agent/index.md - open the relevant leaf docs
- avoid loading unrelated docs into context
- add new docs to the index so future agents can discover them quickly
4. Mechanical checks beat soft reminders
Prefer checks that can fail fast in CI or local validation:
- missing required docs
- missing frontmatter fields
- stale review dates
- docs not linked from the index
AGENTS.mdmissing navigation links
5. Garbage collection is optional but useful
Enable the GC loop when the repo has high change velocity, many generated edits, or recurring drift.
The default GC report looks for:
- stale docs
- oversized files
- suspicious filenames like
final-finalorv2 - lingering
TODOorFIXMEclusters - docs that are not linked from the index
References to read only when needed
- Read
references/bootstrap-playbook.mdwhen planning the first rollout for a repo. - Read
references/docs-blueprint.mdwhen adapting the doc taxonomy or frontmatter. - Read
references/quality-gates.mdwhen wiring checks into CI or repo-native tooling. - Read
references/garbage-collection.mdwhen enabling scheduled cleanup or review loops.
Acceptance checklist
Before you finish a rollout, confirm:
AGENTS.mdroutes to docs instead of duplicating themdocs/agent/index.mdpoints to every active leaf doc- the generated docs have owners and
last_revieweddates scripts/agent_repo_check.pypasses- the repo's native check command includes the validation script or an equivalent wrapper
- garbage collection is either enabled intentionally or documented as deferred
Do not do this
- do not rewrite a mature doc system unless the user asks
- do not duplicate the same guidance in
AGENTS.mdanddocs/agent/* - do not add stack-specific CI assumptions without checking the repo
- do not enable automatic destructive cleanup; GC should surface candidates, not delete code blindly
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!