Markdown formatting rules and automated fixes. Use when formatting documentation, applying linting rules, or ensuring consistent markdown standards.
Provide comprehensive markdown formatting rules and automated fixes to ensure consistent, clean, and standards-compliant markdown documentation across a project. This skill covers 12 core linting rules, context-aware fixes, configuration options, and integration patterns for CI/CD pipelines and editor workflows.
Use consistent 2-space indentation for nested unordered lists.
Incorrect:
- Item 1
- Nested (4 spaces)
- Deep nested (6 spaces)
Correct:
- Item 1
- Nested (2 spaces)
- Deep nested (4 spaces)
Never use more than one consecutive blank line. A single blank line provides readability; additional blank lines add no value.
Incorrect:
## Section 1
## Section 2
Correct:
## Section 1
## Section 2
Always add a blank line before and after headings.
Incorrect:
Some paragraph text.
## Heading
More text here.
Correct:
Some paragraph text.
## Heading
More text here.
Avoid duplicate heading text within the same document. Add context to differentiate headings with the same name.
Incorrect:
## Setup
... (for backend)
## Setup
... (for frontend)
Correct:
## Backend Setup
...
## Frontend Setup
...
Do not end headings with punctuation characters (period, exclamation, question mark, colon).
Incorrect:
## Getting Started:
## What is this?
Correct:
## Getting Started
## About This Project
Use sequential numbering for ordered lists (1, 2, 3) or all-ones (1, 1, 1) consistently.
Incorrect:
1. First
1. Second
3. Third
Correct:
1. First
2. Second
3. Third
Always add a blank line before and after fenced code blocks.
Incorrect:
Some text.
```javascript
const x = 1;
```
More text.
Correct:
Some text.
```javascript
const x = 1;
```
More text.
Always add a blank line before and after list blocks.
Incorrect:
Some paragraph.
- Item 1
- Item 2
Another paragraph.
Correct:
Some paragraph.
- Item 1
- Item 2
Another paragraph.
Do not use bold or italic text as a substitute for proper headings.
Incorrect:
**This is a section title**
Content goes here.
Correct:
## This is a section title
Content goes here.
Always specify a language identifier on fenced code blocks for proper syntax highlighting. Use text for plain text blocks.
Incorrect:
```
const x = 1;
```
Correct:
```javascript
const x = 1;
```
Internal anchor links must point to existing headings in the document.
Incorrect:
See the [setup section](#set-up) <!-- heading is "## Setup" -->
Correct:
See the [setup section](#setup)
Always add a blank line before and after tables.
Incorrect:
Some text.
| Column | Column |
|--------|--------|
| Value | Value |
More text.
Correct:
Some text.
| Column | Column |
|--------|--------|
| Value | Value |
More text.