Use when beginning a new conversation to work on an open-ended goal, loading context from previous iterations through iteration journals
Loads context from previous work sessions to continue progress on open-ended goals.
npx claudepluginhub tilmon-engineering/claude-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Begin a new iteration for an open-ended goal by loading context from previous iterations, setting up the workspace, and preparing to continue progress.
Core principle: Each conversation is one iteration. Load recent state, understand where you left off, continue the journey.
Use this skill when:
/start-iteration commandDO NOT use for:
| Step | Action | Tool/Agent |
|---|---|---|
| 1. Detect goal | Check for autonomy directory | Glob |
| 2. Load recent context | Read last 3-5 iterations | Task (journal-reader) |
| 3. Load older context | Summarize if >5 iterations | Task (journal-summarizer) |
| 4. Present state | Show context to user | Direct output |
| 5. Create journal | Write initial journal entry | Write |
| 6. Ready to work | Create TodoWrite tracker | TodoWrite |
Check if a goal already exists in the current project:
# Use Glob to check for autonomy directory
pattern: "autonomy/*/goal.md"
If goal.md found:
If no goal found:
"No autonomy goal found in this project.
Use `/create-goal` to set up a new open-ended goal first, then run `/start-iteration` to begin work."
Stop here - cannot start iteration without a goal.
For existing goals, load context from recent iterations:
Count iterations:
# Use Glob to find iteration files
pattern: "autonomy/[goal-name]/iteration-*.md"
Determine iteration number:
Dispatch journal-reader agent:
Task tool with subagent_type: "autonomy:journal-reader"
Prompt: "Read last 3-5 iterations for goal '[goal-name]' and extract:
- Current state
- Open blockers and questions
- Recent progress
- Key metrics
- Recommended next steps"
Model: haiku
Wait for agent response with structured context
If more than 5 iterations exist, summarize older ones:
Check if summary.md exists:
# Use Read to check
file: "autonomy/[goal-name]/summary.md"
Determine what needs summarizing:
Dispatch journal-summarizer agent:
Task tool with subagent_type: "autonomy:journal-summarizer"
Prompt: "Summarize iterations [range] for goal '[goal-name]'.
Extract major initiatives, persistent blockers, key learnings,
strategic pivots, and metric trends. Update summary.md."
Model: haiku
Wait for agent to write summary.md
Combine findings from journal-reader (and summary if applicable):
**Iteration [N] started for goal: [goal-name]**
## Current State
[From journal-reader: most recent ending state]
## Recent Progress (Last 3-5 Iterations)
[Condensed summary of what was accomplished]
## Open Blockers
- [Blocker 1]
- [Blocker 2]
## Open Questions
- [Question 1]
- [Question 2]
## Key Metrics
- [Metric]: [Current value] (was [previous value])
## Recommended Next Steps
[From previous iteration's suggestions]
---
**Ready to continue. What should we work on this iteration?**
Before beginning work, create the journal file for this iteration:
Determine iteration number and filename:
iteration-NNNN-YYYY-MM-DD.md (today's date)Prompt user for iteration intention:
"What do you want to accomplish this iteration?
This helps keep us honest about the goal. We'll check against this intention when ending the iteration."
Write initial journal entry:
# Iteration NNNN - YYYY-MM-DD
## Beginning State
[From journal-reader output or user context:
- Current progress summary
- Known blockers from previous iteration
- Open questions being addressed
- Current metric values if tracked]
## Iteration Intention
[User's stated intention for this iteration]
## Work Performed
### Skills & Workflows Used
[Will be filled during checkpoint or ending]
### Key Decisions Made
[Will be filled during checkpoint or ending]
### Artifacts Created/Modified
[Will be filled during checkpoint or ending]
### External Context Gathered
[Will be filled during checkpoint or ending]
### Reasoning & Strategy Changes
[Will be filled during checkpoint or ending]
### Blockers Encountered
[Will be filled during checkpoint or ending]
### Open Questions
[Will be filled during checkpoint or ending]
## Ending State
[Will be filled when ending iteration]
## Iteration Metadata
[Will be filled when ending iteration]
autonomy/[goal-name]/iteration-NNNN-YYYY-MM-DD.mdCreate TodoWrite tracker for current iteration work:
TodoWrite with todos:
- [First task based on next steps or user intention]
- [Additional tasks as identified]
Begin work on the goal
0001, 0002, ..., 0999, 1000iteration-NNNN-YYYY-MM-DD.mdAlways use Task tool to dispatch journal-reader and journal-summarizer:
Never read journals yourself - always delegate to agents.
| Mistake | Reality |
|---|---|
| "I'll quickly read the journals myself" | NO. Always dispatch agents. Journals can be large. |
| "User goal seems closed-ended, but I'll use autonomy anyway" | NO. Autonomy is for open-ended goals only. |
| "I'll skip loading older iterations to save time" | NO. Context is critical. Always load per strategy. |
| "I'll create summary.md myself" | NO. Dispatch journal-summarizer agent. |
| "Goal exists, so I'll skip asking user what to work on" | NO. Always present state and ask for direction. |
Once iteration is started:
/checkpoint-iteration to save progress before compaction or at interim points/end-iteration to finalize journal entryExpert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.