Compare two P6 schedule updates and list every date, duration, logic and float change with an AI-written script
A monthly update can move the finish date for reasons that never show up in the narrative: a shortened duration, a deleted tie, a new constraint, a calendar edit. Comparing two updates by scrolling through P6 side by side takes an afternoon. Export both updates as XER files, have Claude, ChatGPT or Codex write a short Python script that reads the two files and lists what changed activity by activity, and use the output to write the questions for the update review. Explaining why the dates moved, and any delay analysis, stays with the scheduler.
Scheduler · Planning & scheduling · Oracle Primavera P6 · Claude · ChatGPT · OpenAI Codex · pandas · Microsoft Excel
Content updated · Tool links listed below; vendor features and pricing change, so confirm with the vendor
Short answer
Use Claude, ChatGPT or OpenAI Codex: The AI writes a Python script that loads two XER updates, matches activities by Activity ID and writes one Excel tab per type of change with a summary, then turns the output into factual questions for the update review. A monthly update can move the finish date for reasons that never show up in the narrative: a shortened duration, a deleted tie, a new constraint, a calendar edit. Comparing two updates by scrolling through P6 side by side takes an afternoon. Export both updates as XER files, have Claude, ChatGPT or Codex write a short Python script that reads the two files and lists what changed activity by activity, and use the output to write the questions for the update review. Explaining why the dates moved, and any delay analysis, stays with the scheduler. A person still checks: a sample of results against P6, the hours-to-days conversion, and all critical path, narrative and delay judgments.
AI tie-in
Tool: Claude, ChatGPT or OpenAI Codex
The AI writes a Python script that loads two XER updates, matches activities by Activity ID and writes one Excel tab per type of change with a summary, then turns the output into factual questions for the update review.
Prompt 1
Here are the header rows (the table-name row and the field-name row only, no data) for the PROJECT, TASK, TASKPRED and CALENDAR tables from a Primavera P6 XER export [paste]. Write a commented Python script using pandas that loads those tables from two XER files, an earlier and a later update, matches activities by Activity ID, and writes an Excel workbook with one tab each for: added activities, deleted activities, start and finish changes, original and remaining duration changes, total float changes, changed or removed actual dates, relationships added, deleted or changed in type or lag, constraint changes and calendar assignment changes. Convert hours to days with each activity's calendar hours per day and print the conversion used. Add a summary tab with both data dates, both project finishes and counts per category. Use only values stored in the files, do not reschedule, and print anything you cannot parse.
Prompt 2
Here are the change tabs from comparing two schedule updates [paste]. Write a numbered list of factual questions for the update review meeting, one per notable change, such as a duration cut with no progress, a deleted relationship, a new constraint or a changed actual date. Quote activity IDs and values from the tables only. Do not say whether a delay is excusable or who caused it.
Human check: A sample of results against P6, the hours-to-days conversion, and all critical path, narrative and delay judgments.
The problem
Compare two P6 schedule updates and list every date, duration, logic and float change with an AI-written script. This is a common, time-consuming task for a scheduler.
What this workflow does
A monthly update can move the finish date for reasons that never show up in the narrative: a shortened duration, a deleted tie, a new constraint, a calendar edit. Comparing two updates by scrolling through P6 side by side takes an afternoon. Export both updates as XER files, have Claude, ChatGPT or Codex write a short Python script that reads the two files and lists what changed activity by activity, and use the output to write the questions for the update review. Explaining why the dates moved, and any delay analysis, stays with the scheduler.
How it works: AI drafts or analyzes. A person operates the tools, checks the work, and takes action.
Your checkpoint: A list of changes is not a delay analysis. It shows what moved, not why, who is responsible or whether time is owed. Check the script's results against P6 for a sample of activities, confirm the unit conversion, and leave the narrative, critical path judgment and any entitlement questions to the scheduler and the contract.
Before you start
- Access to the named tool; confirm license, version and cost with the vendor.
- A small, non-confidential sample to try the workflow on first.
- A qualified person to review the output before it is used.
Tools and access
Follow the steps
- Get both updates as XER exports (ask the scheduler, or export from P6 yourself after scheduling each one) and note each data date. Keep the original files read-only.
- XER is a tab-delimited text file in which each table starts with a table-name row and a field-name row. Paste only those header rows for the project, activity, relationship and calendar tables into Claude, ChatGPT or Codex, not the project data, and have it write a commented Python script that loads each table from both files.
- Have the script match activities by Activity ID and write one Excel tab per category: added and deleted activities, start and finish changes, original and remaining duration changes, total float changes, actual dates that changed or disappeared, relationships added, deleted or changed in type or lag, constraint changes and calendar assignment changes. It uses the dates and float stored in each file and does not reschedule anything.
- Durations and float are stored in hours in the export. Have the script convert them with each activity's calendar hours per day and print the conversion it used, then check a few activities against P6 by hand. P6's own Claim Digger, or another comparison tool you trust, makes a good second check.
- Add a summary tab: both data dates, both forecast finishes and the movement in calendar days, and counts per category, plus the activities that slipped most.
- Have Claude or ChatGPT turn the change tabs into a plain list of questions for the update meeting (for example: duration reduced with no progress recorded, relationship deleted on a near-critical path). Questions only, using only the script's output.
Try a small example
Replace the bracketed fields with your own project details. No tested sample run is published for this workflow yet.
Sample input
Fill in the bracketed [fields] in the text below with your project data.
Starter prompt
Here are the header rows (the table-name row and the field-name row only, no data) for the PROJECT, TASK, TASKPRED and CALENDAR tables from a Primavera P6 XER export [paste]. Write a commented Python script using pandas that loads those tables from two XER files, an earlier and a later update, matches activities by Activity ID, and writes an Excel workbook with one tab each for: added activities, deleted activities, start and finish changes, original and remaining duration changes, total float changes, changed or removed actual dates, relationships added, deleted or changed in type or lag, constraint changes and calendar assignment changes. Convert hours to days with each activity's calendar hours per day and print the conversion used. Add a summary tab with both data dates, both project finishes and counts per category. Use only values stored in the files, do not reschedule, and print anything you cannot parse.
Expected output
Not published yet. Treat any output as a draft and check it against the source documents.
Check the result
- Every value, citation or quantity traces back to a source document.
- Missing information is marked as missing, not filled in.
Limits and recovery
- A list of changes is not a delay analysis. It shows what moved, not why, who is responsible or whether time is owed. Check the script's results against P6 for a sample of activities, confirm the unit conversion, and leave the narrative, critical path judgment and any entitlement questions to the scheduler and the contract.
- Check your organization’s data policy before sharing project files with third-party tools.
Stop or switch when: The source cannot be verified, permissions are missing, or the result contains unsupported facts.
Frequently asked questions
How does AI help with this?
Claude, ChatGPT or OpenAI Codex: The AI writes a Python script that loads two XER updates, matches activities by Activity ID and writes one Excel tab per type of change with a summary, then turns the output into factual questions for the update review. A person still checks: A sample of results against P6, the hours-to-days conversion, and all critical path, narrative and delay judgments.
How do I compare two P6 schedule updates and list every date, duration, logic and float change with an AI-written script?
Get both updates as XER exports (ask the scheduler, or export from P6 yourself after scheduling each one) and note each data date. Keep the original files read-only. XER is a tab-delimited text file in which each table starts with a table-name row and a field-name row. Paste only those header rows for the project, activity, relationship and calendar tables into Claude, ChatGPT or Codex, not the project data, and have it write a commented Python script that loads each table from both files. Have the script match activities by Activity ID and write one Excel tab per category: added and deleted activities, start and finish changes, original and remaining duration changes, total float changes, actual dates that changed or disappeared, relationships added, deleted or changed in type or lag, constraint changes and calendar assignment changes. It uses the dates and float stored in each file and does not reschedule anything. The full step list is above.
Does this use an AI agent or regular software?
It is labeled AI assists: AI drafts or analyzes. A person operates the tools, checks the work, and takes action.
What tools do I need?
Oracle Primavera P6, Claude, ChatGPT, OpenAI Codex, pandas, Microsoft Excel. Confirm license, version and cost with the vendor, and try it on a small non-confidential sample first.
Has this workflow been tested?
Workflow guide · not independently tested. Written from vendor documentation and practitioner use. Labels apply to the steps described here, not every feature of a product. Links were checked when the page was written.
Evidence and maintenance
Written from vendor documentation and practitioner use. Labels apply to the steps described here, not every feature of a product. Links were checked when the page was written.