Privacy-first continuity notes for long-running AI coding sessions.
Agent Continuity is a small agent skill for projects that span more than one session. It gives an AI coding agent a lightweight way to initialize, resume, and close out work from project-local notes without turning those notes into a private memory dump.
The goal is simple: keep enough state to continue the work, and nothing more.
Long-running agent work usually fails in one of two ways:
- The next session has no context and repeats discovery work.
- The project grows a "memory" folder full of private paths, raw logs, chat fragments, and stale personal notes.
Agent Continuity uses four short files instead:
docs/START_HERE.mdfor the stable entry pointdocs/CURRENT_STATE.mdfor the current snapshotdocs/PROGRESS.mdfor append-only work chunksdocs/DECISIONS.mdfor durable project decisions
When starting a new long-running project, the skill asks what work should be tracked and creates a compact docs/ continuity set:
docs/
START_HERE.md
CURRENT_STATE.md
PROGRESS.md
DECISIONS.md
Copy the skill folder into your Codex skills directory.
Copy-Item -Recurse .\skills\agent-continuity "$env:USERPROFILE\.codex\skills\agent-continuity"On macOS or Linux:
cp -R ./skills/agent-continuity ~/.codex/skills/agent-continuitySet up continuity notes for a project:
Use $agent-continuity to set up continuity notes for this project.
Resume existing work:
Use $agent-continuity to resume this project.
Close out a session:
Use $agent-continuity to close out this session and leave the next actions clear.
flowchart LR
A["Initialize or resume"] --> B["Identify project folder"]
B --> C{"Continuity notes exist?"}
C -- "No" --> D["Ask what work to track"]
D --> E["Create docs/ notes"]
C -- "Yes" --> F["Read existing notes"]
E --> G["Do scoped work"]
F --> G
G --> H{"State changed?"}
H -- "No" --> I["Skip note updates"]
H -- "Yes" --> J["Update snapshot"]
J --> K["Append progress"]
K --> L["Record durable decisions"]
Continuity notes are project state, not personal memory.
Store:
- current goal
- current implementation state
- files or areas being changed
- known blockers
- next actions
- durable decisions and why they matter
Do not store:
- API keys, tokens, passwords, private keys, or credentials
.envvalues- private URLs or internal dashboards
- client names, user records, customer data, or personal identifiers
- absolute local home paths
- raw chat transcripts
- raw logs that may contain secrets
- unreleased business metrics or private project history
See docs/privacy-model.md for the full model.
skills/agent-continuity/
SKILL.md
agents/openai.yaml
references/state-notes.md
examples/safe-project/docs/
docs/privacy-model.md
docs/comparison.md
scripts/privacy-scan.py
The installable skill stays small. Public documentation, examples, and validation scripts live at the repository level.
For positioning against other approaches, see docs/comparison.md.
Run the scanner before publishing or tagging a release.
python scripts/privacy-scan.py .Add project-specific terms when preparing a public release from a private workspace. Use environment variables so the example command does not add the private terms to the repository itself.
python scripts/privacy-scan.py . --term "$PRIVATE_PROJECT_TERM" --term "$PRIVATE_CLIENT_TERM"On PowerShell:
python scripts/privacy-scan.py . --term $env:PRIVATE_PROJECT_TERM --term $env:PRIVATE_CLIENT_TERMMIT
