Ein AgentCore-Projekt entdecken
Die Entdeckung ist der Durchlauf, dem jede andere Fähigkeit vertraut. Sie antwortet mit Beweisen – einer Datei und Zeile für jede Behauptung – und sagt „nicht aufgelöst“, wenn sie keine Antwort geben kann, denn eine falsche Region oder ein übersehener Besitzer macht jeden späteren Schritt falsch: Ein in Terraform erzeugtes Gateway für eine Ressource, die bereits der AgentCore-CLI gehört, wird bei jedem Deployment mit dieser konkurrieren.
${CLAUDE_SKILL_DIR} wird von der Skill-Laufzeit auf das Verzeichnis dieser Fähigkeit gesetzt. Verwende es wörtlich in jedem untenstehenden Befehl; die Skripte einer benachbarten Fähigkeit liegen unter ${CLAUDE_SKILL_DIR}/../<skill>/scripts/.
Ablauf
-
Entdecken.
python3 ${CLAUDE_SKILL_DIR}/scripts/discover.py <project>--jsonfür die strukturierte Form;--focus agentcore,app,auth,region,terraform,tracingum einzuschränken. Richte es auf das Repository-Root, nicht auf ein Unterverzeichnis, damit Modulaufrufe und Terragrunt-Stacks aufgelöst werden. -
Berichte die
Found-Blöcke in dieser Reihenfolge: AgentCore (Tore und Ressourcen), Anwendung (Framework, MCP-Server,/mcp-Routen und die dahinterliegende Lambda), Authentifizierung, Region (mit der Verfügbarkeitszeile), Terraform (Constraint, Lock, Terragrunt), Tracing. DannMissing, dann Erkenntnisse. -
Optionen. Der Abschnitt
Optionendes Berichts ist geordnet und enthält genau eine Empfehlung, jede mit ihrer Kostenstufe. Lies sie vor; erfinde keine neuen. -
Bestätige die nächste Fähigkeit mit
AskUserQuestion, rufe sie dann mitSkillauf. Die Entdeckung selbst schreibt nie. -
Verifiziere nichts: Die Entdeckung hat keine Seiteneffekte zu prüfen. Falls der Benutzer eine Tatsache korrigiert (eine Region, einen Besitzer), führe die Entdeckung mit der korrigierten Eingabe erneut aus, anstatt den Bericht in Prosa zu überschreiben.
Wonach es sucht
| Frage | Belege, die es liest | Detail |
|---|---|---|
| Ist irgendetwas auf AgentCore und wer besitzt es? | .tf, CDK-Quellen, agentcore.json, .bedrock_agentcore.yaml, boto3-Aufrufe | was-die-entdeckung-erkennt.md |
| Welches Framework und welcher MCP-Server? | imports, Dekorateure, registerTool, FastMCP | framework-signaturen.md |
| Welche Region, und was wird dort angeboten? | Provider-Blöcke, Variablen-Standardwerte, Terragrunt, tfvars | die Regionstabelle in lib/agentcore_skills/data/regions.json |
| Wie funktionieren Tokens heute? | aws_cognito_*, aws_apigatewayv2_authorizer | was-die-entdeckung-erkennt.md |
Der DSC0xx-Bereich
| Id | Schweregrad | Auslöser |
|---|---|---|
DSC001 | Fehler | nichts zu lesen: kein Terraform, kein Code, kein Container, kein Manifest |
DSC002 | Warnung | es konnte keine AWS-Region aufgelöst werden |
DSC003 | Warnung | eine Starter-Kit-Konfiguration (dessen CLI wird nicht mehr unterstützt) |
DSC004 | Warnung | AgentCore von mehr als einem Tool deklariert (Terraform, CDK, AgentCore-CLI) |
DSC005 | Warnung | ein Kerndienst wird in der aufgelösten Region nicht angeboten |
Entscheidungsregeln
- Der nicht-aliassierte Provider entscheidet die Region. Ein aliassierter
us_east_1-Provider für CloudFront-Zertifikate wird gelistet, nie ausgewählt. - Eine Route, die auf
/mcpendet, ist der MCP-Endpunkt. Die dahinterliegende Lambda wird über die Integration gefunden, nicht über den Namen. - Abwesenheit ist „nicht gefunden“, niemals „existiert nicht“. Muster können in TypeScript keine Negation beweisen; sage, wonach gesucht wurde.
Skripte
| Befehl | Macht | Exit-Codes |
|---|---|---|
scripts/discover.py <project> [--focus ...] [--json] | die Inventur- und Lückenanalyse | 0 nichts blockierend, 1 Fehler, 2 ungültiges Ziel |
Erledigungs-Checkliste
-
discover.pywurde gegen das Repository-Root ausgeführt und seine Ausgabe wurde gezeigt. - Die Region, ihre Belege und die Verfügbarkeitszeile wurden angegeben.
- Jeder AgentCore-Besitzer (Terraform, CDK, AgentCore-CLI, Toolkit) wurde benannt, oder „noch keiner”.
- Die empfohlene Option wurde mit ihrer Kostenstufe angeboten und der Benutzer hat gewählt.