Descobrir um projeto AgentCore
A descoberta é a etapa em que todas as outras skills confiam. Ela responde com evidências — um arquivo e linha para cada afirmação — e diz "não resolvido" quando não consegue responder, porque uma região errada ou um proprietário perdido torna cada passo posterior incorreto: um gateway gerado no Terraform para um recurso que o CLI do AgentCore já possui vai brigar com ele em cada implantação.
${CLAUDE_SKILL_DIR} é definido pelo runtime da skill como o diretório desta própria skill. Use-o literalmente em cada comando abaixo; os scripts de uma skill irmã estão em ${CLAUDE_SKILL_DIR}/../<skill>/scripts/.
Fluxo
-
Descobrir.
python3 ${CLAUDE_SKILL_DIR}/scripts/discover.py <projeto>Use
--jsonpara a forma estruturada;--focus agentcore,app,auth,region,terraform,tracingpara restringir. Aponte para a raiz do repositório, não para um subdiretório, para que chamadas de módulo e stacks do Terragrunt sejam resolvidas. -
Reportar os blocos
Foundnesta ordem: AgentCore (portas e recursos), aplicação (framework, servidores MCP, rotas/mcpe a Lambda por trás delas), autenticação, região (com a linha de disponibilidade), Terraform (constraint, lock, Terragrunt), rastreamento. DepoisMissing, e então descobertas. -
Opções. A seção
Optionsdo relatório é ordenada e tem exatamente uma recomendação, cada uma com seu nível de custo. Leia-as; não invente novas. -
Confirmar a próxima skill com
AskUserQuestion, e então invocá-la comSkill. A descoberta nunca escreve. -
Verificar nada: a descoberta não tem efeitos colaterais para verificar. Se o usuário corrigir um fato (região, proprietário), reexecute com a entrada corrigida em vez de sobrescrever o relatório em prosa.
O que ela procura
| Pergunta | Evidência que lê | Detalhe |
|---|---|---|
| Há algo no AgentCore, e quem é o dono? | .tf, fontes CDK, agentcore.json, .bedrock_agentcore.yaml, chamadas boto3 | o-que-a-descoberta-detecta.md |
| Qual framework e servidor MCP? | imports, decoradores, registerTool, FastMCP | assinaturas-de-framework.md |
| Qual região, e o que é oferecido lá? | blocos provider, defaults de variáveis, Terragrunt, tfvars | a tabela de regiões em lib/agentcore_skills/data/regions.json |
| Como os tokens funcionam hoje? | aws_cognito_*, aws_apigatewayv2_authorizer | o-que-a-descoberta-detecta.md |
A faixa DSC0xx
| Id | Gravidade | Gatilho |
|---|---|---|
DSC001 | erro | nada para ler: nenhum Terraform, código, contêiner ou manifesto |
DSC002 | aviso | nenhuma região AWS pôde ser resolvida |
DSC003 | aviso | uma configuração do starter-toolkit (seu CLI não é mais suportado) |
DSC004 | aviso | AgentCore declarado por mais de uma ferramenta (Terraform, CDK, CLI do AgentCore) |
DSC005 | aviso | um serviço principal não é oferecido na região resolvida |
Regras de decisão
- O provider não-aliasado decide a região. Um provider aliasado
us_east_1para certificados CloudFront é listado, nunca escolhido. - Uma rota terminada em
/mcpé o endpoint MCP. A Lambda por trás dela é encontrada através da integração, não pelo nome. - Ausência é "não encontrado", nunca "não existe". Padrões não podem provar uma negativa em TypeScript; diga o que foi pesquisado.
Scripts
| Comando | Faz | Códigos de saída |
|---|---|---|
scripts/discover.py <projeto> [--focus ...] [--json] | o inventário e relatório de lacunas | 0 nada bloqueando, 1 erros, 2 alvo inválido |
Checklist de conclusão
-
discover.pyfoi executado contra a raiz do repositório e sua saída foi exibida. - A região, sua evidência e a linha de disponibilidade foram informadas.
- Cada proprietário do AgentCore (Terraform, CDK, CLI do AgentCore, toolkit) foi nomeado, ou "nenhum ainda".
- A opção recomendada foi oferecida com seu nível de custo, e o usuário escolheu.