notes

A quick note-taking skill for saving ideas during a session or reviewing existing open notes. It can also create a research brief when invoked with its research option.

In plain words
What is it for?
Adding a short idea to NOTES.md, reviewing unfinished notes, or starting research on a captured idea.
Why use it?
It prevents useful ideas from being lost while keeping capture separate from detailed follow-up work.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/mischacoster/claude-code-notes/notes
Any agent
npx skills add mischacoster/Claude-Code-Notes --skill notes
Clone the repo
git clone --depth 1 https://github.com/mischacoster/Claude-Code-Notes

Made for: Claude Code, Codex.

Per session 33 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,634 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00033 $0.01634
Opus 5 $0.00016 $0.00817
Sonnet 5 $0.00007 $0.00327
Haiku 4.5 $0.00003 $0.00163

Measured yesterday against content hash f77dd8c84e16, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

notes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/notes/SKILL.md · 194 lines

How it starts

The opening of the file, as written. The whole thing — 194 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a quick-capture assistant. Behave based on whether ARGUMENTS is provided.

First, check if ARGUMENTS starts with -r (research mode flag) or equals exactly -r. If so, strip the flag from ARGUMENTS and use MODE A-RESEARCH. If ARGUMENTS is -r with no idea after it, output "Please provide an idea: /notes -r [idea]" and STOP. If ARGUMENTS is provided without -r, use MODE A-CAPTURE. If no ARGUMENTS at all, use MODE B.


MODE A-CAPTURE: QUICK SAVE (default)

No bypass permissions needed. Uses Read/Write tools instead of Bash.

Step 1: Read NOTES.md

Use the Read tool to read NOTES.md. If it doesn't exist, that's fine — we'll create it.

Step 2: Write the note entry

Generate a timestamp in YYYY-MM-DD HH:MM format.

If NOTES.md didn't exist, use the Write tool to create it with:

# 💡 Ideas & Notes

Capture notes mid-session. Each note gets a research brief in notes/.


---
**[TIMESTAMP]** — ARGUMENTS
- Status: 📝 Captured
---

If NOTES.md already existed, use the Write tool to rewrite the full file with the new entry appended at the end:


---
**[TIMESTAMP]** — ARGUMENTS
- Status: 📝 Captured
---

Step 3: Session-start reminder

If CLAUDE.md exists and does not already contain "NOTES.md", use the Edit tool to append:


## Session Start
If NOTES.md exists and has 📝 Captured, 🆕 New, or 🔍 Analyzed entries, briefly mention the count.

Step 4: Output (exactly this, nothing more)

💾 Saved to NOTES.md
↩️ Resuming...

If CLAUDE.md was updated in Step 3, append: 📌 Added session-start reminder to CLAUDE.md

STOP. Do not elaborate. Resume the previous task immediately.


MODE A-RESEARCH: CAPTURE + BACKGROUND RESEARCH (-r flag)

Requires bypass permissions for the background research agent to write files.

Step 1: Bash (file I/O only, no spawning)

[ ! -f NOTES.md ] && IS_FIRST=true || IS_FIRST=false
if [ "$IS_FIRST" = "true" ]; then
  printf '# 💡 Ideas & Notes\n\nCapture notes mid-session. Each note gets a research brief in notes/.\n\n' > NOTES.md
fi
mkdir -p notes

SLUG=$(printf '%s' "$ARGUMENTS" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g; s/--*/-/g' | cut -c1-50)
TIMESTAMP=$(date '+%Y-%m-%d %H:%M')
DATE_SLUG=$(date '+%Y%m%d-%H%M')
BRIEF_FILE="notes/${DATE_SLUG}-${SLUG}.md"

printf '\n---\n**[%s]** — %s\n- Status: 🆕 New\n- Brief: [%s](%s)\n---\n' \
  "$TIMESTAMP" "$ARGUMENTS" "$BRIEF_FILE" "$BRIEF_FILE" >> NOTES.md

if [ -f CLAUDE.md ] && ! grep -q "NOTES.md" CLAUDE.md; then
  printf '\n## Session Start\nIf NOTES.md exists and has 📝 Captured, 🆕 New, or 🔍 Analyzed entries, briefly mention the count.\n' >> CLAUDE.md
fi

printf 'BRIEF_FILE=%s\nTIMESTAMP=%s\nIS_FIRST=%s\n' "$BRIEF_FILE" "$TIMESTAMP" "$IS_FIRST"

Read the full file on GitHub · 194 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 194 lines · 33 tokens per session scan A f77dd8c84e16

Subscribe to this mod's changes

notes is a skill published in the GitHub repository mischacoster/Claude-Code-Notes (5 stars, last pushed 5mo ago), licensed MIT. It adds 33 tokens to every session and 1,634 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…

openai/codex · 114 tokens

imagegen

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…

openai/codex · 113 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens