Natural language workflows that enable AI agents to perform complex, multi-step tasks with consistency and reliability
Project description
A comprehensive Python package that provides Agent Standard Operating Procedures (SOPs) as importable strings, structured prompts for AI agents via Model Context Protocol (MCP), and Anthropic Skills generation capabilities.
🚀 Quick Start
Strands Agents SDK Usage
# Install the package
pip install strands-agents strands-agents-tools strands-agents-sops
from strands import Agent
from strands_tools import shell, editor
import strands_agents_sops as sops
# Create an agent with the Prompt-Driven Development SOP
agent = Agent(
system_prompt=sops.pdd,
tools=[shell, editor]
)
# Use SOPs with custom input
agent = Agent(
system_prompt=sops.pdd_with_input("Help me design a REST API"),
tools=[shell, editor]
)
MCP Server Usage
# Install and run MCP server
pip install strands-agents-sops
# Start with built-in SOPs only
strands-agents-sops mcp
# Load external SOPs from custom directories (sops in path must have `.sop.md` postfix)
strands-agents-sops mcp --sop-paths ~/my-sops:/path/to/other-sops
# External SOPs override built-in SOPs with same name
strands-agents-sops mcp --sop-paths ~/custom-sops
Add to your MCP client configuration:
{
"mcpServers": {
"agent-sops": {
"command": "strands-agents-sops",
"args": ["mcp", "--sop-paths", "~/my-sops"]
}
}
}
Anthropic Skills Generation
# Generate skills for Claude
strands-agents-sops skills
# Custom output directory
strands-agents-sops skills --output-dir my-skills
# Include external SOPs in skills generation (sops in path must have `.sop.md` postfix)
strands-agents-sops skills --sop-paths ~/my-sops --output-dir ./skills
External SOP Loading
Both MCP and Skills commands support loading custom SOPs:
- File format: Only files with
.sop.mdpostfix are recognized as SOPs - Colon-separated paths:
~/sops1:/absolute/path:relative/path - Path expansion: Supports
~(home directory) and relative paths - First-wins precedence: External SOPs override built-in SOPs with same name
- Graceful error handling: Invalid paths or malformed SOPs are skipped with warnings
# Create custom SOP
mkdir ~/my-sops
cat > ~/my-sops/custom-workflow.sop.md << 'EOF'
# Custom Workflow
## Overview
My custom workflow for specific tasks.
## Steps
### 1. Custom Step
Do something custom.
EOF
# Use with MCP server
strands-agents-sops mcp --sop-paths ~/my-sops
🧪 Development & Testing
Setup Development Environment
# Navigate to python directory
cd python
# Install development dependencies
pip install hatch
Running Tests
# Run all tests with coverage
hatch test
Code Formatting & Linting
# Format code with Ruff
hatch run format
# Check linting issues
hatch run lint
# Auto-fix linting issues
hatch run lint-fix
# Clean build artifacts and cache
hatch run clean
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strands_agents_sops-1.1.1.tar.gz.
File metadata
- Download URL: strands_agents_sops-1.1.1.tar.gz
- Upload date:
- Size: 45.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e36a72cfb806b20099856b28bbf6f6c317d1caa318608bb302e6467ed33c1361
|
|
| MD5 |
d2694dd402ff0cc150c69ecc41084fef
|
|
| BLAKE2b-256 |
c6d6efa19f4e061820c7d5e3ac8de8bd3716adaad6678209b16eb7a03ecee875
|
Provenance
The following attestation bundles were made for strands_agents_sops-1.1.1.tar.gz:
Publisher:
pypi-publish-on-release.yml on strands-agents/agent-sop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strands_agents_sops-1.1.1.tar.gz -
Subject digest:
e36a72cfb806b20099856b28bbf6f6c317d1caa318608bb302e6467ed33c1361 - Sigstore transparency entry: 1033236360
- Sigstore integration time:
-
Permalink:
strands-agents/agent-sop@7b71239492c51bbba5a2705e139da9503f36f0b6 -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/strands-agents
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish-on-release.yml@7b71239492c51bbba5a2705e139da9503f36f0b6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file strands_agents_sops-1.1.1-py3-none-any.whl.
File metadata
- Download URL: strands_agents_sops-1.1.1-py3-none-any.whl
- Upload date:
- Size: 49.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6253d147f94f4dc28ba51e88aebb264c25a3521b0d03f4129b1b0c68ae540dc
|
|
| MD5 |
dadd442a70d651a84d03adb02355fb31
|
|
| BLAKE2b-256 |
aa1eb75b4450496db191205c5e03666118ead5e08960af07d0fd42181a4729c9
|
Provenance
The following attestation bundles were made for strands_agents_sops-1.1.1-py3-none-any.whl:
Publisher:
pypi-publish-on-release.yml on strands-agents/agent-sop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strands_agents_sops-1.1.1-py3-none-any.whl -
Subject digest:
c6253d147f94f4dc28ba51e88aebb264c25a3521b0d03f4129b1b0c68ae540dc - Sigstore transparency entry: 1033236457
- Sigstore integration time:
-
Permalink:
strands-agents/agent-sop@7b71239492c51bbba5a2705e139da9503f36f0b6 -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/strands-agents
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish-on-release.yml@7b71239492c51bbba5a2705e139da9503f36f0b6 -
Trigger Event:
release
-
Statement type: