harrylettering/codememory/codememory-mark-decision
Claude Code and agent skill by harrylettering/codememory
- community
Checking that the SKILL.md file is still in the repository.
Use this skill to durably record a non-trivial design or implementation decision so it survives compaction and can be recalled in future sessions. Invoke when you (or the user) commit to a meaningful technical choice — schema shape, library selection, refactor direction, breaking-change boundary, etc. Do NOT invoke for trivial choices, exploratory speculation, or decisions the user has already discarded.
Install
npx vskill@latest install harrylettering/codememory/codememory-mark-decisionSKILL.md
CodeMemory — Mark Decision
Persists a single decision into the CodeMemory memory store via the per-session daemon. The result is a Memory Node tagged decision that future sessions can recall by file path, symbol, or query.
When to Use
Invoke this skill when, in the current turn, a decision was made — not merely discussed. Good signals:
- The user said "let's go with X" / "use X instead" / "we'll keep Y for now".
- You proposed an approach and the user accepted it.
- You and the user agreed to reject an alternative for a concrete reason.
- A non-obvious tradeoff was resolved (e.g. "store as JSON because schema churn is too high right now").
Do NOT invoke for:
- Tactical edits whose rationale is obvious from the diff.
- Decisions that are still under debate.
- Decisions the user has already overridden in the same turn.
- Restating something the model has already marked in this session.
When You Are Replacing a Prior Decision (READ THIS BEFORE INVOKING)
Before sending the curl, stop and ask yourself: did you already mark a decision earlier in this same session whose conclusion the new decision contradicts or replaces? Common shapes:
- "Use A" earlier → "Actually, use B" now.
- "Keep X in module M" earlier → "Move X out of module M" now.
- "Pick library L1" earlier → "Switch to library L2" now.
If yes, you MUST pass supersedesNodeId pointing to the older decision's Memory Node id. The daemon's response to every prior codememory-mark-decision call returned that id as memoryNodeId — keep track of those ids in your scratch reasoning so you can reference them when superseding.
If you do not pass supersedesNodeId, the old decision will remain active and will resurface in future retrieval alongside the new one. Cross-session retrieval deliberately keeps both visible (the system cannot tell from outside whether contexts differ), but within one session it is your responsibility to retire prior decisions you have already overruled.
Do not pass supersedesNodeId for unrelated decisions, or for refinements that merely add detail without contradicting the prior conclusion.
How to Invoke
Run the wrapper script with decision as the endpoint and a JSON payload. Required fields: decision, rationale. Optional: alternatives_rejected (array of strings), supersedesNodeId (id of the older decision this replaces — see section above), sourceToolUseId (idempotency key — pass the model tool_use.id if available).
Run the command exactly as written: Claude Code fills in ${CLAUDE_SESSION_ID} and ${CLAUDE_PLUGIN_ROOT}, and the session id is how the mark reaches this session's daemon and no other. On success it returns JSON like {"ok":true,"conversationId":...,"memoryNodeId":"decision-tool-..."}.
Authoring Guidance
- `decision`: one imperative-ish sentence. State what was chosen, not why.
- `rationale`: one or two sentences of why. The reason is what makes the memory load-bearing in future sessions — don't skip it.
- `alternatives_rejected`: list each rejected option with a one-line reason. Skip if there were no real alternatives.
- `supersedesNodeId`: required if this decision overrides an earlier decision you marked in this session. See the "When You Are Replacing a Prior Decision" section. Within one session this is the only way to retire the older node.
- `sourceToolUseId`: pass the originating tool_use id when known so retries collapse onto the same node.
After invoking, do not paraphrase the decision back to the user — the memory has been written, just continue the work.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/codememory-mark-decision/SKILL.md
Popularity
- Repository stars
- 145
- Repository forks
- 12
- 7-day trend score
- 25
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/harrylettering/codememory/codememory-mark-decision)