Soothe Community Plugins
Standalone community plugins package for the Soothe agent orchestration framework.
Installation
pip install soothe-plugins
Available Plugins
Sample Echo
Minimal echo subagent for testing soothe-plugins integration. See CONTRIBUTING.md for plugin development guide.
Skillify
Skill warehouse indexing and semantic retrieval agent. Provides background indexing loop and retrieval capabilities for skill discovery.
Weaver
Generative agent framework with skill harmonization. Composes skills from Skillify, resolves conflicts, and generates task-specific subagents dynamically.
BrowserUse and Claude Code
Delegated browser-use and Claude agent SDK subagents (IG-415). Install with pip install "soothe-plugins[browser_use]" or "soothe-plugins[claude]" and enable subagents.browser_use / subagents.claude in config. Spec: docs/RFC-601-community-agents.md.
Extensibility
This package is designed for extensibility. You can easily add new community plugins:
Available Plugin Types
- Subagent Plugins: Complex multi-step agents using langgraph
- Tool Plugins: Simple functions exposed as tools
- Hybrid Plugins: Both subagents and tools
Future Plugins
The package structure supports adding new plugins:
src/soothe_plugins/
├── sample_echo/ # Minimal test subagent (example plugin)
├── paperscout/ # ArXiv paper recommendations
├── [your_plugin]/ # Your future plugin
└── [another_plugin]/ # Another future plugin
See CONTRIBUTING.md for detailed guidelines on adding new plugins.
Plugin Template
Use the provided template to create new plugins:
cp -r src/soothe_plugins/.plugin_template src/soothe_plugins/your_plugin
Development
Setup
# Clone the repository
git clone https://github.com/mirasoth/soothe-plugins.git
cd soothe-plugins
# Install in development mode
pip install -e ".[dev]"
Testing
# Run all tests
pytest tests/
# Run specific plugin tests
pytest tests/test_paperscout/
# With coverage
pytest tests/ --cov=src/soothe_plugins
Code Quality
# Format code
ruff format src/ tests/
# Lint code
ruff check --fix src/ tests/
Documentation
- README.md: This file - overview and quick start
- CONTRIBUTING.md: How to add new plugins
- docs/RFC-601-community-agents.md: Architecture RFC for community agents
- src/soothe_plugins/.plugin_template/: Template for new plugins
Architecture
Each plugin follows the RFC-0018 plugin system:
Plugin Package
├── __init__.py # @plugin, @subagent, @tool decorators
├── events.py # Custom events (optional)
├── models.py # Data models
├── state.py # Agent state (if subagent)
├── implementation.py # Core logic
└── README.md # Plugin documentation
License
MIT
Metadata
Release files for soothe-plugins 0.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| soothe_plugins-0.2.6.tar.gz | 49.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| soothe_plugins-0.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.1 kB
Release files / soothe_plugins-0.2.6.tar.gz
| Download URL | soothe_plugins-0.2.6.tar.gz |
|---|---|
| Size | 49.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f867ff144dea0638e7114debe50018975e2ecda904a1a7005b0aafabba4ef2c7
|
|
BLAKE2b-256 checksum How to use checksums |
2ff85066fb777a608cd3842e06c6bc001c588232ec13e29e6d9a34e2bd4ff6bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / soothe_plugins-0.2.6-py3-none-any.whl
| Download URL | soothe_plugins-0.2.6-py3-none-any.whl |
|---|---|
| Size | 44.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a7c596ecdb393f3f08041114edb55d2790af87eea00ed6858864eddab86b5670
|
|
BLAKE2b-256 checksum How to use checksums |
dde97e60f340f5f98b696b822207eecdaf9c50c6d440ac9eee37f2ae021ffff4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|