Agent skill

Memex Best Practices

by iamtouchskyer in iamtouchskyer/memex

Zettelkasten best practices for building a high-quality knowledge graph.

MITAuto-check passedKnowledge Management

Install Memex Best Practices

skills CLI
$ npx skills add iamtouchskyer/memex --skill memex-best-practices -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install iamtouchskyer/memex memex-best-practices --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/iamtouchskyer/memex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/memex-best-practices .claude/skills/memex-best-practices && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
memex-best-practices
GitHub stars
143
Token cost
~2.9k tokens
SKILL.md length
1,141 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Zettelkasten best practices for building a high-quality knowledge graph.

  • Tasks that involve Note-taking
  • SKILL.md covers Card Quality Checklist, Card Format, Slug Naming and Categories, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Knowledge graphs

What it does

Memex Best Practices is an agent skill from iamtouchskyer/memex. Zettelkasten best practices for building a high-quality knowledge graph.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Knowledge Management, covering Note-taking and Knowledge graphs. It works with Model Context Protocol. The repository describes itself as: Zettelkasten-based persistent memory for AI coding agents. Works with Claude Code, Cursor, VS Code Copilot, Codex, Windsurf & any MCP client. No vector DB — just markdown + git… The licence is MIT.

When your agent uses it

  • Tasks that involve Note-taking
  • Tasks that involve Knowledge graphs

Example prompts

  • “/memex-best-practices”

Requirements

  • Node.js
  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit 453c0e3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Memex Best Practices loads about 2.9k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 1,141 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~23
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from iamtouchskyer/memex at commit 453c0e3, republished under its MIT licence (© iamtouchskyer). 1,141 words, ~2,898 tokens.

Download SKILL.mdSave it as .claude/skills/memex-best-practices/SKILL.md (or your agent's skills folder).
name
memex-best-practices
description
Zettelkasten best practices for building a high-quality knowledge graph.
whenToUse
When the user asks about how to write good memory cards, naming conventions, linking strategies, or general Zettelkasten methodology. Also useful as a…

Zettelkasten Best Practices

A reference guide for writing high-quality memex cards that compound in value over time. Covers card format, naming conventions, tagging, linking strategy, and graph health maintenance.

This is NOT a workflow skill (see memex-recall, memex-retro, memex-organize for those). This is a quality standard — consult it when writing or reviewing cards.

Card Quality Checklist

Before writing a card, verify:

  • Atomic — one insight per card. If you can split it, do.
  • Own words — distill and rephrase, don't copy-paste. This is the Feynman method: if you can't explain it simply, you don't understand it well enough.
  • Non-obvious — would this change how you approach a similar task in the future? If not, skip it.
  • Linked in context — [[wikilinks]] are embedded in sentences explaining why the relationship exists.

Card Format

markdown
---
title: "Short Noun Phrase ≤60 chars"
created: "YYYY-MM-DD"
source: "<auto-filled by client>"
tags: [domain-tag, type-tag]
category: "<domain>"
---

One atomic insight, written in your own words.

This relates to [[other-card]] because <explanation of the relationship>.
Required Frontmatter
FieldRequiredFormat
title✅Noun phrase, ≤60 chars
created✅ISO date YYYY-MM-DD
source✅Auto-filled by MCP/CLI client
Optional Frontmatter
FieldFormatNotes
tagsYAML listSee Tag System below
categorySingle stringSee Categories below
linksYAML list of slugsExplicit links (in addition to wikilinks)
statusconflict / draftSet by organize skill when needed
Body Rules
  • Write in plain Markdown
  • Use [[slug]] wikilinks inline, within natural sentences
  • Keep cards concise — aim for a few paragraphs, not an essay
  • Code examples are fine, but the insight should stand without them

Slug Naming

Slugs are permanent identifiers. Choose them carefully.

Format
  • kebab-case, all lowercase English
  • 3–60 characters
  • Descriptive but concise
Examples
✅ Good❌ BadWhy
docker-compose-port-bindingnote-1Descriptive vs. meaningless
jwt-revocation-blacklistdockerSpecific vs. too broad
nextjs-app-router-cachinghow-to-fix-the-bug-we-foundNoun phrase vs. sentence
vitest-mock-timer-gotchavitest_mock_timerkebab-case vs. snake_case
Special Slug Prefixes

Use these prefixes to signal card type at a glance:

PrefixUseExample
adr-*Architecture decision recordsadr-monorepo-vs-polyrepo
gotcha-*Pitfalls, traps, surprising behaviorgotcha-yaml-date-auto-parse
pattern-*Reusable patterns, best practicespattern-retry-with-backoff
tool-*Tool-specific tips and configstool-gh-cli-pagination

These are conventions, not enforced constraints. Use them when they fit naturally.

Categories

Assign one category per card to indicate its domain:

architecture · backend · frontend · devops · tooling · security · workflow · testing · data

Categories are broad. Use tags for fine-grained classification.

Tag System

Tags serve two purposes: domain (what technology) and type (what kind of knowledge).

Domain Tags

Use the specific technology or concept name:

docker · nodejs · typescript · react · nextjs · postgres · redis · git · api · css · linux · aws · azure

Type Tags

Classify the kind of insight:

TagWhen to use
decisionA choice was made between alternatives
gotchaSurprising behavior, easy-to-miss pitfall
patternReusable solution or approach
howtoStep-by-step procedure
referenceFactual lookup (config format, API shape)
debugRoot cause analysis of a specific bug
Tagging Guidelines
  • Use 1–3 tags per card (one domain + one type is ideal)
  • Prefer existing tags over creating new ones
  • Tags are lowercase, single-word or hyphenated (rate-limiting, not Rate Limiting)

Linking Strategy

Links are the most valuable part of a Zettelkasten. They create a network that surfaces unexpected connections.

Every [[wikilink]] should appear in a sentence that explains the relationship:

markdown
<!-- ✅ Good: link explains WHY -->
This contradicts what we found in [[jwt-migration]] — stateless tokens
can't be revoked without a server-side blacklist.

<!-- ❌ Bad: link without context -->
Related: [[jwt-migration]]
  • Contradiction — "This conflicts with [[X]] because..."
  • Extension — "This builds on [[X]] by adding..."
  • Example — "[[X]] is a concrete instance of this pattern"
  • Alternative — "We chose this over the approach in [[X]] because..."
  • Prerequisite — "Understanding [[X]] is necessary context for this"
Avoid Over-Linking

Not every card needs to link to every related card. Link when the connection would surprise someone or change how they read either card.

The Keyword Index

The index card is a curated entry point to the entire knowledge graph — inspired by Luhmann's Schlagwortregister (keyword register).

Purpose
  • Provides structured entry points for the memex-recall skill
  • Groups cards by concept, not by chronology
  • Each card appears under 1–2 categories
Format
markdown
---
title: Keyword Index
created: <date>
source: organize
---

## Authentication
- [[jwt-revocation-blacklist]] — Server-side revocation for stateless tokens
- [[oauth2-pkce-flow]] — PKCE flow for public clients (SPAs, mobile)

## Docker
- [[docker-compose-port-binding]] — 0.0.0.0 vs 127.0.0.1 gotcha
- [[docker-multi-stage-builds]] — Reducing image size with build stages

The index is maintained by the memex-organize skill. You can also update it manually after writing cards.

The Recall → Work → Retro Loop

The core memex workflow is a learning cycle:

┌─────────────────────────────────────────────────┐
│                                                 │
│   ┌──────────┐    ┌──────────┐    ┌──────────┐ │
│   │  RECALL  │───▶│   WORK   │───▶│  RETRO   │ │
│   │          │    │          │    │          │ │
│   │ Search   │    │ Do the   │    │ Distill  │ │
│   │ existing │    │ actual   │    │ insights │ │
│   │ cards    │    │ task     │    │ to cards │ │
│   └──────────┘    └──────────┘    └──────────┘ │
│        ▲                               │       │
│        └───────────────────────────────┘       │
│              Cards feed future recalls          │
└─────────────────────────────────────────────────┘
  • Recall (task start) — search for relevant prior knowledge before starting work. Avoid repeating past mistakes.
  • Work — do the actual task, informed by what you recalled.
  • Retro (task end) — reflect on what you learned. Write cards for non-obvious insights only.

This loop is implemented by the memex-recall and memex-retro skills. The key insight: retro is not just documentation — it's how you learn. Writing in your own words forces deeper understanding than simply bookmarking a Stack Overflow link.

Show full SKILL.md (432 more words)Show less

Graph Health Maintenance

A knowledge graph degrades without maintenance. The memex-organize skill handles this, but here are the principles:

An orphan is a card that nothing links to. It may be:

  • Genuinely standalone — fine, leave it alone
  • Missing connections — search for related cards and add contextual links

A hub card is referenced by many others. It may be:

  • Appropriately central (e.g., a foundational concept) — fine
  • Too broad — consider splitting into smaller, more atomic cards
Contradictions

When two cards disagree, this is valuable signal — not a bug. The organize skill flags contradictions with status: conflict for human resolution. Don't auto-resolve conflicting beliefs.

Staleness

If a card's information is outdated:

  • Update it if the new info is a simple correction
  • Write a new card + archive the old one if the new understanding is significantly different

Importing from External Sources (e.g., Flomo)

When importing notes from external tools like flomo, the bar is higher than session retro:

  • Digest, don't copy. External notes are raw material, not Zettelkasten cards. Read them, identify the genuine insight, and rewrite as an atomic card.
  • Tag with source: flomo (or the appropriate source). This enables anti-loopback guards in bidirectional sync.
  • Merge related notes. 5 flomo memos about the same topic → 1 card with the distilled insight.
  • Skip garbage. Short fragments, bookmarks without context, copy-pasted quotes with no personal insight — these don't make it in.
  • Quality checklist still applies. Imported cards must be atomic, in your own words, non-obvious, and linked.
Anti-Loopback Rule

Cards with source: flomo are never pushed back to flomo. This is enforced in code and must not be removed. The same principle applies to any future external source: never echo content back to its origin.

Anti-Patterns

❌ Don't✅ Do Instead
Write a card for every taskOnly capture non-obvious insights
Copy-paste error messages as cardsDistill the root cause and fix
Create cards with no linksAlways link to at least one related card
Use vague slugs like notes or miscUse descriptive slugs: postgres-connection-pool-sizing
Write essay-length cardsKeep cards atomic — split if needed
Hoard tags (5+ per card)Use 1–3 tags: one domain + one type
Link without explaining whyEvery [[link]] needs a surrounding sentence
Mechanical 1:1 import from external toolsDigest and curate — external notes are raw material
Push source: flomo cards back to flomoAnti-loopback: never echo content to its origin

Quick Reference Card

For easy lookup, here's the complete format in one block:

markdown
---
title: "Descriptive Noun Phrase ≤60 chars"
created: "2025-01-15"
source: "<auto>"
tags: [typescript, gotcha]
category: "backend"
---

<One atomic insight in your own words.>

<Context with [[wikilinks]] explaining relationships.>

Slug: kebab-case-english-3-to-60-chars Tags: 1 domain + 1 type, lowercase Links: in sentences, not in lists Length: a few paragraphs, not an essay

© iamtouchskyer, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/memex-best-practices of iamtouchskyer/memex.

Open the folder on GitHubat commit 453c0e3

Compare with similar skills

Memex Best Practices next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Memex Best Practices compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Memex Best Practices this skilliamtouchskyer/memex143—~2.9kAutomated safety check: PassMIT
Obsidian Canvas BoardsAgriciDaniel/claude-obsidian15k—~1.4kAutomated safety check: PassMIT
Gitnexus Guideaws-samples/sample-kolya-br-proxy10611 repos~867Automated safety check: PassMIT-0
Sage Wikixoai/sage-wiki623—~2.4kAutomated safety check: PassMIT
Joplinalondmnt/joplin-mcp173—~897Automated safety check: PassMIT
Remnic Entitiesjoshuaswarren/remnic218—~612Automated safety check: PassMIT

Similar skills

  • Obsidian Canvas Boards

    AgriciDaniel/claude-obsidian

    Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.

    15k GitHub stars~1.4k tokensUpdated 29 days ago
    Knowledge ManagementAuto-check passed
  • Gitnexus Guide

    aws-samples/sample-kolya-br-proxy

    Official

    A skill your agent uses when the user asks about GitNexus itself — available tools, how to query the knowledge graph, MCP resources, graph schema, or workflow reference.

    106 GitHub starsUsed in 11 repos~867 tokens
    Knowledge ManagementAuto-check passed
  • Sage Wiki

    xoai/sage-wiki

    Reference skill for sage-wiki — local-first knowledge graph with MCP server, REST API, compiled wiki, and Obsidian-compatible output.

    623 GitHub stars~2.4k tokensUpdated 4 days ago
    Knowledge ManagementAuto-check passed
  • Joplin

    alondmnt/joplin-mcp

    Orchestration guidance for Joplin note, notebook, and tag management tools

    173 GitHub stars~897 tokensUpdated 28 days ago
    Knowledge ManagementAuto-check passed
  • Remnic Entities

    joshuaswarren/remnic

    Browse entities in the Remnic knowledge graph and surface their facts and relationships.

    218 GitHub stars~612 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Knowledge Layer

    study8677/repobrain

    High-level deployment wrapper over RepoBrain core with graph-first knowledge injection and all-file support.

    1.3k GitHub stars~424 tokensUpdated today
    Knowledge ManagementAuto-check passed

More from iamtouchskyer/memex

  • Agent Prompts Warmup

    iamtouchskyer/memex

    Audit and sync agent instruction files across all coding agent formats.

    143 GitHub stars~1k tokensUpdated 1 mo ago
    Auto-check passed
  • Memex Agentic Memory

    iamtouchskyer/memex

    A-MEM-inspired agentic memory workflow for structured knowledge capture.

    143 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Memex Organize

    iamtouchskyer/memex

    Periodic maintenance of the Zettelkasten card network. An agent skill from iamtouchskyer/memex.

    143 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Memex Recall

    iamtouchskyer/memex

    Load prior knowledge from Zettelkasten memory when the task likely benefits from past context.

    143 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Memex Retro

    iamtouchskyer/memex

    Save insights from completed tasks to Zettelkasten memory. An agent skill from iamtouchskyer/memex.

    143 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Memex Sync

    iamtouchskyer/memex

    Sync Zettelkasten cards across devices via git. An agent skill from iamtouchskyer/memex.

    143 GitHub stars~533 tokensUpdated 1 mo ago
    Auto-check passed

Questions about Memex Best Practices

What does Memex Best Practices do?

Zettelkasten best practices for building a high-quality knowledge graph. Memex Best Practices is an agent skill from iamtouchskyer/memex. Zettelkasten best practices for building a high-quality knowledge graph.

When should I use Memex Best Practices?

Memex Best Practices fits situations like: tasks that involve Note-taking; tasks that involve Knowledge graphs.

How do I install Memex Best Practices in Claude Code?

Run `npx skills add iamtouchskyer/memex --skill memex-best-practices -a claude-code`. Or copy the skill folder (skills/memex-best-practices in iamtouchskyer/memex) into .claude/skills/memex-best-practices in your project. Claude Code loads it when a task matches its description.

How do I install Memex Best Practices in Codex?

Run `npx skills add iamtouchskyer/memex --skill memex-best-practices -a codex`. Or copy the skill folder (skills/memex-best-practices in iamtouchskyer/memex) into .agents/skills/memex-best-practices in your project. Codex loads it when a task matches its description.

Can I use Memex Best Practices in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iamtouchskyer/memex --skill memex-best-practices -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memex-best-practices, .gemini/skills/memex-best-practices, .github/skills/memex-best-practices and .opencode/skills/memex-best-practices in your project.

What does Memex Best Practices need to run?

SKILL.md names no scripts, command-line tools or credentials: Memex Best Practices is instructions for the agent only. Our summary lists: Node.js; Docker.

Does Memex Best Practices access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Memex Best Practices safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Memex Best Practices use?

Memex Best Practices is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Memex Best Practices use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Memex Best Practices?

Skills that share tags, products or a category with Memex Best Practices: Obsidian Canvas Boards (AgriciDaniel/claude-obsidian, 15k stars), Gitnexus Guide (aws-samples/sample-kolya-br-proxy, 106 stars), Sage Wiki (xoai/sage-wiki, 623 stars) and Joplin (alondmnt/joplin-mcp, 173 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Memex Best Practices?

iamtouchskyer (a GitHub user) maintains it in iamtouchskyer/memex, which has 143 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 8, 2026.

Source: iamtouchskyer/memex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.