coordinating-multi-space-devops-agent

작성자: aws

하나의 Claude Code 세션에서 여러 AgentSpaces에 걸쳐 AWS DevOps Agent를 조정하세요 — 질문을 올바른 공간(프로덕션 vs 스테이징 vs 지식)으로 라우팅하고,…

npx skills add https://github.com/aws/agent-toolkit-for-aws --skill coordinating-multi-space-devops-agent

Querying multiple AgentSpaces

Pre-flight

If aws_devops_agent__list_agent_spaces is not in your available tools, the remote MCP server is not connected. Tell the user to ask "help me set up the AWS DevOps Agent" so the setup-devops-agent skill auto-loads.

Prerequisite: SigV4 auth required

Multi-space routing requires SigV4 authentication — Bearer tokens are scoped to a single AgentSpace and cannot route to other spaces.

Many real teams run more than one AgentSpace — typically a production space, a staging space, and a dedicated "knowledge" space that holds runbooks shared across accounts. Each space has its own set of associated AWS accounts, runbooks, and history.

This skill is the routing brain. Use it when the user has multiple spaces configured, or when a question genuinely spans accounts.

Discovering spaces

aws_devops_agent__list_agent_spaces()
→ {"agentSpaces": [{"agentSpaceId": "as-abc123", "name": "prod"}, ...]}

If only one space is returned, this skill doesn't apply — use chatting-with-aws-devops-agent or investigating-incidents-with-aws-devops-agent directly (no agent_space_id needed).

If more than one is returned, decide whether the user's question is:

Question shapeStrategy
Scoped to one environment ("prod is broken")Single space — pick the matching one
Spans environments ("compare prod vs staging")Parallel — query each, synthesize
Generic knowledge ("what runbooks do we have for ECS?")Route to the knowledge space if one is named that way
Ambiguous ("our service is slow")Ask the user which environment, don't guess

Per-session routing memory

If the user has a routing guide stored locally (e.g. .claude/aws-agents-for-devsecops.md, AGENTS.md, or per-project notes), read it once at the start of the session and use it as the routing table for the rest of the conversation. Format expected:

| Space | AWS Profile | Agent Space ID | Purpose |
|-------|-------------|----------------|---------|
| prod  | acme-prod   | as-abc123      | Production incidents, customer-facing services |
| stage | acme-stage  | as-def456      | Pre-prod validation, integration testing |
| kb    | acme-shared | as-ghi789      | Shared runbooks, cross-account knowledge |

If no guide exists, run discovery:

  1. aws_devops_agent__list_agent_spaces() → get all spaces.
  2. For each space: aws_devops_agent__chat(message="Summarize the AWS accounts, services, and runbooks you have access to.", agent_space_id="<SPACE_ID>") → get a one-paragraph summary.
  3. Offer to write the routing guide to the project (e.g. .claude/aws-agents-for-devsecops.md, AGENTS.md, or per-project notes) so future sessions skip discovery.

Pattern A — Parallel queries, one synthesized answer

Use when the user wants a comparison: "compare prod and staging error rates", "is this issue happening in both accounts?", "audit costs across all our environments".

# 1. Query each space in parallel with environment-specific context
aws_devops_agent__chat(message="<question> | env=prod | <prod IaC context>", agent_space_id="PROD_ID")
→ {"executionId": "...", "answer": "..."}

aws_devops_agent__chat(message="<question> | env=stage | <stage IaC context>", agent_space_id="STAGE_ID")
→ {"executionId": "...", "answer": "..."}

# 2. Synthesize locally — present a side-by-side summary, not two separate dumps

Don't just paste both responses. Read both, identify what's the same vs. different, and tell the user the delta — that's the value.

Pattern B — Knowledge lookup, then per-space action

Use when one space holds runbooks/knowledge that informs work in another space.

# 1. Ask the knowledge space first
aws_devops_agent__chat(
    message="What's our standard runbook for ECS 503 errors?",
    agent_space_id="KB_ID"
)
→ {"answer": "<runbook text>"}

# 2. Apply that runbook in the target environment
aws_devops_agent__investigate(
    title="ECS 503 errors on checkout-service. [Runbook from knowledge space] <runbook text> [Local context] ...",
    agent_space_id="PROD_ID",
    priority="HIGH"
)

The DevOps Agent doesn't share state between spaces — you bridge it by quoting the knowledge space's response into the investigation's title.

Pattern C — Targeted single-space query

Use when the user explicitly names a space or environment.

# Pick the matching agentSpaceId from your routing memory, pass it on the call
aws_devops_agent__chat(message="<question>", agent_space_id="<matched_space_id>")

If the routing is ambiguous and the user doesn't say, ask once — better than firing into the wrong account.

Pattern D — Investigations don't share state

Investigations are per-space. If an issue spans accounts, you may need two investigations:

aws_devops_agent__investigate(title="Latency spike — prod side", agent_space_id="PROD_ID", priority="HIGH")
aws_devops_agent__investigate(title="Latency spike — stage side", agent_space_id="STAGE_ID", priority="HIGH")

Track both taskIds. Poll both. Surface findings together.

This is rare — usually one space owns the problem. Don't fan out by default.

What NOT to do

  • Don't blast every space with every question. It's slow, expensive, and the user has to read 3× as much output.
  • Don't fan out without verifying scope. If a space's description or recorded coverage doesn't mention the relevant service, skip it — sending a question into a scope-mismatched space typically hangs rather than returning "I don't know."
  • Don't fire investigations in parallel by default. They take 5–8 minutes each. Pick the one space that owns the incident.
  • Don't silently switch spaces mid-conversation. If a follow-up needs a different space, tell the user: "Switching to the knowledge space to look up the runbook."

Timeout guidance

The chat tool buffers the full response server-side before returning. Complex cross-account queries can take 30-90s per space. If a space doesn't respond within 90s, it's likely a scope mismatch — surface a message like "Space X did not respond within 90s — skipping (likely scope mismatch)" and move on rather than hanging.

See also

  • examples/multi-space-walkthrough.md for a fully worked scenario (prod incident with staging comparison and knowledge-space runbook lookup).
  • The setup-devops-agent skill for first-time configuration of multiple AgentSpaces, AWS profiles, and shell wrappers.

aws의 다른 스킬

analyzing-release-readiness
aws
GitHub PR, GitLab MR 또는 로컬 브랜치에서 병합 전 릴리스 준비 검토를 트리거합니다. 사용자가 코드 변경 사항의 위험성, 정확성 등을 분석하려 할 때 사용합니다.
scanning-with-aws-security-agent
aws
작업 공간에서 AWS Security Agent 스캔 실행 — 소스를 AWS에 업로드하고, 관리형 Security Agent 서비스로 스캔한 후, 순위가 매겨진 검증된 결과를 반환합니다…
aws-security
aws
AWS 보안 서비스 및 워크플로우를 다룹니다 — Security Hub V2 (OCSF) findings, 커넥터, 애그리게이터, 자동화 규칙, 보안 상태 요약 등…
querying-aws-sagemaker-catalog
aws
SageMaker Catalog 자산 메타데이터 테이블에서 SQL 분석을 실행하며, S3 Tables에서 Apache Iceberg로 내보낸 데이터를 대상으로 합니다. 거버넌스 쿼리, 자산 성장 추적 등을 다룹니다.
agents-connect
aws
에이전트를 Gateway를 통해 외부 API, 도구 또는 서비스에 연결하거나 Cedar 정책으로 도구 접근을 제한할 때 사용합니다. 게이트웨이 설정, 대상...
aurora-dsql
aws
Aurora DSQL 클러스터를 프로비저닝하고 관리하며, psql 또는 DSQL 커넥터를 통해 연결하고, 스키마를 관리하고, 쿼리를 실행하고, MySQL에서 마이그레이션하고, 쿼리 계획을 진단합니다.
transitgateway
aws
AWS Transit Gateway를 구성합니다: 허브를 생성하고 VPC를 연결하며, 라우팅 테이블로 트래픽을 분리하고, 허브를 통해 이그레스 및 검사를 중앙화합니다…
investigating-incidents-with-aws-devops-agent
aws
AWS DevOps Agent에서 심층 근본 원인 조사를 실행합니다. 사용자가 인시던트, 알람, 중단 또는 설명할 수 없는 동작을 설명할 때 사용하세요 — 키워드 예: …