next-actionslisted
Install: claude install-skill ozzy-labs/opshub
# next-actions — 「次にやること」を opshub から組み立てる
opshub MCP server (`opshub mcp serve`、ADR-0022) 経由で「次にやること」リストを返す。Phase 10 Sub-issue D / ADR-0004 §(c) で確定した assistant agent skill の 1 つ。Phase 18-C ([ADR-0033](../../adr/0033-slack-mention-demand-digest.md)) で Slack mention / DM signal を `slack.demand.list` 経由で priority 上位に組み込めるよう拡張。
## 何が起きるか
1. ユーザーが「次に何やる?」「やること教えて」「優先度高いのは?」のように問い合わせる
2. ホストが本 skill を発火
3. ホストが下記順で opshub MCP read tool を呼ぶ
4. 結果を優先度付きリストとして返す
新規タスクを足したいときだけ `task.create` (write tool) を呼ぶ。これは durable state を変えるため、ホスト側で「このタスクを追加してよいですか?」と人確認を入れる (ADR-0022 §(c) `destructiveHint=true`)。
## 呼び出し順 (MCP tool)
### Step 1: active な task を列挙
```text
tool: task.list
input:
state: "active"
updated_after: "<期間開始 ISO 8601>" # 期間指定がある場合のみ (今日 / 今週 / 来週 等)
limit: 50
```
戻り値の `items[]` をホストが優先度 (priority field / due_at / 直近更新) でソートし上位を抽出。
期間指定例(ホスト側で解釈):
| ユーザー語彙 | フィルタ |
|---|---|
| 今日やること | `updated_after=今日00:00` |
| 今週やること | `updated_after=今週月曜00:00` |
| 来週やること | (現在 / 完了タスクの「来週着手予定」は body / title から判定、`updated_*` は不向き) |
| 優先度高いのは? | フィルタなし、ホスト側で priority field sort |
Phase 12 H1 (ADR-0022 改訂) で `task.list` に物理列ベースの時間フィルタ `updated_after` / `updated_before` (`tasks.updated_at` 半開区間) が追加された。
### Step 2 (Phase 18-C): Slack の @mention / DM を「読むべき未処理」として拾う
```text
tool: slack.demand.list
input:
demand_kinds: ["dm", "mention"]
limit: 20
order: "last_demand_desc"
```
戻り値の `items[]` は Slack の `<@self>` mention と DM 相手の最終発言を新しい順に返す (`channel_id` / `channel_