Prompt 优化器
分析一个草稿提示,对其进行评估,匹配到 ECC 生态系统组件,并输出一个完整的优化提示供用户复制粘贴并运行。
何时使用
- 用户说“优化这个提示”、“改进我的提示”、“重写这个提示”
- 用户说“帮我写一个更好的提示来...”
- 用户说“询问 Claude Code 的...最佳方式是什么?”
- 用户说“优化prompt”、“改进prompt”、“怎么写prompt”、“帮我优化这个指令”
- 用户粘贴一个草稿提示并要求反馈或改进
- 用户说“我不知道如何为此编写提示”
- 用户说“我应该如何使用 ECC 来...”
- 用户明确调用
/prompt-optimize
不要用于
- 用户希望直接执行任务(直接执行即可)
- 用户说“优化代码”、“优化性能”、“optimize this code”、“optimize performance”——这些是重构任务,不是提示优化
- 用户询问 ECC 配置(改用
configure-ecc)
- 用户想要技能清单(改用
skill-stocktake)
- 用户说“直接做”或“just do it”
工作原理
仅提供建议——不要执行用户的任务。
不要编写代码、创建文件、运行命令或采取任何实现行动。你的唯一输出是分析加上一个优化后的提示。
如果用户说“直接做”、“just do it”或“不要优化,直接执行”,不要在此技能内切换到实现模式。告诉用户此技能只生成优化提示,并指示他们如果要执行任务,请提出正常的任务请求。
按顺序运行这个 6 阶段流程。使用下面的输出格式呈现结果。
分析流程
阶段 0:项目检测
在分析提示之前,检测当前项目上下文:
- 检查工作目录中是否存在
CLAUDE.md——读取它以了解项目惯例
- 从项目文件中检测技术栈:
package.json → Node.js / TypeScript / React / Next.js
go.mod → Go
pyproject.toml / requirements.txt → Python
Cargo.toml → Rust
build.gradle / pom.xml → Java / Kotlin(然后检查构建文件中的quarkus → Quarkus,或spring-boot → Spring Boot)
Package.swift → Swift
Gemfile → Ruby
composer.json → PHP
*.csproj / *.sln → .NET
Makefile / CMakeLists.txt → C / C++
cpanfile / Makefile.PL → Perl
- 记录检测到的技术栈,用于阶段 3 和阶段 4
如果未找到项目文件(例如,提示是抽象的或用于新项目),则跳过检测并在阶段 4 标记“技术栈未知”。
阶段 1:意图检测
将用户的任务分类为一个或多个类别:
| 类别 |
信号词 |
示例 |
| 新功能 |
build, create, add, implement, 创建, 实现, 添加 |
"Build a login page" |
| 错误修复 |
fix, broken, not working, error, 修复, 报错 |
"Fix the auth flow" |
| 重构 |
refactor, clean up, restructure, 重构, 整理 |
"Refactor the API layer" |
| 研究 |
how to, what is, explore, investigate, 怎么, 如何 |
"How to add SSO" |
| 测试 |
test, coverage, verify, 测试, 覆盖率 |
"Add tests for the cart" |
| 审查 |
review, audit, check, 审查, 检查 |
"Review my PR" |
| 文档 |
document, update docs, 文档 |
"Update the API docs" |
| 基础设施 |
deploy, CI, docker, database, 部署, 数据库 |
"Set up CI/CD pipeline" |
| 设计 |
design, architecture, plan, 设计, 架构 |
"Design the data model" |
阶段 2:范围评估
如果阶段 0 检测到项目,则使用代码库大小作为信号。否则,仅根据提示描述进行估算,并将估算标记为不确定。
| 范围 |
启发式判断 |
编排 |
| 微小 |
单个文件,< 50 行 |
直接执行 |
| 低 |
单个组件或模块 |
单个命令或技能 |
| 中 |
多个组件,同一领域 |
命令链 + /verify |
| 高 |
跨领域,5+ 个文件 |
先使用 /plan,然后分阶段执行 |
| 史诗级 |
多会话,多 PR,架构性变更 |
使用蓝图技能制定多会话计划 |
阶段 3:ECC 组件匹配
将意图 + 范围 + 技术栈(来自阶段 0)映射到特定的 ECC 组件。
按意图类型
| 意图 |
命令 |
技能 |
代理 |
| 新功能 |
/plan, /tdd, /code-review, /verify |
tdd-workflow, verification-loop |
planner, tdd-guide, code-reviewer |
| 错误修复 |
/tdd, /build-fix, /verify |
tdd-workflow |
tdd-guide, build-error-resolver |
| 重构 |
/refactor-clean, /code-review, /verify |
verification-loop |
refactor-cleaner, code-reviewer |
| 研究 |
/plan |
search-first, iterative-retrieval |
— |
| 测试 |
/tdd, /e2e, /test-coverage |
tdd-workflow, e2e-testing |
tdd-guide, e2e-runner |
| 审查 |
/code-review |
security-review |
code-reviewer, security-reviewer |
| 文档 |
/update-docs, /update-codemaps |
— |
doc-updater |
| 基础设施 |
/plan, /verify |
docker-patterns, deployment-patterns, database-migrations |
architect |
| 设计 (中-高) |
/plan |
— |
planner, architect |
| 设计 (史诗级) |
— |
blueprint (作为技能调用) |
planner, architect |
按技术栈
| 技术栈 |
要添加的技能 |
代理 |
| Python / Django |
django-patterns, django-tdd, django-security, django-verification, python-patterns, python-testing |
python-reviewer |
| Go |
golang-patterns, golang-testing |
go-reviewer, go-build-resolver |
| Spring Boot / Java |
springboot-patterns, springboot-tdd, springboot-security, springboot-verification, java-coding-standards, jpa-patterns |
java-reviewer |
| Quarkus / Java |
quarkus-patterns, quarkus-tdd, quarkus-security, quarkus-verification, java-coding-standards, jpa-patterns |
java-reviewer |
| Kotlin / Android |
kotlin-coroutines-flows, compose-multiplatform-patterns, android-clean-architecture |
kotlin-reviewer |
| TypeScript / React |
frontend-patterns, backend-patterns, coding-standards |
code-reviewer |
| Swift / iOS |
swiftui-patterns, swift-concurrency-6-2, swift-actor-persistence, swift-protocol-di-testing |
code-reviewer |
| PostgreSQL |
postgres-patterns, database-migrations |
database-reviewer |
| Perl |
perl-patterns, perl-testing, perl-security |
code-reviewer |
| C++ |
cpp-coding-standards, cpp-testing |
code-reviewer |
| 其他 / 未列出 |
coding-standards (通用) |
code-reviewer |
阶段 4:缺失上下文检测
扫描提示中缺失的关键信息。检查每个项目,并标记是阶段 0 自动检测到的还是用户必须提供的:
- [ ] 技术栈 —— 阶段 0 检测到的,还是用户必须指定?
- [ ] 目标范围 —— 提到了文件、目录或模块吗?
- [ ] 验收标准 —— 如何知道任务已完成?
- [ ] 错误处理 —— 是否考虑了边界情况和故障模式?
- [ ] 安全要求 —— 身份验证、输入验证、密钥?
- [ ] 测试期望 —— 单元测试、集成测试、E2E?
- [ ] 性能约束 —— 负载、延迟、资源限制?
- [ ] UI/UX 要求 —— 设计规范、响应式、无障碍访问?(如果是前端)
- [ ] 数据库变更 —— 模式、迁移、索引?(如果是数据层)
- [ ] 现有模式 —— 要遵循的参考文件或惯例?
- [ ] 范围边界 —— 什么不要做?
如果缺少 3 个以上关键项目,则在生成优化提示之前询问用户最多 3 个澄清问题。然后将答案纳入优化提示中。
阶段 5:工作流和模型推荐
确定此提示在开发生命周期中的位置:
Research → Plan → Implement (TDD) → Review → Verify → Commit
对于中等级别及以上的任务,始终以 /plan 开始。对于史诗级任务,使用蓝图技能。
模型推荐(包含在输出中):
| 范围 |
推荐模型 |
理由 |
| 微小-低 |
Sonnet 4.6 |
快速、成本效益高,适合简单任务 |
| 中 |
Sonnet 4.6 |
标准工作的最佳编码模型 |
| 高 |
Sonnet 4.6 (主) + Opus 4.6 (规划) |
Opus 用于架构,Sonnet 用于实现 |
| 史诗级 |
Opus 4.6 (蓝图) + Sonnet 4.6 (执行) |
深度推理用于多会话规划 |
多提示拆分(针对高/史诗级范围):
对于超出单个会话的任务,拆分为顺序提示:
- 提示 1:研究 + 计划(使用 search-first 技能,然后 /plan)
- 提示 2-N:每个提示实现一个阶段(每个阶段以 /verify 结束)
- 最终提示:集成测试 + 跨所有阶段的 /code-review
- 使用 /save-session 和 /resume-session 在会话之间保存上下文
输出格式
按照此确切结构呈现你的分析。使用与用户输入相同的语言进行回应。
第 1 部分:提示诊断
优点: 列出原始提示做得好的地方。
问题:
| 问题 |
影响 |
建议的修复方法 |
| (问题) |
(后果) |
(如何修复) |
需要澄清: 用户应回答的问题编号列表。如果阶段 0 自动检测到答案,请陈述该答案而不是提问。
第 2 部分:推荐的 ECC 组件
| 类型 |
组件 |
目的 |
| 命令 |
/plan |
编码前规划架构 |
| 技能 |
tdd-workflow |
TDD 方法指导 |
| 代理 |
code-reviewer |
实施后审查 |
| 模型 |
Sonnet 4.6 |
针对此范围的推荐模型 |
第 3 部分:优化提示 —— 完整版本
在单个围栏代码块内呈现完整的优化提示。该提示必须是自包含的,可以复制粘贴。包括:
- 清晰的任务描述和上下文
- 技术栈(检测到的或指定的)
- 在正确工作流阶段调用的 /command
- 验收标准
- 验证步骤
- 范围边界(什么不要做)
对于引用蓝图的项目,写成:“使用蓝图技能来...”(而不是 /blueprint,因为蓝图是技能,不是命令)。
第 4 部分:优化提示 —— 快速版本
为有经验的 ECC 用户提供的紧凑版本。根据意图类型而变化:
| 意图 |
快速模式 |
| 新功能 |
/plan [feature]. /tdd to implement. /code-review. /verify. |
| 错误修复 |
/tdd — write failing test for [bug]. Fix to green. /verify. |
| 重构 |
/refactor-clean [scope]. /code-review. /verify. |
| 研究 |
Use search-first skill for [topic]. /plan based on findings. |
| 测试 |
/tdd [module]. /e2e for critical flows. /test-coverage. |
| 审查 |
/code-review. Then use security-reviewer agent. |
| 文档 |
/update-docs. /update-codemaps. |
| 史诗级 |
Use blueprint skill for "[objective]". Execute phases with /verify gates. |
第 5 部分:改进理由
页脚
不符合你的需求?告诉我需要调整什么,或者如果你想执行任务而不是优化提示,请提出正常的任务请求。
示例
触发示例
- "Optimize this prompt for ECC"
- "Rewrite this prompt so Claude Code uses the right commands"
- "帮我优化这个指令"
- "How should I prompt ECC for this task?"
示例 1:模糊的中文提示(检测到项目)
用户输入:
帮我写一个用户登录页面
阶段 0 检测到: package.json,使用 Next.js 15, TypeScript, Tailwind CSS
优化提示(完整):
使用项目现有技术栈(Next.js 15 + TypeScript + Tailwind CSS)实现用户登录页面。
技术要求:
- 沿用项目现有的组件结构和路由约定
- 表单验证使用项目中已有的验证方案(检查是否已用 Zod/Yup/其他)
- 认证方式:沿用项目现有认证方案(如无,默认 JWT)
- 包含:邮箱/密码登录表单、表单验证、错误提示、加载状态、响应式布局
工作流:
1. /plan 先规划组件结构和认证流程,参考现有页面的模式
2. /tdd 测试先行:编写登录表单的单元测试和认证流程的集成测试
3. 实现登录页面和认证逻辑
4. /code-review 审查实现
5. /verify 验证所有测试通过且页面正常渲染
安全要求:
- 密码不明文传输
- 防止暴力破解(rate limiting)
- XSS 防护
- CSRF token
验收标准:
- 所有测试通过,覆盖率 80%+
- 页面在移动端和桌面端正常渲染
- 登录成功跳转到 dashboard,失败显示错误信息
不要做:
- 不要实现注册页面
- 不要实现忘记密码功能
- 不要修改现有的路由结构
示例 2:中等英文提示
用户输入:
添加一个用于用户资料更新的REST API端点,并包含验证功能。
阶段 0 检测到: go.mod,使用 Go 1.22, Chi router
优化提示(完整):
添加用于用户资料更新的 REST API 端点(PATCH /api/users/:id)。
技术栈:Go 1.22 + Chi 路由器(根据项目检测得出)
要求:
- PATCH /api/users/:id — 部分更新用户资料
- 对字段进行输入验证:name、email、avatar_url、bio
- 身份验证:需要有效令牌,用户只能更新自己的资料
- 成功时返回 200 及更新后的用户信息
- 输入无效时返回 400 及验证错误信息
- 身份验证失败时返回 401/403
- 遵循代码库中现有的 API 模式
工作流程:
1. /plan 端点结构、中间件链和验证逻辑
2. /tdd — 为成功、验证失败、身份验证失败、未找到等情况编写表格驱动测试
3. 按照现有处理器模式实现
4. /go-review
5. /verify — 运行完整的测试套件,确认没有回归问题
禁止事项:
- 修改现有端点
- 更改数据库模式(使用现有的 user 表)
- 在未先检查现有依赖项的情况下添加新依赖(使用搜索优先技能)
示例 3:史诗级项目
用户输入:
将我们的单体架构迁移到微服务
优化提示(完整):
使用蓝图技能规划:“将单体架构迁移至微服务架构”
在执行前,请在蓝图中回答以下问题:
1. 当前单体架构中存在哪些领域边界?
2. 应该首先提取哪个服务(耦合度最低)?
3. 通信模式:REST API、gRPC 还是事件驱动(Kafka/RabbitMQ)?
4. 数据库策略:初期使用共享数据库,还是一开始就采用“每个服务一个数据库”?
5. 部署目标:Kubernetes、Docker Compose 还是无服务器?
蓝图应生成如下阶段:
- 阶段 1:识别服务边界并创建领域映射
- 阶段 2:搭建基础设施(API 网关、服务网格、每个服务的 CI/CD)
- 阶段 3:提取第一个服务(采用绞杀者模式)
- 阶段 4:通过集成测试验证,然后提取下一个服务
- 阶段 N:停用单体架构
每个阶段 = 1 个 PR,阶段之间设置 /verify 检查点。
阶段之间使用 /save-session。使用 /resume-session 继续。
在依赖关系允许时,使用 git worktrees 进行并行服务提取。
推荐:使用 Opus 4.6 进行蓝图规划,使用 Sonnet 4.6 执行各阶段。
相关组件
| 组件 |
何时引用 |
configure-ecc |
用户尚未设置 ECC |
skill-stocktake |
审计安装了哪些组件(使用它而不是硬编码的目录) |
search-first |
优化提示中的研究阶段 |
blueprint |
史诗级范围的优化提示(作为技能调用,而非命令) |
strategic-compact |
长会话上下文管理 |
cost-aware-llm-pipeline |
Token 优化推荐 |
Source: affaan-m/ECC → docs/zh-CN/skills/prompt-optimizer/SKILL.md
1---2name: prompt-optimizer-23description: 分析原始提示,识别意图和差距,匹配ECC组件(技能/命令/代理/钩子),并输出一个可直接粘贴的优化提示。仅提供咨询角色——绝不自行执行任务。触发时机:当用户说“优化提示”、“改进我的提示”、“如何编写提示”、“帮我优化这个指令”或明确要求提高提示质量时。中文等效表达同样触发:“优化prompt”、“改进prompt”、“怎么写prompt”、“帮我优化这个指令”。不触发时机:当用户希望直接执行任务,或说“直接做”时。不触发时机:当用户说“优化代码”、“优化性能”、“optimize performance”、“optimize this code”时——这些是重构/性能优化任务,而非提示优化。4---5# Prompt 优化器
6
7分析一个草稿提示,对其进行评估,匹配到 ECC 生态系统组件,并输出一个完整的优化提示供用户复制粘贴并运行。
8
9## 何时使用
10
11* 用户说“优化这个提示”、“改进我的提示”、“重写这个提示”
12* 用户说“帮我写一个更好的提示来...”
13* 用户说“询问 Claude Code 的...最佳方式是什么?”
14* 用户说“优化prompt”、“改进prompt”、“怎么写prompt”、“帮我优化这个指令”
15* 用户粘贴一个草稿提示并要求反馈或改进
16* 用户说“我不知道如何为此编写提示”
17* 用户说“我应该如何使用 ECC 来...”
18* 用户明确调用 `/prompt-optimize`
19
20### 不要用于
21
22* 用户希望直接执行任务(直接执行即可)
23* 用户说“优化代码”、“优化性能”、“optimize this code”、“optimize performance”——这些是重构任务,不是提示优化
24* 用户询问 ECC 配置(改用 `configure-ecc`)
25* 用户想要技能清单(改用 `skill-stocktake`)
26* 用户说“直接做”或“just do it”
27
28## 工作原理
29
30**仅提供建议——不要执行用户的任务。**
31
32不要编写代码、创建文件、运行命令或采取任何实现行动。你的**唯一**输出是分析加上一个优化后的提示。
33
34如果用户说“直接做”、“just do it”或“不要优化,直接执行”,不要在此技能内切换到实现模式。告诉用户此技能只生成优化提示,并指示他们如果要执行任务,请提出正常的任务请求。
35
36按顺序运行这个 6 阶段流程。使用下面的输出格式呈现结果。
37
38### 分析流程
39
40### 阶段 0:项目检测
41
42在分析提示之前,检测当前项目上下文:
43
441. 检查工作目录中是否存在 `CLAUDE.md`——读取它以了解项目惯例
452. 从项目文件中检测技术栈:
46 * `package.json` → Node.js / TypeScript / React / Next.js
47 * `go.mod` → Go
48 * `pyproject.toml` / `requirements.txt` → Python
49 * `Cargo.toml` → Rust
50 * `build.gradle` / `pom.xml` → Java / Kotlin(然后检查构建文件中的`quarkus` → Quarkus,或`spring-boot` → Spring Boot)
51 * `Package.swift` → Swift
52 * `Gemfile` → Ruby
53 * `composer.json` → PHP
54 * `*.csproj` / `*.sln` → .NET
55 * `Makefile` / `CMakeLists.txt` → C / C++
56 * `cpanfile` / `Makefile.PL` → Perl
573. 记录检测到的技术栈,用于阶段 3 和阶段 4
58
59如果未找到项目文件(例如,提示是抽象的或用于新项目),则跳过检测并在阶段 4 标记“技术栈未知”。
60
61### 阶段 1:意图检测
62
63将用户的任务分类为一个或多个类别:
64
65| 类别 | 信号词 | 示例 |
66|----------|-------------|---------|
67| 新功能 | build, create, add, implement, 创建, 实现, 添加 | "Build a login page" |
68| 错误修复 | fix, broken, not working, error, 修复, 报错 | "Fix the auth flow" |
69| 重构 | refactor, clean up, restructure, 重构, 整理 | "Refactor the API layer" |
70| 研究 | how to, what is, explore, investigate, 怎么, 如何 | "How to add SSO" |
71| 测试 | test, coverage, verify, 测试, 覆盖率 | "Add tests for the cart" |
72| 审查 | review, audit, check, 审查, 检查 | "Review my PR" |
73| 文档 | document, update docs, 文档 | "Update the API docs" |
74| 基础设施 | deploy, CI, docker, database, 部署, 数据库 | "Set up CI/CD pipeline" |
75| 设计 | design, architecture, plan, 设计, 架构 | "Design the data model" |
76
77### 阶段 2:范围评估
78
79如果阶段 0 检测到项目,则使用代码库大小作为信号。否则,仅根据提示描述进行估算,并将估算标记为不确定。
80
81| 范围 | 启发式判断 | 编排 |
82|-------|-----------|---------------|
83| 微小 | 单个文件,< 50 行 | 直接执行 |
84| 低 | 单个组件或模块 | 单个命令或技能 |
85| 中 | 多个组件,同一领域 | 命令链 + /verify |
86| 高 | 跨领域,5+ 个文件 | 先使用 /plan,然后分阶段执行 |
87| 史诗级 | 多会话,多 PR,架构性变更 | 使用蓝图技能制定多会话计划 |
88
89### 阶段 3:ECC 组件匹配
90
91将意图 + 范围 + 技术栈(来自阶段 0)映射到特定的 ECC 组件。
92
93#### 按意图类型
94
95| 意图 | 命令 | 技能 | 代理 |
96|--------|----------|--------|--------|
97| 新功能 | /plan, /tdd, /code-review, /verify | tdd-workflow, verification-loop | planner, tdd-guide, code-reviewer |
98| 错误修复 | /tdd, /build-fix, /verify | tdd-workflow | tdd-guide, build-error-resolver |
99| 重构 | /refactor-clean, /code-review, /verify | verification-loop | refactor-cleaner, code-reviewer |
100| 研究 | /plan | search-first, iterative-retrieval | — |
101| 测试 | /tdd, /e2e, /test-coverage | tdd-workflow, e2e-testing | tdd-guide, e2e-runner |
102| 审查 | /code-review | security-review | code-reviewer, security-reviewer |
103| 文档 | /update-docs, /update-codemaps | — | doc-updater |
104| 基础设施 | /plan, /verify | docker-patterns, deployment-patterns, database-migrations | architect |
105| 设计 (中-高) | /plan | — | planner, architect |
106| 设计 (史诗级) | — | blueprint (作为技能调用) | planner, architect |
107
108#### 按技术栈
109
110| 技术栈 | 要添加的技能 | 代理 |
111|------------|--------------|-------|
112| Python / Django | django-patterns, django-tdd, django-security, django-verification, python-patterns, python-testing | python-reviewer |
113| Go | golang-patterns, golang-testing | go-reviewer, go-build-resolver |
114| Spring Boot / Java | springboot-patterns, springboot-tdd, springboot-security, springboot-verification, java-coding-standards, jpa-patterns | java-reviewer |
115| Quarkus / Java | quarkus-patterns, quarkus-tdd, quarkus-security, quarkus-verification, java-coding-standards, jpa-patterns | java-reviewer |
116| Kotlin / Android | kotlin-coroutines-flows, compose-multiplatform-patterns, android-clean-architecture | kotlin-reviewer |
117| TypeScript / React | frontend-patterns, backend-patterns, coding-standards | code-reviewer |
118| Swift / iOS | swiftui-patterns, swift-concurrency-6-2, swift-actor-persistence, swift-protocol-di-testing | code-reviewer |
119| PostgreSQL | postgres-patterns, database-migrations | database-reviewer |
120| Perl | perl-patterns, perl-testing, perl-security | code-reviewer |
121| C++ | cpp-coding-standards, cpp-testing | code-reviewer |
122| 其他 / 未列出 | coding-standards (通用) | code-reviewer |
123
124### 阶段 4:缺失上下文检测
125
126扫描提示中缺失的关键信息。检查每个项目,并标记是阶段 0 自动检测到的还是用户必须提供的:
127
128* \[ ] **技术栈** —— 阶段 0 检测到的,还是用户必须指定?
129* \[ ] **目标范围** —— 提到了文件、目录或模块吗?
130* \[ ] **验收标准** —— 如何知道任务已完成?
131* \[ ] **错误处理** —— 是否考虑了边界情况和故障模式?
132* \[ ] **安全要求** —— 身份验证、输入验证、密钥?
133* \[ ] **测试期望** —— 单元测试、集成测试、E2E?
134* \[ ] **性能约束** —— 负载、延迟、资源限制?
135* \[ ] **UI/UX 要求** —— 设计规范、响应式、无障碍访问?(如果是前端)
136* \[ ] **数据库变更** —— 模式、迁移、索引?(如果是数据层)
137* \[ ] **现有模式** —— 要遵循的参考文件或惯例?
138* \[ ] **范围边界** —— 什么**不要**做?
139
140**如果缺少 3 个以上关键项目**,则在生成优化提示之前询问用户最多 3 个澄清问题。然后将答案纳入优化提示中。
141
142### 阶段 5:工作流和模型推荐
143
144确定此提示在开发生命周期中的位置:
145
146```
147Research → Plan → Implement (TDD) → Review → Verify → Commit
148```
149
150对于中等级别及以上的任务,始终以 /plan 开始。对于史诗级任务,使用蓝图技能。
151
152**模型推荐**(包含在输出中):
153
154| 范围 | 推荐模型 | 理由 |
155|-------|------------------|-----------|
156| 微小-低 | Sonnet 4.6 | 快速、成本效益高,适合简单任务 |
157| 中 | Sonnet 4.6 | 标准工作的最佳编码模型 |
158| 高 | Sonnet 4.6 (主) + Opus 4.6 (规划) | Opus 用于架构,Sonnet 用于实现 |
159| 史诗级 | Opus 4.6 (蓝图) + Sonnet 4.6 (执行) | 深度推理用于多会话规划 |
160
161**多提示拆分**(针对高/史诗级范围):
162
163对于超出单个会话的任务,拆分为顺序提示:
164
165* 提示 1:研究 + 计划(使用 search-first 技能,然后 /plan)
166* 提示 2-N:每个提示实现一个阶段(每个阶段以 /verify 结束)
167* 最终提示:集成测试 + 跨所有阶段的 /code-review
168* 使用 /save-session 和 /resume-session 在会话之间保存上下文
169
170***
171
172## 输出格式
173
174按照此确切结构呈现你的分析。使用与用户输入相同的语言进行回应。
175
176### 第 1 部分:提示诊断
177
178**优点:** 列出原始提示做得好的地方。
179
180**问题:**
181
182| 问题 | 影响 | 建议的修复方法 |
183|-------|--------|---------------|
184| (问题) | (后果) | (如何修复) |
185
186**需要澄清:** 用户应回答的问题编号列表。如果阶段 0 自动检测到答案,请陈述该答案而不是提问。
187
188### 第 2 部分:推荐的 ECC 组件
189
190| 类型 | 组件 | 目的 |
191|------|-----------|---------|
192| 命令 | /plan | 编码前规划架构 |
193| 技能 | tdd-workflow | TDD 方法指导 |
194| 代理 | code-reviewer | 实施后审查 |
195| 模型 | Sonnet 4.6 | 针对此范围的推荐模型 |
196
197### 第 3 部分:优化提示 —— 完整版本
198
199在单个围栏代码块内呈现完整的优化提示。该提示必须是自包含的,可以复制粘贴。包括:
200
201* 清晰的任务描述和上下文
202* 技术栈(检测到的或指定的)
203* 在正确工作流阶段调用的 /command
204* 验收标准
205* 验证步骤
206* 范围边界(什么**不要**做)
207
208对于引用蓝图的项目,写成:“使用蓝图技能来...”(而不是 `/blueprint`,因为蓝图是技能,不是命令)。
209
210### 第 4 部分:优化提示 —— 快速版本
211
212为有经验的 ECC 用户提供的紧凑版本。根据意图类型而变化:
213
214| 意图 | 快速模式 |
215|--------|--------------|
216| 新功能 | `/plan [feature]. /tdd to implement. /code-review. /verify.` |
217| 错误修复 | `/tdd — write failing test for [bug]. Fix to green. /verify.` |
218| 重构 | `/refactor-clean [scope]. /code-review. /verify.` |
219| 研究 | `Use search-first skill for [topic]. /plan based on findings.` |
220| 测试 | `/tdd [module]. /e2e for critical flows. /test-coverage.` |
221| 审查 | `/code-review. Then use security-reviewer agent.` |
222| 文档 | `/update-docs. /update-codemaps.` |
223| 史诗级 | `Use blueprint skill for "[objective]". Execute phases with /verify gates.` |
224
225### 第 5 部分:改进理由
226
227| 改进 | 理由 |
228|-------------|--------|
229| (添加了什么) | (为什么重要) |
230
231### 页脚
232
233> 不符合你的需求?告诉我需要调整什么,或者如果你想执行任务而不是优化提示,请提出正常的任务请求。
234
235***
236
237## 示例
238
239### 触发示例
240
241* "Optimize this prompt for ECC"
242* "Rewrite this prompt so Claude Code uses the right commands"
243* "帮我优化这个指令"
244* "How should I prompt ECC for this task?"
245
246### 示例 1:模糊的中文提示(检测到项目)
247
248**用户输入:**
249
250```
251帮我写一个用户登录页面
252```
253
254**阶段 0 检测到:** `package.json`,使用 Next.js 15, TypeScript, Tailwind CSS
255
256**优化提示(完整):**
257
258```
259使用项目现有技术栈(Next.js 15 + TypeScript + Tailwind CSS)实现用户登录页面。
260
261技术要求:
262- 沿用项目现有的组件结构和路由约定
263- 表单验证使用项目中已有的验证方案(检查是否已用 Zod/Yup/其他)
264- 认证方式:沿用项目现有认证方案(如无,默认 JWT)
265- 包含:邮箱/密码登录表单、表单验证、错误提示、加载状态、响应式布局
266
267工作流:
2681. /plan 先规划组件结构和认证流程,参考现有页面的模式
2692. /tdd 测试先行:编写登录表单的单元测试和认证流程的集成测试
2703. 实现登录页面和认证逻辑
2714. /code-review 审查实现
2725. /verify 验证所有测试通过且页面正常渲染
273
274安全要求:
275- 密码不明文传输
276- 防止暴力破解(rate limiting)
277- XSS 防护
278- CSRF token
279
280验收标准:
281- 所有测试通过,覆盖率 80%+
282- 页面在移动端和桌面端正常渲染
283- 登录成功跳转到 dashboard,失败显示错误信息
284
285不要做:
286- 不要实现注册页面
287- 不要实现忘记密码功能
288- 不要修改现有的路由结构
289```
290
291### 示例 2:中等英文提示
292
293**用户输入:**
294
295```
296添加一个用于用户资料更新的REST API端点,并包含验证功能。
297```
298
299**阶段 0 检测到:** `go.mod`,使用 Go 1.22, Chi router
300
301**优化提示(完整):**
302
303```
304添加用于用户资料更新的 REST API 端点(PATCH /api/users/:id)。
305
306技术栈:Go 1.22 + Chi 路由器(根据项目检测得出)
307
308要求:
309- PATCH /api/users/:id — 部分更新用户资料
310- 对字段进行输入验证:name、email、avatar_url、bio
311- 身份验证:需要有效令牌,用户只能更新自己的资料
312- 成功时返回 200 及更新后的用户信息
313- 输入无效时返回 400 及验证错误信息
314- 身份验证失败时返回 401/403
315- 遵循代码库中现有的 API 模式
316
317工作流程:
3181. /plan 端点结构、中间件链和验证逻辑
3192. /tdd — 为成功、验证失败、身份验证失败、未找到等情况编写表格驱动测试
3203. 按照现有处理器模式实现
3214. /go-review
3225. /verify — 运行完整的测试套件,确认没有回归问题
323
324禁止事项:
325- 修改现有端点
326- 更改数据库模式(使用现有的 user 表)
327- 在未先检查现有依赖项的情况下添加新依赖(使用搜索优先技能)
328```
329
330### 示例 3:史诗级项目
331
332**用户输入:**
333
334```
335将我们的单体架构迁移到微服务
336```
337
338**优化提示(完整):**
339
340```
341使用蓝图技能规划:“将单体架构迁移至微服务架构”
342
343在执行前,请在蓝图中回答以下问题:
3441. 当前单体架构中存在哪些领域边界?
3452. 应该首先提取哪个服务(耦合度最低)?
3463. 通信模式:REST API、gRPC 还是事件驱动(Kafka/RabbitMQ)?
3474. 数据库策略:初期使用共享数据库,还是一开始就采用“每个服务一个数据库”?
3485. 部署目标:Kubernetes、Docker Compose 还是无服务器?
349
350蓝图应生成如下阶段:
351- 阶段 1:识别服务边界并创建领域映射
352- 阶段 2:搭建基础设施(API 网关、服务网格、每个服务的 CI/CD)
353- 阶段 3:提取第一个服务(采用绞杀者模式)
354- 阶段 4:通过集成测试验证,然后提取下一个服务
355- 阶段 N:停用单体架构
356
357每个阶段 = 1 个 PR,阶段之间设置 /verify 检查点。
358阶段之间使用 /save-session。使用 /resume-session 继续。
359在依赖关系允许时,使用 git worktrees 进行并行服务提取。
360
361推荐:使用 Opus 4.6 进行蓝图规划,使用 Sonnet 4.6 执行各阶段。
362```
363
364***
365
366## 相关组件
367
368| 组件 | 何时引用 |
369|-----------|------------------|
370| `configure-ecc` | 用户尚未设置 ECC |
371| `skill-stocktake` | 审计安装了哪些组件(使用它而不是硬编码的目录) |
372| `search-first` | 优化提示中的研究阶段 |
373| `blueprint` | 史诗级范围的优化提示(作为技能调用,而非命令) |
374| `strategic-compact` | 长会话上下文管理 |
375| `cost-aware-llm-pipeline` | Token 优化推荐 |
376
377---
378
379**Source:** [`affaan-m/ECC`](https://github.com/affaan-m/ECC) → `docs/zh-CN/skills/prompt-optimizer/SKILL.md`