Manage GitHub Issues 2.0 relationships with gh CLI: parent issues, sub-issues, blocked-by, and blocking links.
npx skills add https://github.com/remotion-dev/remotion --skill issue-management
Use this skill when creating, editing, inspecting, or removing relationships between GitHub issues.
These commands use the Issues 2.0 gh issue support added in GitHub CLI PR cli/cli#13057. Because this feature is new, first confirm the installed gh supports it:
gh issue create --help | grep -E -- '--parent|--blocked-by|--blocking'
gh issue edit --help | grep -E -- '--parent|--add-sub-issue|--add-blocked-by|--add-blocking'
If those flags are missing, update gh before trying to manage issue relationships. Do not invent older commands.
Relationship flags accept issue numbers or issue URLs.
Use a number for an issue in the current repository:
gh issue edit 123 --parent 100
Use a full issue URL for a cross-repository relationship:
gh issue edit 123 --blocked-by https://github.com/remotion-dev/remotion/issues/456
Multiple related issues can be passed as a comma-separated list:
gh issue edit 123 --add-blocked-by 200,201
A sub-issue has exactly one parent issue.
To create a new issue directly under a parent:
gh issue create \
--title 'Docs: Add issue management skill' \
--body-file /tmp/remotion-issue-body.md \
--parent 100
To set or change the parent of an existing child issue:
gh issue edit <child-number> --parent <parent-number-or-url>
To remove the parent from a child issue:
gh issue edit <child-number> --remove-parent
To manage children from the parent issue:
gh issue edit <parent-number> --add-sub-issue <child-number-or-url>
gh issue edit <parent-number> --remove-sub-issue <child-number-or-url>
--add-sub-issue moves the child to the new parent if it already has another parent. Do not use --add-sub-issue while editing multiple parent issues in one command; one child cannot be added ambiguously to several parents.
Use blocked-by when the issue being edited is waiting on another issue.
# Issue 123 is blocked by issue 200.
gh issue edit 123 --add-blocked-by 200
# Remove that relationship.
gh issue edit 123 --remove-blocked-by 200
Use blocking when the issue being edited blocks another issue.
# Issue 123 is blocking issues 300 and 301.
gh issue edit 123 --add-blocking 300,301
# Remove one blocking relationship.
gh issue edit 123 --remove-blocking 300
Equivalent mental model:
gh issue edit A --add-blocking B
means the same relationship as:
gh issue edit B --add-blocked-by A
Choose the command based on which issue you are already editing.
When creating an issue, set relationships immediately:
gh issue create \
--title 'Studio: Add timeline validation' \
--body-file /tmp/remotion-issue-body.md \
--blocked-by 200,201 \
--blocking 300
Human-readable view shows parent, sub-issues, blocked-by, and blocking metadata when present:
gh issue view <number>
Raw non-TTY output includes stable relationship lines:
gh issue view <number> | grep -E '^(parent|sub-issues|sub-issues-completed|blocked-by|blocking):'
For scripts, request the JSON fields explicitly:
gh issue view <number> \
--json parent,subIssues,subIssuesSummary,blockedBy,blocking
subIssues, blockedBy, and blocking are connection objects with nodes and totalCount. subIssuesSummary contains completion counts.
--body-file, not inline multiline shell strings.gh issue create or gh issue edit flag.gh issue view <number> or gh issue view <number> --json parent,subIssues,subIssuesSummary,blockedBy,blocking.Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take remotion-dev/issue-management from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.