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 Agent 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
Most MCP clients start the server command from their own config. For example, in Kiro CLI you typically add strands-agents-sops mcp to ~/.kiro/settings/mcp.json and let Kiro launch it automatically.
The underlying server command is:
# 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
For Kiro CLI, add this to ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"agent-sops": {
"command": "strands-agents-sops",
"args": ["mcp", "--sop-paths", "~/my-sops"],
"env": {}
}
}
}
The agent-sops key is only a label for the MCP server, so you can rename it if you want.
Remove --sop-paths if you only want the built-in SOPs.
After updating the config, restart Kiro CLI or reload MCP servers. You do not need to run strands-agents-sops mcp in a separate terminal once Kiro is configured.
Agent Skills Generation
# Generate Agent Skills for Claude and other skill-compatible agents
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
Metadata
Release files for strands-agents-sops 1.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| strands_agents_sops-1.1.4.tar.gz | 47.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| strands_agents_sops-1.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.9 kB
Release files / strands_agents_sops-1.1.4.tar.gz
| Download URL | strands_agents_sops-1.1.4.tar.gz |
|---|---|
| Size | 47.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9cf719fb3368bd3c20d253688d16f39a8e44b779a618fd976696eeac274b46f6
|
|
BLAKE2b-256 checksum How to use checksums |
0e133a84d239ac3e06c2aa024f0c5213074c990b00e2166976c4691cf55d1f9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / strands_agents_sops-1.1.4-py3-none-any.whl
| Download URL | strands_agents_sops-1.1.4-py3-none-any.whl |
|---|---|
| Size | 50.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
191ffeb7aac40dcc060819741b798a269ce6e6e2e4f3cc4e960d6d2fa4b423cf
|
|
BLAKE2b-256 checksum How to use checksums |
2117f9c014d037e098580ce7c224aadfee01156c752d2dc82ccab649d57c610e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency log