Multi-conversation methodology for iterative stateful work with context accumulation. Use when users request work that spans multiple sessions (research, debugging, refactoring, feature development), need to build on past progress, explicitly mention iterative work, work logs, project knowledge, or cross-conversation learning.
npx skills add https://github.com/oaustegard/claude-skills --skill iterating
Maintain context across multiple sessions by persisting state in Work Logs.
Detect environment and load appropriate reference:
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
See environment-specific reference for persistence and retrieval details.
The iterating skill enforces a checkpoint-and-save pattern to prevent work loss:
Why this matters:
NEVER skip the STOP step - going "full waterfall" defeats the entire purpose of iterating.
---
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]
Starting new work:
Continuing work:
Recognizing pasted WorkLog:
If user pastes content with WorkLog frontmatter at conversation start:
version: vN (required)WorkLog vN.md (optional)Next steps must be prioritized:
Claude works on ONE HIGH priority item per iteration unless told otherwise.
Incremental progress pattern:
This prevents token exhaustion and enables natural checkpoints.
Use relative paths from project root with line ranges:
**Files:**
- `src/auth/oauth.ts` (OAuth implementation needs refactoring)
- L45-67: Current token validation logic
- L123-145: Refresh token handling (race condition on L134)
Critical: Use relative paths, NOT absolute /home/claude/ paths (fresh compute each session).
Always include progress indicators (token/quota constraints may prevent completing full plan):
**Progress:** 60% complete
Or for longer projects:
**Progress:** Phase 2/3 | Auth ✅ | Payments 50% 🔄 | UI ⏳
Include:
Don't include:
After creating WorkLog:
After completing an item:
When continuing:
Status changes:
NEVER say: "Now I'll continue with the next item..." - Always STOP and wait for user.
Read references/advanced-patterns.md when:
Otherwise skip - basic workflow above is sufficient for most cases.
Search GitHub issues, pull requests, and discussions across any repository. Activates when researching external dependencies (whisper.cpp, NAudio), looking for similar bugs, or finding implementation examples.
>- Generate ONE reviewer-defensible, implementable research idea with a concrete method and falsification plan from a stated research direction. Use when the user asks for a research idea, novelty analysis, bottleneck diagnosis, or paper-shape suggestion. Skip code review, debugging, and unconstrained brainstorming without research context.
>- Audits production source code files based on the strategy in workspace/plan.json. Use when a review plan exists and you need to perform static analysis and deep-dive reviews of targeted files. Don't use for planning, deduplicating, or writing patches.
Generate self-contained HTML pages that visually explain systems, data stories, investigations, editorial workflows, and code changes. Use when the user asks for a diagram, architecture overview, diff review, plan review, project recap, source map, comparison table, timeline, or any visual explanation of technical or editorial concepts. Also use proactively when about to render a complex ASCII table (4+ rows or 3+ columns) — present it as a styled HTML page instead. Adapted from nicobailon/visual-explainer with journalism, newsroom, and academic design sensibilities.
Use when reverse-engineering a binary or firmware — static triage + decompilation (Ghidra/IDA/Binary Ninja), dynamic instrumentation (GDB/Frida 17/angr), anti-reversing & packer bypass, OLLVM/VM deobfuscation, UEFI/BIOS RE & Secure Boot research, patch-diffing for n-days
Use when building a feature, refactoring, fixing a complex bug, changing architecture, or starting any non-trivial coding task. 12-stage verified dev workflow from research to deploy.
> Use before you shorten, compress, or rewrite the BODY of an existing SKILL.md or agent .md — the moment you are about to cut text to reduce length. First inventory the file's operational anchors (exact code / command / API snippets, fail-closed workflow guards, and rule / threshold statements), preserve every one, then judge the rewrite by expected downstream task cost (exploration, debugging, recovery tokens) rather than by the resulting line count. A shorter skill that strips an anchor makes the agent MORE expensive per task, so length is never the objective and rewrite is not compression. Backed by Preserving Operational Anchors When Compressing Agent Instructions (arxiv 2606.09421v2). Triggers on shortening or refactoring a skill or agent body.
Recipes and patterns for Claude Code multi-agent swarms. Use when building parallel specialist reviews, pipeline workflows, self-organizing swarms, research-then-implement flows, plan approval gates, coordinated multi-file refactoring, or any divide-and-conquer orchestration pattern requiring TeamCreate, TaskCreate, SendMessage, or Agent tool coordination.
Take oaustegard/iterating from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.