Drawing Analyzer — Claude AI Skill for Construction Drawings
Pre-process a set of construction drawing PDFs into structured text indexes so Claude can answer questions faster, cheaper, and more accurately.
Built by Hamza Abdul Jabbar | AutoConst
The Problem
Raw construction drawing PDFs are terrible AI input.
- Claude breaks images into 16×16 pixel tiles — tiny drawing details get lost
- A semi-dashed line (cold water) looks identical to a double-dashed line (hot water) at tile resolution
- Merged drawing sets regularly fail to upload even under the 30MB limit
- Claude Cowork burns 60,000–70,000 tokens per question processing the full PDF set every time
- Element counts are approximate — overcounting is common
- Cross-references between sheets are not followed
The Solution
Run this skill once on a new drawing set. It builds lightweight text indexes. Every future question reads the indexes first, then targets only the specific sheet needed.
| Raw PDF approach | Drawing Analyzer | |
|---|---|---|
| Tokens per question | 60,000–70,000 | 5,000–8,000 |
| Time per question | 5–10 minutes | 30–60 seconds |
| Footing count accuracy | Overcounts | Correct, by type |
| Area takeoff accuracy | Visual estimate | 96% tested |
| Symbol interpretation | Guesses | Reads actual legend |
| Cross-references | Not followed | Mapped and followed |
Real result
Warehouse slab area on an 11MB drawing set:
- Drawing Analyzer: 13,250 m²
- Manual Bluebeam measurement: 13,600 m²
- Accuracy: 96.7%
What it produces
your-project/
├── indexes/
│ ├── drawings.md # Master register — loaded on every query (~5KB)
│ ├── sheet-classification.md # Every sheet classified by type and content
│ ├── cross-reference.md # Which drawings reference which other drawings
│ └── symbol-library.md # Every symbol, line type, abbreviation from all legends
└── sheets/
├── SHEET-001.pdf # Individual sheet PDF
├── SHEET-001.txt # Extracted text/vector layer
├── SHEET-001.png # Rendered image at optimal resolution
├── SHEET-002.pdf
└── ...
Requirements
- Claude desktop app
- Claude Pro subscription ($20/month) — required for Claude Code
- Python 3.8+ (for the processing scripts)
- Your construction drawing PDF set
Python dependencies
pip install pypdf PyMuPDF
Installation
Option A — Install as a Claude skill (recommended)
- Download
drawing-analyzer.skillfrom the Releases page - Open the Claude desktop app
- Go to Settings → Skills → Install Skill
- Select the
.skillfile - Open a new Claude Code session and type:
run drawing analyzer on my construction drawings
Option B — Clone and use directly
git clone https://github.com/YOUR-USERNAME/drawing-analyzer.git
cd drawing-analyzer
pip install pypdf PyMuPDF
Then in Claude Code, point it at this folder and say:
run drawing analyzer on my construction drawings
Usage
Step 1 — Run the analyzer (once per drawing set)
Open Claude Code in the folder containing your merged drawing PDF.
run drawing analyzer on my construction drawings
Claude will:
- Split the PDF into individual sheets
- Extract text layer from each sheet
- Classify every sheet by type
- Build the cross-reference matrix
- Extract symbol library from all legends
- Create the master drawings register
This takes 5–15 minutes for a typical set (10–30 sheets). Larger sets (50+ sheets) allow 30–60 minutes.
Step 2 — Ask questions
What is the area of the warehouse slab?
How many F6 footings are shown on the foundation drawings?
What does a double-dashed line mean on the hydraulic drawings?
What details does the F3 footing cross-reference?
How many roller doors are shown on the floor plan?
What is the floor-to-floor height on the section drawings?
Claude reads the indexes first, identifies the relevant sheet, then reads that sheet's text and image. It only opens the raw PDF if polygon extraction is needed for an area takeoff.
Step 3 — Area takeoffs (optional)
For precise area calculations, Claude runs the polygon extractor on the specific sheet:
What is the ground floor slab area? Run polygon extraction to confirm.
This extracts closed polygon geometry from the vector layer, applies the drawing scale, and returns area in m². Always cross-checked against dimension annotations.
Project structure
drawing-analyzer/
├── README.md # This file
├── SKILL.md # Claude skill definition
├── scripts/
│ ├── split_drawings.py # Split merged PDF into individual sheets
│ └── extract_polygons.py # Polygon extraction for area takeoffs
├── references/
│ ├── drawing-types.md # Classification guide for 15 drawing types
│ └── takeoff-guide.md # How to run accurate quantity takeoffs
├── indexes/ # Created by the analyzer (gitignored)
│ └── .gitkeep
└── sheets/ # Created by the analyzer (gitignored)
└── .gitkeep
How it works
Why scripts for splitting, AI for classifying
The skill uses Python scripts for mechanical tasks that do not require intelligence: splitting the PDF, extracting text, rendering images. These are fast and cheap.
It uses Claude for tasks that require actual understanding: classifying what is on each sheet, extracting symbol meanings, mapping cross-references. Pattern-matching scripts fail too often on real construction drawing sets because formatting varies too much between designers and firms.
The query protocol
When you ask a question after the analyzer has run, Claude follows this order:
- Read
indexes/drawings.md— understand the drawing set structure - Read
indexes/sheet-classification.md— identify the relevant sheet(s) - Read
indexes/cross-reference.md— check if other sheets need to be followed - Read
indexes/symbol-library.md— confirm symbol meanings before interpreting - Read the target sheet
.txt— get vector/text data - View the target sheet
.png— visual confirmation - Run polygon extraction on the target
.pdfonly if area takeoff is needed
This replaces processing 60,000–70,000 tokens of raw PDF with 5,000–8,000 tokens of targeted reading.
Accuracy and limitations
What the skill improves
- Symbol interpretation — reads actual legend, not general knowledge guesses
- Element counting — reads from schedule text files where available
- Cross-references — mapped before any query runs
- Token cost — ~90% reduction
- File size issues — individual sheets are 100–400KB, no upload failures
- Area takeoffs — 96% tested accuracy via polygon extraction
Known limitations
- Scanned drawings — no text layer to extract. All quantities are low confidence. Recommend getting CAD/BIM files for cost-critical takeoffs.
- Dense overlapping geometry — polygon extraction can double-count. Always run the dimension annotation sanity check alongside.
- Engineering verification — this skill produces quantities for estimating. It does not verify structural adequacy or code compliance. All quantities going into contracts need a qualified reviewer.
- BIM is always better — if you can get the Revit or ArchiCAD model, use the Autodesk MCP connector instead. This skill exists because most construction firms never receive the BIM model on bid projects.
Contributing
Issues and pull requests welcome. Particularly useful contributions:
- Improved classification prompts for specific drawing types (electrical single line diagrams, fire services)
- Better polygon extraction for scanned drawings (OCR integration)
- Support for DWG files directly (not just PDF exports)
- Additional drawing type reference guides
License
MIT License — free to use, modify, and distribute.
Author
Hamza Jabbar
Construction AI at hamzajabbar.online
Building AI automations for construction firms
If this helped you, share it with someone in construction who is still manually reading drawing sets.
No comments yet
Be the first to share your take.