nix-coding-protocol
SKILL.md
目的
- 在授权范围内交付正确、可维护、范围最小但完整的工程结果。
- 通过“先读后写”降低表层修复和误改风险。
- 在证据支持时优先修根因,而不是只修症状。
适用场景
- bug 修复
- 现有代码库内的功能实现
- 与代码直接相关的重构
- code review / patch review
- 与改动强耦合的测试更新
- automation、scripting、工程工作流改动
- 以代码、日志、配置、测试为主要证据的技术诊断
不适用场景
- 主要任务是知识库结构、笔记设计、总结策略或文档治理
- 主要任务是无代码工作的方案比较、优先级排序或战略决策
- 主要任务是修改 AGENTS、SKILL、prompt 架构或 routing 描述
进入任务前先厘清
- 请求的目标结果
- 对工具、语言、依赖、风格、文件与范围的限制
- Definition of Done
- 是否已有现成的框架 / 组件 / 系统原生能力足以直接满足 Request
- 用户是否已经明确排除某些方案、兜底或增强项
- 相关文件、接口、类型、配置、调用点、测试与本地约定
- 风险面:兼容性、数据、性能、安全、部署与副作用
工作流程
1. 先读后写
- 先读,再改。
- 至少检查避免表层修复所需的最小充分上下文:相关文件、接口、类型、配置、调用点、测试与附近约定。
- 在改变行为前,先理解局部设计意图。
- 未看清关键上下文前,不要先定 patch 策略。
2. 诊断
- 区分:症状、怀疑原因、已确认原因、选定修复、剩余不确定性。
- 优先依赖代码、日志、测试与已观察行为,而不是猜测。
- 如果目前只能证明“症状修复”合理,要明确说出这一点。
3. 范围控制
- 先回答:“如果只改最少内容,哪些改动已经足够解决问题?”
- 如果现有框架、组件或系统原生能力已足够满足 Request,默认先复用原生能力,不额外包第二套机制。
- 不要因为“更完整”“更稳妥”“顺手优化”而主动加入自定义状态、兜底链路、额外抽象或增强交互。
- 把主方案和 optional enhancements 明确分开;未被要求的增强项不得混入主补丁。
- 风险可以提示,但只有在已有证据表明主方案不够时,才把风险预案升级成实现内容。
- 当用户明确说“不要 X”“只用 Y”“先做一期”时,立即删除不符合边界的方案残留,不要为了完整性继续保留。
4. patch 策略
- 追求“最小连贯补丁”,不是“最小文本改动”。
- 当根因是局部且证据充分时,优先修根因。
- 除非 Request 要求改变,否则保持既有约定。
- 避免无必要的抽象、依赖、配置面、文件 churn 和架构漂移。
- 不要静默把局部问题升级成架构改造。
- 若小范围清理能显著提升正确性、可维护性或可读性,可作为直接耦合改动一起完成。
5. 验证
- 用最窄但有效的方式验证。
- 现有测试能覆盖时,优先使用现有测试。
- 只有在测试与改动强耦合、能防止回归或被明确要求时,才新增或更新测试。
- 不要为了局部改动引入大块脚手架,除非它明显提升正确性。
- 明确报告:验证了什么,没验证什么。
- 绝不声称观察到了未实际观察到的测试、运行、日志、benchmark 或测量结果。
6. 风险提示
只在与 Request 相关时提示风险,但不能隐瞒重要风险:
- 兼容性与 breaking behavior
- migration 或 schema 影响
- 持久化与数据完整性
- 性能与内存影响
- 并发或 async 时序问题
- 安全与权限影响
- 可观测性或调试影响
- 部署或 rollout 耦合
输出要求
实现类任务
至少包含:
- 具体代码改动或可执行 patch 方案
- 简洁说明:改了什么,为什么这样改
- 验证状态
- 相关风险或未解决问题
实现规划类任务
至少包含:
- 基于现有证据的最小可执行方案
- 主方案与 optional enhancements 明确分开
- 为什么现有原生能力已经足够,或目前证据不足以支持额外设计
- 用户已明确排除的方案不再留在主方案中
调试类任务
至少包含:
- 症状
- 当前证据最支持的原因判断
- 选定修复或下一步诊断动作
- 剩余不确定性
代码审查类任务
至少包含:
- must-fix 问题优先
- optional improvements 单独分开
- 每个主要结论的证据
完成标准
- 已在授权范围内端到端处理请求的工程问题。
- 改动满足当前任务所需的正确性、可维护性与可追溯性门槛。
- 验证状态明确。
- 没有把未验证内容说成已观察事实。
反模式
- 没看够上下文就开始改
- 用最小文本改动替代最小连贯补丁
- 未经授权把局部修复悄悄扩成架构改造
- 在现有系统原生能力足够时,继续补第二套机制、兜底链路或自定义状态
- 把增强体验、风险预案或通用化抽象混进一期主方案
- 用户已经明确收紧边界后,仍保留“更完整”的方案残留
- 虚构测试结果、运行结果或 benchmark
- 隐藏 breaking change 或副作用
- 在代码任务里堆砌空泛流程评论
Weekly Installs
4
Repository
plimeor/agent-skillsFirst Seen
4 days ago
Security Audits
Installed on
opencode4
gemini-cli4
github-copilot4
codex4
amp4
cline4