markdown-drafts
skill✓Use markdown formatting when drafting content intended for external systems (GitHub issues/PRs, Jira tickets, wiki pages, design docs, etc.) so formatting is preserved when the user copies it. Load this skill before producing any draft the user will paste elsewhere.
apm::install
apm install @cloudflare/markdown-draftsapm::skill.md
---
name: markdown-drafts
description: Use markdown formatting when drafting content intended for external systems (GitHub issues/PRs, Jira tickets, wiki pages, design docs, etc.) so formatting is preserved when the user copies it. Load this skill before producing any draft the user will paste elsewhere.
---
## Markdown Drafts
When the user asks you to draft, write, or compose content that will be copied into an external
system — GitHub issues, pull request descriptions, Jira tickets, wiki pages, design documents,
RFCs, or similar — **always use markdown syntax** so that formatting survives the copy-paste.
### When This Applies
- GitHub issues and pull request descriptions
- Jira ticket descriptions and comments
- Confluence / wiki page drafts
- Design documents and RFCs
- Slack messages (Slack renders a subset of markdown)
- Any content the user explicitly says will be copied elsewhere
### Formatting Rules
- Use `#`, `##`, `###` headers to create structure
- Use `-` or `*` for unordered lists, `1.` for ordered lists
- Use triple-backtick fenced code blocks with language tags (e.g., ` ```cpp `) for code
- Use `inline code` backticks for identifiers, file paths, commands, and config values
- Use `**bold**` for emphasis on key points and `_italic_` for secondary emphasis
- Use markdown tables when presenting structured comparisons or data
- Use `> blockquotes` for callouts, quoted text, or important notes
- Use `[link text](url)` for references — never bare URLs in running prose
- Use `---` horizontal rules to separate major sections when appropriate
- Use task lists (`- [ ]` / `- [x]`) when drafting action items or checklists
- Keep line lengths reasonable (e.g., 80-120 characters)
### Structure Guidelines
- Start with a concise summary paragraph before diving into details
- Use headers to break content into scannable sections
- Keep paragraphs short — walls of text are hard to scan in issue trackers
- Put the most important information first (inverted pyramid)
- End with next steps, open questions, or action items when relevant
### Rendering: Always Emit Raw Markdown
The chat interface renders markdown, which strips the raw syntax (`###`, `**`, `` ` ``, etc.) from
the output. Since these drafts are meant to be **copied and pasted** into external systems, the user
needs the raw markup characters preserved.
**Always wrap the entire draft in a fenced code block** so the chat interface displays it as literal
text. Use a plain triple-backtick fence (no language tag):
```
## My Heading
- bullet one
- **bold text** and `code`
```
This ensures the user sees and can copy the exact markdown source. Never render the draft as
formatted text outside a code fence — the markup will be silently consumed by the chat UI.
### What NOT To Do
- Do not render the draft as formatted markdown outside a code fence — the user will lose the syntax
- Do not use plain text formatting (e.g., ALL CAPS for headers, `====` underlines, manual indentation)
- Do not use HTML tags unless the target system requires them and markdown is insufficient
- Do not add emoji unless the user's draft style includes them or they explicitly request it
- Do not use common cliche AI-generated phrases, tropes, or filler content like tricolons,
or generic intros/outros. Be concise and to the point.
- Do not include editorial comments or unsubstantiated claims. Stick to the facts and the user's
instructions precisely. If you need to ask clarifying questions, do so instead of making assumptions.