<!-- STUB: Canonical source is foremanos-intel/skills/quantitative-intelligence/SKILL.md. Run sync-stubs.sh to update. Do NOT edit directly. -->
From foremanos-planningnpx claudepluginhub mgoodman60/foreman-os-plugin --plugin foremanos-planningThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Facilitates interactive brainstorming sessions using diverse creative techniques and ideation methods. Activates when users say 'help me brainstorm' or 'help me ideate'.
A calculation bridge that connects all measurement sources to the project intelligence data store, with a complete cross-sheet reference index enabling multi-page calculations and spatial correlations.
plans-spatial.json with source attribution for downstream use by reports, dashboards, and briefsWhen the same measurement exists from multiple sources, use the highest-priority source and note others as validation:
| Priority | Source | Accuracy | When Available |
|---|---|---|---|
| 1 (highest) | DXF geometry | Exact coordinates | .dxf files processed through Phase 6 parse_dxf.py |
| 2 | Visual analysis | ±5-10% | Plan sheet images processed through Phase 7 visual_plan_analyzer.py |
| 3 | Takeoff measurement | ±2-5% (calibrated) | Scale-calibrated measurements from construction-takeoff skill |
| 4 (lowest) | Text extraction | Varies | Values parsed from PDF text, notes, schedules |
Discrepancy Rule: When any two sources disagree by >10%, flag for review. The superintendent resolves discrepancies — Claude does not auto-resolve.
For plan-based quantity extraction, the construction-takeoff Cowork skill provides an alternative or complementary workflow. When a takeoff is performed using that skill, its calibrated measurements feed directly into the Data Source Priority system at Priority Level 3. If the construction-takeoff skill detects quantities that differ from DXF or visual analysis results by >10%, it triggers the discrepancy flag for superintendent review. This integration enables both tools to work together: quantitative-intelligence for cross-sheet assembly chains and derived calculations, and construction-takeoff for focused material-by-material measurement and cost rollups.
The cowork platform's construction-takeoff skill provides quantity takeoff data as a Priority 3 source (after plan extraction and manual override).
Data flow:
construction-takeoff (cowork skill)
→ takeoff results (area, linear, count, volume by element)
→ quantitative-intelligence cross-verification
→ plans-spatial.json quantities (if validated)
When to use construction-takeoff data:
Integration rules:
source: "construction-takeoff", takeoff_id: "CT-###"Limitations:
Assembly chains depend on a cross-sheet reference index stored in plans-spatial.json → sheet_cross_references. This index is built automatically during document processing (Pass 8 of the visual pipeline / Pass 4D of Claude Vision extraction) and contains:
drawing_index — Every sheet in the set with number, title, discipline, type, revisiondetail_callouts — Section cuts, detail callouts, elevation markers linking source sheets to target viewsschedule_references — Door/window/equipment marks linking plan sheets to schedule sheetsspec_references — Spec section callouts from drawing notesassembly_chains — Pre-built chains linking elements across sheetsWhen building assembly chains, always check sheet_cross_references.detail_callouts first to find which sheets are linked. This is faster and more reliable than searching through all sheets for related data.
Orphan Reference Check: After building chains, verify that every target sheet in the callout index exists in the drawing index. Missing targets may indicate sheets not yet processed or not included in the plan set.
An assembly chain links every piece of information about a single construction element across all sheets where it appears. Chains are the foundation for multi-page calculations.
Each chain has:
| Chain Type | Typical Links | Calculates |
|---|---|---|
| Footing | Foundation plan → footing detail → structural notes → spec | Volume (CY), rebar weight (lbs), form area (SF) |
| Wall | Floor plan (length) → building section (height) → wall type legend (assembly) → spec | Total LF, total SF, GWB SF, insulation SF, stud count |
| Room | Floor plan (boundary) → finish schedule (materials) → RCP (ceiling) → spec | Area SF, perimeter LF, wall SF, ceiling SF, flooring SF |
| SOG | Floor plan (area) → structural notes (thickness) → spec (concrete) | Area SF, volume CY, vapor barrier SF, rebar/WWF qty |
| Roof | Roof plan (area) → building section (slope/assembly) → spec (roofing) | Area SF (flat), area SF (sloped), insulation SF |
| PEMB column | PEMB reaction drawing → foundation plan → anchor bolt layout → erection plan | Reaction loads, anchor bolt spec, tributary area |
| Pipe run | Plumbing plan sheet 1 + sheet 2 + ... → riser diagram → spec | Total LF by size, fitting count, hanger count |
| Equipment | MEP plan (location) → equipment schedule (specs) → spec (requirements) | Count, capacity, electrical requirements, clearances |
When /process-docs processes RFI responses, submittal approvals, or change orders that reference specific plan elements:
needs_verification: trueneeds_verification are rebuilt firstFrom structural details — DXF polylines provide exact footing outlines; visual dimensions provide depth from structural notes.
| Element | Formula | Sources |
|---|---|---|
| Footings | L × W × D per footing × count | Foundation plan + footing detail |
| SOG | Area × thickness | Floor plan + structural notes |
| Grade beams | L × W × D | Foundation plan + detail |
| Piers | π × r² × D or L × W × D | Foundation plan + detail |
| Walls | L × H × T | Floor plan + building section |
| Curbs | L × W × H | Site plan + detail |
Always add waste factor: 5% for formed elements, 10% for footings (over-excavation), 3% for SOG.
From DXF closed polylines (exact) or visual measurements (approximate) or dimension annotations on plans.
Aggregate individual items into division totals:
Total SF of each flooring material from finish schedule + room areas + visual zone detection:
Total fixture/device counts from visual detection, validated against schedule counts:
When the morning brief mentions today's work areas, include relevant quantities:
When daily reports reference work completed, enable percentage calculations:
When generating lookahead schedules, include material quantities for upcoming activities:
Quantity summary section showing:
plans-spatial.json quantities and sheet_cross_referencesWhen the superintendent asks a quantity question:
The same data point often appears on multiple sheets. This is intentional — construction documents are redundant by design. Use this redundancy to verify accuracy and build confidence in extracted values.
Every critical measurement should be confirmed from at least two independent sources. When two sources agree, confidence is HIGH. When they disagree, flag for review — one of them is wrong (or the drawings have a coordination error the super needs to know about).
| Data Point | Primary Source | Verification Source(s) | How to Check |
|---|---|---|---|
| Pipe length | Plan view (measured centerline) | Profile view (station-to-station distances) | Plan LF should match profile station difference |
| Pipe size | Plan view (label on pipe) | Profile view (pipe schedule), Plumbing schedule | All three should match |
| Pipe invert elevation | Profile view (invert table) | Plan view (spot elevation at manholes) | Profile inverts should match plan spot elevations |
| Footing size | Foundation plan (dimensions) | Footing detail (cross-section dims) | Plan L×W should match detail L×W; detail adds depth |
| Concrete strength | Structural general notes | Spec Section 03 30 00 | Must match — if not, spec governs per most contracts |
| Room area | Floor plan (scaled or dimensioned) | Finish schedule (if area column exists) | Should match within 5% |
| Door size | Door schedule | Door detail (if exists) | Must match — schedule is authoritative |
| Equipment capacity | Equipment schedule | Equipment detail/spec sheet | Must match — schedule is design intent |
| Building dimensions | Floor plan outer dimension string | Site plan building footprint | Must match |
| Finish floor elevation | Architectural floor plan (FFE) | Civil grading plan (pad + slab thickness) | Pad elev + slab thickness should = FFE |
| Ceiling height | Room finish schedule | Building section (floor-to-ceiling dim) | Must match |
| Grid spacing | Foundation plan (dimension strings) | Framing plan (dimension strings) | Must match exactly — this is the structural skeleton |
| Slab thickness | Structural notes (typical thickness) | Building section (shown in section) | Must match |
| Rebar size/spacing | Structural detail (shown in section) | Structural notes (listed by element) | Must match |
| Wall assembly | Wall type legend/schedule | Building section (shown in section) | Layers and thickness must match |
Grading plans are a special case because existing and proposed grades are always on separate sheets (or separate line types on the same sheet):
Verification formula:
FFE (Arch) = Pad Elevation (Civil) + Subbase Thickness + Slab Thickness
If this doesn't check out, there's a coordination error between civil and architectural.
Dimension strings contain built-in cross-checks:
|←— 12'-0" —→|←— 30'-0" —→|←— 30'-0" —→|←— 12'-0" —→|
|←————————————————— 84'-0" ————————————————————————→|
Check: Do the individual dimensions sum to the overall dimension?
If they don't match, the drawings have an error. Flag it — this is exactly the kind of thing a superintendent needs to catch before construction.
After cross-verification, assign confidence based on how many sources agree:
| Sources Checked | Agreement | Confidence Level |
|---|---|---|
| 3+ sources, all agree | Full agreement | VERIFIED — high confidence |
| 2 sources, agree | Agreement | CONFIRMED — good confidence |
| 2 sources, within 5% | Minor variance | LIKELY CORRECT — acceptable for estimation |
| 2 sources, 5-10% apart | Moderate variance | CHECK — may be rounding or scale measurement error |
| 2 sources, >10% apart | Major discrepancy | DISCREPANCY — flag for superintendent review |
| 1 source only | No verification | UNVERIFIED — use with caution, note in output |
When quantity calculations flag discrepancies (>10% variance between sources), the superintendent must resolve them. Without resolution tracking, discrepancies re-appear on every calculation run.
plans-spatial.json → discrepancy_log[]{
"discrepancy_id": "DISC-001",
"element": "Footing F1",
"quantity_type": "concrete_volume",
"source_values": {
"plan_calculation": "12.5 CY",
"schedule_quantity": "10.0 CY",
"takeoff_quantity": "11.8 CY"
},
"variance_percent": 25,
"resolved_value": "12.5 CY",
"resolution_rationale": "Plan calculation includes haunch per structural detail S-5.2; schedule quantity was from preliminary estimate",
"resolved_by": "Superintendent",
"resolution_date": "2026-03-15",
"downstream_updates": [
"cost-data.json: Budget line 03-CONC updated",
"procurement-log.json: PO-042 quantity confirmed"
]
}
On subsequent calculation runs, check plans-spatial.json → discrepancy_log[] before flagging:
discrepancy_id matches a previous flag AND resolved_value exists → use resolved value, do NOT re-flagExtended reference: Detailed examples, templates, scoring rubrics, and best practices are in
references/skill-detail.md.