← ClaudeAtlas

issue-linkslisted

Relate GitHub issues and PRs — pick the right edge type (blocked-by via GraphQL, parent/sub-issue, Closes/Fixes in PR body, plain mention) and apply it. Use when asked to link, block, depend on, make a subtask of, or close-on-merge.
alunduil/alunduil-chezmoi · ★ 1 · Code & Development · score 67
Install: claude install-skill alunduil/alunduil-chezmoi
# Issue links Pick the *strongest accurate* relationship — but no stronger. ## Decision tree - **Closes / Fixes / Resolves #N in PR body** — auto-closes on merge. Default when a PR ends an issue. - **blocked-by / blocks** — A can't proceed or ship until B lands. Both are peer-sized; B is *not* a piece of A. Surfaces in the dependency graph and gates closing. - **parent / sub-issue** — A is decomposition of parent B's work. Sub wouldn't exist on its own; parent isn't done until subs are. Subs roll up into parent's progress. - **plain `#N` mention** — context only, no causal edge. Discussion, prior art, "see also". Default when nothing stronger fits. The trap: reaching for parent/sub-issue when blocked-by is what's meant, because sub-issues were the only hierarchy GitHub had for years. Size test — peer-sized → blocked-by; smaller-than-parent → sub-issue. ## How to apply each ### Closes / Fixes / Resolves In the PR body or commit message: ```text Closes #123 ``` Same-repo number, or `owner/repo#123` cross-repo. Recognized verbs: close, fix, resolve (any tense). ### blocked-by (GraphQL only — no `gh issue` flag, no REST) Two round-trips minimum: GraphQL executes one operation per request and `Mutation` doesn't expose `repository`, so query and mutation can't share a document. The lookup is aliased so both IDs return in one call (one rate-limit point), then the mutation runs. ```bash read A_ID B_ID <<<"$(gh api graphql \ -F owner=OWNER -F repo=REPO -F a=<