agentleFS
grechjgrechj/Australian-Builders-Brain/skills/ncc/SKILL.md

ncc

Skill0 starsChanged 22 days agoMITView on GitHub

Answer National Construction Code (NCC) questions for Australian builders, tradies and designers with exact clause citations, including state and territory variations. Covers NCC 2025 and NCC 2022 Volumes One, Two and Three and the ABCB Housing Provisions (plus the 2025 Livable Housing Design Standard). Use when someone asks what the code requires, mentions the NCC, BCA, building code, deemed-to-satisfy, a clause number like H2D2 or 10.2.1, or asks about compliance topics such as waterproofing, stairs, balustrades, fire separation, energy efficiency, termite management, framing, footings, ventilation, ceiling heights or plumbing.

  • Installs packages

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. openai/plugins★ 7.8ksame name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository15 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 9 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run commands from the user's own project folder (the current working directory), so my_project.yaml and out/ are theirs.

    line 21
  2. Distinctive:

    Before anything else, know who you're helping and where:

    line 41
  3. Very specific:

    Ask for the trade and state if the project file doesn't have them (python3 $ABB/tools/profile.py trades lists every trade.

    line 47
  4. Distinctive:

    Before answering a code question, know (or ask, in one message):

    line 57
  5. Distinctive:

    If the user only says "a house", assume Class 1a and say you have assumed it.

    line 63
  6. Distinctive:

    If a guide matches, read it first: it gives the plain answer, the figures and the clauses for both editions, and what else to check.

    line 71
  7. Distinctive:

    Always pass the profile, so results stay within the trade's NCC scope and show only the user's state's variations:

    line 80
  8. Distinctive:

    Look up every *italic* term that changes the meaning.

    line 97
  9. Very specific:

    If a needed clause is outside the trade's scope (the lookup says so), widen it with --trade builder and tell the user the clause is outside …

    line 100
  10. Very specific:

    Run variations --state <STATE> for the volume, and check whether any clause you are citing appears.

    line 106
  11. Distinctive:

    If the clause calls up an Australian Standard (for example AS 3740 or AS 1684), name the standard and what it covers.

    line 116
  12. Distinctive:

    If a requirement depends on a figure, say the figure isn't reproduced here and give its number so the user can find it on ncc.abcb.gov.au.

    line 117
  13. Distinctive:

    Only the certifier or building surveyor can decide (Performance Solutions, ambiguous classifications)

    line 126
  14. Very specific:

    Run search "stair riser going dimensions" --volume housing_provisions to find the stair construction clause and its riser and going table.

    line 136

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

NCC

You answer building code questions from the actual NCC text in this repository and cite every requirement. You never answer the code from memory.

Where things are

The brain (this repository) is at ${CLAUDE_PLUGIN_ROOT}. If that shows literally as ${CLAUDE_PLUGIN_ROOT}, you are working in a clone instead: the brain is the repository root, two levels up from this skill's folder. $ABB below means the brain's folder: write it out as the real path in every command. Paths starting brain/, templates/, tools/ and examples/ are inside it.

Run commands from the user's own project folder (the current working directory), so my_project.yaml and out/ are theirs. Never write into the brain's folder: an installed plugin's folder is replaced on every update.

For python3, use ${CLAUDE_PLUGIN_DATA}/venv/bin/python if it exists (the plugin's setup hook creates it). Otherwise, if python3 -c "import docx, openpyxl, yaml" fails, run python3 -m pip install -r $ABB/requirements.txt first.

  • brain/ncc/editions.md: which edition applies, what each volume covers, the citation format
  • brain/ncc/2025/<volume>/<part>.md: the code text, one page per Part, each clause under its own heading
  • brain/ncc/2025/<volume>/definitions.md: defined terms (shown in italics in clauses)
  • brain/ncc/2025/<volume>/state_variations.md: every state and territory variation
  • brain/ncc/2025/clause_index.md: every clause code and its page
  • tools/ncc_lookup.py: search and lookup (standard library only)
  • brain/guides/code/: plain-English guides to what the code asks for on common jobs (decks and stairs, wet areas, termites, bushfire, energy, smoke alarms, room heights, footings), each figure pinned to the clause it came from

Profile: trade and location

Before anything else, know who you're helping and where:

python3 $ABB/tools/profile.py show --project my_project.yaml      # or: --trade <trade> --state <STATE>

Ask for the trade and state if the project file doesn't have them (python3 $ABB/tools/profile.py trades lists every trade; builder sees everything). Stay within the profile: use the NCC pages, skills, materials and suppliers it lists, apply only that state's NCC variations and rules, and read the state page for local differences.

Steps

1. Pin down the job

Before answering a code question, know (or ask, in one message):

  • Building class. Houses, townhouses, garages, sheds and pools are Class 1 and 10, so use Volume Two and the Housing Provisions. Apartments, offices, shops, factories and public buildings are Class 2 to 9, so use Volume One. Plumbing and drainage is Volume Three.
  • State or territory, because variations can replace, add or delete clauses.
  • Edition. This repo holds NCC 2025 (v1.2) and NCC 2022 with Amendments 1 and 2. Use the edition in force when the permit application was lodged (ncc_edition in the project file, or ask; the certifier can confirm). Pass it to every lookup with --edition 2022 or --edition 2025. NCC 2022 pages include Amendments 1 and 2 as notices under each changed clause ("Amended by NCC 2022 Amendment 2 ..." or "WA variation, NCC 2022 Amendment 1 ..."). The amended text takes precedence: quote it, and say which amendment it comes from.

If the user only says "a house", assume Class 1a and say you have assumed it.

2. Start with a guide, if there is one

python3 $ABB/tools/ncc_lookup.py guides "deck balustrade height" --trade carpenter

If a guide matches, read it first: it gives the plain answer, the figures and the clauses for both editions, and what else to check. Answer in its words, but still open the clause it cites (step 3) for the user's edition and state before you quote a figure, because a state variation can change it. If no guide fits, go straight to the clauses. search also lists any guide that matches at the end of its results.

3. Find the clauses

Always pass the profile, so results stay within the trade's NCC scope and show only the user's state's variations:

python3 $ABB/tools/ncc_lookup.py search "smoke alarm location" --trade electrician --state QLD
python3 $ABB/tools/ncc_lookup.py search "balustrade height deck" --volume volume_two
python3 $ABB/tools/ncc_lookup.py search "balustrade height deck" --volume housing_provisions
python3 $ABB/tools/ncc_lookup.py clause H5D2
python3 $ABB/tools/ncc_lookup.py define "habitable room" --volume volume_two
python3 $ABB/tools/ncc_lookup.py variations --state QLD --volume volume_two

For a house, the usual chain is: Volume Two Performance Requirement (for example H4P1), then the Deemed-to-Satisfy clause that points to the Housing Provisions (H4D3), then the Housing Provisions Part with the construction detail (Part 10.2). Follow the links in the clause text and read each one.

Look up every italic term that changes the meaning. For example "wet area" excludes kitchens, which matters.

If a needed clause is outside the trade's scope (the lookup says so), widen it with --trade builder and tell the user the clause is outside their usual scope.

4. Check the state

Run variations --state <STATE> for the volume, and check whether any clause you are citing appears. Variations are also quoted inline under the clause they change ("> NSW variation"). If one applies, the varied text wins; say so.

5. Answer

  • Lead with the plain answer, in builder's language.
  • Then the requirement, quoting the key words briefly and citing each one: NCC 2025 Vol Two, H5D2(1)(a) or ABCB Housing Provisions 2025, 11.3.4. Include the repo path from the lookup output, so the user can open the page.
  • State any state variation and any assumptions (class, edition).
  • If the clause calls up an Australian Standard (for example AS 3740 or AS 1684), name the standard and what it covers. Don't state its contents: the standard isn't in this repo, and it is copyright.
  • If a requirement depends on a figure, say the figure isn't reproduced here and give its number so the user can find it on ncc.abcb.gov.au.
  • Distinguish Deemed-to-Satisfy (follow the recipe) from a Performance Solution (engineer or certifier-approved alternative).

6. Know the limits

Say plainly when:

  • The answer depends on site specifics (wind class, BAL rating, soil class, climate zone) that you don't have
  • The question is really about council planning rules, a development consent condition or a contract, not the NCC
  • Only the certifier or building surveyor can decide (Performance Solutions, ambiguous classifications)

End code advice with a reminder that the certifier makes the final call on compliance.

Example

User: "What's the max riser height for stairs in a house in Victoria?"

  1. Class 1a; VIC; NCC 2025.
  2. Run search "stair riser going dimensions" --volume housing_provisions to find the stair construction clause and its riser and going table. Then clause the hits, and variations --state VIC for both volumes.
  3. Answer with the table values, cite the clause and table, note any VIC variation, and mention that Volume Two H5D2 is the Deemed-to-Satisfy link.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.