markdown-lintinglisted
Install: claude install-skill ragnarwestad/aide
# Markdown Linting
## Table of contents
- [Overview](#overview)
- [Usage](#usage)
- [Configuration](#configuration)
- [Responsibilities](#responsibilities)
- [Common errors and solutions](#common-errors-and-solutions)
- [MD029: List numbering](#md029-list-numbering)
- [MD040: Missing code block language](#md040-missing-code-block-language)
- [MD051: Broken anchor link](#md051-broken-anchor-link)
- [Common AI mistake: Closing a code block with a language](#common-ai-mistake-closing-a-code-block-with-a-language)
---
## Overview
This workspace uses `markdownlint-cli2` via `npx` to catch markdown errors before they are committed.
**Focus areas:**
1. **List numbering (MD029)** - Numbered lists must restart at 1 after headers
2. **Anchor links (MD051)** - TOC links must match actual heading anchors
3. **Code block language (MD040)** - All code blocks must specify language (tsx, typescript, bash, etc.)
## Usage
### Check all markdown files
```bash
npx markdownlint-cli2 '**/*.md'
```
### Automatically fix what can be fixed
```bash
npx markdownlint-cli2 --fix '**/*.md'
```
## Configuration
See `.markdownlint-cli2.jsonc` for the rules.
**Important:** The configuration is minimal and focuses ONLY on the critical issues we have had problems with.
## Responsibilities
**ALL AI implementations (Claude Code, Cursor, Junie, Codex, etc.):**
- Must ALWAYS run linting on markdown files after writing/editing/moving them
- Must fix all MD029, MD040 and MD051 errors before t