← ClaudeAtlas

gh-relatelisted

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".
fadymondy/gh-pms · ★ 0 · AI & Automation · score 70
Install: claude install-skill fadymondy/gh-pms
# gh-relate 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: ```bash ${CLAUDE_PLUGIN_ROOT}/lib/ghcall.sh issue-relate 42 "Depends on" "#38" ${CLAUDE_PLUGIN_ROOT}/lib/ghcall.sh issue-relate 42 "Depends on" "#39" ${CLAUDE_PLUGIN_ROOT}/lib/ghcall.sh issue-relate 38 "Blocks" "#42" ${CLAUDE_PLUGIN_ROOT}/lib/ghcall.sh issue-relate 39 "Blocks" "#42" ``` User says: `#100 is a duplicate of #87` → run: ```bash ${CLAUDE_PLUGIN_ROOT}/lib/ghcall.sh duplicate-of 100 "#87" ``` (This appends `## Duplicate of` on #100, comments on #87, and closes #100 with `not planned` reason.) ## What it does 1. 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 2. For `duplicate_of`, additionally close the sourc