From dita-tools
Generates and inserts missing document IDs for AsciiDoc titles using a Ruby script. Useful for adding anchors, fixing missing IDs, or preparing files for DITA conversion.
npx claudepluginhub redhat-documentation/redhat-docs-agent-tools --plugin dita-toolsThis skill is limited to using the following tools:
Generate and insert missing document IDs (anchor IDs) for AsciiDoc document titles.
Adds missing [role="_abstract"] attributes to AsciiDoc files via Ruby script for DITA short description support. Use when marking short descriptions or preparing files for 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.
Extracts Jobs-To-Be-Done records from modular AsciiDoc documentation repos. Analyzes assemblies, includes, conditionals via reduction, source mapping, and chunked analysis for user goals.
Share bugs, ideas, or general feedback.
Generate and insert missing document IDs (anchor IDs) for AsciiDoc document titles.
This skill uses the document_id.rb Ruby script to find AsciiDoc files with missing IDs on their document titles (level 0 headings) and automatically generates appropriate IDs following AsciiDoc conventions.
For a file like this:
:_mod-docs-content-type: PROCEDURE
= Installing the application server
This procedure explains...
The script adds the missing ID:
:_mod-docs-content-type: PROCEDURE
[id="installing-the-application-server_{context}"]
= Installing the application server
This procedure explains...
The generated ID follows AsciiDoc conventions:
*bold*, _italic_, etc.)_{context} suffix (configurable)| Title | Generated ID |
|---|---|
Installing the server | installing-the-server_{context} |
*Server* configuration options | server-configuration-options_{context} |
Using GPUs (NVIDIA CUDA) | using-gpus-nvidia-cuda_{context} |
When the user asks to add document IDs:
.adoc files in the target locationruby scripts/document_id.rb <file>
To preview changes without modifying files:
ruby scripts/document_id.rb <file> --dry-run
For files that don't use the context variable:
ruby scripts/document_id.rb <file> --no-context
ruby scripts/document_id.rb <file> -o <output.adoc>
:_mod-docs-content-type: SNIPPET are handled appropriatelyifdef:: directives are detected correctly_{context}: Files marked as :_mod-docs-content-type: ASSEMBLY automatically generate IDs without the _{context} suffix. Only modules (CONCEPT, PROCEDURE, REFERENCE) use the _{context} suffix.When an ID is added:
<file>: Added ID [id="generated-id_{context}"]
Title: Original Title Text
When no changes needed:
<file>: ID already assigned
Or:
<file>: No document title found
The Ruby script is located at: scripts/document_id.rb