用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/takemo101/compose-workflow --skill github-graphql-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | github-graphql-api |
| description | GitHub REST APIのSub-issue関連バグを回避するためのGraphQL API共通処理(Sub-issue登録、エラーハンドリング)を提供 |
参照元: decompose-issue.md, detailed-design-workflow.md から分離された共通GraphQL API処理
GitHub REST APIにはSub-issue関連のバグがあるため、GraphQL APIを使用する。
Reference: https://github.com/cli/cli/issues/10378
親IssueにSub-issueを紐付けるGraphQL API処理。
def add_sub_issue(parent_issue_id: int, child_issue_id: int) -> bool:
"""
親IssueにSub-issueを登録する
Args:
parent_issue_id: 親Issue番号
child_issue_id: 子Issue番号(Sub-issue)
Returns:
成功時True、失敗時False(致命的エラーとしない)
"""
try:
# 1. GraphQL Node IDを取得
parent_node_id = bash(
f"gh issue view {parent_issue_id} --json id --jq '.id'"
).stdout.strip()
child_node_id = bash(
f"gh issue view {child_issue_id} --json id --jq '.id'"
).stdout.strip()
if not parent_node_id or not child_node_id:
return False
result = bash()
result.exit_code ==
Exception:
# 1. Node ID取得
PARENT_NODE_ID=$(gh issue view $PARENT_ISSUE_ID --json id --jq '.id')
CHILD_NODE_ID=$(gh issue view $CHILD_ISSUE_ID --json id --jq '.id')
# 2. Sub-issue登録
gh api graphql \
-H "GraphQL-Features: sub_issues" \
-f "query=mutation {
addSubIssue(input: {
issueId: \"$PARENT_NODE_ID\",
subIssueId: \"$CHILD_NODE_ID\"
}) {
issue { number }
subIssue { number }
}
}" || true # エラーでも続行
| エラー | 対応 |
|---|---|
| Node ID取得失敗 | 処理をスキップ(警告ログ出力) |
| GraphQL API失敗 | 処理をスキップ(致命的エラーとしない) |
| ネットワークエラー | リトライ1回後スキップ |
重要: Sub-issue登録の失敗はワークフロー全体を停止させない。Issue自体は作成済みなので、手動でSub-issue関係を設定可能。
| ワークフロー | 用途 |
|---|---|
/decompose-issue | 分割したSubtaskを親Issueに紐付け |
/detailed-design-workflow | 作成したIssueをEpicに紐付け |
自動化スクリプトが利用可能です:
bash .claude/skills/github-graphql-api/scripts/add-sub-issue.sh <parent-issue> <child-issue>
| 引数 | 説明 |
|---|---|
parent-issue | 親Issue番号 |
child-issue | Sub-issueとして追加するIssue番号 |
使用例:
bash .claude/skills/github-graphql-api/scripts/add-sub-issue.sh 10 42