用途
Coding discipline 是一份“操作契约”,用于在修改代码、脚本、配置或构建文件时约束工作方式。它应在开始实现工作之前使用,而不是作为某个领域(如 Skyrim 语法)的专用技能。
主要能力与要求
编辑之前
- 阅读最近的任务、状态、环境和代理指令文件。
- 确定可写根目录,并将所有已部署输入视为只读。
- 在提出架构之前,先检查最小相关文件集。
- 当改动范围广、风险高、跨文件或规格不清时,先写计划。
- 定义可衡量的完成条件,以及能证明它的命令。
- 创建或完成 GitHub 仓库时,加载 github-fleet-maintenance 以满足 CI、安全、文档和制品要求;发布交接使用 release-checklist。创建仓库或推送代码并不等于交付完成。
实现期间
- 一次只做一处连贯的改动。
- 保留无关的格式与行为。
- 优先使用类型化解析器、结构化库和经过测试的转换,而不是正则或字节级手术。
- 将生成输出与源码分开。
- 将大型命令输出重定向到报告文件并加以总结。
- 当必需事实无法核实时停止,不要用自信的措辞掩盖不确定性。
- 每个阶段后设置检查点,以便失败尝试能被干净地回滚。
注释写法
注释是语言忽略的非执行文本(如 // 或 /* */、#、Papyrus/INI 中的 ;、Lua/SQL 中的 --、XML/HTML 中的 <!-- -->、批处理/VB 中的 '/Rem)。用它让不写代码的人也能看懂文件:
- 每个文件顶部:2-4 行说明用途、依赖和日志位置。
- 每个章节或函数上方:一句平实语言说明它做什么、为什么存在,而不是复述代码。
- 每个非显而易见的选择处:说明原因、限制,或改动后会破坏什么。
- 不要注释掉死代码并留在那里;直接删除(git 会保留)。JSON 没有注释;把说明放在 README 或同级的 .md 中。
- 保持注释真实:改动某章节时,在同一次编辑中更新其注释。
- 所构建的任何东西还要有可切换的调试日志(可观测性优先)和 STATE.md 恢复说明(状态恢复,“Handoff for what you build”)。
验证
- 审查 diff,而不只是最终文件。
- 运行与任务相关的语法检查、构建、测试、验证器和包检查。
- 演练失败路径和边界情况。
- 除非观察到输出,否则绝不声称某条命令已运行。
- 明确报告剩余风险。
- 创建仓库、推送或更新依赖后,在宣布推送完成之前,先修复该仓库未解决的 Dependabot、代码扫描和密钥扫描告警的成因。加载 ci-convergence。当检出目录中有 TOOLS/Get-GitHubFlags.ps1 时使用它;否则对你刚写入的仓库用 gh api 查询那些未解决告警端点。flags=unknown 不算干净仓库。不要忽略告警。不要打印密钥。代码质量返回 403 或 404 表示不可用;将其关闭。
上下文效率
- 使用定向搜索,而不是递归读取无关文件夹。
- 不要反复重新加载未变化的大文件。
- 将决策持久化到项目文件中,然后在里程碑处压缩或开启新会话。
- 子代理仅用于独立探索、审计或测试。紧密耦合的系统由单一负责人编辑。
证据标准
对版本敏感的事实使用以下层级:
- 活动项目的 ENVIRONMENT.md、TASK.md、已安装框架版本和构建文件。
- 该确切版本的官方上游文档或源码。
- 用户已安装模组库中的已知良好文件,只读。
- 直接检查相关的 ESM、ESP、DLL、脚本、日志或归档。
不要用记忆、旧示例或看似合理的 token 替代。在 VALIDATION.md 中记录证据路径或 URL。
Claude Code 执行适配
- 保持 CLAUDE.md 简洁,程序性细节使用本技能。
- 只加载当前里程碑所需的技能,因为被调用的技能内容会留在上下文中。
- 对高风险架构、插件、DLL 和对抗性审查使用 high 或 xhigh 努力级别。
- 在压缩或用量边界之前,持久化确切状态、命令、未提交改动和剩余验证。
- 在通过记忆提升协议之前,将自动记忆视为候选学习,而非已验证事实。
技能特定的提供方控制
- 保持每个改动集窄小、可逆,并链接到明确的需求或缺陷。
使用与里程碑纪律
- 尽早创建最小的可构建制品。每个连贯里程碑后编译并设置检查点。证据充分后停止生成子代理。保持 STATE.md 最新,包含确切路径、未提交改动、最后成功的命令、失败和下一个命令。
适用场景
适用于在修改代码、脚本、配置或构建文件之前,需要一套纪律化流程来约束 AI 代理或开发者行为的场景,尤其是跨文件、高风险或规格不清的改动。
限制
资料未提供该技能的收费、价格、平台支持范围或具体效果数据。