# Biannian

> 扫描自上次 tag 以来的 git log，按三省六部语境归类变更，输出结构化 CHANGELOG 条目

- Skill: `majiayu000/biannian` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/biannian`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/biannian/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/biannian

---


# Skill: 编年

> **适用 Agent**：太子（Lead）
> **加载时机**：皇上输入 `/biannian` 时，或发版前

## 功能

自动生成变更日志，将 git 历史翻译为三省六部语境下的结构化记录。

## 执行流程

### 第一步：确定范围

```bash
# 获取最近的 tag
git describe --tags --abbrev=0 2>/dev/null || echo "无历史 tag，扫描全部提交"

# 获取范围内的提交
git log <last-tag>..HEAD --oneline --no-merges
```

若无历史 tag，扫描全部提交历史。皇上也可指定范围（如 `/biannian v0.1.0..v0.2.0`）。

### 第二步：分类归档

太子阅读每条 commit message，按以下类别归类：

| 类别 | 图标 | 含义 | 示例 |
|------|------|------|------|
| 新旨意 | 📜 | 全新功能或模块 | 新增 Skill、新增 Hook |
| 修缮 | 🔧 | 优化改进现有功能 | 调整流程、优化格式 |
| 封驳修正 | 🔍 | 因门下审议驳回而修改 | 修复一致性、补充约束 |
| 平叛 | ⚔️ | 修复 bug 或异常 | 修复脚本错误、修正逻辑 |
| 典章 | 📝 | 文档与规范变更 | 更新 README、修改 Skill 定义 |
| 科举 | 📋 | 测试与验证 | 添加检查、验证流程 |
| 基建 | 🏗️ | 基础设施变更 | CI/CD、配置文件、依赖 |

### 第三步：输出 CHANGELOG 条目

```markdown
## [版本号或日期] — 编年史

### 📜 新旨意
- {commit 摘要} ({short hash})
- ...

### 🔧 修缮
- {commit 摘要} ({short hash})
- ...

### 🔍 封驳修正
- ...

### ⚔️ 平叛
- ...

### 📝 典章
- ...

### 📋 科举
- ...

### 🏗️ 基建
- ...
```

空类别不显示。

### 第四步：呈报与确认

太子将编年史条目呈给皇上审阅。皇上确认后可选择：
- 追加到 CHANGELOG.md（若存在）
- 仅查看不写入
- 修改后再写入

## 约束

1. 不修改 git 历史，仅读取
2. 分类基于 commit message 语义判断，无法判断时归入"修缮"
3. 写入 CHANGELOG.md 前必须经皇上确认
4. 合并提交（merge commits）默认跳过
5. 编年仅处理 git 历史的结构化归类与 CHANGELOG 输出，文档撰写与规范维护仍属礼部职责

