amnesiac
shipstone/amnesiacAutonomous software development for agents with no persistent memory. Use when building, testing, or maintaining code projects. Ensures all work is independently verifiable without context from previous sessions.
SKILL.md
name: amnesiac description: Autonomous software development for agents with no persistent memory. Use when building, testing, or maintaining code projects. Ensures all work is independently verifiable without context from previous sessions.
amnesiac
You will forget everything. Design accordingly.
First Step
Check if .amnesiac/status exists.
- Exists → read it, continue below
- Does not exist → read adopt.md to set up this project
Protocol
- Read
.amnesiac/status - Load the phase file indicated
- Do the work
- Update
.amnesiac/status - Commit
Status Format
phase: [define|design|implement|maintain]
task: [current task number or description]
next: [literal next action]
files: [space-separated list]
verify: [command that returns 0 on success]
Phase Files
Load only the file matching your current phase:
phase: define→ read define.md - establish goal with userphase: design→ read design.md - create verifiable planphase: implement→ read implement.md - build with testsphase: maintain→ read maintain.md - fix and extend
Reference Files
Load only when stuck:
- patterns.md - approaches that work
- antipatterns.md - approaches that fail
Rules
- If you can't verify it without a browser, don't build it
- If verify fails 3 times, write to
stuckfield and stop - If a task touches 5+ files, split it first
- Commit after every passing verify
README
amnesiac
Autonomous software development for agents with no persistent memory.
What This Is
A skill for Claude (and other LLMs) that enables autonomous software development despite context loss between sessions. Every project built with amnesiac is designed from the start to be independently verifiable without requiring memory of previous sessions.
Core Principle
You will forget everything. Design accordingly.
Installation
Claude.ai / Claude Code
Copy this folder to your skills directory or upload as a custom skill.
In a Project
mkdir -p .amnesiac
cp /path/to/amnesiac/status.template .amnesiac/status
How It Works
- Claude reads
SKILL.mdat session start - Checks if
.amnesiac/statusexists in project - If no → runs adoption flow to set up the project
- If yes → reads status, loads appropriate phase file, continues work
Phases
- define - Establish goal with user (one-time)
- design - Create plan where every task is verifiable (one-time)
- implement - Test-first development loop
- maintain - Bug fixes and feature additions
Progressive Disclosure
Only the current phase's instructions are loaded, minimizing context usage:
| What | When Loaded | Size |
|---|---|---|
| SKILL.md | Every session | ~60 lines |
| Phase file | When in that phase | ~80 lines |
| patterns.md | When stuck | ~70 lines |
| antipatterns.md | When stuck | ~70 lines |
Key Constraints
- If you can't verify it without a browser, don't build it
- If verify fails 3 times, stop and escalate
- If a task touches 5+ files, split it first
- Commit after every passing verify
Files
amnesiac/
├── SKILL.md # Entry point
├── adopt.md # Setup for existing projects
├── define.md # Goal establishment
├── design.md # Verifiable plan creation
├── implement.md # Test-first build loop
├── maintain.md # Bug fixes and features
├── patterns.md # What works (reference)
├── antipatterns.md # What fails (reference)
├── status.template # Copy to new projects
└── metrics/
├── adopters.json # Registry of projects
└── collect-metrics.js # Aggregation script
Metrics
Track success rates across projects:
# Register a project
# Edit metrics/adopters.json
# Collect metrics
node metrics/collect-metrics.js --period 2026-01
License
MIT