Guide · Agent skill
How to use the ck Project Memory agent skill for Claude Code
Updated · written with AI from the project's own documentation and checked against our catalogue data
The ck skill gives Claude Code a memory for each project you work on. You register a project once, save a short summary at the end of a session, and load that saved context the next time you return. This guide explains what the skill does, how to install it, how to trigger its commands, and what to watch for before you rely on it.
Quick start
- 1Download and unzip. Download the ZIP from this page and unzip it so the folder is named ck.
- 2Place the folder. Put it in ~/.claude/skills/ck/ for all projects, or .claude/skills/ck/ inside one project.
- 3Install Node.js. Make sure Node.js is available, since the skill runs its commands with node.
- 4Register the project. Run /ck:init, check the draft details, and approve them to save the project.
- 5Save at session end. Run /ck:save, review the summary draft, and confirm with yes or edit it first.
- 6Resume next time. Run /ck:resume to load the briefing, then continue or report changes.
What does the ck skill make Claude Code do?
The skill keeps a structured record for each project you register. When you start a new session, you can resume that record so Claude has the project's description, stack, goal, constraints and the state of your last session.
The skill has three main commands in its source: /ck:init to register a project, /ck:save to store the current session's state, and /ck:resume to load a full briefing. The source also lists /ck:log for viewing project history, but does not describe its behaviour in detail.
- Saves a one-sentence summary of what was achieved in the session
- Records what you were working on, the next steps, decisions with reasons, and current blockers
- Stores data in local files under ~/.claude/ck/, not in a shared or cloud service
How do you install the ck skill?
Download the ZIP file from this page and unzip it. The skill folder must be named ck so Claude Code can find SKILL.md and the commands/ folder inside it.
For a personal install across all projects, place the folder at ~/.claude/skills/ck/. To limit it to one project, place it at .claude/skills/ck/ inside that project.
If you use the Claude apps instead of Claude Code, you can upload the skill under Settings → Capabilities → Skills.
- Personal install: ~/.claude/skills/ck/
- Project install: .claude/skills/ck/ inside your project folder
- Claude apps: Settings → Capabilities → Skills
What do you need before running it?
The skill runs its commands as Node.js scripts stored in the commands/ folder, so Node.js must be installed on the machine where you use Claude Code. The skill does not make network requests according to its source.
The skill runs local scripts, so review the files in the folder before installing if you are unsure what they do.
- Claude Code, with the skill folder at ~/.claude/skills/ck/
- Node.js, because the scripts in commands/ are run with node
- No network access is required by the skill
How do you register a project with /ck:init?
Open your project in Claude Code and ask for the init command. The script detects some project details and prints them as JSON. Claude shows this as a draft for you to check. You can edit the name, description, stack, goal, do-nots and repo before anything is saved.
Once you approve the draft, the confirmed details are passed to the save script with the --init flag.
- Fields: name, description, stack, goal, do-nots (constraints), repo
- Nothing is saved until you confirm the draft
node "$HOME/.claude/skills/ck/commands/init.mjs"How do you save and resume a session?
At the end of a session, ask Claude to save. It analyses the conversation and drafts a summary such as "Session: '<summary>' — save this? (yes / edit)". Reply yes to store it, or edit to change it. The save step records the summary, what you left off on, next steps, decisions and blockers.
When you return, ask to resume. The script prints a full briefing, which Claude shows word for word, then asks whether you want to continue from there or whether anything has changed. If you report changes, Claude runs save again.
- Save fields: summary (one sentence, up to 10 words), leftOff, nextSteps, decisions (what and why), blockers
- Goal is only updated when it changed during the session
- Resume accepts an optional project name or number
node "$HOME/.claude/skills/ck/commands/resume.mjs" [arg]What are good ways to trigger the skill?
The source defines the commands as /ck:init, /ck:save, /ck:resume and /ck:log. Use these slash commands when you want an exact action. Natural requests such as "save where we are" or "pick up the project from last time" are a reasonable way to ask, but the source only documents the slash forms, so check the first response to confirm Claude has picked up the right command.
Use save when a session is ending, and resume at the start of the next one. Before saving, review the draft summary, because it is generated from the conversation.
- /ck:init to register a new project
- /ck:save at the end of a session
- /ck:resume at the start of the next session
- /ck:log to view project history
What are the safety notes?
The save step records conversation content into local JSON and Markdown files. Anything said in the session, including credentials or private details, can end up in those files. Keep secrets out of sessions where you use ck.
The skill writes its data under ~/.claude/ck/. The source describes this as local storage and does not mention syncing or backups, so do not assume your memory is copied anywhere else or protected if your machine is lost.
- Do not paste passwords, API keys or tokens into a session you plan to save
- Generated CONTEXT.md files are views; the source says not to edit them by hand
- Review the draft before confirming a save
What people use it for
- Returning to a long-running feature after several days and picking up the listed next steps
- Recording decisions and their reasons so a later session does not reopen them without context
- Tracking blockers between sessions on a project you work on alone
- Creating a written handoff of where a session stopped
Frequently asked questions
Is the ck skill free to use?
This page lists the skill under the MIT licence. Check the licence file in the source repository for the exact terms before reuse.
What does the ck skill require?
It requires Claude Code, with the skill folder at ~/.claude/skills/ck/, and Node.js, because its commands are Node.js scripts. The source says it does not use the network.
Where does ck store my project data?
It stores data under ~/.claude/ck/, including projects.json and per-project context.json and CONTEXT.md files. The source does not describe syncing or backup.
Can my team share ck project memory?
Not according to the source. The data is stored locally in your home folder and no sharing or sync is mentioned, so teams needing shared memory should look elsewhere.
How do I install ck in only one project?
Place the ck folder in .claude/skills/ck/ inside that project instead of the global ~/.claude/skills/ folder.
Why won't the skill run?
Check that the folder is named ck, that it is in the expected skills folder, and that Node.js is installed. If commands fail, confirm the paths to the commands/ scripts match your install location.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use ck if you work on the same project across many Claude Code sessions and want a written record of progress, decisions and next steps. Pick something else if you need shared, synced team memory, or if your sessions will contain secrets or sensitive details that should not be written to local files.
Download the skill