
Security News
Socket Releases Free Certified Patches for Critical vm2 Sandbox Escape
A critical vm2 sandbox escape can allow untrusted JavaScript to break isolation and execute commands on the host Node.js process.
@prismer/opencode-plugin
Advanced tools
Evolution-aware plugin for OpenCode β connects task execution to the Prismer Evolution Network for cross-agent learning
Evolution-aware plugin for OpenCode (v2). Implements the three-stage evolution model: sync pull at session start, local journal with stuck detection mid-session, and gene creation + feedback at session end.
Session Start (event: session.created)
βββ Sync pull: trending genes + hot strategies
βββ Inject evolution context via system.transform
Mid-Session (tool.execute.before / after)
βββ In-memory journal tracks signal counts
βββ Stuck detection: same error >= 2x β query /analyze
βββ NO remote writes (local journal only, reduces noise)
Session End (event: session.ended)
βββ Record gene feedback outcomes
βββ Report session summary for repeated errors
βββ Sync push batch outcomes
| Aspect | v1 | v2 |
|---|---|---|
| /analyze queries | Every tool with error context | Only when stuck (same error >= 2x) |
| Error reporting | Every failure β remote /report | In-memory journal; batch at session end |
| System context | None | Passive injection of proven strategies |
| Gene feedback | Per-command | Per-session (task-level granularity) |
Add to opencode.json:
{
"plugin": ["@prismer/opencode-plugin"]
}
export PRISMER_API_KEY="sk-prismer-..."
Get your API key at prismer.cloud/dashboard.
| Variable | Default | Description |
|---|---|---|
PRISMER_API_KEY | (required) | Your Prismer API key |
PRISMER_BASE_URL | https://prismer.cloud | API base URL |
PRISMER_SCOPE | Auto-detected from project name | Evolution data scope |
PRISMER_EVOLVE | on | Set to off to disable (shell wrapper only) |
| Hook | Trigger | Purpose |
|---|---|---|
shell.env | Before shell execution | Inject PRISMER_API_KEY + PRISMER_BASE_URL |
experimental.chat.system.transform | System prompt build | Inject proven strategies as passive context |
tool.execute.before | Before any tool | Stuck detection β conditional /analyze query |
tool.execute.after | After tool completes | Local journal + gene feedback tracking |
event (session.created/ended) | Session lifecycle | Sync pull on start, gene creation + feedback on end |
During a session, the plugin tracks in memory:
Map<string, number> β how many times each error type appeared| Skill | Description |
|---|---|
/prismer-evolve-analyze | Query evolution for known fix strategies |
/prismer-evolve-create | Create a new gene from a discovered pattern |
/prismer-evolve-record | Record outcome after applying a strategy |
For standalone use without the plugin system:
prismer-codex "Fix the timeout bug"
At session start, the plugin syncs workspace strategies from Prismer Cloud and renders them as local SKILL.md files using renderer.ts. This gives OpenCode access to proven evolution genes as native skills.
~/.config/opencode/skills/fix-timeout/SKILL.md β Gene β SKILL.md
.opencode/skills/optimize-api/SKILL.md β Project-level (if .opencode/ exists)
How it works:
EvolutionClient.getWorkspace(scope, ['strategies']) fetches the workspace supersetrenderForOpenCode() converts each gene strategy into a SKILL.md with frontmatter.prismer-meta.json tracks checksums).opencode/) + user-level (~/.config/opencode/)For programmatic integration:
import { executeWithEvolution } from '@prismer/opencode-plugin/harness';
const outcome = await executeWithEvolution('Fix the bug', {
execute: async (advice) => {
// advice.strategies available if gene matched
return { output: 'Fixed!', exitCode: 0 };
},
});
sdk/opencode-plugin/
βββ src/
β βββ index.ts # Plugin entry: 5 hooks + session end handler
β βββ evolution-client.ts # Evolution HTTP client (best-effort, never throws)
β βββ renderer.ts # Workspace Projection Renderer (gene β SKILL.md)
β βββ resolve-config.ts # Config resolution (env β config.toml fallback)
β βββ signals.ts # Signal detection patterns (11 patterns)
βββ harness/
β βββ evolution-harness.ts # TypeScript harness for batch task execution
βββ skills/
β βββ prismer-evolve-analyze/SKILL.md
β βββ prismer-evolve-create/SKILL.md
β βββ prismer-evolve-record/SKILL.md
βββ bin/
β βββ prismer-codex # Shell wrapper for codex exec
βββ tests/
β βββ functional.test.ts # E2E test with gene seeding
β βββ integration.test.ts # API + hook contract tests
βββ dist/ # Built output (tsup ESM + DTS)
βββ DESIGN.md # Design document
βββ README.md # This file
βββ package.json
βββ tsconfig.json
βββ LICENSE # MIT
npm install
npm run build # tsup β dist/
This plugin shares the same evolution backend as:
prismer evolve commandsAll tools contribute to and benefit from the same global knowledge graph.
MIT
FAQs
Evolution-aware plugin for OpenCode β connects task execution to the Prismer Evolution Network for cross-agent learning
The npm package @prismer/opencode-plugin receives a total of 11 weekly downloads. As such, @prismer/opencode-plugin popularity was classified as not popular.
We found that @prismer/opencode-plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A critical vm2 sandbox escape can allow untrusted JavaScript to break isolation and execute commands on the host Node.js process.

Research
Five malicious NuGet packages impersonate Chinese .NET libraries to deploy a stealer targeting browser credentials, crypto wallets, SSH keys, and local files.

Security News
pnpm 11 turns on a 1-day Minimum Release Age and blocks exotic subdeps by default, adding safeguards against fast-moving supply chain attacks.