agentsclimarketplace

Project setup

Skill dleerdefi/claude-code-construction/.claude/skills/project-setup

Claude Code skills for construction professionals.

Install
npx -y skills add dleerdefi/claude-code-construction --skill project-setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Set up a construction project — inventories files, classifies drawings/specs/schedules/registers, detects AgentCM mode, appends construction context to CLAUDE.md. Triggers: 'set up project', 'construction setup', 'classify documents'.

SKILL.md

5.4 KB, as published. Nobody here has run it

Project Setup

Set up a construction project directory for use with Claude Code construction skills. This skill inventories all files, classifies construction document types, and appends construction-specific context to the project's CLAUDE.md.

Run this after /init has created the base CLAUDE.md.

Pipeline Position

/init (built-in) → THIS SKILL → /spec-splitter, /sheet-splitter → /submittal-log-generator

Runs once per project. Identifies which Builder skills should run next.

Workflow

Project Setup Progress:
- [ ] Step 1: Detect operational mode
- [ ] Step 2: Inventory and classify files
- [ ] Step 3: Present summary and recommend next actions
- [ ] Step 4: Amend project CLAUDE.md

Step 1: Detect Operational Mode

Check for .construction/ directory at the project root.

If present (AgentCM mode):

  1. Read .construction/CLAUDE.md for project navigation context
  2. Query database for entity counts (read query_command from .construction/database.yaml): {query_command} -c "SELECT (SELECT COUNT(*) FROM sheets WHERE project_id = '{id}') AS sheets, (SELECT COUNT(*) FROM rooms WHERE project_id = '{id}') AS rooms, (SELECT COUNT(*) FROM graph_elements ge JOIN sheets s ON s.id = ge.sheet_id WHERE s.project_id = '{id}') AS elements" Fallback: read .construction/graph/graph_summary.yaml if database unavailable
  3. Read .construction/index/sheet_index.yaml for drawing inventory
  4. Skip to Step 3 with instant summary — no file scanning needed

If absent (Flat File mode): Continue to Step 2.

Step 2: Inventory and Classify Files

Scan the project directory. No vision calls — use filename and folder pattern matching only.

Classification rules:

Document TypeDetection Pattern
Drawing setsPDFs in drawings/, plans/, or root with discipline prefixes (A-, S-, M-, E-, P-, C-, L-). PDFs > 2MB with keywords: "plan", "drawing", "bid set", "dwg".
SpecificationsFolders named Specifications/, specs/, 02 - Specifications/. PDFs with "project manual", "spec", "volume". CSI section number patterns in filenames.
SchedulesExcel/CSV files with "schedule", "CPM", "lookahead", "milestone" in name.
Submittal logExcel files with "submittal" in name, typically in Submittals/ or 06 - Submittals/.
RFI logExcel files with "RFI" in name, typically in RFIs/ or logs folder.
Change ordersExcel/PDF files with "change order", "CO", "PCO" in name.
OtherCorrespondence, photos, reports, geotechnical, environmental.

Also check for existing indexes:

  • sheet_index.yaml → drawings already indexed
  • spec_index.yaml → specs already split
  • .construction/spec_text/manifest.json → spec text already extracted

Step 3: Present Summary and Recommend Next Actions

Report what was found:

## Project Summary
- Drawing sets: {count} PDFs ({disciplines found})
- Specifications: {bound manual / split sections / not found}
- Schedules: {list}
- Registers: {RFI log, submittal log, CO log — found or not found}
- Other: {count} files

## Recommended Next Actions

Recommendations by mode:

ConditionRecommendation
Bound spec manual found, not yet split"Run /spec-splitter to split the project manual into individual sections and extract searchable text."
Bound drawing set found, flat file mode"Run /sheet-splitter to split the drawing set into individual sheet PDFs and identify sheet numbers."
Bound drawing set found, AgentCM mode"Split sheets via the AgentCM UI for zero-vision-cost splitting using labeled OCR data."
Specs already split but no text extracted"Run /spec-splitter — specs are split but text extraction hasn't been done yet."
Submittal log needed"Run /submittal-log-generator after spec text is available."
Specs split and text extracted"Would you like to generate a submittal log from the specification sections? Run /submittal-log-generator."

Step 4: Amend Project CLAUDE.md

Append construction-specific context to the project root's CLAUDE.md (the file created by /init). Do NOT modify the construction skills directory CLAUDE.md.

Append format:

## Construction Project Context

### Document Locations
- Drawing set: {path} ({N} sheets, disciplines: {list})
- Specifications: {path} ({N} sections or "bound manual, not yet split")
- Schedule: {path or "not found"}
- RFI log: {path or "not found"}
- Submittal log: {path or "not found"}

### Status
- Operational mode: {AgentCM / Flat File}
- Sheets indexed: {yes/no}
- Specs split: {yes/no}
- Spec text extracted: {yes/no}

Only append — never overwrite existing CLAUDE.md content.

What This Skill Does NOT Do

  • Does not split PDFs — recommends /spec-splitter and /sheet-splitter instead
  • Does not use vision — all classification is filename/folder pattern matching
  • Does not create .construction/ directory — that's AgentCM's job
  • Does not replace /init/init creates the base CLAUDE.md, this skill enriches it

Scripts

This skill does not execute any external scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.