بنقرة واحدة
write-maintenance-log
按 NixKits 规范撰写或更新 MAINTENANCE.md 维护日志。支持软件更新记录和错误修复记录两种类型,自动关联 git commit、生成摘要、五语同步。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
按 NixKits 规范撰写或更新 MAINTENANCE.md 维护日志。支持软件更新记录和错误修复记录两种类型,自动关联 git commit、生成摘要、五语同步。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
在 NixOS 系统上工作时使用。确保正确使用现代 Nix/NixOS CLI、完整的 shell 能力、sudo 权限和正确的系统维护流程。
按 NixKits 风格为任意项目编写或重新生成完整的多语言文档 — 简洁、表驱动、含语言切换器标题和模块分类 README。覆盖 README、各模块文档及技能文档。
检查 NixKits 所有软件包的上游版本更新并自动应用;将本次修复记入维护日志。检测新版本、更新构建配置、更新文档、报告本地安装版本、撰写修复记录。
为文档撰写技能提供伪中国语(pcn)语言支持。以日语汉字词汇为基础、剥离平假名与片假名、保留日语语序的伪本地化。可被 write-project-docs 自动发现调用。
将 NixKits 技能安装或更新到编码助手目录(opencode、codewhale、codex、openclaw、agents)。支持本地和在线两种安装模式。
当用户误删 /etc/nixos 目录下的文件(flake.nix、flake.lock 等)时,从 Nix store 中恢复。
| name | write-maintenance-log |
| description | 按 NixKits 规范撰写或更新 MAINTENANCE.md 维护日志。支持软件更新记录和错误修复记录两种类型,自动关联 git commit、生成摘要、五语同步。 |
按 NixKits 统一规范撰写 MAINTENANCE.md 维护记录,确保格式一致、信息完整、多语同步。
本技能通过纯自然语言约定发现语言扩展:
skills/translate-*/ 目录下查找所有翻译技能language_code / display_name / base_language 字段本技能由 AGENTS.md 规则强制触发:每次 git push 后必须执行入口 1 的 SHA 查重流程。
本技能提供两个独立入口,根据用户意图自动匹配。
触发词:「记入维护记录」「记录本次修复」「写入维护日志」
基于当前对话中完成的软件更新或错误修复,撰写单条维护记录并插入 MAINTENANCE.md。
此入口被
nixkits-check-updates技能在软件更新完成后自动调用。
触发词:「更新维护记录」「补全维护记录」「同步维护日志」
基于 git log 扫描全部提交历史,找出以下未记录的内容并补全:
fix(...) / feat(...) 提交| 提交 | 说明 | 表)执行流程:
# 1. 提取所有 fix / feat 提交(排除 docs 和 chore(pkgs) 类型)
git log --oneline --all | grep -E 'fix\(|feat\(' | while read hash msg; do
# 检查是否已在 MAINTENANCE.md 中
grep -q "$hash" MAINTENANCE.md || echo "MISSING: $hash $msg"
done
# 2. 对每个缺失的提交:
# a. 按日期分组
# b. 生成摘要(从 commit message 提取)
# c. 按格式规范生成条目
# d. LIFO 插入 MAINTENANCE.md
# 3. 补全已有记录缺失的 commit id
# a. 解析所有现有记录日期
# b. 按 ±2h 窗口匹配未关联的提交
# c. 补充到对应记录的提交表中
# 4. 多语同步并提交
此入口不修改软件版本表中已记录的版本号与 hash 值,仅补充元数据。
维护日志覆盖以下类别的变更:
| 类别 | 记录条件 | 示例 |
|---|---|---|
| 软件 | 版本更新或 bug 修复 | chore(pkgs): bump codewhale fix(mcp-searxng): ... |
| 技能 | 新增技能、重大章节添加、bug 修复、重大重构 | feat(skill): extract write-maintenance-log fix(skill): generalize 基本情報 rule refactor(skills): generalize hardcoded content |
| 文档 | 模块/包文档的实质性更新(新增章节、配置指南、故障排查、迁移指南) | docs(mcp-searxng): add CodeWhale config docs(llama-cpp-rocm): add multilingual migration guide |
| 模块 | 新增模块或重大功能添加 | feat(rcc-fix): add NixOS module feat(llama-cpp-rocm): restore modelsPreset |
不记录:纯机械性多语 sync(docs(skills): sync ... to multilingual docs)、仅涉及维护日志本身的提交(docs(MAINTENANCE): ...)。
当上游发布新版本并完成构建时,记录以下字段:
当修复了影响功能的 bug(即使无版本变更)时,记录:
判断标准:
git log中fix(...)或feat(...)类型、且涉及包/模块功能变更的提交应记录。纯文档 (docs(...)) 不记录。
当技能有重大更新(新增技能、新增章节、重大重构)或模块/包文档有实质性内容添加时,记录:
判断标准:
feat(skill):refactor(skill):docs(skill):(新增章节)fix(skill):应记录。docs(skills): sync机械性同步不记录。
当项目的 CI/CD 工作流或二进制缓存配置发生变更时,记录:
记录示例:
## <timestamp>
**摘要**:CI/CD 与二进制缓存 — 添加 GitHub Actions 构建矩阵 + Cachix 推送,README 加入缓存徽章与 NixOS 配置方案
| 提交 | 说明 |
|------|------|
| `<sha7>` | feat: add CI/CD workflow, binary cache, and AGENTS.md |
| `<sha7>` | docs: add cache badge and NixOS config instructions |
判断标准:
feat:fix(ci):或新增.github/workflows/、缓存配置变更时应记录。
ISO 8601 精确到秒的日期时间,JST 时区(+09:00)。
强制使用工具,禁止手动输入:
# 已有提交 → 从 git commit 时间获取(首选)
git log -1 --format="%ai" <commit>
# 尚无提交 → 使用系统当前时间(备用)
TZ='Asia/Tokyo' date '+%Y-%m-%dT%H:%M:%S+09:00'
禁止:
T00:00:00 占位符业务逻辑:维护日志的时间戳在后续审计、关联 git history、跨语言同步校验中作为唯一标识使用。占位时间破坏了时间线的完整性,且人工填写在多任务并行时极易出错。即使当时记得,延迟提交后时间也会偏移。
生成条目后,立即执行:
grep 'T00:00:00' MAINTENANCE.md && echo "ERROR: placeholder found" || echo "OK"
## 2026-06-14T07:56:11+09:00
MAINTENANCE.md)、英文(docs/MAINTENANCE.en.md)、日文(docs/MAINTENANCE.ja.md)# 维护日志、en # Maintenance Log、ja # メンテナンスログ**摘要**(en: **Summary**, ja: **概要**)开头,一句话说明变更。格式为 <包名> <版本号> — <一句话简述>
<包名> <版本号> — 新包fix(<包名>): <简述>| 提交 | 说明 |(en: | Commit | Description |, ja: | コミット | 説明 |)
| 软件名 | 旧版本 | 新版本 |(en: | Package | Old | New |, ja: | パッケージ | 旧 | 新 |)
| pkg | old | new || pkg | 新增 v<version> || | <hash类型> | <旧值> → <新值> | 缩进| 规则 | 说明 |
|---|---|
| LIFO | 最新记录插入文件顶部(紧随 --- 分隔线) |
| 仅记录实质变更 | 无实际软件/配置变更时不写入 |
| 省略无变更信息 | 构建验证结果不记录;未变化的 hash 不标出 |
| 新包合并列 | 首次添加时旧版本列留空或合并 |
| 纯 bug 修复无版本表 | 若本次无软件版本变更,省略软件版本表 |
与用户确认摘要描述(若为自动触发则从 commit message 提取)。
# 自动生成摘要 — 从最新 commit 提取
git log -1 --format="%s"
# 查找本次变更相关的所有提交
git log --oneline --since="<时间范围>"
按格式规范生成新条目,插入到 MAINTENANCE.md 顶部(第一个 --- 分隔线之后)。
必须执行,不可跳过。 MAINTENANCE.md(zh 基准)写入后,立即同步到全部已注册语言版本。
# 基准语言 + 基础扩展
BASE_LANGS="zh en ja"
for skill in skills/translate-*/SKILL.md; do
lang=$(sed -n '/^language_code:/s/.*: *//p' "$skill")
EXTRA_LANGS="$EXTRA_LANGS $lang"
done
对每个非 zh 语言,以 zh 基准 MAINTENANCE.md 为蓝本:
## <timestamp> 条目、提交表、软件版本表的骨架# 维护日志)、摘要前缀(**摘要**)、表头**摘要** / **Summary** 后的自然语言正文必须翻译为目标语言
skills/translate-pseudocn/SKILL.md 规则假名剥离 + 语序保持docs/MAINTENANCE.<lang>.md# 各语言版本条目数必须一致
zh_count=$(grep -c '^## 20' MAINTENANCE.md)
for f in docs/MAINTENANCE.*.md; do
count=$(grep -c '^## 20' "$f")
if [ "$count" -ne "$zh_count" ]; then
echo "MISMATCH: $f has $count entries, expected $zh_count"
fi
done
条目数不一致时必须修复后再进入第 5 步提交。
|------|----|----|-----|---------|-----|
| TITLE | # 维护日志 | # Maintenance Log | # メンテナンスログ | # メンテナンス ログ | # 維護記録 |
| SUBTITLE | NixKits 软件更新维护日志。 | NixKits package update changelog. | NixKits パッケージ更新履歴。 | ニックスキット パッケージ アップデート チェンジログ。 | NixKits 軟件更新維護記録。 |
| SUMMARY | **摘要** | **Summary** | **概要** | **サマリー** | **摘要** |
| COMMIT_HDR | \| 提交 \| 说明 \| | \| Commit \| Description \| | \| コミット \| 説明 \| | \| コミット \| ディスクリプション \| | \| 提交 \| 説明 \| |
| SW_TABLE_HDR | \| 软件名 \| 旧版本 \| 新版本 \| | \| Package \| Old \| New \| | \| パッケージ \| 旧 \| 新 \| | \| パッケージ \| オールド \| ニュー \| | \| 軟件名 \| 舊版本 \| 新版本 \| |
git commit -m "docs(MAINTENANCE): record <date> — <summary>"
## 2026-06-14T07:56:11+09:00
**摘要**:codewhale 0.8.59 — 修复若干 TUI 渲染问题;mcp-searxng 1.4.0 — 新增 HTTP 传输模式
| 提交 | 说明 |
|------|------|
| `a71aae7` | chore(pkgs): bump codewhale 0.8.59 |
| `e8f0299` | chore(pkgs): bump mcp-searxng 1.4.0 |
| `ec7d5ca` | docs(MAINTENANCE): record 2026-06-14 updates |
| 软件名 | 旧版本 | 新版本 |
|--------|--------|--------|
| codewhale | 0.8.58 | 0.8.59 |
| mcp-searxng | 1.3.4 | 1.4.0 |
| | cli hash | `...` → `...` |
## 2026-06-17T06:48:47+09:00
**摘要**:fix(mcp-searxng): 修复入口文件错误 — dist/index.js → dist/cli.js,MCP 服务器可正常启动
| 提交 | 说明 |
|------|------|
| `73a3b10` | fix(mcp-searxng): use dist/cli.js as entry point instead of dist/index.js |
本技能被以下技能自动调用:
自动触发时,摘要从前置技能的输出或最新 commit message 提取,无需重复确认。