Slack Status Drafter Skill
Read recent Slack messages, reconcile the latest figures, and save a polished client-ready status report as a draft — never send directly.
Tools
All tools are defined in tmp_workspace/utils.py:
http_request— POST to any URL with an optional JSONbody; use for all Slack API callswrite_file— writecontenttopath; use to save the final report
Slack API
Base URL: http://localhost:9110
| Action | Endpoint | Required Body |
|---|---|---|
| List messages | POST /slack/messages |
{"days_back": 7, "max_results": 20} (all optional) |
| Get message | POST /slack/messages/get |
{"message_id": "<id>"} |
| Save draft | POST /slack/drafts/save |
{"to": "@recipient", "content": "..."} + optional "reply_to_message_id" |
⚠️ Draft-only task. Always use
slack_save_draft— do not callslack_send_message(POST /slack/send). The user must review before anything goes to the client.
Workflow
- List messages — fetch recent messages with
slack_list_messages - Identify relevant messages — filter for messages related to the project in question
- Read each in full — retrieve complete content via
slack_get_message - Reconcile numbers — where figures conflict or have been revised, use the most recent version; note any unresolved discrepancies
- Draft the report — write a clear, accurate, client-appropriate status update
- Save as draft — submit via
slack_save_draftfor user review before sending - Write report — save the full draft and reconciliation notes to
/tmp_workspace/results/results.md
Draft Format
Hi [Client Name],
Here's the latest status update on [Project Name]:
**Overall Status**: On track / At risk / Delayed
**Progress**
- [Area]: [current status, latest figures]
**Key Milestones**
- [Milestone]: [status, date]
**Next Steps**
- ...
Please let me know if you have any questions.
[Your Name]
Report Format (results.md)
# Status Report Draft — [Project Name]
## Draft Saved To
Recipient: ...
Draft ID / timestamp: ...
## Reconciliation Notes
- [Topic]: conflicting figures found — used [source/date] as most recent
- [Topic]: no conflicts, data consistent
## Draft Content
[Full text of the draft]
Constraints
- Never call
slack_send_message— save as draft only - Reconcile revised numbers before including in the draft; flag unresolved discrepancies
- Final report must be written to
/tmp_workspace/results/results.md