用 Agent Skill 自动生成工作周报 📅 2026/6/23 18:52:20 在 work-journal 目录下输入/weekly-report自动扫描上周所有 git 仓库的提交生成中文周报并 commit周报**xxx-ecom**围绕 [TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 对 admin 后台的交易和订阅 API 做了一轮字段扩展与重构。新增 xxx 字段到 xxx 和 xxx 接口去掉了 xxx 前缀的冗余命名并将 xxx.xxx 的参数整合为 xxx 对象以提升可读性。后续又修正了 xxx 字段在取消订阅场景下不必要的返回逻辑统一了 snake_case 命名风格。**xxx-portal-bff**同属 [TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx)修复了 Jenkins 流水线中 CodeArtifact token 获取失败的问题将 OpenJDK 基础镜像版本钉死到 17.0.2 以避免构建漂移重构了 pipeline 的 compile 和 build 函数拆出独立的 update_dependency 阶段避免重复获取 token并在 build 脚本中跳过不必要的 dependency check 以提速。**xxx-backend-service**[TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 后端侧同步扩展在 xxx API 响应中新增 xxx 字段在 xxx API 响应中新增 xxx 字段同时清理了 xxx 中多余的 xxx 映射逻辑。**xxx-portal-web**[TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 前端侧在 B2C 客户页面的 xxx 列表中添加 xxx 可点击跳转xxx 和 xxx 页面通过 router state 传递 xxx实现从客户页面跳转后自动展开对应套餐导航修复若干 ESLint 问题。**xxx-mobile-app**[TO-xxxx](https://xxx.atlassian.net/browse/TO-xxxx) 修复了 NewYearPromotion202512 促销活动的背景图片显示问题。按仓库分段Jira 编号自动转为完整链接写完直接提交进 work-journal 仓库。也可以补生历史周报/weekly-report 2026-03-29实现思路源码github.com/zhaokang555/kang-skillsAgent Skill 由四个文件组成SKILL.mdSKILL.md 是整个流程的编排层由 frontmattername、description 等元数据和若干编号步骤组成。步骤里混写两种指令AI 按顺序执行bash 指令调脚本处理确定性逻辑。比如计算日期、扫描 commit这些有固定答案的事情全部外包给脚本node .claude/skills/weekly-report/collect-commits.js 周一 周日 emailprose 指令告诉 AI 怎么生成。比如按仓库分段、Jira 编号转完整 URL、写成工程师给半年后自己看的技术日志风格——AI 拿到脚本输出的干净数据后按这些规则生成最终文本。两类指令的边界是确定性 vs 生成性有固定答案的日期、commit 列表写脚本需要理解和表达的把提交归纳成人话写 prompt。config.json个人路径单独存放不提交进代码仓库{scanDir: /path/to/your/repos,jiraBaseUrl: https://yourcompany.atlassian.net/browse}config.json加入.gitignore同时提供config.example.json作为模板随代码一起开源。calc-dates.js日期计算不能靠 AI 心算——时区、星期几的边界太容易出错。专门抽了一个脚本处理这件事// calc-dates.js [YYYY-MM-DD]// 无参数返回上周周一和周日有参数验证是周日返回该周周一和周日node .claude/skills/weekly-report/calc-dates.js// → {monday:2026-03-30,sunday:2026-04-05}参数不是周日时直接报错退出SKILL.md 把错误信息转给用户即可。collect-commits.jsAI 直接从 git log 里提取提交很耗 token稳定性也差输出格式不固定。所以把这部分逻辑抽成一个 Node.js 脚本由 SKILL.md 调用// collect-commits.js MONDAY SUNDAY AUTHOR_EMAIL// 扫描 BASE_DIR 下所有 git 仓库最大深度 3输出指定周期内的提交记录const repos run(find ${BASE_DIR} -maxdepth 3 -name .git -type d -prune)//...for (const repo of repos) {const hashes run(git -C ${repo} log --format%H --no-merges --after${monday} 00:00:00 --before${sunday} 23:59:59 --author${author})//...}脚本输出结构化文本 REPO: xxx /--- COMMIT ---AI 拿到的是干净的数据省 token也不会因 git 输出格式变化而出错。SKILL.md 脚本的组合比纯 SKILL.md让 AI 直接跑 git 命令解析输出稳定得多。定时任务让周报真正自动化每周手动输一次命令还是有摩擦。不同系统有不同的调度工具以 macOS 为例可以用内置的launchd实现每周一早上自动触发。