Australian-Builders-Brain
AGENTS.md0 starsChanged 22 days agoMITView on GitHub
This repository is a knowledge bundle plus a set of skills for Australian builders and tradespeople. Any LLM agent (Claude, Gemini, others) working in this repo follows these rules. - Use _, never spaces or hyphens, in file and folder names: extension_of_time.md, Delay_Notification_Letter_TEMPLATE.docx. - One exception: the product's own identifier is australian-builders-brain (plugin, marketplace, install commands, skill namespace such as australian-builders-brain:claims), because Claude's plugin marketplaces require hyphens. Its display name is "Australian Builder's Brain". - Template placeholders are [UPPER_SNAKE_CASE] and…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository15 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- accountsSkill
- claimsSkill
- contractsSkill
- estimatingSkill
- financialsSkill
- handoverSkill
- materialsSkill
- nccSkill
- noticesSkill
- projectsSkill
- safetySkill
- siteSkill
- startSkill
- variationsSkill
The file
We split this AGENTS.md into the rules it gives an agent
10 rules. About 0 are common, 1 is distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
Use _, never spaces or hyphens, in file and folder names: extension_of_time.md, Delay_Notification_Letter_TEMPLATE.docx.
- Very specific: line 38
When a new source arrives (in raw/, a URL, or the user's own notes):
- Distinctive: line 40
Read it in full.
- Very specific: line 42
Write or update each concept with full frontmatter (below), adding the source to sources and footnoting the claims it supports.
- Very specific: line 44
Add a dated entry to brain/log.md.
- Very specific: line 45
Run python tools/okf_lint.py and fix what it reports.
- Very specific: line 92
After changing a Word or Excel template, run python tools/describe_templates.py to refresh the Structure outline on its document page.
- Very specific: line 98
Every answer is for one person's profile: a trade (brain/trades/, or builder / all for everything) and a state or territory (brain/states/).
- Very specific: line 107
When a trade needs something outside its scope, widen deliberately (--trade builder) and say so.
- Very specific: line 121
Every example in examples/*_spec.yaml names its template and must fill cleanly: run python tools/test_examples.py after changing a …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Australian Builder's Brain: agent operating rules
This repository is a knowledge bundle plus a set of skills for Australian builders and tradespeople. Any LLM agent (Claude, Gemini, others) working in this repo follows these rules.
Layout
| Path | What lives there | Who edits it |
brain/ | The wiki. An Open Knowledge Format (OKF) v0.2 bundle. | Agents, reviewed by humans |
raw/ | Untouched source material (NCC XML, legislation extracts, notes). Never edited, only added to. | Humans and fetch scripts |
skills/ | Claude skills that turn brain knowledge plus project facts into documents. | Humans and agents |
templates/ | The Word, Excel and PDF templates the skills fill. | Humans |
tools/ | Deterministic Python: template filling, computations, wiki linting. | Humans and agents |
hooks/ | Session-start hook: builds the tools' Python environment (pinned in hooks/requirements_runtime.txt) and briefs Claude on the user's jobs folder. | Humans |
commands/ | The shortcuts in the / menu (job, inbox, quote...). One word each, never the same name as a skill. | Humans and agents |
examples/ | Sample project files for testing. | Anyone |
Naming
- Use
_, never spaces or hyphens, in file and folder names:extension_of_time.md,Delay_Notification_Letter_TEMPLATE.docx. - One exception: the product's own identifier is
australian-builders-brain(plugin, marketplace, install commands, skill namespace such asaustralian-builders-brain:claims), because Claude's plugin marketplaces require hyphens. Its display name is "Australian Builder's Brain". - Template placeholders are
[UPPER_SNAKE_CASE]and must exist inbrain/fields/project_fields.md. Bracketed prose such as[Describe the variation...]or[SELECT: A / B]is an instruction for whoever fills the template, not a field. - Concept IDs are the file path inside
brain/without.md, for examplephases/new_home/foundation_works.
The wiki pattern (how brain/ grows)
brain/ follows Karpathy's LLM-wiki pattern on top of OKF. The agent
compiles knowledge once into linked markdown pages and keeps it current, so
nobody has to re-derive it from raw sources on every question.
Ingest
When a new source arrives (in raw/, a URL, or the user's own notes):
- Read it in full.
- Decide which concepts it creates or changes. Prefer updating an existing concept over minting a near-duplicate.
- Write or update each concept with full frontmatter (below), adding the source to
sourcesand footnoting the claims it supports. - Link the new concept from related concepts and from its folder
index.md. - Add a dated entry to
brain/log.md. - Run
python tools/okf_lint.pyand fix what it reports.
Query
To answer a question or generate a document, start at brain/index.md and
walk down through the index.md files (progressive disclosure). Load only
the concepts you need. Cite the concepts you relied on.
Lint
python tools/okf_lint.py checks OKF conformance, broken links, unknown
placeholders and concepts past their stale_after date.
python tools/okf_lint.py --write_indexes regenerates every index.md.
Concept frontmatter
type is the only field OKF requires. This bundle also expects title,
description and tags on every concept, plus the trust and lifecycle
fields wherever they apply:
---
type: Contract Topic
title: Extension of time
description: How a builder claims more time under a residential building contract.
tags: [contracts, delays, notices]
status: draft # draft | stable | deprecated
jurisdiction: [NSW, VIC, QLD] # omit if national
sources:
- id: ncc_2022_v2
resource: https://ncc.abcb.gov.au/editions/ncc-2022
title: NCC 2022 Volume Two
generated: { by: claude/opus-5.5, at: 2026-10-16T00:00:00Z }
verified: { by: human:grechj, at: 2026-10-16T00:00:00Z }
stale_after: 2027-10-16T00:00:00Z
---Types in use: Lifecycle Stage, Construction Phase, Document Template,
Field Schema, Contract Topic, State Rule Set, Code Reference,
Attested Computation, Glossary, Playbook, Reference.
Actors follow OKF §7: human:<github_id> for people,
claude/<model> or <tool>/<version> for agents.
Templates and PDFs
- After changing a Word or Excel template, run
python tools/describe_templates.pyto refresh the Structure outline on its document page. - New templates are built in the pack's house style by
python tools/build_templates.py(it never overwrites an existing template without--force). Add the template there, then a document page, an example spec and the skill step. - PDFs in
templates/pdf/are generated: edit the brain page named in theirpdf:frontmatter key, then runpython tools/build_pdfs.py. Never edit a PDF directly.
Profiles: trade and location
Every answer is for one person's profile: a trade (brain/trades/, or
builder / all for everything) and a state or territory
(brain/states/). Resolve it with python tools/profile.py show and keep to
it:
- NCC: only the trade's
ncc_scopepages, and only that state's variations and state-only Parts (tools/ncc_lookup.py --trade --state) - Skills, takeoff jobs, materials and suppliers: as listed for the trade
- Location: the state page's regulator, licensing, climate, materials and cost notes
When a trade needs something outside its scope, widen deliberately (--trade builder) and say so.
Content rules
- Australian English and Australian practice. GST is 10%. Say "ex GST" or "inc GST" next to every dollar figure.
- Ask for the state or territory first. Building acts, deposit caps, home warranty insurance and security-of-payment rules all differ by state. Any concept that depends on the state sets
jurisdiction. - Never invent a clause number, NCC reference or legal requirement. If something is unverified, mark the concept
status: draftand say so in the text. - NCC content comes from the ABCB's CC BY 4.0 datasets.
brain/ncc/2025/is generated bytools/ncc_ingest.pyandbrain/ncc/2022/bytools/ncc_pdf_ingest.py; never hand-edit them, re-run the ingest instead. Both ingests finish withtools/ncc_anchor_repair.py, which gives state-added clauses their anchors so every link lands; then runtools/build_state_pages.py. Every NCC answer names its edition. NCC 2022 amendments live intools/ncc2022_amendments.yamland are applied bytools/apply_ncc_amendments.py; a new ABCB amendment is added there, not by editing pages. Search it withtools/ncc_lookup.py. Cite it as edition, volume and clause (for example "NCC 2022 Vol Two, H2D2") and link to ncc.abcb.gov.au. Both NCC 2022 and NCC 2025 can be in force; the edition that applies depends on when the permit application was lodged. - Copyrighted material is referenced, never copied. That means Australian Standards (AS/NZS), HIA, MBA and other standard-form contract text, and paid guides. Summarise the concept in your own words and point to the source.
- Money is computed, not guessed. GST, variation prices, margins, progress claims and retention go through the Attested Computations in
brain/computations/, run withtools/compute.py. Never do this arithmetic in your head. - Generated documents are drafts. Remind the user to check them against their actual contract, and to get legal advice on disputes.
Skills
Every example in examples/*_spec.yaml names its template and must fill
cleanly: run python tools/test_examples.py after changing a template, a
spec or the fill tool.
Each skill in skills/<name>/SKILL.md reads from brain/, collects the
missing facts from the user, runs the computations, fills a template with
tools/fill_template.py, and lists anything left unfilled.
skills/variations is the reference pattern for every new skill.
Skills must work when installed as a plugin: write brain paths in commands as
$ABB/tools/... (the skill's "Where things are" section defines $ABB), run
from the user's project folder, and never write into the brain's folder.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

