vsc
Unified entry point for VSC creative skills. Use when the user invokes /vsc, $vsc, asks what VSC can do, does not know which VSC skill to pick, or wants to automatically select a VSC skill based on current creative requirements. Selects an available skill based on goals, deliverables, and existing materials, and executes it directly; does not re-take control if the user has already explicitly called a specific skill.
1How It Works & Mechanism
The mechanism is 'unified entry point + local discovery script + catalog snapshot': first locate real local installations via script, select a skill according to SKILL.md criteria, then fully read its SKILL.md and execute it directly within the same conversation.
把用户的创作需求交给一个匹配且可用的 VSC 技能,在当前对话中直接完成工作。
The catalog snapshot restricts routable members; the script only performs filesystem discovery without semantic scoring or loading body content.
脚本使用 [VSC 目录快照](references/catalog.json) 限定成员,返回能力简介、交付类型、区分信息、状态及真实 `SKILL.md` 路径。它不负责语义评分,也不会加载全部技能正文或执行创作。
Availability determination is completed via sha256 comparison: multiple installations with the same name but different content under the same directory are flagged as conflict, rather than picking one arbitrarily.
item.update(status="conflict", paths=[hit["path"] for hit in found])
When the installed content mismatches the catalog snapshot, it is marked as needs_review, prompting the entry point to read the actual frontmatter first to calibrate capabilities and avoid routing with stale catalog info.
needs_review=found[0]["sha256"] != entry["sha256"]
Selection criteria compare 'deliverables / target subjects / existing inputs / exclusions'; keywords are used only for discovery to prevent keyword-based routing misjudgments.
2. 比较交付物、处理对象、已有输入和明确排除范围。关键词只用于发现,不能独自决定。
Selects only one primary skill at a time; explicitly avoids general multi-skill orchestration and does not automatically append image generation, video generation, or archiving.
4. 一次只选一个主技能。已有完整工作流由该技能负责,不拆成多个技能,也不自动追加生图、视频或归档。
Must load and execute once selected: read the selected skill's SKILL.md completely, dereference and resolve script paths per its guidelines, explain the direction in one sentence, and start working without making the user resend tasks.
完整读取入选技能的 `SKILL.md`,随后按其指引读取所需引用,使用实际技能目录解析资源和脚本路径。
Permissions do not expand due to routing, nor are downstream authorization checkpoints redundantly prompted at the entry point.
用户授权和宿主权限继续适用,路由不增加付款、发布、删除或对外沟通权限。
Hardcoded fallback path: if Python is unavailable or the script fails, fall back to reading the catalog snapshot and verifying host paths one by one; installing dependencies or fetching skills over the network is strictly forbidden.
Python 不可用或脚本失败时,读取目录快照,并用当前宿主提供的技能路径或本技能同级目录逐一确认相关候选。
Default search scope is limited and does not recursively scan the entire disk: sibling directory of the entry point, skill directories of the nearest project, ~/.agents/skills, Codex skills (respecting CODEX_HOME), and ~/.claude/skills.
roots.extend([home / ".agents" / "skills", codex_home / "skills", home / ".claude" / "skills"])
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | python3(3.10+,仅标准库;缺失时入口降级为读目录快照) |
4Recommended Governance & Evidence
- scripts/: Execute local scripts or commands: python3 "<vsc skill directory>/scripts/discover_skills.py" (the only script specified by SKILL.md; uses standard library only, read-only on filesystem)
5Second-Pass Verification
- [ok] 脚本行为 vs SKILL.md 描述的一致性 — 四态判定 available/missing/invalid/conflict 与 needs_review 在 discover() 中逐一可实现:found 空则 missing、errors 非空则 invalid、哈希多于一个则 conflict、否则 available 并比对 sha256。
- [ok] catalog.json 成员面与「vsc 不入册」验证 — 实读 catalog.json:schema_version=1,skills 数组含 7 个叶子技能(character-candid-photography / codex-image-to-eagle / rare-style-explorer / shan-ze-school / summer-boyfriend-pov / vibeshot-candid-photography / virtual-couple-travel-vlog),无 vsc;load_catalog() 亦显式拒绝 name == "vsc"。
- [ok] 搜索范围是否真如文档所述(不递归全盘) — default_roots() 只加入入口同级目录、最近项目的 .agents/.codex/.claude 下 skills、~/.agents/skills、CODEX_HOME/skills、~/.claude/skills;无 os.walk/rglob 全盘扫描。
- [ok] 外部依赖条目反查 — 脚本 import 仅标准库;无 requirements、无网络库;README 亦说明『运行技能发现脚本需要 Python 3.10+,无需额外 Python 包』。
- [ok] 安全结论反例搜索(写盘/子进程/网络) — 该目录 4 个文件逐 token 扫描:无 open(...,'w')/write_text/mkdir、无 subprocess/os.system、无 socket/urllib/requests;唯一 env 读取是 CODEX_HOME。
- [ok] 路由边界说法与其他技能是否闭环 — vsc/SKILL.md 的路由示例(泳池边喝咖啡走生活抓拍、角色 COS n=10 走角色抓拍、泳装朋友视角单图走夏季 POV)与三个被指向技能各自的 vsc-distinction 描述一致,双向闭环。
- [ok] 『不联网安装技能』承诺是否与仓库其它脚本冲突 — vsc 目录内无安装类代码;tools/build_vsc_catalog.py 是维护者工具(需 PyYAML),README 明确『维护工具需要 PyYAML,用户运行入口不需要安装它』,不构成入口运行期依赖。
6Verdict & Scenarios
b9f7fae71ecb9783…