mcpField
S
skill-task-management

skill-task-management

github.com/nyldnエージェントワークフロー4.3k59 回インストール今日更新
リポジトリ

skill-task-management について

Codex CLI 向けのタスク管理スキルです。複数段階の作業を追跡し、進捗をチェックポイントとして保存して、後のセッションで再開できます。ホストのタスクツールを使った作成・更新・継続の手順をまとめています。

主な機能

  1. 01タスク記録の作成と更新
  2. 02進捗チェックポイントの保存
  3. 03セッションをまたいだ作業再開
  4. 04タスク状態と次の手順の追跡

活用シーン

  1. 01新しい作業のToDoへの記録
  2. 02作業切り替え前の状況保存
  3. 03セッション中断後の作業再開

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nyldn/claude-octopus --skill skill-task-management

インストール後、Claude Code で/skill-task-managementを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

ホスト:Codex CLI — このスキルは Claude Code 向けに設計され、Codex 用に調整されています。 相互参照コマンドでは、/octo:* スラッシュコマンドではなく、Codex にインストール済みのスキル名を使用します。 現在の Codex シェルとサブエージェントツールを使用してください。現在のセッションで利用できることが確認されるまでは、プロバイダー、モデル、またはホストのサブエージェントが利用可能だと断言しないでください。 ホストツールの代替については、skills/blocks/codex-host-adapter.md を参照してください。

タスク管理とオーケストレーション(v7.23.0+)

概要

複数ステップの作業、進捗のチェックポイント作成、セッションをまたいだタスクのシームレスな再開を実現する、体系的なタスクオーケストレーションです。

基本原則: 追跡 → チェックポイント作成 → 再開 → 完了。

v7.23.0 への移行: このスキルでは、ネイティブの Claude Code ホストサブエージェントツールを使用するようになりました。

  • TaskCreate - 新しいタスクを作成します
  • TaskUpdate - タスクのステータスや詳細を更新します
  • TaskList - すべてのタスクを表示します
  • TaskGet - 特定のタスクの詳細を取得します

メリット:

  • ✅ タスクがネイティブの Claude Code UI に表示されます
  • ✅ 進捗の追跡と可視化が向上します
  • ✅ Claude Code の規約に準拠します
  • ✅ 外部のタスク計画ツールへの依存がありません

使用するタイミング

ユーザーが次のことを希望する場合に、このスキルを使用してください。

  • ToDo リストに項目を追加する
  • 現在の進捗を保存して、後から続きを再開する
  • 以前に保存した作業を再開する
  • 長時間かかるタスクの進捗にチェックポイントを作成する
  • ワークフローの次のステップに進む
  • 中断したところから続ける

次の場合には使用しないでください。

  • Git コミットを作成する(skill-finish-branch を使用してください)
  • 簡単な ToDo リストの問い合わせ(「リストには何がありますか?」など)
  • コードのプッシュを伴うタスクの完了

主な機能

1. ToDo リストへのタスク追加

ユーザーが「ToDo に追加して」などと言った場合:

**What would you like to add to the todo list?**

I'll help you capture this task. Please provide:
- Task description (what needs to be done)
- Any dependencies or prerequisites
- Priority (if applicable)

詳細を確認した後、TaskCreate を使用して追加します。

TaskCreate({
  subject: "[Brief task description]",
  description: "[Detailed description including dependencies and context]",
  activeForm: "Working on [task description]"
})

その後、ユーザーに確認します。

✅ Task created: [Task description]

View all tasks with TaskList or use /tasks command.
2. 進捗の保存/チェックポイントの作成

ユーザーが「進捗を保存して」または「チェックポイントを作成して」と言った場合:

ステップ 1:現在の状態を評価する
# Check git status
git status

# Check current branch
git branch --show-current

# Check uncommitted work
git diff --stat
ステップ 2:進捗のチェックポイントを作成する

オプション A:Git ベースのチェックポイント(Git リポジトリの場合)

# Create a work-in-progress commit
git add .
git commit -m "WIP: [description of current state]

Progress checkpoint - work in progress
Not ready for review or merge

Current state:
- [What's completed]
- [What's in progress]
- [What's next]

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>"

オプション B:タスクベースのチェックポイント(追跡に推奨)

詳細な状態を含めてチェックポイントタスクを作成します。

TaskCreate({
  subject: "Checkpoint: [Brief description]",
  description: `
📍 CHECKPOINT: ${new Date().toISOString()}

Completed:
✓ [Task 1]
✓ [Task 2]

In Progress:
⚙️ [Current task with details]

Next Steps:
- [ ] [Next task 1]
- [ ] [Next task 2]
- [ ] [Next task 3]

Context:
- Branch: ${branchName}
- Last commit: ${lastCommit}
- Files changed: ${filesChanged}
  `,
  activeForm: "Checkpoint saved"
})
ステップ 3:既存のタスクを更新する

完了したタスクを完了済みにします。

// For each completed task
TaskUpdate({
  taskId: "[task-id]",
  status: "completed"
})

現在のタスクを進行中にします。

TaskUpdate({
  taskId: "[current-task-id]",
  status: "in_progress"
})
ステップ 4:再開手順を提示する
✅ Progress saved!

To resume this work:
1. Run: git checkout [branch-name]
2. View tasks: TaskList
3. Say: "resume tasks" or "pick up where we left off"

Current state:
- Branch: [branch-name]
- Tasks: [X completed, Y in progress, Z pending]
- Last checkpoint: [timestamp]
3. タスクの再開

ユーザーが「タスクを再開して」または「前回の続きから始めて」と言った場合:

ステップ 1:タスクの状態を読み込む
// Get all tasks
const tasks = TaskList()

// Filter by status
const completed = tasks.filter(t => t.status === 'completed')
const inProgress = tasks.filter(t => t.status === 'in_progress')
const pending = tasks.filter(t => t.status === 'pending')

// Find checkpoint task (if exists)
const checkpoint = tasks.find(t => t.subject.startsWith('Checkpoint:'))
ステップ 2:Git の状態を確認する
# Check for WIP commits
git log --oneline -10 | grep WIP

# Check current branch
git branch --show-current

# Check git status
git status
ステップ 3:現在の状態を提示する
📋 **Resuming from last checkpoint**

**Branch:** [branch-name]
**Last checkpoint:** [timestamp from WIP commit or checkpoint task]

**Completed:** (${completed.length} tasks)
${completed.map(t => `✓ ${t.subject}`).join('\n')}

**In Progress:** (${inProgress.length} tasks)
${inProgress.map(t => `⚙️ ${t.subject}`).join('\n')}

**Next Steps:** (${pending.length} tasks)
${pending.map((t, i) => `${i + 1}. [ ] ${t.subject}`).join('\n')}

**Would you like me to:**
1. Continue with the next task?
2. Modify the plan?
3. See more details about current state?
ステップ 4:選択に応じて実行する
  • 「次のタスクに進む」の場合 → 最初の保留中のタスクを取得し、進行中にしてから作業を開始します。

    const nextTask = pending[0]
    TaskUpdate({ taskId: nextTask.id, status: 'in_progress' })
    // Begin working on nextTask
    
  • 「計画を変更する」の場合 → AskUserQuestion を使用して変更内容を確認し、タスクを更新します

  • 「詳細を確認する」の場合 → Git の差分、ファイルの変更、最近のコミット、タスクの説明を表示します

4. 次のステップへの進行

ユーザーが「次のステップに進んで」と言った場合:

ステップ 1:現在のタスクのステータスを確認する
const tasks = TaskList()
const currentTask = tasks.find(t => t.status === 'in_progress')

if (currentTask) {
  console.log(`Current task: ${currentTask.subject}`)
  console.log(`Status: ${currentTask.status}`)
}
ステップ 2:現在のタスクを完了し、次へ進む
// Mark current task as complete
if (currentTask) {
  TaskUpdate({
    taskId: currentTask.id,
    status: 'completed'
  })
  console.log(`✓ ${currentTask.subject}`)
}

// Get next pending task
const nextTask = tasks.find(t => t.status === 'pending' && !t.blockedBy?.length)

if (nextTask) {
  // Mark as in progress
  TaskUpdate({
    taskId: nextTask.id,
    status: 'in_progress'
  })
  console.log(`\n⚙️ ${nextTask.subject}`)
  console.log(`\nProceeding with: ${nextTask.description}`)
}
ステップ 3:次のタスクを実行する

次のタスクを進行中にしたら、すぐに作業を開始します。

タスク計画ツールからの移行(v7.22.x → v7.23.0+)

既存の .md ToDo ファイルをお持ちの場合

既存の .claude/todos.md などのファイルがある場合:

オプション 1:自動移行
# Run migration script
"${HOME}/.claude-octopus/plugin/scripts/migrate-todos.sh"

これにより、次の処理が行われます。

  1. 既存の .md ToDo ファイルを解析します
  2. TaskCreate 呼び出しに変換します
  3. タスクの順序とステータスを保持します
  4. 古い .md ファイルを .claude/archived-todos/ にアーカイブします
オプション 2:手動移行

.md ファイル内の各 ToDo 項目について:


- [ ] Implement user authentication
- [x] Set up database
- [ ] Create API endpoints

次のように変換します。

// New format using native tasks
TaskCreate({
  subject: "Implement user authentication",
  description: "Create auth system with JWT tokens",
  activeForm: "Implementing authentication"
})

TaskCreate({
  subject: "Set up database",
  description: "Configure PostgreSQL and run migrations",
  activeForm: "Setting up database"
})
// Mark as completed since it was [x]
TaskUpdate({ taskId: "...", status: "completed" })

TaskCreate({
  subject: "Create API endpoints",
  description: "Build REST API for user operations",
  activeForm: "Creating API endpoints"
})
下位互換性

旧システムを希望するユーザー向けのオプトアウト:

.claude/claude-octopus.local.md を作成し、次の内容を記述します。

use_native_tasks: false

# Claude Octopus Local Configuration

This project uses legacy task plan tool tool instead of native Task management.

use_native_tasks: false の場合、このスキルはタスク計画ツールの動作にフォールバックします。

他のスキルとの連携

skill-finish-branch との連携
User: "save progress and prepare for PR"

1. Use skill-task-management to checkpoint (create tasks for current state)
2. Then use skill-finish-branch to prepare PR
flow-develop との連携
User: "add implementation of auth system to todos"

1. Use skill-task-management to add high-level task
2. Use flow-develop to break down and implement
3. Update tasks as work progresses
skill-debug との連携
User: "checkpoint this, I found a bug"

1. Use skill-task-management to save current progress (checkpoint task)
2. Use skill-debug to investigate the bug
3. Return to saved checkpoint after fix

ベストプラクティス

1. 明確なタスクの件名と説明

良いタスク:

TaskCreate({
  subject: "Implement token refresh with 15-minute expiration",
  description: `
Create token refresh endpoint that:
- Validates refresh token from secure HTTP-only cookie
- Issues new access token with 15min expiry
- Rotates refresh token for security
- Returns 401 if refresh token invalid/expired

Dependencies: OAuth provider setup must be complete
  `,
  activeForm: "Implementing token refresh logic"
})

良くないタスク:

TaskCreate({
  subject: "Do auth stuff",
  description: "Fix things",
  activeForm: "Working"
})
2. タスクの依存関係を活用する

前提条件のあるタスクの場合:

// First task
TaskCreate({
  subject: "Set up OAuth provider configuration",
  description: "Configure Auth0 application settings",
  activeForm: "Configuring OAuth provider"
})

// Dependent task
TaskCreate({
  subject: "Implement token refresh endpoint",
  description: "Create /auth/refresh endpoint",
  activeForm: "Implementing refresh endpoint",
  addBlockedBy: ["1"]  // Blocked by task #1
})
3. チェックポイントでコンテキストを保持する

チェックポイントを作成するときは、必ず以下を含めてください。

  • 完了したこと(作業のやり直しを防ぎます)
  • 進行中のこと(すぐに作業を再開できます)
  • 次に行うこと(今後の道筋が明確になります)
  • 判断した理由(推論を保持します)

チェックポイントタスクの例:

TaskCreate({
  subject: "Checkpoint: Auth implementation 70% complete",
  description: `
📍 CHECKPOINT: 2026-02-03T14:30:00Z

Completed:
✓ OAuth provider configuration (Auth0)
✓ Token exchange endpoint (/auth/login)
✓ User session middleware

In Progress:
⚙️ Token refresh logic (70% done)
  - Validation complete
  - Token rotation TODO
  - Cookie handling TODO

Next:
- [ ] Complete token rotation logic
- [ ] Add logout endpoint
- [ ] Add session expiration handling
- [ ] Write integration tests

Branch: feature/auth-system
Last commit: abc123f "Add session middleware"

Decisions Made:
- Using Auth0 (rationale: enterprise-grade, handles complexity)
- 15-minute access token expiry (security vs UX balance)
- HTTP-only cookies for refresh tokens (XSS protection)
  `,
  activeForm: "Checkpoint saved"
})

よくあるパターン

パターン 1:一日の終わりのチェックポイント
User: "save progress, I'm done for today"

Action:
1. Create WIP commit with current state
2. Create checkpoint task with completed/pending breakdown
3. Mark in-progress tasks with current status
4. Provide resume instructions for tomorrow
パターン 2:コンテキストの切り替え
User: "checkpoint this, need to work on something else"

Action:
1. Save current branch state (WIP commit)
2. Create checkpoint task with detailed context
3. Mark current task as pending (will resume later)
4. Ready for resume when user returns
パターン 3:共同作業の引き継ぎ
User: "save progress for Claude to pick up"

Action:
1. Create comprehensive checkpoint task
2. Document all context and decisions
3. Mark in-progress tasks with current state
4. Ensure new session can load task state and resume seamlessly

注意事項 — 避けるべきこと

操作問題となる理由
コンテキストを記録せずにチェックポイントを作成する次のセッションで何をしていたか分からなくなります
コードを変更したのに WIP コミットを省略する問題が起きたときに作業内容が失われる可能性があります
TaskList を確認せずに、漠然と「次に進む」とする未完了の作業を飛ばしてしまう可能性があります
タスクの件名や説明が曖昧何をすべきか分かりません
TaskList の状態を表示せずに再開するユーザーが作業の進捗状況を把握できません
activeForm なしでタスクを作成するUI に進捗状況が表示されません

クイックリファレンス

ユーザーの意図スキルのアクション使用するツール
「todo に追加」詳細を確認してタスクを作成するTaskCreate
「進捗を保存」チェックポイントタスクを作成し、WIP コミットを行うTaskCreate + git
「タスクを再開」タスクの状態を読み込み、状況を表示して方向性を確認するTaskList
「次に進む」現在のタスクを完了し、次のタスクを開始するTaskUpdate
「これをチェックポイントにする」詳細なチェックポイントタスクを作成するTaskCreate

タスクのステータスのワークフロー

pending → in_progress → completed
                ↓
              deleted (if no longer needed)

ベストプラクティス:

  • タスクは pending 状態で作成します
  • 作業を開始したら in_progress にします
  • 完全に完了した場合にのみ completed にします
  • キャンセルまたは不要になったタスクには deleted を使用します

要点

Task management → Clear state + Easy resume + Native UI
Otherwise → Lost context + Duplicate work + No visibility

すべてを記録しましょう。こまめにチェックポイントを作成しましょう。スムーズに作業を再開しましょう。ネイティブツールを使いましょう。

例:ワークフロー全体

// User: "add implementing auth to my todos"

// Step 1: Create main task
TaskCreate({
  subject: "Implement user authentication system",
  description: `
Build complete auth system with:
- OAuth 2.0 (Auth0 provider)
- JWT token management
- Refresh token rotation
- Session middleware
- Logout functionality
  `,
  activeForm: "Planning authentication implementation"
})

// User works on it...

// User: "save progress for tomorrow"

// Step 2: Create checkpoint
TaskCreate({
  subject: "Checkpoint: Auth implementation in progress",
  description: `
📍 Checkpoint: 2026-02-03T18:30:00Z

Completed:
✓ OAuth configuration
✓ Login endpoint

In Progress:
⚙️ Token refresh (50%)

Next:
- [ ] Complete refresh logic
- [ ] Add logout
- [ ] Write tests

Branch: feature/auth
Commit: abc123f
  `,
  activeForm: "Checkpoint saved"
})

// Step 3: Update main task status
TaskUpdate({
  taskId: "1",
  status: "in_progress"
})

// User: "resume tasks" (next day)

// Step 4: Load and present state
const tasks = TaskList()
// Present: "You have 1 in_progress task, last checkpoint 2026-02-03T18:30:00Z"
// Show details from checkpoint task

// User: "continue"

// Step 5: Resume work
const currentTask = tasks.find(t => t.status === 'in_progress')
// Begin working on token refresh where they left off

コメント