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
- openai/pluginstheir own version, first seen Oct 13, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 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.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- accountsSkill
- claimsSkill
- contractsSkill
- estimatingSkill
- financialsSkill
- handoverSkill
- materialsSkill
- noticesSkill
- projectsSkill
- safetySkill
- siteSkill
- startSkill
- variationsSkill
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
- Very specific: line 21
Run commands from the user's own project folder (the current working directory), so my_project.yaml and out/ are theirs.
- Distinctive: line 41
Before anything else, know who you're helping and where:
- Very specific: line 47
Ask for the trade and state if the project file doesn't have them (python3 $ABB/tools/profile.py trades lists every trade.
- Distinctive: line 57
Before answering a code question, know (or ask, in one message):
- Distinctive: line 63
If the user only says "a house", assume Class 1a and say you have assumed it.
- Distinctive: line 71
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.
- Distinctive: line 80
Always pass the profile, so results stay within the trade's NCC scope and show only the user's state's variations:
- Distinctive: line 97
Look up every *italic* term that changes the meaning.
- Very specific: line 100
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 …
- Very specific: line 106
Run variations --state <STATE> for the volume, and check whether any clause you are citing appears.
- Distinctive: line 116
If the clause calls up an Australian Standard (for example AS 3740 or AS 1684), name the standard and what it covers.
- Distinctive: line 117
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.
- Distinctive: line 126
Only the certifier or building surveyor can decide (Performance Solutions, ambiguous classifications)
- Very specific: line 136
Run search "stair riser going dimensions" --volume housing_provisions to find the stair construction clause and its riser and going table.
≈ “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.
Files
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 formatbrain/ncc/2025/<volume>/<part>.md: the code text, one page per Part, each clause under its own headingbrain/ncc/2025/<volume>/definitions.md: defined terms (shown in italics in clauses)brain/ncc/2025/<volume>/state_variations.md: every state and territory variationbrain/ncc/2025/clause_index.md: every clause code and its pagetools/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_editionin the project file, or ask; the certifier can confirm). Pass it to every lookup with--edition 2022or--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 carpenterIf 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_twoFor 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?"
- Class 1a; VIC; NCC 2025.
- Run
search "stair riser going dimensions" --volume housing_provisionsto find the stair construction clause and its riser and going table. Thenclausethe hits, andvariations --state VICfor both volumes. - 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.
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.

