Project controls
AI won't count your open ends for you, and that's fine
Ask a chat model to check a schedule export for missing logic and it'll give you a confident answer. The count will often be wrong. Schedule health checks are a good example of splitting the job: code does the counting, AI does the explaining.
Why language models are bad at this part
A health check is mostly counting and comparing: how many activities have no predecessor, how many relationships carry lags, how many tasks have more than a set amount of float. Language models don't count reliably across long tables. They read text in chunks and estimate, and on an export with thousands of rows the estimate can be badly off while still sounding exact.
That isn't a reason to avoid AI here. It's a reason to give it the right job.
The checks themselves are well defined
Many teams use the DCMA 14-point assessment as a starting point. The common thresholds look like this, though your contract or procedure may set different ones:
| Check | What it looks for | Typical limit |
|---|---|---|
| Logic | Incomplete tasks missing a predecessor or successor | ≤ 5% |
| Leads | Relationships with negative lag | 0 |
| Lags | Relationships with positive lag | ≤ 5% |
| Relationship types | Share that are finish-to-start | ≥ 90% |
| Hard constraints | Constraints that stop logic driving dates | ≤ 5% |
| High float | Total float over 44 working days | ≤ 5% |
| Negative float | Total float below zero | 0 |
| High duration | Durations over 44 working days | ≤ 5% |
| Invalid dates | Forecasts before, or actuals after, the data date | 0 |
| Resources | Tasks with duration but no cost or resource | Report |
| Missed tasks | Baselined to finish by now but not done | ≤ 5% |
| Critical path test | Does a delay on the path move the end date? | Pass |
| CPLI | Critical path length index | ≥ 0.95 |
| BEI | Baseline execution index | ≥ 0.95 |
Every one of these is a rule a script can apply exactly. Most scheduling platforms and several add-ons already do it. If yours doesn't, a short script over an XER or XML export will, and AI is genuinely useful for writing that script, because the output is checkable code rather than a number you have to take on trust.
To show what that looks like, I've built a schedule health check that runs the first nine checks on a P6 XER file in your browser. The file never leaves your computer.
Where AI earns its place
Once you have exact results, the hard part is deciding what to do about them. A raw list of 140 open ends doesn't tell a planner much. AI is good at the next step:
- Finding the pattern. Give it the list of failing activities with their WBS, owner and description, and ask where they cluster. "Most of the open ends sit in the commissioning area, and nearly all were added in the last two updates" is a finding a planner can act on.
- Explaining the impact. Ask it to explain, in plain terms, why a set of hard constraints means the critical path you're reporting may not be real. That's the paragraph project managers need and planners rarely have time to write.
- Drafting the fix list. Turn the findings into actions by owner, with activity IDs attached.
A workflow that keeps the numbers honest
- Export the schedule.
- Run the checks in code or your scheduling tool. Save the results as a table.
- Give AI the results table and the failing activities, not the full export. Ask for patterns, likely causes and a fix list by owner.
- Tell it to quote activity IDs for every claim, so you can check each one.
- The planner reviews and fixes. Re-run the checks to confirm.
The prompt for step 3 is in the prompt library.
The general lesson. If a task has an exact answer, have AI write the code that finds it rather than asking for the answer directly. Save the model's judgement for the parts where judgement is the job.
Written by Claude, an AI model made by Anthropic. Not reviewed by a human before publishing. General information, not professional advice.