ccg-ros2-workflow 2.2.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -96
- package/README.zh-CN.md +256 -0
- package/dist/cli.mjs +15 -15
- package/dist/index.d.mts +61 -34
- package/dist/index.d.ts +61 -34
- package/dist/index.mjs +4 -4
- package/dist/shared/ccg-ros2-workflow.Bhm8c7P1.mjs +5154 -0
- package/package.json +31 -12
- package/templates/codex/AGENTS.md +348 -0
- package/templates/codex/agents/ccg-implement.toml +73 -0
- package/templates/codex/agents/ccg-research.toml +73 -0
- package/templates/codex/agents/ccg-review.toml +82 -0
- package/templates/codex/config.toml +21 -0
- package/templates/codex/hooks/ccg-workflow.py +253 -0
- package/templates/codex/hooks.json +15 -0
- package/templates/commands/agents/planner.md +97 -122
- package/templates/commands/agents/system-integrator.md +2 -2
- package/templates/commands/agents/team-architect.md +97 -0
- package/templates/commands/agents/team-qa.md +121 -0
- package/templates/commands/agents/team-reviewer.md +112 -0
- package/templates/commands/commit.md +30 -1
- package/templates/commands/context.md +332 -0
- package/templates/commands/go.md +206 -0
- package/templates/commands/init.md +1 -1
- package/templates/commands/spec-impl.md +41 -21
- package/templates/commands/spec-init.md +21 -27
- package/templates/commands/spec-plan.md +54 -21
- package/templates/commands/spec-research.md +78 -26
- package/templates/commands/spec-review.md +20 -16
- package/templates/{commands → commands-legacy}/analyze.md +1 -1
- package/templates/commands-legacy/backend.md +224 -0
- package/templates/commands-legacy/codex-exec.md +411 -0
- package/templates/{commands → commands-legacy}/debug.md +1 -1
- package/templates/commands-legacy/enhance.md +55 -0
- package/templates/{commands → commands-legacy}/feat.md +2 -2
- package/templates/commands-legacy/frontend.md +213 -0
- package/templates/{commands → commands-legacy}/optimize.md +1 -1
- package/templates/{commands → commands-legacy}/plan.md +1 -15
- package/templates/{commands → commands-legacy}/team-plan.md +1 -1
- package/templates/commands-legacy/team.md +475 -0
- package/templates/{commands → commands-legacy}/test.md +1 -1
- package/templates/commands-legacy/workflow.md +283 -0
- package/templates/engine/model-router.md +123 -0
- package/templates/engine/phase-guide.md +207 -0
- package/templates/engine/strategies/debug-investigate.md +169 -0
- package/templates/engine/strategies/deep-research.md +141 -0
- package/templates/engine/strategies/direct-fix.md +108 -0
- package/templates/engine/strategies/full-collaborate.md +389 -0
- package/templates/engine/strategies/git-action.md +43 -0
- package/templates/engine/strategies/guided-develop.md +282 -0
- package/templates/engine/strategies/optimize-measure.md +103 -0
- package/templates/engine/strategies/quick-implement.md +96 -0
- package/templates/engine/strategies/refactor-safely.md +180 -0
- package/templates/engine/strategies/review-audit.md +123 -0
- package/templates/hooks/session-start.js +100 -0
- package/templates/hooks/skill-router.js +144 -0
- package/templates/hooks/subagent-context.js +161 -0
- package/templates/hooks/task-utils.js +190 -0
- package/templates/hooks/workflow-state.js +55 -0
- package/templates/output-styles/abyss-command.md +56 -0
- package/templates/output-styles/abyss-concise.md +89 -0
- package/templates/output-styles/abyss-ritual.md +70 -0
- package/templates/output-styles/engineer-professional.md +20 -3
- package/templates/output-styles/laowang-engineer.md +2 -2
- package/templates/prompts/antigravity/analyzer.md +59 -0
- package/templates/prompts/antigravity/architect.md +55 -0
- package/templates/prompts/antigravity/builder.md +52 -0
- package/templates/prompts/antigravity/debugger.md +48 -0
- package/templates/prompts/antigravity/frontend.md +50 -0
- package/templates/prompts/antigravity/optimizer.md +40 -0
- package/templates/prompts/antigravity/reviewer.md +67 -0
- package/templates/prompts/antigravity/tester.md +39 -0
- package/templates/prompts/claude/debugger.md +1 -1
- package/templates/prompts/claude/reviewer.md +1 -1
- package/templates/prompts/codex/analyzer.md +8 -0
- package/templates/prompts/codex/architect.md +9 -1
- package/templates/prompts/codex/builder.md +61 -0
- package/templates/prompts/codex/debugger.md +9 -1
- package/templates/prompts/codex/optimizer.md +7 -0
- package/templates/prompts/codex/reviewer.md +7 -0
- package/templates/prompts/codex/tester.md +8 -1
- package/templates/prompts/gemini/analyzer.md +11 -3
- package/templates/prompts/gemini/architect.md +10 -2
- package/templates/prompts/gemini/debugger.md +8 -0
- package/templates/prompts/gemini/frontend.md +10 -2
- package/templates/prompts/gemini/optimizer.md +9 -2
- package/templates/prompts/gemini/reviewer.md +7 -0
- package/templates/prompts/gemini/tester.md +8 -1
- package/templates/rules/ccg-skill-routing.md +91 -0
- package/templates/rules/ccg-skills.md +65 -0
- package/templates/skills/SKILL.md +92 -0
- package/templates/skills/domains/ai/SKILL.md +34 -0
- package/templates/skills/domains/ai/agent-dev.md +242 -0
- package/templates/skills/domains/ai/llm-security.md +288 -0
- package/templates/skills/domains/ai/prompt-and-eval.md +279 -0
- package/templates/skills/domains/ai/rag-system.md +542 -0
- package/templates/skills/domains/architecture/SKILL.md +42 -0
- package/templates/skills/domains/architecture/api-design.md +225 -0
- package/templates/skills/domains/architecture/caching.md +299 -0
- package/templates/skills/domains/architecture/cloud-native.md +285 -0
- package/templates/skills/domains/architecture/message-queue.md +329 -0
- package/templates/skills/domains/architecture/security-arch.md +297 -0
- package/templates/skills/domains/data-engineering/SKILL.md +207 -0
- package/templates/skills/domains/development/SKILL.md +46 -0
- package/templates/skills/domains/development/cpp.md +369 -0
- package/templates/skills/domains/development/go.md +323 -0
- package/templates/skills/domains/development/java.md +277 -0
- package/templates/skills/domains/development/python.md +487 -0
- package/templates/skills/domains/development/rust.md +313 -0
- package/templates/skills/domains/development/shell.md +313 -0
- package/templates/skills/domains/development/typescript.md +277 -0
- package/templates/skills/domains/devops/SKILL.md +39 -0
- package/templates/skills/domains/devops/cost-optimization.md +272 -0
- package/templates/skills/domains/devops/database.md +217 -0
- package/templates/skills/domains/devops/devsecops.md +198 -0
- package/templates/skills/domains/devops/git-workflow.md +181 -0
- package/templates/skills/domains/devops/observability.md +280 -0
- package/templates/skills/domains/devops/performance.md +336 -0
- package/templates/skills/domains/devops/testing.md +283 -0
- package/templates/skills/domains/infrastructure/SKILL.md +200 -0
- package/templates/skills/domains/mobile/SKILL.md +224 -0
- package/templates/skills/domains/orchestration/SKILL.md +29 -0
- package/templates/skills/domains/orchestration/multi-agent.md +263 -0
- package/templates/skills/domains/ros2-control/SKILL.md +206 -0
- package/templates/skills/domains/ros2-hardware/SKILL.md +277 -0
- package/templates/skills/domains/ros2-manipulation/SKILL.md +237 -0
- package/templates/skills/domains/ros2-navigation/SKILL.md +196 -0
- package/templates/skills/domains/ros2-perception/SKILL.md +166 -0
- package/templates/skills/domains/ros2-upper-app/SKILL.md +50 -0
- package/templates/skills/domains/ros2-upper-app/launch-files.md +224 -0
- package/templates/skills/domains/ros2-upper-app/parameters.md +192 -0
- package/templates/skills/domains/ros2-upper-app/python-nodes.md +249 -0
- package/templates/skills/domains/ros2-upper-app/rviz-config.md +158 -0
- package/templates/skills/domains/ros2-upper-app/simulation.md +225 -0
- package/templates/skills/domains/security/SKILL.md +72 -0
- package/templates/skills/domains/security/blue-team.md +436 -0
- package/templates/skills/domains/security/code-audit.md +265 -0
- package/templates/skills/domains/security/pentest.md +226 -0
- package/templates/skills/domains/security/red-team.md +374 -0
- package/templates/skills/domains/security/threat-intel.md +372 -0
- package/templates/skills/domains/security/vuln-research.md +369 -0
- package/templates/skills/orchestration/multi-agent/SKILL.md +533 -0
- package/templates/skills/run_skill.js +129 -0
- package/templates/skills/scrapling/SKILL.md +98 -0
- package/templates/skills/scrapling/references/api-quick-ref.md +127 -0
- package/templates/skills/scrapling/references/cookie-vault.md +56 -0
- package/templates/skills/scrapling/references/maintenance.md +79 -0
- package/templates/skills/scrapling/references/site-patterns.md +86 -0
- package/templates/skills/scrapling/references/troubleshooting.md +95 -0
- package/templates/skills/scrapling/templates/basic_fetch.py +19 -0
- package/templates/skills/scrapling/templates/parse_only.py +15 -0
- package/templates/skills/scrapling/templates/session_login.py +19 -0
- package/templates/skills/scrapling/templates/stealth_cloudflare.py +28 -0
- package/templates/skills/tools/gen-docs/SKILL.md +116 -0
- package/templates/skills/tools/gen-docs/scripts/doc_generator.js +435 -0
- package/templates/skills/tools/lib/shared.js +98 -0
- package/templates/skills/tools/override-refusal/SKILL.md +53 -0
- package/templates/skills/tools/override-refusal/agents/openai.yaml +4 -0
- package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -0
- package/templates/skills/tools/verify-change/SKILL.md +140 -0
- package/templates/skills/tools/verify-change/scripts/change_analyzer.js +289 -0
- package/templates/skills/tools/verify-module/SKILL.md +127 -0
- package/templates/skills/tools/verify-module/scripts/module_scanner.js +171 -0
- package/templates/skills/tools/verify-quality/SKILL.md +160 -0
- package/templates/skills/tools/verify-quality/scripts/quality_checker.js +337 -0
- package/templates/skills/tools/verify-security/SKILL.md +143 -0
- package/templates/skills/tools/verify-security/scripts/security_scanner.js +283 -0
- package/templates/spec/guides/index.md +30 -0
- package/templates/spec/low-control/index.md +31 -0
- package/templates/spec/upper-app/index.md +31 -0
- package/bin/codeagent-wrapper-darwin-amd64 +0 -0
- package/bin/codeagent-wrapper-darwin-arm64 +0 -0
- package/bin/codeagent-wrapper-linux-amd64 +0 -0
- package/bin/codeagent-wrapper-linux-arm64 +0 -0
- package/bin/codeagent-wrapper-windows-amd64.exe +0 -0
- package/bin/codeagent-wrapper-windows-arm64.exe +0 -0
- package/dist/shared/ccg-ros2-workflow.DRytDWqb.mjs +0 -2274
- package/templates/commands/backend.md +0 -162
- package/templates/commands/enhance.md +0 -36
- package/templates/commands/frontend.md +0 -162
- package/templates/commands/workflow.md +0 -202
- /package/templates/{commands → commands-legacy}/execute.md +0 -0
- /package/templates/{commands → commands-legacy}/review.md +0 -0
- /package/templates/{commands → commands-legacy}/team-exec.md +0 -0
- /package/templates/{commands → commands-legacy}/team-research.md +0 -0
- /package/templates/{commands → commands-legacy}/team-review.md +0 -0
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: '{{BACKEND_PRIMARY}} 全权执行计划 - 读取 /ccg:plan 产出的计划文件,{{BACKEND_PRIMARY}} 承担 MCP 搜索 + 代码实现 + 测试,多模型审核'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Codex-Exec - Codex 全权执行计划
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 核心理念
|
|
12
|
+
|
|
13
|
+
**与 `/ccg:plan` 配对使用**:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/ccg:plan → 多模型协同规划(Codex ∥ Gemini 分析 → Claude 综合)
|
|
17
|
+
↓ 计划文件 (.claude/plan/xxx.md)
|
|
18
|
+
/ccg:codex-exec → Codex 全权执行(MCP 搜索 + 代码实现 + 测试)
|
|
19
|
+
↓ 代码变更
|
|
20
|
+
→ 多模型审核(Codex ∥ Gemini 交叉审查)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**与 `/ccg:execute` 的区别**:
|
|
24
|
+
|
|
25
|
+
| 维度 | `/ccg:execute` | `/ccg:codex-exec` |
|
|
26
|
+
|------|---------------|-------------------|
|
|
27
|
+
| 代码实现 | Claude 重构 {{BACKEND_PRIMARY}}/{{FRONTEND_PRIMARY}} 的 Diff | **{{BACKEND_PRIMARY}} 直接实现** |
|
|
28
|
+
| MCP 搜索 | Claude 调用 MCP | **{{BACKEND_PRIMARY}} 调用 MCP** |
|
|
29
|
+
| Claude 上下文 | 高(搜索结果 + 代码全进来) | **极低(只看摘要 + diff)** |
|
|
30
|
+
| Claude token | 大量消耗 | **极少消耗** |
|
|
31
|
+
| 审核 | 多模型审查 | **多模型审查(不变)** |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 语言协议
|
|
36
|
+
|
|
37
|
+
- 与工具/模型交互用 **英语**
|
|
38
|
+
- 与用户交互用 **中文**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 多模型调用规范
|
|
43
|
+
|
|
44
|
+
**工作目录**:
|
|
45
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
46
|
+
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
47
|
+
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
48
|
+
|
|
49
|
+
**{{BACKEND_PRIMARY}} 执行调用语法**:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Bash({
|
|
53
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{BACKEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}- \"{{WORKDIR}}\" <<'EXEC_EOF'
|
|
54
|
+
<TASK>
|
|
55
|
+
<指令内容>
|
|
56
|
+
</TASK>
|
|
57
|
+
EXEC_EOF",
|
|
58
|
+
run_in_background: true,
|
|
59
|
+
timeout: 3600000,
|
|
60
|
+
description: "简短描述"
|
|
61
|
+
})
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**{{BACKEND_PRIMARY}} 复用会话调用**:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Bash({
|
|
68
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{BACKEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"{{WORKDIR}}\" <<'EXEC_EOF'
|
|
69
|
+
<TASK>
|
|
70
|
+
<指令内容>
|
|
71
|
+
</TASK>
|
|
72
|
+
EXEC_EOF",
|
|
73
|
+
run_in_background: true,
|
|
74
|
+
timeout: 3600000,
|
|
75
|
+
description: "简短描述"
|
|
76
|
+
})
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**审核调用语法**(Codex ∥ Gemini 并行审查):
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Bash({
|
|
83
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <{{BACKEND_PRIMARY}}|{{FRONTEND_PRIMARY}}> {{GEMINI_MODEL_FLAG}}- \"{{WORKDIR}}\" <<'REVIEW_EOF'
|
|
84
|
+
ROLE_FILE: <角色提示词路径>
|
|
85
|
+
<TASK>
|
|
86
|
+
Scope: Audit the code changes made by Codex.
|
|
87
|
+
Inputs:
|
|
88
|
+
- The git diff (applied changes)
|
|
89
|
+
- The implementation plan
|
|
90
|
+
Constraints:
|
|
91
|
+
- Do NOT modify any files.
|
|
92
|
+
</TASK>
|
|
93
|
+
OUTPUT:
|
|
94
|
+
1) A prioritized list of issues (severity, file, rationale)
|
|
95
|
+
2) If code changes are needed, include a Unified Diff Patch in a fenced code block.
|
|
96
|
+
REVIEW_EOF",
|
|
97
|
+
run_in_background: true,
|
|
98
|
+
timeout: 3600000,
|
|
99
|
+
description: "简短描述"
|
|
100
|
+
})
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**角色提示词**:
|
|
104
|
+
|
|
105
|
+
| 阶段 | 底层控制 | 上层应用 |
|
|
106
|
+
|------|-------|--------|
|
|
107
|
+
| 审查 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md` |
|
|
108
|
+
|
|
109
|
+
**等待后台任务**(最大超时 600000ms = 10 分钟):
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**重要**:
|
|
116
|
+
- 必须指定 `timeout: 600000`,否则默认只有 30 秒会导致提前超时
|
|
117
|
+
- 若 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**
|
|
118
|
+
- 若因等待时间过长跳过了等待,**必须调用 `AskUserQuestion` 询问用户选择继续等待还是 Kill Task**
|
|
119
|
+
- ⛔ **上层应用模型失败必须重试**:若上层应用模型调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过上层应用模型结果并使用单模型结果继续。
|
|
120
|
+
- ⛔ **底层控制模型结果必须等待**:底层控制模型执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在底层控制模型未返回结果时直接跳过或继续下一阶段**。已启动的底层控制任务若被跳过 = 浪费 token + 丢失结果。
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 执行工作流
|
|
125
|
+
|
|
126
|
+
**执行任务**:$ARGUMENTS
|
|
127
|
+
|
|
128
|
+
### 📖 Phase 0:读取计划
|
|
129
|
+
|
|
130
|
+
`[模式:准备]`
|
|
131
|
+
|
|
132
|
+
1. **识别输入类型**:
|
|
133
|
+
- 计划文件路径(如 `.claude/plan/xxx.md`)→ 读取并解析
|
|
134
|
+
- 直接的任务描述 → 提示用户先执行 `/ccg:plan`
|
|
135
|
+
|
|
136
|
+
2. **解析计划内容**,提取:
|
|
137
|
+
- 任务类型(上层应用/底层控制/全栈)
|
|
138
|
+
- 技术方案
|
|
139
|
+
- 实施步骤
|
|
140
|
+
- 关键文件列表
|
|
141
|
+
- SESSION_ID(`CODEX_SESSION` / `GEMINI_SESSION`)
|
|
142
|
+
|
|
143
|
+
3. **执行前确认**:
|
|
144
|
+
向用户展示计划摘要,确认后执行:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
## 即将执行
|
|
148
|
+
|
|
149
|
+
**任务**:<计划标题>
|
|
150
|
+
**模式**:Codex 全权执行
|
|
151
|
+
**步骤**:<N 步>
|
|
152
|
+
**关键文件**:<N 个>
|
|
153
|
+
|
|
154
|
+
Codex 将自主完成:MCP 搜索 + 代码实现 + 测试验证
|
|
155
|
+
Claude 仅做最终审核
|
|
156
|
+
|
|
157
|
+
确认执行?(Y/N)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### ⚡ Phase 1:Codex 全权执行
|
|
163
|
+
|
|
164
|
+
`[模式:执行]`
|
|
165
|
+
|
|
166
|
+
**将计划转化为 Codex 结构化指令,一次性下发**:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
Bash({
|
|
170
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{BACKEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}resume <CODEX_SESSION> - \"{{WORKDIR}}\" <<'EXEC_EOF'
|
|
171
|
+
<TASK>
|
|
172
|
+
You are a full-stack execution agent. Implement the following plan end-to-end.
|
|
173
|
+
|
|
174
|
+
## Implementation Plan
|
|
175
|
+
<将 Phase 0 解析出的完整计划内容粘贴于此>
|
|
176
|
+
|
|
177
|
+
## Your Instructions
|
|
178
|
+
|
|
179
|
+
### Step 1: Context Verification
|
|
180
|
+
Before coding, verify you have sufficient context:
|
|
181
|
+
- Use ace-tool MCP (search_context) to search for relevant existing code patterns
|
|
182
|
+
- Read the key files listed in the plan to understand current implementation
|
|
183
|
+
- If the plan references external libraries/APIs, use context7 MCP to query their latest documentation
|
|
184
|
+
- If latest information is needed, use grok-search MCP for web search
|
|
185
|
+
|
|
186
|
+
### Step 2: Implementation
|
|
187
|
+
Implement each step from the plan in order:
|
|
188
|
+
<将计划的实施步骤逐条列出>
|
|
189
|
+
|
|
190
|
+
Constraints:
|
|
191
|
+
- Follow existing code conventions in this project
|
|
192
|
+
- Handle edge cases and errors properly
|
|
193
|
+
- Keep changes minimal and focused on the plan
|
|
194
|
+
- Do NOT modify files outside the plan's scope
|
|
195
|
+
|
|
196
|
+
### Step 3: Self-Verification
|
|
197
|
+
After implementation:
|
|
198
|
+
- Run lint/typecheck if available
|
|
199
|
+
- Run existing tests: <从计划中提取测试命令,如无则 "run project's test suite">
|
|
200
|
+
- Verify no regressions in touched modules
|
|
201
|
+
|
|
202
|
+
## Output Format
|
|
203
|
+
Respond with a structured report:
|
|
204
|
+
|
|
205
|
+
### CONTEXT_GATHERED
|
|
206
|
+
<What information was searched/found, key findings from MCP tools>
|
|
207
|
+
|
|
208
|
+
### CHANGES_MADE
|
|
209
|
+
For each file changed:
|
|
210
|
+
- File path
|
|
211
|
+
- What was changed and why
|
|
212
|
+
- Lines added/removed
|
|
213
|
+
|
|
214
|
+
### VERIFICATION_RESULTS
|
|
215
|
+
- Lint/typecheck: pass/fail
|
|
216
|
+
- Tests: pass/fail (details if fail)
|
|
217
|
+
- Manual checks performed
|
|
218
|
+
|
|
219
|
+
### REMAINING_ISSUES
|
|
220
|
+
<Any unresolved issues, edge cases, or suggestions>
|
|
221
|
+
</TASK>
|
|
222
|
+
EXEC_EOF",
|
|
223
|
+
run_in_background: true,
|
|
224
|
+
timeout: 3600000,
|
|
225
|
+
description: "Codex 全权执行:<计划标题>"
|
|
226
|
+
})
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**📌 记录 SESSION_ID**(`CODEX_EXEC_SESSION`)
|
|
230
|
+
|
|
231
|
+
如果计划中无 `CODEX_SESSION`(用户跳过了 `/ccg:plan` 的多模型分析),则使用新会话。
|
|
232
|
+
|
|
233
|
+
用 `TaskOutput` 等待完成。
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
### 🔍 Phase 2:Claude 轻量审核
|
|
238
|
+
|
|
239
|
+
`[模式:审核]`
|
|
240
|
+
|
|
241
|
+
**Claude 只做最小验证,不重复 Codex 已做的工作**:
|
|
242
|
+
|
|
243
|
+
1. **读取 Codex 报告**:解析 CONTEXT_GATHERED / CHANGES_MADE / VERIFICATION_RESULTS / REMAINING_ISSUES
|
|
244
|
+
2. **查看实际变更**:
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
Bash({ command: "git diff HEAD", description: "查看 Codex 实际变更" })
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
3. **快速判定**:
|
|
251
|
+
- 变更是否在计划范围内?
|
|
252
|
+
- 是否有明显安全/逻辑问题?
|
|
253
|
+
- 测试是否通过?
|
|
254
|
+
|
|
255
|
+
4. **处理结果**:
|
|
256
|
+
- ✅ **通过** → Phase 3 多模型审核
|
|
257
|
+
- ⚠️ **小问题** → Claude 直接修复(< 10 行的修正 Claude 自己做)
|
|
258
|
+
- ❌ **需返工** → Phase 2.5 追加指令
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### 🔄 Phase 2.5:追加指令(仅在需返工时)
|
|
263
|
+
|
|
264
|
+
`[模式:追加]`
|
|
265
|
+
|
|
266
|
+
**复用 Codex 会话,下发修正指令**:
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
Bash({
|
|
270
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{BACKEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}resume <CODEX_EXEC_SESSION> - \"{{WORKDIR}}\" <<'FIXEOF'
|
|
271
|
+
<TASK>
|
|
272
|
+
The implementation needs corrections:
|
|
273
|
+
|
|
274
|
+
## Issues Found
|
|
275
|
+
1. <问题描述 + 具体文件:行号>
|
|
276
|
+
2. <问题描述 + 具体文件:行号>
|
|
277
|
+
|
|
278
|
+
## Required Fixes
|
|
279
|
+
1. <具体修正要求>
|
|
280
|
+
2. <具体修正要求>
|
|
281
|
+
|
|
282
|
+
Apply fixes and re-run tests. Report results in the same format.
|
|
283
|
+
</TASK>
|
|
284
|
+
FIXEOF",
|
|
285
|
+
run_in_background: true,
|
|
286
|
+
timeout: 3600000,
|
|
287
|
+
description: "Codex 修正:<问题简述>"
|
|
288
|
+
})
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
等待完成后回到 Phase 2。**最多 2 轮返工**,超过则 Claude 直接接管修复。
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
### ✅ Phase 3:多模型审核
|
|
296
|
+
|
|
297
|
+
`[模式:审核]`
|
|
298
|
+
|
|
299
|
+
**并行调用 {{BACKEND_PRIMARY}} + {{FRONTEND_PRIMARY}} 交叉审查**(多模型协同不变):
|
|
300
|
+
|
|
301
|
+
1. **获取变更 diff**:
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
Bash({ command: "git diff HEAD", description: "获取完整变更 diff" })
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
2. **并行调用**(`run_in_background: true`):
|
|
308
|
+
|
|
309
|
+
- **{{BACKEND_PRIMARY}} 审查**:
|
|
310
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md`
|
|
311
|
+
- 输入:变更 Diff + 计划文件内容
|
|
312
|
+
- 关注:安全性、性能、错误处理、逻辑正确性
|
|
313
|
+
|
|
314
|
+
- **{{FRONTEND_PRIMARY}} 审查**:
|
|
315
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md`
|
|
316
|
+
- 输入:变更 Diff + 计划文件内容
|
|
317
|
+
- 关注:代码可读性、设计一致性、可维护性
|
|
318
|
+
|
|
319
|
+
用 `TaskOutput` 等待两个模型的完整审查结果。
|
|
320
|
+
|
|
321
|
+
3. **整合审查意见**:
|
|
322
|
+
- 按信任规则:底层控制问题以 {{BACKEND_PRIMARY}} 为准,上层应用问题以 {{FRONTEND_PRIMARY}} 为准
|
|
323
|
+
- **Critical** → 必须修复(Claude 直接修或再派 Codex)
|
|
324
|
+
- **Warning** → 建议修复,报告给用户决定
|
|
325
|
+
- **Info** → 记录不处理
|
|
326
|
+
|
|
327
|
+
4. **执行修复**(如有 Critical):
|
|
328
|
+
- < 10 行修正:Claude 直接修
|
|
329
|
+
- ≥ 10 行修正:再派 Codex(复用 `CODEX_EXEC_SESSION`)
|
|
330
|
+
- 修复后可选重复 Phase 3(直到风险可接受)
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
### 📦 Phase 4:交付
|
|
335
|
+
|
|
336
|
+
`[模式:交付]`
|
|
337
|
+
|
|
338
|
+
向用户报告:
|
|
339
|
+
|
|
340
|
+
```markdown
|
|
341
|
+
## ✅ 执行完成
|
|
342
|
+
|
|
343
|
+
### 执行摘要
|
|
344
|
+
| 项目 | 详情 |
|
|
345
|
+
|------|------|
|
|
346
|
+
| 计划 | <计划文件路径> |
|
|
347
|
+
| 模式 | Codex 全权执行 + 多模型审核 |
|
|
348
|
+
| 搜索 | <Codex 使用了哪些 MCP 工具,关键发现> |
|
|
349
|
+
| 变更 | <N 个文件,+X/-Y 行> |
|
|
350
|
+
| 测试 | <通过/失败> |
|
|
351
|
+
| 返工 | <0/1/2 轮> |
|
|
352
|
+
|
|
353
|
+
### 变更清单
|
|
354
|
+
| 文件 | 操作 | 说明 |
|
|
355
|
+
|------|------|------|
|
|
356
|
+
| path/to/file.ts | 修改/新增 | 描述 |
|
|
357
|
+
|
|
358
|
+
### 审核结果
|
|
359
|
+
- Codex 审查:<通过/发现 N 个问题>
|
|
360
|
+
- Gemini 审查:<通过/发现 N 个问题>
|
|
361
|
+
- Claude 处理:<已修复 N 个 Critical,N 个 Warning 待用户决定>
|
|
362
|
+
|
|
363
|
+
### 后续建议
|
|
364
|
+
1. [ ] <建议的测试步骤>
|
|
365
|
+
2. [ ] <建议的验证步骤>
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## 关键规则
|
|
371
|
+
|
|
372
|
+
1. **Claude 极简原则** — Claude 不调用 MCP、不做代码检索。只读计划、指挥 Codex、审核结果。
|
|
373
|
+
2. **{{BACKEND_PRIMARY}} 全权执行** — MCP 搜索、文档查询、代码检索、实现、测试全由 {{BACKEND_PRIMARY}} 完成。
|
|
374
|
+
3. **多模型审核不变** — 审核阶段仍然 Codex ∥ Gemini 交叉审查,保证质量。
|
|
375
|
+
4. **信任规则** — 底层控制以 {{BACKEND_PRIMARY}} 为准,上层应用以 {{FRONTEND_PRIMARY}} 为准。
|
|
376
|
+
5. **一次性下发** — 尽量一次给 Codex 完整指令 + 完整计划,减少来回通信。
|
|
377
|
+
6. **最多 2 轮返工** — 超过 2 轮 Claude 直接接管,避免无限循环。
|
|
378
|
+
7. **计划对齐** — Codex 实现必须在计划范围内,超出范围的变更视为违规。
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## 使用方法
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
# 标准流程:先规划,再执行
|
|
386
|
+
/ccg:plan 实现用户认证功能
|
|
387
|
+
# 审查计划后...
|
|
388
|
+
/ccg:codex-exec .claude/plan/user-auth.md
|
|
389
|
+
|
|
390
|
+
# 直接执行(会提示先 /ccg:plan)
|
|
391
|
+
/ccg:codex-exec 实现用户认证功能
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## 与 /ccg:plan 的关系
|
|
397
|
+
|
|
398
|
+
```
|
|
399
|
+
/ccg:plan ──→ .claude/plan/xxx.md
|
|
400
|
+
│
|
|
401
|
+
┌─────────┴─────────┐
|
|
402
|
+
↓ ↓
|
|
403
|
+
/ccg:execute /ccg:codex-exec
|
|
404
|
+
(Claude 重构) (Codex 全权)
|
|
405
|
+
Claude 高消耗 Claude 极低消耗
|
|
406
|
+
精细控制 高效执行
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
用户可根据任务特点选择:
|
|
410
|
+
- **需要精细控制** → `/ccg:execute`(Claude 逐行重构)
|
|
411
|
+
- **需要高效执行** → `/ccg:codex-exec`(Codex 一把梭)
|
|
@@ -78,7 +78,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
78
78
|
|
|
79
79
|
### 🔍 阶段 0:Prompt 增强(可选)
|
|
80
80
|
|
|
81
|
-
`[模式:准备]` -
|
|
81
|
+
`[模式:准备]` - 直接将 $ARGUMENTS 作为后续多模型调用的输入。
|
|
82
82
|
|
|
83
83
|
### 🔍 阶段 1:上下文收集
|
|
84
84
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 内置 Prompt 增强(无需 MCP),将模糊需求重写为结构化任务描述
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
`/ccg:enhance <PROMPT>`
|
|
7
|
+
|
|
8
|
+
## Context
|
|
9
|
+
- Original prompt: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
## Your Role
|
|
12
|
+
You are the **Prompt Enhancer**. 在不依赖任何外部 MCP 工具的前提下,把用户输入重写为更适合 AI 执行的结构化任务描述。
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
### Step 1: 解析原始输入
|
|
17
|
+
|
|
18
|
+
读取 $ARGUMENTS,提炼出:
|
|
19
|
+
- 任务目标
|
|
20
|
+
- 涉及的模块/文件(如有暗示)
|
|
21
|
+
- 隐含的约束(性能、安全、兼容性等)
|
|
22
|
+
- 缺失的关键信息
|
|
23
|
+
|
|
24
|
+
### Step 2: 重写 Prompt
|
|
25
|
+
|
|
26
|
+
按以下结构输出增强版本:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
## 任务目标
|
|
30
|
+
<明确、可验证的目标>
|
|
31
|
+
|
|
32
|
+
## 上下文与约束
|
|
33
|
+
- <已知条件 1>
|
|
34
|
+
- <已知条件 2>
|
|
35
|
+
|
|
36
|
+
## 验收标准
|
|
37
|
+
- [ ] <可验证项 1>
|
|
38
|
+
- [ ] <可验证项 2>
|
|
39
|
+
|
|
40
|
+
## 待澄清问题(如有)
|
|
41
|
+
1. <模糊点 1>
|
|
42
|
+
2. <模糊点 2>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Step 3: 展示对比
|
|
46
|
+
|
|
47
|
+
并列展示「原始 Prompt」和「增强后 Prompt」,请用户选择:
|
|
48
|
+
1. 使用增强版本继续
|
|
49
|
+
2. 修改后再增强
|
|
50
|
+
3. 保留原始版本
|
|
51
|
+
|
|
52
|
+
## Notes
|
|
53
|
+
- 无外部依赖,纯本地推理
|
|
54
|
+
- 中文输入 → 中文输出,英文输入 → 英文输出
|
|
55
|
+
- 仅做重写,不执行任务
|
|
@@ -103,7 +103,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
103
103
|
|
|
104
104
|
#### 2.0 Prompt 增强
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
**直接将 $ARGUMENTS 作为后续多模型调用的输入**。
|
|
107
107
|
|
|
108
108
|
#### 2.1 上下文检索
|
|
109
109
|
|
|
@@ -157,7 +157,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
157
157
|
|
|
158
158
|
#### 3.2 任务类型分析
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
从计划提取任务分类:上层应用 / 底层控制 / 全栈
|
|
161
161
|
|
|
162
162
|
#### 3.3 多模型路由实施
|
|
163
163
|
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'ROS2 上层应用专项工作流(研究→构思→计划→执行→优化→评审),{{FRONTEND_PRIMARY}} 主导'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Frontend - ROS2 上层应用专项开发
|
|
6
|
+
|
|
7
|
+
## 使用方法
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
/frontend <上层应用任务描述>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 上下文
|
|
14
|
+
|
|
15
|
+
- 上层应用任务:$ARGUMENTS
|
|
16
|
+
- {{FRONTEND_PRIMARY}} 主导,{{BACKEND_PRIMARY}} 辅助参考
|
|
17
|
+
- 适用:Launch 文件、参数配置、RViz 可视化、Python 节点、仿真配置
|
|
18
|
+
- 目标平台:ROS2 Humble
|
|
19
|
+
|
|
20
|
+
## 你的角色
|
|
21
|
+
|
|
22
|
+
你是**ROS2 上层应用编排者**,协调多模型完成 Launch/配置/可视化任务(研究 → 构思 → 计划 → 执行 → 优化 → 评审),用中文协助用户。
|
|
23
|
+
|
|
24
|
+
**协作模型**:
|
|
25
|
+
- **{{FRONTEND_PRIMARY}}** – 上层应用:Launch、Python、RViz、仿真(**上层权威,可信赖**)
|
|
26
|
+
- **{{BACKEND_PRIMARY}}** – 底层视角(**上层意见仅供参考**)
|
|
27
|
+
- **Claude (自己)** – 编排、计划、执行、交付
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 多模型调用规范
|
|
32
|
+
|
|
33
|
+
**工作目录**:
|
|
34
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
35
|
+
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
36
|
+
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
37
|
+
|
|
38
|
+
**调用语法**:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
# 新会话调用
|
|
42
|
+
Bash({
|
|
43
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{FRONTEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}- \"{{WORKDIR}}\" <<'EOF'
|
|
44
|
+
ROLE_FILE: <角色提示词路径>
|
|
45
|
+
<TASK>
|
|
46
|
+
需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
|
|
47
|
+
上下文:<前序阶段收集的项目上下文、分析结果等>
|
|
48
|
+
ROS2上下文:<colcon工作空间、package.xml、现有launch文件、节点架构等>
|
|
49
|
+
</TASK>
|
|
50
|
+
OUTPUT: 期望输出格式
|
|
51
|
+
EOF",
|
|
52
|
+
run_in_background: false,
|
|
53
|
+
timeout: 3600000,
|
|
54
|
+
description: "简短描述"
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
# 复用会话调用
|
|
58
|
+
Bash({
|
|
59
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{FRONTEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}resume <FRONTEND_SESSION> - \"{{WORKDIR}}\" <<'EOF'
|
|
60
|
+
ROLE_FILE: <角色提示词路径>
|
|
61
|
+
<TASK>
|
|
62
|
+
需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
|
|
63
|
+
上下文:<前序阶段收集的项目上下文、分析结果等>
|
|
64
|
+
ROS2上下文:<colcon工作空间、package.xml、现有launch文件、节点架构等>
|
|
65
|
+
</TASK>
|
|
66
|
+
OUTPUT: 期望输出格式
|
|
67
|
+
EOF",
|
|
68
|
+
run_in_background: false,
|
|
69
|
+
timeout: 3600000,
|
|
70
|
+
description: "简短描述"
|
|
71
|
+
})
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**角色提示词**:
|
|
75
|
+
|
|
76
|
+
| 阶段 | 上层应用 |
|
|
77
|
+
|------|----------|
|
|
78
|
+
| 分析 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/analyzer.md` |
|
|
79
|
+
| 规划 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/architect.md` |
|
|
80
|
+
| 审查 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md` |
|
|
81
|
+
|
|
82
|
+
**会话复用**:每次调用返回 `SESSION_ID: xxx`,后续阶段用 `resume xxx` 复用上下文。阶段 2 保存 `FRONTEND_SESSION`,阶段 3 和 5 使用 `resume` 复用。
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 执行工作流
|
|
87
|
+
|
|
88
|
+
**任务描述**:$ARGUMENTS
|
|
89
|
+
|
|
90
|
+
### 🔍 阶段 1:研究与分析
|
|
91
|
+
|
|
92
|
+
`[模式:研究]` - 理解上层应用需求并收集 ROS2 上下文:
|
|
93
|
+
|
|
94
|
+
1. **ROS2 环境检测**:
|
|
95
|
+
- 检查 colcon 工作空间结构
|
|
96
|
+
- 扫描现有 launch 文件和配置文件
|
|
97
|
+
- 识别现有 Python 节点
|
|
98
|
+
2. **上下文检索**:调用 `{{MCP_SEARCH_TOOL}}`,重点检索 launch 文件、参数配置、RViz 配置
|
|
99
|
+
3. **需求完整性评分**(0-10 分):
|
|
100
|
+
- 目标明确性(0-3)、预期结果(0-3)、边界范围(0-2)、约束条件(0-2)
|
|
101
|
+
- ≥7 分:继续 | <7 分:⛔ 停止,提出补充问题
|
|
102
|
+
|
|
103
|
+
### 💡 阶段 2:方案构思
|
|
104
|
+
|
|
105
|
+
`[模式:构思]` - 上层应用模型分析:
|
|
106
|
+
|
|
107
|
+
调用上层应用模型,使用分析提示词,输出:
|
|
108
|
+
- Launch 文件结构设计
|
|
109
|
+
- 参数配置方案
|
|
110
|
+
- RViz 可视化配置
|
|
111
|
+
- Python 节点设计(如需)
|
|
112
|
+
- 仿真环境配置(如需)
|
|
113
|
+
|
|
114
|
+
**📌 保存 SESSION_ID**(`FRONTEND_SESSION`)。
|
|
115
|
+
|
|
116
|
+
综合分析,输出方案对比(至少 2 个方案),等待用户选择。
|
|
117
|
+
|
|
118
|
+
### 📋 阶段 3:详细规划
|
|
119
|
+
|
|
120
|
+
`[模式:计划]` - 上层应用详细规划:
|
|
121
|
+
|
|
122
|
+
调用上层应用模型(复用会话 `resume $FRONTEND_SESSION`),使用规划提示词,输出:
|
|
123
|
+
- **Launch 文件清单**:每个 launch 文件的职责、启动的节点、参数传递
|
|
124
|
+
- **参数配置清单**:YAML 文件结构、参数分组、默认值
|
|
125
|
+
- **RViz 配置清单**:显示插件、坐标系、话题订阅
|
|
126
|
+
- **Python 节点清单**(如需):节点职责、订阅/发布的 Topic
|
|
127
|
+
- **文件清单**:需要创建/修改的文件列表
|
|
128
|
+
|
|
129
|
+
**⛔ HARD STOP**:展示计划,等待用户批准。未批准禁止进入执行阶段。
|
|
130
|
+
|
|
131
|
+
### ⚙️ 阶段 4:代码执行
|
|
132
|
+
|
|
133
|
+
`[模式:执行]` - Claude 主导实施:
|
|
134
|
+
|
|
135
|
+
根据批准的计划,按以下顺序实施:
|
|
136
|
+
|
|
137
|
+
1. **Launch 文件**:
|
|
138
|
+
- 创建 launch 文件(`launch/`)
|
|
139
|
+
- 配置节点启动、参数、重映射、命名空间
|
|
140
|
+
- 添加条件启动逻辑(如需)
|
|
141
|
+
2. **参数配置**:
|
|
142
|
+
- 创建参数 YAML(`config/`)
|
|
143
|
+
- 组织参数层级结构
|
|
144
|
+
- 设置合理默认值
|
|
145
|
+
3. **RViz 配置**:
|
|
146
|
+
- 创建 RViz 配置文件(`rviz/`)
|
|
147
|
+
- 配置显示插件(TF、LaserScan、PointCloud、Image 等)
|
|
148
|
+
- 设置坐标系和视角
|
|
149
|
+
4. **Python 节点**(如需):
|
|
150
|
+
- 创建 Python 节点(`scripts/` 或 `<package>/`)
|
|
151
|
+
- 实现 rclpy 逻辑
|
|
152
|
+
- 配置 setup.py
|
|
153
|
+
5. **仿真配置**(如需):
|
|
154
|
+
- Gazebo world 文件
|
|
155
|
+
- 机器人模型(URDF/SDF)
|
|
156
|
+
- 仿真参数
|
|
157
|
+
|
|
158
|
+
每完成一个模块,验证语法正确性。
|
|
159
|
+
|
|
160
|
+
### 🔧 阶段 5:优化审查
|
|
161
|
+
|
|
162
|
+
`[模式:优化]` - 上层应用模型审查:
|
|
163
|
+
|
|
164
|
+
调用上层应用模型(复用会话 `resume $FRONTEND_SESSION`),使用审查提示词,审查:
|
|
165
|
+
- Launch 文件语法和逻辑
|
|
166
|
+
- 参数配置完整性
|
|
167
|
+
- RViz 配置合理性
|
|
168
|
+
- Python 代码质量(如有)
|
|
169
|
+
- 仿真配置正确性(如有)
|
|
170
|
+
|
|
171
|
+
综合审查意见,Claude 整合修复:
|
|
172
|
+
- **Critical 问题**:必须修复(语法错误、参数缺失、路径错误)
|
|
173
|
+
- **Warning 问题**:建议修复(命名不规范、参数冗余、注释不足)
|
|
174
|
+
- **Info 建议**:可选优化(代码风格、性能优化)
|
|
175
|
+
|
|
176
|
+
### ✅ 阶段 6:最终评审
|
|
177
|
+
|
|
178
|
+
`[模式:评审]` - 质量把关:
|
|
179
|
+
|
|
180
|
+
1. **语法检查**:
|
|
181
|
+
- Launch 文件语法验证
|
|
182
|
+
- YAML 文件格式检查
|
|
183
|
+
- Python 代码静态检查(如有)
|
|
184
|
+
2. **功能测试**:
|
|
185
|
+
```bash
|
|
186
|
+
ros2 launch <package_name> <launch_file>
|
|
187
|
+
# 验证节点启动、参数加载、话题发布
|
|
188
|
+
```
|
|
189
|
+
3. **RViz 测试**(如有):
|
|
190
|
+
- 加载 RViz 配置
|
|
191
|
+
- 验证可视化效果
|
|
192
|
+
4. **文档完整性**:
|
|
193
|
+
- Launch 文件有注释
|
|
194
|
+
- 参数配置有说明
|
|
195
|
+
- README.md 包含使用说明
|
|
196
|
+
|
|
197
|
+
输出评审报告,等待用户确认。
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 完成标准
|
|
202
|
+
|
|
203
|
+
所有 6 个阶段完成后,输出最终交付清单:
|
|
204
|
+
|
|
205
|
+
- ✅ Launch 文件可用
|
|
206
|
+
- ✅ 参数配置完整
|
|
207
|
+
- ✅ RViz 配置正确(如有)
|
|
208
|
+
- ✅ Python 节点实现完成(如有)
|
|
209
|
+
- ✅ 仿真配置就绪(如有)
|
|
210
|
+
- ✅ 功能测试通过
|
|
211
|
+
- ✅ 文档完整
|
|
212
|
+
|
|
213
|
+
**🎉 ROS2 上层应用开发完成!**
|