$npx -y skills add dleerdefi/claude-code-construction --skill bid-evaluatorEvaluate tabulated subcontractor bids against specs and drawings — scope gap analysis, exclusion risk scoring, award recommendation. Triggers: 'evaluate bids', 'bid evaluation', 'lowest responsible bidder'.
| 1 | # Bid Evaluator |
| 2 | |
| 3 | Evaluate tabulated subcontractor bids against construction documents. |
| 4 | This skill does NOT make the award decision — it builds the analytical |
| 5 | foundation so the PE/PM can decide quickly and confidently. |
| 6 | |
| 7 | ## Pipeline & Disambiguation |
| 8 | |
| 9 | ``` |
| 10 | /bid-tabulator → THIS SKILL → user confirms → /subcontract-writer |
| 11 | ``` |
| 12 | |
| 13 | **This skill requires tabulated bids as input.** If the user has raw bid PDFs that haven't been tabulated yet, run `/bid-tabulator` first to produce the per-bidder JSON files and comparison Excel. This skill consumes that output. |
| 14 | |
| 15 | - User has **bid PDFs** → `/bid-tabulator` (data capture) → then offer this skill |
| 16 | - User has **tabulated bids** and wants analysis → this skill directly |
| 17 | - User says "compare bids" or "buyout" → check if bids are already tabulated; if not, start with `/bid-tabulator` |
| 18 | |
| 19 | ## Tier System |
| 20 | |
| 21 | - **RIGID**: Output schema, scoring tables, file naming |
| 22 | - **GUIDED**: Dialogue sequencing, scope assembly, scoring thresholds |
| 23 | - **FLEXIBLE**: Bid interpretation, scope coverage, risk assessment |
| 24 | |
| 25 | ## Required Inputs |
| 26 | |
| 27 | 1. Tabulated bids (from /bid-tabulator or equivalent) |
| 28 | 2. Relevant specification sections |
| 29 | 3. Relevant drawing sheets (Claude reviews via vision) |
| 30 | 4. Scope context (from user dialogue) |
| 31 | |
| 32 | Optional: bid form/ITB, schedule, owner requirements, budget estimate, |
| 33 | past experience with bidders. |
| 34 | |
| 35 | --- |
| 36 | |
| 37 | ## Step 1: Scope Assembly |
| 38 | |
| 39 | **Complete before analyzing any bids.** |
| 40 | |
| 41 | ### Mode Detection |
| 42 | Check for `.construction/` directory at the project root. |
| 43 | - **AgentCM mode**: Read specs from `.construction/spec_text/{section}.txt`. Use sheet index from `.construction/index/sheet_index.yaml` for drawing identification. |
| 44 | - **Flat File mode**: Discover spec PDFs via `CLAUDE.md` paths or directory search (`Specifications/`, `Specification Sections/`). Read drawing sheets directly from PDF. |
| 45 | |
| 46 | ### 1a. Spec Review |
| 47 | Extract from each spec section: work included (Parts 1-3), work by |
| 48 | others (GC/NIC/Owner), related section cross-references, performance |
| 49 | requirements, coordination and temporary requirements. |
| 50 | |
| 51 | ### 1b. Drawing Review |
| 52 | Load `references/drawing-review.md` for guidance on what to look for |
| 53 | per drawing type. Vision-read key sheets to identify scope items, |
| 54 | conditions, and quantities not apparent from specs. Track drawing- |
| 55 | derived items separately — they differentiate thorough bidders. |
| 56 | Offload reference after completing drawing review. |
| 57 | |
| 58 | ### 1c. User Dialogue |
| 59 | Ask targeted questions to fill gaps documents can't answer. Do not |
| 60 | dump a questionnaire — ask conversationally, skip what you already |
| 61 | know. |
| 62 | |
| 63 | **Always ask:** package definition (which specs/drawings), GC-provided |
| 64 | items, bid count and format, drawing confirmation if provided. |
| 65 | |
| 66 | **Ask when relevant:** multi-trade splits, alternates/allowances, |
| 67 | qualification requirements, budget reference, schedule constraints. |
| 68 | |
| 69 | Confirm assembled scope with user before proceeding. |
| 70 | |
| 71 | ### 1d. Build Scope Baseline |
| 72 | Produce internal baseline document: items in sub scope (with source), |
| 73 | drawing-identified scope, GC/owner exclusions, allowances, alternates, |
| 74 | qualifications, schedule constraints. |
| 75 | |
| 76 | --- |
| 77 | |
| 78 | ## Step 2: Bid Analysis |
| 79 | |
| 80 | Load `references/buyout-domain.md` for domain knowledge on bid |
| 81 | language interpretation, common scope splits, red flags, trade- |
| 82 | specific evaluation notes, and non-price factors. Keep loaded |
| 83 | through Steps 2a-2d, then offload. |
| 84 | |
| 85 | ### 2a. Normalize Pricing |
| 86 | ``` |
| 87 | Adjusted Base = Submitted Base |
| 88 | + Excluded spec-required items |
| 89 | - Included GC-provided items |
| 90 | + Accepted alternates ± Allowance adjustments |
| 91 | ``` |
| 92 | Valuation order: other bidder's line item → budget estimate → professional |
| 93 | judgment (flagged) → qualitative risk if unknown. |
| 94 | Document every adjustment. No silent price changes. |
| 95 | Flag unit price outliers (>2x median). Calculate exposure ranges. |
| 96 | |
| 97 | ### 2b. Scope Coverage Mapping |
| 98 | Map each bidder against every scope baseline item using five statuses: |
| 99 | |
| 100 | | Status | Meaning | |
| 101 | |---|---| |
| 102 | | INCLUDED | Explicitly includes | |
| 103 | | EXCLUDED | Explicitly excludes | |
| 104 | | SILENT | Not addressed — **most dangerous** | |
| 105 | | PARTIAL | Includes with limitations | |
| 106 | | DIFFERENT | Offers substitution | |
| 107 | |
| 108 | Flag all SILENT items on spec-required scope. Drawing-derived SILENT |
| 109 | items suggest incomplete document review by that bidder. |
| 110 | |
| 111 | ### 2c. Exclusion Risk Scoring |
| 112 | |
| 113 | | Level | Criteria | |
| 114 | |---|---| |
| 115 | | CRITICAL | Spec-required, uncarried, >1% bid or >$5K | |
| 116 | | SIGNIFICANT | Implied by spec/practice, $2K-$5K | |
| 117 | | MINOR | Common GC-provided, <$2K | |
| 118 | | INFO | Clarification only, no cost impact | |
| 119 | |
| 120 | ### 2d. Qualification & Responsibility |
| 121 | Assess per bidder: bonding, insurance, licensing, experience, |
| 122 | capacity, DBE/MBE, bid completeness. |
| 123 | **Bust detection:* |