skills/zero-iteration/SKILL.md
Mentally execute code before writing it. Trace inputs through logic, predict outputs, catch bugs before they exist. Reduces edit-test-fix cycles by getting it right the first time. Always-on awareness skill that activates during any code generation.
npx skillsauth add nhouseholder/nicks-claude-code-superpowers zero-iterationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before writing code, run it in your head. Trace the data. Predict the output. Catch the bug before it exists. The fastest debugging is the debugging you never have to do.
This skill fires automatically whenever you're about to write or modify code. It's a mental discipline, not a tool — zero token overhead until it catches something.
1. INPUTS — What types/shapes come in? What are the edge cases?
2. TRACE — Step through the logic line by line with concrete values
3. OUTPUT — What exactly comes out? Does it match the caller's expectation?
4. FAIL — What makes this break? Null? Empty? Concurrent access? Off-by-one?
1. CURRENT — What does this code do right now? (Read it, don't assume)
2. CALLERS — Who calls this? What do they expect?
3. CHANGE — Apply your modification mentally
4. TRACE — Run through with the same inputs as before — does it still work?
5. EDGE — Run through with edge case inputs — does the change break them?
API returns: { data: { items: [...] } }
Code assumes: response.items ← WRONG: response.data.items
Rule: Verify the actual shape before accessing nested properties.
for (let i = 0; i <= arr.length; i++) ← WRONG: should be <
arr.slice(0, n) ← Does this include index n? No, it's exclusive.
Rule: Trace with arrays of length 0, 1, and 3. Check boundaries.
const data = fetchData() ← Missing await
setState(newVal); console.log(state) ← State hasn't updated yet
Rule: For every async call, verify await/then. For every state update, don't read the new value immediately.
"5" + 3 = "53" (string concat, not addition)
null == undefined (true)
[] == false (true, but [] is truthy)
Rule: When mixing types, trace the actual coercion.
const copy = original ← Same reference, not a copy
arr.sort() ← Mutates in place, doesn't return new array (well, it does, but it's the same array)
Rule: When "copying" objects/arrays, verify it's a real copy if mutation matters.
UFC_NUM_EVENTS=0 → num_events = int(os.environ.get("UFC_NUM_EVENTS", 71))
→ num_events = 0
→ if len(events) >= 0: break ← Loop exits IMMEDIATELY
Rule: When setting env vars or config values, trace them through ALL downstream logic. Zero, empty string, and negative values are the most dangerous. 0 is especially treacherous — it's falsy AND satisfies >= 0.
export default function X() → import { X } ← WRONG: import X
export function X() → import X ← WRONG: import { X }
Rule: Before writing an import, check the export style.
When writing code that produces numbers (P/L, units, stats, percentages, scores):
Common math bugs this catches:
For any function you write, mentally run it with three inputs:
If all three produce correct output → write the code. If any fails → fix the logic BEFORE writing.
Before writing code, mentally scan anti-patterns.md lessons (loaded at session start via total-recall). Ask: "Am I about to make a mistake I've made before?"
Common reasoning failure categories to check:
If the current task matches a known reasoning failure category → apply the lesson BEFORE writing code, not after finding the bug.
Before claiming a task is complete, run this check:
Red flags that you're rationalizing:
When you catch yourself rationalizing: stop, go back, actually verify.
{ id: 1, name: "test" }< not <="tools
Unified context management and session continuity skill. Combines total-recall, strategic-compact, /ledger, and session continuity. Runs in background to preserve critical context across compaction and sessions.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
tools
Suggest /ultraplan for complex planning tasks on Claude Code CLI (2.1.91+ only). Research preview.
tools
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.