Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/timurgaleev/memex/migratenpx skills add timurgaleev/memex --skill migrategit clone --depth 1 https://github.com/timurgaleev/memexWhat 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 | $0.00024 | $0.01323 |
| Opus 5 | $0.00012 | $0.00661 |
| Sonnet 5 | $0.00005 | $0.00265 |
| Haiku 4.5 | $0.00002 | $0.00132 |
Grade A, and why
migrate scanned grade A with 0 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 3d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Migrate Skill
Universal migration from any wiki, note tool, or brain system into memex.
Contract
- Source data is never modified or deleted; migration is additive only.
- Every migrated page is verified round-trip: written via
page_put, read back viapage_get, spot-checked. - Cross-references from the source system (wikilinks, block refs, tags) are converted to memex equivalents.
- Migration is tested on a sample (5-10 files) before bulk execution.
- Post-migration health check confirms page count, link integrity, and embedding coverage.
Supported Sources
| Source | Format | Strategy |
|---|---|---|
| Obsidian | Markdown + [[wikilinks]] |
Direct import, convert wikilinks to memex links |
| Notion | Exported markdown or CSV | Parse Notion's export structure |
| Logseq | Markdown with ((block refs)) |
Convert block refs to page links |
| Plain markdown | Any .md directory | Import directory page-by-page |
| CSV | Tabular data | Map columns to frontmatter fields |
| JSON | Structured data | Map keys to page fields |
| Roam | JSON export | Convert block structure to pages |
Phases
- Assess the source. What format? How many files? What structure?
- Plan the mapping. How do source fields map to memex fields (type, title, tags, compiled truth, timeline)?
- Test with a sample. Import 5-10 files via
page_put, verify by reading them back withpage_get. - Bulk import. Import the full set, one
page_putper source file (from the shell,memex call page_put '<json>'scripts well for batches). - Verify. Check
statsandrun_doctor, spot-check pages. - Build links. Extract cross-references from content and create typed links with
link.
Obsidian Migration
- Import the vault's markdown files as pages (Obsidian vaults are markdown
directories) — preserve the relative path as the slug (
vault/<rel-path>or a cleaner taxonomy prefix if the vault maps onto one). - Wire the graph: memex canonicalizes slugs and resolves both
[[relative/path]]/[[relative/path|Display Text]]wikilinks and standard[text](page.md)markdown syntax during indexing, so most cross-references resolve as pages land. After the bulk import, sweep for anything unresolved:
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.
- 3d ago First seen · 140 lines · 24 tokens per session scan A e713b2d5dde7
migrate is a skill published in the GitHub repository timurgaleev/memex (8 stars, last pushed 8d ago), licensed MIT. It adds 24 tokens to every session and 1,323 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
design-mcp-server
Design the tool surface, resources, and service layer for a new MCP server. Use when starting a new server, planning a major feature expansion, or when the user describes a domain/API they want to expose via MCP. Produces a design doc at docs/design.md that drives implementation.
add-tool
Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
api-linter
MCP definition linter rules reference. Use when bun run lint:mcp or bun run devcheck reports a lint error or warning (format-parity, schema-is-object, name-format, server-json-, etc.) and you need to understand the rule, its severity, and how to fix it. Every rule ID the linter emits has an entry in this doc.
api-canvas
DataCanvas primitive reference — a Tier 3 SQL/analytical workspace for tabular MCP servers, backed by DuckDB. Use when registering tables from upstream APIs, running ad-hoc SQL across them, and exporting results. Covers the acquire → register → query → export flow, per-table TTL, the token-sharing pattern for…
api-errors
McpError constructor, JsonRpcErrorCode reference, and error handling patterns for @cyanheads/mcp-ts-core. Use when looking up error codes, understanding where errors should be thrown vs. caught, or using ErrorHandler.tryCatch in services.
field-test
Exercise tools, resources, and prompts against a live HTTP server via MCP JSON-RPC over curl. Starts the server, surfaces the catalog, runs real and adversarial inputs, and produces a tight report with concrete findings and numbered follow-up options. Use after adding or modifying definitions, or when the user asks to…