Analyze a single GitHub issue for docker/docs — check whether the problem still exists, determine a verdict, and report findings. Use when asked to triage, assess, or review an issue, even if the user doesn't say "triage" explicitly: "triage issue 1234", "is issue 500 still valid", "should we close #200", "look at this issue", "what's going on with #200".
96
96%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Given GitHub issue $ARGUMENTS from docker/docs, figure out whether it's still a real problem and say what should happen next.
gh issue view $ARGUMENTS --repo docker/docs \
--json number,title,body,state,labels,createdAt,updatedAt,closedAt,assignees,author,commentsRead the issue body and all comments. Identify:
Check for linked PRs in the issue timeline, not only in the issue body or comments:
gh api repos/docker/docs/issues/$ARGUMENTS/timeline --paginate \
--jq '.[] | select(.event=="cross-referenced" or .event=="connected" or .event=="referenced") | {event, created_at, source: .source.issue.html_url, title: .source.issue.title, state: .source.issue.state}'If an open PR already addresses the issue, don't open another PR. Review the existing PR instead, and report that the issue already has an associated PR. A merged PR is strong evidence the issue is fixed. A closed-without-merge PR means the issue is likely still open.
Find all docs.docker.com URLs in the issue body and comments. For each:
For non-docs URLs (GitHub links, external references), fetch them too if they are central to understanding the issue.
If the issue references specific files, content sections, or code:
/manuals prefix mapping when looking up filesIf the issue is about content in _vendor/ or data/cli/, it cannot be
fixed here. Identify which upstream repo owns it (see the vendored content
table in CLAUDE.md).
After investigating, pick one of these verdicts and take the corresponding action on the issue:
Close it — the problem is already fixed, the content no longer exists, or the issue is too outdated to be useful. Close the issue with a comment explaining why:
gh issue close $ARGUMENTS --repo docker/docs \
--comment "Closing: <one-sentence reason>"Fix it — the problem is real and fixable in this repo. Name the
file(s) and what needs to change. Label the issue status/confirmed and
remove status/triage if present:
gh api repos/docker/docs/issues/$ARGUMENTS/labels \
--method POST --field 'labels[]=status/confirmed'
gh api repos/docker/docs/issues/$ARGUMENTS/labels/status%2Ftriage \
--method DELETE || trueEscalate upstream — the problem is real but lives in vendored content.
Name the upstream repo. Label the issue status/upstream and remove
status/triage if present:
gh api repos/docker/docs/issues/$ARGUMENTS/labels \
--method POST --field 'labels[]=status/upstream'
gh api repos/docker/docs/issues/$ARGUMENTS/labels/status%2Ftriage \
--method DELETE || trueLeave it open — you can't determine the current state, or the issue
needs human judgment. Label the issue status/needs-analysis:
gh api repos/docker/docs/issues/$ARGUMENTS/labels \
--method POST --field 'labels[]=status/needs-analysis'
gh api repos/docker/docs/issues/$ARGUMENTS/labels/status%2Ftriage \
--method DELETE || trueDon't overthink the classification. An old issue isn't stale if the problem still exists. An upstream issue is still valid — it's just not fixable here.
Also apply the most relevant area/ label based on the content affected.
Available area labels: area/accounts, area/admin, area/ai,
area/api, area/billing, area/build, area/build-cloud, area/cli,
area/compose, area/compose-spec, area/config, area/contrib,
area/copilot, area/desktop, area/dhi, area/engine,
area/enterprise, area/extensions, area/get-started, area/guides,
area/hub, area/install, area/networking, area/offload,
area/release-notes, area/samples, area/scout, area/security,
area/storage, area/subscription, area/swarm, area/ux. Pick one
(or at most two if the issue clearly spans areas). Skip if none fit.
gh api repos/docker/docs/issues/$ARGUMENTS/labels \
--method POST --field 'labels[]=area/<name>'Write a short summary: what the issue reports, what you found, and what should happen next. Reference the specific files, URLs, or PRs that support your conclusion. Skip metadata fields — the issue itself has the dates and labels. Mention the action you took (closed, labeled, etc.).
Generated by Codex or Generated by Claude Code.
.c0aa985
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.