APM

>Agent Skill

@cloudflare/markdown-drafts

skilldevelopment

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.

cppgit
apm::install
$apm install @cloudflare/markdown-drafts
apm::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.