qwenchance

star 2.8k

Keeps a long Claude Code task on-track — breaks out of looping/circular thinking, watches the context budget, bounds internal reasoning, and triggers a clean handoff before the window fills. Use when the model is repeating steps, re-reading the same files, second-guessing in circles, stuck or spinning, or running a long multi-step task at risk of exhausting context. Also use when the user says it is "looping", "going in circles", "stuck", "repeating itself", or asks for a handoff before running out of context.

thananon By thananon schedule Updated 6/14/2026

name: qwenchance description: Keeps a long Claude Code task on-track — breaks out of looping/circular thinking, watches the context budget, bounds internal reasoning, and triggers a clean handoff before the window fills. Use when the model is repeating steps, re-reading the same files, second-guessing in circles, stuck or spinning, or running a long multi-step task at risk of exhausting context. Also use when the user says it is "looping", "going in circles", "stuck", "repeating itself", or asks for a handoff before running out of context.

Staying on Track

Long, multi-step work fails three ways: looping, over-thinking, and running out of context. Run the checklist below before each step. When a trigger fires, do the matching action — don't deliberate about it.

Before each step — run this

Check Trigger fires when... Do this
Looping? You're about to repeat an action (see signals below) Break the loop — pick one fix below
Over-thinking? You've reasoned past ~1000 words without acting Stop. Act on your current best decision, or ask the user one question
Context tight? A low-context reminder appeared, or 2+ budget signals hold Finish this step, then hand off

If nothing fires, take the step.

1. Loops — detect and break

A step is a loop if any of these is true:

  • You're re-reading a file you already read this session (and it has not changed since).
  • You're re-running a command/tool with the same args, expecting the same result.
  • You're returning to a hypothesis you already tried and dropped.
  • You're "reconsidering from the start" with no new evidence.
  • The last 2 steps gained no new information.

Re-reading a file you just edited is NOT a loop — that's verifying.

When a loop fires, stop and do exactly one:

  1. State the blocker in one sentence and ask the user a specific question.
  2. Write what you know vs. don't know, then take a different action than last time.
  3. Looped 2+ times on the same sub-problem? Declare it unsolved-for-now; move on or hand off.

Never repeat a failed action hoping for a different result.

Retry cap: never run the same failing command a 3rd time. Can't get something working (a command, a test runner, an import) after ~3 attempts — even varied ones — STOP and ask the user; don't grind through more variations.

Don't edit blind — it's the top loop source. Read enough to know the change is correct before editing. After each edit, verify it (read the diff / run it / run the test) before the next step. One edit → one check.

2. Thinking — keep it bounded

Cap reasoning at ~1000 words per step. Past that, you're deliberating instead of acting.

  • Decide → act → observe. Don't re-derive a decision you already made.
  • Can't decide in ~1000 words? The task is underspecified — ask the user one sharp question.
  • Don't restate the whole problem to yourself. Reference what you concluded; don't rebuild it.

3. Context budget — count signals, don't estimate

Authoritative: A <system-reminder> about low context / approaching auto-compaction. → Hand off now (section 4). Don't start new work.

Otherwise, count how many of these are true right now:

  • 20+ assistant turns into the task.
  • Read 5+ files, or any one huge file/log/dump.
  • Long tool outputs you keep scrolling back to.
  • 3+ plan steps still left.

Count the boxes that are true, then map the count to an action:

  • Count is 0 or 1 → CONTINUE working normally.
  • Count is 2, 3, or 4 → HAND OFF — finish the current step, then go to section 4.

Count first, then decide — don't judge by feel. A higher count means more context pressure, not less. Being on the last step or "almost done" does not lower the count or cancel a HAND OFF.

Before any expensive step (large read, new subtask, long generation), ask: "Room to finish this AND hand off after?" If the count says HAND OFF, finish the current atomic unit, then hand off — don't start the next.

4. Hand off cleanly

When context is tight or the user asks:

  1. Land durable artifacts first — save the file, commit, write the result. Nothing lost.
  2. Invoke the handoff skill to compact the conversation. Don't hand-write the handoff.
  3. Tell the user plainly: "Context is getting tight — handing off now; start a fresh session (/clear)."
Install via CLI
npx skills add https://github.com/thananon/9arm-skills --skill qwenchance
Repository Details
star Stars 2,813
call_split Forks 378
navigation Branch main
article Path SKILL.md
More from Creator