iterating について
iteratingは、WorkLogを使って複数のセッション間でプロジェクトの状態を引き継ぐClaudeスキルです。環境に応じて保存・取得方法を切り替え、確認しやすい段階的なチェックポイントで作業を進めます。
主な機能
- 01環境に応じた保存方法の判定
- 02WorkLogの作成と取得
- 03反復ごとに高優先度項目を一つ実行
- 04バージョンと状態の管理
- 05進捗とファイル参照の記録
活用シーン
- 01新しい会話でプロジェクトを再開
- 02決定事項と次の手順の記録
- 03セッション終了前の作業状態保存
- 04複数セッションにわたる進捗管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oaustegard/ claude-skills --skill iteratingインストール後、Claude Code で/iteratingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdREADME.mdreferences/advanced-patterns.mdccotw-environment.mdchat-environment.mdcodecli-environment.mddesktop-environment.md詳細
反復作業
Work Logs に状態を保存して、複数のセッションにわたってコンテキストを維持します。
環境の検出
環境を検出し、適切なリファレンスを読み込みます。
if [ "$CLAUDE_CODE_REMOTE" = "true" ]; then
# Claude Code on the Web (CCotw) - writes to GitHub
# Read: references/ccotw-environment.md
elif [ -n "$CLAUDE_CODE_REMOTE" ]; then
# Claude Code CLI - writes to local filesystem
# Read: references/codecli-environment.md
elif [ -x "$(command -v osascript)" ] && [ -d "/Applications/Claude.app" ]; then
# Claude Desktop - may write to disk OR output for download
# Read: references/desktop-environment.md
else
# Claude.ai (web/chat/native app) - outputs for download
# Read: references/chat-environment.md
fi
保存と取得の詳細については、環境固有のリファレンスを参照してください。
チェックポイントパターン
反復作業スキルでは、作業の消失を防ぐためにチェックポイントと保存のパターンを適用します。
- WorkLog を作成/更新 → ユーザーに出力 → 停止
- ユーザーが WorkLog をプロジェクトのナレッジに保存する(会話の制限を超えて保持されます)
- ユーザーが「続けて」と指示する(同じ会話または新しい会話)
- 1 つの項目を段階的に進める → WorkLog を更新 → 停止
- 繰り返す
これは、別々の会話ではコンテキストが自動的に共有されないため重要です。 停止ステップを飛ばして「一気に進める」と、ユーザーが確認したり方向を修正したりできない作業が発生します。また、チェックポイントが作成される前に会話が終了すると、すべての作業を失うおそれがあります。
WorkLog の形式
---
version: v1
status: in_progress
---
# [Project Name] Work Log
## v1 | YYYY-MM-DD HH:MM | Title
**Prev:** [previous context OR "Starting new work"]
**Now:** [current goal]
**Progress:** [X% complete OR milestone status]
**Files:**
- `path/to/file.ext` (Why this file matters)
- L45-67: [What to examine/change here]
- L123-145: [Another area, specific issue]
**Work:**
+: [additions with file:line]
~: [changes with file:line]
!: [fixes with file:line]
**Decisions:**
- [what]: [why] (vs [alternatives])
**Works:** [effective approaches]
**Fails:** [ineffective approaches, why]
**Blockers:** [None OR specific blocker with owner/ETA]
**Next:**
- [HIGH] [Critical action item]
- [MED] [Important but not urgent]
- [LOW] [Nice to have]
**Open:** [questions needing answers]
基本ワークフロー
新しい作業を開始する場合:
- 環境を検出する
- タスクの目的、決定事項、ファイル参照、次のステップを含む WorkLog v1 を作成する
- 環境固有の方法で保存する
- 停止 — WorkLog をユーザーに提示する
- 予定している内容を説明する
- WorkLog をプロジェクトのナレッジに保存するようユーザーに伝える
- 作業を始める前に、ユーザーが「続けて」と指示するまで待つ
作業を続ける場合:
- 環境を検出する
- 環境固有の方法で WorkLog を取得する、または貼り付けられた WorkLog を認識する
- 最新のバージョンとステータスを解析する
- 次のように確認する:「WorkLog vN に基づき、ステータスは [status] です。進捗:[X%]。作業対象:[specific HIGH item]」
- 優先度が HIGH の項目を1 つ実行する。
- WorkLog を更新し、バージョンを上げる
- 環境固有の方法で保存する
- 停止 — 更新した WorkLog をユーザーに提示する
- 完了した内容を要約する
- 更新した WorkLog を保存するようユーザーに伝える
- 次の項目に進む前に、ユーザーが「続けて」と指示するまで待つ
貼り付けられた WorkLog を認識する場合: 会話の開始時に、WorkLog のフロントマターを含む内容がユーザーから貼り付けられた場合:
- YAML からバージョンとステータスを解析する
- 次のように確認する:「WorkLog vN に基づき、ステータスは [status] です。タスク:[objective]。次の作業:[HIGH item]」
- 上記の手順 5 からワークフローを続ける
バージョン管理
- 単純に連番を付けます:v1 → v2 → v3
- フロントマター:
version: vN(必須) - ファイル名:
WorkLog vN.md(任意) - 複数のファイルがある場合:最も大きいバージョン番号を使います
ステータス
- in_progress:作業中
- blocked:外部の依存関係や判断待ち
- needs_review:人による確認の準備完了
- completed:タスク完了
優先度システム
次のステップには優先度を付ける必要があります。
- [HIGH]:他の作業を妨げている重要な項目
- [MED]:重要だが、緊急ではない項目
- [LOW]:あると便利な改善
特に指示がない限り、Claude は反復ごとに優先度が HIGH の項目を 1 つ実行します(上記の基本ワークフローを参照)。これにより、複数の変更を 1 回の WorkLog 更新にまとめず、各チェックポイントを確認しやすくできます。
ファイル参照
プロジェクトルートからの相対パスと行範囲を使います。
**Files:**
- `src/auth/oauth.ts` (OAuth implementation needs refactoring)
- L45-67: Current token validation logic
- L123-145: Refresh token handling (race condition on L134)
重要: 絶対パスの /home/claude/ ではなく、相対パスを使ってください(セッションごとに新しいコンピューティング環境が使われます)。
進捗の追跡
進捗状況を常に記載してください(トークン数やクォータの制約により、計画全体を完了できない場合があります)。
**Progress:** 60% complete
または、長期プロジェクトの場合:
**Progress:** Phase 2/3 | Auth ✅ | Payments 50% 🔄 | UI ⏳
記録する内容
記載する内容:
- 理由や代替案を含む重要な決定事項
- 効果のあった方法と効果のなかった方法
- 重要な発見
- 行範囲を含むファイル参照
- 優先度を付けた次のステップ
- 進捗状況
- 担当者と予定日を含むブロッカー
記載しない内容:
- 軽微なコード変更(git を使う)
- 自明な情報
- 生データの羅列
- 実装の詳細(コードコメントを使う)
ユーザーへの連絡
WorkLog の作成後:
- 「WorkLog v1 を作成しました。これをプロジェクトナレッジに保存してください。」
- 「『continue』と言われたら、すぐに開始できます。」
項目の完了後:
- 「[item] を完了しました。WorkLog を vN に更新しました。」
- 「更新した WorkLog をプロジェクトナレッジに保存してください。」
- 「『continue』と言われたら、次の項目に取りかかれます。」
続行するとき:
- 「WorkLog vN によると、ステータスは [status] です。進捗は [X%] です。」
- 「作業中の項目:[specific HIGH item]」
ステータスの変更:
- 「WorkLog のステータスを [new_status] に更新しました:[reason]」
- 「更新した WorkLog を保存してください。」
高度なパターン
以下に該当する場合は、references/advanced-patterns.md をお読みください。
- 5 回以上のセッションにわたるプロジェクトに取り組んでいる
- ユーザーが「デバッグ戦略」、「仮説の追跡」、「意思決定の変遷」に言及している
- 複数のワークストリームを並行して管理している
- ユーザーが長期にわたるプロジェクトのパターンについて質問している
- 複雑な問題に行き詰まり、体系的なアプローチが必要である
それ以外の場合は省略してください。ほとんどの場合、上記の基本的なワークフローで十分です。
参考ドキュメント
- references/chat-environment.md - Claude.ai(ウェブ/チャット/ネイティブアプリ)
- references/desktop-environment.md - Claude Desktop
- references/codecli-environment.md - Claude Code CLI
- references/ccotw-environment.md - Claude Code on the Web