Task
Add a Slack notification tool so any agent can post messages to a Slack channel.
File to create
packages/techtide-swarm/src/techtide_swarm/tools/slack_notify.py
Also register it in packages/techtide-swarm/src/techtide_swarm/tools/registry.py.
Tool interface
# Tool name for TOOLSET_MAP: "SlackNotify"
# Input schema:
{
"channel": "#general", # Slack channel name
"message": "...", # Markdown-formatted message
"webhook_url": "https://..." # Optional override; falls back to SLACK_WEBHOOK_URL env var
}
Implementation notes
- Use
httpx.post() (already a dependency) to call the Slack Incoming Webhook URL
- Read
SLACK_WEBHOOK_URL from environment via os.getenv()
- Return
{"ok": true} on success, raise on HTTP error
- Must pass through
BashSecurityGate validation if invoked via Bash
How to test
make install
make test # existing tests must still pass
# manual: set SLACK_WEBHOOK_URL and call the tool directly
Estimated effort
1 hour
See CONTRIBUTING.md for setup instructions.
Task
Add a Slack notification tool so any agent can post messages to a Slack channel.
File to create
packages/techtide-swarm/src/techtide_swarm/tools/slack_notify.pyAlso register it in
packages/techtide-swarm/src/techtide_swarm/tools/registry.py.Tool interface
Implementation notes
httpx.post()(already a dependency) to call the Slack Incoming Webhook URLSLACK_WEBHOOK_URLfrom environment viaos.getenv(){"ok": true}on success, raise on HTTP errorBashSecurityGatevalidation if invoked via BashHow to test
Estimated effort
1 hour
See CONTRIBUTING.md for setup instructions.