markdownlint
Markdownlint Skill
Contents
Project Configuration
IMPORTANT: This project uses .markdownlint.yaml. Always follow these rules:
| Rule | Setting | Notes |
|---|---|---|
| MD040 | Enabled | Always specify language for code fences |
| MD007 | 2 spaces | List indentation |
| MD024 | Siblings only | Duplicate headings allowed under different parents |
| MD013 | Disabled | No line length restrictions |
| MD033 | Disabled | Inline HTML allowed |
| MD041 | Disabled | Files don't need to start with H1 |
| MD038 | Disabled | Spaces in code spans allowed |
| MD036 | Disabled | Emphasis as heading allowed |
Basic Usage
# Lint files
markdownlint-cli2 "**/*.md"
markdownlint-cli2 README.md
# Auto-fix issues
markdownlint-cli2 --fix "**/*.md"
# Exclude directories
markdownlint-cli2 "**/*.md" "#node_modules" "#vendor"
Common Operations
Lint Specific Paths
markdownlint-cli2 README.md # Single file
markdownlint-cli2 "docs/**/*.md" # Directory
markdownlint-cli2 "*.md" "docs/**/*.md" # Multiple patterns
markdownlint-cli2 . # Current directory
Auto-Fix
markdownlint-cli2 --fix "**/*.md" # Fix all files
markdownlint-cli2 --fix README.md # Fix single file
Process stdin
cat README.md | markdownlint-cli2 -
Workflow
Standard Lint-Fix-Verify Cycle
- Run lint check:
markdownlint-cli2 "**/*.md" - Review reported issues
- Apply auto-fix:
markdownlint-cli2 --fix "**/*.md" - Re-run lint to verify:
markdownlint-cli2 "**/*.md" - Review changes:
git diff - Commit when satisfied
Safe Fix with Backup
- Stage current state:
git add . - Create backup commit:
git commit -m "Backup before markdownlint fix" - Apply fixes:
markdownlint-cli2 --fix "**/*.md" - Review changes:
git diff - Commit fixes or reset:
git add . && git commit -m "Apply markdownlint fixes"
Cross-Platform Usage
For maximum compatibility:
- Quote glob patterns:
markdownlint-cli2 "**/*.md" - Use
#for negation:markdownlint-cli2 "**/*.md" "#vendor"(not!) - Use forward slashes:
docs/**/*.md(works on all platforms) - Stop option processing:
markdownlint-cli2 -- "special-file.md"
Troubleshooting
No Files Matched
- Verify glob patterns are quoted
- Check file extensions (
.mdvs.markdown) - Ensure negated patterns don't exclude everything
Too Many Issues
- Start with auto-fix:
markdownlint-cli2 --fix "**/*.md" - Disable problematic rules temporarily
- Address remaining issues incrementally
Configuration Not Loading
- Verify configuration file name matches expected patterns
- Validate JSON/YAML syntax
- Use
--configto explicitly specify the file
References
- Rules Reference - Complete rule descriptions
- Configuration Examples - Config templates and patterns
- Official Documentation
- All Rules
Installation
npm install -g markdownlint-cli2 # npm
brew install markdownlint-cli2 # Homebrew
markdownlint-cli2 --help # Verify installation
More from povertyaction/ipa-stata-template
stata
This skill should be used when users need to write, review, or debug Stata code for data cleaning and analysis. Use this skill for tasks involving data import, variable management, data documentation, merging/appending datasets, creating analysis variables, and following IPA/DIME Analytics coding standards. This skill should be invoked when working with .do files, .dta files, or any Stata-related data processing tasks.
2uv
This skill should be used when working with Python projects that use uv for package and project management. Use this skill for running Python scripts and CLI tools with `uv run`, managing dependencies, creating projects, handling virtual environments, and executing commands within isolated project environments. Essential for projects with pyproject.toml files.
1ruff
This skill should be used when users need to lint, format, or validate Python code using the Ruff command-line tool. Use this skill for tasks involving Python code quality checks, automatic code formatting, enforcing style rules (PEP 8), identifying bugs and security issues, or modernizing Python code. This skill should be invoked PROACTIVELY whenever Python code is written or modified to ensure code quality.
1quarto
This skill should be used when users need to create, configure, or render Quarto documents (.qmd files). Use this skill for generating reports, analysis documents, or presentations with HTML or Typst output formats, integrating code chunks (Python, R, Stata), and troubleshooting rendering issues.
1