一键导入
link
Link GitHub issues as sub-issues or blockers. Use when organizing epics or marking dependencies between issues.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Link GitHub issues as sub-issues or blockers. Use when organizing epics or marking dependencies between issues.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate UI-viewable replay artifacts from a trained RL checkpoint. Use when user asks to generate replays, view agent behavior, or step through games.
Check Hetzner VM sweep status: games completed, errors/bugs with seeds, max fame leaderboard. Use when user asks about VM status, sweep progress, bugs, or fame.
View GitHub project board status. Shows issues by status (In Progress, Up Next, Backlog) with priority labels. Use when user asks 'what's the status', 'show me the board', or 'what's in progress'.
Complete work on current issue, create PR, and update project board. Use when implementation is complete and ready for review.
Recommend what issue to work on next based on priority, complexity, and dependencies. Use when user asks 'what should I work on', 'what's next', or 'pick something for me'.
Start working on a GitHub issue. Use when user says 'work on #123', 'start issue 42', or 'pick up the next task'.
| name | link |
| description | Link GitHub issues as sub-issues or blockers. Use when organizing epics or marking dependencies between issues. |
| user-invocable | true |
| argument-hint | <child> to <parent> | <issue> blocked by <blocker> |
Create relationships between issues: sub-issues (parent/child) and blockers (dependencies).
/link #45 to #103 # Make #45 a sub-issue of epic #103
/link #45 blocked by #108 # Mark #45 as blocked by #108
Sub-issues organize work under an epic. The child issue appears in the epic's task list.
gh api graphql -f query='
mutation {
addSubIssue(input: {
issueId: "<PARENT_NODE_ID>"
subIssueId: "<CHILD_NODE_ID>"
}) {
issue { number }
subIssue { number }
}
}'
To get node IDs:
# Get parent epic's node ID
gh api repos/eshaffer321/MageKnight/issues/<parent_number> --jq '.node_id'
# Get child issue's node ID
gh api repos/eshaffer321/MageKnight/issues/<child_number> --jq '.node_id'
| Epic | Description |
|---|---|
| #103 | All Basic Action Cards |
| #90 | All Advanced Action Cards |
| #91 | All Spell Cards |
| #92 | All Artifact Cards |
Blockers indicate that one issue cannot be completed until another is resolved.
# Get the blocking issue's node ID (the blocker)
BLOCKING_ID=$(gh api repos/eshaffer321/MageKnight/issues/<blocker_number> --jq '.node_id')
# Add blocked-by relationship
gh api graphql -f query="
mutation {
addIssueToIssuesDependency(input: {
blockedIssueId: \"<BLOCKED_ISSUE_NODE_ID>\"
blockingIssueId: \"$BLOCKING_ID\"
}) {
blockedIssue { number }
blockingIssue { number }
}
}"
| Issue | Description |
|---|---|
| #108 | Discard-as-Cost System |
| #109 | Movement trigger system |
Scenario: Link new issue #150 as a sub-issue of epic #103, and mark it blocked by #108.
# 1. Get all node IDs
EPIC_ID=$(gh api repos/eshaffer321/MageKnight/issues/103 --jq '.node_id')
NEW_ID=$(gh api repos/eshaffer321/MageKnight/issues/150 --jq '.node_id')
BLOCKER_ID=$(gh api repos/eshaffer321/MageKnight/issues/108 --jq '.node_id')
# 2. Add as sub-issue to epic
gh api graphql -f query="
mutation {
addSubIssue(input: {
issueId: \"$EPIC_ID\"
subIssueId: \"$NEW_ID\"
}) {
issue { number }
subIssue { number }
}
}"
# 3. Mark as blocked
gh api graphql -f query="
mutation {
addIssueToIssuesDependency(input: {
blockedIssueId: \"$NEW_ID\"
blockingIssueId: \"$BLOCKER_ID\"
}) {
blockedIssue { number }
blockingIssue { number }
}
}"
All linking operations require GraphQL (no REST equivalent). If you get rate-limited, tell the user and suggest they try again in a few minutes, or link manually in the GitHub UI.
gh api repos/...)Linked #150 → #103 (sub-issue)
Linked #150 ← blocked by #108