Vibecosystem notepad-system

Use this skill when context compression is imminent, when resuming a session, or when preserving critical decisions across long tasks. Provides a durable notepad that survives compaction and lets any agent pick up exactly where the previous context left off.

install
source · Clone the upstream repo
git clone https://github.com/vibeeval/vibecosystem
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/vibeeval/vibecosystem "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/notepad-system" ~/.claude/skills/vibeeval-vibecosystem-notepad-system && rm -rf "$T"
manifest: skills/notepad-system/SKILL.md
source content

Notepad System — Compaction-Resistant State Preservation

Structured storage for decisions, task state, and critical context that must survive context window compression. Extends pre-compact-state.md from manual discipline to a concrete file-based protocol.

The Problem

When context compresses, the following is lost:

  • Why a specific approach was chosen over alternatives
  • Which files were edited and what changed
  • Where in a multi-step task execution was paused
  • Constraints and requirements the user stated earlier in the session

Without this, the recovered context either restarts from scratch or makes assumptions that contradict earlier decisions.


Note Types

TypePersistenceWhen to Use
PriorityPermanent until explicitly deletedArchitectural decisions, user confirmed preferences, hard constraints
WorkingSession-scoped, cleared at session endCurrent task state, WIP progress, in-flight findings
ScratchCleared after use (one-time calc)Quick calculations, temp values used once

Storage Location

~/.claude/projects/<project-hash>/notepad.md

The project hash is derived from the working directory path. If the directory does not exist, create it before writing.

File Format

# Notepad

## Priority Notes

### [2026-03-29 14:22] Decision: Auth approach
JWT with refresh tokens. User confirmed.
Reason: Stateless, scalable, mobile-friendly.
Rejected: Session-based (server state, scaling issues).

### [2026-03-29 15:10] Constraint: Node version
Must stay on Node 18. Server has LTS pinned, no upgrade path in scope.

## Working Notes

### [2026-03-29 14:45] Task: API refactor — Phase 2
Completed: /users, /products, /categories endpoints
Remaining: /orders, /payments endpoints
Blocked on: Stripe webhook secret (user to provide)
Next action: Start /orders, skip payment until secret arrives

## Scratch

### [2026-03-29 15:30] Token estimate
Average response: 256 tokens. 4x safety margin = ~1024 tokens per request budget.
USED — safe to delete.

Pre-Compact Protocol

When context compression is imminent (context window at ~80% or system warning appears):

Step 1 — Dump active task state to Working Notes

What task is in progress?
What has been completed so far?
What remains?
Are there any blockers?
What is the immediate next action when context resumes?

Step 2 — Promote any pending decisions to Priority Notes

Any architectural choice made this session → Priority Note
Any user-confirmed preference → Priority Note
Any external constraint discovered → Priority Note

Step 3 — Record modified files

List every file touched this session.
Note what changed in each (one line per file is enough).
Note whether changes are committed or uncommitted.

Step 4 — Save pending decisions with their options

If a decision was not yet made, record the question and the options.
This prevents re-deriving the same options after compression.

Do this BEFORE continuing work. State preservation takes priority.


Post-Compact Recovery

When a new or compressed context begins:

Step 1 — Read notepad.md

Path: ~/.claude/projects/<project-hash>/notepad.md

Step 2 — Inject Priority Notes into active context These are always relevant. Treat them as if the user stated them at session start.

Step 3 — Summarize Working Notes for the user

"Resuming: API refactor, Phase 2.
Completed: /users, /products, /categories.
Remaining: /orders, /payments.
Blocked: Stripe webhook secret needed.
Next: starting /orders."

Step 4 — Clear Scratch notes They were single-use. Remove them now.

Step 5 — Resume from last known state Do not ask the user to re-explain context that is in Working Notes.


Note Writing Rules

  • Priority notes require explicit deletion:
    notepad delete priority <title>
  • Working notes are cleared at the end of each session (or when the task completes)
  • Never store code in notes — reference
    file.ts:line
    instead
  • Keep each note to 3 lines maximum (reference files for detail)
  • Always include a timestamp in the note header
  • Never duplicate information already in CLAUDE.md or memory — cross-reference instead

CLI Operations (manual use)

Read the notepad:

cat ~/.claude/projects/<hash>/notepad.md

Clear working notes (session end):

# Remove the Working Notes section content, keep the headers

Clear scratch notes (after use):

# Remove individual scratch entries after they have been applied

Integration

pre-compact-state.md — This skill is the concrete implementation of that rule. The rule defines what to save; this skill defines where, how, and in what format.

compass agent — The compass agent performs context recovery. It should read notepad.md as its first action and use the contents to construct the "Nerede kalmistik?" summary.

Any agent — Any agent starting work on a project should check notepad.md for Priority Notes that constrain their approach. An architect should not propose a solution that contradicts a Priority Note.


Example Scenarios

Scenario 1: Mid-refactor compression

Working on a large refactor across 12 files. Context at 80%.

Pre-compact dump:

### [2026-03-29 16:00] Task: Auth system refactor — 7/12 files done
Completed: user.service.ts, auth.controller.ts, token.service.ts,
  session.middleware.ts, logout.handler.ts, login.handler.ts, refresh.handler.ts
Remaining: password.service.ts, oauth.handler.ts, 2fa.handler.ts,
  admin.auth.ts, tests/auth.test.ts
Next: start password.service.ts — method signature unchanged, internals only

After compression, any agent reads this and knows exactly which 5 files remain.

Scenario 2: Decision under uncertainty

User asked about caching strategy but has not confirmed yet.

Scratch note:

### [2026-03-29 16:15] Pending: Caching strategy
Options: (a) Redis — fast, requires infra; (b) in-memory — simple, no persistence
Awaiting user confirmation on whether Redis is available in prod.

This prevents re-deriving the same question after compression.

Scenario 3: Hard constraint from early conversation

User mentioned early in a long session that they cannot use PostgreSQL — MySQL only.

Priority note created immediately:

### [2026-03-29 10:05] Constraint: Database — MySQL only
No PostgreSQL. Server is MySQL 8.0. All queries and schema must be MySQL-compatible.
Reason: Hosting provider limitation.

Every subsequent agent reads this and never proposes PostgreSQL.