View a markdown version of this page

Skills - Amazon Grundgestein AgentCore

Skills

Agent Skills sind Bündel von Markdown und Skripten, die dem Agenten Fachwissen auf Abruf vermitteln. Jeder Skill folgt dem offenen AgentSkills.ioStandard: eine SKILL.md Datei mit YAML-Frontmaterial (Name, Beschreibung) und Markdown-Anweisungen sowie optionalen scripts/ Verzeichnissen und Verzeichnissen. references/ assets/

Skills verwenden progressive Offenlegung: Metadaten werden im Voraus in die Systemeingabeaufforderung eingefügt (~100 Tokens), und vollständige Anweisungen werden bei Bedarf über einen Tool-Aufruf geladen. Dadurch wird vermieden, dass das Kontextfenster mit Anweisungen überflutet wird, die der Agent möglicherweise nicht benötigt.

Der Harness unterstützt vier Kompetenzquellen:

Quelle Description Wann sollte dies verwendet werden?

AWS Fähigkeiten

Pre-built Fähigkeiten für AWS Dienste aus dem AWS Agent Toolkit. Mit Glob-Mustern aktivieren.

Sie benötigen vorgefertigtes AWS Fachwissen ohne jegliche Einrichtung.

Git (HTTPS)

Klonen Sie einen Skill aus einem beliebigen öffentlichen oder privaten Git-Repository. Unterstützt Unterverzeichnisse.

Sie möchten auf Fähigkeiten von GitHub, oder einem beliebigen Git-Host verweisen GitLab, ohne sie auf S3 hochzuladen.

Amazon S3

Rufen Sie mithilfe der Ausführungsrolle einen Skill aus einem kundeneigenen S3-Bucket ab.

Sie möchten die volle Kontrolle über Versionierung, Verschlüsselung und Zugriffssteuerung haben.

Pfad (Dateisystem)

Verweist auf eine Fähigkeit, die bereits im Harness-Dateisystem vorhanden ist (in das Container-Image integriert oder über InvokeAgentRuntimeCommand installiert).

Der Skill ist Teil Ihres Container-Images oder wurde zu Beginn der Sitzung installiert.

Skills werden einmal pro Sitzung beim ersten Aufruf abgerufen. Innerhalb einer Sitzung bleiben Skills über mehrere Aufrufe hinweg auf der Festplatte gespeichert. Wenn die VM abläuft und eine neue Sitzung gestartet wird, werden die Skills erneut abgerufen, um die Aktualität zu gewährleisten.

Sie können es skills als Standard für den Harness festlegen (über CreateHarness oderUpdateHarness) oder den Wert pro Aufruf überschreiben. Invoke-time Skills werden nach den Skills bei der Erstellung angehängt. Wenn beide eine Fertigkeit mit demselben Namen definieren, gewinnt die Version, bei der die Invoke-Time-Version verwendet wird.

Anmerkung

Um einem Harness interaktiv einen Skill hinzuzufügen, öffnen Sie die TUI, agentcore wählen Sie Hinzufügen, wählen Sie Harness, wechseln Sie zu den erweiterten Einstellungen und aktivieren Sie Skills. Der Assistent fordert Sie dann zur Eingabe der Skillquelle auf. Auf der Registerkarte Interaktiv unter Git und Amazon S3 unten finden Sie die Schritte pro Quelle.

AWS Skills

AWS Skills sind vorgefertigte Skills, die es Ihren Agenten ermöglichen, mit AWS Services zu interagieren. Sie sind hierarchisch organisiert und anhand von Glob-Mustern ausgewählt. Sehen Sie sich ihre Quelle an auf. GitHub

Kategorie Muster Typische Fähigkeiten

Kernkompetenzen

core-skills/*

EC2-, S3-, Lambda-, DynamoDB-, IAM-Operationen. CloudWatch

Analytische Fähigkeiten

specialized-skills/analytics-skills/*

Athena, Glue QuickSight, Data-Lake-Operationen.

Operative Fähigkeiten

specialized-skills/operations-skills/*

Problembehandlung, Diagnose, Protokollanalyse.

Fähigkeiten im Umgang mit Speicherplatz

specialized-skills/storage-skills/*

S3, EFS, FSx, Backup-Operationen.

Alle aktivieren AWS Fähigkeiten

Beispiel
AWS CLI/boto3
aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "${ROLE_ARN}" \ --skills '[{"awsSkills": {}}]'

Oder zum Zeitpunkt des Aufrufs:

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"awsSkills": {}}], messages=[{"role": "user", "content": [{"text": "List my EC2 instances and their status."}]}], )

Fähigkeiten nach Kategorie aktivieren

Verwenden Sie Glob-Muster, um bestimmte Fähigkeitskategorien zu aktivieren:

Beispiel
AWS CLI/boto3
aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "${ROLE_ARN}" \ --skills '[{"awsSkills": {"paths": ["core-skills/*", "specialized-skills/operations-skills/*"]}}]'

Aktivieren Sie eine einzelne spezifische Fähigkeit

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."}]}], )

Kombinieren Sie mehrere Muster

skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
Anmerkung
  • Pfade müssen relativ sein (kein führendes / oder..). Absolute Pfade und Pfaddurchquerung werden abgelehnt.

  • Wenn ein Glob-Muster keinen Fähigkeiten entspricht, schlägt der Aufruf mit einem beschreibenden Fehler fehl.

  • Mehrere awsSkills Einträge in derselben Payload werden zusammengeführt.

Git-Fähigkeiten (HTTPS)

Klonen Sie einen Skill aus einem beliebigen öffentlichen oder privaten Git-Repository. Unterstützt Unterverzeichnisse innerhalb von Monorepos mithilfe von Sparse Checkout.

Beispiel
AWS CLI/boto3

Öffentliches Repositorium:

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"git": {"url": "https://github.com/anthropics/skills", "path": "skills/docx"}}, ], messages=[{"role": "user", "content": [{"text": "Summarize the attached DOCX file."}]}], )

Privates Repository (erfordert ein in AgentCore Identity gespeichertes persönliches Zugriffstoken):

skills=[ { "git": { "url": "https://github.com/my-org/internal-skills", "path": "excel", "auth": { "credentialArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:token-vault/default/apikeycredentialprovider/my-github-pat" }, } } ]
AgentCore CLI

Hängen Sie einen Skill aus einem öffentlichen Git-Repository mit anagentcore add skill. Wird verwendet--git-path, um einen einzelnen Skill aus einem Unterverzeichnis abzurufen:

agentcore add skill --harness my-harness \ --git https://github.com/anthropics/skills \ --git-path skills/docx agentcore deploy

Übergeben Sie für ein privates Repository --credential den Namen eines API-Schlüssels in Ihrem Projekt, das ein persönliches Zugriffstoken enthält (--usernameoptional, Standardoauth2):

agentcore add skill --harness my-harness \ --git https://github.com/my-org/internal-skills \ --git-path excel \ --credential my-github-pat agentcore deploy
Anmerkung

Entferne einen Skill, der dieselben Quell-Flags agentcore remove skill verwendet. Verwenden Sie agentcore invoke --skills <sources> (durch Kommas getrennte Pfade, s3:// URIs oder https:// Git-URLs), um Skills für einen einzelnen Aufruf zu überschreiben, ohne den Harness zu ändern. Die Git-Authentifizierung wird bei der Invoke Override nicht unterstützt.

Interactive

Fügen Sie in der TUI über den Assistenten Hinzufügen → Harness einen Git-Skill zu einem Harness hinzu.

  1. Gehen Sie zu den erweiterten Einstellungen, wechseln Sie zu Skills und drücken Sie die Leertaste, um sie zu aktivieren, und drücken Sie dann die Eingabetaste.

    Erweiterte Einstellungen, wenn Skills aktiviert sind
  2. Wählen Sie Git als Skillquelle aus.

    Quelltyp des Skills: Path, S3 oder Git
  3. Geben Sie die HTTPS-Repository-URL ein. Der Assistent fordert Sie dann zur Eingabe eines optionalen Unterverzeichnispfads, eines optionalen Berechtigungsnachweises für private Repositorys und eines optionalen Benutzernamens auf.

    Geben Sie die Git-Repository-URL ein

Bestätigen Sie den Assistenten und führen Sie ihn dann aus, agentcore deploy um die Anwendung durchzuführen.

  • url(erforderlich) — HTTPS-URL des Git-Repositorys.

  • path(optional) — Unterverzeichnis innerhalb des Repos, das den Skill enthält. Wenn es weggelassen wird, wird das Repository-Stammverzeichnis verwendet.

  • auth.credentialArn(optional) — ARN eines API-Schlüsselanmeldeanbieters, der ein persönliches Zugriffstoken für private Repos besitzt.

  • auth.username(optional) — Git-Benutzername, standardmäßig. oauth2

Der Git-Abruf muss innerhalb von 60 Sekunden abgeschlossen sein. Wenn das Repository Internetausgänge erfordert, stellen Sie sicher, dass Ihre VPC über ein NAT-Gateway verfügt (gleiche Anforderung wie Remote-MCP-Server und benutzerdefinierte Container-Pulls).

Amazon S3 S3-Fähigkeiten

Rufen Sie einen Skill aus einem kundeneigenen S3-Bucket ab. Verwendet die Anmeldeinformationen der Harness-Ausführungsrolle.

Beispiel
AWS CLI/boto3
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"s3": {"uri": "s3://my-skills-bucket/skills/company-style/"}}, ], messages=[{"role": "user", "content": [{"text": "Draft a summary following our style guide."}]}], )
AgentCore CLI

Hängen Sie einen Skill aus S3 an mitagentcore add skill --s3:

agentcore add skill --harness my-harness \ --s3 s3://my-skills-bucket/skills/company-style/ agentcore deploy

Die Ausführungsrolle benötigt s3:GetObject und befindet s3:ListBucket sich auf dem Bucket. Siehe Sicherheit und Zugriffskontrollen.

Interactive

Fügen Sie in der TUI mithilfe des Assistenten Hinzufügen → Harness einen S3-Skill zu einem Harness hinzu. Gehe zu den erweiterten Einstellungen, aktiviere Skills with Space und wähle S3 als Quelle aus (diese gemeinsamen Schritte findest du auf dem Tab Git Interactive).

  1. Geben Sie die S3-URI des Skill-Verzeichnisses ein.

    Geben Sie den S3-URI für den Skill ein

Bestätigen Sie den Assistenten und führen Sie ihn dann aus, agentcore deploy um ihn zu bewerben.

  • uri(erforderlich) — S3-URI, die auf das Skill-Verzeichnis verweist (z. B.s3://bucket/prefix/).

  • Die Ausführungsrolle muss über s3:GetObject s3:ListBucket Berechtigungen für den Bucket verfügen. Siehe Sicherheit und Zugriffskontrollen.

  • Jeder S3-Skill muss 1 GB oder weniger groß sein.

  • S3-Quellen funktionieren mit S3-VPC-Endpunkten (kein NAT-Gateway erforderlich).

Kenntnisse im Umgang mit Dateisystempfaden

Verweisen Sie auf eine Fähigkeit, die sich bereits im Harness-Dateisystem befindet. Sie ist in das Container-Image eingebrannt oder wurde beim Sitzungsstart über installiert. InvokeAgentRuntimeCommand

Beispiel
AWS CLI/boto3
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"path": ".agents/skills/xlsx"}], messages=[{"role": "user", "content": [{"text": "Find errors in the Excel files."}]}], )

In das Container-Image einbacken

Fügen Sie das Skill-Verzeichnis in Ihr benutzerdefiniertes Image ein:

COPY skills/xlsx .agents/skills/xlsx

Zu Beginn der Sitzung installieren

InvokeAgentRuntimeCommandVor dem ersten Agentenaufruf verwenden:

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"

Kombinieren Sie mehrere Skillquellen

Alle vier Quelltypen können in einer einzigen Nutzlast koexistieren:

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."}]}], )

Fehlerbehandlung

Bei allen Abruffehlern schlägt der Aufruf mit einem beschreibenden Fehler fehl. Fähigkeiten werden niemals stillschweigend übersprungen.

Fehler Fehlermeldung

S3-Zugriff verweigert

Failed to fetch skill: AccessDeniedException. Ensure execution role has s3:GetObject permission.

S3-Objekt wurde nicht gefunden

Skill source not found: s3://…​

Git-Klon schlägt fehl (Netzwerk)

Failed to clone skill: could not resolve host

Git-Authentifizierung verweigert

Failed to clone skill: authentication failed

Git-Pfad wurde im Repo nicht gefunden

Skill path 'x' not found in repository

Git-Timeout (60 s)

Failed to clone skill: operation timed out after 60s

Der Skill überschreitet das Limit von 1 GB

Skill exceeds 1GB size limit

AWS Der Fähigkeitspfad stimmt mit nichts überein

AWS skill path 'x' matched no skills

Pfaddurchquerung () ..

Invalid AWS skill path: must be a relative path without '..'

AWS Fähigkeitenpaket fehlt

AWS Skills are not available in this runtime (missing directory: /opt/amazon/skills)