Radius Markdown Lint
Documentsradius-markdown-lintRadius Markdown Lint is an Agent Skill for documents published in the radius-project/radius repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Lint and format Markdown files using markdownlint-cli2 and markdown-table-formatter. Use when checking or fixing Markdown formatting, table alignment, or markdownlint rule violations after editing .md files.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/radius-project/radius/blob/HEAD/.github/skills/radius-markdown-lint/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/radius-markdown-lint, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Lint Markdown
Check and fix Markdown formatting using the repository's two Markdown tools, driven by pnpm.
Overview
Markdown quality is enforced by two tools, both installed as dev dependencies in the root package.json:
markdownlint-cli2— applies the markdownlint rules in.github/linters/.markdownlint-cli2.yaml, which extends.github/linters/.markdownlint.yml. It honors theignores/gitignoresettings in that config (sonode_modules,.git, etc. are skipped automatically).markdown-table-formatter— normalizes Markdown table alignment and padding. It has no config file and only accepts CLI flags (--check,--columnpadding,--verbose). It does not read.gitignore, so scope it to specific files or directories rather than the whole tree.
Prerequisites
- Node.js + pnpm: pnpm is pinned via the
packageManagerfield inpackage.json. If pnpm is missing, runcorepack enable pnpm. - Install dependencies: run
pnpm install --frozen-lockfilefrom the repository root so the tool binaries are available.
Procedure
Step 1: Determine the scope
Prefer linting only the files you changed instead of the entire repository.
- For changed files:
git diff --name-only --diff-filter=d HEAD '*.md' - For a directory: use a glob such as
"docs/**/*.md". - Avoid passing
"./**/*.md"tomarkdown-table-formatter— it will traversenode_modulesbecause it does not respect.gitignore.
Step 2: Check (read-only)
Run both tools in check mode. Replace <glob-or-paths> with the scope from Step 1.
# Check table formatting (exits non-zero if any table needs reformatting)
pnpm exec markdown-table-formatter "<glob-or-paths>" --check
# Check markdownlint rules
pnpm exec markdownlint-cli2 "<glob-or-paths>" --config "./.github/linters/.markdownlint-cli2.yaml"
Step 3: Fix
Apply automatic fixes, then re-run the checks in Step 2 to confirm a clean result.
# Reformat tables in place
pnpm exec markdown-table-formatter "<glob-or-paths>"
# Auto-fix markdownlint violations where possible
pnpm exec markdownlint-cli2 "<glob-or-paths>" --config "./.github/linters/.markdownlint-cli2.yaml" --fix
Step 4: Resolve remaining issues
Not every markdownlint rule is auto-fixable. For violations that remain after Step 3, edit the Markdown manually following the rule messages. Do not hard-wrap prose to satisfy line length — the MD013 line-length rule is intentionally disabled (see the Markdown authoring guidelines in .github/instructions/markdown.instructions.md).
Step 5: Report result
Summarize what was checked, what was fixed automatically, and any violations that require manual attention.
Quick Reference
| Goal | Command |
|---|---|
| Check table formatting | pnpm exec markdown-table-formatter "<glob>" --check |
| Fix table formatting | pnpm exec markdown-table-formatter "<glob>" |
| Check markdownlint rules | pnpm exec markdownlint-cli2 "<glob>" --config "./.github/linters/.markdownlint-cli2.yaml" |
| Fix markdownlint rules | pnpm exec markdownlint-cli2 "<glob>" --config "./.github/linters/.markdownlint-cli2.yaml" --fix |
| List changed Markdown files | git diff --name-only --diff-filter=d HEAD '*.md' |