New to Claude Skills? Learn how to install them →

Aaws on GitHub

Agent Build

OfficialFree

Enhance your agent with advanced capabilities.

by aws2.3k stars on aws/agent-toolkit-for-aws
2 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Agent Build does

The Agent Build skill is designed to extend existing AgentCore projects by adding various functionalities such as memory management, application integration, VPC configuration, and multi-agent orchestration. This skill is particularly useful for developers looking to enhance their agents with capabilities that allow for cross-session memory, enabling agents to remember user preferences and context across different interactions. Additionally, it facilitates the integration of agents with web and mobile applications, allowing them to be invoked from various platforms seamlessly.

With the ability to configure VPC networking, the skill supports the connection of agents to private resources like RDS databases and internal APIs, ensuring that sensitive data remains secure. The multi-agent functionality allows developers to create systems where agents can work together, utilizing orchestrator and specialist patterns to delegate tasks efficiently. Furthermore, the skill provides migration support for transitioning Bedrock Agents to AgentCore, making it easier for developers to upgrade their projects without losing existing functionalities.

This skill also includes tools for web browsing and code execution, allowing agents to navigate websites and run code in a controlled environment. The payments capability enables agents to handle transactions for x402-protected APIs and services, integrating payment processing directly into the agent's workflow. Lastly, the teardown functionality allows developers to cleanly remove resources or reset deployments, ensuring that the development environment remains organized and manageable.

Overall, the Agent Build skill is an essential tool for developers and designers who are looking to enhance their agent projects with robust capabilities, streamline integrations, and maintain efficient workflows.

When to use it

Use this skill when you need to enhance an existing agent project with memory, application integration, or VPC configurations.

When not to use it

Do not use this skill for creating new projects or connecting to external APIs; those tasks require other specific tools like agents-get-started or agents-connect.

What you can build with it

Adding Memory to an Agent

Use this skill to enable your agent to remember user preferences across sessions, enhancing user experience.

Integrating with a Mobile App

Configure your agent to be invoked from a mobile application, allowing seamless interaction with users.

Setting Up VPC Networking

Utilize this skill to connect your agent to private resources securely, ensuring data protection.

How to install Agent Build

View source

1. Install with the skills CLI

npx skills add aws/agent-toolkit-for-aws/agents-build --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by aws

build

Add capabilities to your AgentCore agent project.

When to use

  • Adding cross-session memory to your agent
  • Calling your deployed agent from a web app, mobile app, or backend service
  • Configuring VPC networking for private resources (RDS, internal APIs)
  • Building multi-agent systems with orchestrator/specialist patterns
  • Migrating an existing Bedrock Agent to AgentCore
  • Adding the Browser tool so the agent can navigate websites
  • Adding the Code Interpreter so the agent can execute code in a sandbox
  • Adding AgentCore Payments so the agent can pay for x402-protected APIs, tools, or content
  • Removing resources from your project or tearing down a deployment

Do NOT use for:

  • Connecting to external tools/APIs via Gateway (OpenAPI specs, Lambda, MCP servers, credentials, policies) → use agents-connect
  • Scaffolding a new project → use agents-get-started
  • Deploying → use agents-deploy

Input

$ARGUMENTS can be:

  • A capability: "memory", "integrate", "vpc", "multi-agent", "migrate", "browser", "code-interpreter", "payments", "teardown"
  • A description of what they want: "remember user preferences", "call from React app", "scrape a website", "run pandas in the agent", "delete my agent", "clean up resources"
  • Empty — the skill will determine the workflow from context

Process

Step 0: Verify CLI version

Run agentcore --version. This skill requires v0.9.0 or later.

If older: "Run agentcore update to get the latest version."

Step 1: Read project context

Read agentcore/agentcore.json to understand the current project — framework, existing resources, agent configuration.

If agentcore/agentcore.json is not found:

  1. Check if the developer is in the wrong directory. Look for agentcore/agentcore.json in parent directories (up to 3 levels). If found, tell them: "Found an AgentCore project at <path>. Are you working in that project?"
  2. If no project exists anywhere nearby, ask what capability they wanted to add. Then offer two paths:
    • "I can walk you through creating a project first and then adding CAPABILITY — want to do that?" (run the get-started flow inline, then continue with the build workflow)
    • "If you already have a project elsewhere, cd into it and try again."

Do not just say "go use agents-get-started" and stop — that loses the developer's context about what they actually wanted to do.

Step 2: Determine the workflow

Important disambiguation — before routing to a build reference, check if the prompt is actually a connect or debug concern:

  • If the phrase mentions external APIs, Lambda functions, OpenAPI specs, gateways, credentials, MCP servers, or policies → this is agents-connect, not build
  • If the developer says something is broken (wrong answers, errors, tool failures) → this is agents-debug, not build
  • Build is for adding new capabilities to a working project, not fixing broken ones

Based on the developer's prompt and $ARGUMENTS, load the appropriate reference:

Developer intentReference to load
Add memory, remember things, user preferences, cross-sessionreferences/memory.md
Call agent from app, invoke from code, streaming, SDK client, agent URL, execute shell in sessionreferences/integrate.md
VPC, private network, RDS, internal API, subnet, security groupreferences/vpc.md
Multi-agent, orchestrator, specialist, A2A, delegation, agent handoffreferences/multi-agent.md
Custom headers from caller to agent, header allowlist, tenant ID/correlation ID/trace propagationreferences/request-headers.md
Migrate Bedrock Agent, import agent, move to AgentCorereferences/migrate.md
Browser tool, web navigation, form filling, scraping, Nova Act, Playwright, live viewreferences/browser.md
Code Interpreter, execute code, sandbox, run Python/JS/TS, data analysis in agent, pandasreferences/code-interpreter.md
Payments, pay for x402 content, 402 Payment Required, microtransactions, paid API/tool, payment manager/connectorreferences/payments.md
Delete agent, remove resource, tear down, clean up, destroy, start freshreferences/teardown.md
Change model, switch model, use Haiku/Sonnet/Nova, different modelInline — see "Changing the model" below

If the developer asks about the difference between local dev and deployed (e.g., "why does my memory work after deploy but not locally?"), load references/local-vs-deployed.md alongside the specific workflow reference.

Read the matching file into context and follow its Process section step by step — do not summarize.

If the intent is ambiguous, ask the developer which capability they want to add.

Changing the model

The model is configured in app/<AgentName>/model/load.py (scaffolded by agentcore create). To change it:

  1. Open app/<AgentName>/model/load.py
  2. Change the model_id parameter in the BedrockModel() constructor
# Default (scaffolded by CLI)
return BedrockModel(model_id="global.anthropic.claude-sonnet-4-5-20250929-v1:0")

# Switch to Haiku for cost savings
return BedrockModel(model_id="us.anthropic.claude-3-5-haiku-20241022-v1:0")

# Switch to Nova Lite
return BedrockModel(model_id="amazon.nova-lite-v1:0")

Cross-region inference profile prefixes (us., eu., apac., global.) control where inference runs. Use global. for maximum throughput, or a geographic prefix for data residency. Not all models support all prefixes — check the Bedrock inference profiles docs.

After changing the model:

  • Verify the model is enabled in your region: AWS Console → Amazon Bedrock → Model access
  • For cross-region profiles, enable in all destination regions
  • If using agents-harden, update the IAM policy to scope to the new model ARN
  • Run agentcore dev to test locally, then agentcore deploy to update the deployed agent

No agentcore.json change is needed — the model is configured in code, not in the project config.

Pre-flight: validate any --name before generating the CLI command

Whichever reference you load, most end up producing an agentcore add <resource> --name <something> command. The CLI fails late on invalid names — you'll see the error after walking through prompts, not before running the command. Validate up front:

ResourceMax charsAllowedStarts with
Agent (add agent)48alphanumeric + _letter
Memory, gateway, gateway-target, credential, evaluator, online-eval, policy, policy-engine, payment-manager, payment-connector48alphanumeric + _letter

Count the characters before constructing the command. If the name is over the limit or contains hyphens, dots, or spaces, push back: "<name> is N characters / uses -, which the CLI rejects. How about <suggestion>?" Never run the command with an invalid name hoping the CLI message will be clear.

Note: agentcore create --name (the project name) has a stricter 23-char limit and does not allow underscores. That's covered in agents-get-started; if you see the developer re-running create, flag the 23-char limit specifically.

Output

Depends on the workflow — see the loaded reference for specific outputs.

Quality criteria

  • The correct reference was loaded based on the developer's intent
  • All output follows the loaded reference's quality criteria
  • Cross-references to other skills (agents-connect, agents-deploy) are included where relevant

Frequently asked questions about Agent Build

Similar skills