Initial commit
This commit is contained in:
74
skills/shared-patterns/failure-recovery.md
Normal file
74
skills/shared-patterns/failure-recovery.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Universal Failure Recovery Pattern
|
||||
|
||||
Add this section to any skill with potential failure points:
|
||||
|
||||
## When You Violate This Skill
|
||||
|
||||
**Skills can be violated by skipping steps or doing things out of order.**
|
||||
|
||||
Add skill-specific violation recovery procedures:
|
||||
|
||||
### Violation Template
|
||||
|
||||
```markdown
|
||||
### Violation: [Common violation name]
|
||||
|
||||
**How to detect:**
|
||||
[What indicates this violation occurred]
|
||||
|
||||
**Recovery procedure:**
|
||||
1. [Step 1 to recover]
|
||||
2. [Step 2 to recover]
|
||||
3. [Step 3 to recover]
|
||||
|
||||
**Why recovery matters:**
|
||||
[Explanation of why you can't just continue]
|
||||
```
|
||||
|
||||
**Example:**
|
||||
|
||||
Violation: Wrote implementation before test (in TDD)
|
||||
|
||||
**How to detect:**
|
||||
- Implementation file exists but no test file
|
||||
- Git history shows implementation committed before test
|
||||
|
||||
**Recovery procedure:**
|
||||
1. Stash or delete the implementation code
|
||||
2. Write the failing test first
|
||||
3. Run test to verify it fails
|
||||
4. Rewrite the implementation to make test pass
|
||||
|
||||
**Why recovery matters:**
|
||||
The test must fail first to prove it actually tests something. If implementation exists first, you can't verify the test works - it might be passing for the wrong reason or not testing anything at all.
|
||||
|
||||
---
|
||||
|
||||
## When Things Go Wrong
|
||||
|
||||
**If you get stuck:**
|
||||
|
||||
1. **Attempt failed?**
|
||||
- Document exactly what happened
|
||||
- Include error messages verbatim
|
||||
- Note what you tried
|
||||
|
||||
2. **Can't proceed?**
|
||||
- State blocker explicitly: "Blocked by: [specific issue]"
|
||||
- Don't guess or work around
|
||||
- Ask for help
|
||||
|
||||
3. **Confused?**
|
||||
- Say "I don't understand [specific thing]"
|
||||
- Don't pretend to understand
|
||||
- Research or ask for clarification
|
||||
|
||||
4. **Multiple failures?**
|
||||
- After 3 attempts: STOP
|
||||
- Document all attempts
|
||||
- Reassess approach with human partner
|
||||
|
||||
**Never:** Pretend to succeed when stuck
|
||||
**Never:** Continue after 3 failures
|
||||
**Never:** Hide confusion or errors
|
||||
**Always:** Be explicit about blockage
|
||||
Reference in New Issue
Block a user