history-notes

history-notes is a skill for Claude Code, Codex from OutlineDriven/odin-claude-plugin. It costs 31 tokens per session (1,039 once invoked), scanned A, original, Apache-2.0.

A local note-capture tool for saving one durable fact that a user explicitly asks the coding agent to remember.

In plain words
What is it for?
Use it to append a redacted fact to the local note store with its project, time, and optional tags.
Why use it?
It records a bounded, searchable fact instead of relying on a conversation transcript, while rejecting code-obvious or unsuitable content.

Skill for Claude CodeCodex

Written for Claude Code and Codex: disable-model-invocation in frontmatter, but also agents/openai.yaml present.

Part of the odin-knowledge plugin — 23 skills shipped together

Good fit Use it to append a redacted fact to the local note store with its project, time, and optional tags.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/outlinedriven/odin-claude-plugin/history-notes
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.

Any agent
npx skills add OutlineDriven/odin-claude-plugin --skill history-notes
Clone the repo
git clone --depth 1 https://github.com/OutlineDriven/odin-claude-plugin

Made for: Claude Code, Codex.

Or install odin-knowledge, the plugin that ships this one along with the rest of its 23 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for history-notes

README.md
[![agentmods](https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/history-notes/github.svg)](https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/history-notes)
Your own site
<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/history-notes"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/history-notes/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for history-notes

Your own site · 80×15
<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/history-notes"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/history-notes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,039 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00031 $0.01039
Opus 5.5 $0.00012 $0.00416
Sonnet 5.5 $0.00006 $0.00208
Haiku 4.5 $0.00003 $0.00104

Measured 1mo ago against content hash 9973add3417a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

history-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 1mo ago.

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.

plugins/odin-knowledge/skills/history-notes/SKILL.md · 45 lines

How it starts

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

History note capture

Contract

Field Bound contract
Trigger User says remember this or settles one durable fact.
Authority Reversible local: writes only to the named append-only note store; rollback is undo. No remote mutation.
Side effect Appends one schema-validated, redacted note to the local JSONL store; no other file, VCS, credential, or remote mutation.
Done One bounded self-contained fact is strict UTF-8 JSONL with RFC3339 time, project, and optional tags; it is redacted, indexed, and recallable; transcript and code-obvious content is rejected.

Inputs

  • Required: the durable fact text the user supplied, and the project identifier.
  • Optional: tags.
  • The local append-only note store path.

Procedure

  1. Identify the durable fact from the user's remember-this statement or settled fact. Bound scope to one self-contained fact; if several were supplied, capture the first and stop, or ask once for the single item to capture. Done when: one self-contained fact is identified from the user statement, and if several were supplied, the first is captured and the rest are stopped or deferred with one clarification ask.
  2. Reject the fact if it is verbatim transcript content, conversation echo, or obvious from the current code (restates a function signature, file path, or visible state). Stop with rejected-content; do not append. Done when: the fact is confirmed not verbatim transcript, conversation echo, or code-obvious (function signature, file path, visible state), and if it is, the run stops with rejected-content and no append.
  3. Redact secrets and PII from the fact text: replace credentials, API keys, paths under the user home, email addresses, and numeric identifiers with a redaction marker. If redaction would erase the fact's meaning, stop with rejected-content. Done when: secrets and PII are replaced with redaction markers in the fact text, and if redaction would erase the fact meaning, the run stops with rejected-content and no append.
  4. Validate the redacted fact is non-empty, strict UTF-8, and bounded to one sentence or one short clause; reject paragraphs. Done when: the redacted fact is confirmed non-empty, strict UTF-8, and bounded to one sentence or one short clause, and paragraphs are rejected.
  5. Build one JSONL object with fields time (RFC3339 UTC), project, fact (redacted), and tags (optional, omitted when none). Done when: one JSONL object is built with fields time (RFC3339 UTC), project, fact (redacted), and tags (optional, omitted when none), and every required field is present.
  6. Append the line to the local append-only note store at the configured path; create the file if absent. Do not overwrite or edit prior lines. Done when: the JSONL line is appended to the store at the configured path, the file is created if absent, and no prior line is overwritten or edited.
  7. Index the new line by project and tags so it is recallable by later search. Done when: the new line is indexed by project and tags, and a search by project returns the appended line.
  8. Confirm recallability: read the store back and locate the appended line by its time and project. Done when: the store is read back and the appended line is located by its time and project, confirming recallability.

Read the full file on GitHub · 45 lines

Files

What ships with it

1 file 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.

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. 1mo ago First seen · 45 lines · 31 tokens per session scan A 9973add3417a

Subscribe to this mod's changes

history-notes is a skill published in the GitHub repository OutlineDriven/odin-claude-plugin (39 stars, last pushed 25d ago), licensed Apache-2.0. It adds 31 tokens to every session and 1,039 once invoked, about $0.0001 per session on Opus 5.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-09-13.

Related

Other skills, from other repositories

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

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

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 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

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens