https://github.com/ozzy-labs/gh-tasks
GitHub CLI extension and skill bundle to manage tasks across GitHub Projects v2, Issues, and Milestones — for personal todos, single-project work, and cross-project coordination. Distributed for Claude Code, Codex CLI, GitHub Copilot, and Gemini CLI.
https://github.com/ozzy-labs/gh-tasks
ai-agents claude-code gh-extension github-cli-extension github-copilot github-projects ozzylabs tasks
Last synced: 29 days ago
JSON representation
GitHub CLI extension and skill bundle to manage tasks across GitHub Projects v2, Issues, and Milestones — for personal todos, single-project work, and cross-project coordination. Distributed for Claude Code, Codex CLI, GitHub Copilot, and Gemini CLI.
- Host: GitHub
- URL: https://github.com/ozzy-labs/gh-tasks
- Owner: ozzy-labs
- License: mit
- Created: 2026-04-29T22:38:18.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-17T06:47:43.000Z (29 days ago)
- Last Synced: 2026-05-17T08:34:49.949Z (29 days ago)
- Topics: ai-agents, claude-code, gh-extension, github-cli-extension, github-copilot, github-projects, ozzylabs, tasks
- Language: Go
- Size: 1.91 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.ja.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
[English](README.md) | 日本語
# gh-tasks
GitHub Projects v2 / Issues / Milestone を横断するタスク管理のための GitHub CLI extension + skill bundle。個人 todo、単体プロジェクト、プロジェクト横断調整の 3 用途を 1 つの抽象でカバーする。
`gh tasks` は 3 スコープ(`repo` / `org` / `user`)を統一的に扱うため、同じコマンドが個人タスク、単体リポのバックログ、共有 Project v2 によるプロジェクト横断調整いずれにも使える。
本 CLI は Projects v2 アクセスを単一バイナリ + skill bundle に集約し、agent adapter 機構経由で Claude Code / Codex CLI / GitHub Copilot / Gemini CLI 向けに skill を配布する。
## ステータス
v0.1.0 — feature-complete。下記 CLI コマンドおよび skill は 3 スコープ(`repo` / `org` / `user`)すべてで実装・テスト済み。リリースは release-please で管理する。repo 内の判断は [docs/adr/](docs/adr/)、ユーザーマニュアルは [docs/manual/ja/](docs/manual/ja/) を参照。
## インストール
```bash
gh extension install ozzy-labs/gh-tasks
```
短縮 alias(任意):
```bash
gh alias set task tasks
```
認証は `gh auth login` で取得済のトークンを extension が継承する(追加の認証導線なし)。
## CLI コマンド
| コマンド | 用途 |
| --- | --- |
| `gh tasks add ` | Issue / Project draft item の追加(`--scope repo\|org\|user`、`--repo `、`--project `) |
| `gh tasks list` | 一覧表示(`--scope` でスコープ切替、`--limit ` 既定 30) |
| `gh tasks today` | 今日の予定 / 期日のタスクを表示 |
| `gh tasks plan [--period daily\|weekly\|sprint] [--write]` | 週次 / イテレーション計画(repo は Milestone、org/user は Iteration)。デフォルトは preview、`--write` で適用 |
| `gh tasks triage [--limit ]` | 未トリアージ Issue / draft の整理(既定 20) |
| `gh tasks done ` | 完了化(repo: Issue close、org/user: Status → Done) |
| `gh tasks review [--period daily\|weekly\|sprint]` | 振り返り |
| `gh tasks standup [--mine] [--since ]` | 個人 / チーム活動サマリ(既定 直近 24h) |
| `gh tasks link ` | PR と Issue / Project 項目の紐付け |
| `gh tasks projects init [yaml-path]` | yaml テンプレートから Project v2 を bootstrap(`--template`、`--owner`、`--title`、`--dry-run`) |
| `gh tasks projects init-templates` | 同梱の `user` / `org` テンプレート yaml を出力 |
`--scope` の解決順は「明示の `--scope` フラグ → 作業ディレクトリの git remote(`origin` があれば `repo`)→ `~/.config/ozzylabs/gh-tasks.toml` の `default_scope` → `user`」。フラグの詳細は [docs/manual/ja/reference/cli.md](docs/manual/ja/reference/cli.md) を参照。
## 構造化出力
全コマンド(read 系と mutation 系: `add` / `done` / `link` / `plan --write` / `projects init` / `init-templates`)が `--json [fields]` / `--jq ` を受け付け、シェルスクリプト・エージェント・`jq` / `yq` への接続が容易。`--json` は tab 補完対応、`--paginate` で read 系コマンドの全件取得も可能。
```bash
# 利用可能フィールドを一覧表示(空値)
gh tasks list --json=
# 指定フィールドの JSON 配列(state OPEN / CLOSED / MERGED もカタログに含まれる)
gh tasks list --json id,number,state,title
# 内蔵 jq フィルタ(Pure Go の gojq、外部依存なし)
gh tasks list --json id --jq '.[].id'
# 作成した Issue の id を後続コマンドで使う
issue_id=$(gh tasks add "Bug: /api/foo が 404" --json id --jq '.[0].id')
# 既定の取得上限を超えて全件取得
gh tasks list --paginate --json id
# close 済 Issue の state を script で確認
gh tasks done 42 --json state --jq '.[0].state'
# "CLOSED"
```
`stdout` は JSON 専用。警告と localized エラーは `stderr` に出る。出力はロケール非依存(フィールド名は英語、値は GitHub 実体値)なので、`--lang en` でも `--lang ja` でも script の挙動が変わらない。詳細は [docs/manual/ja/reference/json-output.md](docs/manual/ja/reference/json-output.md) を参照。
## Skills
| Skill | 用途 |
| --- | --- |
| `task-add` | 会話文脈からタスク化 |
| `task-plan` | 日次 / 週次 / スプリント計画 |
| `task-triage` | inbox triage |
| `task-review` | daily / weekly retrospective |
| `task-standup` | 活動サマリ |
| `task-link-pr` | PR と項目の紐付け |
skill は Claude Code / Codex CLI / GitHub Copilot / Gemini CLI 向けに配布される。配置経路は 2 通り:
### ワンショット install(推奨)
```bash
cd /path/to/your-repo
gh tasks install-skills
```
リポ内に存在するエージェント痕跡(`.claude/` / `AGENTS.md` / `.gemini/` / `.github/copilot-instructions.md`)を auto-detect して該当ファイルを配置する。冪等で、再実行時は adapter ごとの manifest を見て差分のみ更新する。
主なフラグ:
- `--agent claude-code,codex-cli` — auto-detect ではなく指定 agent のみ
- `--namespace gh-tasks` — 衝突回避用の rename install(`task-add` → `gh-tasks-add`)
- `--force` — 非管理の既存ファイルを `.bak` に退避して上書き
- `--dry-run` — 実行予定のアクションのみ表示
- `--check` — on-disk が SSOT と乖離していれば非ゼロ終了(CI dogfooding 用)
- `--uninstall` — manifest 記載のファイルを削除。共有集約ファイル(`AGENTS.md` / `.gemini/settings.json` / `.github/copilot-instructions.md`)は adapter 間で reference count される
### Renovate auto-sync(自動更新派向け)
skill の更新を Renovate 経路で取り込みたい場合は、adapter sub-preset を extend する:
```jsonc
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"github>ozzy-labs/gh-tasks//configs/skills-sync/claude-code",
"github>ozzy-labs/gh-tasks//configs/skills-sync/codex-cli"
]
}
```
詳細(全 adapter preset 一覧、`gh_tasks_commit:` を `@ozzylabs/skills` と並走で tracking する仕組み)は [`configs/skills-sync/README.md`](configs/skills-sync/README.md)。
両経路は配置先と marker tag を共有するため相互運用可能で、片方から他方へ切り替えても spurious な差分は出ない。
## スコープ対応
| Scope | 用途 | データ源 |
| --- | --- | --- |
| `repo` | 単体プロジェクトの実装作業 | Issues + Milestones |
| `org` | プロジェクト横断調整 | Organization Project v2 |
| `user` | 個人 todo / 日次計画 | 個人 Project v2 |
## 規約
- **コミット**: [Conventional Commits](https://www.conventionalcommits.org/)
- **ブランチ**: GitHub Flow + squash merge のみ
- **ブランチ命名**: `/`
## License
[MIT](LICENSE)