정보
이 스킬은 추론 패턴과 편향(예: 앵커링 또는 확증 편향)을 메멕스 저장소에 기록하여 나중에 검토할 수 있도록 합니다. 세션 중간이나 종료 시 관찰 내용을 포착하여 `memex add`로 전달하고, 추출기를 실행하여 쿼리 가능하게 만듭니다. 또한 관찰 내용을 마크다운 파일에 추가할 수 있는 보조 경로도 제공합니다.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/memex-observeClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Log a Memex Observation
Capture a bias-log / vipassana reflection — a pattern you noticed in your own
reasoning — into the canonical memex store while the context is still fresh.
This is the focused wrapper for the umbrella memex skill's "log an
observation" step: use it when the task is purely record this bias, not the
full session-start-to-close flow.
When to Use
- Immediately when a bias surfaces in your reasoning. Anchoring on an early decision, confirming a hypothesis instead of testing it, trusting a summary over source truth — log it the moment you catch it, not at session end where it is reconstructed from memory and loses specificity.
- When a pace tell or verification gap appears. Rushing past a confusing measurement, re-deriving something that already exists, skipping a check you know matters.
- At session close, after
meditateorobserve. Either reflection skill can surface a new pattern worth persisting; this skill deposits it. - When backfilling. Several observations accumulated in notes and need to land in the canonical store in one pass — use the secondary path.
Inputs
- Required: The memex repo checked out (a checkout of
github.com/pjt222/memex) with cwd = repo root. Theextractstep defaults its registry path toextractors/sources.ymlrelative to cwd. - Required:
$MEMEX_STORE_PATHset (everymemexcommand hard-errors without it). - Required for the db write:
$MEMEX_PG_URLset, and a running Postgres. Pass--no-dbto skip the db and write only the markdown store. - Required: a built binary —
cargo build --release -p memex-cliproduces./target/release/memex(not onPATHby default). - Optional:
$MEMEX_EMBED_PROVIDER=voyage+$VOYAGE_API_KEYif you intend to query the observation back via semantic/hybrid search afterward.
Procedure
Step 1: Shape the observation body
Read the authoritative "Two paths to add an observation" block in
docs/OBSERVATIONS.md (lines 10-21) and the existing entries below it for
voice. An observation has three parts: what the bias was, what to do next
time, and where it came from. The shape (example, current as of v0.4.0;
docs/OBSERVATIONS.md is the source of truth and is parsed by
crates/memex-extract/src/meditate_vipassana.rs):
<Description of the bias as it surfaced>. Mitigation: <what to do next time>. Origin: <date> + <context>.
Expected: A one-to-few-sentence body ending in a Mitigation: clause and
an Origin: clause. A short bias name (the --title) distinct from the body.
On failure: If you cannot name the mitigation, the observation is not yet ripe — keep observing. A bias with no "what to do next time" is a complaint, not a logged pattern.
Step 2 (Path A, primary): Add via the CLI over stdin
The body is read from stdin and --title is required (there is no
default). Pipe the body in:
echo "<body>. Mitigation: <...>. Origin: <date> + <context>." \
| ./target/release/memex add \
--type observation \
--title "<short bias name>" \
--tags bias-log,vipassana
Add --no-db to write only the markdown store (skips the $MEMEX_PG_URL
requirement). A concrete example:
echo "Anchored on the first store layout and never re-opened it after scope grew. Mitigation: schedule a re-check beat at the next milestone boundary. Origin: 2026-06-17 + M5 watcher scoping." \
| ./target/release/memex add \
--type observation \
--title "Anchoring on initial store layout" \
--tags bias-log,vipassana
Expected: The command exits 0 and prints the new node's UUID and store
path (tab-separated). The entry now exists in the store (and the db, unless
--no-db).
On failure: "$MEMEX_STORE_PATH not set" → export it. A db connection
error → export $MEMEX_PG_URL and confirm Postgres is up, or re-run with
--no-db. "--title is required" → supply --title; it has no default.
Empty/hung on stdin → you did not pipe a body; memex add blocks waiting for
stdin.
Step 3 (Path A, primary): Make it queryable
The add deposits the node, but the vipassana index is rebuilt by the
extractor. Run it from the repo root (the command is cwd-sensitive — the
--registry default is extractors/sources.yml relative to cwd):
./target/release/memex extract meditate-vipassana --registry extractors/sources.yml
meditate-vipassana is the extractor name; extract matches registry
entries on their extractor: field, so this re-runs the observations
source. Use --dry-run first to preview without writing.
Expected: Exits 0; prints extraction stats (nodes/edges touched). The
observation is now queryable, e.g.
./target/release/memex query "bias-log" --node-type observation --mode semantic.
On failure: "no registry entries match extractor meditate-vipassana" →
you are not at the repo root, or passed the wrong --registry; cd to the
repo root and pass --registry extractors/sources.yml explicitly. Semantic
query returns nothing → embeddings are not configured; set
$MEMEX_EMBED_PROVIDER=voyage + $VOYAGE_API_KEY, or query with
--mode keyword (but note --node-type is silently ignored in keyword mode).
Step 4 (Path B, secondary): Append a numbered bullet
For batch backfill, or when you prefer editing the canonical markdown
directly, append to the ## Vipassana observations block in
docs/OBSERVATIONS.md. Numbering is monotonic: read the current maximum
entry number (9 at v0.4.0) and use max + 1. The bullet shape:
N. **Title.** body. Mitigation: <what to do next time>. Origin: <date> + <context>.
Then run the extractor (Step 3) to index the new bullet into the store and db.
Expected: A new entry numbered one above the prior maximum, ending in
Mitigation: and Origin: clauses, indexed by the Step 3 extract.
On failure: Extractor skips your bullet → the parser only accepts entries
under ## Vipassana observations, ## Bias log, ## Bias-log observations,
or ## Vipassana (case-insensitive), in the N. **Title.** ... shape;
confirm the heading and the bold-title marker. Duplicate or non-monotonic
number → renumber so the sequence has no gaps or repeats.
Validation
- The body ends with a
Mitigation:clause and anOrigin:clause - Path A:
memex addexited 0 and printed a UUID;--titlewas supplied - Path A:
memex extract meditate-vipassanaexited 0 after the add - Path B: the new bullet number is exactly the prior maximum + 1, with no gaps or repeats, under a parser-recognized heading
- The observation describes the agent's own reasoning pattern, not a
reusable architectural fact (that belongs in a
conceptnode) - The observation is logged before session end, not silently dropped
Common Pitfalls
- Forgetting stdin.
memex addreads the body from stdin and blocks if nothing is piped. Alwaysecho "..." | memex add ...(or redirect a file); there is no--bodyflag. - Omitting
--title. It is required and has no default. The short bias name is the title; the full context is the piped body. - Running
extractfrom the wrong directory.--registrydefaults toextractors/sources.ymlrelative to cwd. Run from the repo root or pass--registryexplicitly, or the extractor finds no entries. - Confusing this with
memex init.memex initis CLI store/db setup — it is not part of logging an observation and not thememex-initsession ritual. Never runmemex inithere. - Logging at session end only. Biases caught at close are reconstructed from memory and lose specificity. Log them the moment they surface.
- Logging a concept as an observation. Observations are about your
reasoning patterns. A reusable fact about the system is a
conceptnode. - Expecting
--node-typeto filter keyword queries. It is silently ignored inkeywordmode (tracked tech-debt); onlysemantic/hybridhonor it, and those need embeddings configured.
Related Skills
memex— the umbrella skill; this is the focused wrapper for its "log an observation" step. Use the umbrella for the full session flow.memex-wrap— session-close counterpart; flushes mid-session observations to the canonical store and verifies the trail before handoff.meditate— full reflective close; its vipassana output is exactly what this skill persists.observe— sustained neutral pattern recognition; when it surfaces a recurring reasoning pattern, log it here.
GitHub 저장소
Frequently asked questions
What is the memex-observe skill?
memex-observe is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform memex-observe-related tasks without extra prompting.
How do I install memex-observe?
Use the install commands on this page: add memex-observe to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does memex-observe belong to?
memex-observe is in the Design category, tagged design.
Is memex-observe free to use?
Yes. memex-observe is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
연관 스킬
executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.
이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.
이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.
이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.
