Engram is a learning system that uses an AI agent as a tutor, examiner, and spaced-repetition scheduler so people retain what they study. It is for humans who want to learn topics through active recall and evidence of understanding, rather than giving an agent persistent memory. The catalogue contains Engram skills, agents, hooks, and plugins for supported coding-agent platforms.
Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add nagisanzenin/engram/plugin install engramWrote 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.
[](https://agentmods.dev/skills/nagisanzenin/engram/review)<a href="https://agentmods.dev/skills/nagisanzenin/engram/review"><img src="https://agentmods.dev/badge/skills/nagisanzenin/engram/review/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.
<a href="https://agentmods.dev/skills/nagisanzenin/engram/review"><img src="https://agentmods.dev/badge/skills/nagisanzenin/engram/review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.05998 |
| Opus 5 | $0.00021 | $0.02999 |
| Sonnet 5 | $0.00008 | $0.01200 |
| Haiku 4.5 | $0.00004 | $0.00600 |
Grade B, and why
review scanned grade B with 1 finding 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 10d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
"$HOME/.gemini/config/plugins/engram" \ How it starts
The opening of the file, as written. The whole thing — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/review — the retention loop
Read skills/_shared/dialogue-grammar.md (hard rules, confidence integrity, park-and-resume, and the rating map apply here verbatim). Set:
# Resolve the engine. RUN THIS BLOCK VERBATIM — do not substitute a path you guessed.
# Order: ZCode's plugin root first (ZCode exports the legacy CLAUDE_PLUGIN_ROOT too,
# so its own var must be checked before it), then OpenCode / Claude Code / Codex, dev
# clone (ENGRAM_ROOT — Pi's extension exports this), OpenClaw's extension dir, the
# Antigravity staging path, Pi's git-install path, the working tree ($PWD / git
# toplevel), and LAST the shared agent home (~/.agents/engram — the clone route for
# platforms that read ~/.agents; last so it can shadow nothing). First one exists wins.
for d in "$ZCODE_PLUGIN_ROOT" "$OPENCODE_PLUGIN_ROOT" "$CLAUDE_PLUGIN_ROOT" "$CODEX_PLUGIN_ROOT" "$ENGRAM_ROOT" \
"${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/extensions/engram" \
"$HOME/.gemini/config/plugins/engram" \
"$HOME/.pi/agent/git/github.com/nagisanzenin/engram" \
"$PWD" "$(git rev-parse --show-toplevel 2>/dev/null)" \
"$HOME/.agents/engram"; do
[ -n "$d" ] && [ -f "$d/scripts/engram.py" ] && ENGRAM="$d/scripts/engram.py" && break
done
if [ -z "$ENGRAM" ]; then
echo "engram: engine not found — set ENGRAM_ROOT to your engram checkout" >&2
return 2 2>/dev/null || exit 2 # FAIL CLOSED: proceeding runs `python3 ""`,
fi # which dumps a python usage error at the learner
If none are set, resolve the plugin root as the directory containing .zcode-plugin/plugin.json, .claude-plugin/plugin.json, or .codex-plugin/plugin.json. Never inline a learner's answer into a shell command — pass productions via --production-file (or --production-file - on stdin); a stray quote or $(…) in what they typed would otherwise execute.
Spawning agents. "Spawn engram-…" means a fresh-context child running that agent's definition — via your platform's subagent/Task tool (the type may be namespaced, e.g. engram:engram-assessor). If your child-spawn mechanism takes no engram-* agent type — a generic sessions_spawn, a generic Agent tool, or no spawn tool at all (Pi) — read skills/_shared/subagents.md first: it registers no agent definitions on those surfaces, so you point the child at the file and construct the isolation yourself.
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.
- 10d ago First seen · 164 lines · 42 tokens per session scan B ec9977acdf9d
review is a skill published in the GitHub repository nagisanzenin/engram (1,407 stars, last pushed 14d ago), licensed MIT. It adds 42 tokens to every session and 5,998 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
study
Start or resume a strict-tutor learning session on a topic. Builds an ordered concept path, gathers real resources, and teaches ONE concept at a time with checkpoints. Use when the user says "study X", "teach me X", "I want to learn X", or "/study ".
progress
Render the on-demand study progress diagram — the current topic's concept map plus a lifetime summary of everything learned across all projects. Read-only. Use when the user says "progress", "how am I doing", "what have I learned", or "/progress".
quiz
Verify the learner actually understands the current checkpoint before advancing. Relentless one-question-at-a-time interrogation; advances the session only on a genuine pass. Use when the user says "quiz me", "test me", "I'm ready to move on", or "/quiz".
gan-zhong-xue
A learning workflow that makes an AI explain code changes through questions, evidence, and underlying principles. It is designed to help developers understand work they asked an AI to do, rather than merely accept the result.
rolecraft
JD-driven study companion. Paste a job description; get back what to study, what to build, and where else this role exists. Use when the user pastes a job description, says "process this", asks "what would this role take", or wants concepts, tech stacks, companies, projects, or a dashboard summary derived from past…
help
Explain the agentic-study-environment plugin — what it does, the lifecycle skills it ships, the domain overlays, the session types, and the key conventions — or a specific one of those if the user names it. Use this skill whenever the user asks for help with the study harness itself rather than asking to study…