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 commands/linggen/linggen-memory/statusgit clone --depth 1 https://github.com/linggen/linggen-memoryWhat 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.00024 | $0.00784 |
| Opus 5 | $0.00012 | $0.00392 |
| Sonnet 5 | $0.00005 | $0.00157 |
| Haiku 4.5 | $0.00002 | $0.00078 |
Grade C, and why
status scanned grade C with 2 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 2d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
- `next:` names only what's due, comma-separated: `/linggen:scan <first_unscanned>`, `/linggen:dream`, `/linggen:solve`, `ling-mem upgrade --yes` (ling-mem update), `curl -fsSL https://linggen.dev/install.sh | bash` (eng Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- `curl -s --max-time 2 'http://127.0.0.1:9527/api/status?project_root=.'` — engine version What it actually says
Invoke the linggen skill (Skill tool) and treat this message as /linggen status — Status mode. Gather, then render ONE glanceable block. Two fetches, run them in parallel:
memory_dream_status(MCP) — firsts,total_days/scanned_days/dreamed_days,open_issues,last_run,last_run_error. Fallback when MCP is unavailable:ling-mem days --format json | jq -c 'del(.vector)'.- One Bash call combining, all failure-tolerant (
|| true,--max-time 2):ling-mem status --format json— daemon health, version, cachedupdateprobeling-mem stats --format json— per-tier row counts +disk_bytes.totalcurl -s --max-time 2 'http://127.0.0.1:9527/api/status?project_root=.'— engine versioncurl -s --max-time 2 http://127.0.0.1:9527/api/bridge/status— browser bridge- engine latest, 24h file cache (NEVER a fresh network hit when the cache is warm):
c=~/.linggen/cache/engine-latest.json; mkdir -p ~/.linggen/cache; if [ ! -s "$c" ] || [ $(( $(date +%s) - $(stat -f %m "$c" 2>/dev/null || stat -c %Y "$c") )) -gt 86400 ]; then curl -sL --max-time 5 https://github.com/linggen/linggen/releases/latest/download/manifest.json -o "$c" || true; fi; cat "$c" 2>/dev/null
Render exactly this shape (omit what a dead source can't fill; — for null firsts):
linggen: ling-mem <v> · engine <v> · bridge ok (ext <v>)
memory: <total> rows · core <n> · semantic <n> · episodic <n> · <disk_bytes.total as MB> MB
upkeep: <scanned_days>/<total_days> scanned · <dreamed_days>/<total_days> dreamed · first unscanned <date|—> · first undreamed <date|—> · <open_issues> to solve · last dream <status>
next: <verbs>
- Update available →
ling-mem 1.3.0 → 1.4.0 available(from the cachedupdatefield) and/orengine 1.4.0 → 1.5.0 available(running engine version vs cached manifestversion). next:names only what's due, comma-separated:/linggen:scan <first_unscanned>,/linggen:dream,/linggen:solve,ling-mem upgrade --yes(ling-mem update),curl -fsSL https://linggen.dev/install.sh | bash(engine update). Nothing due →next: all caught up.- ling-mem daemon down → first line says
ling-mem down — ling-mem start; skip memory/upkeep lines. Engine down →engine —. Bridge disconnected →bridge —. - If
last_run_erroris set, show it verbatim on its own line. - Do not list every day; the calendar lives in the Linggen memory app and the ling-mem console.
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.
- 2d ago First seen · 30 lines · 24 tokens per session scan C 2a69a8af900c
status is a command published in the GitHub repository linggen/linggen-memory (108 stars, last pushed 13d ago), licensed MIT. It adds 24 tokens to every session and 784 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
generate
Generate web scraper scripts using Actionbook's verified selectors.
request-website
Request a new website to be indexed in Actionbook by submitting its URL through the request form.
report
Generate a comprehensive AI-powered paper report with ActionBook branding.
analyze
Analyze a webpage's structure using Actionbook's verified selectors and show available elements for scraping.
list-sources
List all websites that have verified selector data in Actionbook.
read
Read a specific section from an arXiv paper's HTML version (ar5iv.org).