bid-tabulator
Extract data from subcontractor bid PDFs and produce a comparison spreadsheet. Feeds into /bid-evaluator. Triggers: 'tabulate…
Evaluate tabulated subcontractor bids against specs and drawings — scope gap analysis, exclusion risk scoring, award recommendation. Triggers: 'evaluate bids', 'bid evaluation', 'lowest responsible bidder'.
Claude Code
$ npx -y skills add dleerdefi/claude-code-construction --skill bid-evaluator --agent claude-code
Codex
$ npx skills add dleerdefi/claude-code-construction --skill bid-evaluator -a codex -y
Cursor
$ npx skills add dleerdefi/claude-code-construction --skill bid-evaluator -a cursor -y
Gemini CLI
$ npx skills add dleerdefi/claude-code-construction --skill bid-evaluator -a gemini-cli -y
GitHub Copilot
$ npx skills add dleerdefi/claude-code-construction --skill bid-evaluator -a github-copilot -y
OpenCode
$ npx skills add dleerdefi/claude-code-construction --skill bid-evaluator -a opencode -y
Windsurf
$ npx skills add dleerdefi/claude-code-construction --skill bid-evaluator -a windsurf -y
name: bid-evaluator description: > Evaluate tabulated subcontractor bids against specs and drawings — scope gap analysis, exclusion risk scoring, award recommendation. Triggers: 'evaluate bids', 'bid evaluation', 'lowest responsible bidder'. argument-hint: "<tabulated_bids_dir> [scope_description]" disable-model-invocation: true
Evaluate tabulated subcontractor bids against construction documents. This skill does NOT make the award decision — it builds the analytical foundation so the PE/PM can decide quickly and confidently.
/bid-tabulator → THIS SKILL → user confirms → /subcontract-writer
**This skill requires tabulated bids as input.** If the user has raw bid PDFs that haven't been tabulated yet, stop and ask them to run `/construction:bid-tabulator` first; it is user-invoked only, so you cannot start it from here. It produces the per-bidder JSON files and comparison Excel that this skill consumes.
1. Tabulated bids (from /bid-tabulator or equivalent) 2. Relevant specification sections 3. Relevant drawing sheets (Claude reviews via vision) 4. Scope context (from user dialogue)
Optional: bid form/ITB, schedule, owner requirements, budget estimate, past experience with bidders.
---
**Complete before analyzing any bids.**
Read `.construction/project.yaml` at the project root: present and readable means AgentCM mode (note its `contract_version`), absent means flat-file mode. A listing that shows the file does not decide it: read it.
Extract from each spec section: work included (Parts 1-3), work by others (GC/NIC/Owner), related section cross-references, performance requirements, coordination and temporary requirements.
This step is never skipped. The spec sections are the baseline that SILENT is measured against; a scope sheet lists sections, not their requirements, and "no drawing review" does not mean "no spec review". In flat-file mode dump each section's text (TEXT pages in the dump are read as text; rasterize VISION pages):
"${CLAUDE_PLUGIN_ROOT}/bin/construction-python" "${CLAUDE_PLUGIN_ROOT}/scripts/pdf/pdf_text.py" "{section.pdf}"Take the output directly, or, to search a dump more than once, save it with `--output ".construction/skills/bid-evaluator/text/<section>.txt"`, never in `/tmp` or any other folder outside the project.
Load `references/drawing-review.md` for guidance on what to look for per drawing type. Vision-read key sheets to identify scope items, conditions, and quantities not apparent from specs. Track drawing- derived items separately — they differentiate thorough bidders. Offload reference after completing drawing review.
Ask targeted questions to fill gaps documents can't answer. Do not dump a questionnaire — ask conversationally, skip what you already know.
**Always ask:** package definition (which specs/drawings), GC-provided items, bid count and format, drawing confirmation if provided.
**Ask when relevant:** multi-trade splits, alternates/allowances, qualification requirements, budget reference, schedule constraints.
Confirm assembled scope with user before proceeding.
Produce internal baseline document: items in sub scope (with source), drawing-identified scope, GC/owner exclusions, allowances, alternates, qualifications, schedule constraints.
---
Load `references/buyout-domain.md` for domain knowledge on bid language interpretation, common scope splits, red flags, trade- specific evaluation notes, and non-price factors. Keep loaded through Steps 2a-2d, then offload.
Adjusted Base = Submitted Base
+ Excluded spec-required items
- Included GC-provided items
+ Accepted alternates ± Allowance adjustmentsValuation order: other bidder's line item → budget estimate → professional judgment (flagged) → qualitative risk if unknown. Document every adjustment. No silent price changes. Flag unit price outliers (>2x median). Calculate exposure ranges.
Map each bidder against every scope baseline item us
Open-source skills that give Claude Code the working knowledge of a Project Engineer.
Extract data from subcontractor bid PDFs and produce a comparison spreadsheet. Feeds into /bid-evaluator. Triggers: 'tabulate…
Researches which building codes, accessibility standards and authority requirements (health department, fire marshal, state…
Operating guide for construction project documents — load before reading drawings, specs, schedules, RFIs, submittals or bids.…
Checks construction drawings and specs for what's missing, cross-trade coordination conflicts and scope gaps, with PE judgment.…
Set up a construction project — inventories files, classifies drawings/specs/schedules/registers and appends construction context…
Draft RFIs and manage the ambient issue registry. Reviews issues surfaced by other skills, escalates to formal RFIs. Triggers:…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…