Skip to main content

link-subissue-to-parent-issue

Guide for linking an existing GitHub issue as a sub-issue of a parent issue in the torrust-tracker project. Covers the GitHub REST API flow, the required internal issue ID for the child issue, verification, and common failure modes. Use when setting a parent issue for a sub-issue, attaching a child issue to an epic, or linking an existing issue under another issue. Triggers on "set parent issue", "link subissue", "add sub-issue", "attach child issue", or "make issue a subissue".

Datos de origen

Repositorio
torrust/torrust-tracker
Última actividad en el origen
29 de abril de 2026 a las 10:12
Idioma detectado de SKILL.md
inglés
Estrellas
533
Forks
56

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
link-subissue-to-parent-issue
description
Guide for linking an existing GitHub issue as a sub-issue of a parent issue in the torrust-tracker project. Covers the GitHub REST API flow, the required internal issue ID for the child issue, verification, and common failure modes. Use when setting a parent issue for a sub-issue, attaching a child issue to an epic, or linking an existing issue under another issue. Triggers on "set parent issue", "link subissue", "add sub-issue", "attach child issue", or "make issue a subissue".
metadata
{"author":"torrust","version":"1.0"}
# Linking a Sub-Issue to a Parent Issue This skill covers the workflow for linking an existing GitHub issue under a parent issue. ## When to Use Use this when: - A child issue already exists and needs to be attached to an epic or parent issue - You need to set or fix the parent issue of an existing sub-issue - You want to verify that a sub-issue link was created correctly ## Important Detail The GitHub sub-issues REST API expects the **internal GitHub issue ID** for the child issue, not the visible issue number. - Issue number example: `1715` - Internal issue ID example: `4349463336` If you send the issue number as `sub_issue_id`, GitHub returns a `422` validation error. ## Standard Workflow ### 1. Confirm the parent and child issue numbers Decide which issue is the parent and which is the child. - Parent issue number: the epic or container issue - Child issue number: the issue to attach under the parent ### 2. Get the internal ID for the child issue ```bash gh api /repos/torrust/torrust-tracker/issues/{child-issue-number} --jq '.id' ``` Example: ```bash gh api /repos/torrust/torrust-tracker/issues/1715 --jq '.id' ``` ### 3. Link the child issue to the parent issue ```bash gh api \ --method POST \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ /repos/torrust/torrust-tracker/issues/{parent-issue-number}/sub_issues \ --input - <<'EOF' {"sub_issue_id": {child-internal-id}} EOF ``` Example: ```bash gh api \ --method POST \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ /repos/torrust/torrust-tracker/issues/1525/sub_issues \ --input - <<'EOF' {"sub_issue_id": 4349463336} EOF ``` ### 4. Verify the link Check the child issue's `parent_issue_url`: ```bash gh api /repos/torrust/torrust-tracker/issues/{child-issue-number} --jq '.parent_issue_url' ``` Example: ```bash gh api /repos/torrust/torrust-tracker/issues/1715 --jq '.parent_issue_url' ``` Expected result: ```text https://api.github.com/repos/torrust/torrust-tracker/issues/1525 ``` ## Common Failure Modes ### `422` Invalid property `/sub_issue_id` Cause: you passed the child issue number instead of the child's internal issue ID. Fix: fetch the child issue with `gh api ... --jq '.id'` and use that value. ### `404 Not Found` Possible causes: - Wrong repository path - Wrong parent issue number - Missing permissions for sub-issue management - The repository or issue does not support the operation in the current context Fix: verify the repo, the parent issue number, and your GitHub permissions. ## Optional MCP Alternative If GitHub MCP tools are available, prefer the dedicated sub-issue tool over raw API calls. Still make sure you pass the **internal issue ID** for the child issue, not the issue number. ## Notes for Torrust Tracker - Parent issues are often EPICs in `docs/issues/` - Child issues usually have their own spec file and implementation branch - After creating and linking a new issue, rename the local spec file to include the assigned issue number
Ver en GitHub