Markdown Expert
Overview
Advanced expertise in Markdown authoring — from technical documentation and README files to specification docs, changelogs, wikis, blog posts, and knowledge bases. Specialized in clean structure, consistent formatting, rich content, and platform-specific Markdown dialects.
Use this skill with /markdown-skill to write, review, restructure, or convert any Markdown content.
1. Markdown Dialects & Platforms
- CommonMark: the universal baseline standard
- GitHub Flavored Markdown (GFM): tables, task lists, strikethrough, autolinks, alerts
- GitLab Flavored Markdown: mermaid diagrams, math, footnotes, table of contents
- Obsidian: wikilinks
[[Note]], callouts, embeds, dataview blocks, canvas
- MDX: JSX components inside Markdown for React/Next.js documentation
- Docusaurus / VitePress / MkDocs: admonitions, tabs, code groups, versioned docs
- Notion: block-based Markdown import/export patterns
- Confluence: wiki markup vs Markdown interop
- Pandoc: universal document conversion (Markdown ↔ HTML, PDF, DOCX, LaTeX)
2. Document Structure & Hierarchy
- Heading hierarchy:
# H1 (one per doc) → ## H2 → ### H3 (max 3 levels typical)
- Table of contents: manual links vs auto-generated (
[[_TOC_]], <!-- toc -->)
- Section ordering: Overview → Prerequisites → Core content → Examples → Reference → FAQ
- Front matter (YAML):
title, date, author, tags, description, slug
- Document types: README, CONTRIBUTING, CHANGELOG, ADR, RFCs, runbooks, how-tos
- Navigation design: breadcrumbs, "next/prev" links, related docs
3. Text Formatting
- Bold
**text** — emphasis on key terms, warnings, important values
- Italic
*text* — titles of works, introducing new terms, soft emphasis
Strikethrough ~~text~~ — deprecated items, corrections
Inline code `code` — file names, commands, variables, function names
Blockquote — callouts, quotes, notes, warnings
- Horizontal rule
--- — major section separators
- Avoid overusing bold/italic — reserve for genuine emphasis
- Line length: keep prose under 100 chars for diff-friendly writing
4. Lists
- Unordered lists
- — features, options, non-sequential items
- Ordered lists
1. — steps, ranked items, sequential procedures
- Task lists
- [ ] / - [x] — checklists, progress tracking (GFM)
- Nested lists: indent with 2 or 4 spaces consistently
- Definition lists (extended Markdown): term +
: definition
- Best practices: parallel grammatical structure, avoid mixing list types, use sub-lists sparingly
5. Code Blocks
```language
code here
```
- Always specify language for syntax highlighting:
bash, python, typescript, yaml, json, sql, dockerfile, hcl, go, rust, jsx
- Use
diff language for showing changes (+ additions, - removals)
- Shell commands: use
bash or sh, prefix interactive commands with $
- Long code blocks: add filename comment at top or use code block titles (platform-specific)
- Avoid screenshots of code — always use fenced code blocks
6. Tables
| Column A | Column B | Column C |
|----------|----------|----------|
| value | value | value |
- Alignment:
|:---| left, |:---:| center, |---:| right
- Keep tables narrow — split wide tables into multiple focused ones
- Table alternatives: use lists when rows > 10 or cells contain long text
- Caption pattern: bold line directly above the table
- GFM tables don't support multi-line cells — use HTML
<table> if needed
7. Links & References
- Inline links:
[text](URL) — use for one-off references
- Reference links:
[text][ref] + [ref]: URL — use for repeated URLs
- Relative links:
[file](./path/to/file.md) — preferred in repos
- Anchor links:
[section](#heading-slug) — heading IDs are auto-generated
- Image:
 — always write descriptive alt text
- Badge syntax (shields.io):
[](link-url)
- Footnotes:
text[^1] + [^1]: footnote text (supported in GFM, MDX)
8. GitHub-Specific Features
9. Document Types & Templates
README
# Project Name
> One-line description
## Features
## Quick Start
## Installation
## Usage
## Configuration
## Contributing
## License
CHANGELOG (Keep a Changelog format)
# Changelog
## [Unreleased]
## [1.2.0] - YYYY-MM-DD
### Added / Changed / Deprecated / Removed / Fixed / Security
Architecture Decision Record (ADR)
# ADR-001: Title
## Status: Accepted
## Context
## Decision
## Consequences
Runbook
# Runbook: Incident Name
## Symptoms
## Diagnosis Steps
## Resolution Steps
## Rollback
## Prevention
How-To Guide
## Overview
## Prerequisites
## Steps
### Step 1: Title
### Step 2: Title
## Verification
## Troubleshooting
10. Writing Quality & Style
- Clarity: one idea per sentence, active voice, concrete nouns
- Scanability: headers every 3-5 paragraphs, bold key terms, short paragraphs
- Completeness: prerequisites stated upfront, examples for every feature
- Consistency: same term for the same concept throughout, consistent casing
- Tone: technical docs → formal and precise; tutorials → friendly and direct
- Avoiding jargon: define acronyms on first use:
CI/CD (Continuous Integration/Continuous Delivery)
- Numbers: spell out under ten; use numerals for 10+, measurements, versions
- Code vs prose: use inline code for anything a user would type or copy
11. Markdown Linting & Quality Checks
- markdownlint rules: MD001 heading levels, MD013 line length, MD022 blank lines around headings
- Consistent blank lines: one blank line before/after headings, code blocks, lists
- No trailing spaces (except intentional line break with two spaces)
- No bare URLs — always wrap in angle brackets
<url> or use link syntax
- Validate all links: no broken relative paths, no 404 URLs
- Alt text on all images: never empty
![]()
- Ordered list numbering: always use
1. (auto-numbered) for maintainability
Core Competency Summary
- Write clear, well-structured Markdown for any document type
- Apply correct dialect for the target platform (GFM, MDX, Obsidian, etc.)
- Format tables, code blocks, lists, and links with precision
- Author READMEs, changelogs, ADRs, runbooks, how-tos, and API docs
- Embed diagrams (Mermaid), math, and rich media elements
- Review and refactor existing Markdown for structure, clarity, and consistency
- Convert between document formats using Pandoc-compatible patterns
- Enforce linting standards for consistent, maintainable documentation
1---2name: markdown-skill3description: Markdown Expert4---5# Markdown Expert67## Overview8Advanced expertise in Markdown authoring — from technical documentation and README files to specification docs, changelogs, wikis, blog posts, and knowledge bases. Specialized in clean structure, consistent formatting, rich content, and platform-specific Markdown dialects.910Use this skill with `/markdown-skill` to write, review, restructure, or convert any Markdown content.1112---1314## 1. Markdown Dialects & Platforms1516- **CommonMark**: the universal baseline standard17- **GitHub Flavored Markdown (GFM)**: tables, task lists, strikethrough, autolinks, alerts18- **GitLab Flavored Markdown**: mermaid diagrams, math, footnotes, table of contents19- **Obsidian**: wikilinks `[[Note]]`, callouts, embeds, dataview blocks, canvas20- **MDX**: JSX components inside Markdown for React/Next.js documentation21- **Docusaurus / VitePress / MkDocs**: admonitions, tabs, code groups, versioned docs22- **Notion**: block-based Markdown import/export patterns23- **Confluence**: wiki markup vs Markdown interop24- **Pandoc**: universal document conversion (Markdown ↔ HTML, PDF, DOCX, LaTeX)2526---2728## 2. Document Structure & Hierarchy2930- Heading hierarchy: `#` H1 (one per doc) → `##` H2 → `###` H3 (max 3 levels typical)31- Table of contents: manual links vs auto-generated (`[[_TOC_]]`, `<!-- toc -->`)32- Section ordering: Overview → Prerequisites → Core content → Examples → Reference → FAQ33- Front matter (YAML): `title`, `date`, `author`, `tags`, `description`, `slug`34- Document types: README, CONTRIBUTING, CHANGELOG, ADR, RFCs, runbooks, how-tos35- Navigation design: breadcrumbs, "next/prev" links, related docs3637---3839## 3. Text Formatting4041- **Bold** `**text**` — emphasis on key terms, warnings, important values42- *Italic* `*text*` — titles of works, introducing new terms, soft emphasis43- ~~Strikethrough~~ `~~text~~` — deprecated items, corrections44- `Inline code` `` `code` `` — file names, commands, variables, function names45- > Blockquote — callouts, quotes, notes, warnings46- Horizontal rule `---` — major section separators47- Avoid overusing bold/italic — reserve for genuine emphasis48- Line length: keep prose under 100 chars for diff-friendly writing4950---5152## 4. Lists5354- **Unordered lists** `- ` — features, options, non-sequential items55- **Ordered lists** `1. ` — steps, ranked items, sequential procedures56- **Task lists** `- [ ]` / `- [x]` — checklists, progress tracking (GFM)57- **Nested lists**: indent with 2 or 4 spaces consistently58- **Definition lists** (extended Markdown): term + `:` definition59- Best practices: parallel grammatical structure, avoid mixing list types, use sub-lists sparingly6061---6263## 5. Code Blocks6465````markdown66```language67code here68```69````7071- Always specify language for syntax highlighting: `bash`, `python`, `typescript`, `yaml`, `json`, `sql`, `dockerfile`, `hcl`, `go`, `rust`, `jsx`72- Use `diff` language for showing changes (`+` additions, `-` removals)73- Shell commands: use `bash` or `sh`, prefix interactive commands with `$`74- Long code blocks: add filename comment at top or use code block titles (platform-specific)75- Avoid screenshots of code — always use fenced code blocks7677---7879## 6. Tables8081```markdown82| Column A | Column B | Column C |83|----------|----------|----------|84| value | value | value |85```8687- Alignment: `|:---|` left, `|:---:|` center, `|---:|` right88- Keep tables narrow — split wide tables into multiple focused ones89- Table alternatives: use lists when rows > 10 or cells contain long text90- Caption pattern: bold line directly above the table91- GFM tables don't support multi-line cells — use HTML `<table>` if needed9293---9495## 7. Links & References9697- Inline links: `[text](URL)` — use for one-off references98- Reference links: `[text][ref]` + `[ref]: URL` — use for repeated URLs99- Relative links: `[file](./path/to/file.md)` — preferred in repos100- Anchor links: `[section](#heading-slug)` — heading IDs are auto-generated101- Image: `` — always write descriptive alt text102- Badge syntax (shields.io): `[](link-url)`103- Footnotes: `text[^1]` + `[^1]: footnote text` (supported in GFM, MDX)104105---106107## 8. GitHub-Specific Features108109- **Alerts / Admonitions** (GFM):110 ```markdown111 > [!NOTE]112 > [!TIP]113 > [!IMPORTANT]114 > [!WARNING]115 > [!CAUTION]116 ```117- **Mermaid diagrams**: flowchart, sequenceDiagram, gantt, erDiagram, classDiagram118- **Math**: `$inline$` and `$$block$$` (GitHub, GitLab, Obsidian)119- **Collapsible sections**: `<details><summary>Title</summary>content</details>`120- **Keyboard shortcuts**: `<kbd>Ctrl</kbd>+<kbd>S</kbd>`121- **HTML inline**: use sparingly for features Markdown can't express122123---124125## 9. Document Types & Templates126127### README128```markdown129# Project Name130> One-line description131132## Features133## Quick Start134## Installation135## Usage136## Configuration137## Contributing138## License139```140141### CHANGELOG (Keep a Changelog format)142```markdown143# Changelog144## [Unreleased]145## [1.2.0] - YYYY-MM-DD146### Added / Changed / Deprecated / Removed / Fixed / Security147```148149### Architecture Decision Record (ADR)150```markdown151# ADR-001: Title152## Status: Accepted153## Context154## Decision155## Consequences156```157158### Runbook159```markdown160# Runbook: Incident Name161## Symptoms162## Diagnosis Steps163## Resolution Steps164## Rollback165## Prevention166```167168### How-To Guide169```markdown170## Overview171## Prerequisites172## Steps173### Step 1: Title174### Step 2: Title175## Verification176## Troubleshooting177```178179---180181## 10. Writing Quality & Style182183- **Clarity**: one idea per sentence, active voice, concrete nouns184- **Scanability**: headers every 3-5 paragraphs, bold key terms, short paragraphs185- **Completeness**: prerequisites stated upfront, examples for every feature186- **Consistency**: same term for the same concept throughout, consistent casing187- **Tone**: technical docs → formal and precise; tutorials → friendly and direct188- **Avoiding jargon**: define acronyms on first use: `CI/CD (Continuous Integration/Continuous Delivery)`189- **Numbers**: spell out under ten; use numerals for 10+, measurements, versions190- **Code vs prose**: use inline code for anything a user would type or copy191192---193194## 11. Markdown Linting & Quality Checks195196- **markdownlint** rules: MD001 heading levels, MD013 line length, MD022 blank lines around headings197- Consistent blank lines: one blank line before/after headings, code blocks, lists198- No trailing spaces (except intentional line break with two spaces)199- No bare URLs — always wrap in angle brackets `<url>` or use link syntax200- Validate all links: no broken relative paths, no 404 URLs201- Alt text on all images: never empty `![]()`202- Ordered list numbering: always use `1.` (auto-numbered) for maintainability203204---205206## Core Competency Summary207208- Write clear, well-structured Markdown for any document type209- Apply correct dialect for the target platform (GFM, MDX, Obsidian, etc.)210- Format tables, code blocks, lists, and links with precision211- Author READMEs, changelogs, ADRs, runbooks, how-tos, and API docs212- Embed diagrams (Mermaid), math, and rich media elements213- Review and refactor existing Markdown for structure, clarity, and consistency214- Convert between document formats using Pandoc-compatible patterns215- Enforce linting standards for consistent, maintainable documentation