Skip to content
Back to skills

Docs:Review

ASecurity

AI-assisted documentation review for Rossoctl PRs — structure, accuracy, links, conciseness

  • 299 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 20, 2026
devopsgoshellbashkubernetesgitdocumentation

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add rossoctl/rossoctl --skill docs:review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docs:Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docs:Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rossoctl-docs-review/badge)](https://www.skillsdirectory.com/skills/rossoctl-docs-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: docs:review
description: AI-assisted documentation review for Rossoctl PRs — structure, accuracy, links, conciseness
---

```mermaid
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 "Contributing Documentation" section of
[CONTRIBUTING.md](../../../CONTRIBUTING.md#contributing-documentation), the authoritative standard,
and the `meta:write-docs` skill that applies it. Use alongside the automated `Docs CI` workflow
(markdownlint, lychee) for comprehensive coverage.

## Table of Contents

- [When to Use](#when-to-use)
- [Phase 1: Gather Changed Docs](#phase-1-gather-changed-docs)
- [Phase 2: Analyze Each File](#phase-2-analyze-each-file)
- [Phase 3: Report Findings](#phase-3-report-findings)
- [Phase 4: Post Review](#phase-4-post-review)
- [Review Checklist](#review-checklist)
- [Related Skills](#related-skills)

## When to Use

- Reviewing a PR that adds or modifies `docs/**` or `*.md` files
- Validating documentation quality before merge
- Invoked as `/docs:review <PR-number>` or `/docs:review` (auto-detects current PR)

## Phase 1: Gather Changed Docs

```bash
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

For a product page under `docs/<section>/`:

- [ ] Frontmatter has `title`, `description` and `sidebar_position`
- [ ] No `#` heading in the body (the frontmatter `title` provides it)
- [ ] No manual Table of Contents and no `---` rules between sections (Docusaurus builds the TOC)
- [ ] One-paragraph overview at the top, and it states what the reader gets
- [ ] The page is in the section that matches its reader
- [ ] Heading hierarchy is correct (no skipped levels like `##` to `####`)

For an internal document under `docs/_internal/`:

- [ ] Frontmatter has `draft: true`
- [ ] Single `#` title at the top, then a one-paragraph overview
- [ ] Table of Contents with working anchor links (required if >50 lines)

### 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 list` output)
- [ ] File paths referenced actually exist in the repo (`ls` or `find` to verify)
- [ ] Environment variables and config keys match actual code
- [ ] Kubernetes resource names, namespaces, and labels are consistent with the codebase
- [ ] **Each claim agrees with the page it links to** — open the cited page and compare the wording
- [ ] No behavior from an unmerged issue is documented as released (or it carries a `VERIFY` comment)
- [ ] A Beta or Alpha feature carries a `:::warning` callout, and the default is stated
- [ ] Token counts and costs are scoped to a model call, and the cost is described as an estimate

### 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`, `:::info`, `:::tip`
      (a blockquote is not a callout)
- [ ] ASD-STE100 prose: present tense, active voice, "you" not "we", no contraction, no "simply"
- [ ] No serial comma — the pages write "A, B and C"

## Phase 3: Report Findings

Produce a structured summary grouped by severity:

```markdown
## 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 the `meta:write-docs` 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:

```bash
# 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 the contributor guide and `meta:write-docs` conventions

## Related Skills

- `meta:write-docs` — Documentation writing standards and templates
- `github-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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.