# サードパーティスキル

> GitHub や GitLab の公開リポジトリからマイスキルにスキルをインポートし、リポジトリが変わったら更新して、インポートされなかったファイルを確認します。

**サードパーティスキル**は、GitHub や GitLab の公開リポジトリからインポートした[スキル](/ja/docs/capabilities/skills/)です。endue はリポジトリ内の `SKILL.md` ファイルを読み取り、それぞれを**マイスキル**に追加します。追加されたスキルは、あなたのアカウント内だけで使えます。

## 使いどころ

使いたい手順がすでに `SKILL.md` として公開リポジトリにある場合や、チームがスキルをリポジトリで管理し、そこで編集している場合に使います。

## リポジトリを追加する

<Steps>

1. 左サイドバーから**リソース › スキル**を開き、**サードパーティ**タブを選びます。

2. **リポジトリの URL を入力します**（例：`https://github.com/owner/repo`）。

   1つのフォルダーだけをインポートするには、フォルダーの URL（`…/tree/main/skills`）を貼り付けるか、**詳細設定**を開いて次の項目を入力します。

   - **ブランチまたはタグ**：空欄のままにすると、デフォルトブランチが使われます。
   - **リポジトリ内のパス**：このフォルダー配下の `SKILL.md` ファイルだけがインポートされます。リポジトリ全体をインポートするときは空欄のままにします。

3. **インポートを選択します**。結果には、インポートされたスキルの数と、インポートされなかったファイルがそれぞれの理由とともに表示されます。

4. **スキルをエージェントに紐付けます**。ほかのスキルと同じように、そのエージェントの[エージェントビルダー](/ja/docs/build/agent-builder/)で行います。インポートしただけでは、どのエージェントにもスキルは渡りません。

</Steps>

<Aside type="caution" title="インポートする内容を読んでください">
  サードパーティスキルは他の人が書いた指示で、あなたのエージェントはその指示に従います。紐付ける前にスキルを読み、再インポートで内容が変わったときも改めて確認します。
</Aside>

## インポートされるもの

パス配下にある `SKILL.md` 1つが、1つのスキルになります。ファイルは `name` と `description` を含むフロントマターで始まり、その後に指示が続きます。

```md
---
name: weekly-report
description: Writes the weekly status report from the issues closed this week.
---

1. List the issues closed since Monday.
2. Group them by project.
```

インポートされるのは `SKILL.md` のテキストだけです。スキルのフォルダーにあるスクリプト、参考ドキュメント、その他のファイルはインポートされません。`SKILL.md` の隣にあるスクリプトを実行したりファイルを読んだりするよう指示に書かれていても、エージェントはそれを実行できません。

インポートしたスキルは、**サードパーティ**バッジと、元の `SKILL.md` への**ソース**リンクが付いた状態で**マイスキル**に表示されます。あなたのアカウント内だけで使えます。

次の場合、ファイルは除外され、**インポートされなかったファイル**に一覧表示されます。

| 理由 | 対処 |
| --- | --- |
| `SKILL.md` ではない（スクリプト、参考ドキュメント） | なし。インポートされるのは `SKILL.md` だけです。 |
| シンボリックリンクである | ファイルそのものをリポジトリに置きます |
| 256KB を超えている | ファイルを短くします |
| リポジトリに50個を超えるスキルがある | パスを指定して、スキルの少ないフォルダーをインポートします |
| フロントマターがない、形式が正しくない、または `name` か `description` がない | ファイル先頭の `---` の行の間に、両方を追加します |
| 本文が空である | フロントマターの下に指示を追加します |
| UTF-8 のテキストではない | UTF-8 で保存します |
| ライセンスが再配布を認めていない | なし。インポートできません。 |

## リポジトリから更新する

リポジトリの**再インポート**を選択します。endue は、リポジトリの最新のコミットを、前回インポートしたときのコミットと比較します。

- **何も変わっていない場合**：何も起きず、その旨が表示されます。
- **`SKILL.md` が変更された場合**：そのスキルに新しいバージョンができます。ファイルが変わっていないスキルはそのままです。
- **`SKILL.md` が追加された場合**：新しいスキルとしてインポートされます。
- **`SKILL.md` が削除された場合**：そのスキルは**アーカイブ済み**になり、マイスキルから外されます。ファイルが戻ってくれば、次の再インポートで復元されます。

更新は、再インポートを選択したときにだけ行われます。endue がリポジトリを監視することはありません。

## リポジトリを削除する

**削除**すると、リポジトリと、そこからインポートしたすべてのスキルが削除されます。この操作は元に戻せません。

それらのスキルのどれかがエージェントに紐付けられている場合は、削除が拒否され、どのスキルがどのエージェントに紐付けられているかがダイアログに表示されます。[エージェントビルダー](/ja/docs/build/agent-builder/)でそれらのエージェントからスキルを外してから、もう一度削除します。

## 制限事項

- 対象は github.com と gitlab.com の公開リポジトリだけです。非公開のリポジトリやほかのホストには対応していません。ユーザー名、パスワード、トークン、ポート番号を含む URL は受け付けられません。
- 1アカウントあたり最大10リポジトリ。
- 1リポジトリあたり最大50スキル、`SKILL.md` 1つあたり最大256KB。
- リポジトリのダウンロードは、圧縮した状態で20MB までに制限されています。大きなリポジトリの場合は、スキルを小さなリポジトリにまとめて置きます。
- インポートされるのは `SKILL.md` のテキストだけです。スクリプトやその他のファイルはインポートされません。
- 再インポートを選択するまで、リポジトリの変更は何も反映されません。
- GitHub や GitLab がリクエストを制限している場合、インポートはその旨のメッセージとともに失敗します。数分後にもう一度試してください。

## 関連項目

<CardGrid>
  <LinkCard
    title="スキル"
    href="/ja/docs/capabilities/skills/"
    description="スキルとは何か、紐付けはどのように機能するか。"
  />
  <LinkCard
    title="エージェントビルダー"
    href="/ja/docs/build/agent-builder/"
    description="スキルをエージェントに紐付ける場所。"
  />
  <LinkCard
    title="セキュリティと権限"
    href="/ja/docs/account/security/"
    description="エージェントがアクセスできるもの、できないもの。"
  />
</CardGrid>
