An open API service indexing awesome lists of open source software.

https://github.com/blader/napkin

A Claude Code skill that gives the agent persistent memory of its mistakes via a per-repo markdown scratchpad.
https://github.com/blader/napkin

Last synced: 15 days ago
JSON representation

A Claude Code skill that gives the agent persistent memory of its mistakes via a per-repo markdown scratchpad.

Awesome Lists containing this project

README

          

# Napkin

A skill for Claude Code that gives the agent persistent memory of its mistakes.

The agent maintains a markdown file in your repo (`.claude/napkin.md`) where it tracks what went wrong, what you corrected, and what worked. It reads the file at session start and writes to it continuously as it works. By session 3-5 the behavior shift is significant — the agent stops making mistakes you've already corrected and starts pre-empting issues before you catch them.

Baby continual learning in a markdown file.

## Install

**Claude Code**

```bash
git clone https://github.com/blader/napkin.git ~/.claude/skills/napkin
```

**Codex**

```bash
git clone https://github.com/blader/napkin.git ~/.codex/skills/napkin
```

That's it. The skill activates every session, unconditionally.

## How it works

1. **Session start**: Agent reads `.claude/napkin.md` in the current repo. If it doesn't exist, it creates one.
2. **During work**: Agent logs mistakes (its own and yours), corrections, patterns, preferences — as they happen, not just at session end.
3. **Over sessions**: The napkin compounds. Session 1 is normal. Session 3 the agent is catching things before you do. Session 5 it's a different tool.

## What gets logged

- Agent's own mistakes — wrong assumptions, bad approaches, failed commands
- Your corrections — anything you told it to do differently
- Tool/environment surprises — things about the repo that weren't obvious
- Your preferences — how you like things done
- What worked — successful approaches worth repeating

## The napkin

Lives at `.claude/napkin.md` in each repo. One per repo. The agent designs the initial structure and adapts it to the project's domain.

You can `.gitignore` it or commit it — your call. Committing it means other contributors' agents benefit from the same learned patterns. Ignoring it keeps it personal.

## License

MIT