cxc-recall

MUST USE for past-session recall — when a term from prior work is unfamiliar, context feels lost after a compact/restart, or the user references earlier work (그때, 지난번, 저번 세션, 예전에 했던, 기억나?, last time,

SKILL.md

GitHub

recall — Past-Session Recall Search

Codex already persists every session (~/.codex/sessions/**/rollout-*.jsonl) and a per-thread memory store (~/.codex/memories/). This skill is the discipline for SEARCHING that history instead of asking the user to repeat themselves.

Injected memory_summary.md and SessionStart snippets are locators, never proof. Search, then open the winning file, before answering a past-work question.

Recall Lookup Scope (read first)

When ANY of these happen, search BEFORE asking the user:

  • A term, file, decision, or codename from prior work is unfamiliar.
  • Context seems lost after a compact, restart, or session handoff.
  • The user references earlier work: "그때 그거", "지난번에 하던 거", "저번 세션에서", "예전에 만든", "last time", "the thing we did earlier", "as discussed previously".
  • You are about to write "I don't have context about X" — search X first.

Never call memories.add_ad_hoc_note from this skill.

Natural-language → keyword ladder

Do not start with the user's sentence. Rewrite, then search. Each rewrite is its own query (--days 0, chat then memory unless the noun is known to live in notes):

  1. Proper nouns / versions / hostnames / filenames as a single token (BundledPluginsMarketplace, 2.49.0, a thread id).
  2. Korean/English synonym pair of that noun (도그푸딩 and dogfooding, 플러그인 and plugin restart, 배포 and provenance / SLSA).
  3. Short 2–3 word keyword query (로컬 소스 서비스, 2.49.0 배포 npm).
  4. cxc chat search "<keywords>" --days 0 --no-tools — find the conversation. Add --context 2. Add --source all if the work was delegated.
  5. cxc memory search "<keywords>" — durable summary. Omit --no-chat so empty memory can backfill up to 5 raw messages labelled (chat/chat).
  6. Open the winning rollout / memory file (rollout_path is on the hit). Do not answer from the excerpt.
  7. Only if the rewritten queries miss, ask the user and list what you searched.

Result checks (before treating a hit as the answer)

  • Request vs completion: a user line or "진행할게" is a locator, not proof. Prefer assistant text that names the outcome (healthz, npm latest, recovered).
  • Correction history: later ad-hoc notes and MEMORY.md entries override older summaries. If two hits disagree, read the newer file, then the rollout.
  • --any hits are not evidence by mere existence.

Conditional References

Condition Reference
Selecting a version match Result checks
Running chat/memory commands, selecting flags, scoring results, diagnosing or requeuing extraction Commands and engines
Delegated work, managed worktree, project/home scope, native memory tools, empty results or JSON output Scope and results
Aside or kim_wiki is installed and extra memory evidence is needed Optional memory lanes
Index maintenance or understanding SessionStart/compaction injection Index and injection