chore: batch update - cleanup ghost commands, ccw-help index refresh, CLI session/orchestrator enhancements, skill minor fixes

- Add cleanup-ghost-commands.mjs script
- Refresh ccw-help index files (remove stale entries)
- CLI session manager: add instruction assembler and launch registry
- Frontend: orchestrator plan builder, property panel, dashboard toolbar updates
- Flow executor and type updates
- Minor fixes across multiple skills and commands
This commit is contained in:
catlog22
2026-02-17 21:53:51 +08:00
parent 1f53f2de27
commit 357f48a0c3
45 changed files with 751 additions and 1643 deletions

View File

@@ -1076,7 +1076,7 @@ failed ←───────────────────────
**execution_results[] fields**:
- `index`: Command position in chain (0-indexed)
- `command`: Full command string (e.g., `/workflow:plan`)
- `command`: Full command string (e.g., `workflow-plan` skill)
- `status`: `in-progress` | `completed` | `skipped` | `failed`
- `task_id`: Background task identifier (from Bash tool)
- `session_id`: Workflow session ID (e.g., `WFS-*`) or null if failed

View File

@@ -378,7 +378,7 @@ docker-compose.override.yml
## Integration Points
### Workflow Commands
- **After `/cli:plan`**: Suggest running cli-init for better analysis
- **After `workflow-lite-plan` skill**: Suggest running cli-init for better analysis
- **Before analysis**: Recommend updating ignore patterns for cleaner results
### CLI Tool Integration

View File

@@ -373,7 +373,7 @@ brainstorm-with-file
## Related Commands
- `/workflow:brainstorm-with-file` - Generate brainstorm sessions
- `/workflow:brainstorm:synthesis` - Add clarifications to brainstorm
- `brainstorm` skill - Add clarifications to brainstorm
- `/issue:new` - Create issues from GitHub or text
- `/issue:plan` - Generate solutions via exploration
- `/issue:queue` - Form execution queue

View File

@@ -544,5 +544,5 @@ Cleanup manifest archived to: ${sessionFolder}/cleanup-manifest.json
## Related Commands
- `/workflow:session:complete` - Properly archive active sessions
- `/memory:compact` - Save session memory before cleanup
- `/workflow:status` - View current workflow state
- `memory-capture` skill - Save session memory before cleanup
- `workflow-execute` skill - View current workflow state

View File

@@ -641,6 +641,6 @@ Why is config value None during update?
| Empty debug.log | Verify reproduction triggered the code path |
| All hypotheses rejected | Use Gemini to generate new hypotheses based on disproven assumptions |
| Fix doesn't work | Document failed fix attempt, iterate with refined understanding |
| >5 iterations | Review consolidated understanding, escalate to `/workflow:lite-fix` with full context |
| >5 iterations | Review consolidated understanding, escalate to `workflow-lite-plan` skill with full context |
| Gemini unavailable | Fallback to manual hypothesis generation, document without Gemini insights |
| Understanding too long | Consolidate aggressively, archive old iterations to separate file |

View File

@@ -284,5 +284,5 @@ Next steps:
- `/workflow:init-guidelines` - Interactive wizard to configure project guidelines (called after init)
- `/workflow:session:solidify` - Add individual rules/constraints one at a time
- `/workflow:plan` - Start planning with initialized project context
- `workflow-plan` skill - Start planning with initialized project context
- `/workflow:status --project` - View project state and guidelines

View File

@@ -38,7 +38,7 @@ When `--yes` or `-y`: Auto-confirm exploration decisions, use recommended test s
Unified integration test workflow: **Explore → Design → Develop → Test → Reflect → Adjust → Re-test** — a closed-loop that autonomously improves test quality through text-based reflection.
**vs Existing Commands**:
- **test-fix-gen**: Only generates test tasks, requires manual `/test-cycle-execute`
- **test-fix-gen**: Only generates test tasks, requires manual `workflow-test-fix` skill
- **test-cycle-execute**: Only executes pre-existing tasks, no exploration or test design
- **This command**: Full lifecycle — from zero knowledge to passing integration tests, with self-reflection
@@ -919,11 +919,11 @@ Single evolving state file — each phase writes its section:
- Need comprehensive exploration before test development
- Want self-healing test cycles with documented reasoning
**Use `/workflow:test-fix-gen` + `/workflow:test-cycle-execute` when:**
**Use `workflow-test-fix` skill + `workflow-test-fix` skill when:**
- Already have a completed implementation session (WFS-*)
- Only need unit/component level tests
**Use `/workflow:tdd-plan` when:**
**Use `workflow-tdd` skill when:**
- Building new features with test-first approach
- Red-Green-Refactor cycle

View File

@@ -827,11 +827,11 @@ AskUserQuestion({
- Need regression-safe iterative refactoring with rollback
- Want documented reasoning for each refactoring decision
**Use `/workflow:lite-fix` when:**
**Use `workflow-lite-plan` skill when:**
- Single specific bug or issue to fix
- No systematic debt analysis needed
**Use `/workflow:plan` + `/workflow:execute` when:**
**Use `workflow-plan` skill + `workflow-execute` skill when:**
- New feature implementation (not refactoring)
- Already know exactly what to change

View File

@@ -284,8 +284,8 @@ Result:
The `project-guidelines.json` is consumed by:
1. **`/workflow:tools:context-gather`**: Loads guidelines into context-package.json
2. **`/workflow:plan`**: Passes guidelines to task generation agent
1. **`workflow-plan` skill (context-gather phase)**: Loads guidelines into context-package.json
2. **`workflow-plan` skill**: Passes guidelines to task generation agent
3. **`task-generate-agent`**: Includes guidelines as "CRITICAL CONSTRAINTS" in system prompt
This ensures all future planning respects solidified rules without users needing to re-state them.

View File

@@ -25,11 +25,11 @@ The `--type` parameter classifies sessions for CCW dashboard organization:
| Type | Description | Default For |
|------|-------------|-------------|
| `workflow` | Standard implementation (default) | `/workflow:plan` |
| `review` | Code review sessions | `/workflow:review-module-cycle` |
| `tdd` | TDD-based development | `/workflow:tdd-plan` |
| `test` | Test generation/fix sessions | `/workflow:test-fix-gen` |
| `docs` | Documentation sessions | `/memory:docs` |
| `workflow` | Standard implementation (default) | `workflow-plan` skill |
| `review` | Code review sessions | `review-cycle` skill |
| `tdd` | TDD-based development | `workflow-tdd` skill |
| `test` | Test generation/fix sessions | `workflow-test-fix` skill |
| `docs` | Documentation sessions | `memory-manage` skill |
**Validation**: If `--type` is provided with invalid value, return error:
```

View File

@@ -9,7 +9,7 @@ allowed-tools: Read(*), Write(*), Edit(*), TodoWrite(*), Glob(*), Bash(*)
## Overview
Synchronize finalized design system references to brainstorming artifacts, preparing them for `/workflow:plan` consumption. This command updates **references only** (via @ notation), not content duplication.
Synchronize finalized design system references to brainstorming artifacts, preparing them for `workflow-plan` skill consumption. This command updates **references only** (via @ notation), not content duplication.
## Core Philosophy
@@ -396,12 +396,12 @@ Next: /workflow:plan [--agent] "<task description>"
## Integration with /workflow:plan
After this update, `/workflow:plan` will discover design assets through:
After this update, `workflow-plan` skill will discover design assets through:
**Phase 3: Intelligent Analysis** (`/workflow:tools:concept-enhanced`)
**Phase 3: Intelligent Analysis** (`workflow-test-fix` skill (concept-enhanced phase))
- Reads role analysis documents → Discovers @ references → Includes design system context in ANALYSIS_RESULTS.md
**Phase 4: Task Generation** (`/workflow:tools:task-generate`)
**Phase 4: Task Generation** (`workflow-plan` skill (task-generate phase))
- Reads ANALYSIS_RESULTS.md → Discovers design assets → Includes design system paths in task JSON files
**Example Task JSON** (generated by task-generate):
@@ -441,7 +441,7 @@ After update, verify:
1. **Reference-Only Updates**: Uses @ notation for file references, no content duplication, lightweight and maintainable
2. **Main Claude Direct Execution**: No Agent handoff (preserves context), simple reference generation, reliable path resolution
3. **Plan-Ready Output**: `/workflow:plan` Phase 3 can discover design system, task generation includes design asset paths, clear integration points
3. **Plan-Ready Output**: `workflow-plan` skill Phase 3 can discover design system, task generation includes design asset paths, clear integration points
4. **Minimal Reading**: Only reads target files to update, verifies design file existence (no content reading), optional prototype notes for descriptions
5. **Flexible Prototype Selection**: Auto-select all prototypes (default), manual selection via --selected-prototypes parameter, validates existence
@@ -449,6 +449,6 @@ After update, verify:
- **Input**: Design system artifacts from `/workflow:ui-design:style-extract` and `/workflow:ui-design:generate`
- **Output**: Updated role analysis documents, role analysis.md files, ui-designer/design-system-reference.md with @ references
- **Next Phase**: `/workflow:plan` discovers and utilizes design system through @ references
- **Auto Integration**: Automatically triggered by `/workflow:ui-design:auto` workflow
- **Next Phase**: `workflow-plan` skill discovers and utilizes design system through @ references
- **Auto Integration**: Automatically triggered by `/workflow:ui-design:explore-auto` workflow

View File

@@ -500,5 +500,5 @@ ERROR: Script permission denied
- `/workflow:ui-design:layout-extract``layout-{target}-{variant}.json` files
**Input**: `layout-*.json` files + `design-tokens.json`
**Output**: S×L×T prototypes for `/workflow:ui-design:update`
**Output**: S×L×T prototypes for `/workflow:ui-design:generate`
**Called by**: `/workflow:ui-design:explore-auto`, `/workflow:ui-design:imitate-auto`

View File

@@ -708,7 +708,7 @@ TodoWrite({todos: [
3. `/workflow:ui-design:animation-extract` (Phase 2.3 - animation tokens)
4. `/workflow:ui-design:layout-extract` (Phase 2.5 - structure templates)
5. `/workflow:ui-design:generate` (Phase 3 - pure assembly)
6. `/workflow:ui-design:update` (Phase 4, if --session)
6. `/workflow:ui-design:generate` (Phase 4, if --session)
## Completion Output

View File

@@ -0,0 +1,402 @@
#!/usr/bin/env node
/**
* Cleanup script: Remove ghost command entries from ccw-help JSON indexes
* and fix broken slash command references in skill/command .md files.
*
* Usage: node cleanup-ghost-commands.mjs [--dry-run]
*/
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import { glob } from 'fs/promises';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const ROOT = path.resolve(__dirname, '..');
const COMMANDS_DIR = path.join(ROOT, 'commands');
const SKILLS_DIR = path.join(ROOT, 'skills');
const INDEX_DIR = path.join(SKILLS_DIR, 'ccw-help', 'index');
const DRY_RUN = process.argv.includes('--dry-run');
const log = (msg) => console.log(DRY_RUN ? `[DRY-RUN] ${msg}` : msg);
// ─── Step 1: Build set of existing command source files ───
function getExistingCommandSources() {
const sources = new Set();
function walk(dir, prefix = '') {
if (!fs.existsSync(dir)) return;
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
if (entry.isDirectory()) {
walk(path.join(dir, entry.name), rel);
} else if (entry.name.endsWith('.md')) {
// Store as relative path from index dir: ../../../commands/...
sources.add(`../../../commands/${rel}`);
}
}
}
walk(COMMANDS_DIR);
return sources;
}
// ─── Step 2: Build mapping of old commands → new skill names ───
// These commands were migrated to skills but references were never updated
const COMMAND_TO_SKILL_MAP = {
// workflow commands → skills
'/workflow:plan': 'workflow-plan',
'/workflow:execute': 'workflow-execute',
'/workflow:lite-plan': 'workflow-lite-plan',
'/workflow:lite-execute': 'workflow-lite-plan', // lite-execute is part of lite-plan skill
'/workflow:lite-fix': 'workflow-lite-plan', // lite-fix is part of lite-plan skill
'/workflow:multi-cli-plan': 'workflow-multi-cli-plan',
'/workflow:plan-verify': 'workflow-plan', // plan-verify is a phase of workflow-plan
'/workflow:replan': 'workflow-plan', // replan is a phase of workflow-plan
'/workflow:tdd-plan': 'workflow-tdd',
'/workflow:tdd-verify': 'workflow-tdd', // tdd-verify is a phase of workflow-tdd
'/workflow:test-fix-gen': 'workflow-test-fix',
'/workflow:test-gen': 'workflow-test-fix',
'/workflow:test-cycle-execute': 'workflow-test-fix',
'/workflow:review': 'review-cycle',
'/workflow:review-session-cycle': 'review-cycle',
'/workflow:review-module-cycle': 'review-cycle',
'/workflow:review-cycle-fix': 'review-cycle',
'/workflow:status': 'workflow-execute', // status is part of workflow-execute
// brainstorm commands → skills
'/workflow:brainstorm:artifacts': 'brainstorm',
'/workflow:brainstorm:auto-parallel': 'brainstorm',
'/workflow:brainstorm:role-analysis': 'brainstorm',
'/workflow:brainstorm:synthesis': 'brainstorm',
// tools commands → skill phases
'/workflow:tools:context-gather': 'workflow-plan',
'/workflow:tools:conflict-resolution': 'workflow-plan',
'/workflow:tools:task-generate-agent': 'workflow-plan',
'/workflow:tools:task-generate-tdd': 'workflow-tdd',
'/workflow:tools:tdd-coverage-analysis': 'workflow-tdd',
'/workflow:tools:test-concept-enhanced': 'workflow-test-fix',
'/workflow:tools:test-context-gather': 'workflow-test-fix',
'/workflow:tools:test-task-generate': 'workflow-test-fix',
// memory commands → skills
'/memory:compact': 'memory-capture',
'/memory:tips': 'memory-capture',
'/memory:load': 'memory-manage',
'/memory:docs': 'memory-manage',
'/memory:docs-full-cli': 'memory-manage',
'/memory:docs-related-cli': 'memory-manage',
'/memory:update-full': 'memory-manage',
'/memory:update-related': 'memory-manage',
// general commands
'/ccw-debug': null, // deleted, no replacement
'/ccw view': null, // deleted, no replacement
'/workflow:lite-lite-lite': 'workflow-lite-plan',
// ui-design (these still exist as commands)
'/workflow:ui-design:auto': '/workflow:ui-design:explore-auto',
'/workflow:ui-design:update': '/workflow:ui-design:generate',
};
// ─── Step 3: Clean JSON index files ───
function cleanAllCommandsJson(existingSources) {
const filePath = path.join(INDEX_DIR, 'all-commands.json');
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
const before = data.length;
const cleaned = data.filter(entry => {
const exists = existingSources.has(entry.source);
if (!exists) {
log(` REMOVE from all-commands.json: ${entry.command} (source: ${entry.source})`);
}
return exists;
});
const removed = before - cleaned.length;
if (removed > 0) {
if (!DRY_RUN) fs.writeFileSync(filePath, JSON.stringify(cleaned, null, 2) + '\n');
log(` all-commands.json: removed ${removed} ghost entries (${before}${cleaned.length})`);
} else {
log(` all-commands.json: no ghost entries found`);
}
return removed;
}
function cleanEssentialCommandsJson(existingSources) {
const filePath = path.join(INDEX_DIR, 'essential-commands.json');
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
const before = data.length;
const cleaned = data.filter(entry => {
const exists = existingSources.has(entry.source);
if (!exists) {
log(` REMOVE from essential-commands.json: ${entry.command} (source: ${entry.source})`);
}
return exists;
});
const removed = before - cleaned.length;
if (removed > 0) {
if (!DRY_RUN) fs.writeFileSync(filePath, JSON.stringify(cleaned, null, 2) + '\n');
log(` essential-commands.json: removed ${removed} ghost entries`);
}
return removed;
}
function cleanByCategoryJson(existingSources) {
const filePath = path.join(INDEX_DIR, 'by-category.json');
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
let totalRemoved = 0;
for (const [category, subcats] of Object.entries(data)) {
for (const [subcat, entries] of Object.entries(subcats)) {
if (!Array.isArray(entries)) continue;
const before = entries.length;
const cleaned = entries.filter(entry => {
const exists = existingSources.has(entry.source);
if (!exists) {
log(` REMOVE from by-category.json[${category}][${subcat}]: ${entry.command}`);
}
return exists;
});
if (cleaned.length < before) {
subcats[subcat] = cleaned;
totalRemoved += before - cleaned.length;
}
// Remove empty subcategory arrays
if (cleaned.length === 0) {
delete subcats[subcat];
}
}
// Remove empty categories
if (Object.keys(subcats).length === 0) {
delete data[category];
}
}
if (totalRemoved > 0) {
if (!DRY_RUN) fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n');
log(` by-category.json: removed ${totalRemoved} ghost entries`);
}
return totalRemoved;
}
function cleanByUseCaseJson(existingSources) {
const filePath = path.join(INDEX_DIR, 'by-use-case.json');
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
let totalRemoved = 0;
for (const [useCase, entries] of Object.entries(data)) {
if (!Array.isArray(entries)) continue;
const before = entries.length;
const cleaned = entries.filter(entry => {
const exists = existingSources.has(entry.source);
if (!exists) {
log(` REMOVE from by-use-case.json[${useCase}]: ${entry.command}`);
}
return exists;
});
if (cleaned.length < before) {
data[useCase] = cleaned;
totalRemoved += before - cleaned.length;
}
if (cleaned.length === 0) {
delete data[useCase];
}
}
if (totalRemoved > 0) {
if (!DRY_RUN) fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n');
log(` by-use-case.json: removed ${totalRemoved} ghost entries`);
}
return totalRemoved;
}
function cleanCommandRelationshipsJson(existingSources) {
const filePath = path.join(INDEX_DIR, 'command-relationships.json');
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
// Build set of existing command names (without leading /)
// From source paths like ../../../commands/workflow/session/start.md → workflow:session:start
const existingCommands = new Set();
for (const src of existingSources) {
// ../../../commands/workflow/session/start.md → workflow/session/start
const rel = src.replace('../../../commands/', '').replace('.md', '');
// workflow/session/start → workflow:session:start
const cmd = rel.replace(/\//g, ':');
existingCommands.add(cmd);
}
// Also add skill names as valid targets
if (fs.existsSync(SKILLS_DIR)) {
for (const entry of fs.readdirSync(SKILLS_DIR, { withFileTypes: true })) {
if (entry.isDirectory()) existingCommands.add(entry.name);
}
}
// Remove top-level keys that reference non-existent commands
const keysToRemove = [];
for (const key of Object.keys(data)) {
if (!existingCommands.has(key)) {
keysToRemove.push(key);
}
}
// Also clean internal references
for (const [key, relations] of Object.entries(data)) {
for (const [relType, refs] of Object.entries(relations)) {
if (Array.isArray(refs)) {
const cleaned = refs.filter(ref => existingCommands.has(ref));
if (cleaned.length < refs.length) {
log(` CLEAN command-relationships.json[${key}][${relType}]: removed ${refs.length - cleaned.length} dead refs`);
relations[relType] = cleaned;
}
}
}
}
for (const key of keysToRemove) {
log(` REMOVE command-relationships.json key: ${key}`);
delete data[key];
}
if (keysToRemove.length > 0) {
if (!DRY_RUN) fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n');
log(` command-relationships.json: removed ${keysToRemove.length} ghost keys`);
}
return keysToRemove.length;
}
// ─── Step 4: Fix broken references in .md files ───
function findMdFiles(dir) {
const results = [];
if (!fs.existsSync(dir)) return results;
function walk(d) {
for (const entry of fs.readdirSync(d, { withFileTypes: true })) {
const full = path.join(d, entry.name);
if (entry.isDirectory()) {
// Skip _shared, index dirs
if (entry.name === 'node_modules' || entry.name === 'index') continue;
walk(full);
} else if (entry.name.endsWith('.md')) {
results.push(full);
}
}
}
walk(dir);
return results;
}
function fixBrokenReferences() {
const mdFiles = [
...findMdFiles(COMMANDS_DIR),
...findMdFiles(SKILLS_DIR),
];
let totalFixes = 0;
const fixLog = [];
for (const filePath of mdFiles) {
let content = fs.readFileSync(filePath, 'utf8');
let modified = false;
const relPath = path.relative(ROOT, filePath);
// Fix Skill() invocations with wrong skill names
// e.g., Skill(skill="compact" → Skill(skill="memory-capture"
const skillCallFixes = {
'skill="compact"': 'skill="memory-capture"',
"skill='compact'": "skill='memory-capture'",
'skill="workflow:brainstorm:role-analysis"': 'skill="brainstorm"',
"skill='workflow:brainstorm:role-analysis'": "skill='brainstorm'",
'skill="workflow:lite-execute"': 'skill="workflow-lite-plan"',
"skill='workflow:lite-execute'": "skill='workflow-lite-plan'",
};
for (const [oldCall, newCall] of Object.entries(skillCallFixes)) {
if (content.includes(oldCall)) {
content = content.replaceAll(oldCall, newCall);
modified = true;
fixLog.push(` ${relPath}: ${oldCall}${newCall}`);
totalFixes++;
}
}
// Fix backtick-quoted slash command references in prose
// Pattern: `/ command:name` references that point to non-existent commands
// These are documentation references - update to point to skill names
const proseRefFixes = {
'`/workflow:plan`': '`workflow-plan` skill',
'`/workflow:execute`': '`workflow-execute` skill',
'`/workflow:lite-execute`': '`workflow-lite-plan` skill',
'`/workflow:lite-fix`': '`workflow-lite-plan` skill',
'`/workflow:plan-verify`': '`workflow-plan` skill (plan-verify phase)',
'`/workflow:replan`': '`workflow-plan` skill (replan phase)',
'`/workflow:tdd-plan`': '`workflow-tdd` skill',
'`/workflow:tdd-verify`': '`workflow-tdd` skill (tdd-verify phase)',
'`/workflow:test-fix-gen`': '`workflow-test-fix` skill',
'`/workflow:test-gen`': '`workflow-test-fix` skill',
'`/workflow:test-cycle-execute`': '`workflow-test-fix` skill',
'`/workflow:review`': '`review-cycle` skill',
'`/workflow:review-session-cycle`': '`review-cycle` skill',
'`/workflow:review-module-cycle`': '`review-cycle` skill',
'`/workflow:review-cycle-fix`': '`review-cycle` skill (fix phase)',
'`/workflow:status`': '`workflow-execute` skill',
'`/workflow:brainstorm:artifacts`': '`brainstorm` skill',
'`/workflow:brainstorm:synthesis`': '`brainstorm` skill',
'`/workflow:brainstorm:role-analysis`': '`brainstorm` skill',
'`/memory:compact`': '`memory-capture` skill',
'`/memory:docs`': '`memory-manage` skill',
'`/compact`': '`memory-capture` skill',
'`/workflow:tools:context-gather`': '`workflow-plan` skill (context-gather phase)',
'`/workflow:tools:concept-enhanced`': '`workflow-test-fix` skill (concept-enhanced phase)',
'`/workflow:tools:task-generate`': '`workflow-plan` skill (task-generate phase)',
'`/workflow:ui-design:auto`': '`/workflow:ui-design:explore-auto`',
'`/workflow:ui-design:update`': '`/workflow:ui-design:generate`',
'`/workflow:multi-cli-plan`': '`workflow-multi-cli-plan` skill',
'`/workflow:lite-plan`': '`workflow-lite-plan` skill',
'`/cli:plan`': '`workflow-lite-plan` skill',
'`/test-cycle-execute`': '`workflow-test-fix` skill',
};
for (const [oldRef, newRef] of Object.entries(proseRefFixes)) {
if (content.includes(oldRef)) {
content = content.replaceAll(oldRef, newRef);
modified = true;
fixLog.push(` ${relPath}: ${oldRef}${newRef}`);
totalFixes++;
}
}
if (modified && !DRY_RUN) {
fs.writeFileSync(filePath, content);
}
}
for (const entry of fixLog) {
log(entry);
}
return totalFixes;
}
// ─── Main ───
console.log('=== CCW Ghost Command Cleanup ===');
console.log(`Root: ${ROOT}`);
console.log(`Mode: ${DRY_RUN ? 'DRY-RUN (no files modified)' : 'LIVE'}\n`);
// Step 1
console.log('Step 1: Scanning existing command files...');
const existingSources = getExistingCommandSources();
console.log(` Found ${existingSources.size} existing command files\n`);
// Step 2
console.log('Step 2: Cleaning JSON index files...');
let totalJsonRemoved = 0;
totalJsonRemoved += cleanAllCommandsJson(existingSources);
totalJsonRemoved += cleanEssentialCommandsJson(existingSources);
totalJsonRemoved += cleanByCategoryJson(existingSources);
totalJsonRemoved += cleanByUseCaseJson(existingSources);
totalJsonRemoved += cleanCommandRelationshipsJson(existingSources);
console.log(`\n Total JSON ghost entries removed: ${totalJsonRemoved}\n`);
// Step 3
console.log('Step 3: Fixing broken references in .md files...');
const totalMdFixes = fixBrokenReferences();
console.log(`\n Total .md reference fixes: ${totalMdFixes}\n`);
console.log('=== Done ===');
console.log(`Summary: ${totalJsonRemoved} JSON ghost entries, ${totalMdFixes} .md reference fixes`);
if (DRY_RUN) console.log('(No files were modified - run without --dry-run to apply changes)');

View File

@@ -122,7 +122,7 @@
| **Frontmatter** | 移除,在 SKILL.md 中统一定义 | `argument-hint``examples` → 移除 |
| **命令调用语法** | 转换为 Phase 文件的相对路径 | `/workflow:session:start``phases/01-session-discovery.md` |
| **命令路径引用** | 转换为 Skill 目录内路径 | `commands/workflow/tools/``phases/` |
| **跨命令引用** | 转换为 Phase 间文件引用 | `/workflow:tools:context-gather``phases/02-context-gathering.md` |
| **跨命令引用** | 转换为 Phase 间文件引用 | `workflow-plan` skill (context-gather phase)`phases/02-context-gathering.md` |
| **命令参数说明** | 移除或转为 Phase Prerequisites | `usage: /workflow:plan [session-id]` → Phase Prerequisites 中说明 |
**转换示例**
@@ -131,7 +131,7 @@
```markdown
## Related Commands
- `/workflow:session:start` - Start new session
- `/workflow:tools:context-gather` - Gather context
- `workflow-plan` skill (context-gather phase) - Gather context
```
转换后 Phase 文件中(使用文件路径引用):

View File

@@ -34,10 +34,10 @@ When called from auto mode, launch N role-analysis calls simultaneously:
```javascript
// Single message with multiple Skill invokes for parallelism
// For each selected role:
Skill(skill="workflow:brainstorm:role-analysis", args="{role-name} --session {session-id} --skip-questions")
Skill(skill="brainstorm", args="{role-name} --session {session-id} --skip-questions")
// For ui-designer with style-skill:
Skill(skill="workflow:brainstorm:role-analysis", args="ui-designer --session {session-id} --skip-questions --style-skill {style_skill_package}")
Skill(skill="brainstorm", args="ui-designer --session {session-id} --skip-questions --style-skill {style_skill_package}")
```
**Parallel Safety**: Each role operates independently on its own directory. No cross-agent dependencies.

View File

@@ -10,17 +10,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/ccw-coordinator.md"
},
{
"name": "ccw-debug",
"command": "/ccw-debug",
"description": "Aggregated debug command - combines debugging diagnostics and test verification in a synergistic workflow supporting cli-quick / debug-first / test-first / bidirectional-verification modes",
"arguments": "[--mode cli|debug|test|bidirectional] [--yes|-y] [--hotfix] \\\"bug description or error message\\",
"category": "general",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/ccw-debug.md"
},
{
"name": "ccw",
"command": "/ccw",
@@ -142,50 +131,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/issue/queue.md"
},
{
"name": "compact",
"command": "/memory:compact",
"description": "Compact current session memory into structured text for session recovery, extracting objective/plan/files/decisions/constraints/state, and save via MCP core_memory tool",
"arguments": "[optional: session description]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/compact.md"
},
{
"name": "docs-full-cli",
"command": "/memory:docs-full-cli",
"description": "Generate full project documentation using CLI execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel",
"arguments": "[path] [--tool <gemini|qwen|codex>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "documentation",
"difficulty": "Intermediate",
"source": "../../../commands/memory/docs-full-cli.md"
},
{
"name": "docs-related-cli",
"command": "/memory:docs-related-cli",
"description": "Generate/update documentation for git-changed modules using CLI execution with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <15 modules uses direct parallel",
"arguments": "[--tool <gemini|qwen|codex>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "documentation",
"difficulty": "Intermediate",
"source": "../../../commands/memory/docs-related-cli.md"
},
{
"name": "load",
"command": "/memory:load",
"description": "Delegate to universal-executor agent to analyze project via Gemini/Qwen CLI and return JSON core content package for task context",
"arguments": "[--tool gemini|qwen] \\\"task context description\\",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/load.md"
},
{
"name": "style-skill-memory",
"command": "/memory:style-skill-memory",
@@ -197,50 +142,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/memory/style-skill-memory.md"
},
{
"name": "tips",
"command": "/memory:tips",
"description": "Quick note-taking command to capture ideas, snippets, reminders, and insights for later reference",
"arguments": "<note content> [--tag <tag1,tag2>] [--context <context>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/tips.md"
},
{
"name": "update-full",
"command": "/memory:update-full",
"description": "Update all CLAUDE.md files using layer-based execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel",
"arguments": "[--tool gemini|qwen|codex] [--path <directory>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/update-full.md"
},
{
"name": "update-related",
"command": "/memory:update-related",
"description": "Update CLAUDE.md for git-changed modules using batched agent execution (4 modules/agent) with gemini→qwen→codex fallback, <15 modules uses direct execution",
"arguments": "[--tool gemini|qwen|codex]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/update-related.md"
},
{
"name": "ccw view",
"command": "/ccw view",
"description": "Dashboard - Open CCW workflow dashboard for managing tasks and sessions",
"arguments": "",
"category": "general",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/view.md"
},
{
"name": "analyze-with-file",
"command": "/workflow:analyze-with-file",
@@ -252,50 +153,6 @@
"difficulty": "Beginner",
"source": "../../../commands/workflow/analyze-with-file.md"
},
{
"name": "artifacts",
"command": "/workflow:brainstorm:artifacts",
"description": "Interactive clarification generating confirmed guidance specification through role-based analysis and synthesis",
"arguments": "[-y|--yes] topic or challenge description [--count N]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm/artifacts.md"
},
{
"name": "auto-parallel",
"command": "/workflow:brainstorm:auto-parallel",
"description": "Parallel brainstorming automation with dynamic role selection and concurrent execution across multiple perspectives",
"arguments": "[-y|--yes] topic or challenge description [--count N]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/brainstorm/auto-parallel.md"
},
{
"name": "role-analysis",
"command": "/workflow:brainstorm:role-analysis",
"description": "Unified role-specific analysis generation with interactive context gathering and incremental updates",
"arguments": "[role-name] [--session session-id] [--update] [--include-questions] [--skip-questions]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm/role-analysis.md"
},
{
"name": "synthesis",
"command": "/workflow:brainstorm:synthesis",
"description": "Clarify and refine role analyses through intelligent Q&A and targeted updates with synthesis agent",
"arguments": "[-y|--yes] [optional: --session session-id]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/brainstorm/synthesis.md"
},
{
"name": "brainstorm-with-file",
"command": "/workflow:brainstorm-with-file",
@@ -329,17 +186,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/debug-with-file.md"
},
{
"name": "execute",
"command": "/workflow:execute",
"description": "Coordinate agent execution for workflow tasks with automatic session discovery, parallel task processing, and status tracking",
"arguments": "[-y|--yes] [--resume-session=\\\"session-id\\\"]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/execute.md"
},
{
"name": "init",
"command": "/workflow:init",
@@ -351,138 +197,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/init.md"
},
{
"name": "lite-execute",
"command": "/workflow:lite-execute",
"description": "Execute tasks based on in-memory plan, prompt description, or file content",
"arguments": "[-y|--yes] [--in-memory] [\\\"task description\\\"|file-path]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-execute.md"
},
{
"name": "lite-fix",
"command": "/workflow:lite-fix",
"description": "Lightweight bug diagnosis and fix workflow with intelligent severity assessment and optional hotfix mode for production incidents",
"arguments": "[-y|--yes] [--hotfix] \\\"bug description or issue reference\\",
"category": "workflow",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-fix.md"
},
{
"name": "workflow:lite-lite-lite",
"command": "/workflow:lite-lite-lite",
"description": "Ultra-lightweight multi-tool analysis and direct execution. No artifacts for simple tasks; auto-creates planning docs in .workflow/.scratchpad/ for complex tasks. Auto tool selection based on task analysis, user-driven iteration via AskUser.",
"arguments": "[-y|--yes] <task description>",
"category": "workflow",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-lite-lite.md"
},
{
"name": "lite-plan",
"command": "/workflow:lite-plan",
"description": "Lightweight interactive planning workflow with in-memory planning, code exploration, and execution execute to lite-execute after user confirmation",
"arguments": "[-y|--yes] [-e|--explore] \\\"task description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-plan.md"
},
{
"name": "workflow:multi-cli-plan",
"command": "/workflow:multi-cli-plan",
"description": "Multi-CLI collaborative planning workflow with ACE context gathering and iterative cross-verification. Uses cli-discuss-agent for Gemini+Codex+Claude analysis to converge on optimal execution plan.",
"arguments": "[-y|--yes] <task description> [--max-rounds=3] [--tools=gemini,codex] [--mode=parallel|serial]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/multi-cli-plan.md"
},
{
"name": "plan-verify",
"command": "/workflow:plan-verify",
"description": "Perform READ-ONLY verification analysis between IMPL_PLAN.md, task JSONs, and brainstorming artifacts. Generates structured report with quality gate recommendation. Does NOT modify any files.",
"arguments": "[optional: --session session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan-verify.md"
},
{
"name": "plan",
"command": "/workflow:plan",
"description": "5-phase planning workflow with action-planning-agent task generation, outputs IMPL_PLAN.md and task JSONs",
"arguments": "[-y|--yes] \\\"text description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan.md"
},
{
"name": "replan",
"command": "/workflow:replan",
"description": "Interactive workflow replanning with session-level artifact updates and boundary clarification through guided questioning",
"arguments": "[-y|--yes] [--session session-id] [task-id] \\\"requirements\\\"|file.md [--interactive]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/replan.md"
},
{
"name": "review-cycle-fix",
"command": "/workflow:review-cycle-fix",
"description": "Automated fixing of code review findings with AI-powered planning and coordinated execution. Uses intelligent grouping, multi-stage timeline coordination, and test-driven verification.",
"arguments": "<export-file|review-dir> [--resume] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-cycle-fix.md"
},
{
"name": "review-module-cycle",
"command": "/workflow:review-module-cycle",
"description": "Independent multi-dimensional code review for specified modules/files. Analyzes specific code paths across 7 dimensions with hybrid parallel-iterative execution, independent of workflow sessions.",
"arguments": "<path-pattern> [--dimensions=security,architecture,...] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-module-cycle.md"
},
{
"name": "review-session-cycle",
"command": "/workflow:review-session-cycle",
"description": "Session-based comprehensive multi-dimensional code review. Analyzes git changes from workflow session across 7 dimensions with hybrid parallel-iterative execution, aggregates findings, and performs focused deep-dives on critical issues until quality gates met.",
"arguments": "[session-id] [--dimensions=security,architecture,...] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "session-management",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-session-cycle.md"
},
{
"name": "review",
"command": "/workflow:review",
"description": "Post-implementation review with specialized types (security/architecture/action-items/quality) using analysis agents and Gemini",
"arguments": "[--type=security|architecture|action-items|quality] [--archived] [optional: session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review.md"
},
{
"name": "complete",
"command": "/workflow:session:complete",
@@ -538,149 +252,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/session/start.md"
},
{
"name": "tdd-plan",
"command": "/workflow:tdd-plan",
"description": "TDD workflow planning with Red-Green-Refactor task chain generation, test-first development structure, and cycle tracking",
"arguments": "\\\"feature description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tdd-plan.md"
},
{
"name": "tdd-verify",
"command": "/workflow:tdd-verify",
"description": "Verify TDD workflow compliance against Red-Green-Refactor cycles. Generates quality report with coverage analysis and quality gate recommendation. Orchestrates sub-commands for comprehensive validation.",
"arguments": "[optional: --session WFS-session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tdd-verify.md"
},
{
"name": "test-cycle-execute",
"command": "/workflow:test-cycle-execute",
"description": "Execute test-fix workflow with dynamic task generation and iterative fix cycles until test pass rate >= 95% or max iterations reached. Uses @cli-planning-agent for failure analysis and task generation.",
"arguments": "[--resume-session=\\\"session-id\\\"] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-cycle-execute.md"
},
{
"name": "test-fix-gen",
"command": "/workflow:test-fix-gen",
"description": "Create test-fix workflow session from session ID, description, or file path with test strategy generation and task planning",
"arguments": "(source-session-id | \\\"feature description\\\" | /path/to/file.md)",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-fix-gen.md"
},
{
"name": "test-gen",
"command": "/workflow:test-gen",
"description": "Create independent test-fix workflow session from completed implementation session, analyzes code to generate test tasks",
"arguments": "source-session-id",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-gen.md"
},
{
"name": "conflict-resolution",
"command": "/workflow:tools:conflict-resolution",
"description": "Detect and resolve conflicts between plan and existing codebase using CLI-powered analysis with Gemini/Qwen",
"arguments": "[-y|--yes] --session WFS-session-id --context path/to/context-package.json",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/conflict-resolution.md"
},
{
"name": "gather",
"command": "/workflow:tools:gather",
"description": "Intelligently collect project context using context-search-agent based on task description, packages into standardized JSON",
"arguments": "--session WFS-session-id \\\"task description\\",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/context-gather.md"
},
{
"name": "task-generate-agent",
"command": "/workflow:tools:task-generate-agent",
"description": "Generate implementation plan documents (IMPL_PLAN.md, task JSONs, TODO_LIST.md) using action-planning-agent - produces planning artifacts, does NOT execute code implementation",
"arguments": "[-y|--yes] --session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/task-generate-agent.md"
},
{
"name": "task-generate-tdd",
"command": "/workflow:tools:task-generate-tdd",
"description": "Autonomous TDD task generation using action-planning-agent with Red-Green-Refactor cycles, test-first structure, and cycle validation",
"arguments": "[-y|--yes] --session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/task-generate-tdd.md"
},
{
"name": "tdd-coverage-analysis",
"command": "/workflow:tools:tdd-coverage-analysis",
"description": "Analyze test coverage and TDD cycle execution with Red-Green-Refactor compliance verification",
"arguments": "--session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/tdd-coverage-analysis.md"
},
{
"name": "test-concept-enhanced",
"command": "/workflow:tools:test-concept-enhanced",
"description": "Coordinate test analysis workflow using cli-execution-agent to generate test strategy via Gemini",
"arguments": "--session WFS-test-session-id --context path/to/test-context-package.json",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-concept-enhanced.md"
},
{
"name": "test-context-gather",
"command": "/workflow:tools:test-context-gather",
"description": "Collect test coverage context using test-context-search-agent and package into standardized test-context JSON",
"arguments": "--session WFS-test-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-context-gather.md"
},
{
"name": "test-task-generate",
"command": "/workflow:tools:test-task-generate",
"description": "Generate test planning documents (IMPL_PLAN.md, test task JSONs, TODO_LIST.md) using action-planning-agent - produces test planning artifacts, does NOT execute tests",
"arguments": "--session WFS-test-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-task-generate.md"
},
{
"name": "animation-extract",
"command": "/workflow:ui-design:animation-extract",

View File

@@ -12,17 +12,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/ccw-coordinator.md"
},
{
"name": "ccw-debug",
"command": "/ccw-debug",
"description": "Aggregated debug command - combines debugging diagnostics and test verification in a synergistic workflow supporting cli-quick / debug-first / test-first / bidirectional-verification modes",
"arguments": "[--mode cli|debug|test|bidirectional] [--yes|-y] [--hotfix] \\\"bug description or error message\\",
"category": "general",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/ccw-debug.md"
},
{
"name": "ccw",
"command": "/ccw",
@@ -33,17 +22,6 @@
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/ccw.md"
},
{
"name": "ccw view",
"command": "/ccw view",
"description": "Dashboard - Open CCW workflow dashboard for managing tasks and sessions",
"arguments": "",
"category": "general",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/view.md"
}
]
},
@@ -167,50 +145,6 @@
},
"memory": {
"_root": [
{
"name": "compact",
"command": "/memory:compact",
"description": "Compact current session memory into structured text for session recovery, extracting objective/plan/files/decisions/constraints/state, and save via MCP core_memory tool",
"arguments": "[optional: session description]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/compact.md"
},
{
"name": "docs-full-cli",
"command": "/memory:docs-full-cli",
"description": "Generate full project documentation using CLI execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel",
"arguments": "[path] [--tool <gemini|qwen|codex>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "documentation",
"difficulty": "Intermediate",
"source": "../../../commands/memory/docs-full-cli.md"
},
{
"name": "docs-related-cli",
"command": "/memory:docs-related-cli",
"description": "Generate/update documentation for git-changed modules using CLI execution with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <15 modules uses direct parallel",
"arguments": "[--tool <gemini|qwen|codex>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "documentation",
"difficulty": "Intermediate",
"source": "../../../commands/memory/docs-related-cli.md"
},
{
"name": "load",
"command": "/memory:load",
"description": "Delegate to universal-executor agent to analyze project via Gemini/Qwen CLI and return JSON core content package for task context",
"arguments": "[--tool gemini|qwen] \\\"task context description\\",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/load.md"
},
{
"name": "style-skill-memory",
"command": "/memory:style-skill-memory",
@@ -221,39 +155,6 @@
"usage_scenario": "documentation",
"difficulty": "Intermediate",
"source": "../../../commands/memory/style-skill-memory.md"
},
{
"name": "tips",
"command": "/memory:tips",
"description": "Quick note-taking command to capture ideas, snippets, reminders, and insights for later reference",
"arguments": "<note content> [--tag <tag1,tag2>] [--context <context>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/tips.md"
},
{
"name": "update-full",
"command": "/memory:update-full",
"description": "Update all CLAUDE.md files using layer-based execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel",
"arguments": "[--tool gemini|qwen|codex] [--path <directory>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/update-full.md"
},
{
"name": "update-related",
"command": "/memory:update-related",
"description": "Update CLAUDE.md for git-changed modules using batched agent execution (4 modules/agent) with gemini→qwen→codex fallback, <15 modules uses direct execution",
"arguments": "[--tool gemini|qwen|codex]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/update-related.md"
}
]
},
@@ -303,17 +204,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/debug-with-file.md"
},
{
"name": "execute",
"command": "/workflow:execute",
"description": "Coordinate agent execution for workflow tasks with automatic session discovery, parallel task processing, and status tracking",
"arguments": "[-y|--yes] [--resume-session=\\\"session-id\\\"]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/execute.md"
},
{
"name": "init",
"command": "/workflow:init",
@@ -325,193 +215,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/init.md"
},
{
"name": "lite-execute",
"command": "/workflow:lite-execute",
"description": "Execute tasks based on in-memory plan, prompt description, or file content",
"arguments": "[-y|--yes] [--in-memory] [\\\"task description\\\"|file-path]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-execute.md"
},
{
"name": "lite-fix",
"command": "/workflow:lite-fix",
"description": "Lightweight bug diagnosis and fix workflow with intelligent severity assessment and optional hotfix mode for production incidents",
"arguments": "[-y|--yes] [--hotfix] \\\"bug description or issue reference\\",
"category": "workflow",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-fix.md"
},
{
"name": "workflow:lite-lite-lite",
"command": "/workflow:lite-lite-lite",
"description": "Ultra-lightweight multi-tool analysis and direct execution. No artifacts for simple tasks; auto-creates planning docs in .workflow/.scratchpad/ for complex tasks. Auto tool selection based on task analysis, user-driven iteration via AskUser.",
"arguments": "[-y|--yes] <task description>",
"category": "workflow",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-lite-lite.md"
},
{
"name": "lite-plan",
"command": "/workflow:lite-plan",
"description": "Lightweight interactive planning workflow with in-memory planning, code exploration, and execution execute to lite-execute after user confirmation",
"arguments": "[-y|--yes] [-e|--explore] \\\"task description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-plan.md"
},
{
"name": "workflow:multi-cli-plan",
"command": "/workflow:multi-cli-plan",
"description": "Multi-CLI collaborative planning workflow with ACE context gathering and iterative cross-verification. Uses cli-discuss-agent for Gemini+Codex+Claude analysis to converge on optimal execution plan.",
"arguments": "[-y|--yes] <task description> [--max-rounds=3] [--tools=gemini,codex] [--mode=parallel|serial]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/multi-cli-plan.md"
},
{
"name": "plan-verify",
"command": "/workflow:plan-verify",
"description": "Perform READ-ONLY verification analysis between IMPL_PLAN.md, task JSONs, and brainstorming artifacts. Generates structured report with quality gate recommendation. Does NOT modify any files.",
"arguments": "[optional: --session session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan-verify.md"
},
{
"name": "plan",
"command": "/workflow:plan",
"description": "5-phase planning workflow with action-planning-agent task generation, outputs IMPL_PLAN.md and task JSONs",
"arguments": "[-y|--yes] \\\"text description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan.md"
},
{
"name": "replan",
"command": "/workflow:replan",
"description": "Interactive workflow replanning with session-level artifact updates and boundary clarification through guided questioning",
"arguments": "[-y|--yes] [--session session-id] [task-id] \\\"requirements\\\"|file.md [--interactive]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/replan.md"
},
{
"name": "review-cycle-fix",
"command": "/workflow:review-cycle-fix",
"description": "Automated fixing of code review findings with AI-powered planning and coordinated execution. Uses intelligent grouping, multi-stage timeline coordination, and test-driven verification.",
"arguments": "<export-file|review-dir> [--resume] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-cycle-fix.md"
},
{
"name": "review-module-cycle",
"command": "/workflow:review-module-cycle",
"description": "Independent multi-dimensional code review for specified modules/files. Analyzes specific code paths across 7 dimensions with hybrid parallel-iterative execution, independent of workflow sessions.",
"arguments": "<path-pattern> [--dimensions=security,architecture,...] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-module-cycle.md"
},
{
"name": "review-session-cycle",
"command": "/workflow:review-session-cycle",
"description": "Session-based comprehensive multi-dimensional code review. Analyzes git changes from workflow session across 7 dimensions with hybrid parallel-iterative execution, aggregates findings, and performs focused deep-dives on critical issues until quality gates met.",
"arguments": "[session-id] [--dimensions=security,architecture,...] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "session-management",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-session-cycle.md"
},
{
"name": "review",
"command": "/workflow:review",
"description": "Post-implementation review with specialized types (security/architecture/action-items/quality) using analysis agents and Gemini",
"arguments": "[--type=security|architecture|action-items|quality] [--archived] [optional: session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review.md"
},
{
"name": "tdd-plan",
"command": "/workflow:tdd-plan",
"description": "TDD workflow planning with Red-Green-Refactor task chain generation, test-first development structure, and cycle tracking",
"arguments": "\\\"feature description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tdd-plan.md"
},
{
"name": "tdd-verify",
"command": "/workflow:tdd-verify",
"description": "Verify TDD workflow compliance against Red-Green-Refactor cycles. Generates quality report with coverage analysis and quality gate recommendation. Orchestrates sub-commands for comprehensive validation.",
"arguments": "[optional: --session WFS-session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tdd-verify.md"
},
{
"name": "test-cycle-execute",
"command": "/workflow:test-cycle-execute",
"description": "Execute test-fix workflow with dynamic task generation and iterative fix cycles until test pass rate >= 95% or max iterations reached. Uses @cli-planning-agent for failure analysis and task generation.",
"arguments": "[--resume-session=\\\"session-id\\\"] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-cycle-execute.md"
},
{
"name": "test-fix-gen",
"command": "/workflow:test-fix-gen",
"description": "Create test-fix workflow session from session ID, description, or file path with test strategy generation and task planning",
"arguments": "(source-session-id | \\\"feature description\\\" | /path/to/file.md)",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-fix-gen.md"
},
{
"name": "test-gen",
"command": "/workflow:test-gen",
"description": "Create independent test-fix workflow session from completed implementation session, analyzes code to generate test tasks",
"arguments": "source-session-id",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-gen.md"
},
{
"name": "unified-execute-with-file",
"command": "/workflow:unified-execute-with-file",
@@ -524,52 +227,6 @@
"source": "../../../commands/workflow/unified-execute-with-file.md"
}
],
"brainstorm": [
{
"name": "artifacts",
"command": "/workflow:brainstorm:artifacts",
"description": "Interactive clarification generating confirmed guidance specification through role-based analysis and synthesis",
"arguments": "[-y|--yes] topic or challenge description [--count N]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm/artifacts.md"
},
{
"name": "auto-parallel",
"command": "/workflow:brainstorm:auto-parallel",
"description": "Parallel brainstorming automation with dynamic role selection and concurrent execution across multiple perspectives",
"arguments": "[-y|--yes] topic or challenge description [--count N]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/brainstorm/auto-parallel.md"
},
{
"name": "role-analysis",
"command": "/workflow:brainstorm:role-analysis",
"description": "Unified role-specific analysis generation with interactive context gathering and incremental updates",
"arguments": "[role-name] [--session session-id] [--update] [--include-questions] [--skip-questions]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm/role-analysis.md"
},
{
"name": "synthesis",
"command": "/workflow:brainstorm:synthesis",
"description": "Clarify and refine role analyses through intelligent Q&A and targeted updates with synthesis agent",
"arguments": "[-y|--yes] [optional: --session session-id]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/brainstorm/synthesis.md"
}
],
"session": [
{
"name": "complete",
@@ -627,96 +284,6 @@
"source": "../../../commands/workflow/session/start.md"
}
],
"tools": [
{
"name": "conflict-resolution",
"command": "/workflow:tools:conflict-resolution",
"description": "Detect and resolve conflicts between plan and existing codebase using CLI-powered analysis with Gemini/Qwen",
"arguments": "[-y|--yes] --session WFS-session-id --context path/to/context-package.json",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/conflict-resolution.md"
},
{
"name": "gather",
"command": "/workflow:tools:gather",
"description": "Intelligently collect project context using context-search-agent based on task description, packages into standardized JSON",
"arguments": "--session WFS-session-id \\\"task description\\",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/context-gather.md"
},
{
"name": "task-generate-agent",
"command": "/workflow:tools:task-generate-agent",
"description": "Generate implementation plan documents (IMPL_PLAN.md, task JSONs, TODO_LIST.md) using action-planning-agent - produces planning artifacts, does NOT execute code implementation",
"arguments": "[-y|--yes] --session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/task-generate-agent.md"
},
{
"name": "task-generate-tdd",
"command": "/workflow:tools:task-generate-tdd",
"description": "Autonomous TDD task generation using action-planning-agent with Red-Green-Refactor cycles, test-first structure, and cycle validation",
"arguments": "[-y|--yes] --session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/task-generate-tdd.md"
},
{
"name": "tdd-coverage-analysis",
"command": "/workflow:tools:tdd-coverage-analysis",
"description": "Analyze test coverage and TDD cycle execution with Red-Green-Refactor compliance verification",
"arguments": "--session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/tdd-coverage-analysis.md"
},
{
"name": "test-concept-enhanced",
"command": "/workflow:tools:test-concept-enhanced",
"description": "Coordinate test analysis workflow using cli-execution-agent to generate test strategy via Gemini",
"arguments": "--session WFS-test-session-id --context path/to/test-context-package.json",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-concept-enhanced.md"
},
{
"name": "test-context-gather",
"command": "/workflow:tools:test-context-gather",
"description": "Collect test coverage context using test-context-search-agent and package into standardized test-context JSON",
"arguments": "--session WFS-test-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-context-gather.md"
},
{
"name": "test-task-generate",
"command": "/workflow:tools:test-task-generate",
"description": "Generate test planning documents (IMPL_PLAN.md, test task JSONs, TODO_LIST.md) using action-planning-agent - produces test planning artifacts, does NOT execute tests",
"arguments": "--session WFS-test-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-task-generate.md"
}
],
"ui-design": [
{
"name": "animation-extract",

View File

@@ -11,17 +11,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/ccw-coordinator.md"
},
{
"name": "ccw-debug",
"command": "/ccw-debug",
"description": "Aggregated debug command - combines debugging diagnostics and test verification in a synergistic workflow supporting cli-quick / debug-first / test-first / bidirectional-verification modes",
"arguments": "[--mode cli|debug|test|bidirectional] [--yes|-y] [--hotfix] \\\"bug description or error message\\",
"category": "general",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/ccw-debug.md"
},
{
"name": "ccw",
"command": "/ccw",
@@ -88,116 +77,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/issue/queue.md"
},
{
"name": "compact",
"command": "/memory:compact",
"description": "Compact current session memory into structured text for session recovery, extracting objective/plan/files/decisions/constraints/state, and save via MCP core_memory tool",
"arguments": "[optional: session description]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/compact.md"
},
{
"name": "load",
"command": "/memory:load",
"description": "Delegate to universal-executor agent to analyze project via Gemini/Qwen CLI and return JSON core content package for task context",
"arguments": "[--tool gemini|qwen] \\\"task context description\\",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/load.md"
},
{
"name": "tips",
"command": "/memory:tips",
"description": "Quick note-taking command to capture ideas, snippets, reminders, and insights for later reference",
"arguments": "<note content> [--tag <tag1,tag2>] [--context <context>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/tips.md"
},
{
"name": "update-full",
"command": "/memory:update-full",
"description": "Update all CLAUDE.md files using layer-based execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel",
"arguments": "[--tool gemini|qwen|codex] [--path <directory>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/update-full.md"
},
{
"name": "update-related",
"command": "/memory:update-related",
"description": "Update CLAUDE.md for git-changed modules using batched agent execution (4 modules/agent) with gemini→qwen→codex fallback, <15 modules uses direct execution",
"arguments": "[--tool gemini|qwen|codex]",
"category": "memory",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/memory/update-related.md"
},
{
"name": "ccw view",
"command": "/ccw view",
"description": "Dashboard - Open CCW workflow dashboard for managing tasks and sessions",
"arguments": "",
"category": "general",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/view.md"
},
{
"name": "artifacts",
"command": "/workflow:brainstorm:artifacts",
"description": "Interactive clarification generating confirmed guidance specification through role-based analysis and synthesis",
"arguments": "[-y|--yes] topic or challenge description [--count N]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm/artifacts.md"
},
{
"name": "auto-parallel",
"command": "/workflow:brainstorm:auto-parallel",
"description": "Parallel brainstorming automation with dynamic role selection and concurrent execution across multiple perspectives",
"arguments": "[-y|--yes] topic or challenge description [--count N]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/brainstorm/auto-parallel.md"
},
{
"name": "role-analysis",
"command": "/workflow:brainstorm:role-analysis",
"description": "Unified role-specific analysis generation with interactive context gathering and incremental updates",
"arguments": "[role-name] [--session session-id] [--update] [--include-questions] [--skip-questions]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm/role-analysis.md"
},
{
"name": "synthesis",
"command": "/workflow:brainstorm:synthesis",
"description": "Clarify and refine role analyses through intelligent Q&A and targeted updates with synthesis agent",
"arguments": "[-y|--yes] [optional: --session session-id]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/brainstorm/synthesis.md"
},
{
"name": "clean",
"command": "/workflow:clean",
@@ -231,28 +110,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/init.md"
},
{
"name": "lite-fix",
"command": "/workflow:lite-fix",
"description": "Lightweight bug diagnosis and fix workflow with intelligent severity assessment and optional hotfix mode for production incidents",
"arguments": "[-y|--yes] [--hotfix] \\\"bug description or issue reference\\",
"category": "workflow",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-fix.md"
},
{
"name": "workflow:lite-lite-lite",
"command": "/workflow:lite-lite-lite",
"description": "Ultra-lightweight multi-tool analysis and direct execution. No artifacts for simple tasks; auto-creates planning docs in .workflow/.scratchpad/ for complex tasks. Auto tool selection based on task analysis, user-driven iteration via AskUser.",
"arguments": "[-y|--yes] <task description>",
"category": "workflow",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-lite-lite.md"
},
{
"name": "list",
"command": "/workflow:session:list",
@@ -286,28 +143,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/session/start.md"
},
{
"name": "conflict-resolution",
"command": "/workflow:tools:conflict-resolution",
"description": "Detect and resolve conflicts between plan and existing codebase using CLI-powered analysis with Gemini/Qwen",
"arguments": "[-y|--yes] --session WFS-session-id --context path/to/context-package.json",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "general",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/conflict-resolution.md"
},
{
"name": "gather",
"command": "/workflow:tools:gather",
"description": "Intelligently collect project context using context-search-agent based on task description, packages into standardized JSON",
"arguments": "--session WFS-session-id \\\"task description\\",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/context-gather.md"
},
{
"name": "animation-extract",
"command": "/workflow:ui-design:animation-extract",
@@ -386,39 +221,6 @@
"usage_scenario": "analysis",
"difficulty": "Beginner",
"source": "../../../commands/workflow/analyze-with-file.md"
},
{
"name": "review-cycle-fix",
"command": "/workflow:review-cycle-fix",
"description": "Automated fixing of code review findings with AI-powered planning and coordinated execution. Uses intelligent grouping, multi-stage timeline coordination, and test-driven verification.",
"arguments": "<export-file|review-dir> [--resume] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-cycle-fix.md"
},
{
"name": "review-module-cycle",
"command": "/workflow:review-module-cycle",
"description": "Independent multi-dimensional code review for specified modules/files. Analyzes specific code paths across 7 dimensions with hybrid parallel-iterative execution, independent of workflow sessions.",
"arguments": "<path-pattern> [--dimensions=security,architecture,...] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-module-cycle.md"
},
{
"name": "review",
"command": "/workflow:review",
"description": "Post-implementation review with specialized types (security/architecture/action-items/quality) using analysis agents and Gemini",
"arguments": "[--type=security|architecture|action-items|quality] [--archived] [optional: session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "analysis",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review.md"
}
],
"planning": [
@@ -466,72 +268,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm-with-file.md"
},
{
"name": "lite-plan",
"command": "/workflow:lite-plan",
"description": "Lightweight interactive planning workflow with in-memory planning, code exploration, and execution execute to lite-execute after user confirmation",
"arguments": "[-y|--yes] [-e|--explore] \\\"task description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-plan.md"
},
{
"name": "workflow:multi-cli-plan",
"command": "/workflow:multi-cli-plan",
"description": "Multi-CLI collaborative planning workflow with ACE context gathering and iterative cross-verification. Uses cli-discuss-agent for Gemini+Codex+Claude analysis to converge on optimal execution plan.",
"arguments": "[-y|--yes] <task description> [--max-rounds=3] [--tools=gemini,codex] [--mode=parallel|serial]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/multi-cli-plan.md"
},
{
"name": "plan-verify",
"command": "/workflow:plan-verify",
"description": "Perform READ-ONLY verification analysis between IMPL_PLAN.md, task JSONs, and brainstorming artifacts. Generates structured report with quality gate recommendation. Does NOT modify any files.",
"arguments": "[optional: --session session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan-verify.md"
},
{
"name": "plan",
"command": "/workflow:plan",
"description": "5-phase planning workflow with action-planning-agent task generation, outputs IMPL_PLAN.md and task JSONs",
"arguments": "[-y|--yes] \\\"text description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan.md"
},
{
"name": "replan",
"command": "/workflow:replan",
"description": "Interactive workflow replanning with session-level artifact updates and boundary clarification through guided questioning",
"arguments": "[-y|--yes] [--session session-id] [task-id] \\\"requirements\\\"|file.md [--interactive]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/replan.md"
},
{
"name": "tdd-plan",
"command": "/workflow:tdd-plan",
"description": "TDD workflow planning with Red-Green-Refactor task chain generation, test-first development structure, and cycle tracking",
"arguments": "\\\"feature description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tdd-plan.md"
},
{
"name": "workflow:ui-design:codify-style",
"command": "/workflow:ui-design:codify-style",
@@ -589,72 +325,6 @@
"difficulty": "Intermediate",
"source": "../../../commands/issue/execute.md"
},
{
"name": "execute",
"command": "/workflow:execute",
"description": "Coordinate agent execution for workflow tasks with automatic session discovery, parallel task processing, and status tracking",
"arguments": "[-y|--yes] [--resume-session=\\\"session-id\\\"]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/execute.md"
},
{
"name": "lite-execute",
"command": "/workflow:lite-execute",
"description": "Execute tasks based on in-memory plan, prompt description, or file content",
"arguments": "[-y|--yes] [--in-memory] [\\\"task description\\\"|file-path]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-execute.md"
},
{
"name": "test-cycle-execute",
"command": "/workflow:test-cycle-execute",
"description": "Execute test-fix workflow with dynamic task generation and iterative fix cycles until test pass rate >= 95% or max iterations reached. Uses @cli-planning-agent for failure analysis and task generation.",
"arguments": "[--resume-session=\\\"session-id\\\"] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-cycle-execute.md"
},
{
"name": "task-generate-agent",
"command": "/workflow:tools:task-generate-agent",
"description": "Generate implementation plan documents (IMPL_PLAN.md, task JSONs, TODO_LIST.md) using action-planning-agent - produces planning artifacts, does NOT execute code implementation",
"arguments": "[-y|--yes] --session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/task-generate-agent.md"
},
{
"name": "task-generate-tdd",
"command": "/workflow:tools:task-generate-tdd",
"description": "Autonomous TDD task generation using action-planning-agent with Red-Green-Refactor cycles, test-first structure, and cycle validation",
"arguments": "[-y|--yes] --session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/task-generate-tdd.md"
},
{
"name": "test-task-generate",
"command": "/workflow:tools:test-task-generate",
"description": "Generate test planning documents (IMPL_PLAN.md, test task JSONs, TODO_LIST.md) using action-planning-agent - produces test planning artifacts, does NOT execute tests",
"arguments": "--session WFS-test-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-task-generate.md"
},
{
"name": "generate",
"command": "/workflow:ui-design:generate",
@@ -679,28 +349,6 @@
}
],
"documentation": [
{
"name": "docs-full-cli",
"command": "/memory:docs-full-cli",
"description": "Generate full project documentation using CLI execution (Layer 3→1) with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <20 modules uses direct parallel",
"arguments": "[path] [--tool <gemini|qwen|codex>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "documentation",
"difficulty": "Intermediate",
"source": "../../../commands/memory/docs-full-cli.md"
},
{
"name": "docs-related-cli",
"command": "/memory:docs-related-cli",
"description": "Generate/update documentation for git-changed modules using CLI execution with batched agents (4 modules/agent) and gemini→qwen→codex fallback, <15 modules uses direct parallel",
"arguments": "[--tool <gemini|qwen|codex>]",
"category": "memory",
"subcategory": null,
"usage_scenario": "documentation",
"difficulty": "Intermediate",
"source": "../../../commands/memory/docs-related-cli.md"
},
{
"name": "style-skill-memory",
"command": "/memory:style-skill-memory",
@@ -714,17 +362,6 @@
}
],
"session-management": [
{
"name": "review-session-cycle",
"command": "/workflow:review-session-cycle",
"description": "Session-based comprehensive multi-dimensional code review. Analyzes git changes from workflow session across 7 dimensions with hybrid parallel-iterative execution, aggregates findings, and performs focused deep-dives on critical issues until quality gates met.",
"arguments": "[session-id] [--dimensions=security,architecture,...] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "session-management",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-session-cycle.md"
},
{
"name": "complete",
"command": "/workflow:session:complete",
@@ -747,73 +384,5 @@
"difficulty": "Intermediate",
"source": "../../../commands/workflow/session/resume.md"
}
],
"testing": [
{
"name": "tdd-verify",
"command": "/workflow:tdd-verify",
"description": "Verify TDD workflow compliance against Red-Green-Refactor cycles. Generates quality report with coverage analysis and quality gate recommendation. Orchestrates sub-commands for comprehensive validation.",
"arguments": "[optional: --session WFS-session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tdd-verify.md"
},
{
"name": "test-fix-gen",
"command": "/workflow:test-fix-gen",
"description": "Create test-fix workflow session from session ID, description, or file path with test strategy generation and task planning",
"arguments": "(source-session-id | \\\"feature description\\\" | /path/to/file.md)",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-fix-gen.md"
},
{
"name": "test-gen",
"command": "/workflow:test-gen",
"description": "Create independent test-fix workflow session from completed implementation session, analyzes code to generate test tasks",
"arguments": "source-session-id",
"category": "workflow",
"subcategory": null,
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/test-gen.md"
},
{
"name": "tdd-coverage-analysis",
"command": "/workflow:tools:tdd-coverage-analysis",
"description": "Analyze test coverage and TDD cycle execution with Red-Green-Refactor compliance verification",
"arguments": "--session WFS-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Advanced",
"source": "../../../commands/workflow/tools/tdd-coverage-analysis.md"
},
{
"name": "test-concept-enhanced",
"command": "/workflow:tools:test-concept-enhanced",
"description": "Coordinate test analysis workflow using cli-execution-agent to generate test strategy via Gemini",
"arguments": "--session WFS-test-session-id --context path/to/test-context-package.json",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-concept-enhanced.md"
},
{
"name": "test-context-gather",
"command": "/workflow:tools:test-context-gather",
"description": "Collect test coverage context using test-context-search-agent and package into standardized test-context JSON",
"arguments": "--session WFS-test-session-id",
"category": "workflow",
"subcategory": "tools",
"usage_scenario": "testing",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/tools/test-context-gather.md"
}
]
}

View File

@@ -1,160 +1,15 @@
{
"workflow:plan": {
"calls_internally": [
"workflow:session:start",
"workflow:tools:context-gather",
"workflow:tools:conflict-resolution",
"workflow:tools:task-generate-agent"
],
"next_steps": [
"workflow:plan-verify",
"workflow:status",
"workflow:execute"
],
"alternatives": [
"workflow:tdd-plan"
],
"prerequisites": []
},
"workflow:tdd-plan": {
"calls_internally": [
"workflow:session:start",
"workflow:tools:context-gather",
"workflow:tools:task-generate-tdd"
],
"next_steps": [
"workflow:tdd-verify",
"workflow:status",
"workflow:execute"
],
"alternatives": [
"workflow:plan"
],
"prerequisites": []
},
"workflow:execute": {
"prerequisites": [
"workflow:plan",
"workflow:tdd-plan"
],
"related": [
"workflow:status",
"workflow:resume"
],
"next_steps": [
"workflow:review",
"workflow:tdd-verify"
]
},
"workflow:plan-verify": {
"prerequisites": [
"workflow:plan"
],
"next_steps": [
"workflow:execute"
],
"related": [
"workflow:status"
]
},
"workflow:tdd-verify": {
"prerequisites": [
"workflow:execute"
],
"related": [
"workflow:tools:tdd-coverage-analysis"
]
},
"workflow:session:start": {
"next_steps": [
"workflow:plan",
"workflow:execute"
],
"next_steps": [],
"related": [
"workflow:session:list",
"workflow:session:resume"
]
},
"workflow:session:resume": {
"alternatives": [
"workflow:resume"
],
"alternatives": [],
"related": [
"workflow:session:list",
"workflow:status"
]
},
"workflow:lite-plan": {
"calls_internally": [
"workflow:lite-execute"
],
"next_steps": [
"workflow:lite-execute",
"workflow:status"
],
"alternatives": [
"workflow:plan"
],
"prerequisites": []
},
"workflow:lite-fix": {
"next_steps": [
"workflow:lite-execute",
"workflow:status"
],
"alternatives": [
"workflow:lite-plan"
],
"related": [
"workflow:test-cycle-execute"
]
},
"workflow:lite-execute": {
"prerequisites": [
"workflow:lite-plan",
"workflow:lite-fix"
],
"related": [
"workflow:execute",
"workflow:status"
]
},
"workflow:review-session-cycle": {
"prerequisites": [
"workflow:execute"
],
"next_steps": [
"workflow:review-fix"
],
"related": [
"workflow:review-module-cycle"
]
},
"workflow:review-fix": {
"prerequisites": [
"workflow:review-module-cycle",
"workflow:review-session-cycle"
],
"related": [
"workflow:test-cycle-execute"
]
},
"memory:docs": {
"calls_internally": [
"workflow:session:start",
"workflow:tools:context-gather"
],
"next_steps": [
"workflow:execute"
]
},
"memory:skill-memory": {
"next_steps": [
"workflow:plan",
"cli:analyze"
],
"related": [
"memory:load-skill-memory"
"workflow:session:list"
]
}
}

View File

@@ -1,48 +1,4 @@
[
{
"name": "lite-plan",
"command": "/workflow:lite-plan",
"description": "Lightweight interactive planning workflow with in-memory planning, code exploration, and execution execute to lite-execute after user confirmation",
"arguments": "[-y|--yes] [-e|--explore] \\\"task description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-plan.md"
},
{
"name": "lite-fix",
"command": "/workflow:lite-fix",
"description": "Lightweight bug diagnosis and fix workflow with intelligent severity assessment and optional hotfix mode for production incidents",
"arguments": "[-y|--yes] [--hotfix] \\\"bug description or issue reference\\",
"category": "workflow",
"subcategory": null,
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/lite-fix.md"
},
{
"name": "plan",
"command": "/workflow:plan",
"description": "5-phase planning workflow with action-planning-agent task generation, outputs IMPL_PLAN.md and task JSONs",
"arguments": "[-y|--yes] \\\"text description\\\"|file.md",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan.md"
},
{
"name": "execute",
"command": "/workflow:execute",
"description": "Coordinate agent execution for workflow tasks with automatic session discovery, parallel task processing, and status tracking",
"arguments": "[-y|--yes] [--resume-session=\\\"session-id\\\"]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "implementation",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/execute.md"
},
{
"name": "start",
"command": "/workflow:session:start",
@@ -53,38 +9,5 @@
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/session/start.md"
},
{
"name": "review-session-cycle",
"command": "/workflow:review-session-cycle",
"description": "Session-based comprehensive multi-dimensional code review. Analyzes git changes from workflow session across 7 dimensions with hybrid parallel-iterative execution, aggregates findings, and performs focused deep-dives on critical issues until quality gates met.",
"arguments": "[session-id] [--dimensions=security,architecture,...] [--max-iterations=N]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "session-management",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/review-session-cycle.md"
},
{
"name": "artifacts",
"command": "/workflow:brainstorm:artifacts",
"description": "Interactive clarification generating confirmed guidance specification through role-based analysis and synthesis",
"arguments": "[-y|--yes] topic or challenge description [--count N]",
"category": "workflow",
"subcategory": "brainstorm",
"usage_scenario": "general",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/brainstorm/artifacts.md"
},
{
"name": "plan-verify",
"command": "/workflow:plan-verify",
"description": "Perform READ-ONLY verification analysis between IMPL_PLAN.md, task JSONs, and brainstorming artifacts. Generates structured report with quality gate recommendation. Does NOT modify any files.",
"arguments": "[optional: --session session-id]",
"category": "workflow",
"subcategory": null,
"usage_scenario": "planning",
"difficulty": "Intermediate",
"source": "../../../commands/workflow/plan-verify.md"
}
]

View File

@@ -760,5 +760,5 @@ After completing a module review, use the generated findings JSON for automated
/workflow:review-cycle-fix .workflow/active/WFS-{session-id}/.review/
```
See `/workflow:review-cycle-fix` for automated fixing with smart grouping, parallel execution, and test verification.
See `review-cycle` skill (fix phase) for automated fixing with smart grouping, parallel execution, and test verification.

View File

@@ -28,7 +28,7 @@ Session-based multi-dimensional code review orchestrator with **hybrid parallel-
**Review Scope**:
- **Session-based**: Reviews only files changed during the workflow session (via `git log --since="${sessionCreatedAt}"`)
- **For independent module review**: Use `/workflow:review-module-cycle` command instead
- **For independent module review**: Use `review-cycle` skill command instead
**vs Standard Review**:
- **Standard**: Sequential manual reviews → Inconsistent coverage → Missed cross-cutting concerns
@@ -771,5 +771,5 @@ After completing a review, use the generated findings JSON for automated fixing:
/workflow:review-cycle-fix .workflow/active/WFS-{session-id}/.review/
```
See `/workflow:review-cycle-fix` for automated fixing with smart grouping, parallel execution, and test verification.
See `review-cycle` skill (fix phase) for automated fixing with smart grouping, parallel execution, and test verification.

View File

@@ -613,11 +613,11 @@ meta.agent missing → Infer from meta.type:
## Related Skills
**Prerequisite Skills**:
- `/workflow:plan` - Generate implementation plan and task JSONs
- `workflow-plan` skill - Generate implementation plan and task JSONs
**Called During Execution**:
- `/workflow:session:complete` - Archive session after all tasks complete
- `/workflow:review` - Post-implementation review
- `review-cycle` skill - Post-implementation review
**Follow-up Skills**:
- `/issue:new` - Create follow-up issues (test/enhance/refactor/doc)

View File

@@ -411,18 +411,18 @@ CONSTRAINTS: [Limitations or boundaries]
## Related Skills
**Prerequisite Skills**:
- `/workflow:brainstorm:artifacts` - Optional: Generate role-based analyses before planning
- `/workflow:brainstorm:synthesis` - Optional: Refine brainstorm analyses with clarifications
- `brainstorm` skill - Optional: Generate role-based analyses before planning
- `brainstorm` skill - Optional: Refine brainstorm analyses with clarifications
**Called by Plan Mode** (4 phases):
- `/workflow:session:start` - Phase 1: Create or discover workflow session
- `phases/02-context-gathering.md` - Phase 2: Gather project context and analyze codebase (inline)
- `phases/03-conflict-resolution.md` - Phase 3: Detect and resolve conflicts (inline, conditional)
- `/compact` - Phase 3: Memory optimization (if context approaching limits)
- `memory-capture` skill - Phase 3: Memory optimization (if context approaching limits)
- `phases/04-task-generation.md` - Phase 4: Generate task JSON files (inline)
**Follow-up Skills**:
- `/workflow:plan-verify` - Verify plan quality (can also invoke via verify mode)
- `workflow-plan` skill (plan-verify phase) - Verify plan quality (can also invoke via verify mode)
- Display session status inline - Review task breakdown and current progress
- `Skill(skill="workflow-execute")` - Begin implementation of generated tasks (skill: workflow-execute)
- `/workflow:replan` - Modify plan (can also invoke via replan mode)
- `workflow-plan` skill (replan phase) - Modify plan (can also invoke via replan mode)

View File

@@ -406,7 +406,7 @@ Evaluate current context window usage and memory state:
- If memory usage is high (>120K tokens or approaching context limits):
```javascript
Skill(skill="compact")
Skill(skill="memory-capture")
```
- Memory compaction is particularly important after analysis phase which may generate extensive documentation

View File

@@ -11,7 +11,7 @@ Perform READ-ONLY verification analysis between IMPL_PLAN.md, task JSONs, and br
## Entry Points
- **From Plan Mode**: After Phase 4 completes, user selects "Verify Plan Quality"
- **From Verify Mode**: Directly triggered via `/workflow:plan-verify`
- **From Verify Mode**: Directly triggered via `workflow-plan` skill (plan-verify phase)
## User Input

View File

@@ -141,7 +141,7 @@ Read("phases/02-lite-execute.md")
// Execute with executionContext (Mode 1)
// WRONG: Skill routing (unnecessary round-trip)
Skill(skill="workflow:lite-execute", args="--in-memory")
Skill(skill="workflow-lite-plan", args="--in-memory")
```
### Pattern 8: Phase File Hygiene

View File

@@ -60,7 +60,7 @@ Read("phases/02-lite-execute.md")
// Execute with executionContext (Mode 1)
// WRONG: Skill routing (unnecessary round-trip)
Skill(skill="workflow:lite-execute", args="--in-memory")
Skill(skill="workflow-lite-plan", args="--in-memory")
```
### Content Restriction Enforcement

View File

@@ -388,7 +388,7 @@ Phase 7: Session discovery → Chain validation → Coverage analysis → Report
After heavy phases (Phase 2-3), evaluate context window usage:
- If memory usage is high (>110K tokens or approaching context limits):
```javascript
Skill(skill="compact")
Skill(skill="memory-capture")
```
- Memory compaction is particularly important after analysis phases
@@ -432,7 +432,7 @@ Similar to workflow-plan, a `planning-notes.md` can accumulate context across ph
**All warnings are advisory** - they do not halt execution:
1. Warnings logged to `.process/tdd-warnings.log`
2. Summary displayed in Phase 6 output
3. User decides whether to address before `/workflow:execute`
3. User decides whether to address before `workflow-execute` skill
## Coordinator Checklist
@@ -476,14 +476,14 @@ Similar to workflow-plan, a `planning-notes.md` can accumulate context across ph
- `phases/02-context-gathering.md` - Phase 2: Gather project context and analyze codebase (inline)
- `phases/03-test-coverage-analysis.md` - Phase 3: Analyze existing test patterns and coverage (inline)
- `phases/04-conflict-resolution.md` - Phase 4: Detect and resolve conflicts (inline, conditional)
- `/compact` - Phase 4: Memory optimization (if context approaching limits)
- `memory-capture` skill - Phase 4: Memory optimization (if context approaching limits)
- `phases/05-tdd-task-generation.md` - Phase 5: Generate TDD tasks with Red-Green-Refactor cycles (inline)
**Called by Verify Mode**:
- `phases/07-tdd-verify.md` - Phase 7: Test coverage and cycle analysis (inline)
**Follow-up Skills**:
- `/workflow:tdd-verify` - Verify TDD compliance (can also invoke via verify mode)
- `/workflow:plan-verify` - Verify plan quality and dependencies
- `workflow-tdd` skill (tdd-verify phase) - Verify TDD compliance (can also invoke via verify mode)
- `workflow-plan` skill (plan-verify phase) - Verify plan quality and dependencies
- Display session status inline - Review TDD task breakdown
- `Skill(skill="workflow-execute")` - Begin TDD implementation

View File

@@ -410,7 +410,7 @@ Evaluate current context window usage and memory state:
- If memory usage is high (>110K tokens or approaching context limits):
```javascript
Skill(skill="compact")
Skill(skill="memory-capture")
```
- Memory compaction is particularly important after analysis phase which may generate extensive documentation

View File

@@ -628,8 +628,8 @@ Next: Review full report for detailed findings
| Situation | Recommended Command | Purpose |
|-----------|---------------------|---------|
| APPROVED | `/workflow:execute` | Start TDD implementation |
| PROCEED_WITH_CAVEATS | `/workflow:execute` | Start with noted caveats |
| APPROVED | `workflow-execute` skill | Start TDD implementation |
| PROCEED_WITH_CAVEATS | `workflow-execute` skill | Start with noted caveats |
| REQUIRE_FIXES | Review report, refine tasks | Address issues before proceed |
| BLOCK_MERGE | `/workflow:replan` | Significant restructuring needed |
| After implementation | Re-run `/workflow:tdd-verify` | Verify post-execution compliance |
| BLOCK_MERGE | `workflow-plan` skill (replan phase) | Significant restructuring needed |
| After implementation | Re-run `workflow-tdd` skill (tdd-verify phase) | Verify post-execution compliance |

View File

@@ -161,7 +161,7 @@ Phase 5: Test Cycle Execution (test-cycle-execute)
6. **Task Attachment Model**: Sub-tasks **attached** during phase, **collapsed** after completion
7. **DO NOT STOP**: Continuous workflow until quality gate met or max iterations reached
8. **Progressive Loading**: Read phase doc ONLY when that phase is about to execute
9. **Entry Point Routing**: `/workflow:test-fix-gen` → Phase 1-5; `/workflow:test-cycle-execute` → Phase 5 only
9. **Entry Point Routing**: `workflow-test-fix` skill → Phase 1-5; `workflow-test-fix` skill → Phase 5 only
## Input Processing
@@ -434,10 +434,10 @@ After completion, ask user if they want to expand into issues (test/enhance/refa
## Related Skills
**Prerequisite Skills**:
- `/workflow:plan` or `/workflow:execute` - Complete implementation (Session Mode source)
- `workflow-plan` skill or `workflow-execute` skill - Complete implementation (Session Mode source)
- None for Prompt Mode
**Follow-up Skills**:
- Display session status inline - Review workflow state
- `/workflow:review-session-cycle` - Post-implementation review
- `review-cycle` skill - Post-implementation review
- `/issue:new` - Create follow-up issues

View File

@@ -46,7 +46,6 @@ import {
import { useIssues, useIssueQueue } from '@/hooks/useIssues';
import { useTerminalGridStore, selectTerminalGridFocusedPaneId } from '@/stores/terminalGridStore';
import { useWorkflowStore, selectProjectPath } from '@/stores/workflowStore';
import { sendCliSessionText } from '@/lib/api';
import { CliConfigModal, type CliSessionConfig } from './CliConfigModal';
// ========== Types ==========
@@ -84,14 +83,6 @@ type LaunchMode = 'default' | 'yolo';
const CLI_TOOLS = ['claude', 'gemini', 'qwen', 'codex', 'opencode'] as const;
type CliTool = (typeof CLI_TOOLS)[number];
const LAUNCH_COMMANDS: Record<CliTool, Record<LaunchMode, string>> = {
claude: { default: 'claude', yolo: 'claude --permission-mode bypassPermissions' },
gemini: { default: 'gemini', yolo: 'gemini --approval-mode yolo' },
qwen: { default: 'qwen', yolo: 'qwen --approval-mode yolo' },
codex: { default: 'codex', yolo: 'codex --full-auto' },
opencode: { default: 'opencode', yolo: 'opencode' },
};
// ========== Component ==========
export function DashboardToolbar({ activePanel, onTogglePanel, isFileSidebarOpen, onToggleFileSidebar, isSessionSidebarOpen, onToggleSessionSidebar, isFullscreen, onToggleFullscreen }: DashboardToolbarProps) {
@@ -151,22 +142,12 @@ export function DashboardToolbar({ activePanel, onTogglePanel, isFileSidebarOpen
const targetPaneId = getOrCreateFocusedPane();
if (!targetPaneId) return;
const created = await createSessionAndAssign(targetPaneId, {
await createSessionAndAssign(targetPaneId, {
workingDir: projectPath,
preferredShell: 'bash',
tool: selectedTool,
launchMode,
}, projectPath);
if (created?.session?.sessionKey) {
const command = LAUNCH_COMMANDS[selectedTool]?.[launchMode] ?? selectedTool;
setTimeout(() => {
sendCliSessionText(
created.session.sessionKey,
{ text: command, appendNewline: true },
projectPath
).catch((err) => console.error('[DashboardToolbar] auto-launch failed:', err));
}, 300);
}
} finally {
setIsCreating(false);
}
@@ -190,22 +171,12 @@ export function DashboardToolbar({ activePanel, onTogglePanel, isFileSidebarOpen
preferredShell: config.preferredShell,
tool: config.tool,
model: config.model,
launchMode: config.launchMode,
},
projectPath
);
if (!created?.session?.sessionKey) throw new Error('createSessionAndAssign failed');
const tool = config.tool as CliTool;
const mode = config.launchMode as LaunchMode;
const command = LAUNCH_COMMANDS[tool]?.[mode] ?? tool;
setTimeout(() => {
sendCliSessionText(
created.session.sessionKey,
{ text: command, appendNewline: true },
projectPath
).catch((err) => console.error('[DashboardToolbar] auto-launch failed:', err));
}, 300);
} finally {
setIsCreating(false);
}

View File

@@ -6336,6 +6336,8 @@ export interface CliSession {
createdAt: string;
updatedAt: string;
isPaused: boolean;
/** When set, this session is a native CLI interactive process. */
cliTool?: string;
}
export interface CreateCliSessionInput {
@@ -6346,6 +6348,8 @@ export interface CreateCliSessionInput {
tool?: string;
model?: string;
resumeKey?: string;
/** Launch mode for native CLI sessions (default or yolo). */
launchMode?: 'default' | 'yolo';
}
function withPath(url: string, projectPath?: string): string {
@@ -6397,6 +6401,8 @@ export interface ExecuteInCliSessionInput {
category?: 'user' | 'internal' | 'insight';
resumeKey?: string;
resumeStrategy?: 'nativeResume' | 'promptConcat';
instructionType?: 'prompt' | 'skill' | 'command';
skillName?: string;
}
export async function executeInCliSession(

View File

@@ -159,6 +159,8 @@ export async function dispatch(
category: options.category,
resumeKey: options.resumeKey ?? step.resumeKey,
resumeStrategy: options.resumeStrategy,
instructionType: step.instructionType,
skillName: step.skillName,
};
// Step 3: Execute in the resolved session

View File

@@ -104,13 +104,25 @@ export class OrchestrationPlanBuilder {
if (nodeData.slashCommand) {
executionType = 'slash-command';
} else if (nodeData.tool && nodeData.mode) {
// More sophisticated logic might be needed here to differentiate backend-flow
// For now, if tool/mode are present, assume frontend-cli or backend-flow
// depending on whether it's a direct CLI call or a backend orchestrator call.
// Assuming CLI tools are frontend-cli for now unless specified otherwise.
executionType = 'frontend-cli';
}
// Resolve instructionType and skillName
// Priority: explicit instructionType > slashCommand backward compat > default prompt
let instructionType = nodeData.instructionType;
let skillName = nodeData.skillName;
if (!instructionType) {
if (skillName) {
instructionType = 'skill';
} else if (nodeData.slashCommand) {
// Backward compat: map slashCommand to skill type
instructionType = 'skill';
skillName = nodeData.slashCommand;
} else {
instructionType = 'prompt';
}
}
steps.push({
id: node.id,
name: nodeData.label || `Step ${node.id}`,
@@ -128,6 +140,8 @@ export class OrchestrationPlanBuilder {
errorHandling: undefined,
executionType: executionType,
sourceNodeId: node.id,
instructionType,
skillName,
});
}

View File

@@ -1126,6 +1126,49 @@ function PromptTemplateProperties({ data, onChange }: PromptTemplatePropertiesPr
{/* CLI Session Routing (tmux-like) */}
{!isSlashCommandMode && (
<>
{/* Instruction Type for native CLI sessions */}
<div>
<label className="block text-sm font-medium text-foreground mb-1">
Instruction Type
</label>
<select
value={data.instructionType || 'prompt'}
onChange={(e) => {
const next = e.target.value as 'prompt' | 'skill' | 'command';
const updates: Partial<PromptTemplateNodeData> = { instructionType: next };
if (next !== 'skill') {
updates.skillName = undefined;
}
onChange(updates);
}}
className="w-full h-10 px-3 rounded-md border border-border bg-background text-foreground text-sm"
>
<option value="prompt">Prompt (direct text)</option>
<option value="skill">Skill (CLI-specific prefix)</option>
<option value="command">Command (CLI native)</option>
</select>
</div>
{/* Skill Name - shown when instructionType is 'skill' */}
{(data.instructionType === 'skill') && (
<div>
<label className="block text-sm font-medium text-foreground mb-1">
Skill Name
{data.tool && (
<span className="ml-2 text-xs text-muted-foreground font-normal">
{data.tool === 'claude' ? 'prefix: /' : data.tool === 'codex' ? 'prefix: $' : 'no prefix'}
</span>
)}
</label>
<Input
value={data.skillName || ''}
onChange={(e) => onChange({ skillName: e.target.value || undefined })}
placeholder={data.tool === 'claude' ? 'e.g. review-code' : data.tool === 'codex' ? 'e.g. fix' : 'skill name'}
className="font-mono text-sm"
/>
</div>
)}
<div>
<label className="block text-sm font-medium text-foreground mb-1">
{formatMessage({ id: 'orchestrator.propertyPanel.delivery' })}

View File

@@ -24,7 +24,7 @@ export type ExecutionStatus = 'pending' | 'running' | 'completed' | 'failed';
/**
* Available CLI tools for execution
*/
export type CliTool = 'gemini' | 'qwen' | 'codex' | 'claude';
export type CliTool = 'gemini' | 'qwen' | 'codex' | 'claude' | 'opencode';
/**
* Execution modes for prompt templates
@@ -117,6 +117,20 @@ export interface PromptTemplateNodeData {
*/
contextRefs?: string[];
/**
* Instruction type for CLI session execution.
* - prompt: raw text sent as conversation input
* - skill: CLI-specific skill invocation (Claude: /name, Codex: $name)
* - command: CLI native command
*/
instructionType?: 'prompt' | 'skill' | 'command';
/**
* Skill name for instructionType='skill'.
* The actual prefix (/ or $) is determined by the target CLI tool.
*/
skillName?: string;
/**
* Selected slash command name (e.g., "workflow:plan", "review-code")
* When set, overrides instruction during execution.

View File

@@ -145,6 +145,20 @@ export interface OrchestrationStep {
*/
executionType: ExecutionType;
/**
* Instruction type for native CLI session execution.
* - prompt: raw text conversation input
* - skill: CLI-specific skill invocation (prefix determined by CLI tool)
* - command: CLI native command
*/
instructionType?: 'prompt' | 'skill' | 'command';
/**
* Skill name for instructionType='skill'.
* The actual prefix (/ or $) is assembled by the backend InstructionAssembler.
*/
skillName?: string;
/**
* For flow-based plans, the ID of the source FlowNode.
*/

View File

@@ -18,6 +18,7 @@
import type { RouteContext } from './types.js';
import { getCliSessionManager } from '../services/cli-session-manager.js';
import type { InstructionType } from '../services/cli-instruction-assembler.js';
import path from 'path';
import { getCliSessionPolicy } from '../services/cli-session-policy.js';
import { RateLimiter } from '../services/rate-limiter.js';
@@ -91,7 +92,8 @@ export async function handleCliSessionsRoutes(ctx: RouteContext): Promise<boolea
preferredShell,
tool,
model,
resumeKey
resumeKey,
launchMode
} = (body || {}) as any;
if (tool && typeof tool === 'string') {
@@ -115,7 +117,8 @@ export async function handleCliSessionsRoutes(ctx: RouteContext): Promise<boolea
preferredShell: preferredShell === 'pwsh' ? 'pwsh' : 'bash',
tool: typeof tool === 'string' ? tool.trim() : undefined,
model,
resumeKey
resumeKey,
launchMode: launchMode === 'yolo' ? 'yolo' : 'default',
});
appendCliSessionAudit({
@@ -353,7 +356,9 @@ export async function handleCliSessionsRoutes(ctx: RouteContext): Promise<boolea
workingDir,
category,
resumeKey,
resumeStrategy
resumeStrategy,
instructionType,
skillName
} = (body || {}) as any;
if (!tool || typeof tool !== 'string') {
@@ -380,7 +385,9 @@ export async function handleCliSessionsRoutes(ctx: RouteContext): Promise<boolea
workingDir,
category,
resumeKey,
resumeStrategy: resumeStrategy === 'promptConcat' ? 'promptConcat' : 'nativeResume'
resumeStrategy: resumeStrategy === 'promptConcat' ? 'promptConcat' : 'nativeResume',
instructionType: typeof instructionType === 'string' ? instructionType as InstructionType : undefined,
skillName: typeof skillName === 'string' ? skillName : undefined,
});
appendCliSessionAudit({

View File

@@ -0,0 +1,37 @@
// ========================================
// CLI Instruction Assembler
// ========================================
// Assembles the final sendText string based on CLI type and instruction type.
export type InstructionType = 'prompt' | 'skill' | 'command';
/**
* Assemble the text to send to a CLI interactive session.
*
* - prompt → raw content text
* - skill → CLI-specific skill prefix (claude: /, codex: $, others: fallback to prompt)
* - command → raw content text (CLI native command)
*/
export function assembleInstruction(
cliTool: string,
instructionType: InstructionType,
content: string,
skillName?: string,
): string {
if (instructionType === 'prompt' || instructionType === 'command') {
return content;
}
// instructionType === 'skill'
const name = skillName ?? '';
switch (cliTool) {
case 'claude':
return `/${name} ${content}`;
case 'codex':
return `$${name} ${content}`;
default:
// Other CLIs don't support skill syntax — fallback to plain prompt
return content;
}
}

View File

@@ -0,0 +1,53 @@
// ========================================
// CLI Launch Registry
// ========================================
// Defines interactive-mode launch parameters for each CLI tool.
// Supports 'default' and 'yolo' launch modes.
export type CliTool = 'claude' | 'gemini' | 'qwen' | 'codex' | 'opencode';
export type LaunchMode = 'default' | 'yolo';
export interface CliLaunchConfig {
command: string;
args: string[];
env?: Record<string, string>;
}
function parseCommand(raw: string): CliLaunchConfig {
const parts = raw.split(/\s+/);
return { command: parts[0], args: parts.slice(1) };
}
const LAUNCH_CONFIGS: Record<CliTool, Record<LaunchMode, CliLaunchConfig>> = {
claude: {
default: parseCommand('claude'),
yolo: parseCommand('claude --permission-mode bypassPermissions'),
},
gemini: {
default: parseCommand('gemini'),
yolo: parseCommand('gemini --approval-mode yolo'),
},
qwen: {
default: parseCommand('qwen'),
yolo: parseCommand('qwen --approval-mode yolo'),
},
codex: {
default: parseCommand('codex'),
yolo: parseCommand('codex --full-auto'),
},
opencode: {
default: parseCommand('opencode'),
yolo: parseCommand('opencode'),
},
};
const KNOWN_TOOLS = new Set<string>(Object.keys(LAUNCH_CONFIGS));
export function getLaunchConfig(tool: string, launchMode: LaunchMode): CliLaunchConfig {
if (KNOWN_TOOLS.has(tool)) {
return LAUNCH_CONFIGS[tool as CliTool][launchMode];
}
// Unknown tool: treat the tool name itself as the command
return { command: tool, args: [] };
}

View File

@@ -13,6 +13,8 @@ import {
} from './cli-session-command-builder.js';
import { getCliSessionPolicy } from './cli-session-policy.js';
import { appendCliSessionAudit } from './cli-session-audit.js';
import { getLaunchConfig } from './cli-launch-registry.js';
import { assembleInstruction, type InstructionType } from './cli-instruction-assembler.js';
export interface CliSession {
sessionKey: string;
@@ -24,6 +26,8 @@ export interface CliSession {
createdAt: string;
updatedAt: string;
isPaused: boolean;
/** When set, this session is a native CLI interactive process (not a shell). */
cliTool?: string;
}
export interface CreateCliSessionOptions {
@@ -34,6 +38,8 @@ export interface CreateCliSessionOptions {
tool?: string;
model?: string;
resumeKey?: string;
/** Launch mode for native CLI sessions. */
launchMode?: 'default' | 'yolo';
}
export interface ExecuteInCliSessionOptions {
@@ -45,6 +51,10 @@ export interface ExecuteInCliSessionOptions {
category?: 'user' | 'internal' | 'insight';
resumeKey?: string;
resumeStrategy?: CliSessionResumeStrategy;
/** Instruction type for native CLI sessions. */
instructionType?: InstructionType;
/** Skill name for instructionType='skill'. */
skillName?: string;
}
export interface CliSessionOutputEvent {
@@ -202,12 +212,31 @@ export class CliSessionManager {
createSession(options: CreateCliSessionOptions): CliSession {
const workingDir = normalizeWorkingDir(options.workingDir);
const preferredShell = options.preferredShell ?? 'bash';
const { shellKind, file, args } = pickShell(preferredShell);
const sessionKey = createSessionKey();
const createdAt = nowIso();
let shellKind: CliSessionShellKind;
let file: string;
let args: string[];
let cliTool: string | undefined;
if (options.tool) {
// Native CLI interactive session: spawn the CLI process directly
const launchMode = options.launchMode ?? 'default';
const config = getLaunchConfig(options.tool, launchMode);
shellKind = 'git-bash'; // PTY shell kind label (not actually a shell)
file = config.command;
args = config.args;
cliTool = options.tool;
} else {
// Legacy shell session: spawn bash/pwsh
const preferredShell = options.preferredShell ?? 'bash';
const picked = pickShell(preferredShell);
shellKind = picked.shellKind;
file = picked.file;
args = picked.args;
}
const pty = nodePty.spawn(file, args, {
name: 'xterm-256color',
cols: options.cols ?? 120,
@@ -230,6 +259,7 @@ export class CliSessionManager {
bufferBytes: 0,
lastActivityAt: Date.now(),
isPaused: false,
cliTool,
};
pty.onData((data) => {
@@ -272,7 +302,8 @@ export class CliSessionManager {
this.sessions.set(sessionKey, session);
// WSL often ignores Windows cwd; best-effort cd to mounted path.
if (shellKind === 'wsl-bash') {
// Only for legacy shell sessions, not native CLI sessions.
if (!cliTool && shellKind === 'wsl-bash') {
const wslCwd = toWslPath(workingDir.replace(/\\/g, '/'));
this.sendText(sessionKey, `cd ${wslCwd}`, true);
}
@@ -388,27 +419,37 @@ export class CliSessionManager {
? `${resumeKey}-${Date.now()}`
: `exec-${Date.now()}-${randomBytes(3).toString('hex')}`;
const { command } = buildCliSessionExecuteCommand({
projectRoot: this.projectRoot,
shellKind: session.shellKind,
tool: options.tool,
prompt: options.prompt,
mode: options.mode,
model: options.model,
workingDir: options.workingDir ?? session.workingDir,
category: options.category,
resumeStrategy: options.resumeStrategy,
prevExecutionId,
executionId
});
let command: string;
if (session.cliTool) {
// Native CLI session: assemble instruction and sendText directly
const instructionType = options.instructionType ?? 'prompt';
command = assembleInstruction(session.cliTool, instructionType, options.prompt, options.skillName);
this.sendText(sessionKey, command, true);
} else {
// Legacy shell session: build ccw cli pipe command
const result = buildCliSessionExecuteCommand({
projectRoot: this.projectRoot,
shellKind: session.shellKind,
tool: options.tool,
prompt: options.prompt,
mode: options.mode,
model: options.model,
workingDir: options.workingDir ?? session.workingDir,
category: options.category,
resumeStrategy: options.resumeStrategy,
prevExecutionId,
executionId
});
command = result.command;
this.sendText(sessionKey, command, true);
}
// Best-effort: preemptively update mapping so subsequent queue items can chain.
if (resumeMapKey) {
this.resumeKeyLastExecution.set(resumeMapKey, executionId);
}
this.sendText(sessionKey, command, true);
broadcastToClients({
type: 'CLI_SESSION_EXECUTE',
payload: { sessionKey, executionId, command, timestamp: nowIso() }

View File

@@ -21,6 +21,7 @@ import { broadcastToClients } from '../websocket.js';
import { executeCliTool } from '../../tools/cli-executor-core.js';
import { cliSessionMux } from './cli-session-mux.js';
import { appendCliSessionAudit } from './cli-session-audit.js';
import { assembleInstruction, type InstructionType } from './cli-instruction-assembler.js';
import type {
Flow,
FlowNode,
@@ -264,12 +265,30 @@ export class NodeRunner {
error: `Target session not found: ${targetSessionKey}`
};
}
// Resolve instructionType and skillName for native CLI sessions
let instructionType = data.instructionType;
let skillName = data.skillName;
if (!instructionType) {
if (skillName) {
instructionType = 'skill';
} else if (data.slashCommand) {
// Backward compat: map slashCommand to skill
instructionType = 'skill';
skillName = data.slashCommand;
} else {
instructionType = 'prompt';
}
}
const routed = manager.execute(targetSessionKey, {
tool,
prompt: instruction,
mode,
resumeKey: data.resumeKey,
resumeStrategy: data.resumeStrategy === 'promptConcat' ? 'promptConcat' : 'nativeResume'
resumeStrategy: data.resumeStrategy === 'promptConcat' ? 'promptConcat' : 'nativeResume',
instructionType: instructionType as InstructionType,
skillName,
});
// Best-effort: record audit event so Observability panel includes orchestrator-routed executions.