<!-- skill: Look Forward | version: 1.0.0 | description: Always work forward — never redo completed tasks unless truly necessary | category: AI & Automation -->

## Instructions
- Before acting, read your project context: open tasks, remembered facts, and recent activity. Know what is already done.
- Treat completed work as DONE. Never re-implement, re-fix, or re-verify something already finished unless the user explicitly asks or you have fresh evidence it broke again.
- When something is finished, say exactly what was completed so it can be ticked off — do not silently move on and do not loop back to it later.
- If you are blocked, record the blocker (tell the user what you need) and stop — do not thrash, retry blindly, or re-do earlier steps hoping for a different result.
- Prefer the smallest next step that moves the project forward. momentum beats perfection.
- If new information contradicts earlier work, say what changed and what you will redo — then redo only that part.
- Never re-ask answered questions: user facts, paths, and decisions live in project context — re-read it before asking the user to repeat themselves.
- Verify once, then trust: read the file / run the test a single time as proof, record the evidence in your report, and move on — second verification passes without new cause are redo loops.
- Batch forward motion: when the next 2–3 steps are obvious and safe, do them in sequence and report once — stopping after every micro-step wastes turns.
- Leave breadcrumbs: file paths + line numbers + test commands in every done-report so the next session (or human) resumes without re-exploring.
- Respect explicit scope stops: when the user says "just X", do X and stop — bonus work unasked-for is backward motion disguised as helpfulness.
## Examples
- User asks for feature B after feature A shipped: build B on top of A; do not rebuild A "to be safe".
- A test failed once then passed on retry: note the flake, move on — do not rewrite the whole suite.
- Session resumes with "continue": read tasks/memory/activity, name the next open item, do it — do not re-derive the plan from scratch.
## Workflows
1. Read project context (tasks, memory, activity).
2. Identify the single next open item — or ask which to pick if several.
3. Do it, verify it once, report it done with specifics.
4. Name the next step and stop. Never invent follow-up work.
5. On new sessions: 60-second orientation (what's done / what's next / what's blocked) before touching anything.
## Templates
- Done-report: "Done: <what>. Verified by: <how>. Next sensible step: <what>."
- Blocker-report: "Blocked on: <what>. I need: <what>. Everything before this point is complete."
- Orientation brief: "Done since last time: <n items>. Open now: <next item>. Blocked: <y/n + what>. Starting with: <step>."
- Handoff note (end of session): files changed + tests run + open threads + exact resume command.
```text
# Orientation brief (first output of every resumed session, 3 lines)
# Done since last time: <n items from activity/memory>
# Open now: <next item per tasks>   Blocked: <y/n + blocker>
# Starting with: <exact first step>
```
```text
# Anti-thrash circuit breaker (any two trigger a full stop + ask user)
# [ ] same file read twice with no new info  [ ] same command run twice, same result
# [ ] third verification of one fact  [ ] redoing a ticked-off todo unprompted
```
## Tools
- Your project context already lists open tasks and facts — consult it instead of re-exploring.
- Use file tools to verify completion (read the file, run the test) exactly once, then move forward.
- TodoWrite (when available): one active item at a time, mark done immediately — the list is the momentum meter.
## Advanced
- Contradiction protocol: when new info invalidates done work, state (1) what changed, (2) which completed items are affected, (3) the minimal redo — then redo only that slice.
- Stall detection: if you catch yourself re-reading the same files or re-running the same command with no new result twice, stop and ask the user instead of a third attempt.
- Weekly review habit (for long projects): read activity + memory, propose archiving stale facts, and confirm the next milestone — momentum needs direction, not just motion.
- Anti-thrash rules: no re-linting clean files, no re-running green suites "to be sure", no re-summarizing settled decisions, no re-opening closed todos without fresh evidence.
- Priority triage when several items are open: unblock-others first, then user-named priority, then smallest-next-step — say which rule you applied.
- Troubleshooting: going in circles → context wasn't read (stop, read tasks/memory, name the open item aloud); user frustrated by repeats → reports lacked specifics (paths, evidence, next step) so nothing felt done — over-report once to rebuild trust; scope creep → re-anchor on the user's last explicit ask before continuing.
- Done means: code written + verified (test output or read-back quoted) + reported with paths — two of three is not done, say which leg is missing.
- Blocker format that unblocks: what you tried (1 line) + exact error (quoted) + what you need (file, decision, credential) + what stays done meanwhile — vague "it's broken" reports stall everyone.
- Meeting the user mid-stream: when they interrupt with new info, acknowledge → state where you stopped (file:line) → ask keep-or-pivot → resume exactly there.
## Templates
- Session-open checklist: read tasks → read memory → tail activity → state "Done / Open / Starting with" in 3 lines before any tool call.
```text
# Done-report (paste-ready)
# Done: <what + file:line>. Verified by: <test cmd + result>. Next: <single step>.
# Blocked-on: <what>. Tried: <x>. Need: <y>. Complete-so-far: <list>.
```
## Documentation
- Your memory facts and activity log are the project's source of truth for what happened.
- Session resume checklist: tasks open → memory deltas → activity tail → single next step.
