要系统性地保障 AI 编程助手生成的代码质量并治理庞大的技能库,Everything Claude Code 提供了三大核心 Skill:Plankton Code Quality Skill 实现写时自动格式化、Lint 与 Claude 分级修复;Skill Comply Skill 通过三档提示词自动生成场景,验证规则的实际遵守率;Skill Stocktake Skill 则提供 Quick Scan 与 Full Stocktake 两种模式,对 Skills/Commands 库进行全量质量审计。三者协作,构建了从实时修复到合规检测,再到技能盘点的生产级治理闭环。

写时质量守护与 Skill 治理:Plankton 自动 Lint 修复与合规率检测

在 AI 辅助编程(如使用 Claude Code、Codex)的工作流中,代码质量和工具集的治理面临两个根本挑战:一是如何确保每次 AI 生成的代码都符合规范,而非仅在提交前进行检查;二是如何管理日益膨胀的 Skills、Rules 和 Agents 库,防止其冗余、过时或失效。Everything Claude Code 的插件体系为解决这两大问题提供了完整的解决方案。本文将深入解析其中三大核心 Skill 的工作原理、操作流程与协作模式,它们共同构成了从写时质量守护到技能库系统性治理的自动化闭环。

一、Plankton Code Quality Skill:写时自动 Lint 与 Claude 分级修复

传统的 Lint/格式化方案通常在 commit、push 或 CI 阶段生效,这给了 AI 助手“绕过”质量门控的空间,甚至可能通过修改 Linter 配置来“消灭”报错。Plankton Skill 的核心价值在于将质量守护前置到每一次文件编辑操作。

核心机制与三阶段流程

Plankton 依赖 Everything Claude Code 的 Hook 体系,其核心是通过 PostToolUse 事件在文件编辑后自动触发 multi_linter.sh,执行一个严格的三阶段流程:

  1. Phase 1:静默自动格式化 运行 ruff format(Python)、biome(TypeScript/JavaScript)、shfmt(Shell)等工具,能直接修复的格式问题被自动纠正。

  2. Phase 2:收集未修复的 Lint 违规 运行各类 Linter(如 ruffbiomeshellcheck),收集无法自动修复的违规项。输出为结构化 JSON,包含文件路径、行列号、错误码、错误信息和 Linter 名称。

  3. Phase 3:Claude 分级自动修复 将违规 JSON 传递给一个 Claude 子进程进行修复。系统会根据问题的复杂度自动选择模型:

    • Haiku:处理简单格式、风格、导入问题(错误码如 E, W, F),超时 120 秒。
    • Sonnet:处理复杂逻辑、代码重构问题(错误码如 C901, PLR),超时 300 秒。
    • Opus:处理深层类型系统、推理问题(如 unresolved-attribute),超时 600 秒。 修复后,流程会自动回到 Phase 1 和 Phase 2 进行验证,直到所有违规被修复或达到超时阈值。

配置防篡改与协作防护

为了防止 AI 通过修改 Linter 配置文件来“绕过”规则,Plankton 内置了防御机制:

  • PreToolUse Hookprotect_linter_configs.sh 会阻止对 .ruff.tomlbiome.json 等配置文件的直接编辑。
  • Stop Hookstop_config_guardian.sh 会在会话结束时检查配置文件是否被修改,若有变更则阻断流程并提示人工审核。

此外,它还通过 PreToolUse Hook 强制使用现代包管理器(如 uv, bun),阻止使用传统工具(如 pip, npm),以维护依赖环境的一致性。

操作指南:快速上手与配置

快速验证:

  1. 安装必要工具(如 brew install ruff uv)。
  2. 在包含 Plankton 配置的目录下启动 claude 命令。
  3. 正常进行文件编辑,观察终端输出。全部修复则静默通过;若有遗留,会收到 [hook] N violation(s) remain 的提示。

集成到自有项目:

  1. .claude/hooks/ 目录和 settings.json 复制到你的项目根目录。
  2. 根据项目语言,安装对应的 Linter 工具。例如,Python 需要 ruffuv,TypeScript/JavaScript 需要 biome
  3. 定制 .claude/hooks/config.json 以启用或禁用特定语言、调整 Claude 子进程的模型分级阈值或完全关闭 AI 修复功能。

关键配置项 (config.json):

{
  "phases": {
    "auto_format": true,
    "subprocess_delegation": true
  },
  "subprocess": {
    "tiers": {
      "haiku":  { "timeout": 120, "max_turns": 10 },
      "sonnet": { "timeout": 300, "max_turns": 10 },
      "opus":   { "timeout": 600, "max_turns": 15 }
    },
    "volume_threshold": 5
  }
}

volume_threshold 表示当未修复的违规数量超过此值时,将尝试使用更高级别的模型。

二、Skill Comply Skill:自动化规则合规率检测

当团队定义了一系列 Skills、Rules 或 Agent 行为规范后,如何验证它们是否被真正遵守?Skill Comply Skill 提供了自动化、量化的答案。

核心机制:三档提示词与行为序列分类

Skill Comply 的核心在于通过 LLM 自动生成测试场景,并对 Agent 的行为序列进行智能分析,而非简单的关键字匹配。

  1. 行为规范推断:自动从目标 Markdown 文件(如一条 Rule 或一个 Skill)提取预期的行为序列(Spec)。
  2. 多场景生成:自动生成三种严格度的提示词来测试 Agent:
    • 支持性:提示词中明确要求遵守规则。
    • 中立:提示词仅描述任务,不提及规则。
    • 对抗性:提示词可能诱导或“怂恿” Agent 忽略规则。
  3. 执行与分类:实际运行 Agent,记录其所有工具调用(如 Read, Bash, API 调用)。然后,使用一个 LLM 来判断每一步调用是否符合推断出的行为规范。
  4. 报告生成:最终输出一份包含行为规范、场景提示、每个场景的合规分数(百分比)以及详细工具调用时间线的报告。

操作指南:运行与解读报告

触发方式:

  • 命令行/skill-comply <path>,其中 <path> 是目标 .md 文件的路径。
  • 自然语言:在对话中询问“这条规则到底有没有被遵守?”。
  • 自动化集成:可纳入 CI/CD 流水线,定期批量检测。

报告解读示例: 对一条 testing.md 规则运行检测,报告可能显示:

  • 支持性场景合规率:100% — 当明确要求时,Agent 能完全遵守。
  • 中立场景合规率:80% — Agent 在大部分情况下会自觉遵守。
  • 对抗性场景合规率:40% — 在负面诱导下,Agent 容易忽略规则。 报告中会明确指出哪些步骤违规,并可能建议将低合规率的步骤升级为自动化 Hook 来强制约束。

Skill Comply 生成的报告是评估规则有效性和 Agent 可靠性的关键依据。它与 端到端验证循环规则提取与同步 等技能紧密协作,形成治理闭环。

三、Skill Stocktake Skill:技能库质量审计

随着时间的推移,.claude/skills/ 目录下的技能文件会越来越多。Skill Stocktake Skill 就像一个“技能库医生”,负责定期诊断其健康状况。

两种审计模式

  1. Quick Scan(增量扫描)

    • 适用场景:日常维护,仅想检查自上次盘点以来有变更的技能。
    • 流程:读取上次的审计结果 results.json,仅对文件修改时间(mtime)发生变化的技能进行重新评估。
    • 耗时:通常 5-10 分钟。
    • 触发:直接运行 /skill-stocktake
  2. Full Stocktake(全量盘点)

    • 适用场景:首次审计、长时间未审计、或技能库发生大规模重构后。
    • 流程:扫描所有技能文件,生成完整清单,然后分批调用 AI 子代理,根据一套 Checklist(检查内容重叠、技术过时、使用频率等)进行详细评估。
    • 耗时:通常 20-30 分钟。
    • 触发:运行 /skill-stocktake full

评估结果与操作建议

Skill Stocktake 会对每个技能给出明确的判定(Verdict)和理由(Reason):

  • Keep:独特且内容最新。
  • Improve:需精简或重写部分内容。
  • Update:引用的技术或工具已过时,需更新。
  • Retire:低质量、冗余或已被其他技能替代。
  • Merge into [X]:内容应合并到指定的另一个技能。

所有结果和进度都缓存在 ~/.claude/skills/skill-stocktake/results.json 中,支持断点续盘。审计完成后,系统会输出一张汇总表,开发者可以据此决定是否执行 Retire 或 Merge 操作。值得注意的是,Skill Stocktake 不会自动执行删除或合并,所有变更都需人工确认。

协作与集成:构建治理闭环

这三个 Skill 并非孤立存在,而是与 Everything Claude Code 的其他组件协同工作,构建了一个立体的质量与治理体系:

  • Plankton + Skill Comply:Plankton 负责在代码生成时进行实时修复,Skill Comply 则可以定期检测这些修复动作本身是否符合项目编码规范。
  • Skill Stocktake + Rules Distill:在完成技能库审计后,可以利用 Rules Distill Skill 将审计中发现的通用最佳实践提炼为新的项目规则。
  • 整体与 安全防护 体系结合:无论是代码质量还是技能治理,最终目标都是为了产出更安全、可靠、可维护的代码。

通过这套组合拳,团队可以将 AI 编程助手的“黑盒”行为,转变为可测量、可审计、可优化的透明化工程实践。

FAQ

Q: 运行 Plankton 的 Hook 会显著拖慢 AI 响应速度吗? A: 写时格式化和 Lint 带来的延迟极小,通常用户无感知。只有当遇到复杂违规需要调用 Claude 子进程进行修复时,才会有几秒到几分钟的额外等待,但这是为保障代码质量付出的必要成本。

Q: Skill Comply 和 Skill Stocktake 有什么区别? A: Skill Comply 验证的是“行为是否符合规范”,它通过模拟场景来测试 Agent 在具体任务中是否遵守了某条规则或技能。Skill Stocktake 审计的是“技能库文件本身是否健康”,它检查技能文件的内容质量、冗余度和技术时效性。前者关注动态执行,后者关注静态资产。

Q: Skill Stocktake 的结果能自动化执行吗? A: 不能自动执行。Skill Stocktake 的设计哲学是“提供建议,人工决策”。它会给出详细的 Retire 或 Merge 建议及影响分析,但最终的删除、合并等操作必须由开发者或团队负责人确认后手动完成,以避免误操作。