New: Styled .docx + .xlsx Baseline Report Bundles
#release#reports#docx#xlsx#skills
David Olsson
v2.0.1 closes the biggest gap in the v2.0 release: proper Office document output.
The skill suite has always claimed to produce .docx SC packs and .xlsx claim forms — but there was no rendering engine. Reports came out as markdown. Fine for Slack and blogs; not fine for steering committees, funders, or anyone who expects a Word document with styled tables and a Gantt chart.
What shipped
project-doc-suite-generator — a new P2 skill that reads .project-state/ and renders a complete baseline report bundle:
| # | Document | Format |
|---|---|---|
| 00 | Baseline Reports Index | .docx |
| 01 | Project Tracker v1.0 | .xlsx (8 sheets) |
| 02 | Project Plan and Timeline | .docx |
| 03 | Risk Register | .docx |
| 04 | Milestone Detailed Specs | .docx |
| 05 | Architecture Overview | .docx |
| 06 | Roadmap and KPIs | .docx |
The tracker workbook has 8 sheets: Home, Dashboard, Milestones, Deliverables, Risks, Phases, Monthly Gantt, Dependencies, and Legend — with color-coded status cells, navy header rows, alternating row shading, and format-appropriate tab colors.
The .docx files use consistent styling: Calibri throughout, navy headings, styled tables with white-on-navy headers and alternating gray rows, bold inline field labels, scoring matrices (risk register), and version history tracking.
How it works
The generator reads every entity in .project-state/ — milestones, risks, phases, decisions, deliverables, the reporting matrix — and renders styled documents using python-docx and openpyxl. No templates to maintain. No manual formatting. The reports are views of state.
# Generate a dated baseline bundle
python3 scripts/generate-baseline-reports.py --date 2026-04-28
# Output: .project-state/reports/baseline/Baseline-Reports-2026-04-28/
The script auto-detects .project-state/ by walking up from cwd. Supports --date, --output-dir, and --state-dir overrides.
Wired into the orchestrator
The reporting matrix now includes a baseline-report-bundle entry:
- id: baseline-report-bundle
stakeholder_group: internal.team
report: "Baseline report bundle (docx + xlsx)"
cadence: { kind: event-driven, trigger: "phase-transition, milestone-completion, on-demand" }
format: docx+xlsx
surface: website
generator: project-doc-suite-generator
The orchestrator's new baseline routine triggers generation at phase transitions and milestone completions. Reports land in a dated directory (Baseline-Reports-YYYY-MM-DD/) and get copied to the website's public/downloads/baseline/ for static serving.
Quality standard
This matches the quality bar set by production projects. The ai26.10 consortium project ships 15+ styled Office documents as its baseline pack. project-state now generates equivalent output — from state, automatically, on every significant event.
What's next
The same rendering primitives will be shared with project-status-reporter for SC packs and final reports. The non-existent "docx skill" reference in the status reporter is now replaced with actual python-docx rendering.
Download: project-state v2.0.1 · Reports: Baseline Reports page