Découvrir un projet AgentCore
La découverte est le socle que toutes les autres compétences considèrent comme fiable. Elle répond avec des preuves — un fichier et une ligne pour chaque affirmation — et dit « non résolu » lorsqu'elle ne peut pas répondre, car une région erronée ou un propriétaire manqué rend chaque étape ultérieure fausse : une passerelle générée en Terraform pour une ressource que l'AgentCore CLI possède déjà entrera en conflit à chaque déploiement.
${CLAUDE_SKILL_DIR} est défini par l'environnement d'exécution de la compétence vers le répertoire de cette compétence. Utilisez-le textuellement dans chaque commande ci-dessous ; les scripts d'une compétence sœur se trouvent dans ${CLAUDE_SKILL_DIR}/../<skill>/scripts/.
Flux
-
Découvrir.
python3 ${CLAUDE_SKILL_DIR}/scripts/discover.py <project>--jsonpour la forme structurée ;--focus agentcore,app,auth,region,terraform,tracingpour la restreindre. Pointez-la vers la racine du dépôt, pas vers un sous-répertoire, afin que les appels de modules et les stacks Terragrunt se résolvent. -
Rapporter les blocs
Founddans cet ordre : AgentCore (portes et ressources), application (framework, serveurs MCP, routes/mcpet la Lambda derrière), authentification, région (avec la ligne de disponibilité), Terraform (contrainte, lock, Terragrunt), traçage. EnsuiteMissing, puis les constatations. -
Options. La section
Optionsdu rapport est ordonnée et contient exactement une recommandation, chacune avec son niveau de coût. Lisez-les ; n'en inventez pas de nouvelles. -
Confirmer la compétence suivante avec
AskUserQuestion, puis invoquez-la avecSkill. La découverte elle-même n'écrit jamais. -
Ne rien vérifier : la découverte n'a aucun effet secondaire à vérifier. Si l'utilisateur corrige un fait (une région, un propriétaire), relancez avec l'entrée corrigée plutôt que de modifier le rapport en prose.
Ce qu'elle recherche
| Question | Preuves lues | Détail |
|---|---|---|
| Y a-t-il quelque chose sur AgentCore, et qui le possède ? | .tf, sources CDK, agentcore.json, .bedrock_agentcore.yaml, appels boto3 | ce-que-la-découverte-détecte.md |
| Quel framework et serveur MCP ? | imports, décorateurs, registerTool, FastMCP | signatures-framework.md |
| Quelle région, et qu'y est offert ? | blocs provider, valeurs par défaut des variables, Terragrunt, tfvars | la table des régions dans lib/agentcore_skills/data/regions.json |
| Comment fonctionnent les jetons aujourd'hui ? | aws_cognito_*, aws_apigatewayv2_authorizer | ce-que-la-découverte-détecte.md |
La bande DSC0xx
| Id | Gravité | Déclencheur |
|---|---|---|
DSC001 | erreur | rien à lire : pas de Terraform, code, conteneur ou manifeste |
DSC002 | avertissement | aucune région AWS n'a pu être résolue |
DSC003 | avertissement | une configuration starter-toolkit (son CLI n'est plus supporté) |
DSC004 | avertissement | AgentCore déclaré par plus d'un outil (Terraform, CDK, AgentCore CLI) |
DSC005 | avertissement | un service central n'est pas offert dans la région résolue |
Règles de décision
- Le provider non aliasé décide de la région. Un provider aliasé
us_east_1pour les certificats CloudFront est listé, jamais choisi. - Une route se terminant par
/mcpest le point de terminaison MCP. La Lambda derrière est trouvée via l'intégration, pas par son nom. - L'absence est « non trouvé », jamais « n'existe pas ». Les motifs ne peuvent pas prouver une négative en TypeScript ; dites ce qui a été recherché.
Scripts
| Commande | Fait | Codes de sortie |
|---|---|---|
scripts/discover.py <project> [--focus ...] [--json] | le rapport d'inventaire et d'écart | 0 rien de bloquant, 1 erreurs, 2 mauvaise cible |
Liste de vérification d'achèvement
-
discover.pya été exécuté sur la racine du dépôt et sa sortie a été affichée. - La région, sa preuve et la ligne de disponibilité ont été énoncées.
- Chaque propriétaire AgentCore (Terraform, CDK, AgentCore CLI, toolkit) a été nommé, ou « aucun pour l'instant ».
- L'option recommandée a été proposée avec son niveau de coût, et l'utilisateur a choisi.