ichi-h

backlog-management

バックログ解決のためのバックログ管理方法を定義します。バックログファイルの構造、フォーマット、命名規則、依存関係のガイドラインを提供します。

ichi-h 1 Updated 3mo ago
GitHub

Install

npx skillscat add ichi-h/dotfiles/backlog-management

Install via the SkillsCat registry.

SKILL.md

バックログ管理スキル

バックログステータス

バックログには以下のステータスを設定します:

ステータス 説明 状態
planning 計画中 バックログの追加のみを行った状態
planned 計画済み backlog-managerのタスク定義が完了した状態
in-progress 進行中 バックログの解決が進行している状態
completed 完了 バックログの解決が完了した状態
paused 一時停止 何らかの理由でバックログの解決が一時停止している状態
archived アーカイブ バックログの解決が不要になった状態(例: 誤って追加された、既に解決されているなど)

バックログファイルの構造

ファイルの場所

バックログファイルは以下の形式で保存されます:

.{username}/{year}-{month}-{day}-{backlog-name}.md

:

  • .ichi-h/2026-02-12-user-authentication.md
  • .ichi-h/2026-03-15-fix-memory-leak.md

命名規則:

  • {username}: ユーザー名(例: ichi-h)
  • {year}-{month}-{day}: バックログ作成日(YYYY-MM-DD形式)
  • {backlog-name}: バックログ名(kebab-case)

ファイルフォーマット

# {backlog-name}

status: planning

## 概要

- このバックログが達成しようとしていることの説明
- 単にタスクの説明ではなく、どういった問題が発生しており、それに対してどのようなアプローチで解決しようとしているのかを記述すること

## タスク

- [ ] タスクの説明 (task-{id})
- [ ] タスクの説明 (task-{id})
  - dependent on: {task-id1}
- [ ] タスクの説明 (task-{id})
  - dependent on: {task-id1}
- [ ] タスクの説明 (task-{id})
  - dependent on: {task-id1}
- [ ] タスクの説明 (task-{id})
  - dependent on: {task-id1}, {task-id2}

タスクID

フォーマット

  • 形式: task-{random-4-char}
  • 小文字の英字と数字のみ使用
  • 同じバックログ内で一意である必要がある
  • : task-a7f3, task-x9k2, task-m4p1, task-b2c8

生成方法

ランダムな4文字の文字列を生成します。英数字(小文字)のみ。

タスクの説明

フォーマット

- [ ] タスクの説明 (task-{id})

- [ ] 認証システムのアーキテクチャを設計する (task-a1b2)
- [ ] JWTトークンの生成と検証を実装する (task-c3d4)

ベストプラクティス

  • 動作動詞を使用: 実装、設計、修正、追加
  • 具体的に: 何をするかを明確に
  • 必要に応じてコンテキストを含める
  • 簡潔かつ明確に

依存関係の指定

フォーマット

- [ ] タスクの説明 (task-{id})
  - dependent on: {task-id1}, {task-id2}

ルール

  • 直接的な依存関係のみをリストする
  • 依存関係のないタスクには注釈なし
  • 依存関係は同じファイル内に存在するタスクIDである必要がある
  • すべての依存タスクが完了するまで実行できない

並列実行

依存関係のないタスク、または依存関係がすべて完了したタスクは並列実行できます。

:

- [x] システム設計 (task-a1b2)
- [ ] フロントエンド実装 (task-c3d4)
  - dependent on: task-a1b2
- [ ] バックエンド実装 (task-e5f6)
  - dependent on: task-a1b2
- [ ] フロントエンドとバックエンドの結合 (task-g7h8)
  - dependent on: task-c3d4, task-e5f6

実行順序:

  1. task-a1b2 を実行
  2. task-a1b2 完了後、task-c3d4task-e5f6並列実行
  3. 両方完了後、task-g7h8 を実行

タスクの粒度

適切な粒度

  • 1タスク = 15分〜2時間の作業
  • 各タスクは1つのエージェントで完了可能
  • 明確な入力と出力がある
  • 独立して検証可能

避けるべきこと

  • 大きすぎるタスク (> 2時間): より小さい単位に分割
  • 小さすぎるタスク (< 15分): 関連するマイクロタスクをまとめる
  • 曖昧なタスク: 具体的な行動が不明確

バックログファイルの操作

新規作成

  1. 適切な命名規則でファイルパスを決定
  2. create ツールを使用してファイルを作成
  3. 上記のフォーマットに従ってコンテンツを記述

既存ファイルの更新

  1. view ツールで現在の内容を読み込む
  2. 完了済みタスク ([x]) は保持する
  3. 新しいタスクを追加(新しいタスクIDで)
  4. 必要に応じて依存関係を更新
  5. edit ツールでファイルを更新

タスクの完了マーク

タスクが正常に完了したら:

変更前: - [ ] タスクの説明 (task-{id})
変更後: - [x] タスクの説明 (task-{id})

edit ツールを使用して - [ ]- [x] に変更します。

バックログファイルの例

# user-authentication-system

status: in-progress

## 概要

サインアップ、ログイン、パスワードハッシュ化、セッション管理を含む、安全なJWTベースの認証システムを実装します。

## タスク

- [x] JWT認証のアーキテクチャとデータモデルを設計 (task-a1b2)
- [x] ユーザーモデルとデータベースマイグレーションを実装 (task-e5f6)
  - dependent on: task-a1b2
- [x] JWT生成と検証ユーティリティを実装 (task-g7h8)
  - dependent on: task-a1b2
- [ ] ログインAPIエンドポイントを実装 (task-i9j0)
  - dependent on: task-e5f6, task-g7h8
- [ ] サインアップAPIエンドポイントを実装 (task-k1l2)
  - dependent on: task-e5f6, task-g7h8
- [ ] 保護されたルート用の認証ミドルウェアを追加 (task-m3n4)
  - dependent on: task-g7h8
- [ ] パスワードハッシュのソルト生成のバグを修正 (task-u1v2)
  - dependent on: task-g7h8

ポイント:

  • task-i9j0task-k1l2task-m3n4task-u1v2 は依存タスクがすべて完了しているため並列実行可能
  • 完了したタスクは [x] で保持
  • 進行中に発見されたバグ対応として task-u1v2 を追加(新しいIDを使用、依存関係を適切に設定)

重要な注意事項

  1. バックログファイルが真実の源: 常にバックログファイルを読んで更新する
  2. 完了タスクは保持: 更新時に [x] マーカーを保持
  3. 一意のタスクID: 同じバックログ内で重複しないようにする
  4. 依存関係を最小化: 不必要な順次実行を避け、並列性を最大化
  5. 並列実行の最適化: 同時実行可能なタスクを特定して有効化
  6. シンプルに保つ: orchestratorが解析・実行しやすい形式