Issue #3586510: Add sprint-stats skill + reports script

Resolves #3586510.

Summary

Adds a sprint-stats skill + runnable script for generating per-sprint statistics reports for AI Marketing Initiative milestones.

  • skills/sprint-stats/SKILL.md — documents prerequisites, State buckets, the best-effort Developer / Responsible-Person heuristic, and Refinement notes flagging known limitations (drupalbot label-automation noise, assignee ≠ doer).
  • scripts/run-sprint-stats.sh./scripts/run-sprint-stats.sh <milestone-iid> fetches issues + state-label events from drupalcode.org and writes a report in .md (always), .html (if python3-markdown-it is installed), and .pdf (if a Chromium-class browser is also on $PATH). HTML/PDF apply the Drupal.org bluecheese theme: NotoSans + ZTGatha fonts, navy header banner with Drupal shield + wordmark, and brand colours on tables/headings. Brand assets are cached locally so headless Chrome doesn't need network access at PDF-render time.
  • .gitignore excludes /reports/ — generated artefacts are reproducible from the script and shouldn't churn the repo history.

How to test

# Generate Sprint 2's report:
./scripts/run-sprint-stats.sh 2

# Inspect:
ls reports/
xdg-open reports/sprint-2-stats.pdf

⚠️ First-draft caveat. Both the report layout and the Developer / Responsible Person column are first-pass. The Developer column is heuristic-based and will be wrong in some cases (especially drupalbot-attributed rows from issue auto-creation, and (unassigned) rows). The plan is to replace the heuristic with a dedicated Responsible person field on AI Marketing Initiative issues — see Refinement notes in SKILL.md.


Drafted with the assistance of AI (Claude Code / Opus 4.7).

Merge request reports

Loading