Open-source skills that give Claude Code the working knowledge of a Project Engineer. Split drawings, parse specs, tabulate bids, generate subcontracts, and more — directly from your terminal or IDE.
FAQ
claude-code-construction is a Claude Code plugin with 13 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes bid-evaluator, bid-tabulator, code-researcher. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
$ npx -y skills add dleerdefi/claude-code-construction --agent claude-code
Open-source skills that give Claude Code the working knowledge of a Project Engineer. Split drawings, parse specs, tabulate bids, generate subcontracts, and more — directly from your terminal or IDE.
1. Install the skills:
# Global install (available in all projects)
git clone https://github.com/dleerdefi/claude-code-construction ~/.claude/skills/construction
# Or per-project install
git clone https://github.com/dleerdefi/claude-code-construction .claude/skills/construction
2. Run setup (installs Python dependencies into an isolated venv):
cd ~/.claude/skills/construction # or .claude/skills/construction
./setup
3. Connect to your project. Add this line to your project's CLAUDE.md:
@~/.claude/skills/construction/.claude/skills/CLAUDE.md
If your project doesn't have a CLAUDE.md yet, run /init in Claude Code first.
4. Start using skills. Open Claude Code in your project folder and type:
/project-setup
This inventories your project files, classifies document types, and establishes context for the other skills.
| Command | What it does |
|---|---|
/project-setup | Inventory project files, classify documents, establish context |
/sheet-splitter | Split a bound drawing set PDF into individual sheet PDFs |
/spec-splitter | Split a bound project manual into individual spec section PDFs + text |
/schedule-extractor | Extract door, finish, window, or panel schedules to Excel |
/submittal-log-generator | Parse every spec section and generate a submittal register in Excel |
/bid-tabulator | Tabulate multiple subcontractor bids into a comparison spreadsheet |
/bid-evaluator | Evaluate tabulated bids — scope gaps, risk scoring, award recommendation |
/code-researcher | Research applicable building codes, standards, and jurisdiction requirements |
/subcontract-writer | Generate a scope-specific subcontract from your firm's template |
If your project uses AgentCM, skills automatically read from pre-indexed structured data in the .construction/ directory for faster results. Skills work without AgentCM using Claude's built-in vision and PDF tools.
Skills save structured results to a .construction/ directory in your project root. Excel files, split PDFs, and extracted text are written to your project folder. Each skill reports its output location when complete.
See CM Skills SOP for the full technical breakdown — skill architecture, design philosophy, YAML front matter spec, and the evaluation framework.
Python dependencies are installed automatically by ./setup into an isolated venv at ~/.construction-skills/venv/. No manual activation needed — all scripts run through bin/construction-python.
Packages: pdfplumber, pymupdf, openpyxl, Pillow, PyYAML
MIT
Made with 👷 by dleerdefi
.claude/
skills/
bid-evaluator/
agents/
openai.yaml
references/
buyout-domain.md
drawing-review.md
scripts/
export_bid_evaluation.py
sample_input.json
shared.py
SKILL.md
bid-tabulator/
agents/
openai.yaml
scripts/
bid_comparison_to_xlsx.py
shared.py
SKILL.md
CLAUDE.md
code-researcher/
agents/
openai.yaml
references/
discipline_notes.md
gap_report_template.md
schemas.yaml
SKILL.md
pe-review/
agents/
openai.yaml
references/
absence-checklists.md
coordination-matrix.md
pe_review_rules.md
pe-findings.md
red-flags.md
rfi_template.md
scope-gaps.md
SKILL.md
project-setup/
agents/
openai.yaml
SKILL.md
rfi-drafter/
agents/
openai.yaml
references/
common-issue-types.md
issue-record.schema.json
issue-schema.md
quality-checks.md
research-checklist.md
rfi-format.md
scripts/
rfi_export.py
shared.py
SKILL.md
schedule-extractor/
agents/
openai.yaml
scripts/
schedule_to_xlsx.py
shared.py
xlsx_to_changeset.py
SKILL.md
sheet-splitter/
agents/
openai.yaml
scripts/
split_drawing_set.py
SKILL.md
spec-splitter/
agents/
openai.yaml
scripts/
extract_spec_text.py
split_spec_manual.py
SKILL.md
subcontract-writer/
agents/
openai.yaml
scripts/
generate_subcontract_docx.py
shared.py
subcontract_formatters.py
SKILL.md
submittal-log-generator/
agents/
openai.yaml
references/
submittal_log_schema.json
scripts/
export_submittal_log.py
shared.py
SKILL.md
tag-audit-and-takeoff/
agents/
openai.yaml
references/
detection-record.schema.json
grouping-rules.md
qto-output-format.md
quantity-model.md
spatial-params.md
tag-types.md
scripts/
markup_tags.py
qto_to_xlsx.py
shared.py
SKILL.md
viewport-highlighter/
agents/
openai.yaml
scripts/
markup_viewports.py
shared.py
SKILL.md
.gitignore
bin/
construction-analytics
construction-config
construction-python
dev-setup
dev-teardown
CLAUDE.md
conductor.json
docs/
CM_SKILLS_SOP.md
QUICKSTART.md
RUNNING_EVALS.md
TROUBLESHOOTING.md
evals/
cases/
bid-tabulator/
case_01_single_scope.json
case_02_scanned_bids.json
case_03_alternates_unit_prices.json
expected/
flooring_bids_ground_truth.yaml
code-researcher/
case_01_egress.json
case_02_accessibility.json
case_03_fire_protection.json
expected/
code_research_ground_truth_01.yaml
schedule-extractor/
case_01_door_schedule.json
case_02_finish_schedule.json
expected/
Door_Schedule_A9.3.1.xlsx
door_schedule_ground_truth.csv
finish_schedule_ground_truth.csv
Lighting_Fixture_Schedule_E7.1.xlsx
Plumbing_Fixture_Schedule_P7.1.xlsx
Room_Finish_Schedule_AF2.4.xlsx
subcontract-writer/
case_01_with_template.json
case_02_no_template.json
case_03_pdf_template.json
expected/
subcontract_ground_truth.yaml
Subcontract_Harborview_BM-21553-FLR-07.docx
submittal-log-generator/
case_01.json
expected/
submittal_log_ground_truth.csv
EVAL_SPEC.md
runners/
helpers.py
run_eval.py
run_skill.py
run_suite.py
score.py
skills/
__init__.py
bid_tabulator.py
code_researcher.py
project_onboarding.py
schedule_extractor.py
sheet_index.py
spec_parser.py
subcontract_writer.py
submittal_log.py
vision_skills.py
test_docs/
Holabird-Academy/
01 - Drawings/
Architectural & Structural/
.gitkeep
Civil & Landscape/
.gitkeep
MEP/
.gitkeep
02 - Specifications/
.gitkeep
05 - RFIs/
RFI Log - old.xlsx
RFI-Log.xlsx
06 - Submittals/
Submittal Log.xlsx
07 - Meeting Minutes/
OAC Meeting 2025-08-05.docx
OAC Meeting 2025-08-19.docx
OAC Meeting 2025-09-02.docx
OAC Meeting 2025-09-16.docx
08 - Daily Reports/
Construction-Daily-Report-Template.docx
Daily Log 2025-09-15.xlsx
Daily Log 2025-09-16.xlsx
Daily Log 2025-09-17.xlsx
09 - Change Orders/
Change Order Log.xlsx
CO-001 Foundation Redesign.docx
PCO-001 Unforeseen Soil Conditions.docx
10 - Pay Applications/
Pay App #1 - 202508.xlsx
Pay App #2 - 202509.xlsx
11 - Photos/
2025-08 Demolition/
IMG_001 Existing Structure.jpg
IMG_002 Site Clearing.jpg
2025-09 Foundation/
IMG_003 Excavation Grid A.jpg
IMG_004 Rebar Placement.jpg
Progress Photo Log.xlsx
12 - Schedule/
3-Week Lookahead 2025-09-15.xlsx
Master Schedule Rev 3.xlsx
13 - Correspondence/
Email Log.xlsx
Letter to Architect - RFI Follow-up 2025-08-20.docx
Notice of Delay - Structural Steel 2025-09-10.docx
14 - Punch List/
Punch List Template.xlsx
15 - Closeout/
.gitkeep
16 - Templates/
Bid-Form-Template.docx
Bid-Tab-Template.xlsx
Construction-Daily-Report-Template.docx
Procurement-Log-Template.xlsx
Punch List Template.xlsx
Rough-in-inspections-checklist.docx
Site Specific Safety Plan Template.docx
README.md
LICENSE
README.md
reference/
ada_requirements.yaml
common_abbreviations.yaml
common-issue-types.md
csi_masterformat.yaml
drawing_conventions.md
ibc_egress_tables.yaml
pe_expertise/
pe_behavior.md
rfi_template.md
scope-01-general.md
scope-02-existing.md
scope-03-concrete.md
scope-04-masonry.md
scope-05-metals.md
scope-06-wood-carpentry.md
scope-07-thermal-moisture.md
scope-08-openings.md
scope-09-finishes.md
scope-10-specialties.md
scope-11-equipment.md
scope-12-furnishings.md
scope-13-special.md
scope-14-conveying.md
scope-21-fire-suppression.md
scope-22-plumbing.md
scope-23-hvac.md
scope-26-electrical.md
scope-27-communications.md
scope-28-safety-security.md
scope-31-earthwork.md
scope-32-exterior.md
scope-33-utilities.md
scale_factors.yaml
requirements.txt
scripts/
bulk/
consolidate_extraction.py
graph/
query_findings.py
write_finding.py
issue_manager.py
pdf/
annotate_pdf.py
crop_region.py
extract_annotations.py
extract_text_region.py
rasterize_page.py
rfi/
generate_rfi_pdf.py
shared.py
vision/
analyze_title_block.py
setup
templates/
graph_entry.yaml
project_context.yaml
rfi_template.md
sheet_index.yaml
submittal_register.yaml
takeoff_template.yaml
VERSION© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic