# Drawing Analyzer โ Claude AI Skill for Construction Drawings
THIS SKILL AHS BEEN ARCHIVED> KINDLY USE THE OTHER SKILL THA CONVERTS PDF DRAWING IN TO VECTOR DATABASE
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](https://hamzajabbar.online) | 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](https://claude.ai/download)
- Claude Pro subscription ($20/month) โ required for Claude Code
- Python 3.8+ (for the processing scripts)
- Your construction drawing PDF set
### Python dependencies
```bash
pip install pypdf PyMuPDF
```
---
## Installation
### Option A โ Install as a Claude skill (recommended)
1. Download `drawing-analyzer.skill` from the [Releases](../../releases) page
2. Open the Claude desktop app
3. Go to **Settings โ Skills โ Install Skill**
4. Select the `.skill` file
5. Open a new Claude Code session and type:
```
run drawing analyzer on my construction drawings
```
### Option B โ Clone and use directly
```bash
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:
1. Split the PDF into individual sheets
2. Extract text layer from each sheet
3. Classify every sheet by type
4. Build the cross-reference matrix
5. Extract symbol library from all legends
6. 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:
1. Read `indexes/drawings.md` โ understand the drawing set structure
2. Read `indexes/sheet-classification.md` โ identify the relevant sheet(s)
3. Read `indexes/cross-reference.md` โ check if other sheets need to be followed
4. Read `indexes/symbol-library.md` โ confirm symbol meanings before interpreting
5. Read the target sheet `.txt` โ get vector/text data
6. View the target sheet `.png` โ visual confirmation
7. Run polygon extraction on the target `.pdf` only 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](https://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.