用 Agent Skill 自动生成工作周报

用 Agent Skill 自动生成工作周报

背景:周报的痛点

每到周一,都要回忆上周干了什么------翻 git log、拼 Jira 链接、整理成人话,半小时就没了。更大的问题是,这些记录如果不及时整理,年底写年终总结时根本想不起来做过什么。

想解决这个问题,但又不想每次都手动跟 AI 说"帮我看看这些 commit 写周报"。于是实现了一个 Agent Skill:/weekly-report

效果演示

在 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-skills

Agent Skill 由四个文件组成:

SKILL.md

SKILL.md 是整个流程的编排层,由 frontmatter(name、description 等元数据)和若干编号步骤组成。步骤里混写两种指令,AI 按顺序执行:

bash 指令,调脚本处理确定性逻辑。比如计算日期、扫描 commit,这些有固定答案的事情全部外包给脚本:

bash 复制代码
node .claude/skills/weekly-report/collect-commits.js <周一> <周日> <email>

prose 指令,告诉 AI 怎么生成。比如"按仓库分段、Jira 编号转完整 URL、写成工程师给半年后自己看的技术日志风格"------AI 拿到脚本输出的干净数据后,按这些规则生成最终文本。

两类指令的边界是"确定性 vs 生成性":有固定答案的(日期、commit 列表)写脚本,需要理解和表达的(把提交归纳成人话)写 prompt。

config.json

个人路径单独存放,不提交进代码仓库:

json 复制代码
{
  "scanDir": "/path/to/your/repos",
  "jiraBaseUrl": "https://yourcompany.atlassian.net/browse"
}

config.json 加入 .gitignore,同时提供 config.example.json 作为模板随代码一起开源。

calc-dates.js

日期计算不能靠 AI 心算------时区、星期几的边界太容易出错。专门抽了一个脚本处理这件事:

js 复制代码
// 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.js

AI 直接从 git log 里提取提交很耗 token,稳定性也差(输出格式不固定)。所以把这部分逻辑抽成一个 Node.js 脚本,由 SKILL.md 调用:

js 复制代码
// 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 实现每周一早上自动触发。

总结

30 分钟搭建,全年周报零手写。每周积累下来,年底把 52 篇周报扔给 AI,配合上 atlassian/jira skill/mcp, 10 分钟出年终总结。

相关推荐
Filwaod7 小时前
MCP 接入模式对比:Agent - Gateway - 业务项目 vs Agent - Adapter - 业务项目
java·agent·mcp
明月(Alioo)7 小时前
为什么用 Skill 做需求澄清
人工智能·ai·agent
Jing_jing_X7 小时前
我做了一个 Agent Learning Lab:把 AI 应用开发过程做成白盒实验台
ai·agent·个人开发·ai应用开发
腾讯位置服务8 小时前
4月产品上新|魔方洞察、智能选址、打车服务三大Skills上线,两轮车熄屏导航同步升级!
大数据·开发·skill·龙虾·腾讯位置服务
视觉&物联智能8 小时前
【杂谈】-人类写作渐趋人工智能化
人工智能·ai·aigc·agent·agi
jonyleek9 小时前
AI与现有系统“两张皮”:如何无缝集成、快速落地?
人工智能·ai·agent·jvs·ai套件·jvs-ai套件
沐籽李9 小时前
从问答到执行:Biomni 如何重构生物医学研究工作流
数据库·agent·aidd·抗体设计·biomni
love530love11 小时前
Hermes-Agent 本地化部署与详细交互式配置实战指南 [LM Studio + QQ ]
人工智能·windows·python·aigc·agent·hermes·hermes-agent
天涯明月199311 小时前
vibe-coding核心方法论
人工智能·大模型·agent·研发流程