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(ifpython3-markdown-itis 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..gitignoreexcludes/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 theDeveloper / Responsible Personcolumn are first-pass. The Developer column is heuristic-based and will be wrong in some cases (especiallydrupalbot-attributed rows from issue auto-creation, and(unassigned)rows). The plan is to replace the heuristic with a dedicatedResponsible personfield on AI Marketing Initiative issues — see Refinement notes inSKILL.md.
Drafted with the assistance of AI (Claude Code / Opus 4.7).