Summary
CX 工作流 — 需求收集与规模评估。当用户提到"新功能"、"需求"、"PRD"、 "我想做一个"、"帮我规划"、"收集需求"、"功能规划"时触发。 多轮对话收集需求,自动评估规模,保存到本地 开发文档/CX工作流/功能/{feature_title}/需求.md,并自动判断是否需要 Design。
m19803261706/cx-workflow · Archived
CX 工作流 — 需求收集与规模评估。当用户提到"新功能"、"需求"、"PRD"、 "我想做一个"、"帮我规划"、"收集需求"、"功能规划"时触发。 多轮对话收集需求,自动评估规模,保存到本地 开发文档/CX工作流/功能/{feature_title}/需求.md,并自动判断是否需要 Design。
npx skills add m19803261706/cx-workflow --skill cx-prd
CX 工作流 — 需求收集与规模评估。当用户提到"新功能"、"需求"、"PRD"、 "我想做一个"、"帮我规划"、"收集需求"、"功能规划"时触发。 多轮对话收集需求,自动评估规模,保存到本地 开发文档/CX工作流/功能/{feature_title}/需求.md,并自动判断是否需要 Design。
This repository is archived — consider an actively maintained alternative.
CX 工作流 — 帮助与使用指南。展示纯 cx 3.1 的命令面、自动路由逻辑、 `--all` 语义和项目级真相模型…
7 installsCX 工作流 — 技术设计与执行契约。当用户提到"技术设计"、"Design Doc"、 "API 设计"、"接口设计"、"…
6 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Helps users discover and install agent skills when they ask questions like "how do I do X", "fi…
3.3M installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsPrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Te…
568.3K installsOther skills from m19803261706/cx-workflow · top by installs.
npx skills add m19803261706/cx-workflow
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
12,518 B
SUMMARY.md
352 B
把模糊想法收敛成可执行需求,并决定后续是否进入设计阶段。
先阅读:
${CLAUDEPLUGINROOT}/core/workflow/README.md${CLAUDEPLUGINROOT}/core/workflow/protocols/prd.md${CLAUDEPLUGINROOT}/references/templates/prd.md/cx:cx-prd {功能名}
/cx:cx-prd
所有文件读写必须使用绝对路径。 禁止使用 ../ 相对路径操作文件。先用 git rev-parse --show-toplevel 获取绝对路径,所有 Read/Write/Edit 操作基于该路径。
禁止跳过问答直接生成文档。 无论用户的需求描述多清晰、多完整,都必须(MUST):
需求.md违反这条规则的行为:
需求.md正确的行为:
| 借口 | 现实 |
|---|---|
| "用户需求已经很清晰了" | 再清晰也需要方案对比和确认 |
| "这个功能很简单不需要问答" | 简单功能更容易遗漏边界条件 |
| "先写文档再问也一样" | 文档先入为主会锚定思维 |
| "多轮问答太慢了" | 2 轮问答 5 分钟,返工 2 小时 |
| "我已经分析了代码知道该怎么做" | 分析代码 ≠ 理解用户意图 |
开发文档/CX工作流/配置.json 是运行时配置真相开发文档/CX工作流/功能/{title}/状态.json 中current_feature 指针已废弃,worktree CWD 即上下文slugcx-prd 负责需求收敛,不负责把流程做重cc 身份写共享状态;如果 feature 已由 codex 持有,先提示 handoff<HARD-GATE> 除非用户显式传入 --inline,否则禁止在主分支(main/master)上创建 PRD。 必须先创建 feature worktree。 </HARD-GATE>
在 Step 0(scaffold)之前执行:
PROJECT_ROOT=$(git rev-parse --show-toplevel)
check_output=$(bash ${CLAUDE_PLUGIN_ROOT}/scripts/cx-worktree.sh check --project-root "$PROJECT_ROOT" 2>&1) || true
如果 on_main=true(在主分支上):
使用 AskUserQuestion 询问:
{
"questions": [{
"question": "当前在主分支上,需要为这个功能创建隔离工作区",
"header": "工作区选择",
"multiSelect": false,
"options": [
{ "label": "创建 Feature Worktree(推荐)", "description": "自动创建隔离分支和工作目录" },
{ "label": "在当前分支直接开始(--inline)", "description": "不隔离,适合极小改动" }
]
}]
}
用户选择创建 worktree 时:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/cx-worktree.sh create \
--feature "{feature-slug}" \
--runner cc \
--project-root "$PROJECT_ROOT"
然后 cd 到新 worktree 路径继续后续步骤。
用户选择 inline 时,继续在当前分支执行。
PROJECT_ROOT=$(git rev-parse --show-toplevel)
bash ${CLAUDE_PLUGIN_ROOT}/scripts/cx-workflow-prd.sh \
--project-root "$PROJECT_ROOT" \
--title "{功能标题}" \
--slug "{feature-slug}" \
--runner cc \
--session-id "{session-id}" \
--size "{S|M|L}" \
--needs-design "{true|false}" \
--question-mode checklist
这个 shared runner 负责确定性落盘:
开发文档/CX工作流/功能/{功能标题}/需求.md开发文档/CX工作流/功能/{功能标题}/状态.json.cx/core/features/{feature-slug}.json.cx/core/projects/project.json每次进入 PRD 时都执行,确保 dashboard 服务始终可用:
PROJECT_ROOT=$(git rev-parse --show-toplevel)
bash ${CLAUDE_PLUGIN_ROOT}/scripts/cx-dashboard-ensure.sh
bridge_output=$(bash ${CLAUDE_PLUGIN_ROOT}/scripts/cx-dashboard-bridge.sh \
--project-root “$PROJECT_ROOT” \
--display-name “$(basename “$PROJECT_ROOT”)”)
行为规则:
prompt_state=accepted(已启用):
cx-dashboard-ensure.sh)prompt_state=pending(从未被问过):
AskUserQuestion 询问是否启用全局面板--decision accept,启动服务--decision decline,本次跳过prompt_state=declined(曾经跳过):
runtime.json 中 lastcheckedat:- 如果距上次检查 > 24 小时(说明可能重启了电脑)→ 重新询问一次 - 如果 < 24 小时 → 静默跳过,不打扰
服务重启后的行为:
cx-dashboard-ensure.sh 会检测 PID 是否存活~/.cx/dashboard/registry.json 中已注册的项目需求.md / 设计.md / 修复记录.md,只提炼与本次需求相关的部分PRD 阶段的所有用户交互 必须(MUST) 使用 AskUserQuestion 工具。 禁止用纯文字列选项或开放式盘问代替。每轮先复述当前理解,再用结构化问题追问缺口。
先根据用户描述和代码分析,主动提出 2-3 个可行的实现方向,让用户选择或补充:
{
“questions”: [
{
“question”: “基于你的描述和项目现状,我分析了几个可行方向,哪个最接近你的预期?”,
“header”: “实现方向”,
“multiSelect”: false,
“options”: [
{
“label”: “方案 A: {简要描述} (Recommended)”,
“description”: “{优势、适用场景、预估工作量}”
},
{
“label”: “方案 B: {简要描述}”,
“description”: “{优势、适用场景、预估工作量}”
},
{
“label”: “方案 C: {简要描述}”,
“description”: “{优势、适用场景、预估工作量}”
}
]
},
{
“question”: “这个功能会影响哪些层级?”,
“header”: “影响范围”,
“multiSelect”: true,
“options”: [
{ “label”: “前端 UI/交互”, “description”: “页面、组件、样式、路由” },
{ “label”: “后端 API/逻辑”, “description”: “接口、服务、中间件” },
{ “label”: “数据库/状态”, “description”: “表结构、状态机、缓存” },
{ “label”: “基础设施/部署”, “description”: “配置、CI/CD、环境变量” }
]
}
]
}
方案推荐规则:
(Recommended),附带理由根据 Round 1 的选择继续深入。可同时问 1-4 个问题:
{
“questions”: [
{
“question”: “需要支持哪些核心功能?”,
“header”: “核心功能”,
“multiSelect”: true,
“options”: [
{ “label”: “{功能点 A}”, “description”: “{说明}” },
{ “label”: “{功能点 B}”, “description”: “{说明}” },
{ “label”: “{功能点 C}”, “description”: “{说明}” },
{ “label”: “{功能点 D}”, “description”: “{说明}” }
]
},
{
“question”: “以下哪些属于本次范围外?”,
“header”: “Out of Scope”,
“multiSelect”: true,
“options”: [
{ “label”: “{排除项 A}”, “description”: “{为什么建议排除}” },
{ “label”: “{排除项 B}”, “description”: “{为什么建议排除}” }
]
}
]
}
{
“questions”: [
{
“question”: “以下验收标准是否完整?”,
“header”: “验收标准”,
“multiSelect”: true,
“options”: [
{ “label”: “{标准 1}”, “description”: “{可测试的具体条件}” },
{ “label”: “{标准 2}”, “description”: “{可测试的具体条件}” },
{ “label”: “{标准 3}”, “description”: “{可测试的具体条件}” }
]
},
{
“question”: “识别到以下潜在风险,需要特别关注哪些?”,
“header”: “风险”,
“multiSelect”: true,
“options”: [
{ “label”: “{风险 A}”, “description”: “{影响和缓解方案}” },
{ “label”: “{风险 B}”, “description”: “{影响和缓解方案}” }
]
}
]
}
在 shared runner 先完成最小落盘后,再把需求内容补充完整,而不是只停留在口头问答。
文档里至少包含:
根据分析结果给出建议,MUST 使用 AskUserQuestion 让用户最终确认:
{
“questions”: [
{
“question”: “需求已收敛完成。根据分析建议规模为 {S/M/L},接下来?”,
“header”: “下一步”,
“multiSelect”: false,
“options”: [
{
“label”: “{推荐路由} (Recommended)”,
“description”: “{推荐理由}”
},
{
“label”: “走完整流程(PRD → Design → Plan)”,
“description”: “即使是小功能也做完整设计,适合不确定性较高的场景”
},
{
“label”: “直接进入规划(PRD → Plan)”,
“description”: “跳过设计阶段,适合需求已经非常清晰的场景”
}
]
}
]
}
路由规则:
S:默认推荐 /cx:cx-planM:默认推荐 /cx:cx-designL:默认推荐 /cx:cx-design,并在重大架构决策时补 /cx:cx-adr只有在需求确实成熟后,才把 feature 状态从 drafting 推进到下一阶段。
开发文档/CX工作流/功能/{功能标题}/需求.md状态.json 更新 current_feature、features[slug].cx/core/features/{slug}.json 与 project.json/cx:cx-plan 或 /cx:cx-design