# Skills(InstallSkill / ReadSkill / ListSkills) Skill は「参照知識」(手順書・ガイド・規約)。実行テンプレートの Piece とは別物。 Piece の取得・編集には GetPiece / CreatePiece / UpdatePiece を使う。 利用可能なスキル一覧はシステムプロンプトの **Skills Index** に出る。本文を読むには `ReadSkill({ name: "..." })` を呼ぶ。 > **重要: スキルを `Read` で直接読もうとしないこと。** スキルは workspace の外に > 保存されており、`Read("skills//SKILL.md")` のようなパスは(ディレクトリ型を > ReadSkill で展開する前は)存在しない。まず `ReadSkill({ name })` を呼ぶ。ディレクトリ型は > それで `skills//` に展開され、以後は `skills//...` を `Read` で読める。 ## ツール - **InstallSkill** — スキルを保存する。通常は `content` に SKILL.md 全文(YAML frontmatter + 本文)を渡す。workspace 内に `SKILL.md` と `scripts/` 等を含むディレクトリを組み立て済みなら `sourcePath`(workspace 内の絶対パス)を渡す。`scope` は `user`(個人 or 共有ワークスペース)か `system`(全ユーザー共有・admin のみ)。 - **ReadSkill** — スキル本文を取得する。ディレクトリ型スキルは workspace の `skills/{name}/` に展開され、その相対パスでスクリプトを実行できる。 - **ListSkills** — インストール済みスキルの一覧を返す。 ## スコープと可視性(重要) `scope: 'user'` で保存したスキルの置き場所は、**いま作業しているワークスペースで決まる**。 AGENTS.md・メモリ・Piece と同じ考え方。 | 作業中のワークスペース | 保存先 | 見える人 | |---|---|---| | 共有ワークスペース(案件など) | `data/spaces/{spaceId}/skills/` | そのワークスペースのメンバー全員 | | 個人ワークスペース | `data/users/{userId}/skills/` | 自分だけ | つまり、共有ワークスペースで作ったスキルはメンバー間で共有され、Skills Index にも 全メンバー分が出る。個人ワークスペースで作ったスキルは自分専用で、他人には見えない。 `scope: 'system'` は作業中のワークスペースに関係なく常に全ユーザー共有(admin 専用)。 この挙動はワークスペーススコープの影響を受けない。 ### 共有時の注意 共有ワークスペースのスキルは他メンバーのジョブからも実行され得る(共有 Piece・ 共有 AGENTS.md と同じ信頼境界)。秘匿情報や自分専用の手順は、共有ワークスペースでは 保存しないこと。個人ワークスペースで作れば自分だけのものになる。 InstallSkill のセキュリティスキャン(高深刻度をブロック、中深刻度を警告)と sourcePath の workspace 外参照拒否・サイズ/深さ上限は、スコープに関係なく常に適用される。