Create or update continuity ledger for state preservation across /clear operations. Ledgers maintain session state externally, surviving context resets with full fidelity.
/plugin marketplace add lerianstudio/ring/plugin install ring-default@ringThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Maintain a ledger file that survives /clear for long-running sessions. Unlike handoffs (cross-session), ledgers preserve state within a session.
Why clear instead of compact? Each compaction is lossy compression - after several compactions, you're working with degraded context. Clearing + loading the ledger gives you fresh context with full signal.
/clearLedgers are stored in: $PROJECT_ROOT/.ring/ledgers/
Format: CONTINUITY-<session-name>.md
Use kebab-case for session name (e.g., auth-refactor, api-migration)
Check if a ledger already exists:
ls "$PROJECT_ROOT/.ring/ledgers/CONTINUITY-"*.md 2>/dev/null
REQUIRED SECTIONS (all must be present):
# Session: <name>
Updated: <ISO timestamp>
## Goal
<Success criteria - what does "done" look like?>
## Constraints
<Tech requirements, patterns to follow, things to avoid>
## Key Decisions
<Choices made with brief rationale>
- Decision 1: Chose X over Y because...
- Decision 2: ...
## State
- Done:
- [x] Phase 1: <completed phase>
- [x] Phase 2: <completed phase>
- Now: [->] Phase 3: <current focus - ONE thing only>
- Next:
- [ ] Phase 4: <queued item>
- [ ] Phase 5: <queued item>
## Open Questions
- UNCONFIRMED: <things needing verification after clear>
- UNCONFIRMED: <assumptions that should be validated>
## Working Set
<Active files, branch, test commands>
- Branch: `feature/xyz`
- Key files: `src/auth/`, `tests/auth/`
- Test cmd: `npm test -- --grep auth`
- Build cmd: `npm run build`
| Symbol | Meaning |
|---|---|
[x] | Completed |
[->] | In progress (current) |
[ ] | Pending |
Why checkboxes in files: TodoWrite survives compaction, but the understanding around those todos degrades each time context is compressed. File-based checkboxes are never compressed - full fidelity preserved.
⛔ HARD GATE: Update ledger IMMEDIATELY after completing ANY phase.
You (the AI) are the one doing the work. You know exactly when:
There is NO excuse to wait for the user to ask. This is the same discipline as TodoWrite - update in real-time.
| After This Event | MUST Do This | Before |
|---|---|---|
| Complete a phase | Mark [x], move [->] to next | Proceeding to next phase |
| All phases done | Add Status: COMPLETED | Telling user "done" |
| Make key decision | Add to Key Decisions section | Moving on |
| Resolve open question | Change UNCONFIRMED → CONFIRMED | Proceeding |
Anti-Rationalization:
| Rationalization | Why It's WRONG | Required Action |
|---|---|---|
| "I'll update after I finish" | You'll forget. State drifts. User asks why ledger is stale. | Update NOW |
| "It's just one phase" | One phase becomes three. Ledger shows Phase 2 when you're on Phase 5. | Update NOW |
| "User will ask me to update" | User shouldn't have to. You're the AI doing the work. You know. | Update NOW |
| "I'm in the flow, don't want to stop" | 10 seconds to update vs. explaining why ledger is wrong later. | Update NOW |
When to update the ledger:
/clearWhat to update:
[->] to [x])Status: COMPLETED when all phases doneWhen resuming after /clear:
[->] marker to see current phaseAfter creating/updating the ledger, respond:
Continuity ledger updated: .ring/ledgers/CONTINUITY-<name>.md
Current state:
- Done: <summary of completed phases>
- Now: <current focus>
- Next: <upcoming phases>
Ready for /clear - ledger will reload on resume.
Mark uncertain items explicitly:
## Open Questions
- UNCONFIRMED: Does the auth middleware need updating?
- UNCONFIRMED: Are we using v2 or v3 of the API?
After /clear, these prompt you to verify before proceeding.
| Tool | Scope | Fidelity |
|---|---|---|
| CLAUDE.md | Project | Always fresh, stable patterns |
| TodoWrite | Turn | Survives compaction, but understanding degrades |
| CONTINUITY-*.md | Session | External file - never compressed, full fidelity |
| Handoffs | Cross-session | External file - detailed context for new session |
# Session: auth-refactor
Updated: 2025-01-15T14:30:00Z
## Goal
Replace JWT auth with session-based auth. Done when all tests pass and no JWT imports remain.
## Constraints
- Must maintain backward compat for 2 weeks (migration period)
- Use existing Redis for session storage
- No new dependencies
## Key Decisions
- Session tokens: UUID v4 (simpler than signed tokens for our use case)
- Storage: Redis with 24h TTL (matches current JWT expiry)
- Migration: Dual-auth period, feature flag controlled
## State
- Done:
- [x] Phase 1: Session model
- [x] Phase 2: Redis integration
- [x] Phase 3: Login endpoint
- Now: [->] Phase 4: Logout endpoint and session invalidation
- Next:
- [ ] Phase 5: Middleware swap
- [ ] Phase 6: Remove JWT
- [ ] Phase 7: Update tests
## Open Questions
- UNCONFIRMED: Does rate limiter need session awareness?
## Working Set
- Branch: `feature/session-auth`
- Key files: `src/auth/session.ts`, `src/middleware/auth.ts`
- Test cmd: `npm test -- --grep session`
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.