Retrospective evaluation of engram observations — rate global usefulness and project relevance to improve memory quality over time
From engramnpx claudepluginhub thebtf/engram --plugin engramThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Evaluate the usefulness of observations that were recently injected into your context. This creates a feedback loop: observations you find helpful get boosted; irrelevant ones get demoted or suppressed.
Fetch observations to evaluate. Choose one source:
Option A — From injected context:
Review the <engram-context> block in your current session. These are the observations that were injected for you.
Option B — From API (broader review):
GET /api/observations/recently-injected?limit=20&project={current_project}
or
GET /api/observations/top?limit=20&project={current_project}
For each observation, assess TWO dimensions:
| Dimension | Scale | Question |
|---|---|---|
| Global Usefulness | 0-10 | Is this observation universally valuable across ALL projects? |
| Project Relevance | 0-10 | Is this observation relevant to the CURRENT project? |
| Global | Project | Verdict | Action |
|---|---|---|---|
| >= 7 | any | keep(global) | Set scope=global, boost importance |
| < 7 | >= 7 | keep(project) | Keep scope=project, boost importance |
| 3-6 | 3-6 | demote | Lower importance score |
| < 3 | < 3 | suppress | Mark as suppressed (excluded from injection) |
For each verdict, call the appropriate engram MCP tool:
Boost (keep):
rate_memory(id=<observation_id>, rating="useful")
Demote:
rate_memory(id=<observation_id>, rating="not_useful")
Suppress:
suppress_memory(id=<observation_id>)
Output a table of evaluations:
| ID | Title | Type | Global | Project | Verdict |
|----|-------|------|--------|---------|---------|
| 123 | Auth middleware pattern | decision | 8 | 9 | keep(global) |
| 456 | npm install completion | discovery | 1 | 1 | suppress |
| 789 | Redis cache config | bugfix | 5 | 7 | keep(project) |
High global usefulness (7-10):
High project relevance (7-10):
Low value (0-3) — candidates for suppression:
demote rather than suppress (suppression is harder to undo)