AgentCore 프로젝트 발견하기
발견(Discovery)은 다른 모든 스킬이 신뢰하는 패스입니다. 모든 주장에 대해 증거(파일과 라인 번호)를 제시하며, 답할 수 없을 때는 "해결되지 않음"이라고 말합니다. 잘못된 리전이나 소유자 정보는 이후 모든 단계를 틀리게 만들기 때문입니다. 예를 들어 AgentCore CLI가 이미 소유한 리소스에 대해 Terraform으로 게이트웨이를 생성하면 배포할 때마다 충돌이 발생합니다.
${CLAUDE_SKILL_DIR}은 스킬 런타임에 의해 이 스킬 자체의 디렉토리로 설정됩니다. 아래 모든 명령에서 이 변수를 그대로 사용하세요; 형제 스킬의 스크립트는 ${CLAUDE_SKILL_DIR}/../<skill>/scripts/에 있습니다.
흐름
-
발견(Discover).
python3 ${CLAUDE_SKILL_DIR}/scripts/discover.py <project>--json은 구조화된 형태로,--focus agentcore,app,auth,region,terraform,tracing은 범위를 좁힙니다. 모듈 호출과 Terragrunt 스택이 올바르게 확인되도록 하위 디렉토리가 아닌 리포지토리 루트를 가리키세요. -
보고(Report)
Found블록을 다음 순서로 작성합니다: AgentCore(문과 리소스), 애플리케이션(프레임워크, MCP 서버,/mcp경로 및 그 뒤의 Lambda), 인증(auth), 리전(region)(가용성 행 포함), Terraform(제약 조건, lock, Terragrunt), 추적(tracing). 그 다음Missing, 마지막으로 발견(findings) 항목입니다. -
옵션(Options). 보고서의
Options섹션은 정렬되어 있으며 정확히 하나의 권장 사항과 각각의 비용 계층이 있습니다. 이를 읽고; 새로운 것을 임의로 만들지 마세요. -
확인(Confirm) 다음 스킬을
AskUserQuestion으로 확인한 후Skill로 호출합니다. 발견(Discovery) 자체는 절대 쓰기 작업을 수행하지 않습니다. -
검증(Verify) 하지 않음: 발견에는 확인할 부작용이 없습니다. 사용자가 사실(리전, 소유자)을 수정하면, 보고서를 문장으로 덮어쓰지 말고 수정된 입력으로 다시 실행하세요.
찾는 항목
| 질문 | 읽는 증거 | 상세 정보 |
|---|---|---|
| AgentCore 위에 있는 것이 있으며, 누가 소유하나요? | .tf, CDK 소스, agentcore.json, .bedrock_agentcore.yaml, boto3 호출 | what-discovery-detects.md |
| 어떤 프레임워크와 MCP 서버인가요? | imports, decorators, registerTool, FastMCP | framework-signatures.md |
| 어떤 리전이며, 그곳에서 무엇을 제공하나요? | provider 블록, 변수 기본값, Terragrunt, tfvars | lib/agentcore_skills/data/regions.json의 리전 테이블 |
| 현재 토큰은 어떻게 작동하나요? | aws_cognito_*, aws_apigatewayv2_authorizer | what-discovery-detects.md |
DSC0xx 대역
| ID | 심각도 | 트리거 |
|---|---|---|
DSC001 | 오류 | 읽을 항목 없음: Terraform, 코드, 컨테이너 또는 매니페스트 없음 |
DSC002 | 경고 | AWS 리전을 확인할 수 없음 |
DSC003 | 경고 | 스타터 툴킷 설정(해당 CLI는 더 이상 지원되지 않음) |
DSC004 | 경고 | AgentCore가 둘 이상의 도구(Terraform, CDK, AgentCore CLI)에 의해 선언됨 |
DSC005 | 경고 | 핵심 서비스가 확인된 리전에서 제공되지 않음 |
결정 규칙
- 별칭이 없는(un-aliased) provider가 리전을 결정합니다. CloudFront 인증서를 위한 별칭
us_east_1provider는 나열될 뿐, 선택되지 않습니다. /mcp로 끝나는 경로는 MCP 엔드포인트입니다. 그 뒤의 Lambda는 이름이 아닌 통합(integration)을 통해 찾습니다.- 부재는 "찾을 수 없음"이지 "존재하지 않음"이 아닙니다. 패턴은 TypeScript에서 부정을 증명할 수 없습니다; 검색된 내용을 말하세요.
스크립트
| 명령 | 수행 작업 | 종료 코드 |
|---|---|---|
scripts/discover.py <project> [--focus ...] [--json] | 인벤토리 및 갭 보고서 | 0: 문제 없음, 1: 오류, 2: 잘못된 대상 |
완료 체크리스트
-
discover.py가 리포지토리 루트에 대해 실행되었고 그 출력이 표시되었습니다. - 리전, 증거 및 가용성 행이 명시되었습니다.
- 모든 AgentCore 소유자(Terraform, CDK, AgentCore CLI, 툴킷)가 명명되었거나 "아직 없음"으로 표시되었습니다.
- 권장 옵션이 비용 계층과 함께 제공되었고 사용자가 선택했습니다.