1仕組みと動作原理
仕組みは「統合エントリ + ローカル検出スクリプト + カタログスナップショット」:まずスクリプトを使用してローカル環境で実際のインストールを特定し、SKILL.md の判定基準に従ってスキルを1つ選択した後、その SKILL.md を完全に読み込んで同一会話内で直接実行します。
把用户的创作需求交给一个匹配且可用的 VSC 技能,在当前对话中直接完成工作。
カタログスナップショットによってルーティング可能なメンバーが限定され、スクリプトはファイルシステムの検出のみを行い、セマンティックスコアリングや本文の読み込みは行いません。
脚本使用 [VSC 目录快照](references/catalog.json) 限定成员,返回能力简介、交付类型、区分信息、状态及真实 `SKILL.md` 路径。它不负责语义评分,也不会加载全部技能正文或执行创作。
利用可能性の判定は sha256 の比較によって行われます。同一ディレクトリ内で同名かつ内容が異なる複数のインストールが存在する場合は conflict としてマークされ、ランダムに1つが選ばれることはありません。
item.update(status="conflict", paths=[hit["path"] for hit in found])
インストール内容がカタログスナップショットと一致しない場合は needs_review を付与し、古いカタログ情報に基づくルーティングを避けるため、まず実際の frontmatter を読み込んで機能をキャリブレーションするようエントリに促します。
needs_review=found[0]["sha256"] != entry["sha256"]
選択の判定基準は「成果物/処理対象/既存の入力/除外範囲」に基づいて比較され、キーワード誤認によるルーティングミスを防ぐため、キーワードは検出目的のみに使用されます。
2. 比较交付物、处理对象、已有输入和明确排除范围。关键词只用于发现,不能独自决定。
一度に選択されるメジャーなスキルは1つのみであり、汎用的な複数スキルのオーケストレーションは行わず、画像生成/動画生成/アーカイブなどを自動で追加することもありません。
4. 一次只选一个主技能。已有完整工作流由该技能负责,不拆成多个技能,也不自动追加生图、视频或归档。
選定後は必ずロードして実行する必要があります。選ばれたスキルの SKILL.md を完全に読み込み、その指示に従ってスクリプトパスを解決した上で、方針を1行で説明してから作業を開始し、ユーザーにタスクを再送信させません。
完整读取入选技能的 `SKILL.md`,随后按其指引读取所需引用,使用实际技能目录解析资源和脚本路径。
ルーティングによって権限が拡張されることはなく、エントリポイントで下流の承認ゲートを重複して尋ねることもありません。
用户授权和宿主权限继续适用,路由不增加付款、发布、删除或对外沟通权限。
フォールバックパスが固定化されています。Python が利用できない、またはスクリプトが失敗した場合は、カタログスナップショットの読み取りに切り替え、ホストパスを1つずつ照合します。依存関係のインストールやネットワーク経由でのスキル取得は明示的に禁止されています。
Python 不可用或脚本失败时,读取目录快照,并用当前宿主提供的技能路径或本技能同级目录逐一确认相关候选。
デフォルトの検索範囲は限定的であり、ディスク全体を再帰的に走査することはありません。エントリと同階層のディレクトリ、直近のプロジェクトのスキルディレクトリ、~/.agents/skills、Codex skills(CODEX_HOME を尊重)、~/.claude/skills です。
roots.extend([home / ".agents" / "skills", codex_home / "skills", home / ".claude" / "skills"])
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | python3(3.10+,仅标准库;缺失时入口降级为读目录快照) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: python3 "<vsc 技能目录>/scripts/discover_skills.py"(SKILL.md で指定された唯一のスクリプト。純粋な標準ライブラリを使用し、ファイルシステムに対しては読み取り専用)
5二重目の独立検証
- [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,用户运行入口不需要安装它』,不构成入口运行期依赖。
6結論
b9f7fae71ecb9783…