Track construction delays systematically for contract extension requests and delay claims documentation. Classify delay type, track critical path impact vs. float absorption, calculate contract extension earned, and manage weather delay verification. Integrates with daily reports, RFIs, and change orders. Triggers: "delay", "schedule delay", "weather delay", "delay event", "time impact", "contract extension", "delay claim", "log a delay", "delay status", "delay report".
From foremanos-costnpx claudepluginhub mgoodman60/foreman-os-plugin --plugin foremanos-costThis skill uses the workspace's default tool permissions.
references/skill-detail.mdFetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Retrieves current documentation, API references, and code examples for libraries, frameworks, SDKs, CLIs, and services via Context7 CLI. Ideal for API syntax, configs, migrations, and setup queries.
Uses ctx7 CLI to fetch current library docs, manage AI coding skills (install/search/generate), and configure Context7 MCP for AI editors.
The delay-tracker skill provides systematic construction delay management for superintendents and project managers. It enables tracking delays from field observation through documentation, contract extension request, or delay claims preparation—ensuring contemporaneous records, proper classification, and defensible delay calculations per construction contract standards.
Delays are classified by type to enable proper allocation of responsibility and contractual remedies. Each type carries different excusability and compensability implications per standard AIA and AGC contract documents.
Definition: Delays caused by weather conditions exceeding contract thresholds; typically defined by specs/ACI standards.
Examples:
Typical Classification:
Threshold Source: specs-quality.json weather_thresholds (project-specific maximums/minimums)
Definition: Delays caused by owner-initiated changes, decisions, or directives.
Examples:
Typical Classification:
Claims Basis: These delays typically support time + cost claims (T&M documentation + daily report support)
Definition: Delays caused by design errors, incomplete plans, specification conflicts, or architect decisions.
Examples:
Typical Classification:
Claims Basis: Strong basis for time + cost recovery (design delay = architect liability)
Definition: Delays caused by unavailability, late delivery, or quality issues with materials or equipment.
Examples:
Typical Classification:
Key Distinction: If contractor selected the supplier and accepted delivery terms, contractor typically bears risk. If owner-specified supplier or owner approved extended lead time, contractor may have excusable delay argument.
Claims Basis: Limited — best if owner approved the supplier or extended lead time was owner-directed
Definition: Delays caused by subcontractor inability to perform (staffing, equipment failure, rework, poor productivity).
Examples:
Typical Classification:
Remedy: Contract allows GC to require sub replacement, accelerated work, or payment for cost of remediation
Claims Basis: No time extension. GC absorbs cost and seeks cost recovery from sub surety or direct payment.
Definition: Unforeseeable, uncontrollable events beyond any party's responsibility.
Examples:
Typical Classification:
Contract Clauses: "Acts of God", "Force Majeure", "Suspension of Work" clauses apply
Claims Basis: Time extension clear; cost recovery depends on specific contract language
Definition: Delays caused by regulatory authority actions, permit issuance delays, or required inspections.
Examples:
Typical Classification:
Claims Basis: Strong basis for time extension; cost claims depend on whether contractor must bear costs of remedial measures
Definition: Subsurface or site conditions materially different from those indicated in contract documents.
Examples:
Typical Classification:
Contract Clause: "Changed Conditions" or "Differing Site Conditions" (DSC)
Claims Basis: Strongest basis for time + cost claims if properly documented with contemporaneous daily reports
Excusability determines eligibility for time extension (not cost recovery). This matrix applies standard AIA/AGC contract interpretation:
| Delay Type | Excusable | Reason |
|---|---|---|
| Weather | YES | Beyond contractor control; standard in all contracts |
| Owner-Directed | YES | Owner responsibility; owner controls project decisions |
| Design/Spec Issues | YES | Architect responsibility; contractor not responsible for design adequacy |
| Material Delays | CONDITIONAL | Excusable if beyond contractor's control (owner-specified supplier, approved extended lead time); non-excusable if contractor selected supplier and accepted delivery terms |
| Sub Performance | NO | Contractor responsible for sub performance; contractor must manage/replace subs |
| Force Majeure | YES | Explicitly uncontrollable; standard force majeure clause |
| Permit/Regulatory | YES | Government authority action beyond contractor control |
| Differing Site Conditions | YES | Expressly provided in "Changed Conditions" clause |
| Concurrent Delays (Contractor + Owner) | PARTIAL | Time extension limited to excusable portion; non-excusable delays don't extend schedule |
Compensability determines eligibility for cost recovery (in addition to time extension):
| Delay Type | Compensable | Cost Recovery Basis |
|---|---|---|
| Weather | NO | Standard risk allocation; contractor must budget for normal weather |
| Owner-Directed | YES | Cost + overhead + profit + extended general conditions |
| Design/Spec Issues | YES | Cost + overhead + profit; architect/owner liability |
| Material Delays | CONDITIONAL | YES if owner-specified supplier or approved extended lead time; NO if contractor's supply chain risk |
| Sub Performance | NO | Contractor absorbs cost; liability against sub surety |
| Force Majeure | CONDITIONAL | YES for cost to suspend/resume; may include cost of remediation depending on contract language |
| Permit/Regulatory | YES | Contractor entitled to cost recovery for remedial measures/compliance |
| Differing Site Conditions | YES | Cost recovery explicitly provided in "Changed Conditions" clause |
Key Principle: Time extensions and cost recovery are separate. A delay can be:
Delay impact on project completion depends on whether the delay consumed project float or directly extended the critical path. This analysis is essential for contract extension calculations.
Critical Path = longest sequence of activities from project start to finish; any delay on this path extends overall project completion. Activities on the critical path have zero float.
Float (or slack) = amount of time an activity can slip without delaying project completion. Off-critical-path activities have positive float.
Situation: Activity on non-critical path is delayed
Critical Path Duration: 150 days (unchanged)
Project Completion Impact: No change
Example:
- Interior finish trim work (non-critical) delayed 5 days
- Critical path: structural → MEP rough-in → MEP finish → paint → flooring
- Trim work has 8 days of float; 5-day delay consumes 3 days of available float
- Result: NO time extension earned (float absorbed the delay)
Delay Log Entry:
"calendar_days": 5,
"float_consumed_days": 5,
"extension_days_earned": 0,
"critical_path_impact": "absorbed_float"
Situation: Activity on critical path is delayed
Critical Path Duration: 150 → 157 days (extended 7 days)
Project Completion Impact: 7-day extension earned
Example:
- Weather delays concrete pour (critical activity) 7 days
- Critical path: structural → MEP rough-in → MEP finish → paint → flooring
- Concrete is critical; no float available
- Result: 7-day time extension earned; project completion moves from 150 to 157 days
Delay Log Entry:
"calendar_days": 7,
"float_consumed_days": 0,
"extension_days_earned": 7,
"critical_path_impact": "extended_completion"
Situation: Activity delays beyond available float
Critical Path Duration: 150 → 154 days (extended 4 days)
Project Completion Impact: 4-day extension (out of 8-day delay)
Example:
- Sub performance issue delays MEP rough-in 8 days
- MEP rough-in has 4 days of float (scheduled 15 days, critical path needs 11)
- Delay consumes 4 days float, extends critical path 4 days
- Result: 4-day time extension earned; 4 days absorbed by float cushion
Delay Log Entry:
"calendar_days": 8,
"float_consumed_days": 4,
"extension_days_earned": 4,
"critical_path_impact": "partial"
Step 1: Load Baseline Schedule
schedule.json baseline schedule with activities, durations, dependencies, and float valuesStep 2: Determine Delay Impact on Activities For each delayed activity:
Step 3: Calculate Float Consumption
Float Consumed = MIN(Delay Days, Available Float)
If delay is 5 days and activity has 8 days of float:
If delay is 12 days and activity has 4 days of float:
Step 4: Determine Critical Path Impact Update baseline schedule with actual activity dates and recalculate critical path:
Step 5: Concurrent Delay Identification Critical: If multiple delays overlap, assess whether they are on the same path:
Scenario A: Sequential Delays (different paths)
Path 1: Weather delays concrete 5 days (has 2 days float) → 3-day extension
Path 2: Sub delay on MEP 4 days (has 6 days float) → 0-day extension
Total Extension: 3 days (weather delay alone extends project)
Scenario B: Concurrent Delays (same critical path)
Delay 1: Owner decision delays MEP start 7 days (critical path)
Delay 2: Supply delay affects MEP scope 5 days (overlaps owner delay)
Result: Delays overlap; total extension is MAX(7, 5) = 7 days, NOT 12 days
(Concurrent delays don't stack; use longest delay impact)
Delay Log Entry for Concurrent Scenario:
"concurrent_delays": ["DELAY-001", "DELAY-002"],
"extension_days_earned": 7 (not 12)
"notes": "Delays overlap 2026-02-20 to 2026-02-25. Total extension is 7 days (maximum of concurrent impacts)."
Key Rule: When delays overlap on the same critical path, the extension is the maximum delay impact, not the sum. Contract extension only extends once, not multiple times for concurrent delays.
Required fields for critical path analysis:
{
"critical_path_impact": "[extended_completion|absorbed_float|partial]",
"float_consumed_days": "[number]",
"extension_days_earned": "[number]",
"concurrent_delays": ["[DELAY-NNN if overlapping]"],
"original_completion_date": "2026-07-29",
"revised_completion_date": "[recalculated from schedule]",
"schedule_analysis_performed": true,
"notes": "[description of critical path analysis, including which activities affected]"
}
When project intelligence is loaded, auto-enrich delay entries with schedule impact analysis, weather verification, cost calculations, and historical context from project data files.
Automatically assess whether a delay extends the critical path or absorbs float:
schedule.json → critical_path[] → when a delay affects an activity, check if it is on the critical path (zero float) vs. has float to absorbextension_days_earned = MAX(0, delay_days - available_float)critical_path_impact, float_consumed_days, and extension_days_earnedVerify reported weather delays against contractual thresholds:
specs-quality.json → weather_thresholds[] → for the affected work type, pull the specific temperature/wind/rain thresholddaily-report-data.json → weather records for the delay periodBuild defensible weather documentation from daily reports:
daily-report-data.json → filter by date range of the delay → extract weather observations (temperature, precipitation, wind)Calculate the financial impact of each delay:
cost-data.json → pull general conditions daily rate (site supervision, equipment rental, temporary facilities)labor-tracking.json → identify crews on standby during delay → add standby labor costSurface prior delays with same cause type for cumulative impact:
delay-log.json → delay_events[] → filter by matching delay type → surface prior delays with same causeShow remaining float context for the affected activity:
schedule.json → for the affected activity, pull total float, free float, and predecessor/successor relationshipsExtended reference: Detailed examples, templates, scoring rubrics, and best practices are in
references/skill-detail.md.