Built on Claude.
The Schedule Health Report and the Forensic Schedule Analysis toolkit are the products. This page is the technical depth underneath them, written for the prospects, counsel, and engineers who want to know what's actually running. CPP is built natively on Anthropic's Claude Skills, Model Context Protocol, and Claude Code: twenty-one production skills, thirteen MCP tools, and multi-step analyses on real XER files run by agents under the analyst.
The engine is the easy part. The hard part is reading what it tells you. That part still runs through the analyst.
Three pieces of Anthropic's stack. All three in production.
CPP is a forensic analyst who built his own toolkit and made it callable by an AI agent: the skills hold the methods, the MCP server exposes the tools, and Claude Code runs the multi-step work under the analyst.
Claude Skills
Anthropic's framework, released in late 2025, for packaging specialized AI capabilities. Each Skill bundles executable code, methodology references, and trigger documentation that Claude loads only when the task demands it.
CPP runs twenty-one of them in production: forensic delay methods, schedule checks, risk, resources and reporting, written by a working analyst.
MCP: Model Context Protocol
An open standard, also from Anthropic, that lets any AI assistant call external tools. Once a server is published, Claude Desktop, claude.ai, Cursor, Cline, and any other MCP-aware client can use it.
CPP's engine is a public MCP server at mcp.criticalpathpartners.ca, which exposes thirteen forensic tools with no signup required.
Claude Code
Anthropic's agent for multi-step work. It is the layer where Claude decides which skill or tool to run next, reads what came back, and sequences the analysis instead of running one shot.
In engagement work, Claude Code agents run the chains that take several skills. The delay-analysis skill is one: it runs the windows analysis, then the claim documents, then a QC pass. The analyst reviews each result and signs the work.
Forensic delay methods, schedule checks and reporting, each packaged as a Claude Skill.
Each Skill is a self-contained capability: code, methodology references, trigger documentation. Claude loads only the ones the task requires. The nine marked MCP are also exposed through the hosted server, as thirteen individual tools; the rest produce HTML, DOCX, XLSX and PDF deliverables and run inside engagement work.
Canonical Primavera P6 XER parser and generator, and the parser most of the other skills import. Reads every table and field, decodes calendars (work week and holiday exceptions), builds the WBS, resource and predecessor and successor maps, and prints a summary with data-quality checks. Also writes XER files. Stated limit: a calendar it cannot decode is flagged, and that flag has to be reported before any date is published.
Schedule Health Dashboard from a baseline XER and a current XER. One static, self-contained HTML: grade, the DCMA-14 grid, every failed-activity register in full, the baseline comparison and the measured exposure figures (finish drift, CPLI, BEI). A provenance manifest with the SHA-256 of both inputs and of the report is written beside it. Stated limit: it runs no CPM pass. Dates and float are read from the XER as submitted, and the result is an automated screening.
The diagnostic for "is my critical path actually right." Nine checks on a parsed P6 schedule: critical path identification, constraint-driven criticality, open ends, relationship quality, lags, out-of-sequence progress, near-critical paths, logic continuity to completion and constraint saturation. A confidence score from 0 to 100, a prioritized fix list and an HTML dashboard. Stated limit: the scores read the float, constraints and logic as stored in the file.
Logic-trace driver chain explorer. Answers "why is this activity critical" by walking driving predecessors back to project start, and "what does this drive" forward to finish. Traces multiple parallel critical paths and near-critical chains, and flags a chain held by a hard constraint (AACE 49R-06). HTML dashboard, CSV trace, JSON. Stated limit: every date, float and driver comes from one pass of CPP's own engine, not from the dates stored in the XER, so figures can differ from a P6 print of a file that was not rescheduled after its last edit.
Stand-alone forensic delay report using windows analysis (AACE MIP 3.3, contemporaneous as-is) across a baseline XER and its updates in date order. HTML dashboard, DOCX executive report, TXT narrative, per-window and per-activity CSVs. Contractor perspective against owner. Stated limit: a schedule does not say whose fault a slip was. Responsible party and cause are left as marked blanks for the analyst to fill from the record.
Collapsed As-Built / But-For analysis (AACE MIP 3.8: modelled, subtractive, single simulation). From an as-built XER and the analyst's delay events with their impact durations, it removes each event, re-runs the forward pass and reports the but-for finish. HTML dashboard, TXT report, event CSV, and a dual-method cross-check against a windows analysis result. Stated limit: completed work stays at its actual dates, so delay sitting on completed work is reported as locked, with 0 working days, and that 0 is not a finding of no impact.
Prospective fragnet insertion (AACE RP 52R-06 / MIP 3.7). Inserts the analyst's delay fragnet into the CPM network of a P6 XER, re-runs the forward and backward pass and measures the move in the completion date. TXT report, activity-level impact CSV, optional HTML dashboard. Stated limit: the fragnet and its liability label are the analyst's input. The skill measures the fragnet it is given and does not judge whether it represents the event.
Forensic workbench. One folder of mixed evidence (XER chain plus MSG / PDF / DOCX / XLSX correspondence) becomes an evidence ledger, a chain-diff manipulation log, a rolling baseline XER, a trust score, recurring actors drawn from the documents, and a slip-to-evidence cross-reference. Stated limit: the trust score is a signal, not a verdict, the slip-to-evidence pairing is correlation, not causation, and image-only PDFs are not read.
Full-pipeline owner-submission EOT umbrella. Chains forensic-delay-analysis and claims-preparation, then adds a component completion schedule and an owner-submission QC report with a pass or fail gate. Produces the whole submission set in one call. Stated limit: the QC blocks the package until every slipped day has a responsible party, and that attribution has to come from the analyst's evidence.
Turns a finished windows analysis and the analyst's delay events into claim documents: cover letter and one exhibit per event (DOCX), forensic schedule workbook (XLSX), supporting documents index, mitigation report and a QC report. Stated limit: it packages and does not recompute. The claimed working days and the contract clause text are the analyst's.
Defence analysis from the receiving party's perspective. From a windows analysis result and the opposing party's claim events, it tests each event against ten defence theories: no critical path impact, concurrent delay, pacing, no notice, failure to mitigate, causation gap, float ownership, scope-change disguise, self-caused acceleration and LD cap. Rebuttal letter (DOCX), defence workbook (XLSX), HTML dashboard. Stated limit: the verdicts are method-based screens and the conceded-days figure is a starting position. Adjudication is for the trier of fact.
Impacted As-Planned analysis (AACE MIP 3.6: modelled, additive, single base; SCL Protocol §11.6(a)). Delay fragnets go into an unprogressed baseline XER to screen a claim or to test an opposing expert's version. HTML dashboard, TXT narrative, CSVs. Stated limit: the result is theoretical. Actual progress is never consulted, so it screens and rebuts and is never the primary entitlement method.
Concurrent delay analysis and apportionment (AACE RP 29R-03 §4.2; SCL Protocol §10). From the analyst's delay-event register it builds a day-by-day ledger of which party had a live critical delay and computes four approaches to concurrent delay side by side, with time apportionment shown as a scenario only. HTML dashboard, TXT report, CSVs. Stated limit: it never selects a doctrine. That is a legal question.
Constructive acceleration claim test, from the contractor's side. The analyst's claim record is tested against five elements: excusable delay, timely request, denial, compulsion, and actual acceleration at added cost. Acceleration is addressed in SCL Protocol 2nd ed. §16. Claim narrative and notice letter (DOCX), evidence workbook (XLSX), HTML dashboard. Stated limit: one failed element defeats the claim, and the skill tests the evidence it is given. It does not originate evidence or quantify cost.
What one schedule can support when the records that prove cause and cost are missing. From a single as-built XER, CPP's schedule-only playbook reports which forensic methods the file supports, what the schedule alone proves and how strong each causation link is. One HTML assessment. Stated limit: a schedule proves timing and sequence, never cause or cost.
Monte Carlo schedule risk analysis on a P6 XER. P10 / P50 / P80 / P90 completion dates, a sensitivity tornado and a baseline-against-mitigated scenario comparison. HTML dashboard, DOCX report, TXT, CSVs, and a summary JSON that claims-preparation reads. Each run carries a QRAMM-aligned maturity reading informed by AACE 122R-22. It is a reading of one run, not a QRAMM score. Stated limit: the three-point duration ranges are the analyst's input, and while each duration is read on its activity's own calendar, the dates are project-calendar dates, because the pass does not step each activity through its own calendar's days off. Where calendars mix, the percentile dates are approximate.
Per-resource time-phased usage from a P6 XER at day, week or month granularity. Peak headcount, average crew size, overallocation periods, trade-stacking windows, an aggregate workforce histogram, and a planned-against-actual overlay when a baseline XER is supplied. HTML dashboard, XLSX, CSV. Stated limit: it stops at the labour curves and does not attempt entitlement or damages. The 110% overallocation test and the trade-stacking test are conventions, not published thresholds.
Measured mile loss-of-productivity analysis (AACE RP 25R-03). From a resource-loaded XER or a dataset of units and labour hours, it compares each trade's productivity in the analyst's unimpacted period against the impacted periods and reports lost labour hours. HTML dashboard and XLSX. Stated limit: the analyst chooses the measured mile, and the skill stops at lost hours. It does not price them.
Multi-project rollup. Aggregates 5–50 monthly progress reports into one self-contained HTML: RAG status, SPI / CPI rollup, finish-drift heatmap, every project ranked by risk, aggregate critical-path roll-up. Also writes a CSV summary. Stated limit: without cost loading the SPI shown is a schedule ratio and is labelled so. The risk-score weights are a practitioner convention, not a published standard.
Monthly progress report: HTML dashboard plus DOCX executive report. Four-axis snapshot: variance against baseline, progress this period, upcoming 30-day work, current overall status. Takes the current XER, plus an optional baseline and prior-period XER. Stated limit: without a baseline the variance panels carry a no-baseline banner, and without cost loading the performance figure is a schedule ratio, labelled as that and not as SPI.
Standardized 3-week lookahead workbook from a P6 XER. Four tabs: overview plus three week-by-week breakouts. Activities new since last week's workbook are flagged when that workbook is supplied. Format is locked. Stated limit: it is a read-only view of the schedule, and the week windows do not consult the P6 calendar for holidays.
Why the tools are built this way.
A forensic deliverable has usually been a static report: a PDF, a workbook, an email attachment. The reader can study it, but cannot question it or re-run it. A toolkit that an AI assistant can call lets the reader do both.
More construction lawyers, project managers and claims consultants now start their research in an AI assistant. When they do, a practice whose methods are wired in as MCP tools and Claude Skills can do the work in the conversation instead of only being named in it. A construction lawyer asking Claude to "run a DCMA-14 health check on this XER" gets the check itself, with its working shown.
The AI is the easy part. The hard part is writing the methodology so a tool can execute it correctly, defensibly, and without fabricating case citations, and that takes having actually written delay claims and carried them through negotiation, mediation and arbitration preparation. The forensic skills carry the disclosures, the heuristic gates, the conservation-rule attribution math, and the audit-trail discipline that comes from twenty-four years of doing the work.
That said: this page is the technical depth, not the product. If you're here to use the toolkit, the front doors are the Schedule Health Report (anyone, free, runs in your own browser) or the Forensic Schedule Analysis toolkit (thirteen MCP tools, connectable from any AI client).
Connect from your own Claude
Wire CPP's tools into your own Claude session in 30 seconds. JSON snippet, copy-paste, done. Same thirteen tools whether you use claude.ai in the browser or Claude Desktop.
The stack is open. The analyst is the part nobody automates.
Run the engine yourself. Browse the forensic toolkit. Or skip both and put a real claim in front of someone who's done the work.