| name | 3a-plan |
| description | Use when a developer wants to plan an AI agent project before building it. Gathers requirements, defines architecture, and produces an execution roadmap. Triggers on: "plan my agent", "what should I build", "agent architecture", "requirements", "design my agent", "how should I structure", "roadmap", "3a plan", "planning", "before I start building". Not for actual implementation โ delegates to aws-agents skills. Not for tracking progress โ use 3a-track. Not for stage-gate reviews โ use 3a-review.
|
| allowed-tools | Read Write Grep Glob Bash |
| metadata | {"type":"skill","version":"0.1.0"} |
plan
Plan an AI agent project: gather requirements, define architecture, produce a roadmap.
When to use
- Developer wants to build an agent but hasn't started yet
- Developer has a vague idea and needs it structured into a concrete plan
- Developer wants to make architecture decisions before writing code
- Developer needs a roadmap breaking work into phases
Do NOT use for:
- Running
agentcore commands or generating code -> delegate to aws-agents
- Checking current progress -> use
3a-track
- Verifying readiness before deploy or production -> use
3a-review
Input
$ARGUMENTS can be:
- A description of the agent: "a customer support agent that uses RAG"
- A specific planning phase: "requirements", "architecture", "roadmap"
- Empty โ the skill will start from requirements gathering
Process
Step 0: Check prerequisites
Check that aws-agents plugin is installed. This plugin delegates all implementation work to aws-agents skills (agents-get-started, agents-build, agents-connect, agents-deploy). If aws-agents is not available, stop and tell the developer:
3A Plugin์ aws-agents ํ๋ฌ๊ทธ์ธ๊ณผ ํจ๊ป ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ค์น ๋ฐฉ๋ฒ: claude plugin add --from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-agents
์ค์น ํ ๋ค์ ์คํํด ์ฃผ์ธ์.
Check for existing plan. Look for .3a/ directory in the current project. If it exists, read .3a/roadmap.md and .3a/architecture.md to understand what's already been planned. Offer to refine rather than start from scratch.
Step 1: Gather requirements
Ask the developer targeted questions. Do not assume answers โ always ask and wait.
ํต์ฌ ์ง๋ฌธ (๋ชจ๋ ์ง๋ฌธ):
- "์ด ์์ด์ ํธ๊ฐ ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ๊ฐ์? ๋๊ฐ ์ฌ์ฉํ๋์?"
- "์์ด์ ํธ๊ฐ ํ ์ ์์ด์ผ ํ๋ ํต์ฌ ๊ธฐ๋ฅ 2~3๊ฐ์ง๋ฅผ ์๋ ค์ฃผ์ธ์."
- "์ธ๋ถ API, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋๋ ๋ค๋ฅธ ์๋น์ค๋ฅผ ํธ์ถํด์ผ ํ๋์?"
- "์ด์ ๋ํ ๋ด์ฉ์ ๊ธฐ์ตํด์ผ ํ๋์?"
- "๋ฐฐํฌ ๋์ ํ๊ฒฝ์ ์ด๋์ธ๊ฐ์? (๊ฐ๋ฐ/์คํ
์ด์ง/ํ๋ก๋์
)"
ํ์ ์ง๋ฌธ (๋ต๋ณ์ ๋ฐ๋ผ ์ง๋ฌธ):
- ์ธ๋ถ API ํ์ ์: "๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค API๋ ์๋น์ค์ธ๊ฐ์? ์ธ์ฆ ์ ๋ณด๋ ์ค๋น๋์ด ์๋์?"
- ๋ฉ๋ชจ๋ฆฌ ํ์ ์: "์ธ์
๋ด ๋จ๊ธฐ ๊ธฐ์ต์ธ๊ฐ์, ์ธ์
๊ฐ ์ฅ๊ธฐ ๊ธฐ์ต์ธ๊ฐ์?"
- ํ๋ก๋์
๋์ ์: "์ง์ฐ ์๊ฐ, ๋น์ฉ, ๊ฐ์ฉ์ฑ์ ๋ํ ์๊ตฌ์ฌํญ์ด ์๋์?"
Record the answers in .3a/requirements.md using the template from references/requirements-template.md.
Step 2: Define architecture decisions
Based on requirements, guide the developer through key decisions. For each decision, explain the tradeoffs and record the choice.
Decision 1: Framework
Present options with context from the developer's requirements:
| Framework | Best when |
|---|
| Strands | Starting fresh, want simplest AWS integration |
| LangGraph | Need complex multi-step workflows with branching |
| GoogleADK | Already invested in Google's agent ecosystem |
| OpenAI Agents | Already invested in OpenAI's agent ecosystem |
์ง๋ฌธ: "์๊ตฌ์ฌํญ์ ๊ณ ๋ คํ์ ๋ ์ด๋ค ํ๋ ์์ํฌ๊ฐ ๊ฐ์ฅ ์ ํฉํ ๊น์?" ๊ฐ๋ฐ์๊ฐ ์ ํธ๊ฐ ์๋ค๋ฉด AgentCore ์
๋ฌธ์์๊ฒ Strands๋ฅผ ์ถ์ฒ. ๋ ๊น์ ๋น๊ต๊ฐ ํ์ํ๋ฉด AWS Prescriptive Guidance โ Frameworks ๊ฐ์ด๋๋ฅผ ์๋ด.
Decision 2: Protocol
| Protocol | Best when |
|---|
| HTTP | Standard agent invocation (most common) |
| MCP | Agent serves tools to other agents or Claude |
| A2A | Multiple agents collaborating |
Default to HTTP unless the developer's requirements suggest otherwise.
Decision 3: Build method
| Method | Best when |
|---|
| CodeZip | No custom system dependencies (faster deploys) |
| Container | Need custom packages, non-Python code, or specific OS deps |
Default to CodeZip for beginners.
Decision 4: Memory
| Option | Best when |
|---|
| None | Stateless agent, simplest to start |
| Short-term | Need context within a conversation session |
| Long + short | Need to remember user preferences across sessions |
Default to None โ memory can be added later.
Decision 5: Connectivity
If the agent needs external APIs:
- MCP Gateway for MCP-compatible tools
- Lambda Gateway for custom API integrations
- Direct SDK calls within agent code
Decision 6: Multi-agent pattern (if applicable)
If the developer's requirements involve multiple agents, use the 3a-guide skill (which loads multi-agent-patterns.md) to walk through the decision guide. Key question to ask first: "Can one agent with multiple tools handle all your use cases?" โ most cases don't actually need multi-agent.
Record each decision as an ADR in .3a/decisions/. Use the naming convention NNN-topic.md:
# NNN: Decision Title
## Status
Accepted
## Context
[Why this decision was needed]
## Decision
[What was decided]
## Consequences
[What follows from this decision]
Step 3: Produce roadmap
Generate .3a/roadmap.md using references/roadmap-template.md. Break the project into phases:
Phase 1: Scaffold
- Create project with
agentcore create
- Verify local dev works with
agentcore dev
- Milestone: agent responds to "hello"
Phase 2: Implement
- Add tools, system prompt, core logic
- Connect external services (if needed)
- Add memory (if needed)
- Milestone: agent handles core use cases locally
Phase 3: Deploy
- Pre-deploy review (use
3a-review)
- Deploy to staging with
agentcore deploy
- Test deployed agent with
agentcore invoke
- Milestone: agent works on AWS
Phase 4: Harden (if targeting production)
- Production readiness review (use
3a-review)
- Add monitoring, error handling, guardrails
- Milestone: agent ready for real users
Each phase should list:
- Specific tasks (what to do)
- Which
aws-agents skill to use (how to do it)
- Verification criteria (how to know it's done)
Step 4: Summarize and hand off
Present the plan summary to the developer:
๊ณํ์ด ์์ฑ๋์์ต๋๋ค:
- ์๊ตฌ์ฌํญ: [1~2๋ฌธ์ฅ ์์ฝ]
- ์ํคํ
์ฒ: [ํ๋ ์์ํฌ] + [ํ๋กํ ์ฝ] + [๋น๋ ๋ฐฉ์] + [๋ฉ๋ชจ๋ฆฌ]
- ๋ก๋๋งต: [N]๊ฐ ๋จ๊ณ, [Phase 1 ์ค๋ช
]๋ถํฐ ์์
.3a/์ ์์ฑ๋ ํ์ผ:
requirements.md โ ๋ฌด์์ ์ ๋ง๋๋์ง
architecture.md โ ํต์ฌ ๊ธฐ์ ๊ฒฐ์ ์ฌํญ
decisions/ โ ๊ฐ๋ณ ADR ๊ธฐ๋ก
roadmap.md โ ๋จ๊ณ๋ณ ์คํ ๊ณํ
Phase 1์ ์์ํ ์ค๋น๊ฐ ๋์
จ๋์? agents-get-started๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํ์ธ์.
Output
.3a/requirements.md โ structured requirements document
.3a/architecture.md โ architecture overview with decision summary
.3a/decisions/NNN-*.md โ individual Architecture Decision Records
.3a/roadmap.md โ phased execution plan with milestones
Quality criteria
- Every architecture decision has a recorded ADR
- Roadmap phases have concrete milestones and verification criteria
- Each roadmap task maps to a specific
aws-agents skill
- The developer understands what to build, why, and in what order