
Defense In Depth Validation
- 248 installs
- 733 repo stars
- Updated October 14, 2025
- obra/superpowers-skills
Run verification commands and read output before claiming tests pass, builds succeed, or work is complete.
About
defense-in-depth validation — Verification Before Completion stops agents from lying about done—every success claim requires a fresh command, full output, and evidence cited in the same message. It applies before commits, PRs, and task handoffs. Solo builders use it to prevent false-green reports that waste rework cycles.
- Gate function: identify proof command, run it fresh, read full output, then claim status.
- Red-flag phrases like 'should pass' and 'looks correct' are explicitly banned.
- Covers tests, linters, builds, agent delegation, and requirement checklists.
Defense In Depth Validation by the numbers
- 248 all-time installs (skills.sh)
- +26 installs in the week ending Jul 18, 2026 (Skillselion tracking)
- Ranked #756 of 2,184 Testing & QA skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/obra/superpowers-skills --skill defense-in-depth-validationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 248 |
|---|---|
| repo stars | ★ 733 |
| Security audit | 3 / 3 scanners passed |
| Last updated | October 14, 2025 |
| Repository | obra/superpowers-skills ↗ |
What it does
Run verification commands and read output before claiming tests pass, builds succeed, or work is complete.
Files
Getting Started with Skills
Critical Rules
1. Use Read tool before announcing skill usage. The session-start hook does NOT read skills for you. Announcing without calling Read = lying.
2. Follow mandatory workflows. Brainstorming before coding. Check for skills before ANY task.
3. Create TodoWrite todos for checklists. Mental tracking = steps get skipped. Every time.
Mandatory Workflow: Before ANY Task
1. Check skills list at session start, or run find-skills [PATTERN] to filter.
2. If relevant skill exists, YOU MUST use it:
- Use Read tool with full path:
${SUPERPOWERS_SKILLS_ROOT}/skills/category/skill-name/SKILL.md - Read ENTIRE file, not just frontmatter
- Announce: "I've read [Skill Name] skill and I'm using it to [purpose]"
- Follow it exactly
Don't rationalize:
- "I remember this skill" - Skills evolve. Read the current version.
- "Session-start showed it to me" - That was using-skills/SKILL.md only. Read the actual skill.
- "This doesn't count as a task" - It counts. Find and read skills.
Why: Skills document proven techniques that save time and prevent mistakes. Not using available skills means repeating solved problems and making known errors.
If a skill for your task exists, you must use it or you will fail at your task.
Skills with Checklists
If a skill has a checklist, YOU MUST create TodoWrite todos for EACH item.
Don't:
- Work through checklist mentally
- Skip creating todos "to save time"
- Batch multiple items into one todo
- Mark complete without doing them
Why: Checklists without TodoWrite tracking = steps get skipped. Every time. The overhead of TodoWrite is tiny compared to the cost of missing steps.
Examples: skills/testing/test-driven-development/SKILL.md, skills/debugging/systematic-debugging/SKILL.md, skills/meta/writing-skills/SKILL.md
Announcing Skill Usage
After you've read a skill with Read tool, announce you're using it:
"I've read the [Skill Name] skill and I'm using it to [what you're doing]."
Examples:
- "I've read the Brainstorming skill and I'm using it to refine your idea into a design."
- "I've read the Test-Driven Development skill and I'm using it to implement this feature."
- "I've read the Systematic Debugging skill and I'm using it to find the root cause."
Why: Transparency helps your human partner understand your process and catch errors early. It also confirms you actually read the skill.
How to Read a Skill
Every skill has the same structure:
1. Frontmatter - when_to_use tells you if this skill matches your situation 2. Overview - Core principle in 1-2 sentences 3. Quick Reference - Scan for your specific pattern 4. Implementation - Full details and examples 5. Supporting files - Load only when implementing
Many skills contain rigid rules (TDD, debugging, verification). Follow them exactly. Don't adapt away the discipline.
Some skills are flexible patterns (architecture, naming). Adapt core principles to your context.
The skill itself tells you which type it is.
Instructions ≠ Permission to Skip Workflows
Your human partner's specific instructions describe WHAT to do, not HOW.
"Add X", "Fix Y" = the goal, NOT permission to skip brainstorming, TDD, or RED-GREEN-REFACTOR.
Red flags: "Instruction was specific" • "Seems simple" • "Workflow is overkill"
Why: Specific instructions mean clear requirements, which is when workflows matter MOST. Skipping process on "simple" tasks is how simple tasks become complex problems.
Summary
Starting any task: 1. Run find-skills to check for relevant skills 2. If relevant skill exists → Use Read tool with full path (includes /SKILL.md) 3. Announce you're using it 4. Follow what it says
Skill has checklist? TodoWrite for every item.
Finding a relevant skill = mandatory to read and use it. Not optional.
Related skills
FAQ
Is Defense In Depth Validation safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.