Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions .agents/skills/dev-loop/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
name: dev-loop
description: "自主开发推进引擎——ROADMAP 驱动、模型分配、并行 subagent 协作、交叉审查、文档同步、自动沉淀。长程多步骤任务使用 /dev-loop 启动。短任务(单文件修复、小改动)不需要——直接做。"
---

# Dev Loop — 自主开发推进引擎

> 短任务(单文件修复、typo、小改动)**不需要这个 skill**——直接做,别绕弯。
> 长程任务(跨文件重构、多步骤功能、需要审查的变更)用它。

## 模型分配策略

| 别名 | 后端 | 上下文 | 角色 | 策略 |
|---|---|---|---|---|
| **opus** | deepseek-v4-pro | 1M | 推理/架构/审查 | 稳定可靠 |
| **sonnet** | deepseek-v4-flash | 1M | 快速并行执行 | 批量机械工作 |
| **haiku** | glm-5.1 | **200k** | 简短复杂逻辑/业务编码 | 优先编码,上下文小是硬限制 |

## CC 原生工具配合

dev-loop 配合两个 CC 内置命令使用效果最好:

### `/goal` — 会话目标锁
- 用法:`/goal "完成 server 文档中文化"`
- 设置后,会话未达目标前 `/stop` 被阻止
- 适用于:一个明确的、可在本次会话完成的目标
- 完成后自动解除。中途变更目标用 `/goal` 重新设置

### `/loop` — 定时自触发
- 用法:`/loop 10m 继续完善项目,运行测试,提交代码`
- 适用于:需要持续关注的项目、长时间运行的迭代任务
- 选择间隔时注意:< 5 分钟保持 prompt cache 热,> 5 分钟 cache 失效但有更长自主窗口
- 如果没有具体的外部信号需要轮询,默认 20-30 分钟

**组合使用:** `/goal "完成翻译并清理"` + `/loop 10m /dev-loop 继续推进剩下的工作`

## 标准工作循环

### 1. 理解
- 读 AGENTS.md / CLAUDE.md / README.md / ROADMAP.md / STATE.md
- 理解现有架构、约定、当前进度

### 2. 规划
- 长期任务:创建 ROADMAP.md 或在现有 ROADMAP 中登记任务
- 本次会话目标明确 → `/goal "描述"` 锁定,防止中途退出
- 用平台 goal/todo 工具跟踪 session 状态(ROADMAP.md 是跨 session 权威)
- 从 ROADMAP 中选取 1-3 个最高价值任务
- 不确定的设计先做轻量探索(只读 agent)

### 3. 执行
- **自己(opus 主 session)**:设计决策、审查输出、编辑核心文件(AGENTS.md/STATE.md/ROADMAP.md)
- **派 opus subagent**:复杂功能、架构重构、安全审查、多维度审计
- **派 sonnet subagent**:批量机械工作(翻译、格式化、测试生成、重命名)
- **派 haiku subagent**:编码实现、bug 修复、算法。优先用 haiku,实际失败才换 opus
- 每次 subagent 完成后审查其输出

### 4. 审查
- 完成一批变更后启动交叉审查:4-5 个 opus agent 并行
- 维度:结构、文档、安全、架构、易用性
- 让其他 agent 提问题:"审查这个变更,列出你担心的问题"
- 修复高优先级项

### 5. 同步
- AGENTS.md / CLAUDE.md(规则变更)
- STATE.md(事实变更)
- ROADMAP.md(标记完成、记录阻塞、写下一步)
- 运行 `neat-freak` 清理过时文档
- 运行 `memory-management` 同步 memory(如有跨系统需求)
- Git:小范围 commit,及时 push

### 6. 沉淀
- 发现可复用的 SOP → 写成项目级 skill
- Skill 不含本机路径、凭据、IP——别人也能用
- 自己调用测试,迭代描述和触发条件

## Worktree 指南

**什么时候用:**
- 跨 session 重构(跨天、跨对话)
- 可能破坏主分支的实验性变更
- 并行开发多个独立功能

**什么时候不用:**
- 单文件修复、文档变更 → 直接在主分支
- 90% 的工作不需要 worktree

## 审查模式

### 交叉审查维度与模型
| 维度 | 模型 | 为什么 |
|---|---|---|
| 结构 | sonnet | 机械检查,批量扫文件 |
| 文档 | sonnet | 一致性检查,不重推理 |
| 安全 | **opus** | 必须深度推理 |
| 架构 | **opus** | 需要设计判断 |
| 易用性 | sonnet | 清单式检查 |
| 业务逻辑 | **haiku** | 简短复杂逻辑审查 |

审查 agent 的 prompt 要具体:告诉它查什么、怎么报告、文件在哪。

### 自我质疑
- "新 agent 能理解吗?" "STATE.md 需要更新吗?"
- "有文件引用过时路径吗?" "memory 同步了吗?"
- "这个改动影响了其他项目吗?"

## 产品思维

- 用户第一次用怎么想?错误信息有用吗?
- 测试覆盖了真实场景还是只测 happy path?
- E2E 能跑通完整用户流程吗?界面一致吗?

## Git 约定

- `main` 稳定,`dev` 开发;小范围 commit,及时 push
- 不用 `--force`、`--no-verify`
- Commit message 写"为什么"不是"做了什么"

## 自主边界

**无需确认可直接做:** 读文件、写代码、加测试、更新文档、跑本地命令、派 subagent、小范围 commit。

**必须暂停等确认:** 生产部署、破坏性数据变更、secret 处理、不可逆迁移、超出 ROADMAP 范围的大重写。

**受阻时:** 先尝试直接解决。经过具体尝试仍受阻后,把阻塞点和下一步写入 ROADMAP.md,再问用户。

## 参考

- `references/model-strategy.md` — 模型选择决策树 + fallback 策略
- `references/review-checklist.md` — 代码审查清单
73 changes: 73 additions & 0 deletions .agents/skills/dev-loop/references/model-strategy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# 模型选择决策树

最后更新:2026-05-23

## 可用模型

| 别名 | 实际后端 | 上下文 | 优势 | 限制 |
|---|---|---|---|---|
| **opus** | deepseek-v4-pro | 1M | 深度推理、架构设计、安全审查、复杂重构 | 慢、贵 |
| **sonnet** | deepseek-v4-flash | 1M | 快速并行执行、批量操作、格式统一 | 编码能力不如 haiku |
| **haiku** | glm-5.1 | **200k** | 简短复杂逻辑、业务编码、算法 | **上下文小**、不稳定 |

## Haiku 定位

haiku 专精于**短上下文内的复杂逻辑**——单个函数的精巧算法、棘手的业务规则、深度 bug 分析。不适合大批量文件操作或需要加载大量参考文档的任务。

**能用 haiku 的:**
- 单个函数/模块的复杂算法实现
- 聚焦的 bug 修复(错误 + 相关代码 < 200k)
- 业务逻辑审查(单个文件或小范围)
- 代码片段优化

**不能用 haiku 的:**
- 跨文件重构(上下文不够)
- 批量文件操作(3+ 文件可能溢出)
- 需要加载多个参考文档的任务
- 翻译超过 5 个文件的批次

**原则:haiku = 小而精。短上下文、高复杂度、单点突破。大任务→sonnet/opus。**

## Haiku Fallback

haiku 编码强但不稳定。首次编码用 haiku(前提:不超 200k)。返回乱码/截断→不重试,直接换 opus。批量大上下文→用 sonnet。

## 决策流程

```
任务类型?
├── 设计/架构/审查类
│ └── → opus(主 session 或 opus subagent)
├── 批量机械操作(翻译、格式化、重命名)
│ ├── 5 个文件以内 → sonnet subagent
│ └── 多文件大规模 → 拆批,每批 sonnet subagent
├── 编码实现/功能开发
│ ├── 单文件复杂逻辑 → haiku subagent(优先)
│ ├── 小范围业务编码(1-2 文件)→ haiku subagent
│ ├── 多文件重构 → opus subagent(haiku 上下文不够)
│ └── haiku 不稳定 → 换 opus
├── 交叉审查
│ ├── 安全/架构/业务逻辑 → opus(需深度推理)
│ └── 结构/文档/易用性 → sonnet(机械检查)
├── 探索/搜索
│ ├── 单个目标明确 → 自己做(Grep/Glob)
│ ├── 多维度搜索 → 2-3 sonnet 并行 Explore agent
│ └── 深度代码理解 → 1 opus Explore agent
└── 安全审查
└── → opus subagent(必须,不能跳过)
```

## 并行度

- 独立任务:最大并行数 = 任务数
- 审查任务:4-5 维度同时跑,opus 管安全/架构,sonnet 管结构/文档/易用性
- 翻译任务:按文件数分片,~20-40 文件/sonnet subagent
- haiku 子任务:每次只给 1-2 个文件,prompt 精简

## 上下文管理

| 模型 | 上限 | 策略 |
|---|---|---|
| haiku | 200k | 精简 prompt,只传必要文件,不传大型参考文档 |
| sonnet | 1M | 可传大量文件,适合批量操作 |
| opus | 1M | 适合深度分析大型代码库 |
53 changes: 53 additions & 0 deletions .agents/skills/dev-loop/references/review-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# 代码审查清单

最后更新:2026-05-23

## 结构审查

- [ ] 新文件放在了正确的位置?
- [ ] 有没有死代码(未使用的函数、导入、变量)?
- [ ] 命名一致吗?(kebab-case、PascalCase、camelCase)
- [ ] 有没有 TODO/FIXME 没有对应 issue?
- [ ] 测试文件在正确的位置?

## 文档审查

- [ ] README 的安装步骤能跑通吗?
- [ ] AGENTS.md / CLAUDE.md 需要更新吗?
- [ ] STATE.md 事实变更了吗?
- [ ] ROADMAP.md 需要标记完成吗?
- [ ] 新增 API/命令有文档吗?
- [ ] CHANGELOG 更新了吗?

## 安全审查

- [ ] 有没有硬编码凭据(密码、API key、token)?
- [ ] 有没有 `.env` 或 `config.json` 被提交?
- [ ] 用户输入有校验吗?
- [ ] SQL 有注入风险吗?
- [ ] 错误信息泄露了内部实现细节吗?
- [ ] 第三方依赖是最新的吗?

## 架构审查

- [ ] 新代码遵循现有模式吗?
- [ ] 有没有循环依赖?
- [ ] 错误处理一致吗?
- [ ] 超时设置合理吗?
- [ ] 并发安全吗?(锁、竞态条件)
- [ ] 接口向后兼容吗?

## 易用性审查

- [ ] 错误信息对用户有用吗?
- [ ] 首次使用体验顺畅吗?
- [ ] 帮助文本/usage 准确吗?
- [ ] 命名直观吗?

## 测试审查

- [ ] 有单元测试吗?
- [ ] 有端到端测试覆盖关键路径吗?
- [ ] 测试了错误情况还是只测 happy path?
- [ ] Mock 合理吗?有没有 mock 了不该 mock 的?
- [ ] 测试能独立运行吗?不依赖特定环境?
110 changes: 0 additions & 110 deletions .codex/skills/set-goal/SKILL.md

This file was deleted.

Loading