VSC 创作入口
把用户的创作需求交给一个匹配且可用的 VSC 技能,在当前对话中直接完成工作。用户不必复制另一段调用提示词。
恢复需求
先读当前对话,保留用户已经给出的主体、角色、参考图职责、风格、数量、比例、输出位置和限制。优先识别最终交付物:提示词、实际图片、视频工作流或成片、已有图片归档。不要要求用户重复输入。
- 只有
/vsc或$vsc且没有任务上下文:简短介绍已可用的能力类别,例如人像摄影、风格探索、东方幻想、旅行视频和图片归档,然后问用户想做什么作品。不要默认生成,也不要列出所有英文技能名。 - 用户问“有什么”“怎么用”:展示与当前可用目录相符的简短导航和两三个输入示例。此时只介绍,不执行创作。
- 有未完成任务:根据最新要求继续;已有任务已完成且没有新目标时,不自行发起后续工作。
发现候选
定位本文件所在目录,运行随技能安装的脚本(无需联网,只依赖 Python 3.10+):
python3 "<vsc 技能目录>/scripts/discover_skills.py"
脚本使用 VSC 目录快照 限定成员,返回能力简介、交付类型、区分信息、状态及真实 SKILL.md 路径。它不负责语义评分,也不会加载全部技能正文或执行创作。
available:定义文件可读;不代表图像工具、Eagle 或视频服务已经可用,实际依赖由入选技能检查。missing/invalid:不能当作可用技能调用。conflict:发现同名不同内容的安装,不任意选一个。先用当前宿主明确提供的技能路径定位;必要时用--root "<该技能的父目录>"重新发现。无法消除且影响执行时,简短询问要用哪个安装。needs_review: true:安装内容与目录快照不同。筛选时先读取该候选的实际 frontmatter;如果边界仍不明确,再读正文,以实际内容为准。
--root 可重复指定,并替换默认搜索范围;用于已知的项目、插件或自定义安装位置。目录里没有的技能不能因名称相似而纳入 VSC。宿主目录和本地目录的同名技能,须核对真实路径。
Python 不可用或脚本失败时,读取目录快照,并用当前宿主提供的技能路径或本技能同级目录逐一确认相关候选。无法定位定义就说明缺少安装;不安装依赖、不联网拉取技能来完成路由。
选择一个技能
先比较目录元数据,只对最接近的候选按需读正文:
- 用户显式指定且匹配的技能优先。若该技能与交付明显冲突,说明冲突,保留原始要求,不擅自替换。
- 比较交付物、处理对象、已有输入和明确排除范围。关键词只用于发现,不能独自决定。
- 具体创作场景优先于泛化主题。例如“角色 + 泳装 + 朋友视角 + 一张照片”优先匹配夏季 POV;“角色 COS + 遮挡观察 + 十组提示词”匹配角色抓拍。普通人像在泳池边不自动变成泳装 POV。
- 一次只选一个主技能。已有完整工作流由该技能负责,不拆成多个技能,也不自动追加生图、视频或归档。
- 当一个缺口会改变选择或交付时,只问一个针对性问题。可以合理补全的创作细节交给入选技能,不先做长问卷。
不要为了“有得选”把请求塞入范围不符的技能。最匹配技能未安装时说明其名称和缺口;只有另一技能确实覆盖原始要求才可替代。没有匹配项时直说当前 VSC 尚未覆盖,并可简短给出普通协助方向,不冒充技能执行。
加载并直接执行
完整读取入选技能的 SKILL.md,随后按其指引读取所需引用,使用实际技能目录解析资源和脚本路径。保留当前需求与素材,执行该技能的工作流程;不要仅输出推荐后结束,也不要让用户重发任务。
默认用一句话说明采用的方向,然后开始工作;“只给提示词”等格式要求优先,省略路由说明。
- 用户只要提示词:只交付提示词,不调用生图或视频服务。
- 用户要实际图片:检查入选技能是否支持;仅产出提示词的技能不视为覆盖图片交付。不通过换一个错误风格的技能解决能力缺口。
- 技能支持生图但工具不可用:说明限制,交付可用提示词时标明这是替代产物,不声称已生成图片。
- 用户只要 Vlog 方案或视频提示词:尊重这个交付范围,不启动整条成片工作流。
- 已有图片归档:保留真实来源、文件和原始提示词,不生成新图补数。
- 多阶段复合要求:保留全部要求,不默默删减;第一版不做通用跨技能编排。一个技能无法覆盖且当前优先步骤不清时,询问先完成哪一项。
用户授权和宿主权限继续适用,路由不增加付款、发布、删除或对外沟通权限。入选技能已有必要输入或授权关口时,在对应步骤处理,不在入口重复询问。
技能完成后直接交付结果。用户继续修改同一作品时留在该技能;目标发生实质变化再重新判断。防止入口与下游之间相互转回、重复路由。