AGENTS.md
How an AI agent finds and uses the conductor in this repository, and how to change it.
What this repository is
The conductor: one Agent Skill for delivering a project of any kind, software, physical, service,
creative or hybrid, including finite projects that close after accepted delivery and work that must be
handed over to keep running. It is a multi-file skill: conductor/SKILL.md, conductor/guidance/ and
conductor/templates/. It does not depend on a particular agent or harness (Jules, Claude Code, Codex,
Cursor, Copilot, or anything that reads AGENTS.md or SKILL.md), and it assumes no hosted service.
The earlier library of 26 skills is retired; its last commit is tagged library-26-final.
Use the conductor
- Read
conductor/SKILL.mdwhole, then the guidance it selects. On a small context window, load one guidance file at a time and only the sections the current work needs. - Install by copying the whole
conductor/directory into.agents/skills/or.claude/skills/in the target project. Do not copy onlySKILL.md, and do not place a hand-edited copy in this repository’s generatedskills/: the emitter treats ungenerated files as stale. - Follow its reporting and work-record conventions: every item ends as verified, failed, not verified,
not applicable or exception, and a report ends with its counts. Records live in the project’s own
tools; decisions are ADRs (
conductor/templates/adr.md). - To see whether an agent or model can follow it, run it on a fixture and score the report:
python scripts/score_fixture.py fixtures/<name> REPORT.md. The request for each fixture is indocs/trials/tools/requests.json.
Find it
- From a clone:
conductor/SKILL.md.skills/conductor/is a generated copy. - By task:
GET https://jules-prompts.wecanuseai.com/llms.txtlinks the whole folder as one archive and every file in it, each with its digest. - By the Agent Skills discovery convention:
GET https://jules-prompts.wecanuseai.com/.well-known/agent-skills/index.json. The conductor is one entry of typearchive(a zip withSKILL.mdat its root); verify itsdigest, the SHA-256 of the archive’s bytes.
Paste harness/AGENTS.md into a target project’s AGENTS.md so its standing rules
apply even when nobody loads the conductor.
Offline and private use
The conductor needs no network. On a private or air-gapped project, install from a clone (copy conductor/), and qualify each model on the
fixtures before routing work to it. conductor/guidance/confidentiality.md covers the project’s own
confidentiality.
The harness folder
harness/check_trace.py stays for projects that already keep the older ledger (PROJECT.md,
decisions/, and Serves: and Verified: lines in commits) and run the check in their CI. New projects
use the conductor’s records instead and do not adopt the ledger. harness/conformance.py tests an agent
harness that a model built for itself. Do not change either’s behaviour without their tests
(scripts/test_check_trace.py, scripts/test_conformance.py).
Change the conductor
- Edit
conductor/directly. It is the only procedure source, hand-written, and never generated.scripts/check_conductor.pyvalidates its metadata, file membership and local file and section references, including a copied installation;scripts/test_check_conductor.pymust reject deliberately broken packages. - Everything else agents load (
skills/,_agent_skills/,_conductor_pages/, the discovery index and archive,llms.txt, the redirect stubs) is generated bypython scripts/emit.py. Never edit a generated file. To add a form, add a target toTARGETSin that script. - Every fixture in
fixtures/needs adefects.json, anEXPECTED_REPORT.mdthat names every planted defect, and a request indocs/trials/tools/requests.json; the integrity check refuses one without. A change meant to catch a failure adds or extends a fixture. - A retired page’s address is mapped to the file that now holds its content in
MOVEDandRETIRED_SKILLSinscripts/emit.py. - Do not edit
docs/trials/: it records what was run.docs/migration/checks.mdsays which check protects which behaviour. - A schedule date with no source fails
scripts/check_time_limits.py.scripts/test_check_time_limits.pymust reject the planted schedule and accept a sourced one. A check that is not in the list below can be skipped. - Before pushing:
python scripts/emit.py --check,python scripts/check_library_integrity.py,python scripts/check_conductor.py,python scripts/test_check_conductor.py,python scripts/test_check_time_limits.py,python scripts/test_emit_bytes.py,python scripts/test_trial_prep.py,python scripts/inventory_map.py --destinations,python scripts/test_check_trace.py,python scripts/test_conformance.py, andpython scripts/check_site.py _siteon a build of the site. Structural checks are not delivery acceptance.
Repository structure
conductor/ the entry point, guidance and templates; canonical, hand-written
docs/RELEASE.md supported scope, known limitations, evidence, migration
docs/migration/ coverage map, the audit, build notes, and checks.md
docs/trials/ trial protocol, runs and their current status (a record; do not edit)
fixtures/ 26 regression cases: planted defects, defects.json, EXPECTED_REPORT.md
harness/AGENTS.md standing rules to paste into a target project's AGENTS.md
harness/check_trace.py the older ledger check, for projects that already keep the ledger
harness/conformance.py the test a harness a model built for itself must pass
scripts/ emit.py (generates every form) and the checks
skills/ generated: the Agent Skill folder
_agent_skills/ _conductor_pages/ redirects/ generated: the served files, the site's pages, stubs
llms.txt .well-known/ generated: the index and the archive