Summary
The Superpowers bundle's skill-checking mandate creates a self-referential infinite loop where the model repeatedly loads the using-superpowers skill without ever breaking out to do actual work or respond to the user.
Filed here because issues are disabled on microsoft/amplifier-bundle-superpowers.
Observed Behavior
The model enters an infinite cycle:
- Loads
using-superpowers skill → updates a todo to "in_progress"
- Loads
using-superpowers skill again → marks the todo "completed"
- Loads
using-superpowers skill again → clears the todo list
- Repeats from step 1
Each iteration consumes ~62k input tokens (GPT-5.4) and produces only ~170-230 output tokens — all spent re-loading the same skill and cycling todo states. The user never receives a response.
Root Cause
Three reinforcing directives create a self-referential loop:
superpowers:context/instructions.md — <STANDING-ORDER> says "BEFORE EVERY RESPONSE" check for skills/modes
superpowers:context/using-superpowers-amplifier.md — <EXTREMELY-IMPORTANT> says "even a 1% chance means you ABSOLUTELY MUST invoke the skill"
- The
using-superpowers skill itself — repeats the same directive when loaded
The loop is self-referential: the skill that tells you to check skills is itself a skill, so loading it satisfies the "check skills" requirement, which then re-triggers the "check skills" requirement.
Model tries to respond
→ Standing order: "check skills first!"
→ Loads using-superpowers skill
→ Skill says: "check skills before ANY response!"
→ Model tries to respond
→ Standing order: "check skills first!"
→ ... (infinite)
Reproduction
- Model:
openai/gpt-5.4 (may be more literally compliant with "ABSOLUTELY MUST" framing)
- Bundle: Superpowers bundle with default configuration
- Trigger: Any task where the model attempts to respond after loading the
using-superpowers skill
Suggested Fix
Options (not mutually exclusive):
- Add a "once per turn" guard to the skill-check directive — e.g., "Check skills once at the start of your turn, not before every internal step"
- Remove the self-referential reinforcement from the
using-superpowers skill content — the skill shouldn't re-trigger its own loading
- Reduce the absolutist language — "ABSOLUTELY MUST" / "not negotiable" / "not optional" repeated across 3 files may cause over-compliance in literal models
- Add an explicit escape clause — "If you have already checked skills this turn, proceed with your response"
Environment
- Amplifier session on macOS
- Model: openai/gpt-5.4
- Superpowers bundle: latest main
Summary
The Superpowers bundle's skill-checking mandate creates a self-referential infinite loop where the model repeatedly loads the
using-superpowersskill without ever breaking out to do actual work or respond to the user.Filed here because issues are disabled on
microsoft/amplifier-bundle-superpowers.Observed Behavior
The model enters an infinite cycle:
using-superpowersskill → updates a todo to "in_progress"using-superpowersskill again → marks the todo "completed"using-superpowersskill again → clears the todo listEach iteration consumes ~62k input tokens (GPT-5.4) and produces only ~170-230 output tokens — all spent re-loading the same skill and cycling todo states. The user never receives a response.
Root Cause
Three reinforcing directives create a self-referential loop:
superpowers:context/instructions.md—<STANDING-ORDER>says "BEFORE EVERY RESPONSE" check for skills/modessuperpowers:context/using-superpowers-amplifier.md—<EXTREMELY-IMPORTANT>says "even a 1% chance means you ABSOLUTELY MUST invoke the skill"using-superpowersskill itself — repeats the same directive when loadedThe loop is self-referential: the skill that tells you to check skills is itself a skill, so loading it satisfies the "check skills" requirement, which then re-triggers the "check skills" requirement.
Reproduction
openai/gpt-5.4(may be more literally compliant with "ABSOLUTELY MUST" framing)using-superpowersskillSuggested Fix
Options (not mutually exclusive):
using-superpowersskill content — the skill shouldn't re-trigger its own loadingEnvironment