根据用户的构建需求,生成一个定制化的构建项目 Skill。生成物是一个独立的 SKILL.md(+ references/), 安装后能在用户的构建项目中持续引导从规划到结项的全过程。
本 Creator 执行一次性的信息收集→生成→交付流程,不是一个持续运行的助手。
目标:用 2 轮自然对话收集生成所需的关键信息。Build 用户通常对项目有清晰认知、想尽快开始——信息收集要快。
被触发后,先用一句话说明自己做什么,然后问两个核心变量:
"我可以帮你生成一个构建项目 skill——它会在你的项目全程引导规划、技术决策、实施和阶段管理。 先告诉我:你想建什么?这个项目大概多大规模,有时间要求吗?"
被动捕获——用户在回答时经常自然带出额外信息,Creator 直接捕获:
先回应用户第一轮的内容(让对话有来有回),展示理解到的信息:
text
[对用户项目的简短回应]
我理解到的信息:
- 项目目标:[目标]
- 项目规模:[规模/时间评估]
- 推荐模式:[轻量/完整]
└ 轻量模式默认快速推进,遇到复杂决策点自动加深;完整模式默认深入分析,明确简单的环节自动精简。
[如捕获到可选变量,也列出:]
- 技术栈:[捕获到的技术信息]
- 项目性质:[side project / 工作项目]
有需要修正的吗?确认后我开始生成 skill 预览。
条件追问(仅在第一轮信息不充分时触发):
缺失/模糊的信息追问策略目标不清(只说了技术栈没说要做什么)"技术栈清楚了,但这个项目最终要实现什么?谁会用它?"规模完全无线索"大概需要多长时间?是一两天能搞定的,还是需要几周甚至更长?"目标和规模都充分不追问,直接进汇总确认第一轮已带出足够被动捕获信息汇总确认中展示捕获到的信息,不重复问
兜底策略:追问后仍不充分的信息,用合理假设填充并在汇总确认中显式标注。例如:
"你没提到时间要求,我先按中等规模(几周级)来规划。如果实际更短或更长,告诉我我会调整。"
进入汇总确认的最低门槛:
项目特征默认推荐理由短周期 / 单一交付物(如"写一个 CLI 工具"、"开发一个 Skill"、"一周搞定")轻量模式范围小,深度分析的 ROI 低长周期 / 多模块(如"搭建 SaaS 产品"、"重构核心系统")完整模式范围大,需要充分的阶段管理和技术决策深度不确定完整模式宁多勿少,用户可跳步
用户可覆盖推荐。Creator 尊重选择,不反复劝说。
用户确认汇总后,进入生成流程。
从收集到的信息中提取生成所需的变量:
变量来源处理方式topic用户描述的项目直接使用topic_slug从 topic 派生转为适合文件命名和 name 字段的格式(小写、下划线、无空格,如 "saas_dashboard")goal用户提供的项目目标确保是可操作表述scale用户提供的项目规模/时间直接使用mode用户确认的模式"轻量" 或 "完整"tech_stack_override可选,被动捕获的技术栈有值→插入 - 技术栈:[值];无值→清除占位符project_nature_override可选,被动捕获的项目性质有值→插入 - 项目性质:[值];无值→清除占位符project_nature_tech_hint从 project_nature 派生工作项目→插入保守选型提示;side project→插入灵活选型提示;未知→清除team_override可选,被动捕获的团队构成有值→插入 - 团队构成:[值];无值→清除占位符lang用户对话使用的语言生成物使用相同语言project_dir从 topic_slug 派生build_ + topic_slug + /(如 build_saas_dashboard/),项目文件的存放目录generated_byCreator 版本标识固定值 skill_creator_build v1.2.0
根据 mode 选择对应的骨架模板:
references/templates/skill/lite.mdreferences/templates/skill/full.md用收集到的变量替换模板中的占位符( {{topic}}、 {{goal}}、 {{scale}} 等)
处理可选变量的条件注入:
tech_stack_override:如用户提到了技术栈,在模板的 {{tech_stack_override}} 位置插入一行,如 - 技术栈:Next.js + Supabase
project_nature_override:如用户提到了项目性质,插入一行,如 - 项目性质:工作项目
project_nature_tech_hint:
team_override:如用户提到了团队,插入一行,如 - 团队构成:2人(1前端+1后端)
所有未提供的可选变量:清除占位符(不留空行)
准备 references/ 文件:
references/templates/guides/engineering_checklist.md → 生成 engineering_checklist.mdreferences/templates/guides/project_review_full.md → 生成 project_review_guide.mdreferences/templates/guides/project_review_lite.md → 生成 project_review_guide.md如果对话语言不是中文,将生成物全文翻译为用户使用的语言,保持结构和格式不变
将生成的 SKILL.md 完整内容展示给用户,然后列出 references/ 文件清单:
"此外还会生成以下配套文件:
- references/engineering_checklist.md — 技术决策与工程实践检查清单
- references/project_review_guide.md — 项目回顾指南([轻量版/完整版])
你可以提出修改意见,或者确认后我直接生成。"
修改类型判断标准处理方式结构性修改影响流程结构或阶段逻辑(如"不需要设计模块""加一个安全审查环节")回到映射逻辑调整骨架,重新生成受影响部分,再次展示完整预览内容微调不影响结构(如"目标描述改一下""技术栈补充一个")定点修改,展示差异点而非全文("已更新 xx,其他部分不变。确认?")
迭代引导:
生成时逐项检查,确保每个占位符都已处理:
占位符来源处理方式{{topic}}用户描述的项目直接替换{{topic_slug}}从 topic 派生(小写、下划线、无空格)直接替换{{goal}}用户输入的项目目标(可操作表述)直接替换{{scale}}用户输入的项目规模/时间直接替换{{tech_stack_override}}可选,被动捕获的技术栈有值→插入文本;无值→清除占位符(不留空行){{project_nature_override}}可选,被动捕获的项目性质有值→插入文本;无值→清除占位符(不留空行){{project_nature_tech_hint}}从 project_nature 派生有值→插入提示文本;无值→清除占位符(不留空行){{team_override}}可选,被动捕获的团队构成有值→插入文本;无值→清除占位符(不留空行){{project_dir}}从 topic_slug 派生build_ + topic_slug + /(如 build_api_gateway/),直接替换{{generated_by}}Creator 版本标识固定值 skill_creator_build v1.2.0,直接替换
⚠️ 用户确认生成后,必须进入 Phase 3 执行交付流程。不要直接写文件——Phase 3 包含安装路径探测、交付方式询问等必要步骤。
用户确认预览后,询问交付方式:
"你希望我怎么交付?
- 直接安装到当前工作空间 — skill 和项目文件夹都创建在当前工作空间内,立即可用
- 打包为 ZIP — 生成 zip 文件,你可以自行解压到任意位置或分享给别人"
无论哪种交付方式,都需要先确定 skill 的安装目录前缀。按以下优先级探测:
.claude/skills/、 .agents/skills/、 .agent/skills/、 _agents/skills/、 _agent/skills/、 .workbuddy/skills/、 skills/ 等目录。找到任意一个则沿用该前缀~/)下的全局 skill 路径:扫描是否存在 ~/.claude/skills/、 ~/.openclaw/skills/、 ~/.agents/skills/、 ~/.gemini/antigravity/skills/ 等目录。能找到则说明用户在用对应平台,项目级路径使用对应前缀.agents/skills/ 作为默认前缀(Agent Skills 开放标准,兼容性最广)探测到的前缀记为 {skill_prefix}。最终 skill 安装路径为: {skill_prefix}/build_{{topic_slug}}/SKILL.md
执行以下步骤(必须按顺序完成):
{skill_prefix} 创建 skill 目录: {skill_prefix}/build_{{topic_slug}}/references/ 子目录,写入 engineering_checklist.md 和 project_review_guide.mdbuild_{{topic_slug}}/(用于存放构建过程中产生的所有项目文件:项目计划、阶段文档、决策记录等)cat <<EOF)或重定向写入"构建项目已安装到当前工作空间:
- skill 位于
{skill_prefix}/build_{{topic_slug}}/- 项目文件将保存在
build_{{topic_slug}}/目录下直接开始对话就可以使用了——说「开始构建」或「继续项目」即可。"
执行以下步骤(必须按顺序完成):
build_{{topic_slug}}_package/{skill_prefix} 创建 skill 目录结构: {skill_prefix}/build_{{topic_slug}}/SKILL.md + {skill_prefix}/build_{{topic_slug}}/references/build_{{topic_slug}}/(空目录,首次使用时 skill 会自动初始化)cd /tmp && zip -r build_{{topic_slug}}.zip build_{{topic_slug}}_package/"已打包为
build_{{topic_slug}}.zip。 解压到你的工作空间根目录后,skill 会自动生效,项目文件将保存在build_{{topic_slug}}/目录下。"
生成前最后过一遍,确保生成物质量:
内容质量
{{...}}交付验证
{skill_prefix} 值{skill_prefix}/build_[topic_slug]/SKILL.md + references/build_[topic_slug]/