Stores Claude Code sessions as versioned cards (web R/D, MCP C/U). Provides MCP tools for Claude to save/update sessions and a web UI for browsing and managing session history.
Single tool 'save_session' has a well-structured schema with all parameters typed and described. Naming is clear (verb_noun pattern). Description is detailed (~280 chars) and explains the write semantics. However, output schema is not documented, the tool description does not specify what the response contains (success confirmation, card ID, version info, etc.). Error handling guidance is absent. No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite this being a destructive write operation. Parameter descriptions are good but lack format constraints (e.g., sessionId format, title length limits). Overall: solid foundation, but incomplete for production use.
Save or update the current Claude Code session as a card in the session ledger. Call this for the /save skill. If the session_id is new, a card is created; if it already exists, a new version is appended to the top of its history graph (previous versions are preserved). Provide a short contextual title (a few words), one concise short_description sentence, and optionally a richer long_description and tags.
Output schema not documented. Tool description does not specify what fields the response contains (e.g., card_id, version_number, created_at, web_url). LLMs cannot plan downstream actions without knowing the response structure.
Missing tool annotations. 'save_session' is a destructive write operation (creates or updates state) but lacks destructiveHint annotation. Agents cannot distinguish safe reads from risky writes without explicit metadata.
No error handling guidance. If sessionId is invalid, projectDir does not exist, or database write fails, the tool description does not explain what error the LLM should expect or how to recover. Agents will not know whether to retry, ask the user, or abort.
Parameter constraints not specified. 'title' and 'shortDescription' lack length limits, character restrictions, or format rules. 'tags' array has no size limit or value constraints. LLMs may pass invalid values (e.g., 1000-char title, null tags).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
No idempotency guarantee documented. If the same sessionId is saved twice with identical metadata, does the tool create a duplicate version or skip it? Agents retry on ambiguous failures, non-idempotent behavior risks duplicate cards.