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.md whole, 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 only SKILL.md, and do not place a hand-edited copy in this repository’s generated skills/: 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 in docs/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.txt links 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 type archive (a zip with SKILL.md at its root); verify its digest, 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.py validates its metadata, file membership and local file and section references, including a copied installation; scripts/test_check_conductor.py must 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 by python scripts/emit.py. Never edit a generated file. To add a form, add a target to TARGETS in that script.
  • Every fixture in fixtures/ needs a defects.json, an EXPECTED_REPORT.md that names every planted defect, and a request in docs/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 MOVED and RETIRED_SKILLS in scripts/emit.py.
  • Do not edit docs/trials/: it records what was run. docs/migration/checks.md says which check protects which behaviour.
  • A schedule date with no source fails scripts/check_time_limits.py. scripts/test_check_time_limits.py must 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, and python scripts/check_site.py _site on 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