with one click
nightly-issue-sweep
// 夜間など定期的に Issue / PR / コードベースを棚卸しし、保守系 Issue や opencode 粒度に分解できる task を起票する 2 段階の skill。Phase 1 で claude-code が 1M context でリポジトリ全体を走査して候補を出し、Phase 2 で codex が候補を整理 / 重複排除 / 起票する。
// 夜間など定期的に Issue / PR / コードベースを棚卸しし、保守系 Issue や opencode 粒度に分解できる task を起票する 2 段階の skill。Phase 1 で claude-code が 1M context でリポジトリ全体を走査して候補を出し、Phase 2 で codex が候補を整理 / 重複排除 / 起票する。
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | nightly-issue-sweep |
| description | 夜間など定期的に Issue / PR / コードベースを棚卸しし、保守系 Issue や opencode 粒度に分解できる task を起票する 2 段階の skill。Phase 1 で claude-code が 1M context でリポジトリ全体を走査して候補を出し、Phase 2 で codex が候補を整理 / 重複排除 / 起票する。 |
リポジトリの「埋もれた負債 / 既存 Issue の停滞 / opencode に分解できる小粒 task」を定期的に拾い出す 2 段階の sweep。
| Phase | 担当 | 役割 |
|---|---|---|
| Phase 1 | claude-code | 1M context でコードベース + 既存 Issue / PR を走査し、候補を raw リストとして出す |
| Phase 2 | codex | Phase 1 の候補を implementation-contract / github-write でフィルタ・分解・起票する |
claude-code は 判断せず広く拾う、codex は 拾われたものから絞って起票する。役割が混ざると重複起票や Open Questions 残りが起きる。
gh repo view --json nameWithOwner で確認)github-read で取得した Issue / PR 一覧agent:* 未付与 / needs-refinement のまま放置TODO / FIXME / XXX コメントany)agent:opencode に分解できる典型: typo / 古い参照 / 未使用 import / 文字列定数の重複AGENTS.md / root CLAUDE.md / .agents/skills / .claude/skills と実装の食い違いROADMAP.json の epic と Open Issue の食い違いraw 候補リストを 1 候補 1 ブロックで出す。判断はしない。
### 候補 N
- 場所: <ファイル:行 / Issue #NN / PR #NN>
- 観察: <事実だけ書く>
- 推定 lane: <opencode / codex / claude-code / 不明>
- 重複疑い: <既存 #NN / なし>
claude-code は agent ラベルを付けない / Issue を起票しない。あくまで raw リスト。
Orchestra が Agent tool で claude-code を呼ぶ場合は isolation: "worktree" を必ず指定する。codex が claude CLI 経由で呼ぶ場合は default で isolated worktree。
needs-refinement 候補github-read の JSON 出力)implementation-contract / github-write skillimplementation-contract の agent 境界に従い、agent:opencode / agent:claude-code / needs-refinement のいずれかに振り分けgithub-write で起票する。nightly sweep 経由の Issue は type:task ではなく type:chore を付ける (story 配下や手動起票の実装系 task と区別する)。needs-refinement 候補は type:chore を付けず status:needs-refinement のみ。Goal / Scope / Acceptance Criteria / Out of Scope / Verification / Stop Conditions を本文に含める元レビューコメント / 発見元: <URL or "nightly-issue-sweep">Refs #<親> (該当する親 Issue / PR があれば)Implementation Plan: 修正担当 agent がそのまま着手できる具体的な作業内容
Verification: 実行すべき test / lint / build / 差分確認コマンドagent:opencode Issue は特に狭く書く。期待 diff が文章 1 行で言えないもの、テスト追加・修正が必要なもの、近傍実装の理解が必要なものは agent:opencode にしない。
epics[].issues に追加しないagent:opencode に「他箇所も棚卸し」を含めない: 含めるなら needs-refinement として codex の整理に戻すimplementation-contract の agent 境界と Stop Conditions を通す定期実行は .launchd/jobs/ / cron 等で組む。実行は次の 2 ステップ:
claude CLI に「nightly-issue-sweep skill の Phase 1 を実行して raw 候補リストを返せ」codex CLI に「nightly-issue-sweep skill の Phase 2 を、上記 raw 候補リストを入力に実行せよ」orchestrator は Phase 1 出力を Phase 2 入力にパイプする。Phase 2 でユーザー報告まで完了したら sweep 終了。