One of dozens of skills and plugins in TinkerClaw — a self-improving OpenClaw fork that's been running 24/7 for months.
Your agent says "done" — but did it check?
Most agents declare victory without running a thing: they fix the symptom, not the cause, retry the same broken patch three times, and quietly refactor code you never asked them to touch.
Superpowers wires in the discipline a senior engineer takes for granted. Nothing is "done" until a fresh command proves it. Every change runs a build → spec → quality review by three separate agents. Bugs get a four-phase root-cause hunt instead of a guess, and a three-strike rule stops the flailing. Design gets signed off before a line of code is written. The result is work you can trust on the first pass instead of the fourth.
Part of TinkerClaw — real-time token tracking, self-improving crons, persistent cognitive memory. This is one piece of that stack; the repo has dozens more.
👉 https://github.com/globalcaos/tinkerclaw
Clone it. Fork it. Break it. Make it yours.
Agent Superpowers
<why_this_matters> General-purpose agents fail in predictable ways: declaring "done" without running tests, fixing symptoms instead of causes, refactoring code they weren't asked to touch, repeating the same failed fix three times. Each rule below targets a specific failure mode with a concrete behavior that prevents it. Following the pipeline costs a few extra calls per task and saves hours of debugging in production. </why_this_matters>
Quick Start — Inject Into Your Agent
Paste into your AGENTS.md to activate always-on behavioral rules:
## Engineering Discipline (Agent Superpowers)
### Verification iron law
- No completion claims without fresh verification evidence in this message.
- Run the command. Read the output. Then claim the result.
- "Should work" / "looks correct" / "done" without evidence = unverified.
### Anti-over-engineering
- Do what was asked. Nothing more, nothing less.
- Tolerate a little repetition until a real pattern emerges; abstract later.
- Don't add features, refactor, or "improve" beyond the request.
- A bug fix doesn't need surrounding code cleaned up.
### Reversibility
- Local and reversible (edit files, run tests) → proceed freely.
- Hard to reverse, shared, or destructive → confirm first.
- Approval is scoped, not global — once does not mean always.
### Three-strike debugging
- After 3 failed fixes on the same problem, stop.
- Question the architecture. Don't attempt fix #4 without discussing.
### Brainstorming gate
- For any feature, component, or creative work: explore → ask → propose → approve → then build.
- "Simple" projects are where unexamined assumptions waste the most work.
The Pipeline
Every non-trivial coding task follows this flow:
brainstorming → plan → implement → spec-review → quality-review → verify → complete
Each stage has a quality gate. Skipping gates costs more time than following them.
1. Brainstorming Gate
When: any creative work — features, components, new functionality.
Behavior: present a design and get approval before starting implementation.
Process:
- Explore project context (files, docs, recent commits).
- Ask clarifying questions one at a time; prefer multiple choice when possible.
- Propose 2-3 approaches with trade-offs and your recommendation.
- Walk through the design and get approval section by section.
- Transition to planning.
"This is too simple to need a design." Even a 3-sentence design that the user signs off on. Simple projects are where unexamined assumptions waste the most work.
2. Writing Plans
When: Multi-step task, before touching code.
Granularity — each step is ONE action (2-5 minutes):
- "Write the failing test" = step
- "Run it to verify it fails" = step
- "Implement minimal code to pass" = step
- "Run tests to verify" = step
- "Commit" = step
Every task must include:
- Exact file paths (create/modify/test)
- Complete code (not "add validation here")
- Exact commands with expected output
- TDD steps where applicable
Plan document saved to: docs/plans/YYYY-MM-DD-<feature>.md
See references/plan-template.md for the full template.
3. Three-Agent Review
When: Executing plans via sub-agents.
For each task in a plan, dispatch THREE sub-agents in sequence:
3a. Implementer
- Gets full task text + context (don't make sub-agent read plan file)
- Can ask questions BEFORE starting — answer them completely
- Implements → tests → commits → self-reviews → reports
See references/implementer-prompt.md for the dispatch template.
3b. Spec Reviewer
- Dispatched AFTER implementer reports done
- Explicitly told: "DO NOT trust the implementer's report"
- Reads actual code, compares to requirements line by line
- Checks for: missing requirements, extra features, misunderstandings
- Output: ✅ compliant or ❌ issues with file:line references
- If issues → implementer fixes → re-review until ✅
See references/spec-reviewer-prompt.md for the dispatch template.
3c. Quality Reviewer
- Dispatched ONLY after spec compliance passes
- Checks: clean, tested, maintainable, follows codebase patterns
- Severity: Critical (must fix) / Important (should fix) / Minor (note)
- If Critical/Important → implementer fixes → re-review
See references/quality-reviewer-prompt.md for the dispatch template.
Cost note: More sub-agents per task, but dramatically higher first-time quality. Catching issues at review is cheaper than debugging in production.
4. Systematic Debugging
When: any bug, test failure, or unexpected behavior — especially when under time pressure.
Iron law: investigate root cause before changing code. Two minutes of investigation often redirects the work entirely.
Phase 1: Root Cause Investigation (run this first)
- Read error messages carefully — they often contain the solution
- Reproduce consistently — if not reproducible, gather more data
- Check recent changes — git diff, new dependencies, config changes
- For multi-component systems: add diagnostic instrumentation at EACH boundary, run once to see WHERE it breaks
Phase 2: Pattern Analysis
- Find working examples of similar code in the same codebase
- Compare working vs broken — list EVERY difference
- Understand dependencies and assumptions
Phase 3: Hypothesis & Testing
- State hypothesis clearly: "I think X because Y"
- Make the SMALLEST possible change to test it (one variable)
- Did it work? → Phase 4. Didn't work? → new hypothesis.
- DON'T stack fixes. One at a time.
Phase 4: Implementation
- Create failing test case first
- Implement single fix addressing root cause
- Verify: test passes, no regressions
The Three-Strike Rule
After 3 failed fixes, stop and question the architecture.
- Each fix revealing a new problem in a different place is the signal of a wrong architecture.
- Discuss fundamentals before attempting fix #4.
- This isn't a failed hypothesis — it's a wrong pattern.
See references/debugging-guide.md for the full guide with rationalization table.
5. Verification Before Completion
When: about to claim work is complete, before committing or creating PRs.
<verification_gate>
- Identify: what command proves this claim?
- Run: execute the full command, fresh and complete.
- Read: full output, exit code, failure count.
- Compare: does the output confirm the claim?
- If no → state the actual status with evidence.
- If yes → state the claim with evidence.
- Then make the claim. </verification_gate>
Pause and re-verify when you catch yourself:
- Using "should", "probably", "seems to"
- Expressing satisfaction before verification ("Great!", "Done!")
- About to commit or push without running tests
- Trusting a sub-agent's success report without independent verification
- Thinking "just this once"
| Claim | Requires | NOT Sufficient |
|---|---|---|
| Tests pass | Test command output: 0 failures | Previous run, "should pass" |
| Build succeeds | Build command: exit 0 | Linter passing |
| Bug fixed | Test original symptom: passes | "Code changed, assumed fixed" |
| Agent completed | VCS diff shows changes | Agent reports "success" |
6. Anti-Over-Engineering Rules
Always active. These prevent the most common source of wasted work:
- Do what was asked. Nothing more, nothing less.
- Tolerate a little repetition until a real pattern emerges; abstract later.
- Don't add features beyond what was requested.
- Don't refactor code you weren't asked to refactor.
- Don't add comments or docstrings to code you didn't change.
- Don't create helpers for one-time operations.
- Don't design for hypothetical future requirements.
- Handle the failures that can realistically occur, not imaginary ones.
- Prefer editing existing files over creating new ones.
- If blocked: consider alternatives or ask. Don't brute-force.
7. Reversibility Classification
Before any action, classify:
| Action Type | Examples | Rule |
|---|---|---|
| Local, reversible | Edit files, run tests, search code | Proceed freely |
| Hard to reverse | Force push, git reset --hard, drop tables | Confirm first |
| External-facing | Push code, create PRs, send messages | Confirm first |
| Destructive | Delete files/branches, rm -rf, overwrite work | Confirm first |
- Approval is scoped, not global — approving
git pushonce ≠ always - A blocker is a reason to stop and investigate, never a license to delete or overwrite your way past it
- If you discover unexpected state (unfamiliar files, branches) → investigate before deleting
Rationalization Prevention
Common excuses and their realities:
| Excuse | Reality |
|---|---|
| "Too simple to need a plan" | Simple tasks are where assumptions waste the most work |
| "I'll test after implementing" | Test-after proves what code does, not what it should do |
| "Should work now" | Run the verification command |
| "Just one quick fix" | Follow Phase 1 first |
| "I'm confident" | Confidence ≠ evidence |
| "This is different because..." | The rules apply especially when you think they don't |
| "I already know the answer" | Read the file first anyway |
| "One more fix attempt" (after 2 fails) | Third failure = question architecture |
OpenClaw Integration
Spawning Sub-Agents
Use sessions_spawn with the prompt templates in references/. Set model per role:
- Implementer → sonnet (coding strength)
- Spec reviewer → haiku (fast, focused comparison)
- Quality reviewer → gpt (second opinion from different model family)
In Cron Jobs
Sub-agents spawned by crons should follow the same verification gate — don't log "completed successfully" without evidence.
In AGENTS.md
Copy the "Quick Start" section above into your workspace AGENTS.md for always-on rules.
Credits and Sources
The patterns in this skill were adapted from open-source, MIT-licensed agent engineering skills by Jesse Vincent (the "superpowers" skill set), combined with general engineering practices commonly seen in commercial and open-source coding agents, and rewritten in our own words for OpenClaw's multi-agent architecture.
Pairs Well With
- smart-model-router — auto-select the right model for each sub-agent role (implementer → Sonnet, reviewer → Haiku, quality → GPT)
- subagent-overseer — monitor your three-agent review pipeline without burning tokens on polling
- coding-agent — the dispatch layer that launches your implementer sub-agents
👉 https://github.com/globalcaos/tinkerclaw
Clone it. Fork it. Break it. Make it yours.
Original methodology by Oscar Serra and Jarvis. Engineering patterns inspired by industry best practices and open-source agent skills (MIT License, Jesse Vincent). Adapted for OpenClaw's multi-agent architecture.
Changelog
- 1.1.2 — Removed an off-topic section about inspecting third-party tools; credits now name all sources honestly and borrowed phrasing was rewritten in our own words; security note now states the skill contains external web links; dropped the untrue "research papers included" line.
