用途:收集多个 GitHub 仓库中 GitHub Actions 的 on.schedule cron 表达式,评估各工作流的资源密集度,把 UTC 时间换算为本地时区,并输出 Markdown 报告,帮助分散 CPU 密集型任务(如 Docker Compose、Testcontainers)。
主要能力:默认扫描已认证 gh 用户的所有仓库,也可用 --owner、--repo(可重复)、--local 指定范围;按启发式规则将工作流分为 high(Docker Compose、Testcontainers、services:、Kind/k3s、matrix 构建)、medium(Maven/Gradle 完整构建、Docker 镜像构建)、low(lint/format/validate 等);生成每小时运行直方图、按频率/星期分布、冲突(同一 UTC 小时有两个及以上计划任务)、重排建议;加 --queue-stats 可显示各 UTC 小时观测到的排队时间。
使用方式:运行 bash scripts/cron-schedule-planner.sh,常用变体如 --owner dboeckli --tz Europe/Zurich、--local ~/projects/referenzen、--repo dboeckli/ai-agent-skills --repo dboeckli/camel-first。其他选项:--limit(默认 200)、--out(默认 target/cron-schedule-overview.md)、--no-report、--top(默认 5)、--runs(默认 50)。
限制:脚本只读,绝不自动编辑工作流,建议仅在用户明确确认后以 diff 形式应用;重排建议为启发式,保留分钟和日期字段;cron 始终为 UTC,本地时间按当前日期计算,夏令时切换可能偏移一小时;--queue-stats 数据可能稀疏,因多数运行 startedAt 等于 createdAt,大间隔也可能来自审批、并发限制或手动运行。需已认证的 gh,否则改用 --local。分类细节见 references/classification-and-timezones.md。