rshade/agent-skills

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.

First seen Apr 22, 2026

Installation

$ npx skills add rshade/agent-skills --skill markdownlint

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from rshade/agent-skills · top by installs.

npx skills add rshade/agent-skills

Browse all from rshade/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 3
License LICENSE
Default branch main
Open issues 1
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

CompatibilityRequires Node.js (npx). Works with any project containing markdown files.

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,867 B
  • docs SUMMARY.md 318 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 96 installs

SKILL.md

<!-- Copyright 2025-2026 Richard Shade. Licensed under Apache-2.0. --> <!-- SPDX-License-Identifier: Apache-2.0 -->

Markdownlint

Validate markdown files follow formatting standards. Enables consistent documentation, readable diffs, and POSIX compliance.

What this skill does

  1. Checks if markdownlint-cli is installed; installs if missing.
  2. Detects project-specific markdownlint configuration or falls back to a

minimal default config.

  1. Validates markdown files for formatting, structure, and style.
  2. Optionally auto-fixes common issues with --fix flag; 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

  1. .markdownlint.json in project root
  2. .markdownlint.yaml in project root
  3. .markdownlintrc in project root
  4. markdownlint field in package.json
  5. 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.