소스 정보
- 저장소
- iamtouchskyer/memex
- 최근 소스 활동
- 2026년 4월 12일 14:46
- 감지된 SKILL.md 언어
- 영어
- 스타
- 140
- 포크
- 40
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/iamtouchskyer/memex --skill memex-best-practices명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| 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 reference when writing or reviewing cards. |
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.
Before writing a card, verify:
[[wikilinks]] are embedded in sentences explaining why the relationship exists.---
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>.
| Field | Required | Format |
|---|---|---|
title | ✅ | Noun phrase, ≤60 chars |
created | ✅ | ISO date YYYY-MM-DD |
source | ✅ | Auto-filled by MCP/CLI client |
| Field | Format | Notes |
|---|---|---|
tags | YAML list | See Tag System below |
category | Single string | See Categories below |
links | YAML list of slugs | Explicit links (in addition to wikilinks) |
status | conflict / draft | Set by organize skill when needed |
[[slug]] wikilinks inline, within natural sentencesSlugs are permanent identifiers. Choose them carefully.
| ✅ Good | ❌ Bad | Why |
|---|---|---|
docker-compose-port-binding | note-1 | Descriptive vs. meaningless |
jwt-revocation-blacklist | docker | Specific vs. too broad |
nextjs-app-router-caching | how-to-fix-the-bug-we-found | Noun phrase vs. sentence |
vitest-mock-timer-gotcha | vitest_mock_timer | kebab-case vs. snake_case |
Use these prefixes to signal card type at a glance:
| Prefix | Use | Example |
|---|---|---|
adr-* | Architecture decision records | adr-monorepo-vs-polyrepo |
gotcha-* | Pitfalls, traps, surprising behavior | gotcha-yaml-date-auto-parse |
pattern-* | Reusable patterns, best practices | pattern-retry-with-backoff |
tool-* | Tool-specific tips and configs | tool-gh-cli-pagination |
These are conventions, not enforced constraints. Use them when they fit naturally.
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.
Tags serve two purposes: domain (what technology) and type (what kind of knowledge).
Use the specific technology or concept name:
docker · nodejs · typescript · react · nextjs · postgres · redis · git · api · css · linux · aws · azure
Classify the kind of insight:
| Tag | When to use |
|---|---|
decision | A choice was made between alternatives |
gotcha | Surprising behavior, easy-to-miss pitfall |
pattern | Reusable solution or approach |
howto | Step-by-step procedure |
reference | Factual lookup (config format, API shape) |
debug | Root cause analysis of a specific bug |
rate-limiting, not Rate Limiting)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:
<!-- ✅ 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]]
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 index card is a curated entry point to the entire knowledge graph — inspired by Luhmann's Schlagwortregister (keyword register).
memex-recall skill---
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 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 │
└─────────────────────────────────────────────────┘
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.
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:
A hub card is referenced by many others. It may be:
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.
If a card's information is outdated:
When importing notes from external tools like flomo, the bar is higher than session retro:
source: flomo (or the appropriate source). This enables anti-loopback guards in bidirectional sync.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.
| ❌ Don't | ✅ Do Instead |
|---|---|
| Write a card for every task | Only capture non-obvious insights |
| Copy-paste error messages as cards | Distill the root cause and fix |
| Create cards with no links | Always link to at least one related card |
Use vague slugs like notes or misc | Use descriptive slugs: postgres-connection-pool-sizing |
| Write essay-length cards | Keep cards atomic — split if needed |
| Hoard tags (5+ per card) | Use 1–3 tags: one domain + one type |
| Link without explaining why | Every [[link]] needs a surrounding sentence |
| Mechanical 1:1 import from external tools | Digest and curate — external notes are raw material |
| Push source: flomo cards back to flomo | Anti-loopback: never echo content to its origin |
For easy lookup, here's the complete format in one block:
---
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