You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/doc-pr-fix/SKILL.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: doc-pr-fix
3
-
description: "Autonomous fixer for documentation PRs. Triggered by @claude comments on PRs targeting dev. Reads the writer's request and the existing doc-pr review, then applies fixes, runs Vale and Dale until clean, and commits. Use this skill whenever a writer tags @claude on a documentation PR — not for interactive help (use doc-help for that), but for autonomous, single-shot fixes in CI."
3
+
description: "Autonomous fixer for documentation PRs. Triggered by @claude comments on PRs targeting dev. Reads the writer's request, the doc-pr review comment, and the Vale linting comment, then applies fixes and commits. Use this skill whenever a writer tags @claude on a documentation PR — not for interactive help (use doc-help for that), but for autonomous, single-shot fixes in CI."
4
4
argument-hint: "[pr-number] [writer-comment]"
5
5
---
6
6
@@ -20,8 +20,9 @@ You receive:
20
20
21
21
Parse the writer's comment to determine what they want. Common patterns:
22
22
23
-
-**Fix all issues** — apply every fix from the doc-pr review comment
24
-
-**Fix only Vale/Dale issues** — apply only linting fixes
23
+
-**Fix all issues** — apply every fix from the doc-pr review comment and the Vale linting comment
24
+
-**Fix only Vale issues** — apply only fixes from the Vale linting comment
25
+
-**Fix only Dale issues** — apply only Dale linting fixes
25
26
-**Fix a specific issue** — apply one targeted fix
26
27
-**Improve flow/clarity/structure** — editorial rewrite of specific content
27
28
-**Explain something** — answer a question about a flagged issue (respond in a PR comment, don't edit files)
@@ -35,14 +36,21 @@ Parse the writer's comment to determine what they want. Common patterns:
This tells you what Vale, Dale, and the editorial review already flagged.
39
+
This tells you what Dale and the editorial review flagged.
40
+
4. If the writer asks to fix Vale issues (or "all issues"), also find the Vale linting comment:
41
+
```bash
42
+
gh api repos/{owner}/{repo}/issues/$PR_NUMBER/comments --jq '.[] | select(.user.login == "github-actions[bot]" and (.body | contains("## Vale Linting"))) | .body'| tail -1
43
+
```
44
+
This gives you the Vale results table with file paths, line numbers, and rule violations.
39
45
40
46
## Step 3: Apply fixes
41
47
42
48
Work through the requested fixes methodically:
43
49
44
-
- For **linting fixes** (Vale/Dale): fix each flagged issue in order, file by file
45
-
- For **editorial fixes**: apply the suggested changes from the review, or if the writer asked for something broader ("improve the flow"), read the full document and apply edits that address the request while following Netwrix style
50
+
- For **Vale fixes**: read `docs/CLAUDE.md` for Vale guidance (especially the two rules requiring extra care), then fix each flagged issue in order, file by file
51
+
- For **Dale fixes**: fix each flagged issue in order, file by file
52
+
- For **editorial fixes from the review**: apply the suggested changes from the review comment
53
+
- For **broader editorial requests** ("improve the flow", "make this clearer", "help with structure"): invoke `/doc-help` with the file path and the writer's request. Doc-help will analyze the document using its structured editing framework (structure, clarity, voice, surface). Since this is running in CI without an interactive writer, apply all of doc-help's suggestions autonomously rather than waiting for feedback
46
54
- For **explanations**: post a PR comment explaining the issue and how to fix it, then stop — don't edit files
47
55
48
56
When editing:
@@ -52,15 +60,7 @@ When editing:
52
60
53
61
## Step 4: Verify
54
62
55
-
After all edits, run Vale on every file you changed:
56
-
57
-
```bash
58
-
vale <file>
59
-
```
60
-
61
-
Fix any new Vale errors. Re-run until zero errors remain.
62
-
63
-
Do NOT run Dale or any other skills during verification — just Vale.
63
+
Review your edits to ensure they don't introduce new issues. Do NOT run Dale or any other skills during verification.
64
64
65
65
## Step 5: Commit and push
66
66
@@ -86,15 +86,15 @@ Post a PR comment summarizing what you did:
86
86
-`path/to/file.md`: <whatwasfixed>
87
87
-`path/to/other.md`: <whatwasfixed>
88
88
89
-
Vale and Dale checks pass on all edited files.
89
+
Dale checks pass on all edited files.
90
90
```
91
91
92
92
If you were asked to explain something rather than fix it, your comment IS the deliverable — no summary needed.
93
93
94
94
## Behavioral Notes
95
95
96
96
-**Fix what's clear, ask about what isn't.** If a request has both obvious parts and ambiguous parts, apply the obvious fixes, commit and push those, then post a comment that summarizes what you did AND asks clarifying questions about the rest. The writer can reply with another `@claude` comment to continue.
97
-
-**Never fix issues the writer didn't ask about.** If they said "fix the Vale issues," don't also rewrite sentences for clarity.
97
+
-**Never fix issues the writer didn't ask about.** If they said "fix the Dale issues," don't also rewrite sentences for clarity.
98
98
-**If a fix would substantially change the author's meaning**, skip it and explain why in your summary comment. Ask the writer how they'd like to handle it.
99
99
-**If the entire request is unclear**, don't edit anything — post a comment asking for clarification. It's better to ask one good question than to guess wrong and push unwanted changes.
100
100
-**Each `@claude` comment is a fresh invocation.** You won't remember previous runs, so always re-read the PR diff and review comment for context.
Copy file name to clipboardExpand all lines: .claude/skills/doc-pr/SKILL.md
+11-29Lines changed: 11 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,14 @@
1
1
---
2
2
name: doc-pr
3
-
description: "Orchestrate a full documentation review for pull requests targeting dev. Runs Vale linting, Dale linting, and editorial review on changed markdown files, then posts a structured comment to the PR. Use this skill whenever a PR involves markdown files in docs/ and targets the dev branch — triggered automatically by the doc-pr GitHub Actions workflow on PR open, sync, or when invoked manually via /doc-pr."
3
+
description: "Orchestrate a documentation review for pull requests targeting dev. Runs Dale linting and editorial review on changed markdown files, then posts a structured comment to the PR. Vale linting runs separately via the vale-linter workflow (inline review comments + summary PR comment). Use this skill whenever a PR involves markdown files in docs/ and targets the dev branch — triggered automatically by the doc-pr GitHub Actions workflow on PR open, sync, or when invoked manually via /doc-pr."
4
4
argument-hint: "[changed-files-csv] [pr-number]"
5
5
---
6
6
7
7
# Doc PR Review
8
8
9
-
You orchestrate a three-stage documentation review pipeline for pull requests. Your job is to run each stage, collect the results, and post a single comprehensive review comment to the PR.
9
+
You orchestrate a two-stage documentation review pipeline for pull requests. Your job is to run each stage, collect the results, and post a single comprehensive review comment to the PR.
10
+
11
+
Vale linting runs separately (via the vale-linter workflow) and posts inline review comments plus a summary PR comment. Do not run Vale or include Vale results in your review.
10
12
11
13
Read `docs/CLAUDE.md` before starting — it contains the writing standards and Vale guidance you need for the editorial review stage.
12
14
@@ -24,17 +26,7 @@ If the environment variables are empty, check for positional arguments (`$1` = f
24
26
25
27
Split the comma-separated file list into individual file paths for processing.
26
28
27
-
## Stage 1: Vale Linting
28
-
29
-
Run Vale on each changed file and capture the output.
30
-
31
-
```bash
32
-
vale --output=line <file>
33
-
```
34
-
35
-
Collect all Vale output. If Vale finds no issues for a file, note that file as clean. If Vale is not installed, report that Vale was unavailable and skip to Stage 2.
36
-
37
-
## Stage 2: Dale Linting
29
+
## Stage 1: Dale Linting
38
30
39
31
For each changed file, invoke the Dale linter skill:
40
32
@@ -44,7 +36,7 @@ For each changed file, invoke the Dale linter skill:
44
36
45
37
Dale returns a table of rule violations or a clean report. Collect all Dale output.
46
38
47
-
## Stage 3: Editorial Review
39
+
## Stage 2: Editorial Review
48
40
49
41
This stage applies the doc-help editing analysis to the PR changes — but non-interactively. You are producing a written review, not having a conversation.
50
42
@@ -70,7 +62,7 @@ Only report issues on lines that were added or modified in this PR. Do not flag
70
62
71
63
## Output — MANDATORY: Post as PR Comment
72
64
73
-
After completing all three stages, you MUST write the review to a file and post it as a PR comment. This is the most important step — the review is useless if it is not posted.
65
+
After completing both stages, you MUST write the review to a file and post it as a PR comment. This is the most important step — the review is useless if it is not posted.
74
66
75
67
**Step 1: Write the review to a temporary file.**
76
68
@@ -79,16 +71,6 @@ Write the full review body to `/tmp/doc-pr-review.md` using the Write tool. Foll
79
71
```markdown
80
72
## Documentation PR Review
81
73
82
-
### Vale Linting
83
-
84
-
**path/to/file.md**
85
-
86
-
| Line | Rule | Message | Offending Text |
87
-
|------|------|---------|----------------|
88
-
| N |`RuleName`| description of the issue |`offending text`|
89
-
90
-
(Repeat for each file. Write "No issues found." if clean.)
91
-
92
74
### Dale Linting
93
75
94
76
**path/to/file.md**
@@ -111,7 +93,7 @@ Write the full review body to `/tmp/doc-pr-review.md` using the Write tool. Foll
111
93
112
94
### Summary
113
95
114
-
N Vale issues, N Dale issues, N editorial suggestions across N files.
96
+
N Dale issues, N editorial suggestions across N files. Vale issues are posted in a separate comment by the vale-linter workflow.
115
97
116
98
---
117
99
@@ -120,7 +102,7 @@ N Vale issues, N Dale issues, N editorial suggestions across N files.
120
102
Comment `@claude` on this PR followed by your instructions to get help:
121
103
122
104
-`@claude fix all issues` — fix all Vale, Dale, and editorial issues
123
-
-`@claude fix only the Vale issues` — fix just the linting problems
105
+
-`@claude fix only the Vale issues` — fix just the Vale issues
124
106
-`@claude help improve the flow of this document` — get writing assistance
125
107
-`@claude explain the voice issues` — understand why something was flagged
126
108
@@ -140,6 +122,6 @@ If the `gh pr comment` command fails, report the error. Do NOT end your turn wit
140
122
## Behavioral Notes
141
123
142
124
- Be thorough but not pedantic — focus on issues that genuinely affect reader comprehension or violate Netwrix standards
143
-
-When Vale and your editorial review flag the same issue, include it only in the Vale section (Vale is more specific)
144
-
- If a file has zero issues across all three stages, still list it with "No issues found." so the reviewer knows it was checked
125
+
-Do not flag issues that Vale or Dale already catch — focus on what linters miss
126
+
- If a file has zero issues across both stages, still list it with "No issues found." so the reviewer knows it was checked
145
127
- Never modify the files — this is a read-only review
0 commit comments