# Slack Drafts

Create Slack message drafts in the user's own composer, as the user, through their...

- Repository: https://github.com/yc-software/qm (15597 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add yc-software/qm --skill slack-drafts -g -a claude-code -y`
Codex: `npx skills add yc-software/qm --skill slack-drafts -g -a codex -y`
Cursor: `npx skills add yc-software/qm --skill slack-drafts -g -a cursor -y`
Gemini CLI: `npx skills add yc-software/qm --skill slack-drafts -g -a gemini-cli -y`

## Description

Create Slack message drafts in the user's own composer, as the user, through their per-user Slack OAuth. Drafting only, the user reviews and sends from Slack.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Slack drafts

Use this skill when the user wants a Slack message prepared for them to review and
send themselves: "draft a reply to X", "prep a message for #general", "write that up
as a Slack draft". The draft lands in their own Slack composer, attributed to them,
targeted at the conversation you choose, nothing is posted.

This is an OAuth connector. The resolved user's Slack user token lives on your
computer as `$VAULT_TOKEN_SLACK_COM`. Do not ask the user for a token, log it, or
use another principal's. If the variable is empty or Slack returns 401/403, the user
either has not connected Slack or connected before this permission existed, tell
them to (re)connect it through the product OAuth flow.

Use the bundled helper for every draft, it owns destination resolution, rich-text
block construction, and the required draft envelope:

Run these commands with `execute` and an explicit `sandbox_id`, using the absolute
directory reported by the skill read in place of `<skill dir>`. Keep that ID for
preparing body files and running the helper.

```bash
python3 "<skill dir>/scripts/slack_drafts.py" create --to '#general' --text 'hello'
python3 "<skill dir>/scripts/slack_drafts.py" create --to '@jane' --text-file body.txt
python3 "<skill dir>/scripts/slack_drafts.py" create --to C0123ABCDEF --thread-ts 1712345678.000100 --text '...'
python3 "<skill dir>/scripts/slack_drafts.py" resolve --to '#general'
```

The rest: https://github.com/yc-software/qm/blob/HEAD/skills-seed/slack-drafts/SKILL.md
