.claude/skills/aws-agentcore/SKILL.md
Build AI agents with AWS Bedrock AgentCore. Use when developing agents on AWS infrastructure, creating tool-use patterns, implementing agent orchestration, or integrating with Bedrock models. Triggers on keywords like AgentCore, Bedrock Agent, AWS agent, Lambda tools.
npx skillsauth add Oratias07/CHAM-Agent aws-agentcoreInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build production-grade AI agents on AWS infrastructure.
import boto3
from agentcore import Agent, Tool
# Initialize AgentCore client
client = boto3.client('bedrock-agent-runtime')
# Define a tool
@Tool(name="search_database", description="Search the product database")
def search_database(query: str, limit: int = 10) -> dict:
# Tool implementation
return {"results": [...]}
# Create agent
agent = Agent(
model_id="anthropic.claude-3-sonnet",
tools=[search_database],
instructions="You are a helpful product search assistant."
)
# Invoke agent
response = agent.invoke("Find laptops under $1000")
AgentCore provides these primitives:
| Component | Purpose | |-----------|---------| | Runtime | Serverless agent execution (framework-agnostic) | | Gateway | Convert APIs/Lambda to MCP-compatible tools | | Memory | Multi-strategy memory (semantic, user preference) | | Identity | Auth with Cognito, Okta, Google, EntraID | | Tools | Code Interpreter, Browser Tool | | Observability | Deep analysis and tracing |
# Lambda function as tool
import json
def lambda_handler(event, context):
action = event.get('actionGroup')
function = event.get('function')
parameters = event.get('parameters', [])
# Parse parameters
params = {p['name']: p['value'] for p in parameters}
if function == 'get_weather':
result = get_weather(params['city'])
elif function == 'book_flight':
result = book_flight(params['origin'], params['destination'])
return {
'response': {
'actionGroup': action,
'function': function,
'functionResponse': {
'responseBody': {
'TEXT': {'body': json.dumps(result)}
}
}
}
}
from agentcore import SupervisorAgent, SubAgent
# Create specialized sub-agents
research_agent = SubAgent(
name="researcher",
model_id="anthropic.claude-3-sonnet",
instructions="You research and gather information."
)
writer_agent = SubAgent(
name="writer",
model_id="anthropic.claude-3-sonnet",
instructions="You write clear, engaging content."
)
# Create supervisor
supervisor = SupervisorAgent(
model_id="anthropic.claude-3-opus",
sub_agents=[research_agent, writer_agent],
routing_strategy="supervisor" # or "intent_classification"
)
response = supervisor.invoke("Write a blog post about AI agents")
from agentcore import Agent, Guardrail
# Define guardrail
guardrail = Guardrail(
guardrail_id="my-guardrail-id",
guardrail_version="1"
)
agent = Agent(
model_id="anthropic.claude-3-sonnet",
guardrails=[guardrail],
tools=[...],
)
Convert existing APIs to MCP-compatible tools:
# gateway_setup.py
from bedrock_agentcore import GatewayClient
gateway = GatewayClient()
# Create gateway from OpenAPI spec
gateway.create_target(
name="my-api",
type="OPENAPI",
openapi_spec_path="./api-spec.yaml"
)
# Create gateway from Lambda function
gateway.create_target(
name="my-lambda-tool",
type="LAMBDA",
function_arn="arn:aws:lambda:us-east-1:123456789:function:my-tool"
)
from agentcore import Agent, Memory
# Create memory with multiple strategies
memory = Memory(
name="customer-support-memory",
strategies=["semantic", "user_preference"]
)
agent = Agent(
model_id="anthropic.claude-3-sonnet",
memory=memory,
tools=[...],
)
# Memory persists across sessions
response = agent.invoke(
"What did we discuss last time?",
session_id="user-123"
)
AWS provides production-ready implementations:
Repository: https://github.com/awslabs/amazon-bedrock-agentcore-samples
02-use-cases/)| Use Case | Description | |----------|-------------| | A2A Multi-Agent Incident Response | Agent-to-Agent with Strands + OpenAI SDK | | Customer Support Assistant | Memory, Knowledge Base, Google OAuth | | Market Trends Agent | LangGraph with browser tools | | DB Performance Analyzer | PostgreSQL integration | | Device Management Agent | IoT with Cognito auth | | Enterprise Web Intelligence | Browser tools for research | | Text to Python IDE | AgentCore Code Interpreter | | Video Games Sales Assistant | Amplify + CDK deployment |
git clone https://github.com/awslabs/amazon-bedrock-agentcore-samples.git
cd amazon-bedrock-agentcore-samples/02-use-cases/customer-support-assistant
# Follow README for deployment
development
Build accessible web applications following WCAG guidelines. Use when implementing ARIA patterns, keyboard navigation, screen reader support, or ensuring accessibility compliance. Triggers on accessibility, a11y, WCAG, ARIA, screen reader, keyboard navigation.
devops
Deploy and configure applications on Vercel. Use when deploying Next.js apps, configuring serverless functions, setting up edge functions, or managing Vercel projects. Triggers on Vercel, deploy, serverless, edge function, Next.js deployment.
development
Build consistent design systems with tokens, components, and theming. Use when creating component libraries, implementing design tokens, building theme systems, or ensuring design consistency. Triggers on design system, design tokens, component library, theming, dark mode.
development
Generate images with Google's Nano Banana Pro (Gemini 3 Pro Image). Use when generating AI images via Gemini API, creating professional visuals, or building image generation features. Triggers on Nano Banana Pro, Gemini 3 Pro Image, gemini-3-pro-image-preview, Google image generation.