| name | draft |
| description | Generate reply drafts, content drafts, or message drafts. Use for /draft, 'write a reply to X', 'draft a message about X', 'help me respond to X'. Stores drafts in vault/drafts/ with an active/sent/expired lifecycle. |
Draft Skill
Generate reply and content drafts. Match the owner's voice. Store in vault/drafts/.
Draft Flow
1. Understand the Request
Determine:
- What kind of draft: reply, chat message, email, post, summary, document section
- Audience: colleague, customer, stakeholder, public
- Tone: professional, casual, direct, technical
- Context: what background does the vault hold?
Ask for missing context if needed — but keep it to ONE question.
2. Search for Context
Before drafting, check (index-first):
vault/ notes related to the topic
vault/streams/{stream}.md if the draft belongs to a stream
vault/MEMORY.md for communication preferences
vault/SOUL.md Voice section
This ensures the draft reflects what the owner actually thinks, not generic text.
2.5 Stream-Specific Language
If the target stream's file declares a language field, draft the body in that language and keep a one-line summary in the vault's default language at the top (for searchability). Match any tone guidance in the stream file.
3. Generate the Draft
Guidelines (defaults — refine via vault/SOUL.md Voice and MEMORY.md preferences):
- Lead with the key point
- Don't hedge unnecessarily
- Keep it shorter than feels right — the owner will expand if needed
- Numbers over adjectives ("2 days", not "a couple of days")
- Bullets for lists, not long paragraphs
- Avoid filler: "I hope this finds you well", "Please don't hesitate to reach out"
Show the draft inline:
Draft — message to team re: deploy delay
---
Quick update on the deploy:
- ~2 day delay due to a memory config issue
- Fix in progress, ETA Thursday EOD
- No user impact — staging only
Will update once it's live.
---
Send as-is, edit, or regenerate?
4. Save as Active Draft
Save to vault/drafts/YYYY-MM-DD-draft-slugified-title.md:
---
type: draft
date: YYYY-MM-DD
status: active
expires: YYYY-MM-DD # +48h
audience: team
channel: chat
stream_id: side-project
topic: deploy delay
tags: [draft, side-project]
---
# Draft: Deploy Delay — team message
[draft body]
Compile step (drafts are not exempt — CLAUDE.md rule 6): add an index row under Drafts, wikilink the draft to its source item and stream hub, and append a vault/log.md line:
## [YYYY-MM-DD HH:MM] draft | "Deploy delay — team message" → vault/drafts/ (stream: side-project)
5. Draft Lifecycle
- active — in use, not yet sent.
/reflect surfaces active drafts older than 24h.
- sent — when the owner says "sent it" / "used this": set
status: sent, add sent_date.
- expired — auto-archive after 48h if still active: set
status: expired. Still readable, no longer surfaced.
Commands
/draft [description] — new draft (default)
/draft sent — mark the most recent active draft as sent
/draft list — show all active drafts
/draft expire — manually expire a draft
Voice Calibration
The owner's voice lives in vault/SOUL.md (Voice section) and accumulates in vault/MEMORY.md (Preferences). When the owner edits a draft before sending, note WHAT they changed — recurring edits (3+) are a preference worth proposing for MEMORY.md.