From vale-tools
Runs Vale linting on Markdown, AsciiDoc, reStructuredText, HTML, XML, and source code comments to detect style guide violations. Use for documentation linting, style checks, or validation.
npx claudepluginhub redhat-documentation/redhat-docs-agent-tools --plugin vale-toolsThis skill is limited to using the following tools:
Run Vale style linting against documentation files to check for style guide violations.
Validates documentation quality for research software using Vale prose linting, HTMLProofer link checking, markdownlint Markdown validation, code example testing, container instructions, and CI integration.
Runs Vale RedHat rules on PR/MR changed .adoc/.md files, detects false positives with 90%+ certainty by reading rule YAMLs, and creates PRs to update vale-at-red-hat repo.
Runs Vale with AsciiDocDITA rules on AsciiDoc files in Red Hat modular docs repos (repo-wide or assembly/topic scope via dita-validate-asciidoc) and fixes violations for 0 errors/warnings.
Share bugs, ideas, or general feedback.
Run Vale style linting against documentation files to check for style guide violations.
Before running Vale, check if a .vale.ini or vale.ini exists in the project root:
ls .vale.ini vale.ini 2>/dev/null
If neither exists, inform the user that no Vale config was found and that a minimal config would look like this:
StylesPath = .vale/styles
MinAlertLevel = suggestion
Packages = RedHat
[*.adoc]
BasedOnStyles = RedHat
[*.md]
BasedOnStyles = RedHat
Do NOT create the file automatically, ask the user if they want to create it first.
If a temporary config is needed, create it in /tmp/ and clean it up after linting:
cat <<'EOF' > /tmp/vale-temp.ini
StylesPath = .vale/styles
MinAlertLevel = suggestion
Packages = RedHat
[*.adoc]
BasedOnStyles = RedHat
[*.md]
BasedOnStyles = RedHat
EOF
Use --config=/tmp/vale-temp.ini when running Vale, and remove the temp config when done.
Always run vale sync before linting to ensure style packages are up to date:
vale sync
This downloads and updates the style packages defined in .vale.ini (e.g., the RedHat package).
Vale supports many file formats:
.md), AsciiDoc (.adoc, .asciidoc), reStructuredText (.rst), HTML (.html), XML (.xml, .dita).org), plain text (.txt)Run Vale directly against files or directories:
# Single file
vale README.md
vale doc.adoc
vale guide.rst
# Multiple files
vale file1.md file2.adoc file3.rst
# Directory (lints all supported files)
vale docs/
# Specific file patterns
vale --glob='*.md' docs/
vale --glob='*.{md,adoc,rst}' docs/
# Use a specific config file
vale --config=/path/to/.vale.ini docs/
# Match specific file types
vale --glob='**/*.md' path/to/files
vale --glob='**/*.{adoc,md}' path/to/files
# Only show errors and warnings (skip suggestions)
vale --minAlertLevel=warning docs/
# Only show errors
vale --minAlertLevel=error docs/
# JSON output for programmatic use
vale --output=JSON docs/
# Exclude certain files
vale --glob='!**/*-generated.md' docs/
# Lint source code comments
vale --glob='*.py' src/
vale --glob='*.go' pkg/
After running Vale, organize the output for the user:
Lead with errors. Errors are must-fix violations. Present them first with the file, line, and what to change.
Group warnings and suggestions separately. Warnings need attention; suggestions are optional improvements.
Summarize by file when linting multiple files. Show a table with error/warning/suggestion counts per file so the user can prioritize.
Flag likely false positives. Common RedHat Vale false positives include:
When you spot a likely false positive, note it as such rather than recommending the user change correct text.
Do NOT auto-fix source files. Report findings and let the user decide what to change.
docs/guide.md:15:3: error: Style.Spelling - 'kubernetes' should be 'Kubernetes'
docs/guide.md:23:1: warning: Style.PassiveVoice - Avoid passive voice
modules/intro.adoc:45:10: suggestion: Style.SentenceLength - Consider shortening this sentence
Vale must be installed:
# Fedora/RHEL
sudo dnf copr enable mczernek/vale && sudo dnf install vale
# macOS
brew install vale
# Other platforms
# See: https://vale.sh/docs/install