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 RohiRIK/OpenLtm/plugin install openltmWrote 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/commands/rohirik/openltm/server)<a href="https://agentmods.dev/commands/rohirik/openltm/server"><img src="https://agentmods.dev/badge/commands/rohirik/openltm/server/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/commands/rohirik/openltm/server"><img src="https://agentmods.dev/badge/commands/rohirik/openltm/server.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.00052 | $0.01484 |
| Opus 5.5 | $0.00021 | $0.00594 |
| Sonnet 5.5 | $0.00010 | $0.00297 |
| Haiku 4.5 | $0.00005 | $0.00148 |
Grade B, and why
server scanned grade B 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 5d 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.
|| { echo "API failed to start — last log lines:"; tail -n 20 "$HOME/.claude/tmp/ltm-server.log"; } Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
elif curl -s -o /dev/null --max-time 2 http://127.0.0.1:7331/api/stats; then How it starts
The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Parse the first word of the arguments as <action>: start, stop, or status. No argument → status.
| Detail | Value |
|---|---|
| UI (Next.js) | http://localhost:7332 — open this in the browser |
| API + WebSocket (Bun) | http://localhost:7331 — the UI proxies /api/* here |
| Bind address | 127.0.0.1 only — not reachable from other machines |
| API server | ${CLAUDE_PLUGIN_ROOT}/src/graph-server.ts |
| UI source | ${CLAUDE_PLUGIN_ROOT}/graph-app/ |
| PID / logs | ~/.claude/tmp/ltm-server.pid (API), ~/.claude/tmp/nextjs.pid (UI), ~/.claude/tmp/ltm-server.log, ~/.claude/tmp/nextjs.log |
status
PID_FILE="$HOME/.claude/tmp/ltm-server.pid"
if [ -f "$PID_FILE" ] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
echo "API: running (PID $(cat "$PID_FILE"))"
elif curl -s -o /dev/null --max-time 2 http://127.0.0.1:7331/api/stats; then
echo "API: responding on :7331 (no PID file)"
else
echo "API: not running"
fi
if curl -s -o /dev/null --max-time 2 http://127.0.0.1:7332; then
echo "UI: running — http://localhost:7332"
else
echo "UI: not running"
fi
Report the result in one line. If both are down, suggest /openltm:server start.
start
1 — Clear anything stale on 7331 / 7332:
TMP="$HOME/.claude/tmp"
[ -f "$TMP/ltm-server.pid" ] && kill "$(cat "$TMP/ltm-server.pid")" 2>/dev/null
if [ -f "$TMP/nextjs.pid" ]; then
pkill -TERM -P "$(cat "$TMP/nextjs.pid")" 2>/dev/null; kill "$(cat "$TMP/nextjs.pid")" 2>/dev/null
fi
rm -f "$TMP/ltm-server.pid" "$TMP/nextjs.pid"
for port in 7331 7332; do
lsof -ti ":$port" 2>/dev/null | xargs kill 2>/dev/null || true
done
mkdir -p "$TMP"
2 — Start the API server (port 7331):
nohup bun "${CLAUDE_PLUGIN_ROOT}/src/graph-server.ts" \
> "$HOME/.claude/tmp/ltm-server.log" 2>&1 &
sleep 1
curl -s -o /dev/null --max-time 3 http://127.0.0.1:7331/api/stats \
&& echo "API up on http://localhost:7331" \
|| { echo "API failed to start — last log lines:"; tail -n 20 "$HOME/.claude/tmp/ltm-server.log"; }
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.
- 5d ago First seen · 128 lines · 52 tokens per session scan B adfd67a32dac
server is a command published in the GitHub repository RohiRIK/OpenLtm (28 stars, last pushed yesterday), licensed MIT. It adds 52 tokens to every session and 1,484 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it B with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-12.
Other commands, from other repositories
setup-context
Set up your Skill Memory — a pm-context.md every skill reads so outputs come back tailored to you.
visual
Restate a spec, task, diff, or the current topic as a compact markdown visual digest.
perf-difficult-conversation
Three-conversations framework rehearsal (Stone/Patton/Heen — Harvard Negotiation Project) for high-stakes conversations — termination, demotion, hard feedback, conflict surfacing. Produces three-conversations breakdown (what-happened / feelings / identity), conversation script with multiple opening choices, SCARF…
culture-onboarding-90
Design a 90-day onboarding architecture for a role. First day (psychological safety + belonging activation), first week (relationship + role context + early wins), first month (skill ramp + integration + baseline), first quarter (autonomous performance + cultural integration check). Written-first elements for…
reclaim-knowledge
Organize scattered professional material into a domain-based second-brain architecture. Maps existing sources (Canva, Drive, local folders, Notion, screenshots) to functional domains. Non-technical-friendly — produces folder structure + drag-and-drop instructions, not CLI commands.
orchestrate-brain
Weekly 30-minute second-brain review ritual. Orchestrates inbox clear, lightweight distillation, vault maintenance, cross-reference pass, and next-week capture focus. The compounding rhythm that keeps the system alive.