markdownlint
Validate markdown files against formatting standards. Auto-detects and installs markdownlint-cli if missing. Checks project config or falls back to sensible defaults. Supports auto-fix mode. Use when creating or modifying markdown files, validating documentation, or enforcing markdown conventions.
How do I install this agent skill?
npx skills add https://github.com/rshade/agent-skills --skill markdownlintIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill facilitates markdown formatting validation using the markdownlint-cli tool. It handles dependency installation via npm and processes project files to identify formatting issues, presenting a standard attack surface for indirect prompt injection without showing malicious intent.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Markdownlint
Validate markdown files follow formatting standards. Enables consistent documentation, readable diffs, and POSIX compliance.
What this skill does
- Checks if
markdownlint-cliis installed; installs if missing. - Detects project-specific markdownlint configuration or falls back to a minimal default config.
- Validates markdown files for formatting, structure, and style.
- Optionally auto-fixes common issues with
--fixflag; reports errors with specific rules and fixes.
Installation check
# Check if markdownlint is available
markdownlint --version 2>/dev/null
If not installed, install globally:
npm install -g markdownlint-cli
If installation fails (permissions, no npm), stop validation and report the issue with remediation steps:
- Use
sudo npm install -g ...or fix npm permissions - Use a Node version manager (nvm, volta, fnm)
- Install Node.js if not present
Do not silently skip validation.
Config detection priority
.markdownlint.jsonin project root.markdownlint.yamlin project root.markdownlintrcin project rootmarkdownlintfield inpackage.json- Default config (see
references/markdownlint-config.json)
If no project config exists, create a temporary .markdownlint.json using
the default config from the reference file before running validation.
Validation workflow
1. Check markdownlint installation
├─ Installed → continue
└─ Missing → install, then continue (fail if install fails)
2. Detect project config
├─ Found → use it
└─ Not found → use default config from references/
3. Run validation
├─ Check only:
│ markdownlint <files-or-directories>
└─ Auto-fix:
markdownlint --fix <files-or-directories>
4. Report results
├─ Valid → confirm and proceed
└─ Invalid → show errors, suggest fixes, re-validate after correction
Validation methods
Check files (default)
markdownlint README.md CHANGELOG.md docs/
Auto-fix common issues
markdownlint --fix README.md CHANGELOG.md docs/
Note: some issues (like MD001 heading-increment) cannot be auto-fixed and
require manual correction. Re-run without --fix after fixing to confirm
all issues resolved.
Error handling
Install failure
If markdownlint cannot be installed, report the error and provide remediation steps. Do not proceed with validation.
Validation failure
When validation fails, report each error with:
- The rule that failed (e.g.,
MD022/blanks-around-headings) - What was wrong (e.g., heading not surrounded by blank lines)
- A concrete fix
Example:
Validation failed:
1. MD022/blanks-around-headings: heading not surrounded by blank lines
File: README.md:15
Fix: add blank lines before and after the heading
2. MD047/single-trailing-newline: file does not end with newline
File: CHANGELOG.md:89
Fix: add a single newline at end of file
After reporting errors, suggest running markdownlint --fix for
auto-fixable issues and provide manual fixes for the rest. Re-validate
after corrections.
Format reference
See references/markdownlint-rules.md for the full rule reference, common
fixes, and auto-fixable rules.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/rshade/agent-skills/markdownlint">View markdownlint on skillZs</a>