ccg-workflow 1.7.51 → 1.7.53
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 +16 -14
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/shared/{ccg-workflow.CEsTETSi.mjs → ccg-workflow.SwZf2ogk.mjs} +8 -5
- package/package.json +1 -1
- package/templates/commands/spec-impl.md +12 -12
- package/templates/commands/spec-init.md +34 -15
- package/templates/commands/spec-plan.md +18 -18
- package/templates/commands/spec-research.md +13 -10
- package/templates/commands/spec-review.md +5 -5
package/README.md
CHANGED
|
@@ -43,34 +43,36 @@ npx ccg-workflow
|
|
|
43
43
|
| `/ccg:worktree` | Worktree 管理 |
|
|
44
44
|
| `/ccg:init` | 初始化 CLAUDE.md |
|
|
45
45
|
| `/ccg:enhance` | Prompt 增强 |
|
|
46
|
-
| `/ccg:spec-init` | 初始化 OpenSpec 环境 |
|
|
47
|
-
| `/ccg:spec-research` | 需求 → 约束集 |
|
|
48
|
-
| `/ccg:spec-plan` | 约束 → 零决策计划 |
|
|
49
|
-
| `/ccg:spec-impl` | 按计划执行 + 归档 |
|
|
50
|
-
| `/ccg:spec-review` | 双模型交叉审查 |
|
|
51
46
|
|
|
52
|
-
|
|
47
|
+
**注意**:v1.7.52 起,`/ccg:spec-*` 命令已迁移到 OPSX 架构。请使用 `/opsx:*` 命令代替:
|
|
48
|
+
- `/opsx:init` - 初始化 OPSX 环境
|
|
49
|
+
- `/opsx:research` - 需求 → 约束集
|
|
50
|
+
- `/opsx:plan` - 约束 → 零决策计划
|
|
51
|
+
- `/opsx:impl` - 按计划执行 + 归档
|
|
52
|
+
- `/opsx:review` - 双模型交叉审查
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
### OPSX 规范驱动(v1.7.52+)
|
|
55
|
+
|
|
56
|
+
集成 [OPSX 架构](https://github.com/fission-ai/opsx),把需求变成约束,让 AI 没法自由发挥:
|
|
55
57
|
|
|
56
58
|
```bash
|
|
57
59
|
# 初始化
|
|
58
|
-
/
|
|
60
|
+
/opsx:init
|
|
59
61
|
|
|
60
62
|
# 研究需求 → 输出约束集
|
|
61
|
-
/
|
|
63
|
+
/opsx:research 实现用户认证
|
|
62
64
|
|
|
63
65
|
# 并行分析 → 零决策计划
|
|
64
|
-
/
|
|
66
|
+
/opsx:plan
|
|
65
67
|
|
|
66
68
|
# 按计划执行
|
|
67
|
-
/
|
|
69
|
+
/opsx:impl
|
|
68
70
|
|
|
69
71
|
# 独立审查(随时可用)
|
|
70
|
-
/
|
|
72
|
+
/opsx:review
|
|
71
73
|
```
|
|
72
74
|
|
|
73
|
-
|
|
75
|
+
**重要**:v1.7.52 起,旧的 `/ccg:spec-*` 命令已废弃,请使用 `/opsx:*` 命令。每阶段之间可 `/clear`,状态存在 `opsx/` 目录,不怕上下文爆。
|
|
74
76
|
|
|
75
77
|
### 规划与执行分离
|
|
76
78
|
|
|
@@ -187,4 +189,4 @@ MIT
|
|
|
187
189
|
|
|
188
190
|
---
|
|
189
191
|
|
|
190
|
-
v1.7.
|
|
192
|
+
v1.7.52 | [Issues](https://github.com/fengshao1227/ccg-workflow/issues)
|
package/dist/cli.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import cac from 'cac';
|
|
3
3
|
import ansis from 'ansis';
|
|
4
|
-
import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, E as configMcp, F as version, a as i18n } from './shared/ccg-workflow.
|
|
4
|
+
import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, E as configMcp, F as version, a as i18n } from './shared/ccg-workflow.SwZf2ogk.mjs';
|
|
5
5
|
import 'inquirer';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:util';
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.
|
|
1
|
+
export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.SwZf2ogk.mjs';
|
|
2
2
|
import 'ansis';
|
|
3
3
|
import 'inquirer';
|
|
4
4
|
import 'node:child_process';
|
|
@@ -10,7 +10,7 @@ import i18next from 'i18next';
|
|
|
10
10
|
import ora from 'ora';
|
|
11
11
|
import { parse, stringify } from 'smol-toml';
|
|
12
12
|
|
|
13
|
-
const version = "1.7.
|
|
13
|
+
const version = "1.7.53";
|
|
14
14
|
|
|
15
15
|
function isWindows() {
|
|
16
16
|
return process.platform === "win32";
|
|
@@ -1863,20 +1863,23 @@ async function update() {
|
|
|
1863
1863
|
}
|
|
1864
1864
|
console.log();
|
|
1865
1865
|
const effectiveNeedsUpdate = hasUpdate || needsWorkflowUpdate;
|
|
1866
|
+
let defaultConfirm = effectiveNeedsUpdate;
|
|
1866
1867
|
let message;
|
|
1867
1868
|
if (hasUpdate) {
|
|
1868
|
-
message = `\
|
|
1869
|
+
message = `\u53D1\u73B0\u65B0\u7248\u672C v${latestVersion} (\u5F53\u524D: v${currentVersion})\uFF0C\u662F\u5426\u66F4\u65B0\uFF1F`;
|
|
1870
|
+
defaultConfirm = true;
|
|
1869
1871
|
} else if (needsWorkflowUpdate) {
|
|
1870
1872
|
message = `\u68C0\u6D4B\u5230\u672C\u5730\u5DE5\u4F5C\u6D41\u7248\u672C (v${localVersion}) \u4F4E\u4E8E\u5F53\u524D\u7248\u672C (v${currentVersion})\uFF0C\u662F\u5426\u66F4\u65B0\uFF1F`;
|
|
1873
|
+
defaultConfirm = true;
|
|
1871
1874
|
} else {
|
|
1872
|
-
message =
|
|
1875
|
+
message = `\u5F53\u524D\u5DF2\u662F\u6700\u65B0\u7248\u672C (v${currentVersion})\u3002\u662F\u5426\u5F3A\u5236\u91CD\u65B0\u5B89\u88C5/\u4FEE\u590D\u5DE5\u4F5C\u6D41\uFF1F`;
|
|
1876
|
+
defaultConfirm = false;
|
|
1873
1877
|
}
|
|
1874
1878
|
const { confirmUpdate } = await inquirer.prompt([{
|
|
1875
1879
|
type: "confirm",
|
|
1876
1880
|
name: "confirmUpdate",
|
|
1877
1881
|
message,
|
|
1878
|
-
default:
|
|
1879
|
-
// Default to true if needs update
|
|
1882
|
+
default: defaultConfirm
|
|
1880
1883
|
}]);
|
|
1881
1884
|
if (!confirmUpdate) {
|
|
1882
1885
|
console.log(ansis.gray("\u5DF2\u53D6\u6D88\u66F4\u65B0"));
|
package/package.json
CHANGED
|
@@ -12,16 +12,17 @@ description: '按规范执行 + 多模型协作 + 归档'
|
|
|
12
12
|
- **NEVER** apply Codex/Gemini prototypes directly—all outputs are reference only.
|
|
13
13
|
- **MANDATORY**: Request `unified diff patch` format from external models; they have zero write permission.
|
|
14
14
|
- Keep implementation strictly within `tasks.md` scope—no scope creep.
|
|
15
|
-
- Refer to `openspec/
|
|
15
|
+
- Refer to `openspec/config.yaml` for conventions.
|
|
16
16
|
|
|
17
17
|
**Steps**
|
|
18
|
-
1. **Select
|
|
19
|
-
- Run
|
|
20
|
-
- Confirm with user which
|
|
21
|
-
- Run
|
|
18
|
+
1. **Select Change**
|
|
19
|
+
- Run `/opsx:list` to inspect Active Changes.
|
|
20
|
+
- Confirm with user which change ID to implement.
|
|
21
|
+
- Run `/opsx:show <change_id>` to review tasks.
|
|
22
22
|
|
|
23
|
-
2. **Apply
|
|
24
|
-
-
|
|
23
|
+
2. **Apply OPSX Change**
|
|
24
|
+
- Use `/ccg:spec-impl` (which uses OpenSpec skills internally) to enter implementation mode.
|
|
25
|
+
- This skill will guide you through the tasks defined in `tasks.md`.
|
|
25
26
|
|
|
26
27
|
3. **Identify Minimal Verifiable Phase**
|
|
27
28
|
- Review `tasks.md` and identify the **smallest verifiable phase**.
|
|
@@ -104,13 +105,13 @@ description: '按规范执行 + 多模型协作 + 归档'
|
|
|
104
105
|
|
|
105
106
|
10. **Archive on Completion**
|
|
106
107
|
- When ALL tasks in `tasks.md` are marked `[x]`:
|
|
107
|
-
-
|
|
108
|
+
- The agent will use OpenSpec skills to archive the change.
|
|
108
109
|
- This merges spec deltas to `openspec/specs/` and moves change to archive.
|
|
109
110
|
|
|
110
111
|
**Reference**
|
|
111
|
-
- Check task status:
|
|
112
|
-
- Validate before archive:
|
|
113
|
-
- View active changes:
|
|
112
|
+
- Check task status: `/opsx:show <id>`
|
|
113
|
+
- Validate before archive: `/opsx:validate <id>`
|
|
114
|
+
- View active changes: `/opsx:list`
|
|
114
115
|
- Search existing patterns: `rg -n "function|class" <file>`
|
|
115
116
|
|
|
116
117
|
**Exit Criteria**
|
|
@@ -118,6 +119,5 @@ Implementation is complete when:
|
|
|
118
119
|
- [ ] All tasks in `tasks.md` marked `[x]`
|
|
119
120
|
- [ ] All multi-model reviews passed
|
|
120
121
|
- [ ] Side-effect review confirmed no regressions
|
|
121
|
-
- [ ] `openspec validate <id>` returns zero issues
|
|
122
122
|
- [ ] Change archived successfully
|
|
123
123
|
<!-- CCG:SPEC:IMPL:END -->
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: '初始化 OpenSpec 环境 + 验证多模型 MCP 工具'
|
|
2
|
+
description: '初始化 OpenSpec (OPSX) 环境 + 验证多模型 MCP 工具'
|
|
3
3
|
---
|
|
4
4
|
<!-- CCG:SPEC:INIT:START -->
|
|
5
5
|
**Core Philosophy**
|
|
6
|
-
-
|
|
6
|
+
- OPSX provides the specification framework; CCG adds multi-model collaboration.
|
|
7
7
|
- This phase ensures all tools are ready before any development work begins.
|
|
8
8
|
- Fail fast: detect missing dependencies early rather than mid-workflow.
|
|
9
9
|
|
|
@@ -18,20 +18,26 @@ description: '初始化 OpenSpec 环境 + 验证多模型 MCP 工具'
|
|
|
18
18
|
- Identify OS using `uname -s` (Unix) or environment variables (Windows).
|
|
19
19
|
- Inform user which OS was detected.
|
|
20
20
|
|
|
21
|
-
2. **Check and Install
|
|
22
|
-
- Verify if
|
|
23
|
-
- If not installed:
|
|
21
|
+
2. **Check and Install OPSX**
|
|
22
|
+
- Verify if OPSX commands are available: `/opsx:version`
|
|
23
|
+
- If not installed or not found:
|
|
24
24
|
```bash
|
|
25
|
-
npm install -g @
|
|
25
|
+
npm install -g @opsx/cli@latest
|
|
26
26
|
```
|
|
27
|
-
-
|
|
27
|
+
- **Path Verification**:
|
|
28
|
+
- If `/opsx:version` command is not found after installation:
|
|
29
|
+
1. Ensure Claude Code commands are properly loaded
|
|
30
|
+
2. Restart Claude Code session if needed
|
|
31
|
+
3. Check if OPSX skills are installed in `.claude/skills/`
|
|
32
|
+
- Confirm installation success by running `/opsx:version` again.
|
|
28
33
|
|
|
29
|
-
3. **Initialize
|
|
34
|
+
3. **Initialize OPSX for Current Project**
|
|
30
35
|
- Run:
|
|
31
36
|
```bash
|
|
32
|
-
|
|
37
|
+
/opsx:init --tools claude
|
|
33
38
|
```
|
|
34
39
|
- Verify `openspec/` directory structure is created.
|
|
40
|
+
- Verify `.claude/skills/` contains `opsx-*` skills.
|
|
35
41
|
- Report any errors with remediation steps.
|
|
36
42
|
|
|
37
43
|
4. **Validate Multi-Model MCP Tools**
|
|
@@ -47,26 +53,39 @@ description: '初始化 OpenSpec 环境 + 验证多模型 MCP 工具'
|
|
|
47
53
|
- For each unavailable tool, display warning with installation instructions.
|
|
48
54
|
|
|
49
55
|
5. **Validate Context Retrieval MCP** (Optional)
|
|
50
|
-
- Check
|
|
51
|
-
- If
|
|
56
|
+
- **Check Active Tool**: Is `mcp__ace-tool__search_context` available in the current session?
|
|
57
|
+
- **Check Configuration**: If tool is missing, check `~/.claude.json` (or `%APPDATA%\Claude\claude.json` on Windows) for `"ace-tool"` or `"ace-tool-rs"` in `mcpServers`.
|
|
58
|
+
- **Diagnosis**:
|
|
59
|
+
- If tool available: Mark as "✓ Active".
|
|
60
|
+
- If config exists but tool missing: Mark as "⚠️ Configured but inactive (Try restarting Claude)".
|
|
61
|
+
- If neither: Mark as "○ Not installed (Optional)".
|
|
62
|
+
- If not installed/configured, suggest: "Run `npx ccg-workflow` and select ace-tool MCP option."
|
|
52
63
|
|
|
53
64
|
6. **Summary Report**
|
|
54
65
|
Display status table:
|
|
55
66
|
```
|
|
56
67
|
Component Status
|
|
57
68
|
─────────────────────────────────
|
|
58
|
-
|
|
69
|
+
OPSX CLI ✓/✗
|
|
59
70
|
Project initialized ✓/✗
|
|
71
|
+
OPSX Skills ✓/✗
|
|
60
72
|
codeagent-wrapper ✓/✗
|
|
61
73
|
Codex backend ✓/✗
|
|
62
74
|
Gemini backend ✓/✗
|
|
63
75
|
ace-tool MCP ✓/✗ (optional)
|
|
64
76
|
```
|
|
65
|
-
|
|
77
|
+
|
|
78
|
+
**Next Steps (Use CCG Encapsulated Commands)**
|
|
79
|
+
1. Start Research: `/ccg:spec-research "description"`
|
|
80
|
+
2. Plan & Design: `/ccg:spec-plan`
|
|
81
|
+
3. Implement: `/ccg:spec-impl` (Includes auto-review & archive)
|
|
82
|
+
|
|
83
|
+
**Standalone Tools (Available Anytime)**
|
|
84
|
+
- Code Review: `/ccg:spec-review` (Independent dual-model review)
|
|
66
85
|
|
|
67
86
|
**Reference**
|
|
68
|
-
-
|
|
87
|
+
- OPSX CLI: `/opsx:help`
|
|
69
88
|
- CCG Workflow: `npx ccg-workflow`
|
|
70
89
|
- Codex/Gemini MCP: Bundled with codeagent-wrapper
|
|
71
|
-
- Node.js >= 18.x required for
|
|
90
|
+
- Node.js >= 18.x required for OPSX
|
|
72
91
|
<!-- CCG:SPEC:INIT:END -->
|
|
@@ -12,13 +12,13 @@ description: '多模型分析 → 消除歧义 → 零决策可执行计划'
|
|
|
12
12
|
- Do not proceed to implementation until every ambiguity is resolved.
|
|
13
13
|
- Multi-model collaboration is **mandatory**: use both Codex and Gemini.
|
|
14
14
|
- If constraints cannot be fully specified, escalate to user or return to research phase.
|
|
15
|
-
- Refer to `openspec/
|
|
15
|
+
- Refer to `openspec/config.yaml` for project conventions.
|
|
16
16
|
|
|
17
17
|
**Steps**
|
|
18
|
-
1. **Select
|
|
19
|
-
- Run
|
|
20
|
-
- Confirm with user which
|
|
21
|
-
- Run
|
|
18
|
+
1. **Select Change**
|
|
19
|
+
- Run `/opsx:list` to display Active Changes.
|
|
20
|
+
- Confirm with user which change ID to refine.
|
|
21
|
+
- Run `/opsx:status <change_id>` to review current state.
|
|
22
22
|
|
|
23
23
|
2. **Multi-Model Implementation Analysis (PARALLEL)**
|
|
24
24
|
- **CRITICAL**: You MUST launch BOTH Codex AND Gemini in a SINGLE message with TWO Bash tool calls.
|
|
@@ -29,7 +29,7 @@ description: '多模型分析 → 消除歧义 → 零决策可执行计划'
|
|
|
29
29
|
**FIRST Bash call (Codex)**:
|
|
30
30
|
```
|
|
31
31
|
Bash({
|
|
32
|
-
command: "~/.claude/bin/codeagent-wrapper --backend codex - \"$PWD\" <<'EOF'\nAnalyze
|
|
32
|
+
command: "~/.claude/bin/codeagent-wrapper --backend codex - \"$PWD\" <<'EOF'\nAnalyze change <change_id> from backend perspective:\n- Implementation approach\n- Technical risks\n- Alternative architectures\n- Edge cases and failure modes\nOUTPUT: JSON with analysis\nEOF",
|
|
33
33
|
run_in_background: true,
|
|
34
34
|
timeout: 300000,
|
|
35
35
|
description: "Codex: backend analysis"
|
|
@@ -39,7 +39,7 @@ description: '多模型分析 → 消除歧义 → 零决策可执行计划'
|
|
|
39
39
|
**SECOND Bash call (Gemini) - IN THE SAME MESSAGE**:
|
|
40
40
|
```
|
|
41
41
|
Bash({
|
|
42
|
-
command: "~/.claude/bin/codeagent-wrapper --backend gemini - \"$PWD\" <<'EOF'\nAnalyze
|
|
42
|
+
command: "~/.claude/bin/codeagent-wrapper --backend gemini - \"$PWD\" <<'EOF'\nAnalyze change <change_id> from frontend/integration perspective:\n- Maintainability assessment\n- Scalability considerations\n- Integration conflicts\nOUTPUT: JSON with analysis\nEOF",
|
|
43
43
|
run_in_background: true,
|
|
44
44
|
timeout: 300000,
|
|
45
45
|
description: "Gemini: frontend analysis"
|
|
@@ -82,28 +82,28 @@ description: '多模型分析 → 消除歧义 → 零决策可执行计划'
|
|
|
82
82
|
- **Monotonicity**: Ordering guarantees (e.g., timestamps increase)
|
|
83
83
|
- **Bounds**: Value ranges, size limits, rate constraints
|
|
84
84
|
|
|
85
|
-
5. **Update
|
|
86
|
-
-
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* Zero-decision
|
|
90
|
-
-
|
|
85
|
+
5. **Update OPSX Artifacts**
|
|
86
|
+
- The agent will use OpenSpec skills to generate/update:
|
|
87
|
+
* specs (Requirements + PBT)
|
|
88
|
+
* design (Technical decisions)
|
|
89
|
+
* tasks (Zero-decision implementation plan)
|
|
90
|
+
- Ensure all resolved constraints and PBT properties are included in the generated artifacts.
|
|
91
91
|
|
|
92
92
|
6. **Context Checkpoint**
|
|
93
93
|
- Report current context usage.
|
|
94
|
-
- If approaching 80K tokens, suggest: "Run `/clear` and continue with `/ccg:spec
|
|
94
|
+
- If approaching 80K tokens, suggest: "Run `/clear` and continue with `/ccg:spec-impl`"
|
|
95
95
|
|
|
96
96
|
**Exit Criteria**
|
|
97
|
-
A
|
|
97
|
+
A change is ready for implementation only when:
|
|
98
98
|
- [ ] All multi-model analyses completed and synthesized
|
|
99
99
|
- [ ] Zero ambiguities remain (verified by step 3 audit)
|
|
100
100
|
- [ ] All PBT properties documented with falsification strategies
|
|
101
|
-
- [ ]
|
|
101
|
+
- [ ] Artifacts (specs, design, tasks) generated via OpenSpec skills
|
|
102
102
|
- [ ] User has explicitly approved all constraint decisions
|
|
103
103
|
|
|
104
104
|
**Reference**
|
|
105
|
-
- Inspect
|
|
106
|
-
- Check conflicts: `
|
|
105
|
+
- Inspect change: `/opsx:status <id>`
|
|
106
|
+
- Check conflicts: `/opsx:schemas`
|
|
107
107
|
- Search patterns: `rg -n "INVARIANT:|PROPERTY:" openspec/`
|
|
108
108
|
- Use `AskUserQuestion` for ANY ambiguity—never assume
|
|
109
109
|
<!-- CCG:SPEC:PLAN:END -->
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: '需求 → 约束集(并行探索 +
|
|
2
|
+
description: '需求 → 约束集(并行探索 + OPSX 提案)'
|
|
3
3
|
---
|
|
4
4
|
<!-- CCG:SPEC:RESEARCH:START -->
|
|
5
5
|
**Core Philosophy**
|
|
6
6
|
- Research produces **constraint sets**, not information dumps. Each constraint narrows the solution space.
|
|
7
7
|
- Constraints tell subsequent stages "don't consider this direction," enabling mechanical execution without decisions.
|
|
8
8
|
- Output: 约束集合 + 可验证的成功判据 (constraint sets + verifiable success criteria).
|
|
9
|
-
- Strictly adhere to
|
|
9
|
+
- Strictly adhere to OPSX rules when writing spec-structured documents.
|
|
10
10
|
|
|
11
11
|
**Guardrails**
|
|
12
12
|
- **STOP! BEFORE ANY OTHER ACTION**: You MUST call `mcp__ace-tool__enhance_prompt` FIRST. This is NON-NEGOTIABLE.
|
|
@@ -30,9 +30,13 @@ description: '需求 → 约束集(并行探索 + OpenSpec 提案)'
|
|
|
30
30
|
- Wait for enhanced prompt result.
|
|
31
31
|
- Use enhanced prompt for ALL subsequent steps.
|
|
32
32
|
|
|
33
|
-
1. **Generate
|
|
34
|
-
-
|
|
35
|
-
|
|
33
|
+
1. **Generate OPSX Change**
|
|
34
|
+
- Create a new change using OPSX command:
|
|
35
|
+
```bash
|
|
36
|
+
/opsx:new "<brief-descriptive-name>"
|
|
37
|
+
```
|
|
38
|
+
- This scaffolds `openspec/changes/<name>/` with proposal.md.
|
|
39
|
+
- If change already exists, use `/opsx:list` to find it and continue.
|
|
36
40
|
|
|
37
41
|
2. **Initial Codebase Assessment**
|
|
38
42
|
- Use `mcp__ace-tool__search_context` to scan codebase.
|
|
@@ -78,8 +82,8 @@ description: '需求 → 约束集(并行探索 + OpenSpec 提案)'
|
|
|
78
82
|
* Suggest defaults when applicable
|
|
79
83
|
- Capture responses as additional constraints.
|
|
80
84
|
|
|
81
|
-
7. **Finalize
|
|
82
|
-
- Transform constraint sets into
|
|
85
|
+
7. **Finalize OPSX Proposal**
|
|
86
|
+
- Transform constraint sets into OPSX format:
|
|
83
87
|
* **Context**: User need + discovered constraints
|
|
84
88
|
* **Requirements**: Each constraint becomes requirement with scenario
|
|
85
89
|
* **Success Criteria**: Derived from hints and user confirmations
|
|
@@ -91,11 +95,10 @@ description: '需求 → 约束集(并行探索 + OpenSpec 提案)'
|
|
|
91
95
|
|
|
92
96
|
8. **Context Checkpoint**
|
|
93
97
|
- Report current context usage.
|
|
94
|
-
- If approaching 80K tokens, suggest: "Run `/clear` and continue with `/ccg:spec
|
|
98
|
+
- If approaching 80K tokens, suggest: "Run `/clear` and continue with `/ccg:spec-plan`"
|
|
95
99
|
|
|
96
100
|
**Reference**
|
|
97
|
-
-
|
|
101
|
+
- OPSX CLI: `/opsx:status`, `/opsx:show`
|
|
98
102
|
- Check prior research: `ls openspec/changes/*/`
|
|
99
|
-
- Use `openspec show <name>` to inspect proposal structure
|
|
100
103
|
- Use `AskUserQuestion` for ANY ambiguity—never assume or guess
|
|
101
104
|
<!-- CCG:SPEC:RESEARCH:END -->
|
|
@@ -15,13 +15,13 @@ description: '双模型交叉审查(独立工具,随时可用)'
|
|
|
15
15
|
|
|
16
16
|
**Steps**
|
|
17
17
|
1. **Select Proposal**
|
|
18
|
-
- Run
|
|
18
|
+
- Run `/opsx:list` to display Active Changes.
|
|
19
19
|
- Confirm with user which proposal ID to review.
|
|
20
|
-
- Run
|
|
20
|
+
- Run `/opsx:show <proposal_id>` to load spec and tasks.
|
|
21
21
|
|
|
22
22
|
2. **Collect Implementation Artifacts**
|
|
23
23
|
- Identify all files modified by this proposal.
|
|
24
|
-
- Use `git diff` or
|
|
24
|
+
- Use `git diff` or `/opsx:diff <proposal_id>` to get change summary.
|
|
25
25
|
- Load relevant spec constraints and PBT properties from `openspec/changes/<id>/specs/`.
|
|
26
26
|
|
|
27
27
|
3. **Multi-Model Review (PARALLEL)**
|
|
@@ -113,8 +113,8 @@ Review is complete when:
|
|
|
113
113
|
- [ ] User decision captured (archive / return to impl / defer)
|
|
114
114
|
|
|
115
115
|
**Reference**
|
|
116
|
-
- View proposal:
|
|
116
|
+
- View proposal: `/opsx:show <id>`
|
|
117
117
|
- Check spec constraints: `rg -n "CONSTRAINT:|MUST|INVARIANT:" openspec/changes/<id>/specs/`
|
|
118
|
-
- View implementation diff:
|
|
118
|
+
- View implementation diff: `/opsx:diff <id>` or `git diff`
|
|
119
119
|
- Archive (after passing): `/ccg:spec-impl` → Step 10
|
|
120
120
|
<!-- CCG:SPEC:REVIEW:END -->
|