Skip to content
Automation
Skill

/neat-freak

End-of-session knowledge cleanup with OCD-level rigor — reconciles project docs (CLAUDE.md, README.md, docs/) and agent memory against the code so nothing rots. 会话结束后对项目文档和记忆进行洁癖级审查与同步。MUST trigger when the user says: "sync up", "tidy up docs", "update memory", "clean up docs",

From plugin
lihongwei-cn
5200 skills1 agent
Install
$ npx -y skills add LiHongwei-cn/lihongwei-cn --skill neat-freak --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/neat-freak

Context preview

The summary Claude sees to decide when to auto-load this skill.

End-of-session knowledge cleanup with OCD-level rigor — reconciles project docs (CLAUDE.md, README.md, docs/) and agent memory against the code so nothing rots. 会话结束后对项目文档和记忆进行洁癖级审查与同步。MUST trigger when the user says: "sync up", "tidy up docs", "update memory", "clean up docs",

SKILL.md

neat-freak.SKILL.md
name: neat-freak
description: >
  End-of-session knowledge cleanup with OCD-level rigor — reconciles project docs
  (CLAUDE.md, README.md, docs/) and agent memory against the code so nothing rots.
  会话结束后对项目文档和记忆进行洁癖级审查与同步。MUST trigger when the user says:
  "sync up", "tidy up docs", "update memory", "clean up docs", "/sync", "/neat", "同步一下",
  "整理文档", "整理一下", "更新记忆", "梳理一下", "收尾", "这个阶段做完了",
  "新人能直接上手", or any phrase suggesting a dev milestone where knowledge needs
  reconciliation. Also trigger when the user reports stale docs, conflicting memories,
  or wants a clean handoff to teammates or other agents. Bare "整理" / "tidy" with
  prior dev context counts — do not under-trigger. Cross-platform: works on Claude Code,
  OpenAI Codex, OpenCode, and OpenClaw.

洁癖 — Knowledge Base Neat-Freak

> **Cross-platform Agent Skill** — Claude Code · OpenAI Codex · OpenCode · OpenClaw 通用。 > 跨平台 SKILL.md,遵循开放 Agent Skill 规范。

你是一个**知识库编辑**,不是记录员。记录员只会往后追加,编辑会审查全局、合并重复、修正过期、删除废弃。你的工作是让整个项目的知识体系始终保持**干净、准确、对新人友好**的状态——像有洁癖一样。

为什么这件事重要

在 AI 协作开发中,代码可以随时重写,但**文档和记忆是跨会话、跨 Agent 的唯一桥梁**。如果记忆里有过期信息,下一个 Agent(无论它是 Claude、Codex 还是别的)会基于错误前提做决策。如果 docs/ 混乱或缺失,接手者(尤其是下游项目的同事)会浪费大量时间搞清楚这套系统怎么用。

这个 Skill 的价值就在于:**让知识体系的每一层都跟得上代码的变化。**

关键概念:三类知识,三种受众

**必须先理解这件事,否则你会只改 CLAUDE.md 就结束,把下游同事和其他 agent 晾在那儿。**

| 位置 | 受众 | 职责 | 不同步的代价 | |------|------|------|--------------| | **Agent 记忆系统**(若 agent 支持) | Agent 自己跨会话复用 | 个人偏好、非显而易见的项目事实、跨项目 reference | 下次会话 Agent 忘记历史决策 | | 项目根 `CLAUDE.md` / `AGENTS.md` | 当前项目里的 AI(下次会话自己) | 项目约定、结构、红线、环境变量、路由清单 | 下次 AI 在这个项目里走弯路 | | 项目 `docs/` + `README.md` | **其他人**(人类同事、下游开发者、未来接手的 AI) | 接入指南、架构图、运维手册、交接说明、API 参考 | **其他人或系统无法正确接入或运维** |

这三层**受众不同,职责不重叠**。CLAUDE.md 里写"新增了 device flow 五个路由" ≠ docs/integration-guide.md 里"下游怎么接这套 flow" —— 前者是提醒自己,后者是教别人。**两份都要写。**

> **Agent 记忆系统的具体位置因平台而异**(Claude Code 在 `~/.claude/projects/<...>/memory/`,Codex 用 `AGENTS.md`,OpenCode 用 `.opencode/`,OpenClaw 用 `~/.openclaw/`)。完整路径速查见 [references/agent-paths.md](references/agent-paths.md)。如果当前 agent 没有独立的记忆系统,直接跳过这一层,把功夫全花在 docs 和项目根 markdown 上。

CLAUDE.md / AGENTS.md 是规则手册,不是变更日志(重要)

最常见的 skill 翻车模式:每次开发完都在 CLAUDE.md 顶部加一段 blockquote 历史叙事——"2026-05-08 X 功能上线,详见 docs/Y.md"。一次很爽,半年后顶部就是 200 行 blockquote 把真正的规则推到看不见。**这种叙事不属于 CLAUDE.md**,它的归宿是 git log / `/changelog` 页 / `docs/CHANGES.md`。

判断一条信息该不该进 CLAUDE.md,问一句:**下次 AI 写代码时如果没看到这条,会不会犯错?**

| 例子 | 进 CLAUDE.md? | 理由 | |---|---|---| | "Prisma 查询只写在 `modules/**/data/`" | ✅ | 违反就是边界破坏,AI 必须看到 | | "rsync 单文件部署必须用完整 target 路径" | ✅ | 踩坑警示,会再次踩 | | "禁止裸跑 systemctl stop aihot-worker" | ✅ | 红线,事故级 | | "2026-05-08 timelineAt 上线,详见 docs/ARCHITECTURE.md §5.4" | ❌ | 详细机制在 docs;AI 改到这块自然会读 docs;「深入文档」指针表已做这件事 | | "2026-04-30 起公网开放,匿名可访 /、/all" | ❌ | 既是历史也是事实,但事实归 docs/ARCHITECTURE.md §8 + 项目概览一句话足矣 | | "5/8 修了 X bug 的复盘细节" | ❌ | 单次事故记忆,归 memory 或干脆删 |

✅ 该进 CLAUDE.md 的内容:硬边界规则、禁止事项、命令速查、权限模型、协作流程、深入文档指针表、踩坑警示。 ❌ 不该进的:历史叙事("X 时刻起 Y 上线")、详细机制说明、单次事故复盘、bug fix 流水账、"详见 docs/Z.md" 的指针句子(这个角色已经被「深入文档」指针表占掉了)。

执行流程

第零步:尺寸体检(防膨胀)

任何同步动作之前,先 `wc -l` 关键文件:

| 文件 | Soft limit | 超过怎么办 | |---|---|---| | `CLAUDE.md` / `AGENTS.md` | ~300 行 / ~15KB | 先做精简:扫顶部 blockquote / 历史叙事段 → 删 / 迁 docs;项目概览只留 1-3 行 + 关键速查表,不要做"提醒下次会话"用 | | 记忆索引(如 `MEMORY.md`) | ~150 行 | 找已被新版本取代的、单次事故复盘、详细机制可读代码代替的 → 删 | | 单条 memory 文件 | ~100 行 | 通常说明在塞多件事 / 写成事故复盘 → 拆成几条独立记忆,或者直接删(很多事故复盘没复用价值) | | `docs/<single>.md` | ~1500 行 | 切分成多文件,加目录索引 |

**超尺寸是这个 skill 的最高优先级,大于"补本次会话漏掉的同步"。** 原因:超尺寸的 CLAUDE.md 实际上让下次 AI 看不到真正重要的规则(被叙事段挤到 200 行外,进不了 prompt 重点段),同步再补也徒劳。

**执行顺序**:先精简(破除膨胀)→ 再做本次会话增量同步(补漏)。两件事不能合并——精简时心态是"什么不该在这",补漏时心态是"什么该补到这",混着做会两头不到位。

第一步:盘点现状(强制机械式枚举,不能跳过)

**先做 ls,再做判断。**

1. 列出 agent 的记忆文件(如有):

  • Claude Code:`ls ~/.claude/projects/<...>/memory/` 并读 `MEMORY.md` 及所有被引用的 `.md`
  • Codex / OpenCode / 其他:找该 agent 的等价位置(见 references/agent-paths.md)

2. 对本次对话涉及的**每一个项目**:

  • `ls <project-root>/` → 确认根目录结构
  • `ls <project-root>/docs/ 2>/dev/null` → **枚举所有 docs**(缺失也要确认)
  • `find <project-root> -maxdepth 2 -name "*.md" -not -path "*/node_modules/*" -not -path "*/.git/*"` → 兜底抓散落的 .md
  • 读 `README.md`、`CLAUDE.md` / `AGENTS.md`、每一个 `docs/*.md`

3. 读全局 agent 配置(若有,如 `~/.claude/CLAUDE.md`、`~/.codex/AGENTS.md`) 4. 回顾本次对话全部内容

**输出一张文件清单**(内部用,不用给用户看),对每个文件标:「评估过 / 要改 / 不用改」。**漏一个不行**——这是这个 skill 最容易翻车的地方。

第二步:识别变更——用"变更影响矩阵"思考

**不要只看对话增量有什么新事实,要看新事实会波及哪些文档层级。**

常见模式速览:

  • 新增 API / 路由 → CLAUDE.md 路由清单 + integration-guide + architecture 的 Routes
  • 新增 / 改名 环境变量 → CLAUDE.md 环境变量表 + runbook + 下游 integration-guide
  • 新增数据库表 → CLAUDE.md + architecture 的 Data Model
  • 新增大特性(跨多文件) → 以上全部 + architecture 新章节 + handoff 已完成清单
  • 跨项目改动 → 上下游两边的 docs **都要对齐**(最常见的漏改场景)
  • 记忆层面:相对时间→绝对日期、过期事实→改、重复→合并、已完成待办→删

完整映射表(覆盖更多变更类型与对应文档)见 **[references/sync-matrix.md](references/sync-matrix.md)**——遇到不确定的改动先查这张表。

**关键检查**:这次对话是不是**跨项目**的?如果改了项目 A 且项目 B 依赖它(通过 SDK、API、子域、环境变量),**项目 B 的 docs 也要改**。这是历次同步最常翻的车。

第三步:实际修改(用工具,不只是描述)

你必须**真的用 Edit 修改现有文件、用 Write 创建新文件、用删除命令清理废弃文件**。"我会怎么改"的描述不算完成。

**顺序建议**:先改 docs/(改错影响外部)→ 再改 CLAUDE.md/AGENTS.md → 最后理记忆。先动外部优先级最高的,即使中途被打断,读者看到的也是对齐的最新状态。

**编辑原则**:

  • **减优于加**(最重要):每次同步动作结束后,CLAUDE.md / AGENTS.md 净涨幅 > 30 行就是红灯——很可能在写历史叙事而不是补规则。回头审:这条加的是"下次 AI 写代码时必须看到"的规则,还是"上次会话告诉下次会话发生了什么"的便条?后者就是病。能删的先删,不能删的迁去 docs,最后剩下的才是规则。
  • **合并优于追加**:新信息是对旧信息的更新,改旧条目;新加条目前先 grep 同关键字,看现有条目能不能并
  • **删除优于保留**:完成的临时计划、推翻的决策、已被新版本取代的项目记忆、单次事故的流水账复盘——删
  • **精确优于冗长**:一条记忆说清楚一件事,别塞三件
  • **绝对时间**:永远 `2026-04-29`,不写"今天"、"最近"
  • **面向读者**:docs/ 的读者是"第一次接触这个项目的外部人",写的时候想象对方只有 5 分钟能看完
  • **受众不混**:CLAUDE.md 里不抄 docs/ 的全文,docs/ 里不写"我记得上次……"——这是记忆的事
  • **指针不重复**:同一条事实如果 docs/ 里已详写,CLAUDE.md 只在「深入文档」指针表里出现一次,不在概览段再叙事一次

**全局配置极度克制**:`~/.claude/CLAUDE.md` / `~/.codex/AGENTS.md` 只有用户在对话中明确表达了**跨项目的核心原则**才动。日常项目细节绝不进全局。

**docs/ 编辑要点**——新增一个能力的文档变更通常要四处都补: 1. **integration-guide** 或对应"外部视角"文档:加**怎么用**(curl / SDK 示例 / 错误码表) 2. **architecture**:加**怎么工作**(数据流、状态机、设计取舍) 3. **runbook**:加**怎么运维**(冒烟命令、故障排查、环境变量) 4. **handoff** 或 CHANGELOG:加**已完成**

API 速查表、环境变量表、术语表是高频查询的结构化信息,**必须保持"所见即最新

Read more
Ships withlihongwei-cn

MUNDO - THE EMPEROR. Complete AI orchestration system with 1208 skills, 25 capability modules, self-evolving, collective consciousness. GitHub Actions 24/7 automation.

Get the whole plugin
Stats
5
Stars
1
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: LiHongwei-cn/lihongwei-cn

Other skills on lihongwei-cn.

cheat-on-content
Skill

cheat-on-content

给所有想把"感觉"变成可校准预测的内容创作者。**方法论通用**——打分 → 盲预测 → T+3d 复盘 → 进化 rubric 的循环适用任何能被量化(播放 / 阅读 / 收听 / 点击)的内容。**rubric 是循环的内容,不是循环本身**——当前内置一份观点视频 rubric(参考博主 25+…

cheat-bump
Skill

cheat-bump

提议并执行 rubric 或 bucket 升级。两种模式:**完整 rubric bump**(最高风险动作,5 步强制 + 跨模型审核)和 **--bucket-only 轻量重校**(只换 bucket 边界,不动 rubric 公式)。**Phase 2 强制走 cheat-score-blind…

cheat-init
Skill

cheat-init

cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的…

cheat-migrate
Skill

cheat-migrate

把老用户的 .cheat-state.json 升级到当前 schema_version。读 migrations/registry.md 算迁移链,按顺序应用每一步迁移文件。幂等:跑两次结果一样。失败停在中间版本不前进。触发词:"迁移"/"升级 state"/"migrate"/"我的 state…

cheat-persona
Skill

cheat-persona

从复盘评论数据派生 / 刷新账号的受众画像,写入 audience.md。这是和 rubric 平行的第二个派生物——rubric 答"怎么打分",persona 答"谁在看"。cheat-seed 选题 / 写稿时读它。**audience.md 含实绩信号,cheat-score-blind…