Tips:安装到全局就成~~
地址: https://github.com/umlink/daily-report-skill
[我今天做了什么?,我这周做了什么?,我这个月做了什么?....]

Daily Report
程序员工作报告生成 Skill 。基于本地 Git 仓库的 commit 数据,自动生成中文工作日报、周报、季度总结、年度总结,并可推送到企业微信。
功能
- 多周期报告 — 日报、周报、季度总结、年度总结
- 自定义时间范围 — 支持指定任意起止日期
- 自动扫描 Git 仓库 — 递归发现工作目录下的所有 Git 项目
- Commit 智能分类 — 按 conventional-commit 类型自动归类(
feat、fix、refactor等) - 遗留变更检测 — 识别超过 N 天未提交的文件并单独提醒
- 企业微信推送 — 一键将报告发送到企业微信群
使用方式
在 Claude Code 中直接用自然语言触发:
生成日报
写周报
Q2 总结
年度总结
今天干了什么
推送日报到企业微信
Skill 会自动采集 Git 数据、分析归纳、生成 Markdown 报告。
配置说明
编辑 scripts/config.json:
{
"workspaceDirs": ["/Users/yourname/projects"],
"authorEmails": [],
"scan": {
"maxDepth": 4,
"maxRepos": 100
},
"report": {
"showBranch": false,
"showDate": true,
"staleMaxAge": 3
},
"wechatWork": {
"enabled": false,
"webhookUrl": "",
"mentionAll": false
}
}
配置项
字段 说明 默认值workspaceDirs
要扫描的目录列表,必填
[]
authorEmails
按邮箱过滤 commit ,留空则使用 git 全局 user.email
[]
scan.maxDepth
目录扫描深度
4
scan.maxRepos
最多扫描仓库数
100
ignore.dirs
扫描时跳过的目录名
node_modules 、.git 等
report.showBranch
报告中是否显示分支名
false
report.showDate
每条内容是否附加日期
true
report.staleMaxAge
未提交文件超过此天数视为"遗留变更",0 禁用
3
wechatWork.enabled
是否启用企业微信推送
false
wechatWork.webhookUrl
企业微信机器人 Webhook 地址
""
wechatWork.mentionAll
推送时是否 @所有人
false
工作原理
用户触发 → 采集 Git 数据( JS 脚本) → Claude 分析归纳 → 生成 Markdown 报告 → 可选推送企业微信
脚本负责事实采集( Git log 解析、仓库发现、遗留检测),Claude 负责分析归纳( commit 分类、内容合并、报告润色)。
报告类型
触发方式 周期 输出 "日报"、"今天干了什么" 日报 完成内容、问题修复、技术优化、进行中工作、遗留变更 "周报"、"这周做了什么" 周报 同上,按天合并归纳 "Q1/Q2/Q3/Q4"、"季度总结" 季度 重点项目与成果、问题与解决、技术优化与基建 "年度总结"、"今年做了什么" 年度 年度重点项目、技术成长与基建、问题与反思 "从 X 月到 Y 月" 自定义 根据时间跨度自动选择合适模板常见问题
问题 解决方法 找不到 git 命令 确认已安装 Git ,终端运行git --version 验证
WORKSPACE_REQUIRED
在 config.json 中配置 workspaceDirs,或使用 --workspace 参数
RISKY_WORKSPACE
不能扫描根目录(/、C:\),请指定具体项目文件夹
报告为空
检查指定时间范围内是否有 commit 记录
目录结构
daily-report/
├── SKILL.md # Skill 定义( Claude Code 读取)
├── README.md # 本文件
└── scripts/
├── config.json # 用户配置
└── daily-report.js # 数据采集与推送脚本