Memo
Capture an off-task idea to the project's memo backlog, or list and act on existing memosFrom its SKILL.md
npx -y skills add AnotherSava/claude-code-common --skill memoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.3 KB, 796 tokens by cl100k_base, as published. Nobody here has run it
Memo
Park a stray idea now so it isn't lost — without derailing the current task — or review the backlog and pick something up.
A memo is lighter than a GitHub issue: a half-formed thought worth keeping, not a tracked unit of work. The backlog lives in one file, .claude/memos.md, committed with the project. Open items resurface on their own at session start, at task completion, and during /commit.
Context
- Repo root: !
git rev-parse --show-toplevel 2>/dev/null || pwd - Now: !
date '+%Y-%m-%d %H:%M %Z' - Open memos: !
python ~/.claude/skills/memo/memos.py count
Arguments
$ARGUMENTS holds the memo text. It may be empty.
Process
The memo file is <Repo root>/.claude/memos.md — a Markdown checklist, one line per entry, newest at the bottom: - [ ] <YYYY-MM-DD HH:MM> — <idea> open (local time, 24-hour), - [x] … addressed. The memos.py helper owns the timestamp and the rendered, aligned listing (numbered, newest-first, wrapped so each memo's text lines up under its first line) — you hand-format neither.
If $ARGUMENTS is non-empty — record a memo
- Run
python ~/.claude/skills/memo/memos.py add "<the idea, lightly cleaned up>". The helper creates the file (and.claude/) if needed, stamps the local time, appends the entry, and prints the new counts. Preserve the user's intent and scope — don't expand a one-liner into a spec. - Confirm in a single line with the new open count (e.g. "Memo'd — 3 open."). Do not start working on the idea, switch tasks, or elaborate. The whole point is to offload it and keep going.
If $ARGUMENTS is empty — review the backlog
-
Detect the terminal width so the listing fills the screen — the helper's stdout is piped, which hides the real width, so determine it yourself:
- Windows: use the PowerShell tool to evaluate
$Host.UI.RawUI.WindowSize.Width(the PowerShell tool specifically —powershell.exefrom Bash reports the wrong console). - macOS/Linux: run
tput cols(or read$COLUMNS).
Subtract a 2-column gutter, then run
python ~/.claude/skills/memo/memos.py list --width <N>to render the backlog (drop--widthif you couldn't determine it — the helper falls back to ~100). - Windows: use the PowerShell tool to evaluate
-
Present that output verbatim, inside a fenced code block — it's numbered newest-first and wrapped so each memo's text lines up under its first line, and the code block preserves that alignment. If it shows "(no open memos)", say so and stop.
-
Offer two paths: address one now (the user gives a number), or leave them. If the user picks one, that begins a new task — find that memo's line in
.claude/memos.mdand flip its- [ ]to- [x](Edit in place) once it's genuinely done, and proceed with the work normally. -
If addressed (
- [x]) items have accumulated, offer to prune them in the same breath.
Out of scope
- Don't promote a memo to a GitHub issue unless asked — memos are deliberately lighter. (When one matures, offering to file it is fine.)
- Don't reword or reprioritize existing memos unprompted.
What ships with it: 1 file
3.8 KB alongside SKILL.md, 1 of them executable
- memos.pyruns3.8 KB