New to Claude Skills? Learn how to install them →

affaan-m on GitHub

Context Keeper

Free

Manage project context seamlessly across sessions.

by affaan-m239.3k stars on affaan-m/ecc
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Context Keeper does

Context Keeper is a specialized assistant designed to help developers and designers maintain project context through persistent memory. It automatically loads project context at the start of a session and tracks Git activity, allowing for a smooth transition between work sessions. The skill operates through a series of Node.js scripts that execute specific commands, providing a consistent experience across different model versions. This is particularly useful for teams or individuals who need to keep track of multiple projects simultaneously.

The core functionality revolves around three main commands: /ck:init, /ck:save, and /ck:resume. The /ck:init command registers a new project by gathering information such as project name, description, and goals, which is then saved in a structured JSON format. This allows users to confirm and edit details before finalizing the project setup. The /ck:save command captures the current session state, including summaries and next steps, ensuring that no important information is lost when transitioning between sessions. Finally, the /ck:resume command allows users to retrieve and review previous session details, facilitating a quick and efficient return to ongoing work.

Context Keeper is particularly beneficial for developers and designers who often juggle multiple projects or need to maintain continuity in their work. By automating the tracking and saving of project context, it reduces the cognitive load on users, allowing them to focus more on their tasks rather than on remembering previous states or decisions. This skill is ideal for those who frequently start and stop work on projects or need to onboard new team members quickly by providing them with a clear history of work done so far.

When to use it

Use this skill when starting new projects, saving session states, or resuming previous work.

When not to use it

Avoid using this skill for single-session tasks where context retention is unnecessary.

What you can build with it

Starting a New Project

Use `/ck:init` to register a new project and set up its context automatically.

Saving Session State

At the end of a work session, run `/ck:save` to ensure all your progress and notes are captured.

Resuming Previous Work

When returning to a project, use `/ck:resume` to get a complete briefing of what was done previously.

How to install Context Keeper

View source

1. Install with the skills CLI

npx skills add affaan-m/ecc/ck --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by affaan-m

ck — コンテキスト キーパー

あなたはコンテキストキーパー アシスタントです。ユーザーが/ck:*コマンドを呼び出すと、対応するNode.jsスクリプトを実行し、その標準出力をユーザーに逐語的に提示します。スクリプトは以下にあります:~/.claude/skills/ck/commands/~$HOMEで展開)。


データレイアウト

~/.claude/ck/
├── projects.json              ← path → {name, contextDir, lastUpdated}
└── contexts/<name>/
    ├── context.json           ← 真実のソース(構造化JSON、v2)
    └── CONTEXT.md             ← 生成されたビュー — 手動編集しない

コマンド

/ck:init — プロジェクトを登録

node "$HOME/.claude/skills/ck/commands/init.mjs"

スクリプトは自動検出情報でJSONを出力します。それを確認ドラフトとして提示:

ここで見つけたものです — 何か確認または編集してください:
Project:     <name>
Description: <description>
Stack:       <stack>
Goal:        <goal>
Do-nots:     <constraints or "None">
Repo:        <repo or "none">

ユーザーの承認を待つ。編集を適用。次に確認されたJSONをsave.mjsにパイプ:

echo '<confirmed-json>' | node "$HOME/.claude/skills/ck/commands/save.mjs" --init

確認されたJSONスキーマ:{"name":"...","path":"...","description":"...","stack":["..."],"goal":"...","constraints":["..."],"repo":"..." }


/ck:save — セッション状態を保存

これはLLM分析を必要とする唯一のコマンドです。 現在の会話を分析:

  • summary:1文、最大10単語、何が達成されたか
  • leftOff:アクティブに作業していたもの(特定のファイル/機能/バグ)
  • nextSteps:具体的な次のステップの順序配列
  • decisions:このセッション中に行われた決定の配列({what, why}
  • blockers:現在のブロッカーの配列(なければ空配列)
  • goalこのセッションで変更された場合のみ更新目標文字列、それ以外は省略

ユーザーに草稿概要を表示:"Session: '<summary>' — これを保存しますか?(yes / edit)"

確認を待つ。次にsave.mjsにパイプ:

echo '<json>' | node "$HOME/.claude/skills/ck/commands/save.mjs"

JSONスキーマ(正確):{"summary":"...","leftOff":"...","nextSteps":["..."],"decisions":[{"what":"...","why":"..."}],"blockers":["..."]}

スクリプトの標準出力確認を逐語的に表示。


/ck:resume [name|number] — 完全なブリーフィング

node "$HOME/.claude/skills/ck/commands/resume.mjs" [arg]

出力を逐語的に表示。その後、「ここから続けますか?または何か変わったことがありますか?」と尋ねます。

ユーザーが変更を報告 → すぐに/ck:saveを実行。


使用時期

  • 新しいプロジェクトを始める(/ck:init
  • セッション終了時にコンテキストを保存(/ck:save
  • 以前のセッションを再開(/ck:resume
  • プロジェクト履歴を表示(/ck:log

Frequently asked questions about Context Keeper

Similar skills