Páginas · Claude Github PMS
gh-relate
Manage relationships between issues — depends-on, blocks, related-to, duplicate-of. Encodes the link in the issue body's structured sections AND uses GitHub's native cross-references so the relationship appears in both timelines. Auto-invoke when the user says "X depends on Y", "Y blocks X", "X is related to Y", "X is a duplicate of Y".
Encode a relationship between two issues so both ends see it.
Supported relationship kinds
| Kind | Body section on source | Reverse section on target | Special behavior |
|---|---|---|---|
depends_on | ## Depends on | ## Blocks | source can't go to in-progress until all deps closed |
blocks | ## Blocks | ## Depends on | inverse of depends_on |
related_to | ## Related to | ## Related to | bidirectional, no semantic constraint |
duplicate_of | ## Duplicate of | ## Has duplicates | source is auto-closed with reason "not planned" |
Usage
User says: #42 depends on #38 #39 → run:
User says: #100 is a duplicate of #87 → run:
(This appends ## Duplicate of on #100, comments on #87, and closes #100 with not planned reason.)
What it does
- For each
(source, kind, target)triple:- Append the link to source's body under the right section (creates the section if absent)
- Append the inverse link on target's body
- Post a one-line comment on each side:
🔗 {kind} {target}so the timeline shows it natively
- For
duplicate_of, additionally close the source viagh issue close --reason "not planned" - Report:
text
Native cross-references
GitHub auto-renders #N in issue bodies as a clickable cross-reference and posts the timeline event automatically. So the body edits alone create the visible link — no extra API call needed for the cross-reference itself.
Notes
depends_onis enforced lightly:gh-currentwill warn if you try to start an issue with unclosed dependencies, but won't block (some teams parallelize anyway).duplicate_ofis the only kind that mutates issue state (closes the source).- For PRs that close issues, use
Closes #Nin the PR body — that's a separate native keyword handled by thepre-pr-createhook.