ワンクリックで
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 提取,无需重复确认。