by dcostenco
Persistent session memory for AI coding agents — local-first, with on-device inference, associative recall, and drift detection. Works with Claude Code, Cursor, and Codex.
# Add to your Claude Code skills
git clone https://github.com/dcostenco/prism-coderLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:14:50.114Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how prism-coder compares with popular alternatives.
prism-coder is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by dcostenco. Persistent session memory for AI coding agents — local-first, with on-device inference, associative recall, and drift detection. Works with Claude Code, Cursor, and Codex. It has 157 GitHub stars.
Yes. prism-coder passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/dcostenco/prism-coder" and add it to your Claude Code skills directory (see the Installation section above).
prism-coder is primarily written in TypeScript. It is open-source under dcostenco on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh prism-coder against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Give your AI agent memory that lasts — and see the cloud tokens it never had to spend. Persistent sessions, knowledge graphs, offline tool-routing, and an auditable savings meter. Fully local and free.
Prism Coder is an MCP server that gives Claude, Cursor, and other AI tools long-term memory that survives across sessions. It ships with the open-weight prism-coder model fleet (2B–27B) for fast, offline tool-routing — no cloud required. And it keeps score: every call served locally is metered, so prism savings shows the token volume that never reached your cloud model — measured honestly, in tokens.
No account needed. No API keys. Runs on your machine.
A paid subscription adds cloud sync, higher model tiers, and team features through the Synalux portal.
prism savings (or the local_savings
tool from any host) reports the token volume local serving kept off your
cloud model: headline, local share, per-model breakdown. It reports tokens,
never an invented dollar figure, and prints its assumptions and known
undercounts inline — a number you can check, not marketing.route_guard: "local" keeps the
prompt and draft entirely on-device.prism connect configures Claude Code,
Claude Desktop, Cursor, Gemini CLI, and Codex while preserving unrelated
settings.prism connect adds two
small ones on top: mid-session prompt routing, and a post-compaction
re-injection of the protected-floor digest.npm install -g prism-mcp-server
prism connect
Use prism connect --dry-run to preview changes, prism connect --all to
configure every detected host, or prism connect --refresh to reconcile
Prism-managed entries after an upgrade. Restart the host after connecting.
Prism works locally without an account, API key, or cloud subscription. Add a Synalux subscription when you want cloud memory, paid-tier skills, or team features.
After a few sessions, ask what it's been worth:
prism savings --period month
💾 Local serving — LAST 30 DAYS
~510K tokens kept off your cloud model
53 call(s) served locally of 58 routed (91%)
Your numbers will differ — that's the point: it reports what your machine
actually served, not a projection. Full report anatomy and the honesty rules
behind it are in the
local_savings section.
Prism also ships as a plugin, which registers the MCP server and the startup skill for you.
Both hosts install straight from this repository. There is nothing to host and
no server to run: the catalogue is the .claude-plugin/marketplace.json file
committed here, and your client clones it from GitHub.
Claude Code:
claude plugin marketplace add dcostenco/prism-coder
claude plugin install prism-coder@prism
Codex:
codex plugin marketplace add dcostenco/prism-coder
codex plugin add prism-coder@prism
The plugin registers prism-mcp via npx -y prism-mcp-server. If you already
configured Prism by hand — prism connect writes an mcp_servers.prism-mcp
entry — you have that server twice under one key. Install the plugin or
run prism connect, not both.
prism connect changes about host subagentsconnect steers bounded work to prism_infer on your machine rather than to
host-spawned agents. What it writes differs per host, and it does not disable
subagents everywhere — Claude Code keeps them and is pointed at an economy
model instead. Prism's local workers stay available over MCP in every case.
| Host | Setting written | Effect |
|---|---|---|
| Claude Code | env.CLAUDE_CODE_SUBAGENT_MODEL = "sonnet" in ~/.claude/settings.json |
Subagents stay enabled, pinned to an economy model. Fan-out is discouraged by policy text, not by config |
| Gemini CLI | experimental.enableAgents = false in ~/.gemini/settings.json |
Subagents off. Gemini exposes one boolean, so that is all there is to set |
| Codex | features.multi_agent = false in $CODEX_HOME/config.toml (default ~/.codex), plus a bounded fallback: 2 threads, depth 1, cheap subagent model, 900s cap |
Subagents off, with a bounded profile underneath so a deliberate re-enable lands somewhere sane |
Two things worth knowing:
experimental is Gemini's namespace, not ours. Prism is not enabling
anything experimental — it writes false to a flag Gemini already defines at
that path. Writing anywhere else would have no effect.enableAgents out of experimental, Prism keeps writing the old path, Gemini
reads the new one, and host subagents quietly turn back on. Nothing errors and
the settings file still looks correct. If you see host subagents running while
enableAgents reads false, check whether the key has moved before assuming
connect failed to write it.Both writes are idempotent in the sense that a host already configured this way
is left untouched — but they are re-applied on every prism connect run,
not only on --refresh. If you deliberately re-enable host subagents, the next
connect will turn them off again. Keep them on by not re-running connect,
or by re-enabling after each run.
continue keeps the workflow and visual
verification rules that governed the work before context was compacted.SKILL.md remains usable while signed out, while an entitled platform body
takes precedence if both sources use the same name.prism connect --refresh --no-models; Codex must trust both new v5 hook
entries in /hooks. Restart the host if it has not reloaded the new hook
definitions. Once v5 is active, later skill-body generations refresh on the
next prompt without another host restart.session_bootstrap now inlines a digest of the protected floor on
paid tiers at standard and deep depth: one inert line per rule, derived
from each skill's first paragraph (or its pinned digest:), plus its
section map, ~5.6K chars for the full floor. Small-context hosts such as
Codex were re-reading the sixteen SKILL.md files every session (median 8
re-reads / 36KB, worst 823 / 5.1MB in rollout logs) because the bootstrap
only named them. The digest is paid for on top of the context budget, so
the ledger/handoff share at every depth is byte-identical to before. Quick
depth stays names-only