关于 workflow-project-intake
用于项目入口梳理与需求澄清的技能,面向想法尚不明确或需要为已有项目选择执行路径的团队。它将对话收敛为文件化、可追踪的执行输入,再移交给相应工作流。
主要功能
- 01澄清目标与验收标准
- 02逐次提出一个问题
- 03将状态和产物写入文件
- 04写操作前设置审批检查点
- 05按项目需求选择后续工作流
适用场景
- 01把初步想法整理成可执行需求
- 02为现有代码库明确项目范围和路线
- 03在执行外部写操作前收集确认
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ heyvhuang/ ship-faster --skill workflow-project-intake安装后在 Claude Code 中输入/workflow-project-intake确认已加载。
详细介绍
项目接入(头脑风暴 + 澄清 + 路由)
将技能视为“无状态执行单元”,把所有状态外置到文件系统。
此技能定位为**“项目入口 / 需求澄清”**:
- 当用户只有模糊想法时:帮助他们澄清需求(最小信息集),然后再进入执行链
- 当用户提供代码仓库 / 明确目标时:快速确认理解,然后进入正确的工作流 / 步骤
此技能不负责实际的大规模实现(这是 workflow-ship-faster / workflow-feature-shipper 等执行技能的工作)。它负责将“对话”收敛为“可执行输入”,然后移交控制权。
核心原则(必须遵循)
- 只传路径,不传内容:智能体 / 子智能体只传递
..._path,让执行者自行读取文件。 - 文件是头等公民:每个步骤都必须持久化产物;失败后可以重试;可以重放;可以追踪。
- 写操作必须设有检查点:任何带有外部副作用的操作(删除 / 修改云资源 / 数据库写入 / 退款 / 取消订阅)都必须先写入计划,并等待用户明确确认。
- 一次只问一个问题:如果信息缺失,可以追问,但每条消息只问 1 个问题(优先选择题);复杂主题分多轮询问。
- Hooks doctor(必需检查;非阻塞):如果在 Claude Code 下运行且希望启用演进循环,请尽早运行一次
tool-hooks-doctor;如果缺少 hooks,则提出安装项目级 hooks(无论如何都继续)。
0)头脑风暴模块(取代旧方法)
当用户输入仍是“想法 / 方向 / 模糊需求”时,先使用 workflow-brainstorm 模块将其完善为可执行设计,然后进入接入检查清单。
workflow-brainstorm 模块要求:
- 如果存在代码仓库,先检查项目上下文
- 一次只问 1 个问题(优先选择题)
- 提供 2-3 个选项,并说明各自的权衡
- 分段输出设计(每段约 200-300 字),每段末尾询问“这样看起来可以吗?”
需要整理出的最小信息集(接入检查清单)
将用户输入收敛为以下信息(询问缺失的部分;如果用户已经提供,则不要重复询问)。
提问流程(必需):
- 每条消息只问 1 个问题
- 优先使用选择题;仅在必要时使用开放式问题
- 先问决定方向的问题(成功标准 / 非目标 / 约束),再问实现细节
A)入口类型
entry_type:idea|prototype- 如果是
prototype:repo_root(本地路径或代码仓库链接)
B)成功标准(必需)
- 用户希望首先实现的“一个核心循环”(一句话)
- 验收标准(3-5 项)
- 明确的非目标(1-3 项)
C)Ship Faster 关键开关(必须澄清)
need_database:是否需要数据库(默认 Supabase)need_billing:是否需要计费 / 支付(默认 Stripe)need_auth:是否需要身份验证(默认:false)need_deploy:是否需要部署到生产环境(默认 GitHub + Vercel)need_seo:是否需要 SEO(sitemap/robots/llms.txt 等)
D)约束(可选,但建议提供)
- 上线时间表(如有)
- 风险偏好(激进 / 保守)
- 现有设计约束(品牌颜色 / 字体 / 现有组件库)
运行目录规范
默认(推荐):在目标项目根目录下创建:runs/<workflow>/active/<run_id>/
OpenSpec 兼容模式(存在 openspec/project.md,或用户通过 context.json 强制启用时):
- 活跃目录:
openspec/changes/<change-id>/ - 归档目录:
openspec/changes/archive/YYYY-MM-DD-<change-id>/
后端选择规则(确定性):
- 如果
context.json包含"artifact_store": "runs"或"openspec",则遵循该设置。 - 否则,如果
repo_root中存在openspec/project.md,则使用 OpenSpec 模式。 - 否则,使用
runs/。
推荐结构(OpenSpec 风格,流程精简):
proposal.md:用户目标(原始问题 + 预期输出 + 约束条件 + 验收标准 + 非目标)tasks.md:可执行检查清单(- [ ]→- [x])+ 审批关卡context.json:关键信息(repo_root、need_* 开关、风险偏好、已知 ID)evidence/(可选):各分析器提供的证据/分析(大型输出不要放在聊天中)logs/(可选):events.jsonl:结构化事件日志(每个步骤追加一行)state.json:可选的机器可读状态(下一步是什么/哪些事项已完成)
归档约定(完成后):将 active/<run_id>/ 移至 archive/YYYY-MM-DD-<run_id>/
事件日志格式(推荐)
每行一个 JSON:
{"ts":"2026-01-11T12:00:00Z","step":"evidence","action":"cloudflare.query_worker_observability","status":"ok","artifacts":["evidence/observability.md"],"note":"p95 latency spike"}
不要记录敏感内容(token/email/phone/secret)。必要时写入脱敏版本。
检查点协议(写入操作必需)
执行写入操作前:
- 在
tasks.md的 Approvals 部分写入审批计划(对象 ID、影响范围、验证方法) - 在对话中展示相同摘要,并等待用户明确回复“confirm/yes/proceed”
- 仅在用户确认后执行,并将结果写入
evidence/(以及可选的logs/events.jsonl)
产物(此 Skill 必须持久化)
在路由/执行前,将澄清结果写入:
proposal.md:目标、范围、验收标准、非目标、时间线context.json:repo_root、entry_type、need_* 开关、风险偏好等
如果本次 Intake 包含“设计规范”阶段(来自 workflow-brainstorm 模块),还要持久化:
evidence/YYYY-MM-DD-<topic>-design.md:已确认的设计和关键决策,供下游规划/实施参考
注意:
- 如果文件已存在:仅补充缺失字段/追加信息,不要盲目覆盖(避免与下游工作流重复写入)
- 目标是让下游工作流无需再进行一轮澄清即可“直接开始运行”
context.json(推荐的最简结构):
{
"entry_type": "idea",
"repo_root": "",
"scope": "full",
"artifact_store": "auto",
"need_database": false,
"need_billing": false,
"need_auth": false,
"need_deploy": false,
"need_seo": false
}
路由:选择哪个工作流/Skill(默认优先快速交付)
优先建议:
- 从创意/小型原型到上线(默认):使用
workflow-ship-faster
workflow-ship-faster默认会将产物持久化到runs/ship-faster/active/<run_id>/(或在选择 OpenSpec 模式时写入openspec/changes/<change-id>/),并根据context.json开关决定是否执行 DB/支付/部署/SEO 等可选步骤- 仅需样式/设计系统:使用
tool-design-style-selector - 仅需迭代一个功能(拆分并交付):使用
workflow-feature-shipper - 仅需审查 React/Next.js 性能(瀑布流/包体积/重复渲染):使用
review-react-best-practices - 仅需执行 DB 侧操作(SQL/迁移/日志/类型生成):使用
supabaseskill - 仅需执行 Stripe 侧操作(产品/价格/支付链接/退款等):使用
stripeskill
如果不确定:先完成 Intake 清单 → 写入 proposal.md/context.json → 然后再路由(不要一开始就执行大型操作)。
结束时的对话收敛(必需)
在将控制权交给下游技能之前,以 3 段内容结束此技能:
- 重述理解(目标 + 验收标准 + 非目标)
- 说明要采取的路径(默认使用
workflow-ship-faster,并解释原因) - 询问用户是否要现在开始执行:
- “准备好开始
workflow-ship-faster了吗?(默认会将产物写入项目中的runs/ship-faster/active/<run_id>/,并且在执行关键写入操作前需要确认)”
- “准备好开始
并行执行(子 Agent)
出现以下任一情况时,将工作拆分为并行子任务:
- 需要按目录/模块扫描
- 需要按维度审查(命名/函数/重复项/……)
- 需要生成多个备选方案(方案 A/B/C)
并行子任务约定:
- 输入:仅接收路径(
proposal_path、context_path、output_dir) - 输出:将产物写入
evidence/parallel/<task-name>/,并返回产物路径列表
从检查点恢复
再次运行时:
- 首先读取
tasks.md;仅在存在logs/state.json且需要机器状态时才读取它 - 不要重复已完成的步骤;只补齐缺失的产物,或从失败处继续
交付物(最低要求)
tasks.md:清单应反映实际情况,并包含执行摘要 + 后续步骤- 可选:用于追踪的
logs/events.jsonl
完成后,执行一次 skill-evolution Evolution checkpoint(3 个问题);如果用户选择“想要优化”,则调用 skill-improver 审查本次运行并提出最小补丁建议。