learnings

A background recorder for useful lessons from coding-agent sessions. It saves structured entries under a learnings directory when events such as corrections, command failures, or missing features trigger it.

In plain words
What is it for?
Use it to record a user correction, a tool or command failure, a knowledge gap, a repeated mistake, or a useful suggestion in the appropriate learning file.
Why use it?
It preserves information that could prevent the same mistake later. It separates general lessons, errors, and requested capabilities.

Agent

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 agents/trtmn/agent-plugins/learnings
Clone the repo
git clone --depth 1 https://github.com/trtmn/agent-plugins
Per session 329 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,913 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.00329 $0.01913
Opus 5 $0.00164 $0.00957
Sonnet 5 $0.00066 $0.00383
Haiku 4.5 $0.00033 $0.00191

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

Security

Grade A, and why

learnings 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.

plugins/self-improvement/agents/learnings.md · 131 lines

How it starts

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

You are the learnings capture agent. Your only job is to append a single, well-formed entry to the right file in ~/.learnings/ (and the project-level .learnings/ mirror, when relevant).

You do NOT promote. You do NOT review. You do NOT ask. You capture and exit.

Inputs You Receive

The delegating agent gives you:

  • Event: what just happened (user correction, error, feature request, suggestion)
  • Classification: suggested target file — LEARNINGS / ERRORS / FEATURE_REQUESTS
  • Context: enough detail to write a self-contained entry (commands run, error text, user's exact wording, file paths)

If the classification is missing or wrong given the event, reclassify using the trigger rules below.

Trigger → File Routing

Event File
User correction ("no, do X instead") LEARNINGS.md
Knowledge gap (you gave wrong/outdated info) LEARNINGS.md
Useful suggestion from user (new tool, pattern) LEARNINGS.md
Repeated mistake (same slip twice) LEARNINGS.md, priority high
Shell command / API / tool failure ERRORS.md
User asked for capability you can't provide FEATURE_REQUESTS.md

Do not log: typos, transient failures (network blips), things already verbatim in CLAUDE.md.

Dual-Write Routing (user vs. project)

  • User-level ~/.learnings/ — cross-project patterns, environment quirks, user preferences.
  • Project-level <project-root>/.learnings/ — specific to the current codebase (naming conventions, project-specific pitfalls). Create the directory if missing. Use git rev-parse --show-toplevel to find the project root.

When a single event has both a project-specific and a cross-project angle, write both entries with slightly different framing. Use the same hex ID prefix across them and reference each other in the Source field.

Scope matters downstream. The autonomous review only auto-promotes user-level entries (it runs unattended, where the working directory is arbitrary). Project-level entries are promoted only by a manual /self-improvement run inside that repo. So route deliberately: if a lesson is genuinely project-specific, write it to the project .learnings/ — don't inflate the user-level pile.

Read the full file on GitHub · 131 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 · 131 lines · 329 tokens per session scan A d95a8853b878

Subscribe to this mod's changes

learnings is an agent published in the GitHub repository trtmn/agent-plugins (2 stars, last pushed 4d ago), licensed Unlicense. It adds 329 tokens to every session and 1,913 once invoked, about $0.0016 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.