CtrlK
BlogDocsLog inGet started
Tessl Logo

ck

Persistent per-project memory for Claude Code (Context Keeper) driven by deterministic Node.js /ck commands: init, save, resume, info, list, forget, and v1-to-v2 migrate, plus a SessionStart hook that injects a compact project brief. Use when context must survive across sessions, saving session state with next steps and decisions, resuming where a previous session left off, or picking up a project without re-explaining it.

79

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

100%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a model command-dispatch skill: every command has a copy-paste-ready invocation, exact JSON schemas for the two LLM-analysis steps, explicit user-confirmation gates on all save/delete operations, dry-run and backup safety on migration, and error-handling rules — all delivered with no padding. One caveat outside the body's text: the referenced scripts (commands/*.mjs, hooks/session-start.mjs) were not present in the reviewed bundle, though this appears to be an artifact of what was provided for review rather than the body's structure.

DimensionReasoningScore

Conciseness

The body is lean and operational: exact bash invocations (e.g., 'node "$HOME/.claude/skills/ck/commands/init.mjs"'), a compact data-layout tree, exact JSON schemas, and one-line rules. It explains nothing Claude already knows and every token is instructional, matching anchor 5 ('Lean and efficient; assumes Claude's competence'). Not anchor 4 — there is no over-explanation left to trim; the repeated 'Display output verbatim' lines are necessary per-command instructions.

5 / 5

Actionability

Guidance is fully executable and copy-paste ready: concrete node commands for all seven commands, piping patterns ('echo '<json>' | node ".../save.mjs"'), an exact JSON schema ('{"summary":"...","leftOff":"...","nextSteps":["..."],...}'), a confirmation-draft template, and a complete settings.json hook registration block. Matches anchor 5 ('Fully executable; copy-paste ready... specific examples cover the common cases'); not anchor 4, since no common case is missing.

5 / 5

Workflow Clarity

Multi-step flows are explicitly sequenced with validation checkpoints: init (run script → present confirmation draft → 'Wait for user approval' → pipe confirmed JSON), save (analyze → 'Wait for confirmation' → pipe), forget ('This will permanently delete context... Are you sure? (yes/no)' before the destructive delete), and migrate ('--dry-run' first; 'Originals are backed up... nothing is deleted'). Feedback loops are present ('If a script exits with code 1, display its stdout as an error message'; malformed projects.json → 'offer to reset it to {}'), so the destructive/batch cap-at-3 rule does not apply. Matches anchor 5 with explicit validation and error-recovery handling.

5 / 5

Progressive Disclosure

The body is a well-sectioned overview (Data Layout, per-command sections, SessionStart Hook, Rules) with trivial header-based navigation; no bundle files exist, and no material that belongs in a separate file is inlined — the JSON schemas and hook snippet are each only a few lines placed at point of use, while the bulk detail correctly lives outside SKILL.md as executable scripts. Matches anchor 5's 'easy navigation' and appropriate placement; not anchor 4, as there are no organization gaps or misplacements.

5 / 5

Total

20

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is an exemplar: it states the domain and every concrete capability (all seven commands plus the SessionStart hook) in third-person voice, and closes with an explicit 'Use when...' clause containing natural trigger phrases with synonym coverage. Both 'what' and 'when' are answered clearly and concretely, and the niche is distinct.

DimensionReasoningScore

Specificity

The description enumerates seven concrete commands ('init, save, resume, info, list, forget, and v1-to-v2 migrate') plus a concrete hook behavior ('a SessionStart hook that injects a compact project brief'), matching the anchor-5 example of multiple specific concrete actions with comprehensive coverage — not anchor 4, since there are no gaps in the operation coverage.

5 / 5

Completeness

It explicitly answers both: what ('Persistent per-project memory for Claude Code (Context Keeper) driven by deterministic Node.js /ck commands... plus a SessionStart hook') and when ('Use when context must survive across sessions, saving session state..., resuming..., or picking up a project without re-explaining it'). The 'when' clause is fully explicit with concrete trigger phrases, matching anchor 5 rather than anchor 4 where the 'when' could be more specific.

5 / 5

Trigger Term Quality

Natural user phrasings with synonym coverage are present: 'context must survive across sessions', 'saving session state with next steps and decisions', 'resuming where a previous session left off', 'picking up a project without re-explaining it', 'Persistent per-project memory'. This is comprehensive natural-term coverage for the domain, matching anchor 5 rather than anchor 4 (no common natural variant of the trigger intent is missing).

5 / 5

Distinctiveness Conflict Risk

A clear niche is stated (per-project context persistence in Claude Code via named /ck commands and Context Keeper branding) with triggers specific to session-continuity intent, giving minimal conflict risk — matching anchor 5 ('Clear niche with distinct triggers') rather than anchor 4, since it would not plausibly trigger for unrelated skills.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
affaan-m/ECC
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.