探索 AgentCore 專案
探索是所有其他技能信任的基礎步驟。它會提供證據——每個聲明都附帶檔案與行號——若無法回答則標示「未解析」。因為錯誤的區域或遺漏的資源擁有者會導致後續每一步都出錯:例如 Terraform 產生的閘道若與 AgentCore CLI 已擁有的資源衝突,每次部署都會發生衝突。
${CLAUDE_SKILL_DIR} 由技能執行時期設為此技能本身的目錄。請在下列每個命令中直接使用此變數;同層級其他技能的腳本可透過 ${CLAUDE_SKILL_DIR}/../<skill>/scripts/ 路徑存取。
流程
-
探索。
python3 ${CLAUDE_SKILL_DIR}/scripts/discover.py <project>加入
--json可取得結構化輸出;--focus agentcore,app,auth,region,terraform,tracing可縮小範圍。請指向儲存庫根目錄,而非子目錄,以便正確解析模組呼叫與 Terragrunt 堆疊。 -
報告 依照下列順序呈現
Found區塊:AgentCore(入口與資源)、應用程式(框架、MCP 伺服器、/mcp路由及其背後的 Lambda)、身分驗證、區域(含可用性列)、Terraform(版本限制、lock 檔、Terragrunt)、追蹤。接著呈現Missing,最後是發現項目。 -
選項。 報告中的
Options區塊已排序,且每個選項僅有一項建議,並附帶成本等級。請逐一讀出,不要自行新增。 -
確認 使用
AskUserQuestion詢問使用者下一個技能,然後透過Skill呼叫該技能。探索本身不會寫入任何東西。 -
無需驗證: 探索沒有副作用需要檢查。若使用者修正某個事實(例如區域、擁有者),請重新以修正後的輸入執行,而非在報告中以文字覆蓋。
搜尋的項目
| 問題 | 讀取的證據 | 細節 |
|---|---|---|
| 專案是否使用 AgentCore?誰擁有這些資源? | .tf、CDK 原始碼、agentcore,json、.bedrock_agentcore,yaml、boto3 呼叫 | what-discovery-detects,md |
| 使用了哪個框架與 MCP 伺服器? | import、decorator、registerTool、FastMCP | framework-signatures,md |
| 使用哪個區域?該區域提供哪些服務? | provider 區塊、變數預設值、Terragrunt、tfvars | lib/agentcore_skills/data/regions,json 中的區域表格 |
| Token 目前如何運作? | aws_cognito_*、aws_apigatewayv2_authorizer | what-discovery-detects,md |
DSC0xx 編碼區
| 編號 | 嚴重程度 | 觸發條件 |
|---|---|---|
DSC001 | 錯誤 | 無任何可讀取的內容:沒有 Terraform、程式碼、容器或清單 |
DSC002 | 警告 | 無法解析 AWS 區域 |
DSC003 | 警告 | 使用了 Starter Toolkit 設定(其 CLI 已不再支援) |
DSC004 | 警告 | AgentCore 被多個工具(Terraform、CDK、AgentCore CLI)同時宣告 |
DSC005 | 警告 | 核心服務在解析的區域中不可用 |
決策規則
- 未別名的 Provider 決定區域。 別名為
us_east_1的 CloudFront 憑證 Provider 僅會被列出,不會被選為主要區域。 - 以
/mcp結尾的路由是 MCP 端點。 其背後的 Lambda 是透過整合方式找到的,而非依賴名稱。 - 未找到不等於不存在。 因為在 TypeScript 中,搜尋模式無法證明某事物不存在;請說明已搜尋的範圍。
腳本
| 命令 | 功能 | 退出碼 |
|---|---|---|
scripts/discover,py <project> [--focus ...] [--json] | 執行資源盤點並產出缺口報告 | 0 無阻塞、1 發生錯誤、2 目標無效 |
完成檢查清單
- 已對儲存庫根目錄執行
discover,py並顯示其輸出。 - 已說明區域、其證據以及可用性列。
- 已列出每個 AgentCore 資源的擁有者(Terraform、CDK、AgentCore CLI、Toolkit),或標示「尚無」。
- 已提供建議選項及其成本等級,且使用者已做出選擇。