Skip to content

Add verify-procedure skill#12

Closed
kquinn1204 wants to merge 2 commits intoredhat-documentation:mainfrom
kquinn1204:adding-kevs-updates
Closed

Add verify-procedure skill#12
kquinn1204 wants to merge 2 commits intoredhat-documentation:mainfrom
kquinn1204:adding-kevs-updates

Conversation

@kquinn1204
Copy link
Copy Markdown

@kquinn1204 kquinn1204 commented Mar 11, 2026

Summary

Adds the verify-procedure skill to docs-tools. This skill executes AsciiDoc procedures against a live system to prove they work end-to-end — it is the "guided exercise tester" for documentation.

3 files changed, 1 commit. No changes to dita-tools or any other existing plugin.


What it does

This skill requires an active connection to the target system (oc login, SSH, etc.). It is not a review tool — for offline documentation review, use the technical-reviewer agent instead.

How it works

  1. Parse the .adoc file to extract all [source,terminal], [source,bash], and [source,yaml] blocks, associating each with its numbered step
  2. Execute the verify_proc.rb Ruby script against the file
  3. Report pass/fail results per step with a final summary

What the Ruby script does (verify_proc.rb)

Capability Details
Step extraction Parses AsciiDoc numbered steps (. Step text) and associates each [source,yaml], [source,terminal], or [source,bash] block with its parent step
YAML validation Parses every YAML block for syntax errors. For Kubernetes resources (apiVersion: detected), runs oc apply --dry-run=client or kubectl apply --dry-run=client (auto-detects which CLI is available)
Bash execution Strips leading $ prompts, joins backslash-continued lines, executes each command, captures stdout/stderr/exit code. On failure, logs the error and continues to the next step
Smart skipping Skips example output blocks (preceded by "Example output") and placeholder blocks (<placeholder>, ${VAR}, CHANGEME, REPLACE)
Best practices check Scans for login/setup patterns across products (oc login, ssh, sudo, subscription-manager, dnf install, ansible-playbook, etc.) and warns about potential "magic steps" if none are found
Summary Reports total executable steps, pass/fail counts, lists each failed step with its error, and flags if no verification step exists

Product support

The script is product-agnostic. It runs whatever commands are in the doc:

Product What makes it work
OpenShift oc commands execute, YAML dry-run via oc apply
RHEL dnf, systemctl, nmcli etc. execute on the local machine
OpenStack openstack CLI commands execute if installed and sourced
Ansible ansible-playbook, ansible-navigator execute if installed

Example output

--- Starting Procedure Validation: nw-ptp-installing-operator-cli.adoc ---

[Step 1] Create a namespace for the PTP Operator
[VALID] YAML syntax for Step 1 is correct.
[VALID] Resource logic (dry-run via oc) passed for Step 1.

[Step 2] Create the Namespace CR
Executing: oc create -f ptp-namespace.yaml
[SUCCESS] Step 2 executed.

[Step 3] ...
[SKIP] Example output - not executed

============================================================
FINAL SUMMARY
============================================================
Total executable steps: 7
Passed: 6
Failed: 1

Failed steps:
  - Step 5: error: the server doesn't have a resource type "PtpConfig"
============================================================
✗ Some steps FAILED
============================================================

Relationship to technical-reviewer agent

verify-procedure technical-reviewer
Purpose Execute commands on a live system Review documentation for technical accuracy
Requires live system Yes No
Runs commands Yes No
Checks structure/prereqs No (defers to technical-reviewer) Yes
Output Pass/fail per step Review with issues and confidence score

Files changed

  • plugins/docs-tools/skills/verify-procedure/SKILL.md — skill definition
  • plugins/docs-tools/skills/verify-procedure/scripts/verify_proc.rb — Ruby execution script
  • plugins/docs-tools/.claude-plugin/plugin.json — version bump 0.0.2 → 0.0.3

@kquinn1204 kquinn1204 force-pushed the adding-kevs-updates branch 2 times, most recently from af8c29f to f7b8e05 Compare March 11, 2026 11:31
@aireilly
Copy link
Copy Markdown
Member

Thanks for the PR Kevin. Note this duplicates a lot of existing functionality, and some of the skills are not suitable for this repo.

Suggest reviewing what's in the repo currently, and focusing the PR on net new skills and updates only.

@kquinn1204 kquinn1204 changed the title Add jtbd-tools plugin, 19 new dita skills, cherry-pick workflow, and skill updates Add 15 new dita cleanup skills, dita-rewrite command, cherry-pick workflow, and skill updates Mar 11, 2026

This skill uses the `task_step.rb` Ruby script to find procedure steps that contain multi-block content without proper list continuation markers (`+`) and adds them.

## AI Action Plan
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -0,0 +1,538 @@
---
description: Intelligently cherry-pick documentation changes to enterprise branches, excluding files that don't exist on each target release
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is openshift specific, it's not a general skill.

@kquinn1204 kquinn1204 force-pushed the adding-kevs-updates branch from f7b8e05 to 33bb737 Compare March 11, 2026 11:59
@kquinn1204 kquinn1204 changed the title Add 15 new dita cleanup skills, dita-rewrite command, cherry-pick workflow, and skill updates Add cherry-pick backport workflow, verify-procedure, and upstream PR sync Mar 11, 2026
@@ -0,0 +1,29 @@
---
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to duplicate functionality from the technical-reviewer agent, and also I don't know what the verify_proc script actually does?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated the skill so it should apply across multiple products though have only tried with OCP can still decide not to add to repo up to you

@kquinn1204 kquinn1204 force-pushed the adding-kevs-updates branch from 33bb737 to 72b5f5e Compare March 11, 2026 12:06
@kquinn1204 kquinn1204 changed the title Add cherry-pick backport workflow, verify-procedure, and upstream PR sync Add verify-procedure skill and docs-upstream-pr-sync command Mar 11, 2026
@kquinn1204 kquinn1204 force-pushed the adding-kevs-updates branch 2 times, most recently from f5061ed to 668c4ce Compare March 11, 2026 12:22
@kquinn1204 kquinn1204 changed the title Add verify-procedure skill and docs-upstream-pr-sync command Add verify-procedure skill Mar 11, 2026
@kquinn1204 kquinn1204 force-pushed the adding-kevs-updates branch from 500dd1f to a09450c Compare March 11, 2026 14:42
aireilly and others added 2 commits March 11, 2026 15:20
- Update install links to marketplace URL across all plugin READMEs
- Add AsciiDocDITA Vale validation note to dita-tools README and
  both rework modes in dita-rework command

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Adds a new docs-tools skill that executes AsciiDoc procedures against
a live system to prove they work end-to-end. Requires an active
connection (oc login, SSH, etc.) — for offline review, use the
technical-reviewer agent instead.

The Ruby script (verify_proc.rb) parses the .adoc file, extracts
numbered steps and their source blocks, then runs each one
sequentially. It validates YAML syntax and dry-runs Kubernetes
resources, executes bash commands, skips example output and
placeholder blocks, and reports a pass/fail summary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kquinn1204 kquinn1204 force-pushed the adding-kevs-updates branch from a09450c to ab1e687 Compare March 11, 2026 15:28
@kquinn1204 kquinn1204 closed this Mar 11, 2026
@kquinn1204 kquinn1204 mentioned this pull request Mar 11, 2026
3 tasks
@kquinn1204 kquinn1204 deleted the adding-kevs-updates branch April 13, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants