Skip to content
Back to skills

Failure Log Manager

ASecurity

This skill should be used when the user asks to "log a failure", "remember this mistake", "add to failure log", "what mistakes to avoid", "check failure log", or when a mistake is detected that should be recorded for future reference. Manages persistent failure memory.

  • 6 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 28, 2026
ai-agentsgodjangotestinggitsecurity

Security analysis

A100/100

Scanned May 28, 2026

npx -y skills add smicolon/ai-kit --skill failure-log-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Failure Log Manager?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Failure Log Manager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/smicolon-failure-log-manager/badge)](https://www.skillsdirectory.com/skills/smicolon-failure-log-manager)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: failure-log-manager
description: This skill should be used when the user asks to "log a failure", "remember this mistake", "add to failure log", "what mistakes to avoid", "check failure log", or when a mistake is detected that should be recorded for future reference. Manages persistent failure memory.
---

# Failure Log Manager

Manages the persistent failure log at `.claude/failure-log.local.md` to prevent repeating mistakes across sessions.

## Activation Triggers

This skill activates when:
- User asks to log a mistake or failure
- A pattern violation or error is detected
- User wants to review known mistakes
- Adding, viewing, or managing failure entries

## File Location

```
.claude/failure-log.local.md
```

This file is project-specific and should be in `.gitignore`.

## File Format

```markdown
---
enabled: true
last_updated: 2026-01-01T10:30:00Z
---

# Failure Log

## Pattern Mistakes

### [YYYY-MM-DD] Brief title
**Context:** What was being done
**Mistake:** What went wrong
**Correct:** What should be done instead
**Category:** imports|security|testing|architecture|conventions

## Failed Approaches

### [YYYY-MM-DD] Brief title
**Context:** What was being attempted
**What failed:** Why the approach didn't work
**Better approach:** What works instead
**Category:** imports|security|testing|architecture|conventions
```

## Categories

| Category | Description | Examples |
|----------|-------------|----------|
| `imports` | Wrong import patterns | Relative imports, missing aliases |
| `security` | Missing security checks | No permission classes, exposed secrets |
| `testing` | Wrong test approaches | unittest vs pytest, missing fixtures |
| `architecture` | Structural mistakes | Wrong file locations, missing layers |
| `conventions` | Code style violations | Naming, formatting, patterns |

## Adding Failures

### Pattern Mistake Entry

For recurring pattern violations:

```markdown
### [2026-01-01] Wrong import pattern in Django
**Context:** Writing user service
**Mistake:** Used `from users.models import User` instead of alias pattern
**Correct:** Use `import users.models as _users_models`
**Category:** imports
```

### Failed Approach Entry

For approaches that don't work:

```markdown
### [2026-01-01] Tried unittest instead of pytest
**Context:** Writing tests for user service
**What failed:** unittest assertions don't integrate with Django fixtures
**Better approach:** Use pytest with factory_boy for test data
**Category:** testing
```

## Reading Failures

To check the failure log:

1. Read `.claude/failure-log.local.md`
2. Parse entries under each section
3. Use category to filter relevant failures
4. Apply lessons to current task

## Creating Initial Log

If no failure log exists, create with template:

```markdown
---
enabled: true
last_updated: CURRENT_ISO_TIMESTAMP
---

# Failure Log

This log tracks mistakes to prevent repeating them across sessions.

## Pattern Mistakes

_No pattern mistakes logged yet._

## Failed Approaches

_No failed approaches logged yet._
```

## Updating Log

When adding a new failure:

1. Read existing file
2. Update `last_updated` in frontmatter
3. Add new entry under appropriate section (Pattern Mistakes or Failed Approaches)
4. Maintain chronological order (newest first)
5. Write updated file

## Best Practices

### What to Log

Log failures that are:
- Likely to recur (pattern-based mistakes)
- Non-obvious (not caught by linting)
- Project-specific (conventions unique to codebase)
- Costly to repeat (security, architecture)

### What NOT to Log

Skip failures that are:
- One-time typos
- Already caught by linting/tests
- Generic programming errors
- Not actionable

### Entry Quality

Each entry must have:
- Clear date for context
- Specific mistake description
- Actionable correct approach
- Appropriate category

## Integration with Hooks

The `UserPromptSubmit` hook automatically injects a condensed summary of failures into context. The summary includes:
- Total failure count
- One-line summary per failure
- Reference to full log file

This ensures failures are always visible without overwhelming context.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.