context-attachment-manager
Claude Desktop용 플러그인, 다음 메시지에 사용할 과거 이미지 선택 가능
AI 비서의 작업을 세션 간 추적해 긴 대화에서도 흐트러지지 않게 유지한다
Keeps AI assistants on track during long conversations by tracking tasks across sessions
플러그인JavaScriptGitHub @obrenoalvim직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A Claude Code skill that keeps long AI sessions grounded.
Replies open with your name. Tasks keep a TASK.md that the next session resumes from.
The problem · Quick start · The two rules · How it works · Install · FAQ
Zero Drift is a Claude Code skill with two rules, applied from the first response to the last. Install it as a plugin and it loads at the start of each session.
Long sessions break down. The context window fills up, so you open a fresh Claude instance and burn ten minutes re-explaining what you were doing. By then the AI has started drifting: it invents work it never did and forgets decisions you already made.
Zero Drift gives you a way to catch the drift early and hand off cleanly.
/plugin marketplace add obrenoalvim/zero-drift
/plugin install zero-drift@zero-drift
Open a new Claude Code window. If the first reply starts with your name, Zero Drift is active. Other install options are under Install.
The AI opens every reply with your name. This keeps replies personal and easy to scan in a long log.
Breno: the auth bug is in middleware.ts:42, token expiry uses < instead of <=.
The AI reads your name from git config user.name or your CLAUDE.md. If it finds nothing, it asks you once.
The name is your hallucination detector. When the model starts to drift, the name breaks first: it drops, changes, or reads slightly off. That is your signal the session is degrading. Open a new window, say "read the TASK.md and continue", and resume from a clean state.
Each task gets a TASK.md in the project root. After every meaningful prompt the AI records what it did, what broke, what it fixed, and where things stand now.
The Log is a record, not a diary. The AI cannot assert "fixed X". It shows proof: the command run, its output, the exit code. No proof, no Log entry; unproven work goes to Unverified / Pending. Current State may only claim something works if that proof sits in the Log. When context degrades the model drifts toward fluency before truth, so the evidence rule is what keeps a handoff trustworthy instead of a plausible story.
When the context fills up, open a new session and tell it:
"Read the TASK.md and continue."
The new instance reads the file and picks up where the last one stopped.
# TASK: [Task Name]
> Created: YYYY-MM-DD | Updated: YYYY-MM-DD HH:MM
## Goal
What we're building or fixing.
## Plan
- [x] Done step
- [ ] Pending step
## Log
### YYYY-MM-DD
- Added retry to fetchUser(): `npm test auth` -> 12 passed, exit 0
- Fixed null deref in parse(): `cargo test parse` -> ok. 3 passed, exit 0
## Unverified / Pending
- Refactored cache layer: NOT tested yet, no proof
## Errors & Fixes
| Error | Cause | Fix | Evidence |
|-------|-------|-----|----------|
## Current State
Handoff paragraph for a fresh instance. Rewrite it each time so it always
describes right now. Only claim something works if its proof is in the Log;
otherwise say "implemented, not verified".
SessionStart hook (hooks/inject.js) reads skills/zero-drift/SKILL.md and adds it to the context of each new session.git config user.name; a name line in CLAUDE.md, AGENTS.md or GEMINI.md; an introduction earlier in the session. If all three come up empty, it asks once.TASK.md in the project root and updates it after each prompt that moves the task forward.This is the only option that turns Zero Drift on in every session by itself. The plugin ships a SessionStart hook that injects the rules into each new Claude Code window, so you never invoke anything or set up anything per session.
/plugin marketplace add obrenoalvim/zero-drift
/plugin install zero-drift@zero-drift
Then open a new Claude Code window. From that point on, every session starts with Zero Drift active: replies open with your name and tasks get a TASK.md. To confirm it loaded, check that the first reply in a fresh window starts with your name.
Requirement: Node.js on your PATH. The hook runs node hooks/inject.js.
Note on terms: a plugin is the package; the
SessionStarthook inside it is what makes the behavior global and automatic. Installing the plugin gives you both. The manual options below make the skill available but do not auto-activate it.
These work without installing the plugin, but they require setup and do not auto-activate globally.
Paste into CLAUDE.md: add this to ~/.claude/CLAUDE.md (global) or a project CLAUDE.md:
# Zero Drift
Follow the Zero Drift skill rules:
1. Start every response with my name (detect from git config or ask)
2. For every specific task, maintain TASK.md in the project root and update it after every prompt
Full rules: https://github.com/obrenoalvim/zero-drift/blob/main/skills/zero-drift/SKILL.md
Point the AI at this repo: start a session and say:
"Read https://github.com/obrenoalvim/zero-drift and follow the Zero Drift skill."
The AI reads the SKILL.md and applies the two rules.
Copy the skill file: copy skills/zero-drift/SKILL.md into your own skills directory and load it through your plugin system, such as superpowers.
The workflow that carries a long project across instances:
Current State in TASK.mdYou skip the re-explaining and the AI skips the guessing.
Works with any AI that can read a markdown file:
The automatic SessionStart hook is specific to Claude Code. For the others, use the manual alternatives.
Does Zero Drift send my data anywhere? No. The hook reads one file from disk and prints it as session context. It makes no network calls. If the file is missing, the hook prints nothing, so a broken install never blocks a session from starting.
What should I do when Claude drops or changes my name? Take it as the signal that the session is degrading. Open a new window and say "Read the TASK.md and continue."
Can I use it with Cursor, Codex or Copilot?
Yes. Put the snippet from Manual alternatives in your AGENTS.md or rules file.
Found a gap in the rules, or an edge case the skill misses? Open a PR. The SKILL.md is the source of truth. See CONTRIBUTING.md and the changelog.
If Zero Drift saves you a re-explain, a ⭐ helps other Claude Code users find it.
Topics: claude-code · claude-skill · claude-code-plugin · context-management · session-handoff · hallucination · ai-agents · prompt-engineering · cursor · llm