From dita-tools
Runs Asciidoctor on AsciiDoc files to validate syntax, reports errors/warnings from /tmp logs, and suggests fixes for unclosed conditionals, admonitions, blocks.
npx claudepluginhub redhat-documentation/redhat-docs-agent-tools --plugin dita-toolsThis skill is limited to using the following tools:
Run asciidoctor on AsciiDoc files to check for syntax errors and warnings. The build output is saved to a timestamped file in `/tmp` for reference.
Validates AsciiDoc files for DITA conversion readiness using Vale linting with AsciiDocDITA rules. Reports warnings and errors in markdown table format. Useful when checking files before DITA conversion.
Reviews AsciiDoc (.adoc) files for Red Hat modular documentation compliance: module types (concept, procedure, reference), assembly structure, anchor IDs with _{context}, context variables, and include directives.
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 asciidoctor on AsciiDoc files to check for syntax errors and warnings. The build output is saved to a timestamped file in /tmp for reference.
This skill runs asciidoctor on an input file to validate its syntax. It captures all warnings and errors, saves them to a timestamped log file, and reports whether the file is broken. If errors are found, the skill reviews the source and suggests fixes for common issues.
bash scripts/check_asciidoctor.sh <file.adoc>
# Check a single module
bash scripts/check_asciidoctor.sh modules/con-overview.adoc
# Check an assembly
bash scripts/check_asciidoctor.sh guides/master.adoc
The script:
asciidoctor with syntax highlighting and verbose mode/tmp/asciidoctor-check-<basename>-<timestamp>.html/tmp/asciidoctor-check-<basename>-<timestamp>.log| Code | Meaning |
|---|---|
| 0 | No warnings or errors |
| 1 | Warnings found (file may have issues) |
| 2 | Errors found (file is broken) |
Checking: /path/to/guides/master.adoc
HTML output: /tmp/asciidoctor-check-master-20260121-143022.html
Log output: /tmp/asciidoctor-check-master-20260121-143022.log
RESULT: BROKEN (2 errors, 1 warning)
See log for details: /tmp/asciidoctor-check-master-20260121-143022.log
Asciidoctor Check Report
========================
File: /path/to/guides/master.adoc
Date: Tue Jan 21 14:30:22 UTC 2026
HTML: /tmp/asciidoctor-check-master-20260121-143022.html
asciidoctor: ERROR: guides/master.adoc:45: include file not found: modules/missing.adoc
asciidoctor: ERROR: guides/master.adoc:78: unclosed block delimiter
asciidoctor: WARNING: guides/master.adoc:23: skipping reference to missing attribute: product-version
When errors are found, review the source file for these common problems:
Symptom: unexpected end of file or content appearing in wrong places
Check for:
ifdef:: or ifndef:: without matching endif::[]Fix: Ensure every ifdef::attr[] has a matching endif::[]
// WRONG - missing endif
ifdef::openshift[]
This content is OpenShift-specific.
// CORRECT
ifdef::openshift[]
This content is OpenShift-specific.
endif::[]
Symptom: Content after admonition rendered incorrectly
Check for:
==== delimiters without closing pairFix: Use proper block delimiters or single-line format
// WRONG - unclosed
[NOTE]
====
This is a note.
// CORRECT - closed block
[NOTE]
====
This is a note.
====
// CORRECT - single line
NOTE: This is a note.
Symptom: unclosed block delimiter error
Check for:
---- blocks without closing delimiter---- inside the blockFix: Ensure delimiters match exactly
// WRONG - unclosed
[source,bash]
----
echo "hello"
// CORRECT
[source,bash]
----
echo "hello"
----
Symptom: Content included in example that shouldn't be
Check for:
==== delimiters without closing pairFix: Close with matching delimiter
// WRONG
.Example title
====
Example content
// CORRECT
.Example title
====
Example content
====
Symptom: include file not found error
Check for:
Fix: Correct the path or create the missing file
Symptom: skipping reference to missing attribute warning
Check for:
Fix: Define the attribute or fix the typo
asciidoctor must be installed: gem install asciidoctorscripts/
└── check_asciidoctor.sh # Bash script for asciidoctor validation