スキル
エージェントスキルSKILL.mdファイルと、オプションの scripts/、references/、および assets/ ディレクトリです。
スキルはプログレッシブ開示を使用します。メタデータはシステムプロンプトに事前に挿入され (約 100 トークン)、完全な指示はツール呼び出しを介してオンデマンドでロードされます。これにより、エージェントが必要としない可能性のある指示でコンテキストウィンドウがいっぱいになるのを回避できます。
ハーネスは 4 つのスキルソースをサポートしています。
| ソース | 説明 | どのようなときに使うか |
|---|---|---|
|
AWS スキル |
AWS エージェントツールキット |
セットアップなしで既製の AWS 専門知識が必要です。 |
|
Git (HTTPS) |
パブリックまたはプライベート Git リポジトリからスキルのクローンを作成します。サブディレクトリをサポートします。 |
S3 にアップロードせずにGitHub、GitLab、または任意の git ホストからスキルを参照したい。 |
|
Amazon S3 |
実行ロールを使用して、顧客所有の S3 バケットからスキルを取得します。 |
バージョニング、暗号化、アクセスガバナンスを完全に制御する必要があります。 |
|
パス (ファイルシステム) |
ハーネスファイルシステムに既に存在するスキルを参照します (コンテナイメージにベイクされているか、 経由でインストールされます |
スキルはコンテナイメージの一部であるか、セッションの開始時にインストールされています。 |
スキルは、最初の呼び出し時にセッションごとに 1 回取得されます。セッション内では、スキルは複数の呼び出しにわたってディスクに保持されます。VM の有効期限が切れて新しいセッションが開始されると、スキルが再取得され、鮮度が保証されます。
ハーネスのデフォルトskillsとして ( CreateHarnessまたは 経由UpdateHarness) を設定することも、呼び出しごとに上書きすることもできます。呼び出し時間スキルは、作成時間スキルの後に追加されます。両方が同じ名前のスキルを定義すると、呼び出し時間バージョンが優先されます。
注記
AWS スキル
AWS スキルは、エージェントが AWS サービスとやり取りできるようにする構築済みのスキルです。これらは階層的に整理され、glob パターンで選択されます。GitHub
| Category | パターン | 一般的なスキル |
|---|---|---|
|
コアスキル |
|
EC2、S3、Lambda、DynamoDB、CloudWatch、IAM オペレーション。 |
|
分析スキル |
|
Athena、Glue、QuickSight、データレイクオペレーション。 |
|
オペレーションスキル |
|
トラブルシューティング、診断、ログ分析。 |
|
ストレージスキル |
|
S3、EFS、FSx、バックアップオペレーション。 |
すべての AWS スキルを有効にする
例
カテゴリ別のスキルを有効にする
glob パターンを使用して、特定のスキルカテゴリを有効にします。
例
1 つの特定のスキルを有効にする
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk"]}}], messages=[{"role": "user", "content": [{"text": "Create a CDK stack for a Lambda function."}]}], )
複数のパターンを組み合わせる
skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
注記
-
パスは相対パスである必要があります (先頭
/または なし..)。絶対パスとパストラバーサルは拒否されます。 -
glob パターンがスキルと一致しない場合、呼び出しは記述的なエラーで失敗します。
-
同じペイロード内の複数の
awsSkillsエントリがマージされます。
Git (HTTPS) スキル
パブリックまたはプライベート Git リポジトリからスキルのクローンを作成します。スパースチェックアウトを使用してモノリポジトリ内のサブディレクトリをサポートします。
例
-
url(必須) - Git リポジトリの HTTPS URL。 -
path(オプション) - スキルを含むリポジトリ内のサブディレクトリ。省略すると、リポジトリルートが使用されます。 -
auth.credentialArn(オプション) - プライベートリポジトリの個人用アクセストークンを保持する API キー認証情報プロバイダーの ARN。 -
auth.username(オプション) - git username、デフォルトは ですoauth2。
Git フェッチは 60 秒以内に完了する必要があります。リポジトリにインターネット出力が必要な場合は、VPC に NAT ゲートウェイがあることを確認します (リモート MCP サーバーやカスタムコンテナプルと同じ要件)。
Amazon S3 スキル
顧客所有の S3 バケットからスキルを取得します。ハーネス実行ロールの認証情報を使用します。
例
-
uri(必須) - スキルディレクトリを指す S3 URI (例:s3://bucket/prefix/)。 -
実行ロールには、バケットに対する
s3:GetObjectおよび アクセスs3:ListBucket許可が必要です。「セキュリティとアクセス制御について」を参照してください。 -
各 S3 スキルは 1 GB 以下である必要があります。
-
S3 ソースは S3 VPC エンドポイントで動作します (NAT ゲートウェイは必要ありません)。
ファイルシステムのパススキル
ハーネスファイルシステムに既にあるスキルを参照します。コンテナイメージにベイクされているか、 経由でセッション開始時にインストールされますInvokeAgentRuntimeCommand。
例
コンテナイメージにベイクする
カスタムイメージにスキルディレクトリを含めます。
COPY skills/xlsx .agents/skills/xlsx
セッション開始時に をインストールする
最初のエージェント呼び出しInvokeAgentRuntimeCommandの前に を使用します。
agentcore invoke --exec --harness my-agent --session-id "$SESSION" \ "git clone --depth 1 https://github.com/anthropics/skills /tmp/skills && cp -r /tmp/skills/skills/xlsx .agents/skills/xlsx"
複数のスキルソースを組み合わせる
4 つのソースタイプはすべて 1 つのペイロードで共存できます。
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"awsSkills": {"paths": ["core-skills/aws-cdk"]}}, {"git": {"url": "https://github.com/anthropics/skills", "path": "skills/docx"}}, {"s3": {"uri": "s3://my-bucket/skills/company-style/"}}, {"path": ".agents/skills/xlsx"}, ], messages=[{"role": "user", "content": [{"text": "Help me with this project."}]}], )
エラー処理
すべてのフェッチ失敗は、説明的なエラーで呼び出しに失敗します。スキルがサイレントにスキップされることはありません。
| 失敗 | エラーメッセージ |
|---|---|
|
S3 アクセスが拒否されました |
|
|
S3 オブジェクトが見つかりません |
|
|
Git クローンが失敗する (ネットワーク) |
|
|
Git 認証が拒否されました |
|
|
Git パスがリポジトリに見つかりません |
|
|
Git タイムアウト (60 秒) |
|
|
スキルが 1 GB の制限を超えています |
|
|
AWS スキルパスが一致しません |
|
|
パストラバーサル ( |
|
|
AWS スキルバンドルがありません |
|
関連トピック
-
ツール - MCP サーバー、ゲートウェイ、ブラウザ、コードインタープリタを接続する
-
環境とファイルシステム - カスタムコンテナイメージと環境設定
-
メモリ - セッション間で会話を保持する
-
セキュリティとアクセス制御について - スキルソースの実行ロールポリシー