🎁 Get the FREE AI Skills Starter Guide — Subscribe →
BytesAgainBytesAgain
🦀 ClawHub

Skill Interview Builder

by @irenerachel

通过分步访谈引导用户理清需求,最终产出完整的Skill文件包(含SKILL.md、参考文档、示例文件等), 并打包为可直接使用的压缩包。 当用户说"我想通过访谈新建Skill"、"用访谈方式做一个Skill"、"访谈建Skill"、 "通过访谈帮我生成Skill"、"访谈式创建Skill"、"我想访谈做一个XX的...

Versionv1.0.0
Downloads877
TERMINAL
clawhub install skill-interview-builder

📖 About This Skill


name: skill-interview-builder description: | 通过分步访谈引导用户理清需求,最终产出完整的Skill文件包(含SKILL.md、参考文档、示例文件等), 并打包为可直接使用的压缩包。 当用户说"我想通过访谈新建Skill"、"用访谈方式做一个Skill"、"访谈建Skill"、 "通过访谈帮我生成Skill"、"访谈式创建Skill"、"我想访谈做一个XX的技能"时触发。 触发关键词必须包含"访谈"二字,不含"访谈"的Skill创建请求不由本Skill处理。 不用于已有完整SKILL.md只需小改的情况,也不用于一次性提示词请求。

Skill访谈式构建器

引导用户完成一次结构化需求访谈,收集配套素材,最终打包生成一份可直接使用的完整Skill文件包。

核心原则

1. 用户不需要懂Skill格式——他们只需要回答问题,你来负责转化 2. 每轮问完先小结确认——不要一口气把12个问题全抛出来 3. 允许跳过不确定的问题——给出合理默认值,标注为假设 4. 最终产出必须可直接使用——复制到文件夹就能跑

访谈阶段

第一轮:核心意图

依次问这4个问题:

1. 这个Skill最终要产出什么?(比如:一篇文章、一份报告、一组提示词、一个方案) 2. 你平时会怎么说来触发它?(想想你的自然表达,比如"帮我写个周报"、"做个分镜") 3. 哪些场景绝对不要触发?(比如:不要用来做XX、遇到XX情况不要用) 4. 做到什么程度算完成?(列出3-5个可以打勾的标准)

问完后,把回答整理成简短摘要,请用户确认后再继续。

第二轮:运行环境

依次问这4个问题:

5. 它运行在什么环境里?(选项:Claude Code / Cowork / Cursor / Windsurf / 扣子 / OpenClaw / ChatGPT / 其他) 6. 允许用哪些工具?(如果不确定可以跳过,默认为该环境的标准工具) 7. 需要读取哪些参考资料或文件?(比如:风格指南、模板、行业规范、历史案例) 8. 需要写脚本吗?(如果不确定,默认不需要)

问完后,整理摘要并标记矛盾点,请用户确认后再继续。

素材收集(第二轮确认后立即进行)

根据第二轮中问题7(参考资料)和问题8(脚本需求)的回答,主动引导用户提交配套素材。 明确告知用户:

> 根据你刚才描述的需求,这个Skill运行时可能需要以下配套素材。如果你手上已经有,可以现在直接上传给我,我会一起打包到最终的Skill文件包里:

按需列出以下类别(只列用户需求相关的,不要全列):

  • 参考文档:风格指南、行业规范、品牌手册、模板文件等(放入 references/)
  • 示例文件:正例输出样本、反例输出样本、历史案例等(放入 examples/)
  • 脚本或代码:运行时需要的辅助脚本、数据处理工具等(放入 scripts/)
  • 素材资源:图片模板、字体文件、配色方案、图标包等(放入 assets/)
  • 规则:

  • 用户上传的文件原样保存到对应目录,不做修改
  • 如果用户暂时没有,标记为「待补充」,在最终文件包中保留空目录和 README 占位说明
  • 如果用户表示不需要任何配套素材,跳过此环节直接进入第三轮
  • 第三轮:输出契约

    依次问这4个问题:

    9. 最终输出必须长什么样?(描述格式、结构、长度等) 10. 有哪些必须包含的内容? 11. 有哪些必须避免的内容? 12. 能给一个正例和一个反例吗?(如果暂时没有可以跳过)

    问完后,汇总全部信息。

    工作流程

    1. 问第一轮,等待回答 2. 整理第一轮摘要,请用户确认 3. 问第二轮,等待回答 4. 整理第二轮摘要,标记矛盾点,请用户确认 5. 引导素材收集:根据第二轮回答,列出需要的配套素材类别,请用户上传或标记为「待补充」 6. 问第三轮,等待回答 7. 汇总成完整的结构化需求 8. 如果还有矛盾或关键信息缺失,最多追问5个修复问题 9. 根据访谈结果,生成完整Skill包: a. 写一句精确的name和description(description必须包含具体触发词和排除条件) b. 按以下骨架生成SKILL.md正文: - Goal(目标) - When to use(触发条件) - Do not use(排除条件) - Inputs to collect(需要收集的信息) - Procedure(执行步骤,含决策分支) - Output format(输出格式) - Definition of done(完成标准,每条可打勾验证) - Failure handling(异常处理) - Additional resources(配套文件引用,明确列出每个配套文件的路径和用途) c. 创建文件夹结构并写入所有文件: - SKILL.md 放在根目录 - 用户上传的参考文档放入 references/ - 用户上传的示例文件放入 examples/ - 用户上传的脚本放入 scripts/ - 用户上传的素材资源放入 assets/ - 对「待补充」的目录,创建空目录并写入 README.md 说明需要补充什么 d. 生成5条测试Prompt: - 2条应该触发 - 2条不应该触发 - 1条边界情况 10. ⚠️ 验证点:检查生成的Skill是否满足以下条件 - 12个问题的回答都有体现在最终Skill中 - description包含用户在第2题中描述的触发词 - description包含用户在第3题中描述的排除条件 - 完成标准与用户第4题的回答对齐 - 流程步骤可执行,没有模糊指令(不使用"帮助""支持""改善"等模糊动词) - 完成标准每一条都可以打勾验证 - 正文预计不超过500行 - SKILL.md 中 Additional resources 引用的文件路径与实际文件夹结构一致 如果不满足,修正后再继续 11. 根据当前环境能力,选择交付方式(三档降级):

    方式A:打包下载(首选) 适用环境:Claude Code、Cowork 等支持 Bash + 文件系统的环境 操作:将整个Skill文件夹打包为 .zip 压缩包,命名为 {skill-name}.zip,提供下载链接

    方式B:写入指定文件夹 适用环境:Cursor、Windsurf 等有文件写入能力但无法打包下载的环境 操作: - 询问用户希望将Skill文件夹保存到哪个路径(如 ~/.claude/skills/{skill-name}/) - 逐个创建目录和文件,直接写入用户指定的位置 - 完成后列出已创建的文件清单供用户确认

    方式C:纯文本输出(兜底) 适用环境:扣子、ChatGPT 等无文件系统操作能力的环境 操作: - 在对话中依次输出 SKILL.md 完整内容和所有配套文件内容 - 每个文件用明确的文件路径标题分隔,方便用户复制 - 输出文件夹结构树,告知用户手动创建目录并粘贴内容

    判断规则:优先尝试方式A,如果环境不支持 zip 命令则降级到方式B,如果连文件写入也不支持则降级到方式C。 也可以在第二轮确认环境后,直接根据用户选择的运行环境预判交付方式。

    12. 交付最终Skill包,附上关键设计决策的说明和文件清单

    生成SKILL.md的质量标准

    1. 用具体动作动词开头,不用"帮助""支持""改善"等模糊词 2. 触发条件用用户的自然表达,不用技术术语 3. 软性质量要求必须转化为可检查的规则 4. 正文只写AI不知道的信息——不要解释AI已知的概念 5. 正文控制在500行以内,超出部分拆到配套文件 6. 确保另一个AI看了也能直接执行,不需要额外解释 7. 不要堆砌身份设定(如"你是资深XX专家"),聚焦任务指令和流程约束

    输出格式

    最终交付物根据环境能力,以三种方式之一交付(zip压缩包 → 写入指定文件夹 → 纯文本输出)。 同时在对话中展示以下摘要信息:

    访谈简报

    <三轮问答 + 素材收集的结构化汇总>

    已解决的问题

    <消除的模糊点、做出的假设、解决的矛盾>

    文件包清单

    skill-name/
    ├── SKILL.md                    (核心技能文件)
    ├── references/                 (参考文档)
    │   ├── xxx-guide.md
    │   └── README.md              (如无文件,说明需要补充什么)
    ├── examples/                   (示例文件)
    │   ├── good-example.md
    │   ├── bad-example.md
    │   └── README.md
    ├── scripts/                    (辅助脚本,如果需要)
    │   └── README.md
    └── assets/                     (素材资源,如果需要)
        └── README.md
    
    注:只创建用户需求相关的目录。无内容的目录保留 README.md 占位,说明该目录的用途和待补充内容。

    最终SKILL.md

    <完整内容,已写入压缩包>

    配套文件说明

    | 文件路径 | 来源 | 用途说明 | |---------|------|---------| | references/xxx.md | 用户上传 | 风格参考 | | examples/good.md | AI生成 | 正例输出样本 | | ... | 待补充 | ... |

    测试Prompt

    | 编号 | Prompt | 预期结果 | |:---:|--------|---------| | 1 | ... | ✅ 应触发 | | 2 | ... | ✅ 应触发 | | 3 | ... | ❌ 不应触发 | | 4 | ... | ❌ 不应触发 | | 5 | ... | ⚠️ 边界情况,说明预期行为 |

    设计决策说明

    <为什么这样设计description、为什么这样划分边界、为什么选择这个文件结构、为什么选择这些配套文件>

    完成标准

    1. 12个访谈问题都有回答或合理推断 2. 矛盾点已解决或已明确标注为假设 3. 产出了完整的SKILL.md,可直接复制到文件夹使用 4. 用户上传的配套素材已归入对应目录 5. 未提供的配套素材目录已创建 README.md 占位说明 6. SKILL.md 中 Additional resources 的文件路径与实际文件夹结构一致 7. 所有文件已通过方式A(zip压缩包)、方式B(写入指定文件夹)或方式C(纯文本输出)交付给用户 8. 包含5条测试Prompt及预期结果 9. description足够精确,能被准确触发 10. 所有完成标准都是可打勾验证的