gh-issue-sync について
gh-issue-sync は GitHub の課題とリポジトリ内の Markdown ファイルを同期し、コマンドラインから編集や課題操作を行うツールです。一時 ID に対応し、プッシュ後に課題への参照も更新します。
主な機能
- 01課題 Markdown ファイルの取得とプッシュ
- 02課題の作成、クローズ、再オープン、一覧表示
- 03ラベル、担当者、マイルストーン、関連情報の管理
- 04新規課題用の一時 ID
- 05Markdown ファイルからのコメント投稿
活用シーン
- 01リポジトリ内で課題の詳細をローカル編集
- 02プッシュ前にローカルの課題変更を確認
- 03課題を作成して一時 ID の参照を更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mitsuhiko/ gh-issue-sync --skill gh-issue-syncインストール後、Claude Code で/gh-issue-syncを入力して読み込まれたか確認します。
同梱ファイルembed.go
詳細
gh-issue-sync
GitHub の Issue を .issues/open/ および .issues/closed/ 内のローカル Markdown ファイルに同期します。
コマンド
gh-issue-sync init # Initialize in git repo
gh-issue-sync pull # Fetch open issues (--all for closed too)
gh-issue-sync push # Push local changes (--dry-run to preview)
gh-issue-sync list # List issues (supports gh issue list flags + --search)
gh-issue-sync new "Title" # Create issue (--label, --edit)
gh-issue-sync close 42 # Close (--reason completed|not_planned)
gh-issue-sync reopen 42
gh-issue-sync status # Show local changes
gh-issue-sync diff 42 # Show diff (--remote to re-fetch)
ファイル形式
.issues/open/42-fix-login-bug.md:
---
title: Fix login bug
labels: [bug, priority:high]
assignees: [alice]
milestone: v1.0
state: open
# For closed: state_reason: completed|not_planned
# Optional: parent: 10, blocked_by: [11, 12], blocks: [15]
---
Issue body in Markdown.
Issue 番号は frontmatter に保存されず、ファイル名から取得されます。
一時的な Issue
新しい Issue には、T で始まる ID(例:T1a2b3c)が割り当てられます。ファイル名は T で始める必要があります:
.issues/open/T1a2b3c-my-new-issue.md
push 時に、ファイル名は実際の Issue 番号(例:42-my-new-issue.md)に変更され、frontmatter の number: が更新されます。他の Issue にある #T1a2b3c への参照も #42 に更新されます。
コメント
プッシュ時にコメントを投稿するには、Issue の隣に .comment.md ファイルを作成します:
.issues/open/42.comment.md
.issues/open/42-fix-login-bug.comment.md
内容はプレーンな Markdown です。コメントの投稿後、ファイルは削除されます。
注意事項
- Pull は競合をスキップします。ローカルを上書きするには
--forceを使用してください
コメント
Markdown 対応