> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agentスキル

> Agentスキルをいつ・どのように使うか—積極的 vs 反応的パターン、選択的な活用、セキュリティ、スキルとMCPサーバーの違い—を理解する。

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block font-sans whitespace-pre-wrap break-words">
      <div className="pr-7">
        {children}
      </div>
    </CodeBlock>;
};

export const YouTubeEmbed = ({videoId, title = "YouTube video", startAt}) => {
  if (!videoId) {
    return null;
  }
  let url = "https://www.youtube.com/embed/" + videoId;
  if (startAt) {
    url = url + "?start=" + startAt;
  }
  return <Frame>
      <iframe src={url} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen></iframe>
    </Frame>;
};

スキルはAgentに新しい能力を教えます。あなたの専門知識、好みのパターン、専門的な知識をAgentと共有することで、より良く、より一貫した結果を生み出せるようになります。

<YouTubeEmbed videoId="C5Al8KhUrZw" title="Agentスキルをマスターする：AI支援開発のゲームチェンジングフレームワーク" />

## スキルが重要な理由

Agentと構築するたびに、有用なコンテキストが生まれます：問題の解決策、設計上の決定、フレームワークの好み。しかし、そのコンテキストはチャットが終わると消えてしまいます。スキルはそれを保持します。

GSAPアニメーションスキルはAgentに特定のライブラリの正しい使い方を教えます。デザインシステムスキルは正確な色とスペースのルールを適用するよう保証します。バグ修正スキルは解決策をキャプチャして、Agentが同じ間違いを繰り返さないようにします。以前は一貫性のなかったタスクが信頼できるものになります。

スキルは[オープンスタンダード](https://agentskills.io/specification)でもあります。Replit Agentを含むあらゆるエージェントで動作するため、ツール間で持ち運ぶことができます。

## 積極的 vs 反応的スキル

スキルをいつ・どのように作成するかを考えるフレームワーク。両方のパターンを理解することで、より効果的になれます。

### 積極的スキル

積極的スキルは、構築を*始める前に*追加するものです。使いたいライブラリやパターンを調査し、それらのスキルを見つけるか作成してから、プロンプトを開始します。

**例：** 手書き風SVGアニメーションを使ったポートフォリオサイトを構築する前に、アニメーションライブラリを調査してGSAPを見つけます。GSAP Reactスキルをインストールしてから、Agentにアニメーションの構築をプロンプトします。Agentは最初から必要な専門知識を持っています—ライブラリのAPI、ベストプラクティス、一般的なパターンを理解しています。スキルなしでは、汎用的または不正確なものを生成するかもしれません。

このパターンが効果的な場合：

* 人気のあるライブラリだが、Agentが単独では上手くいかない細かいパターンがある場合
* プロジェクト全体で一貫したデザインの選択をしたい場合（タイポグラフィ、スペース、アニメーションスタイル）
* プロジェクトを開始していて、すでに技術的な方向性が分かっている場合

### 反応的スキル

反応的スキルは、問題を解決した*後に*作成するものです。問題に遭遇し、Agentと一緒にデバッグし、修正し、その解決策を再発しないようにキャプチャします。

**例：** モバイルアプリのキャンバスを構築中に、ズームインするにつれて悪化する画像のギザギザエッジに気づきます。Agentとのデバッグで、これがミニフィケーションエイリアシング—逆説的に、画像が縮小されるほど悪化するレンダリング問題—であることが判明します。修正を実装した後、Agentにスキルを作成するよう依頼します：

<AiPrompt>
  Create a skill that captures what we just learned about fixing minification aliasing. Include the root cause, the solution, and when this issue typically occurs so you can prevent it in the future.
</AiPrompt>

Agentは会話履歴を使ってプロジェクト固有のスキルを書きます。次に問題が発生したとき、スキルをAgentに示すだけで、最初からデバッグする必要がありません。

このパターンが効果的な場合：

* 非明白なバグを修正し、再発を防ぎたい場合
* デバッグセッション中にアプリのアーキテクチャについて何かを学んだ場合
* 発見に大きな労力がかかった解決策をエンコードしたい場合

## スキルを選択的に使う

スキルは、友人にアパートへの道順を教えるのと似ています。ターゲットを絞った指示リストは機能します。ドキュメントのバインダーは機能しません—誰もそれを読む時間がなく、重要な詳細が失われます。

同じことがAgentにも当てはまります。スキルを追加しすぎると、Agentが混乱する可能性があります。特定のプロジェクトに対してどのスキルを有効にするかを慎重に選び、不要になったものは削除しましょう。

<Note>
  スキルは一般的なガイダンスよりも、具体的で繰り返し可能なパターンをキャプチャするときに最も効果的です。具体的なワークフロー、確立された規約、実証済みの解決策に焦点を当てましょう。
</Note>

## スキルを上手に作成する

スキルは複雑で精巧なものになりえます。効果を保つためのいくつかの原則：

* **ハッピーパスを説明する。** Agentに正しいやり方を伝えてください。してはいけないことのリストを書いていると気づいたら、それはアプローチ全体を再考すべきサインです。
* **できる限りスクリプトを使う。** 決定論的なスクリプトはAgentの思考負担を減らし、毎回同じステップを考えさせるよりも信頼性が高まります。
* **リンクアウトする。** スキルを他のMarkdownファイルへのポインタとして構成し、Agentが目の前のタスクに必要なものだけを取り込めるようにします。
* **定期的にベンチマークする。** スキルが実際に機能しているか確認するのはこれが唯一の方法です。
* **自分で書く。** 目標は簡潔で意図的なコンテキストであり、スキルを一括生成するのではなく手書きすることで達成できます。Agentにドラフト作成を手伝ってもらうことはできますが、すべての行が存在意義を持つよう自分で磨いてください。
* **ベスポーク（特注）に保つ。** コードのクリーンさやセキュリティのための汎用スキルを作らないでください—それらはすでにAgentに組み込まれています。スキルはあなたやあなたの組織に特有のものをキャプチャすべきです。

スキルの失敗は診断可能なパターンに沿って起こります：

* **スキルが発動すべきでないときに発動する。** 説明が広すぎます。絞り込み、使用しない場合を明記してください—「ブログ投稿やヘルプドキュメントには使用しない」という否定的な指示は、肯定的な指示よりも有用なことが多いです。
* **スキルが発動するが出力がおかしい。** 指示が汎用的すぎます。「プロフェッショナルにする」のような曖昧なガイダンスを、具体的なルール（正確な名前、具体的な要件、避けるべき明示的な事項）に置き換えてください。
* **2つのスキルが競合する。** 両方が同じタスクで発動しないよう説明を修正してください。競合はほぼ常に指示の問題ではなく、スコープの問題です。

スキルは古くなります。実際にメンテナンスするドキュメントとして扱ってください。

## スキルをワークスペース全体に適用する

これまでの内容はすべて単一プロジェクトのスキルに適用されます。チームでは、ワークスペース全体でAgentをカスタマイズして、全員が同じ規約から始められるようにすることもできます。ワークスペースのカスタマイズには2つの部分があります：

* **カスタム指示** — すべてのプロジェクトとすべてのメッセージで、誰かがプロンプトを入力する前にAgentのコンテキストに注入される常時オンのルール。「認証情報を平文で保存しない」など、本当に普遍的なルールのために予約してください。毎ターン読み込まれるため、すべての単語がAgentのコンテキスト予算の一部を使います—短く保ってください。
* **ワークスペーススキル** — 上記で説明したのと同じスキルで、ワークスペース内の全員が利用でき、一元管理されます。関連するタスクが呼び出すまでほぼコストがかからないため、出力を劣化させることなく多くを提供できます。

何をどこに置くかを決める簡単な方法：誰が何を構築していても守るべきルールはカスタム指示、特定の種類のタスクにのみ関係する場合はスキルです。

カスタム指示とワークスペーススキルの設定方法、および管理できる人については、[Agentカスタマイズ](/references/agent/agent-customization)をご覧ください。

## セキュリティについて

ReplitのSkillsパネルのスキルは安全性が審査されています。しかし、スキルはどこからでもインストールできます—スキルは誰でも貢献できる[オープンソースリポジトリ](https://github.com/vercel-labs/skills)から来ます。

スキルはAgentが従う指示なので、悪意のあるスキルがAgentにプロジェクトから機密データを持ち出すよう指示する可能性があります。外部ソースからスキルをインストールする前に：

1. **ファイルを開く。** スキルはただのMarkdownです。使用する前に `/.agents/skills/` の内容を読んでください。
2. **ソースを確認する。** スキルが信頼できるリポジトリや作者から来ていることを確認してください。
3. **指示内容を確認する。** スキルが疑わしい外部URLを参照したり、機密情報を要求したりしていないことを確認してください。

<Warning>
  外部ソースからのスキルは常にインストール前に確認してください。ReplitのSkillsパネルのスキルは審査されていますが、CLIでインストールされたりインターネットからコピーされたスキルはそうではありません。
</Warning>

## スキル vs MCPサーバー

スキルとMCPサーバーはエージェントを拡張する2つの主な方法で、それぞれ異なる目的を持ちます。

**スキル**はコンテキスト効率的です。スキルが呼び出されるまでは、簡単な説明だけが読み込まれます。スキルの使用場面：

* ワークフローと規約（「デプロイの方法」、「コードレビューチェックリスト」）
* リファレンス資料（APIパターン、スタイルガイド、デザインシステム）
* 再利用可能なプロンプトと専門知識（アニメーションライブラリ、フレームワークパターン）

**MCPサーバー**はコンテキストが重いです。すべてのツールの説明が最初から読み込まれるため、追加しすぎると出力品質が低下する可能性があります。MCPサーバーの使用場面：

* 外部サービスへの接続（Notion、Linear、Figma）
* APIアクセスが必要なアクション
* 指示するのではなく、実際に*何かをする*ツール

重要な違い：スキルはAgentが*どのように*動作すべきかを定義します。MCPサーバーはAgentが*何に*アクセスできるかを定義します。どちらもReplit Agentのようなコーディングエージェントと、自分で構築するエージェントの両方で機能します。

## 次のステップ

<CardGroup cols={2}>
  <Card title="Agentカスタマイズ" icon="sliders" href="/references/agent/agent-customization">
    チーム全体のワークスペース共通のカスタム指示とスキルを設定する。
  </Card>

  <Card title="スキルを使う" icon="puzzle-piece" href="/build/use-agent-skills">
    メッセージにスキルを添付したり、プロジェクトにインストールしたり、スキルから新しいプロジェクトを開始したりする。
  </Card>

  <Card title="Agentスキルリファレンス" icon="book" href="/references/agent/skills">
    スキルの構造と仕組みに関する技術的な詳細。
  </Card>

  <Card title="ReplitのMCPサーバー" icon="server" href="/references/mcp/overview">
    モデルコンテキストプロトコルを通じてAgentを外部サービスやツールに接続する。
  </Card>

  <Card title="効果的なプロンプト" icon="wand-magic-sparkles" href="/learn/effective-prompting">
    より明確な指示を書いて、Agentが最初の試みでより近い結果を出せるようにする。
  </Card>
</CardGroup>
