← ClaudeAtlas

project-aware-codinglisted

在现有代码仓库中实现功能、修复 Bug、修改配置、Schema、API、数据模型或重构代码时,先理解真实调用链,并按风险参考项目已有逻辑、设计、测试、规范和历史修复,再完成与项目一致且经过验证的最小改动。实现完成后基于本次完整 diff 使用 peer-pr-review 自审,自动修复原需求授权范围内有证据的必须项,重新验证并复审后再交付。用户要求写代码、改代码、实现需求、修复问题或落地技术方案时应使用本 Skill;项目旧代码是帮助少踩坑的参考证据,不是必须照搬的规则。
Zhangs-11/zs-skills · ★ 2 · Code & Development · score 75
Install: claude install-skill Zhangs-11/zs-skills
# 结合项目上下文写代码 目标不是把新代码写得“像项目”,而是在动手前理解项目已经形成的业务约束、真实消费者和历史经验,减少重复踩坑。项目已有实现优先作为参考样本,但仍要判断它是否适用于当前需求、版本和调用链。 ## 边界 - 只修改用户当前需求必需的代码、配置、测试和文档,不顺手重构或扩展未来能力。 - 先检查工作区、分支、worktree 和仓库说明,保留其他人或其他会话的未知改动。 - 删除文件、函数、注释、测试、兼容逻辑或数据前单独说明理由并取得确认。 - 实现授权不包含 commit、push、部署、创建 PR、外部评论或数据库写入;这些动作需要当前批次的明确授权。 - 仓库若提供专用开发 Skill 或规范工具,例如 `goalfy-coding`,按当前任务读取并组合使用,但不得让其自动扩大本次写入范围。 ## 工作流 ### 1. 固定目标与现场 读取适用的 `AGENTS.md`、`CLAUDE.md`、仓库级 Skill 和开发文档。检查 `git status`、当前分支、HEAD、worktree 和已有 diff;涉及远端基线时先 `git fetch`,仅审查当前未提交改动时不为形式强制刷新远端。 用可观察结果明确本次需求:谁在什么条件下触发,现有行为哪里偏离,完成后谁能看到什么变化。若信息能从代码、配置、测试或关联材料中确认,先自行读取;只有关键选择会实质改变方案时才询问用户。 ### 2. 还原最小完整机制 追踪与改动有关的真实链路: ```text 输入或触发 → 入口与生产者 → 状态或数据变化 → 真实消费者 → 用户可见结果 → 失败、重试、恢复或终态 ``` 只展开与当前需求有关的上下游。不能根据函数名、字段名或注释猜用途;读取方法体、调用方、被调用方、注册点、配置来源和必要运行时契约。 ### 3. 按风险参考项目已有实现 使用 `rg` 从同仓库开始寻找最接近的样本,常用线索包括业务字段、接口路径、错误码、注册方法、消费者名称、配置键和测试名称。按以下优先级选择真正有参考价值的代码: 1. 与本次改动共享真实消费者或协议链路; 2. 同模块、同业务角色或同一状态生命周期; 3. 有针对性测试或运行证据; 4. 当前仍在使用且版本接近; 5. 历史提交明确记录过踩坑原因。 简单文案、局部条件或单点字段改动,通常参考最邻近的一处实现即可,不做无边界考古。涉及协议、Schema、序列化、数据库约束、跨服务接口、并发、幂等、权限或兼容行为时,扩大到真实消费者、相关测试和必要 `git log` / `git blame`,确认项目曾经为何选择当前写法。 参考时回答三个问题: - 哪部分约束与当前需求相同,可以沿用; - 旧设计解决或规避了什么实际问题; - 哪部分场景、版本或消费者不同,不能机械复制。 已有代码是经验,不是绝对规则。若它已过时、有缺陷或不适用于新场景,可以偏离;但要写清差异来自新需求、依赖版本还是消费者能力,并用针对性测试验证。不要因为某写法符合通用标准、看起来更优雅或外部项目流行,就跳过本项目真实链路。 找不到可靠样本时,记录搜索过的范围和关键词,再查真实消费者实现、官方当前契约或执行最小探针。不要为了满足流程强行选择不相关代码,也不要仅因没有先例就阻塞低风险实现。 ### 4. 设计并实施最小改动 优先复用项目现有入口、抽象、错误处理、命名和测试结构,但只复用当前需求真正需要的部分。每个 diff hunk 都应能对应到需求、已确认根因、必要测试或