memex-agentic-memory — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited memex-agentic-memory (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An A-MEM-inspired workflow that uses existing memex primitives to produce higher-quality memory cards through structured observation, enrichment, retrieval, and deliberate linking.
This skill is experimental and requires opt-in.
Before proceeding, locate .memexrc using the same precedence as core memex:
$MEMEX_HOME/.memexrc (if MEMEX_HOME env var is set).memexrc~/.memex/.memexrc (fallback)Check that experimental.agenticMemory is exactly true.
If the flag is missing, false, or not exactly `true`, STOP. Use the standard `memex-retro` skill instead. Do not proceed with the agentic workflow.
Three equivalent interfaces — use whichever your environment supports:
| CLI (memex in PATH) | Plugin CLI fallback (Claude Code) | MCP tool (VSCode / Cursor) |
|---|---|---|
memex search <q> | node ~/.claude/plugins/cache/cc-plugins/memex/*/dist/cli.js search <q> | memex_search with query arg |
memex read <slug> | node ~/.claude/plugins/cache/cc-plugins/memex/*/dist/cli.js read <slug> | memex_read with slug arg |
memex write <slug> | node ~/.claude/plugins/cache/cc-plugins/memex/*/dist/cli.js write <slug> | memex_write with slug arg and body |
Resolution order: Try memex in PATH first. If not found, use the plugin fallback or MCP tools.
Identify whether there is a memory-worthy insight from the completed work.
Skip if the content is:
If nothing is worth remembering, stop here.
For each insight, draft one card:
yaml-array-roundtrip-bug)ambiguous without it
Generate candidate metadata as simple string fields:
---
title: <title>
created: <YYYY-MM-DD>
source: <client>
category: <optional>
context: <one sentence explaining domain and purpose>
keywords: <3-8 salient terms, comma-separated>
tags: <broad categories, comma-separated>
---Important: Store context, keywords, and tags as comma-separated strings, not YAML arrays. This avoids frontmatter serialization issues with the current stringifyFrontmatter implementation.
Before writing, search for related existing cards.
Try semantic search first:
memex search "<topic query>" --semantic --compact --limit 8If semantic search fails or is unavailable, fall back to keyword search:
memex search "<topic query>" --compact --limit 8Read the top candidates that look relevant:
memex read <slug>Limits to avoid runaway retrieval:
Choose exactly one primary action per insight:
| Action | When |
|---|---|
| create | No existing card covers the insight. Embed [[wikilinks]] in the new card pointing to related candidates when meaningfully related. |
| update | Existing card covers the same insight but lacks new detail |
| skip | Insight is duplicate, too obvious, or not durable |
Rules:
similarity or keyword match is only a candidate signal, not an automatic link decision.
Before writing, produce a preview of planned changes:
Planned memory changes:
- create: <slug> (<title>)
- update: <slug> because <reason why update is better than new card>
- links: [[a]], [[b]] because <relationship explanation>
- metadata: context/keywords/tags draftFor updates to existing cards, the agent MUST explain why updating is preferable to creating a new card.
Use existing memex write paths:
memex write <slug> << 'EOF'
---
title: <title>
created: <YYYY-MM-DD>
source: <client>
category: <optional>
context: <one sentence>
keywords: <comma-separated terms>
tags: <comma-separated categories>
---
<One atomic insight in your own words.>
This relates to [[existing-card]] because <explicit relationship explanation>.
EOFOn update, copy ALL existing frontmatter fields from the current card (title, created, source, category, context, keywords, tags, and any custom fields). Only modify the specific fields previewed in Step 6. Append new information to the body.
After writing:
memex read <slug>Confirm:
[[slug]] format)[[links]] must appear in sentences explaining the relationship.memex-retro instead.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.