44 lines
3.0 KiB
Markdown
44 lines
3.0 KiB
Markdown
# Skills(InstallSkill / ReadSkill / ListSkills)
|
||
|
||
Skill は「参照知識」(手順書・ガイド・規約)。実行テンプレートの Piece とは別物。
|
||
Piece の取得・編集には GetPiece / CreatePiece / UpdatePiece を使う。
|
||
|
||
利用可能なスキル一覧はシステムプロンプトの **Skills Index** に出る。本文を読むには
|
||
`ReadSkill({ name: "..." })` を呼ぶ。
|
||
|
||
> **重要: スキルを `Read` で直接読もうとしないこと。** スキルは workspace の外に
|
||
> 保存されており、`Read("skills/<name>/SKILL.md")` のようなパスは(ディレクトリ型を
|
||
> ReadSkill で展開する前は)存在しない。まず `ReadSkill({ name })` を呼ぶ。ディレクトリ型は
|
||
> それで `skills/<name>/` に展開され、以後は `skills/<name>/...` を `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 外参照拒否・サイズ/深さ上限は、スコープに関係なく常に適用される。
|