doggy8088/discord-markdown-converter/discord-markdown
Claude Code and agent skill by doggy8088/discord-markdown-converter
- community
Checking that the SKILL.md file is still in the repository.
Write Markdown that renders correctly when pasted into a Discord message. Use when the output is destined for Discord (a channel post, DM, announcement, bot message, or "format this for Discord"), or when converting an existing Markdown document for Discord.
Install
npx vskill@latest install doggy8088/discord-markdown-converter/discord-markdownSKILL.md
Discord Markdown
Discord renders a small subset of Markdown and renders it literally: every blank line becomes visible vertical space, and unsupported syntax shows up as raw characters. Write for that renderer from the start rather than writing standard Markdown and hoping.
Rules 1 to 5, and the file:// case of rule 6, are transformations that the bundled converter (scripts/converter.js, a copy of this repo's js/converter.js) performs mechanically. Rule 8 is a guarantee the converter makes. The rest are authoring rules. The checker in scripts/check.js covers both groups; see the final section.
Supported syntax
| Element | Write | |||||
|---|---|---|---|---|---|---|
| Headings | # , ## , ### only (three levels), starting at column 1 | |||||
| Subtext (small grey line) | -# text | |||||
| Bold / italic / underline / strike | **b**, *i*, __u__, ~~s~~ | |||||
| Spoiler | `\ | \ | hidden\ | \ | ` | |
| Inline code / code block | ` code , fenced `` `lang `` block (backticks only; ~~~` is not a fence in Discord) | |||||
| Quote | > line (single) or >>> (rest of message) | |||||
| Bullet list | - item or * item (+ is not a marker); nest with exactly two leading spaces | |||||
| Numbered list | 1. item (1) is not a marker) | |||||
| Link | [text](https://url); wrap as <https://url> to suppress the embed card |
Rules
Each rule names what to write instead of the unsupported form.
- Tables become lists. Discord has no tables, inside quotes included. A one-row table becomes a flat list of
**Header**: valueitems. A multi-row table becomes a nested list: the first column is the top-level item, the remaining columns are its sub-items indented by two spaces. Move a parenthesised unit out of the bold:**總花費**(USD):$152.39. - Headings stop at `###`. Write
###for anything that would be H4 or deeper. Flatten or use bold text for finer structure. - No blank lines around headings, list items, or quotes. Put a heading, list item, or
>line directly against its neighbours, including before a code fence. Separate plain paragraphs with a single blank line only. - No horizontal rules. Drop
---,***,___, including inside quotes. Use a heading or-#subtext to mark a section change. - LaTeX becomes Unicode or emoji.
$\rightarrow$→ ➡️,$\alpha$→ α,$\leq$→ ≤,$\infty$→ ∞,$\sqrt{2}$→ √2. Write the symbol directly. - Links point at `http(s)://` only. A
file://or other-scheme link renders as broken text. Write the file path as inline code with no link: `src/clients.rs`. - Colon style follows the language. CJK content uses a full-width colon with no space (
**欄位**:值). Latin content uses:(**Field**: value). - Code is untouched. Everything inside a fence or an inline code span is preserved verbatim, including
---and$...$, also when the fence sits inside a quote (>`js). A fence closes only on the same marker character at the same or greater length. Put content that must survive literally inside code. - One message is 2,000 characters. Bot and webhook messages go through the API and are always capped at 2,000. A human Nitro subscriber can post up to 4,000, but target 2,000 unless told the sender is a Nitro user. Split longer output at a heading boundary and label the parts.
Not supported at all, so leave them out: HTML, images via ![](), task lists - [ ], footnotes, nested blockquotes, definition lists, and <details>.
Example
Standard Markdown:
Discord Markdown:
Check before delivering
Run the checker bundled beside this file. The path is relative to this SKILL.md, so it works from any working directory once the skill is installed.
The checker runs the converter, then lints the draft itself (so line numbers match the file you edit), skipping fenced blocks and inline code. It reports, with line numbers:
- A non-zero converter stat: the draft still contains a form that rules 1 to 6 rewrite. Write the converted form directly.
- Unsupported constructs the converter passes through untouched: images (inline, reference or shortcut style), reference-style links and their
[ref]: urldefinitions, task lists, any HTML tag or comment (including ones split across lines),~~~fences, tables inside quotes,+and1)list markers, indented headings, empty link destinations, footnotes, nested quotes (> >or>>), definition lists, Setext underline headings, link or autolink destinations that do not start withhttp(s)://(relative paths,#anchors,<mailto:…>included), TeX math ($$...$$,$\cmd$, or$...$containing\ ^ _ { }or an operator with no spaces; plain currency such as$5 and $10is not flagged), and a half-width colon after a CJK bold label. - Converted length over 2,000 characters.
Done when the checker exits 0 (it prints 通過) for the message, or for each part of a split message. One thing it cannot judge: that a split lands on a heading boundary. Confirm that by eye.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/discord-markdown/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/doggy8088/discord-markdown-converter/discord-markdown)