基于 CoreCoder 架构,精准编辑与并行处理代码,拆分子任务,拦截危险操作,持久化会话日志,支持项目结构和风格理解。
# CoreCoder - 编码代理 Skill
基于 CoreCoder 架构的编码代理,实现 Claude Code 的 7 个核心架构模式。
## 触发条件
当用户要求:
- 编写/修改代码
- 修复 bug
- 代码重构
- 代码审查
- 项目结构分析
## 架构模式
本 skill 实现 CoreCoder 的 7 个核心模式:
### 1. 搜索替换编辑
使用 `edit` 工具进行精确的代码修改,而非整文件重写。
- 先读取文件理解上下文
- 定位需要修改的具体位置
- 使用最小化的 edit 操作
### 2. 并行工具执行
多个独立的文件操作可以并行执行:
- 同时读取多个文件
- 同时搜索多个模式
- 批量修改不相关的代码
### 3. 三层上下文压缩
- **Layer 1**: 只读取相关代码片段,不读取整个文件
- **Layer 2**: 使用 `read` 的 offset/limit 参数分页读取
- **Layer 3**: 对长文件先搜索关键位置,再精确定位读取
### 4. 子代理隔离
复杂任务拆分为独立子任务:
- 每个子任务在独立上下文中执行
- 避免主会话上下文污染
- 子任务完成后汇总结果
### 5. 危险命令拦截
执行前检查:
- `rm -rf` / `del /f` → 拒绝,改用移动到 `_bak_`
- `format` / `diskpart` → 拒绝
- 注册表操作 → 拒绝
- 批量文件操作 → 先 dry-run
### 6. 会话持久化
- 每次编码任务记录到 `memory/YYYY-MM-DD.md`
- 记录:修改了哪些文件、为什么修改、结果如何
- 支持后续查询和回溯
### 7. 动态系统提示
根据任务类型动态调整:
- 读取项目结构 → 理解技术栈
- 读取相关文档 → 理解业务逻辑
- 读取已有代码 → 理解编码风格
## 工作流程
### 标准编码流程
```
1. 理解需求
- 读取相关文件
- 搜索相关代码
- 理解项目结构
2. 制定方案
- 列出修改点
- 评估影响范围
- 确认方案(如需要)
3. 执行修改
- 使用 edit 工具精确修改
- 并行处理独立修改
- 危险操作前确认
4. 验证结果
- 读取修改后的文件
- 检查语法正确性
- 运行测试(如有)
5. 记录结果
- 更新 memory 日志
- 提交 git(如适用)
```
### 子代理执行模式
对于复杂任务,使用 `sessions_spawn`:
```
sessions_spawn:
task: |
## 编码任务
[具体任务描述]
## 上下文
[相关文件路径、项目结构]
## 要求
- 使用 edit 工具精确修改
- 修改前先读取理解
- 危险操作前确认
- 完成后汇报修改清单
mode: run
label: corecoder-task
```
## 工具使用
| 工具 | 用途 | 示例 |
|------|------|------|
| `read` | 读取文件/代码 | `read("src/main.py", offset=1, limit=50)` |
| `edit` | 精确修改 | `edit("src/main.py", old="x=1", new="x=2")` |
| `write` | 创建新文件 | `write("src/new.py", content="...")` |
| `exec` | 执行命令 | `exec("python test.py")` |
| `sessions_spawn` | 子任务 | 复杂任务拆分 |
## 安全规则
1. **不删除文件**:只移动到 `_bak_`
2. **不修改系统文件**:只在工作目录内操作
3. **危险命令需确认**:批量操作前先 dry-run
4. **记录所有修改**:写入 memory 日志
## 示例
### 示例 1:修复 bug
用户:`main.py 第 42 行有个 typo,halper 应该是 helper`
执行:
1. `read("main.py", offset=40, limit=5)` → 确认位置
2. `edit("main.py", old="from utils import halper", new="from utils import helper")`
3. `read("main.py", offset=40, limit=5)` → 验证修改
4. 记录到 memory
### 示例 2:重构代码
用户:`把 utils.py 里的重复代码提取成函数`
执行:
1. `read("utils.py")` → 理解全貌
2. 识别重复模式
3. 制定重构方案
4. `edit` 提取函数
5. `edit` 替换调用点
6. 验证无语法错误
7. 记录修改
### 示例 3:复杂任务(使用子代理)
用户:`给整个项目添加类型注解`
执行:
```
sessions_spawn:
task: "扫描项目所有 .py 文件,添加类型注解..."
mode: run
label: type-annotation-task
```
## 注意事项
- 优先使用 `edit` 而非 `write`(保留文件历史)
- 大文件使用 `offset/limit` 分页读取
- 修改前先 `read` 理解上下文
- 复杂任务用子代理,避免主会话阻塞
don't have the plugin yet? install it then click "run inline in claude" again.