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 agents/techtheist/engram/aggressivegit clone --depth 1 https://github.com/techtheist/engramWhat 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.00000 | $0.01115 |
| Opus 5 | $0.00000 | $0.00558 |
| Sonnet 5 | $0.00000 | $0.00223 |
| Haiku 4.5 | $0.00000 | $0.00112 |
Grade A, and why
aggressive 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Engram — durable project memory (MCP server: engram)
This project keeps a local, user-owned knowledge graph of its reasoning: Decisions and their reasons, Principles, Cautions that bit us, Problems and Resolutions, Insights, open Intents, Anchors that cluster them. Not code structure — the code holds that. What good capture buys: the next session starts already knowing why things are the way they are, and the user sees and curates everything in the pane.
Recall. Call the brief tool once at session start and read it before
planning — unless the session already opens with an injected "# Engram brief"
(a session-start hook provides it); then read that and skip the tool call.
If the brief's first line says the session is bound by fallback — or it names
a project that is not your workspace (a client that never answered MCP
roots) — call brief again with project set to this workspace's ABSOLUTE
path: it rebinds the session and returns the right project's brief.
Before any non-trivial decision, search the graph; hits carry their 1-hop
neighbors — read conflicts-with / replaces edges first, and pass
parents/children to get_node when you need the reasoning chain. For
history: timeline walks a node's replaces chain, audit pages the mutation
journal. For whole-graph reviews or exports (a decisions.md), page
list_nodes — complete nodes with full bodies; batch cleanups and multi-note
captures go through update_nodes / add_notes. A hit marked stale: true has decayed trust: verify it before
relying on it, and refresh it with update_node if it's still accurate.
Capture. Capture liberally — every real decision with its reason, every convention, gotcha, resolved problem, non-obvious insight, and open TODO. Engram is the spine of the project's decision history; trust decay prunes episodic scratch that never gets re-confirmed, so an unneeded node costs little and a missing one costs a repeated mistake.
Node type is one of exactly 9: Decision, Principle, Caution, Problem,
Resolution, Insight, Intent, Anchor, Tombstone — a record that knowledge was
deliberately removed; don't resurrect it (call describe_ontology if this
graph runs a custom set). Write shapes: add_note {"type": "Decision", "title": "...", "body": "..."}; link {"from": "<id>", "to": "<id>", "type": "because"}; add_notes {"notes": [...]} items carry NO links — link the
returned ids in a second pass.
If describe_ontology lists custom fields, pass "fields": {"name": value} — refusals teach the roster; follow them.
Connect notes with link using sentence-shaped edges (because / answers /
about / builds-on / replaces / conflicts-with / needs; about targets
Anchors only). Every write's response is a verdict, not a receipt: on
{matched, created: false} merge into the match with update_node instead
of duplicating; on warnings you are near contradicted or superseded canon —
check it before piling on; on suspects the write queued unjudged look-alike
pairs — judge each immediately with resolve_suspect (conflict | replaces |
dismiss) and tell the user when one genuinely contradicts standing canon (the
one exception to silent capture). When several notes share a subject,
create/reuse an Anchor and attach them — anchors never accrue by themselves.
Batch the writing at natural stopping points, never the noticing: every real
decision gets captured unprompted — a feature request usually hides one
(library picked, shape chosen, tradeoff accepted). Don't narrate writes.
Never store secrets, credentials, or volatile implementation detail (line
numbers, transient state).
Maintain. Judge the brief's suspected conflicts with resolve_suspect:
contradiction → conflict; fresher restatement → replaces; complementary (a
Resolution implementing an Intent) → dismiss, then ensure the answers edge
exists. When a Resolution answers a Problem/Intent, also set that node's
status to resolved. list_drift names nodes whose code_refs no longer exist:
fix the paths via update_node and re-check the claim itself.
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 · 69 lines · 0 tokens per session scan A b6fed6da699b
aggressive is an agent published in the GitHub repository techtheist/engram (17 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,115 tokens. 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-30.
Other agents, from other repositories
tl-archivist
Specialist subagent for thoughtline memory hygiene. Use when asked to audit, deduplicate, prune, or reorganize memories — "clean up my memory", "find duplicates", "what's stale?", "auditá la base", "qué memorias podemos archivar?". Read-mostly, never deletes without explicit user confirmation.
hyperledger-fabric-developer
Develop enterprise blockchain solutions with Hyperledger Fabric v2.5 LTS and v3.x. Expertise in chaincode development, network architecture, BFT consensus, and permissioned blockchain design. Use PROACTIVELY for enterprise blockchain, supply chain solutions, or private network implementations.
legal-advisor
Draft privacy policies, terms of service, disclaimers, and legal notices. Creates GDPR-compliant texts, cookie policies, and data processing agreements. Use PROACTIVELY for legal documentation, compliance texts, or regulatory requirements.
agent-reviewer
Senior Technical Lead and Security Auditor specializing in code quality, correctness, and security audits.
00-session-bootstrap
Recover state from previous session including action cards, missed debriefs, and loop escalation.
dvalin-security
After changing code that handles input, authentication, authorization, secrets, queries, commands, templates, dependencies, or deployment configuration.