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
+9-31Lines changed: 9 additions & 31 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, 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."
3
+
description: "Autonomous fixer for documentation PRs. Triggered by @claude comments on PRs targeting dev. Reads the writer's request and the doc-pr review 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,7 @@ 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 and the Vale linting comment
24
-
-**Fix only Vale issues** — apply only fixes from the Vale linting comment
23
+
-**Fix all issues** — apply every fix from the doc-pr review comment (Dale + editorial)
25
24
-**Fix only Dale issues** — apply only Dale linting fixes
26
25
-**Fix a specific issue** — apply one targeted fix
27
26
-**Improve flow/clarity/structure** — editorial rewrite of specific content
@@ -37,34 +36,27 @@ Parse the writer's comment to determine what they want. Common patterns:
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.
45
39
46
40
## Step 3: Plan your work and post a progress comment
47
41
48
42
Use Todo to create a task for each discrete piece of work you need to do. Build the task list from what you learned in Steps 1–2. Each task should be concrete and trackable. Mark each task as complete as you finish it.
49
43
50
44
Example tasks for a "fix all issues" request:
51
-
- Fix Vale issues in `path/to/file.md` (N issues)
52
-
- Fix Vale issues in `path/to/other.md` (N issues)
53
45
- Fix Dale issues in `path/to/file.md` (N issues)
54
46
- Apply editorial suggestions
55
47
- Verify changes
56
48
- Commit and push
57
49
58
-
Only include tasks for what the writer actually asked for. If they said "fix only the Dale issues," your task list should contain Dale fixes, verify, and commit — no Vale tasks, no editorial tasks. The task list must reflect the writer's request exactly.
50
+
Only include tasks for what the writer actually asked for. If they said "fix only the Dale issues," your task list should contain Dale fixes, verify, and commit — no editorial tasks. The task list must reflect the writer's request exactly.
59
51
60
52
Then post a PR comment mirroring your task list so the writer can see what you're doing:
- [ ] Fix Vale issues in `path/to/file.md` (N issues)
67
-
- [ ] Fix Vale issues in `path/to/other.md` (N issues)
58
+
- [ ] Fix Dale issues in `path/to/file.md` (N issues)
59
+
- [ ] Apply editorial suggestions
68
60
- [ ] Verify changes
69
61
- [ ] Commit and push
70
62
EOF
@@ -84,7 +76,6 @@ Update the PR comment at natural milestones (after finishing each file, after co
84
76
85
77
Work through the requested fixes methodically:
86
78
87
-
- 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
88
79
- For **Dale fixes**: fix each flagged issue in order, file by file
89
80
- For **editorial fixes from the review**: apply the suggested changes from the review comment
90
81
- 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
@@ -93,20 +84,7 @@ Work through the requested fixes methodically:
93
84
When editing:
94
85
- Use the Edit tool for targeted changes, Write for larger rewrites
95
86
- Preserve the author's meaning and intent — fix the style, don't rewrite the content
96
-
- Only change what was requested; don't fix other categories of issues even if they're on the same line (e.g., if asked to fix Vale issues, don't also fix Dale or editorial issues)
97
-
98
-
## Step 4b: Update the Vale Idioms rule
99
-
100
-
After applying fixes, check whether any Dale `idioms` violations or editorial items tagged `[idiom]` contained phrases not already in `.vale/styles/Netwrix/Idioms.yml`. For each new idiom:
101
-
102
-
1. Read `.vale/styles/Netwrix/Idioms.yml` to confirm the phrase isn't already covered (check for both exact matches and regex patterns that would match it).
103
-
2. Add a new token entry under the most appropriate category comment. Follow existing conventions:
104
-
- Use `\b` word boundaries for multi-word phrases.
105
-
- Add optional inflection suffixes where the idiom can be conjugated (e.g., `\bgets? the ball rolling\b`).
106
-
- Use single quotes around each token.
107
-
3. Include the Idioms.yml file in your commit so the Vale rule grows over time.
108
-
109
-
If no new idioms were found, skip this step.
87
+
- Only change what was requested; don't fix other categories of issues even if they're on the same line (e.g., if asked to fix Dale issues, don't also fix editorial issues)
110
88
111
89
## Step 5: Verify
112
90
@@ -135,8 +113,8 @@ gh api repos/{owner}/{repo}/issues/comments/$PROGRESS_COMMENT_ID \
135
113
-X PATCH -f body="$(cat <<'EOF'
136
114
**Fix complete:**
137
115
138
-
- [x] Fix Vale issues in `path/to/file.md` (N issues)
139
-
- [x] Fix Vale issues in `path/to/other.md` (N issues)
116
+
- [x] Fix Dale issues in `path/to/file.md` (N issues)
117
+
- [x] Apply editorial suggestions
140
118
- [x] Verify changes
141
119
- [x] Commit and push
142
120
@@ -152,7 +130,7 @@ Skip progress tracking only for pure explanations (e.g., "why is this flagged?")
152
130
## Behavioral Notes
153
131
154
132
-**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.
155
-
-**Never fix issues the writer didn't ask about.** If they said "fix the Vale issues," only fix Vale issues — don't also fix Dale issues, editorial issues, or rewrite sentences for clarity, even if the fix is on the same line.
133
+
-**Never fix issues the writer didn't ask about.** If they said "fix the Dale issues," only fix Dale issues — don't also fix editorial issues or rewrite sentences for clarity, even if the fix is on the same line.
156
134
-**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.
157
135
-**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.
158
136
-**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
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
---
2
2
name: 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."
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 issues are auto-fixed separately by the vale-autofix workflow. 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
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
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.
11
+
Vale issues are auto-fixed separately by the vale-autofix workflow. Do not run Vale or include Vale results in your review.
12
12
13
13
Read `docs/CLAUDE.md` before starting — it contains the writing standards and Vale guidance you need for the editorial review stage.
14
14
@@ -99,16 +99,15 @@ Write the full review body to `/tmp/doc-pr-review.md` using the Write tool. Foll
99
99
100
100
### Summary
101
101
102
-
N Dale issues, N editorial suggestions across N files. Vale issues are posted in a separate comment by the vale-linter workflow.
102
+
N Dale issues, N editorial suggestions across N files. Vale issues are auto-fixed separately.
103
103
104
104
---
105
105
106
106
**What to do next:**
107
107
108
108
Comment `@claude` on this PR followed by your instructions to get help:
109
109
110
-
-`@claude fix all issues` — fix all Vale, Dale, and editorial issues
111
-
-`@claude fix only the Vale issues` — fix just the Vale issues
110
+
-`@claude fix all issues` — fix all Dale and editorial issues
112
111
-`@claude help improve the flow of this document` — get writing assistance
113
112
-`@claude explain the voice issues` — understand why something was flagged
NOTE: Vale linting runs separately (vale-linter workflow) and posts inline review comments plus a summary PR comment. Do not run Vale or include Vale issues in this review.
171
+
NOTE: Vale issues are auto-fixed separately by the vale-autofix workflow. Do not run Vale or include Vale issues in this review.
172
172
173
173
INSTRUCTIONS:
174
174
@@ -289,7 +289,7 @@ jobs:
289
289
OWNER="${REPO%%/*}"
290
290
NAME="${REPO##*/}"
291
291
292
-
# Resolve all Dale and Vale inline comment threads
0 commit comments