linxule/memex-plugin/memo-writing
- community
Checking that the SKILL.md file is still in the repository.
How to write effective session memos — format, frontmatter schema, observation extraction, topic-signal append. Trigger on `/memex:save`, "save this for later", "remember this", "save what we discussed", "document this session", "create a memo", or when the `[memex]` activity nudge appears in context. Do NOT trigger for general note-taking, scratchpads, technical specs, design docs, READMEs, or code comments — memos are session-reflection artifacts that capture what happened (decisions, tensions, surprises, open threads), not project documentation.
Install
npx vskill@latest install linxule/memex-plugin/memo-writingSKILL.md
Writing Effective Session Memos
Context
Date: !date +%Y-%m-%d Project: !basename $(git remote get-url origin 2>/dev/null | sed 's/\.git$//' | xargs basename 2>/dev/null) 2>/dev/null || basename $(pwd) Topics available for [[wikilinks]]: !ls $(memex path 2>/dev/null)/topics/*.md 2>/dev/null | xargs -I{} basename {} .md | sort | tr '\n' ' ' || echo "(no topics found)"
Core Principle
You were there. A subagent reading the transcript later wasn't. Your memo from full context will always be better than a reconstructed one. Write from experience, not summary.
Capture the journey, not just the destination. Future-Claude needs to understand:
- How things were discovered, not just what was found
- What was tried and failed, not just what worked
- What surprised you or was unexpectedly hard
- Where user and AI disagreed or changed direction
Memo Format
Before Writing: Search for Connections
Always search the vault before writing to find related memos. Run from the vault directory:
Use results to:
- Add wikilinks to related memos
- Note if this contradicts or supersedes a previous decision
- Suggest topic links that already exist
Quality Criteria
Good Memos Capture:
- "For Future Context" — the one-liner briefing for your successor self
- Failed approaches — what was tried and abandoned (often more valuable than what worked)
- Surprises — what was harder or easier than expected
- User's voice — quotes that reveal priorities, concerns, or thinking
- Specific open threads — "decide between A and B for scenario C" not "think about edge cases"
- Alternatives considered — what were the options? Why were some rejected?
- Friction points — where did things get stuck? What took multiple attempts?
Avoid:
- Event logs ("user asked, Claude answered")
- Tautologies ("sandbox configured successfully" — that says nothing)
- Generic learnings ("authentication is important")
- Repeating what's in the code (code is the source of truth)
- Vague open threads ("maybe add tests", "consider performance")
Title Guidelines
Specific and searchable:
| Bad | Good | |
|---|---|---|
| "Session Notes" | "JWT Token Refresh Bug — Race Condition in Middleware" | |
| "Debugging" | "Rate Limiting Fix — Exponential Backoff with Jitter" | |
| "Planning" | "Memex Memo Architecture — From API Hooks to Subagents" |
Length
| Session type | Target length | |
|---|---|---|
| Quick fix / simple task | 200-300 words | |
| Standard session | 400-800 words | |
| Complex multi-thread | 800-1200 words | |
| Deep exploration / design session | 1000+ words |
The measure isn't word count — it's "can future-Claude pick up where we left off?"
When to Save
- After the [memex] nudge appears — the system detected substantial activity
- After major decisions — don't wait for session end
- Before you think compaction might happen — long sessions, many tool calls
- When changing direction — capture why the pivot happened
- When the user says "remember this" or similar
Open Threads Format
Specific and actionable:
Not:
Wikilinks
[[topic-name]]— link to existing topic[[projects/myproject/memos/2026-03-11-memo-name|label]]— link to a specific memo by its full path, date prefix included. A bare[[memo-name]]never resolves: memo files are named<date>-<slug>.md, so the slug alone is a ghost link that also inflates the crystallization report (2026-09-23: 43 such links / 64 refs, one of them OVERDUE;memex checknow lists them separately as memo references).[[?new-concept]]— suggest concept that doesn't exist yet (prefixed with ?)
Callouts
Use sparingly in memos — the memo format already structures information well. Reserve for critical gotchas or warnings that need to visually stand out:
Common types: warning (gotchas), tip (best practices), bug (known issues), question (unresolved). Full reference in skills/garden-tending/references/obsidian-formatting.md.
After Saving
After writing the memo, complete these steps (whether saving via /memex:save or directly from this skill):
- Mark saved — run
memex mark-savedto prevent duplicate generation - Scrub for secrets — run
memex scrub "<absolute-or-relative-memo-path>" --applyto redact API keys, tokens, or PEM private-key blocks that slipped into the memo. Pattern-matching backstop, not magic: catches Anthropic/OpenAI/GitHub/Google/AWS/Slack/JWT shapes but misses line-wrapped keys, base64-wrapped JSON payloads, and custom-format low-entropy tokens. The primary defense is the PostToolUse hook (hooks/post-tool-use.py) that auto-scrubs every Write toprojects/*/memos/**; this step is the belt-and-suspenders for when you save via some other path. Idempotent — re-running on already-scrubbed text is a no-op. - Extract observations — generate 5-15 atomic facts as JSON (each with
topicsfield listing 0-3 relevant topic slugs) and send with a quoted heredoc tomemex backfill obs --stdin --replace --doc-path "<relative-path>"(one call with the COMPLETE set —--replacedeletes the doc's existing observations first, so a second partial call destroys the first; use--appendonly when deliberately adding to an existing set). Follow the quoted-heredoc example in the save command; avoidecho 'JSON', which breaks on apostrophes and may expand JSON escapes. Run scrub BEFORE this step so secrets don't propagate into the observations table + search index. This also writes<memo>.obs.jsonlbeside the memo — the vault-backed sidecar copy of these observations (see [[architecture#Observations]]); commit it with the memo. - Signal touched topics — for each existing topic wikilinked in the memo, append a dated one-liner to its
## Recent signalssection. Resolveredirect_to:in frontmatter first so archived topics route to their canonical replacement, then dedup the resolved targets and skip the append if the exact signal line already exists in the topic file — frontmatter often lists multiple slugs that redirect to the same canonical, and naïve appends create duplicates (see save command for the bash loop withresolve_topic+grep -Fxq --idempotency guard — the--is required so$SIGNAL_LINE's leading-is parsed as a pattern, not flags)
Quality Check
Before finalizing, ask:
- If I loaded this cold in a new session, could I continue the work?
- Does "For Future Context" give the single most important thing?
- Does it capture what was difficult or surprising, not just accomplished?
- Are open threads specific enough to act on?
- Would the user recognize this as faithful to the session?
- Do wikilinks point to things that actually exist?
Security
- Security scanPassed, 95 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/memo-writing/SKILL.md
Popularity
- Repository stars
- 7
- Repository forks
- 2
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
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/linxule/memex-plugin/memo-writing)