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.
npx agentmods add skills/mitszo/agent-notes-mcp/project-notes-contextnpx skills add mitszo/agent-notes-mcp --skill project-notes-contextgit clone --depth 1 https://github.com/mitszo/agent-notes-mcpWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00066 | $0.01584 |
| Opus 5 | $0.00033 | $0.00792 |
| Sonnet 5 | $0.00013 | $0.00317 |
| Haiku 4.5 | $0.00007 | $0.00158 |
Grade A, and why
project-notes-context 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.
How it starts
The opening of the file, as written. The whole thing — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.
プロジェクトノートのコンテキスト
プロジェクト固有の作業コンテキストを、リポジトリとは分離した private なローカルノートに保つ。この例では root ID を notes-work、ノートの配置を rules/ と projects/ とする。別の root ID や配置を使う場合は、スキル全体を自分の環境へ合わせて変更する。
コンテキストの読込み
- Git ルートから現在のリポジトリ名を取得する。Git リポジトリでなければ処理を止める。
agent_notesMCP ツールとnotes-workroot が利用できる場合、まずrules/を列挙する。プロジェクトノートを扱う作業では、project-notes-で始まる現在の共通規約を読む。- 既知の正本である
projects/<repository-name>/overview.mdとprojects/<repository-name>/handoff.mdは、列挙せずread_noteで直接読む。どちらかが存在しない場合は、そのノートなしで続ける。 - inbox は
root_id: notes-work、path_prefix: projects/<repository-name>/inbox/、status: ["new", "triage"]を指定してlist_notesで列挙し、現在の作業に関係するノートだけをread_noteする。 - 過去の判断理由が現在の作業に関係する場合だけ
decisions.mdを読む。 - ノート、root、MCP サーバーが存在しない・利用できない場合はブロッカーにしない。リポジトリのコンテキストだけで作業を続け、ノートがないことだけを理由に新規作成しない。
コンテキストの更新
- ユーザーが依頼した場合、またはユーザーが保存に合意した永続的な判断が生まれた場合だけ、プロジェクトノートを作成・更新する。
overview.mdはプロジェクトの恒久的な概要、構成、技術選定、設計原則を扱う。handoff.mdは現在のブランチ、未コミット変更、検証結果、現行の重要事項、次の行動を扱う。どちらも古い内容を追記で打ち消さず、現行の正を直接更新する。handoff.mdに有効な管理ブロック(<!-- agent-notes:managed <id> -->と対応する終端)がある場合は、read_noteで取得した SHA-256 を指定してupdate_managed_blocksを使う。現在地として整合させる複数のブロックは、一回の呼出しでまとめて更新する。- 管理ブロックがない既存 handoff は、全文を読んだうえで SHA-256 付きの置換を使う。管理ブロックの導入はノート構造を変えるため、ユーザーが明示的に依頼または合意した場合だけ行う。管理ブロックが壊れている場合は推測して更新せず、書込みを行わずに原因を報告する。
- 複数の既存ノートを整合させるときは、対象すべてを先に読み、それぞれの SHA-256 を指定して
batch_update_notesを使う。作成と移動は一括更新に混ぜない。 - 日付・判断・理由を簡潔にした記録を
decisions.mdに追記する。ブランチ固有の実装詳細・調査・検証・PR はbranches/に残す。 activity_logが有効な場合、永続的な判断・成果・次の行動を残す更新には、ユーザーの依頼または判断を主語にした簡潔なactivity_summaryを添える。機械的な更新や一時的な試行には付けない。- ノートを置換・移動する前には必ず読込みを行い、更新時に得た SHA-256 を指定する。
branch ノートの再照合
- Git リポジトリで実質的な作業を再開する時だけ、
branches/を対象にlifecycle: activeのノートを列挙し、候補を読んでローカル Git の現在ブランチ、HEAD、ローカルブランチ一覧、作業ツリーと照合する。 - 全ローカルブランチを個別に評価しない。ノートの HEAD と実際の HEAD が異なるもの、ノート記載のブランチがローカルにないもの、非 base branch なのに対応する active ノートがない現在ブランチだけを、まとめて更新候補として報告する。
- 再照合そのものは読取り専用である。ユーザーが反映を依頼した場合だけ、対象ノートを再読込みして SHA-256 を指定し、安全な更新操作を行う。
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- yesterday First seen · 46 lines · 66 tokens per session scan A c1689db9e1af
project-notes-context is a skill published in the GitHub repository mitszo/agent-notes-mcp (0 stars, last pushed 8d ago), licensed MIT. It adds 66 tokens to every session and 1,584 once invoked, about $0.0003 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.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
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…
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…
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…
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…
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…