docs:review
SkillDocs & knowledgeAI-assisted documentation review for Rossoctl PRs — structure, accuracy, links, conciseness
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the docs:review skill
What this skill tells your AI
The instructions your AI receives, as published by rossoctl/rossoctl in .claude/skills/docs:review/SKILL.md and read by ahel’s review.
flowchart TD
START([docs:review]) --> GATHER["Phase 1: Gather changed docs"]
GATHER --> ANALYZE["Phase 2: Analyze each file"]
ANALYZE --> REPORT["Phase 3: Report findings"]
REPORT --> SUBMIT["Phase 4: Post review"]
Follow this diagram as the workflow.
Documentation Review
AI-assisted review of documentation changes in Rossoctl PRs. Checks structure,
accuracy, links, conciseness, and consistency against the meta:write-docs (planned)
standards. Use alongside the automated Docs CI workflow (markdownlint, lychee)
for comprehensive coverage.
Table of Contents
- When to Use
- Phase 1: Gather Changed Docs
- Phase 2: Analyze Each File
- Phase 3: Report Findings
- Phase 4: Post Review
- Review Checklist
- Related Skills
When to Use
- Reviewing a PR that adds or modifies
docs/**or*.mdfiles - Validating documentation quality before merge
- Invoked as
/docs:review <PR-number>or/docs:review(auto-detects current PR)
Phase 1: Gather Changed Docs
export LOG_DIR=/tmp/rossoctl/docs-review/$PR_NUMBER
mkdir -p $LOG_DIR
# Get list of changed markdown files
gh pr diff <PR-number> --name-only | grep '\.md$' > $LOG_DIR/changed-files.txt
# Save the full diff for context
gh pr diff <PR-number> > $LOG_DIR/pr.diff 2>&1
If no .md files are changed, report "No documentation changes found" and stop.
Phase 2: Analyze Each File
For each changed markdown file, read the full file and check against these categories. Use subagents for large PRs (>5 files changed).
2.1 Structure
- Single
#title at the top of the file - One-paragraph overview immediately after the title
- Table of Contents with working anchor links (required if >50 lines)
-
---horizontal rules between major sections - Heading hierarchy is correct (no skipped levels like
##to####)
2.2 Accuracy
- Shell commands are syntactically valid and runnable
- YAML/JSON snippets are valid (check indentation, quoting)
- Version numbers match current releases (check
gh release listoutput) - File paths referenced actually exist in the repo (
lsorfindto verify) - Environment variables and config keys match actual code
- Kubernetes resource names, namespaces, and labels are consistent with the codebase
2.3 Links
- Internal cross-references (
[text](../path.md)) point to existing files - Anchor links (
[text](#heading)) resolve to actual headings in the target file - External URLs are reachable (defer to lychee CI for exhaustive checking)
- No bare URLs — all links use
[descriptive text](url)format
2.4 Conciseness
- No unnecessary prose — prefer bullets and tables over paragraphs
- No redundant sections that repeat information available elsewhere
- Code blocks include only the relevant fields, not entire manifests
- Steps are numbered when order matters, bulleted when it does not
- List items are 1-2 lines max
2.5 Consistency
- Terminology is consistent (e.g., "GA release" not mixed with "stable release" without definition)
- Component names match official naming (e.g., "AuthBridge" not "auth bridge" or "Auth-Bridge")
- Code block language tags are present and correct (
bash,yaml,text) - Callout style matches project convention (
> **Note:**,> **Warning:**,> **Tip:**) - Formatting conventions from
meta:write-docs(planned) are followed
Phase 3: Report Findings
Produce a structured summary grouped by severity:
## Documentation Review: PR #<number>
### Files reviewed
- `docs/getting-started/install.md` (modified)
- `docs/releasing.md` (new)
### Issues found
#### Must fix
- **docs/getting-started/install.md:42** — Broken anchor link `#choosing-a-version` (heading was renamed)
- **docs/releasing.md:15** — YAML snippet has incorrect indentation
#### Suggestions
- **docs/releasing.md:78** — This paragraph could be condensed to a bullet list
- **docs/getting-started/install.md:130** — Consider adding `git checkout` step to the OpenShift clone block
#### Looks good
- Structure follows `meta:write-docs` (planned) template
- All shell commands are syntactically valid
- Version numbers match current releases
Severity definitions
| Severity | Meaning | Action |
|---|---|---|
| Must fix | Broken links, invalid commands, incorrect information | Block merge |
| Suggestion | Style improvements, conciseness, missing context | Optional |
| Looks good | Positive observations worth noting | Informational |
Phase 4: Post Review
Present the review to the user. If the user approves, post as a GitHub PR review:
# Post as a review comment (not inline, to avoid noise on large PRs)
gh pr review <PR-number> --comment --body "$(cat $LOG_DIR/review-summary.md)"
For critical issues, use --request-changes instead of --comment.
Review Checklist
Quick reference for the complete review criteria:
- Title + overview paragraph present
- TOC with working anchors (if >50 lines)
- Section separators (
---) between major sections - Code blocks have language tags
- Commands are runnable
- YAML/JSON is valid
- Version numbers are current
- Internal links resolve
- No bare URLs
- Concise — no walls of text
- Consistent terminology
- Follows
meta:write-docs(planned) conventions
Related Skills
meta:write-docs(planned) — Documentation writing standards and templatesgithub-pr-review— General PR review workflow (code + docs). Not bundled in this repo; import via/plugin install github-pr-review@rossoctl-agent-skills.repo:pr— PR creation conventions
Signals
- GitHub stars
- 300
- Forks
- 107
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
docs-review-rossoctl- Source
- github.com/rossoctl/rossoctl