weekly-report-generator
SKILL.md
周报生成器
从Git提交记录自动生成专业工作周报,支持单周/多周批量生成。
核心原则
- 主子分离:主智能体负责调度,子智能体负责实际生成
- 精简输出:只输出提交消息数组,不包含冗余信息
- 只读Git日志:禁止读取项目源代码文件
- 必须内容清洗:技术术语转换为业务语言(AI执行,不可跳过)
- 任务管理:使用 TodoWrite 工具创建任务清单,追踪每个周报的生成状态
快速开始
生成周报只需 2 个步骤:
Step 1: 运行编排脚本准备数据 → Step 2: 并行处理每个周报
Step 1: 运行编排脚本(准备数据)
python scripts/orchestrate_reports.py \
--paths "E:\项目1,E:\项目2" \
--time "本月" \
--output "E:\周报输出" \
--template "E:\模板.docx" \
--format docx \
--naming "第一周周报,第二周周报,第三周周报,第四周周报"
脚本自动完成:
- 解析时间表达式(本周/本月/2025-1-1-2025-1-31)
- 验证项目路径和输出路径
- 分析模板文件(识别需要补充的章节)
- 为每个周生成独立任务配置文件
- 生成二次确认信息和 Claude Code 调用说明
输出文件(位于 {输出路径}/tmp/):
time_result.json- 时间解析结果template_structure.json- 模板结构(如果提供模板)week_XX-task.json- 每个周的任务配置claude_instruction.md- Claude Code 调用说明
Step 2: 并行处理每个周报(AI 执行)
创建任务清单(必须):
# 使用 TodoWrite 工具创建任务清单
todos = [
{"content": "读取调用说明和参考文档", "status": "pending", "activeForm": "读取调用说明和参考文档"},
{"content": "为第1周启动子智能体", "status": "pending", "activeForm": "为第1周启动子智能体"},
{"content": "为第2周启动子智能体", "status": "pending", "activeForm": "为第2周启动子智能体"},
# ... 为每个周创建一个任务
{"content": "汇总所有结果并清理临时文件", "status": "pending", "activeForm": "汇总所有结果并清理临时文件"}
]
读取参考文档:
- 需要脚本参数:读取
references/script-api-reference.md查看详细参数
工作流程:
- 读取调用说明:
{输出路径}/tmp/claude_instruction.md(标记第一个任务为 in_progress) - 并行启动子智能体:使用 Task 工具为每个周启动独立的 general-purpose 子智能体
- 📘 调用方法:参考
references/workflow.md第 2.2 节的详细示例 - 在同一个响应中调用多次 Task 工具实现并行处理
- 为每个子任务标记状态(启动时 → in_progress,完成时 → completed)
- ⚠️ 重要:子智能体必须只返回简短的成功/失败状态,不要输出详细报告
- 📘 调用方法:参考
- 汇总结果:收集所有子任务的成功/失败状态(标记为 in_progress)
- 清理临时文件:删除成功的临时文件,保留失败的用于调试(标记为 completed)
⚠️ 子智能体输出规范(重要):
- ✅ 只返回简短状态:"✅ 第X周周报生成成功" 或 "❌ 第X周周报生成失败:[原因]"
- ❌ 不要输出详细的工作内容、数据统计、术语转换示例等
- ❌ 不要输出详细的执行步骤说明
- ✅ 严格按模板输出:
- 如果提供了模板(--template参数):只输出模板格式的周报文件
完整的工作流程和 Task 工具调用示例:📘 workflow.md
参考文档
📘 workflow.md
完整的工作流程指南,包含:
- 详细的 Step 2 执行步骤
- 子智能体任务提示模板(可直接复制使用)
- 临时文件结构和清理规则
📘 examples.md
常见使用场景示例:
- 示例1:生成本月周报(Markdown格式)
- 示例2:使用Word模板
- 示例3:批量生成多周周报
- 示例4:多项目汇总
📘 script-api-reference.md
Python 脚本详细调用参数和使用示例:
parse_time.py- 时间解析analyze_template.py- 模板分析get_git_logs.py- Git日志获取(精简模式)fill_template.py- 模板填充和导出orchestrate_reports.py- 编排所有步骤
参数说明
orchestrate_reports.py 参数
--paths(必须):项目路径列表,逗号分隔--time(必须):时间表达式- 相对时间:
本周、上周、本月、上月、本年、去年 - 绝对时间:
YYYY-MM-DD或YYYY-MM-DD-YYYY-MM-DD
- 相对时间:
--output(必须):输出目录路径--template(可选):模板文件路径(支持 .md 和 .docx)--format(可选,默认 md):输出格式(md或docx)--naming(可选):周报命名规则列表,逗号分隔- 推荐使用:为每个周报指定自定义文件名
- 示例:
--naming "华电第一周周报,华电第二周周报" - 命名规则数量必须与生成的周报数量一致
- 不提供时使用默认命名:
第X周周报.docx
时间表达式示例
| 表达式 | 说明 | 生成的周报 |
|---|---|---|
本周 |
当前周的周一到周五 | 1份 |
本月 |
本月1日到最后一日(按周划分) | 4-5份 |
2025-1-1-2025-1-31 |
指定时间范围 | 按周划分 |
2025-1-15 |
指定日期所在周 | 1份 |
常见问题
Q: 临时文件保存在哪里?
A: {输出路径}/tmp/ 目录,成功后自动清理
Weekly Installs
7
Repository
782042369/waibu…g-skillsGitHub Stars
2
First Seen
Jan 25, 2026
Security Audits
Installed on
codex6
gemini-cli6
opencode6
claude-code5
github-copilot5
amp5