dleerdefi/claude-code-construction/submittal-log-generator
Claude Code and agent skill by dleerdefi/claude-code-construction
- community
Checking that the SKILL.md file is still in the repository.
Extract all submittal requirements from specification sections and generate a comprehensive submittal register in Excel. Triggers: 'submittal log', 'extract submittals', 'submittal register'. Requires /spec-splitter output.
Install
npx vskill@latest install dleerdefi/claude-code-construction/submittal-log-generatorSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Submittal Log Generator
Long-running skill that processes every specification section to extract submittal requirements and produces a professional submittal register in Excel. Designed to handle full project manuals (200+ spec sections) with state persistence.
Prerequisite: This skill reads one .txt file per spec section. In an AgentCM project (.construction/project.yaml exists) AgentCM provides them in .construction/specs/. Otherwise /spec-splitter provisions them at .construction/skills/spec_text/, and it does so in an AgentCM project too for a manual AgentCM could not read. The provider owns text quality — extraction, repair, and quality assessment. This skill reads those .txt files and focuses on identifying submittal items.
Design Philosophy: Scripts for Structure, Claude for Judgment
This skill uses a three-tier approach:
- RIGID (scripted, deterministic): File I/O, Excel output schema, directory structure, naming conventions. Follow these exactly. Do not improvise.
- GUIDED (decision tree, Claude picks the branch): Confidence scoring, output location discovery. Follow the decision logic; adapt thresholds to what you observe.
- FLEXIBLE (domain knowledge, Claude thinks): Identifying what is actually a submittal item, distinguishing submittals from boilerplate, resolving ambiguity, handling non-standard spec formats. Use your understanding of construction documents and the domain knowledge below.
Allowed scripts — exhaustive list. Only execute these scripts during this skill:
export_submittal_log.py— Excel output from assembled JSON (Step 4)write_finding.py— a finding in.construction/skills/submittal-log-generator/findings/(Step 5)${CLAUDE_PLUGIN_ROOT}/scripts/issue_manager.py— log a submittal requirement with no matching spec product to the Issue Registry (command and severity mapping in construction-guide)
Do not create, generate, or write any .py, .sh, or other script files. All data assembly is Claude writing JSON directly.
Current Submittal State
!cat .construction/skills/submittal-log-generator/submittal_extraction_state.yaml 2>/dev/null || echo "No prior extraction — starting fresh"
Output Schema — RIGID
The Excel submittal log MUST contain these columns in this order. Do not rename, reorder, or omit columns.
| Column | Description | Example | |
|---|---|---|---|
| Spec Section | CSI section number | 03 30 00 | |
| Spec Title | Section title | Cast-in-Place Concrete | |
| Submittal No. | Sequential ID: [Section]-[###] | 03 30 00-001 | |
| Submittal Type | Categorized type (see taxonomy below) | Product Data | |
| Submittal Description | The actual submittal requirement, cleaned | Submit product data for each concrete mix design including compressive strength, admixtures, and mix proportions | |
| Article Reference | Where found in the spec | 1.3.A.1 | |
| Action/Informational | Action or Informational | Action | |
| Confidence | HIGH / MEDIUM / LOW / FLAGGED | HIGH | |
| Flag Reason | Empty if HIGH; explanation otherwise | Possible boilerplate — verify intent | |
| Extraction Method | pdfplumber / vision / hybrid | pdfplumber | |
| Notes | Any context Claude thinks the PE should know | Referenced mix designs in 03 31 00 |
Formatting
Use the rigid export script for all Excel output. The script handles:
- Header row: Bold, dark background (RGB 44,62,80), white text, freeze panes
- Alternating row shading for readability
- Auto-filter on all columns
- Column widths sized to content (Submittal Description gets the widest)
- Conditional formatting on Confidence column: HIGH=green, MEDIUM=yellow, LOW=orange, FLAGGED=red
- Summary sheet with counts by section, type, and confidence level
- Extraction QA sheet with per-section quality metrics
Workflow — RIGID Structure, GUIDED Decisions
Step 0: Ensure Spec Text Is Available — RIGID
This skill reads from .construction/skills/spec_text/*.txt files provisioned by /spec-splitter, or in AgentCM mode from AgentCM's .construction/specs/. Check whether they exist and invoke spec-splitter if needed.
AgentCM mode (.construction/project.yaml exists):
- Read
.construction/INDEX.md. The queue is every section under## Specification sections; read each from its Agent file,.construction/specs/<section>.txt(08 71 00is08-71-00.txt; each line starts with its page in the manual, which gives the page for citations). These files carry no quality rating. - If INDEX.md lists manuals under
## Spec manuals not read, their sections are spec-splitter's: use Branch A or B below for those manuals only, and add their sections to the queue from.construction/skills/spec_text/manifest.json. Never invoke spec-splitter for a manual AgentCM has read. - If INDEX.md is missing, say that AgentCM has not written its index for this folder, and stop.
- Follow
${CLAUDE_PLUGIN_ROOT}/reference/agentcm-mode.md(which source wins, missing files).
Flat-file mode (no .construction/project.yaml): Branch A or B.
Branch A — Text already extracted:
- Check
.construction/skills/spec_text/manifest.json(older versions used.construction/spec_text/: if only that exists, copy it to.construction/skills/spec_text/first and leave the old one as it is) - If present with corresponding
.txtfiles → inventory them, build the processing queue, proceed to Step 1 - Note any sections with
quality_rating: "POOR"in the manifest — items extracted from these sections will receive a minimum confidence of MEDIUM
Branch B — No text extracted:
- Invoke the
construction:spec-splitterskill (Skill tool) yourself; don't ask the user to run it — it will handle everything: locating or splitting spec PDFs, extracting text, and repairing quality issues - After
/spec-splittercompletes, read.construction/skills/spec_text/manifest.jsonand proceed to Step 1
Important: Always invoke spec-splitter as a skill (construction:spec-splitter) — do not call extract_spec_text.py or split_spec_manual.py directly. The spec-splitter skill manages directory discovery, naming conventions, text extraction, and text repair.
Build processing queue from manifest (in AgentCM mode, INDEX.md's sections plus these):
- Read all section keys from
manifest.json - For each section, verify the corresponding
.txtfile exists - Sort by CSI section number
- Build the queue
Initialize state file:
Step 1: Submittal Identification — FLEXIBLE (Claude Intelligence)
For each section in the queue, read its .txt file (.construction/specs/ for a section AgentCM read, otherwise .construction/skills/spec_text/) and identify submittal items.
This is where your understanding of construction specifications matters most. Do not follow a rigid script here — use the domain knowledge below to identify every legitimate submittal requirement while filtering boilerplate.
Where Submittals Live
Primary location (check first):
- PART 1 - GENERAL
- Article 1.3 ACTION SUBMITTALS
- Article 1.4 INFORMATIONAL SUBMITTALS
- Sometimes combined as Article 1.3 SUBMITTALS with sub-articles
Secondary locations (always check these too):
- PART 1 - GENERAL, other articles:
- QUALITY ASSURANCE (may contain test report/certification submittals)
- DESIGN CRITERIA (may contain design data/calculation submittals)
- REGULATORY REQUIREMENTS (may contain permit/approval submittals)
- CLOSEOUT SUBMITTALS (O&M manuals, warranties, as-builts)
- PART 2 - PRODUCTS:
- Individual product articles sometimes contain submittal requirements
embedded with product descriptions ("Submit manufacturer's data for...")
- These are REAL submittals — do not skip them because they're in Part 2
- PART 3 - EXECUTION:
- Field test reports, installation certifications
- Mock-up submittals
- Pre-installation meeting documentation
Spec sections that are ENTIRELY about submittals:
- 01 33 00 - Submittal Procedures: This defines the process, not individual
submittals. Extract any specific submittal requirements it contains (like submittal schedule format requirements) but do not treat procedural instructions as submittal items.
- 01 78 00 - Closeout Submittals: This DOES contain real submittal items.
Extract them all.
Submittal Type Taxonomy
Categorize every extracted item into one of these types. Use your judgment for edge cases — the descriptions below are guidance, not rigid rules.
Action Submittals (require Architect/Engineer review and response):
| Type | What It Is | Signal Phrases | |
|---|---|---|---|
| Shop Drawings | Contractor-prepared drawings showing fabrication/installation details | "shop drawings showing/indicating/detailing", "installation drawings" | |
| Product Data | Manufacturer's published literature, cut sheets, specs | "product data for/including", "manufacturer's data", "technical data", "catalog data", "cut sheets" | |
| Samples | Physical samples of materials, colors, finishes | "samples of/for", "color samples", "finish samples", "material samples", "sample panels", "mock-ups" | |
| Design Data | Engineering calculations, analysis, design documentation | "design data", "structural calculations", "engineering analysis", "seismic calculations", "load calculations" | |
| Test Reports | Results from testing performed on products/materials | "test reports", "laboratory test results", "fire test reports", "independent testing" | |
| Certificates | Third-party certifications of products/installers | "certificates", "certification", "ICC-ES report", "UL listing", "FM approval", "installer certification" | |
| Delegated Design | PE-stamped submittals for contractor-designed portions | "delegated design", "deferred submittal", "professional engineer stamp", "PE-sealed" |
Informational Submittals (for record, no formal review/approval):
| Type | What It Is | Signal Phrases | |
|---|---|---|---|
| Manufacturer's Instructions | Installation/application instructions | "manufacturer's instructions", "installation instructions", "written instructions" | |
| Manufacturer's Field Reports | Field service reports from manufacturer's rep | "manufacturer's field report", "field service report" | |
| Qualification Statements | Installer/manufacturer qualification documentation | "qualification statements", "qualifications for/of", "experience list", "project references" | |
| Warranty | Warranty documentation | "warranty", "special warranty", "manufacturer's warranty" | |
| O&M Data | Operation and maintenance manuals | "operation and maintenance", "O&M manual", "maintenance data" | |
| LEED Submittals | LEED/green building documentation | "LEED", "sustainable design", "environmental product declaration", "EPD", "HPD" | |
| Record Documents | As-built drawings, record drawings | "record documents", "record drawings", "as-built", "as-constructed" | |
| Schedule | Submittal schedule, progress schedule | "submittal schedule", "progress schedule" |
If an item doesn't clearly fit a type, use "Product Data" as the default for action submittals and "Manufacturer's Instructions" as the default for informational submittals, but add a note explaining the ambiguity.
Boilerplate vs. Real Submittals — CRITICAL
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/submittal-log-generator/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/dleerdefi/claude-code-construction/submittal-log-generator)