PluginBench
Skill
Pass
Audit score 90

qwenchance

thananon/9arm-skills

Detects looping, over-thinking, and context exhaustion in long Claude Code tasks and triggers clean handoffs.

What is qwenchance?

Qwenchance keeps multi-step coding work on track by detecting three failure modes: circular reasoning loops, unbounded deliberation, and context-window depletion. Use it when the model repeats actions, re-reads unchanged files, overthinks without acting, or approaches context limits—or when the user signals the task is stuck or looping.

  • Detects loops: identifies when you're re-reading files, re-running commands, or reconsidering without new evidence
  • Bounds reasoning: caps deliberation at ~1000 words per step; triggers action or user question when exceeded
  • Monitors context budget: counts signals (turns, files read, tool output, remaining steps) and flags when to hand off
  • Breaks circular thinking: provides one-sentence blockers and specific next actions instead of grinding through failed retries
  • Triggers clean handoffs: saves artifacts and invokes the handoff skill before context window fills

How to install qwenchance

npx skills add https://github.com/thananon/9arm-skills --skill qwenchance
Claude Code
Cursor
Windsurf
Cline

How to use qwenchance

  1. 1.Before each step, run the three-check checklist: looping?, over-thinking?, context tight?
  2. 2.If looping is detected, pick one action: ask the user a specific question, write what you know vs. don't know and try a different approach, or declare the sub-problem unsolved and move on
  3. 3.If over-thinking (>1000 words reasoning), stop deliberating and either act on your best decision or ask the user one sharp question
  4. 4.If context is tight (count ≥2 signals), finish the current atomic step, then invoke the handoff skill and start a fresh session
  5. 5.Never retry the same failing command a 3rd time; ask the user instead

Use cases

Good for
  • Long multi-file refactoring where the model keeps re-reading the same files without making progress
  • Debugging sessions where the same failing command is run multiple times with minor variations
  • Complex tasks where the model deliberates extensively without committing to a decision
  • Tasks approaching context limits where a fresh session is needed to complete remaining work
  • User-reported looping: when the user says 'stuck', 'going in circles', or 'repeating itself'
Who it's for
  • Claude Code users running long, multi-step coding tasks
  • Teams using coding agents for refactoring or debugging work
  • Anyone managing tasks at risk of context-window exhaustion
  • Users who need to hand off work mid-task to a fresh session

qwenchance FAQ

What counts as 'looping'?

Re-reading an unchanged file, re-running a command with the same args, returning to a dropped hypothesis, 'reconsidering from the start' with no new evidence, or gaining no new information in the last 2 steps. Re-reading a file you just edited is verification, not a loop.

When should I hand off?

When a system reminder signals low context, or when your context-budget count (20+ turns, 5+ files read, long tool outputs, 3+ plan steps left) reaches 2 or more. Finish the current atomic step, then invoke handoff and start a fresh session.

What if I'm almost done?

Being on the last step or 'almost done' does not cancel a hand-off decision. If the context-budget count says hand off, finish the current unit and hand off anyway—don't start the next step.

How do I break a loop?

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 and take a different action, or (3) if looped 2+ times, declare it unsolved and move on. Never repeat a failed action hoping for a different result.

What if I can't decide in ~1000 words?

The task is underspecified. Ask the user one sharp, specific question instead of continuing to deliberate.

Full instructions (SKILL.md)

Source of truth, from thananon/9arm-skills.


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

CheckTrigger 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 actingStop. Act on your current best decision, or ask the user one question
Context tight?A low-context reminder appeared, or 2+ budget signals holdFinish 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)."