Strands Agents Samples
Practical Python and TypeScript examples for learning Strands Agents SDK patterns and deployment options.
- Source repo
- strands-agents/samples
- Stars
- ★ 928
- Last updated
- 3d ago
- License
- Apache-2.0
- Primary language
- Python
- FA score
- 47/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specific
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A Python developer who wants to validate a first Agent invocation before moving on to SDK fundamentals, streaming, or multi-agent systems.
- Not a fit if
- Teams needing production-ready security and testing out of the box
- Teams wanting to run it without configuring a model provider
- Teams needing complete business workflows rather than teaching samples
- Source review
- 47/100 · Major gaps 1 safety controls not found
What does this agent do, and when should you use it?
Strands Agents Samples is a Python and TypeScript example repository built around the Strands Agents SDK. Its Python collection covers SDK fundamentals, multi-agent systems, streaming, deployment, integrations, industry examples, technical patterns, evaluation, UX demos, and edge-device work. The TypeScript collection includes SDK tutorials and AgentCore deployment patterns. The minimal examples construct an Agent, send it a prompt, and print the returned response to the console. The repository explicitly positions every example as educational and demonstrative, so production users must add their own security and testing practices.
After model-provider and model-access setup, a developer installs strands-agents and strands-agents-tools for Python, or @strands-agents/sdk for TypeScript. The Python starter imports Agent from strands, creates agent = Agent(), calls agent("Hello! Tell me a joke."), and prints response. The TypeScript starter imports Agent from @strands-agents/sdk, creates it with systemPrompt, calls await agent.invoke("Hello! Tell me a joke."), and logs response.toString(). Repository directories also organize patterns for Lambda, Fargate, and AgentCore deployment, plus examples concerning AWS services, databases, third-party tools, evaluations, and UI applications.
- A Python developer who wants to validate a first Agent invocation before moving on to SDK fundamentals, streaming, or multi-agent systems.
- An engineering team looking for reference patterns when considering Strands Agents on AWS Lambda, Fargate, or AgentCore.
- An integration developer exploring examples that combine an agent with AWS services, databases, or third-party tools.
- A prototyping team in finance, healthcare, retail, or productivity that wants to start from industry-organized examples.
- A technical practitioner investigating Agentic RAG, evaluation tutorials, testing patterns, or full-stack UI demonstrations.
- A developer exploring edge-device, physical-AI, or robotics integration examples.
How do you install or deploy this agent?
Python requires Python 3.10+ and pip. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activateThen install:
pip install strands-agents strands-agents-toolsTypeScript requires Node.js 18+ and npm or yarn. Install:
npm install @strands-agents/sdkBoth paths require model-provider and model-access configuration first. The supplied material does not specify credential names, environment variables, or configuration commands.
How do you use this agent?
First Python invocation:
from strands import Agentagent = Agent()
response = agent("Hello! Tell me a joke.")
print(response)First TypeScript invocation:
import { Agent } from "@strands-agents/sdk";
async function main() {
const agent = new Agent({
systemPrompt: "You are a helpful assistant."});
const response = await agent.invoke("Hello! Tell me a joke.");
console.log(response.toString());
}
main();
Configure model-provider and model access before running either example; the supplied material does not include copyable configuration steps.
What are this agent's strengths and limitations?
- Provides minimal Agent invocations in both Python and TypeScript, making it easy to validate SDK usage from either stack.
- Organizes Python examples across learning, deployment, integration, industry, evaluation, UX, and edge-device tracks.
- Names concrete deployment directions for Lambda, Fargate, and AgentCore, plus AWS-service, database, and third-party-tool integrations.
- Covers specific subjects including multi-agent systems, streaming, Agentic RAG, and evaluation/testing rather than only a chat example.
- The repository explicitly says the examples are for demonstration and education, not direct production use; adopters must add security controls and testing.
- Model-provider and model-access configuration is required, but the supplied material does not document exact credentials, environment variables, or commands.
- This is a Strands Agents SDK sample collection rather than a standalone end-to-end agent product; business workflows, data sources, and production operations remain implementation work.
- The documented Python and TypeScript coverage is uneven: the supplied material lists only learning and AgentCore deployment tracks for TypeScript.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Strands Agents Samples This agent | 47 · Major gaps | Library / SDKFree + model costs | ★ 928 | 3d ago | Python | — |
| Hindsight | 68 · Some gaps | Self-hosted serviceFreemium | ★ 60k | today | Python | OpenAI API · Claude API |
| PenguinHarness | 67 · Some gaps | Desktop appFree + model costs | ★ 3.2k | today | TypeScript | OpenAI API · Claude API |
| Agent Systems Handbook | 62 · Some gaps | Web appFree | ★ 313 | 23d ago | MDX | — |
How does FollowAgents rate this agent?
Why each dimension lost points
The returns skill limits its tools to policy lookup, product information, and file reading, and directs answers to use tool and reference evidence, so least privilege and data flow are partly addressed. The Spot sample uses robot credentials from environment variables and exposes movement, power, and docking actions. Its prompt asks the agent to check status and confirm intent, but no enforceable confirmation or permission gate is shown. No sensitive data safeguards, dependency locks, or rollback mechanism are evidenced; robot_stop stops an action rather than rolling it back. The README links the project and documentation, but publisher identity is unverified, leaving attribution evidence limited.
The samples include basic setup instructions and a few test files, but this does not establish dependency availability across the repository. The Spot prompt refers to robot_toggle_estop, which is absent from the shown import list, indicating a concrete inconsistency. The code excerpt shows an exception-handling entry point, but there is insufficient evidence of clear, consistent failure messages across samples; scores remain limited.
The repository covers Python, TypeScript, deployment, integrations, industry scenarios, and edge devices, with a broad audience and range of uses. The quick starts specify requirements for both languages. Skill descriptions identify trigger topics and when to consult references, making their scope reasonably clear. Scores are limited because some samples describe broad capabilities and safety procedures without showing consistent capability boundaries or environment adaptation.
The README organizes samples by language and purpose and provides quick starts, installation guidance, a contribution entry point, and a production-use limitation. The Apache-2.0 license text is clear. Sample names and categories are generally understandable, but package installation relies on checking each sample, and no FAQ or version history is shown. The contribution guide provides a basic maintenance path but does not name a responsible maintainer; unknown publisher identity causes no separate deduction.
The first-agent examples, skill workflows, and UI sample show usable output forms and practical purposes across beginner and specialized scenarios. Scores are limited because the repository is a collection of demonstrations whose value and cost depend on the individual sample, and the README explicitly says they are not intended for direct production use. The evidence does not support a stronger repository-wide cost-benefit claim.
The README installation requirements, skill steps, and shown code make most assessments traceable; the license file corroborates the license claim. Cross-source corroboration is limited because there is not enough material to verify individual samples against their documentation. The skills direct answers to tool and reference evidence, and the UI sample requires totals from a summary tool rather than manual calculation, supporting separation of facts from inference in those examples; this cannot be generalized to the whole repository.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- The repository says its samples are for demonstration and education, not direct production use; review the security and testing requirements for each sample before adoption.
- The Spot sample controls a physical robot, and the shown workflow relies on the model following its prompt; the prompt alone does not establish enforceable confirmation or physical safety interlocks.
- The Spot prompt refers to robot_toggle_estop, which is not shown in the import list; the excerpt does not establish whether the tool is provided elsewhere.
FAQ
Can these samples be deployed directly to production?
What credentials or access are needed before running an example?
Are both Python and TypeScript supported?
Where does the starter example put its result?
Does the repository include deployment references?
Thanks — we use this to improve the page.