Skill Tracer
Skills › Superpowers › writing-skills › bulletproofing.md

bulletproofing.md

80 lines · skills/writing-skills/references/bulletproofing.md at 2ce8aa1

Open on GitHub
1# Bulletproofing Skills Against Rationalization
2
3Part of superpowers:writing-skills. Use it when the baseline failure is a
4discipline failure: the agent knows the rule and skips it under pressure.
5

Bulletproofing Skills Against Rationalization

Part of superpowers:writing-skills. Use it when the baseline failure is a discipline failure: the agent knows the rule and skips it under pressure.

Raw lines 1 to 5
6## Bulletproofing Skills Against Rationalization
7
8Skills that enforce discipline (like TDD) need to resist rationalization. Agents are smart and will find loopholes when under pressure.
9
10**Scope:** this toolkit is for discipline failures — an agent that knows the rule and skips it under pressure. For wrong-shaped output or omitted elements, prohibition-based bulletproofing backfires; use the forms in Match the Form to the Failure instead.
12**Psychology note:** Understanding WHY persuasion techniques work helps you apply them systematically. See persuasion-principles.md in this directory for research foundation (Cialdini, 2021; Meincke et al., 2025) on authority, commitment, scarcity, social proof, and unity principles.

Bulletproofing Skills Against Rationalization

Skills that enforce discipline (like TDD) need to resist rationalization. Agents are smart and will find loopholes when under pressure.

Scope: this toolkit is for discipline failures — an agent that knows the rule and skips it under pressure. For wrong-shaped output or omitted elements, prohibition-based bulletproofing backfires; use the forms in Match the Form to the Failure instead.

Psychology note: Understanding WHY persuasion techniques work helps you apply them systematically. See persuasion-principles.md in this directory for research foundation (Cialdini, 2021; Meincke et al., 2025) on authority, commitment, scarcity, social proof, and unity principles.

Raw lines 6 to 13
14### Close Every Loophole Explicitly
16Don't just state the rule - forbid specific workarounds:
18<Bad>
19```markdown
20Write code before test? Delete it.
21```
22</Bad>
24<Good>
25```markdown
26Write code before test? Delete it. Start over.
28**No exceptions:**
29- Don't keep it as "reference"
30- Don't "adapt" it while writing tests
31- Don't look at it
32- Delete means delete
33```
34</Good>

Close Every Loophole Explicitly

Don't just state the rule - forbid specific workarounds:

<Bad>

Write code before test? Delete it.

</Bad>

<Good>

Write code before test? Delete it. Start over.

**No exceptions:**
- Don't keep it as "reference"
- Don't "adapt" it while writing tests
- Don't look at it
- Delete means delete

</Good>

Raw lines 14 to 35
36### Address "Spirit vs Letter" Arguments
38Add foundational principle early:
40```markdown
41**Violating the letter of the rules is violating the spirit of the rules.**
42```
44This cuts off entire class of "I'm following the spirit" rationalizations.

Address "Spirit vs Letter" Arguments

Add foundational principle early:

**Violating the letter of the rules is violating the spirit of the rules.**

This cuts off entire class of "I'm following the spirit" rationalizations.

Raw lines 36 to 45
46### Build Rationalization Table
48Capture rationalizations from baseline testing (see Testing section below). Every excuse agents make goes in the table:
50```markdown
51| Excuse | Reality |
52|--------|---------|
53| "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
54| "I'll test after" | Tests passing immediately prove nothing. |
55| "Tests after achieve same goals" | Tests-after = "what does this do?" Tests-first = "what should this do?" |
56```

Build Rationalization Table

Capture rationalizations from baseline testing (see Testing section below). Every excuse agents make goes in the table:

| Excuse | Reality |
|--------|---------|
| "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
| "I'll test after" | Tests passing immediately prove nothing. |
| "Tests after achieve same goals" | Tests-after = "what does this do?" Tests-first = "what should this do?" |
Raw lines 46 to 57
58### Create Red Flags List
60Make it easy for agents to self-check when rationalizing:
62```markdown
63## Red Flags - STOP and Start Over
65- Code before test
66- "I already manually tested it"
67- "Tests after achieve the same purpose"
68- "It's about spirit not ritual"
69- "This is different because..."
71**All of these mean: Delete code. Start over with TDD.**
72```

Create Red Flags List

Make it easy for agents to self-check when rationalizing:

## Red Flags - STOP and Start Over

- Code before test
- "I already manually tested it"
- "Tests after achieve the same purpose"
- "It's about spirit not ritual"
- "This is different because..."

**All of these mean: Delete code. Start over with TDD.**
Raw lines 58 to 73
74### Update SDO for Violation Symptoms
76Add to description: symptoms of when you're ABOUT to violate the rule:
78```yaml
79description: use when implementing any feature or bugfix, before writing implementation code
80```

Update SDO for Violation Symptoms

Add to description: symptoms of when you're ABOUT to violate the rule:

description: use when implementing any feature or bugfix, before writing implementation code
Raw lines 74 to 80