feat: standardize request_user_input schema across all codex skills and add config reminder

- Update all 68 .codex/skills files to use correct request_user_input schema
  (header, id, question, options with label/description)
- Remove deprecated multiSelect, type, value, prompt fields
- Add mandatory confirmation gates to planning-only skills
- Add Codex config.toml reminder to ccw install CLI
- Add Codex configuration section to README.md and README_CN.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
catlog22
2026-03-24 15:19:18 +08:00
parent ccb5f1e615
commit fe7945eaa2
72 changed files with 1020 additions and 901 deletions

View File

@@ -2,7 +2,7 @@
name: team-roadmap-dev
description: Roadmap-driven development with phased execution pipeline. Coordinator discusses roadmap with user, then executes plan->execute->verify cycles per phase using CSV wave execution.
argument-hint: "[-y|--yes] [-c|--concurrency N] [--continue] \"<task-description>\""
allowed-tools: spawn_agents_on_csv, spawn_agent, wait, send_input, close_agent, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
allowed-tools: spawn_agents_on_csv, spawn_agent, wait, send_input, close_agent, Read, Write, Edit, Bash, Glob, Grep, request_user_input
---
## Auto Mode
@@ -244,7 +244,7 @@ const discusser = spawn_agent({
**Instructions**:
1. Analyze task description to understand scope
2. Propose phase breakdown to user via AskUserQuestion
2. Propose phase breakdown to user via request_user_input
3. For each phase, clarify requirements and success criteria
4. Generate roadmap.md with structured phase definitions
5. Output result as JSON with roadmap_path and phase_count`
@@ -343,19 +343,19 @@ writeMasterCSV(`${sessionDir}/tasks.csv`, tasksWithWaves)
// User validation (skip if autoYes)
if (!autoYes) {
const approval = AskUserQuestion({
const approval = request_user_input({
questions: [{
question: `Generated ${tasksWithWaves.length} tasks across ${phases.length} phases. Proceed?`,
header: "Task Breakdown Validation",
multiSelect: false,
header: "Validate",
id: "task_approval",
options: [
{ label: "Proceed", description: "Start execution" },
{ label: "Proceed (Recommended)", description: "Start execution" },
{ label: "Cancel", description: "Abort workflow" }
]
}]
})
if (approval.answers[0] !== "Proceed") {
if (approval.answers.task_approval.answers[0] !== "Proceed (Recommended)") {
throw new Error("User cancelled workflow")
}
}
@@ -554,20 +554,20 @@ console.log(`\nResults: ${sessionDir}/results.csv`)
console.log(`Report: ${sessionDir}/context.md`)
// Offer next steps
const nextStep = AskUserQuestion({
const nextStep = request_user_input({
questions: [{
question: "Roadmap Dev pipeline complete. What would you like to do?",
header: "Completion",
multiSelect: false,
question: "Roadmap Dev pipeline complete. Choose next action.",
header: "Done",
id: "completion",
options: [
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up tasks and team resources" },
{ label: "Archive (Recommended)", description: "Archive session, clean up tasks and team resources" },
{ label: "Keep Active", description: "Keep session active for follow-up work or inspection" },
{ label: "Export Results", description: "Export deliverables to a specified location, then clean" }
]
}]
})
if (nextStep.answers[0] === "Archive & Clean (Recommended)") {
if (nextStep.answers.completion.answers[0] === "Archive (Recommended)") {
Bash(`tar -czf "${sessionDir}.tar.gz" "${sessionDir}" && rm -rf "${sessionDir}"`)
console.log(`Session archived to ${sessionDir}.tar.gz`)
}

View File

@@ -14,7 +14,7 @@ Interactive agent for discussing roadmap with user and generating phase plan wit
- Load role definition via MANDATORY FIRST STEPS pattern
- Produce structured output following template
- Interact with user via AskUserQuestion
- Interact with user via request_user_input
- Generate roadmap.md with phase definitions
- Include requirements (REQ-IDs) and success criteria per phase
@@ -33,7 +33,7 @@ Interactive agent for discussing roadmap with user and generating phase plan wit
| Tool | Type | Purpose |
|------|------|---------|
| `AskUserQuestion` | Human interaction | Clarify requirements, propose phase breakdown |
| `request_user_input` | Human interaction | Clarify requirements, propose phase breakdown |
| `Read` | File I/O | Load project context |
| `Write` | File I/O | Generate roadmap.md |
@@ -81,15 +81,15 @@ Interactive agent for discussing roadmap with user and generating phase plan wit
- Phase goal (one sentence)
- Key requirements (REQ-IDs)
- Success criteria (measurable)
4. Present to user via AskUserQuestion:
4. Present to user via request_user_input:
```javascript
AskUserQuestion({
request_user_input({
questions: [{
question: "Proposed phase breakdown:\n\nPhase 1: [goal]\n- REQ-001: [requirement]\n- Success: [criteria]\n\nPhase 2: [goal]\n...\n\nApprove or request changes?",
header: "Roadmap Discussion",
multiSelect: false,
header: "Roadmap",
id: "roadmap_approval",
options: [
{ label: "Approve", description: "Proceed with this breakdown" },
{ label: "Approve (Recommended)", description: "Proceed with this breakdown" },
{ label: "Modify", description: "Request changes to phases" },
{ label: "Cancel", description: "Abort workflow" }
]
@@ -173,4 +173,4 @@ Interactive agent for discussing roadmap with user and generating phase plan wit
| User cancels | Output partial roadmap, mark as cancelled |
| Project context not found | Continue without project context, note in findings |
| User requests too many phases (>10) | Warn about complexity, suggest consolidation |
| Ambiguous requirements | Ask clarifying questions via AskUserQuestion |
| Ambiguous requirements | Ask clarifying questions via request_user_input |