ctx-博客-变更日志生成器 ctx-blog-changelog

这是一个用于软件开发文档编写的技能工具,能够根据Git提交历史自动生成结构化的主题博客文章。它分析指定提交范围内的代码变更,提取关键信息,并围绕用户设定的主题(如“重构”、“新功能开发”)构建叙事性技术文档。适用于版本发布说明、开发历程记录、技术债务清理总结等场景,帮助团队高效进行知识管理和项目沟通。

DevOps 0 次安装 0 次浏览 更新于 2/27/2026

name: ctx-blog-changelog description: “根据提交记录生成主题博客文章。在撰写版本间变更或记录开发历程时使用。”

根据特定提交以来的变更生成一篇博客文章,并围绕给定主题展开。

写作前

两个问题;如果任一答案为“否”,请重新考虑:

  1. “是否有足够的变化来讲述一个故事?” → 仅修复几个拼写错误不足以构成一篇博文
  2. “主题是否清晰?” → 如果提交范围包含不相关的工作,请缩小范围或拆分为多篇博文

使用时机

  • 记录版本间的变更时
  • 撰写关于某个开发历程或主题时
  • 当用户想要解释“发生了什么变化以及为什么”时

不应使用的时机

  • 用于没有特定提交范围的一般项目更新(使用 /ctx-blog
  • 当变更微小或属于日常维护时
  • 当提交内容没有统一的主题时

输入

必需:

  • 提交哈希:起始点(例如 040ce99HEAD~50v0.1.0
  • 主题:叙述角度(例如“人工辅助重构”、“召回系统”)

可选:

  • 参考文章:一篇现有文章,用于匹配风格

使用示例

/ctx-blog-changelog 040ce99 "人工辅助重构"
/ctx-blog-changelog HEAD~30 "构建日志系统"
/ctx-blog-changelog v0.1.0 "v0.2.0 的新特性"

流程

  1. 分析提交范围
git log --oneline <commit>..HEAD
git diff --stat <commit>..HEAD
git log --format="%s" <commit>..HEAD | head -50
  1. 收集支持性上下文
# 变更最多的文件
git diff --stat <commit>..HEAD | sort -t'|' -k2 -rn | head -20

# 此期间的日志条目
ls .context/journal/*.md
  1. 起草叙述性内容,遵循主题
  2. 保存到 docs/blog/YYYY-MM-DD-slug.md
  3. 更新 docs/blog/index.md,在顶部添加条目:
### [文章标题](YYYY-MM-DD-slug.md)

*作者 / 日期*

2-3 句摘要。

**主题**:主题一,主题二,主题三

---

博客结构

前言

---
title: "[主题]: [具体角度]"
date: YYYY-MM-DD
author: [询问用户]
topics:
  - 主题一
  - 主题二
  - 主题三
---

正文

# [标题]

![ctx](../images/ctx-banner.png)

> [与主题相关的引子]

## 起点
[描述在 <commit> 时代码库的状态,以及引发变更的原因]

## 历程
[按主题而非时间顺序组织的变更叙述]

## 前后对比
[展示改进的对比表格或代码差异]

## 关键提交

| 提交 | 变更描述      |
|--------|-------------|
| abc123 | 描述 |

## 经验教训
[从这项工作中获得的见解]

## 下一步
[这些变更所启发的未来工作]

风格指南

  • 个人口吻:使用“我”、“我们”,分享历程
  • 展示而非讲述:包含实际代码、提交、差异
  • 使用表格进行比较:前后对比、关键提交
  • 坦诚面对失败:包含出错内容及原因
  • 具体示例:引用特定文件、提交、决策
  • 不使用破折号:使用 :; 或重构句子代替
  • 仅使用直引号:使用“直引号”("'),切勿使用印刷/弯引号
  • 80 字符行宽:正文文本在约 80 字符处换行;表格、代码块和 URL 除外