Skip to content

Commit dccdfd7

Browse files
authored
Merge pull request #24415 from dvdksn/skills
skills
2 parents adc8d38 + 3091d54 commit dccdfd7

File tree

2 files changed

+136
-17
lines changed

2 files changed

+136
-17
lines changed

.claude/skills/fix-issues/SKILL.md

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,7 @@ Re-read the changed file to verify:
6868

6969
#### f. Commit
7070

71-
Stage only the changed files (not `git add -A`), then commit:
72-
73-
```bash
74-
git add <specific-files>
75-
git commit -m "$(cat <<'EOF'
76-
<Short summary of fix>
77-
78-
<Brief explanation of why>
79-
80-
Closes #<issue-number>
81-
82-
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
83-
EOF
84-
)"
85-
```
71+
Stage only the changed files (not `git add -A`).
8672

8773
#### g. Push and create PR
8874

@@ -139,5 +125,3 @@ Present a summary table:
139125
reorganization before giving up (files move around in this repo)
140126
- Validation commands (`docker buildx bake lint vale`) are available but slow;
141127
only run them if the user asks or the changes are complex enough to warrant it
142-
- The `/manuals` prefix is removed from URLs in the live site — keep this in
143-
mind when verifying link paths
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
---
2+
name: triage-issues
3+
description: >
4+
Triage one or more GitHub issues for the docker/docs repository. Analyzes each
5+
issue's content, checks whether the problem still exists in the repo and on the
6+
live site, and produces a structured verdict. Use this skill whenever the user
7+
asks to triage, analyze, review, or assess GitHub issues — e.g. "triage issue
8+
1234", "what's the status of these issues", "which of these can be closed",
9+
"look at issues 100 200 300 and tell me what to do with them".
10+
---
11+
12+
# Triage Issues
13+
14+
Given one or more GitHub issue numbers from the docker/docs repository, analyze
15+
each issue and produce a structured verdict on its current status.
16+
17+
## Workflow
18+
19+
### 1. Fetch all issues in parallel
20+
21+
For each issue number, fetch everything in a single call:
22+
23+
```bash
24+
gh issue view <number> --repo docker/docs \
25+
--json number,title,body,state,labels,createdAt,updatedAt,closedAt,assignees,author,comments
26+
```
27+
28+
When triaging multiple issues, fetch all of them in parallel before starting
29+
analysis — don't process one at a time.
30+
31+
### 2. Analyze each issue
32+
33+
For each issue, work through these checks:
34+
35+
#### a. Understand the problem
36+
37+
Read the issue body and all comments. Identify:
38+
- What is the reported problem?
39+
- What content, URL, or file does it reference?
40+
- Are there linked PRs? Check whether they were merged or closed without merge.
41+
- Has anyone already proposed a fix or workaround in the comments?
42+
43+
#### b. Follow URLs
44+
45+
Find all `docs.docker.com` URLs in the issue body and comments. For each one:
46+
- Fetch the URL to check if it still exists (404 = content removed or moved)
47+
- Check whether the content still contains the problem described
48+
- Note when the page was last updated relative to when the issue was filed
49+
50+
For non-docs URLs (GitHub links, external references), fetch them too if they
51+
are central to understanding the issue.
52+
53+
#### c. Check the repository
54+
55+
If the issue references specific files, content sections, or code:
56+
- Use file tools to find and read the current version of that content
57+
- Check whether the problem has been fixed, the content moved, or the file removed
58+
- Remember the `/manuals` prefix mapping when looking up files
59+
60+
#### d. Check for upstream ownership
61+
62+
If the issue is about content in `_vendor/` or `data/cli/`, it cannot be fixed
63+
here. Identify which upstream repo owns it and note that in your analysis.
64+
65+
### 3. Determine verdict
66+
67+
Assign one of these verdicts based on what you found:
68+
69+
| Verdict | When to use |
70+
|---------|-------------|
71+
| **OPEN** | Issue is valid and still unfixed in this repo |
72+
| **CLOSEABLE_FIXED** | Content has been updated, corrected, or removed since the issue was filed |
73+
| **UPSTREAM** | Problem exists but originates in vendored/upstream content |
74+
| **INDETERMINATE** | Not enough information to determine current state |
75+
| **STALE** | Outdated with no recent activity; references content or features that no longer exist; context has changed enough that a new issue would be more appropriate |
76+
77+
Be confident when evidence is clear. Use INDETERMINATE only when you genuinely
78+
cannot determine the current state after checking.
79+
80+
### 4. Report results
81+
82+
#### Single issue
83+
84+
Print a structured report:
85+
86+
```
87+
## Issue #<number>: <title>
88+
89+
**Verdict:** <VERDICT>
90+
**Confidence:** <high|medium|low>
91+
**Filed:** <creation date>
92+
**Last activity:** <last comment or update date>
93+
**Labels:** <labels or "none">
94+
95+
### Summary
96+
<One or two sentences describing the reported problem.>
97+
98+
### Analysis
99+
<What you checked and what you found. Reference specific URLs, files, or
100+
content. Note any linked PRs or related issues.>
101+
102+
### Recommendation
103+
<Concrete next step: close with a comment, fix specific content, escalate
104+
to upstream repo, request more info from reporter, etc.>
105+
```
106+
107+
#### Multiple issues
108+
109+
Start with a summary table, then print the full report for each issue:
110+
111+
```
112+
| Issue | Title | Verdict | Confidence |
113+
|-------|-------|---------|------------|
114+
| #123 | ... | OPEN | high |
115+
| #456 | ... | STALE | medium |
116+
117+
---
118+
119+
## Issue #123: ...
120+
[full report]
121+
122+
---
123+
124+
## Issue #456: ...
125+
[full report]
126+
```
127+
128+
## Notes
129+
130+
- A merged PR linked to an issue is strong evidence the issue is fixed
131+
- A closed-without-merge PR means the issue is likely still open
132+
- Check creation date and last activity to assess staleness — issues with no
133+
activity in over a year that reference old product versions are candidates
134+
for STALE
135+
- Do not narrate your process; just produce the final report(s)

0 commit comments

Comments
 (0)