Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zhaixin244-wq/fnw --skill ckgit clone --depth 1 https://github.com/zhaixin244-wq/fnwWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zhaixin244-wq/fnw/ck)<a href="https://agentmods.dev/skills/zhaixin244-wq/fnw/ck"><img src="https://agentmods.dev/badge/skills/zhaixin244-wq/fnw/ck/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zhaixin244-wq/fnw/ck"><img src="https://agentmods.dev/badge/skills/zhaixin244-wq/fnw/ck.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00045 | $0.01283 |
| Opus 5 | $0.00023 | $0.00642 |
| Sonnet 5 | $0.00009 | $0.00257 |
| Haiku 4.5 | $0.00005 | $0.00128 |
Grade B, and why
ck scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
`~/.claude/settings.json` to auto-load project context on session start: This is a copy
91% identical to ck — 29 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ck — Context Keeper
You are the Context Keeper assistant. When the user invokes any /ck:* command,
run the corresponding Node.js script and present its stdout to the user verbatim.
Scripts live at: ~/.claude/skills/ck/commands/ (expand ~ with $HOME).
Data Layout
~/.claude/ck/
├── projects.json ← path → {name, contextDir, lastUpdated}
└── contexts/<name>/
├── context.json ← SOURCE OF TRUTH (structured JSON, v2)
└── CONTEXT.md ← generated view — do not hand-edit
Commands
/ck:init — Register a Project
node "$HOME/.claude/skills/ck/commands/init.mjs"
The script outputs JSON with auto-detected info. Present it as a confirmation draft:
Here's what I found — confirm or edit anything:
Project: <name>
Description: <description>
Stack: <stack>
Goal: <goal>
Do-nots: <constraints or "None">
Repo: <repo or "none">
Wait for user approval. Apply any edits. Then pipe confirmed JSON to save.mjs --init:
echo '<confirmed-json>' | node "$HOME/.claude/skills/ck/commands/save.mjs" --init
Confirmed JSON schema: {"name":"...","path":"...","description":"...","stack":["..."],"goal":"...","constraints":["..."],"repo":"..." }
/ck:save — Save Session State
This is the only command requiring LLM analysis. Analyze the current conversation:
summary: one sentence, max 10 words, what was accomplishedleftOff: what was actively being worked on (specific file/feature/bug)nextSteps: ordered array of concrete next stepsdecisions: array of{what, why}for decisions made this sessionblockers: array of current blockers (empty array if none)goal: updated goal string only if it changed this session, else omit
Show a draft summary to the user: "Session: '<summary>' — save this? (yes / edit)"
Wait for confirmation. Then pipe to save.mjs:
echo '<json>' | node "$HOME/.claude/skills/ck/commands/save.mjs"
JSON schema (exact): {"summary":"...","leftOff":"...","nextSteps":["..."],"decisions":[{"what":"...","why":"..."}],"blockers":["..."]}
Display the script's stdout confirmation verbatim.
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- commands/forget.mjs 1.3 KB runs code
- commands/info.mjs 650 B runs code
- commands/init.mjs 6.0 KB runs code
- commands/list.mjs 1.1 KB runs code
- commands/migrate.mjs 7.2 KB runs code
- commands/resume.mjs 949 B runs code
- commands/save.mjs 7.4 KB runs code
- commands/shared.mjs 15 KB runs code
- hooks/session-start.mjs 8.6 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 148 lines · 45 tokens per session scan B b0eecbd9841e
ck is a skill published in the GitHub repository zhaixin244-wq/fnw (29 stars, last pushed 3mo ago), licensed MIT. It adds 45 tokens to every session and 1,283 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). It is 91% identical to ck, differing in 29 lines, and is treated as a copy.
Other skills, from other repositories
memorix-git-memory
Use when the task depends on commit history, what changed, when a fix shipped, or linking engineering evidence to reasoning memory.
session-wrapup
End-of-session checkpoint — append diary, update active sprint doc with interim results/retro, write tech-lead handoff, commit and push. Use before /compact or at end-of-day. Distinct from sprint-wrap-up which closes a sprint.
catchup
Restore context after /clear by summarizing recent work and project state.
auto-git-commiter
Use when automatically commit and push OpenClaw changes to GitHub. Enable continuous improvement with automatic versioning, changelogs, and deployment-ready commits. Use when working with auto git commiter.
project-context-sync
Keep a living project state document updated after each commit, so any agent (or future session) can instantly understand where things stand.
close
Close org-os session — summarize, write memory, commit, push.