recall
Load context from Obsidian vault (journals, session pages) and JSONL session history. Vault 위치/구조는 `documentation` skill 참조. Temporal queries scan JSONL by date, topic queries use ir BM25. Use when "recall", "어제 뭐 했지", "what did we work on", "이전 작업", "session history".
Best use case
recall is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Load context from Obsidian vault (journals, session pages) and JSONL session history. Vault 위치/구조는 `documentation` skill 참조. Temporal queries scan JSONL by date, topic queries use ir BM25. Use when "recall", "어제 뭐 했지", "what did we work on", "이전 작업", "session history".
Teams using recall should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/recall/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How recall Compares
| Feature / Agent | recall | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Load context from Obsidian vault (journals, session pages) and JSONL session history. Vault 위치/구조는 `documentation` skill 참조. Temporal queries scan JSONL by date, topic queries use ir BM25. Use when "recall", "어제 뭐 했지", "what did we work on", "이전 작업", "session history".
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Recall — Session History + Logseq Knowledge
세션 이력과 vault 지식을 통합 검색하는 skill.
## Scripts
```
~/dots/prompts/skills/recall/scripts/
├── recall_common.rb # 공유 유틸리티
├── extract-session.rb # JSONL → Obsidian 페이지 변환
├── recall-day.rb # 날짜 기반 세션 조회
├── recall-index.rb # 배치 인덱싱
├── post-session-hook.sh # Stop hook (자동 추출)
└── session-context.sh # SessionStart hook (세션 요약 자동 주입)
```
## Workflows
### 1. Temporal — 날짜로 세션 조회
트리거: `yesterday`, `today`, `last week`, `N days ago`, `YYYY-MM-DD`
```bash
ruby ~/dots/prompts/skills/recall/scripts/recall-day.rb list {date_expr}
```
결과에서 세션 목록 + Logseq 저널 내용을 보여준다.
특정 세션을 상세 보려면:
```bash
ruby ~/dots/prompts/skills/recall/scripts/recall-day.rb expand {N} {date_expr}
```
### 2. Topic — 키워드로 통합 검색
트리거: 시간 표현이 아닌 키워드 (예: "bean wiring", "transfer API")
**대체 표현 병렬 검색**: 사용자의 키워드로부터 3-4개의 대체 표현을 생성하고, 병렬로 `ir search --mode bm25`를 실행한다. 사용자의 기억과 실제 저장된 표현이 다를 수 있기 때문.
```bash
# 병렬 실행 (각각 별도 Bash 호출)
ir search --mode bm25 "{원본 키워드}" -n 5
ir search --mode bm25 "{대체 표현 1}" -n 5
ir search --mode bm25 "{대체 표현 2}" -n 5
ir search --mode bm25 "{대체 표현 3}" -n 5
```
결과를 document path 기준으로 dedup하여 상위 10개를 보여준다.
세션 페이지(`session/`)와 기존 vault 지식을 동시에 검색한다.
더 높은 품질이 필요하면 (시맨틱 검색):
```bash
ir search "{question}" -n 10
```
### 3. Index — 배치 추출 + 인덱싱
트리거: `/recall index`
```bash
ruby ~/dots/prompts/skills/recall/scripts/recall-index.rb [--days N] [--force] [--dry-run]
```
미추출 세션을 Obsidian 페이지로 변환하고 `ir update` + `ir embed` 실행.
## One Thing
모든 recall 결과 끝에, 세션 이력과 맥락을 종합하여 **다음으로 해야 할 가장 임팩트 있는 한 가지 행동**을 제안한다.
- 모멘텀, 블로커, 완료도를 고려
- 구체적이고 실행 가능한 제안 (일반적인 조언이 아닌)
- "Based on your sessions, the one thing to focus on: ..."
## Session Sync Hooks
매 턴마다 점진적으로 세션을 vault에 sync하고, 세션 종료 시 상태를 마무리한다.
`~/.claude/settings.json`에 3개 hook 등록:
| Hook | 동작 | status |
|------|------|--------|
| `SessionStart` | 프로젝트별 최근 3개 세션 Summary 자동 주입 | — |
| `UserPromptSubmit` | 매 사용자 입력 시 sync | `active` |
| `Stop` | 응답 완료 시 sync | `active` |
| `SessionEnd` | 세션 종료 시 최종 sync | `archived` |
SessionStart 자동 주입은 `CLAUDE_RECALL_AUTO_INJECT=0`으로 비활성화 가능.
compact 이벤트 시에는 건너뜀 (WIP 복원 훅이 더 구체적).
기존 페이지가 있으면 idempotent하게 업데이트하며, 사용자가 vault에서 추가한 섹션/프로퍼티는 보존된다.
## Session Page Format (Logseq)
파일명: `session___YYYY-MM-DD {slug} {session-id-8자}.md`
```
project:: [[session-{name}]]
date:: YYYY-MM-DD
status:: archived
session-id:: {uuid-short}
messages:: {count}
- # Summary
- # Conversation
- # Files
```
`session/` namespace로 vault에 통합.
`(property status archived)` 쿼리로 필터 가능.Related Skills
tree-sitter
AST parsing, S-expression queries, tag extraction via tree-sitter CLI. Use when parsing code into AST, extracting tags, visualizing syntax trees, or performing structural analysis beyond ast-grep.
tidy
Performs small structural code cleanups (tidyings). Use when preparing code changes, removing dead code, reducing nesting, or cleaning up before feature work.
task-naming
CLI command naming convention for Justfile and Makefile. Enforces GAT (group-action-target) word order, grouped listing, mandatory descriptions. Use when creating Justfile recipes, Makefile targets, or reviewing task runner configs for naming consistency. Also use when asking "what should I name this command?" for task runners. Do NOT use for npm scripts, mise tasks, or Claude Code skill naming.
strategic-thinking
체계적 의사결정 프레임워크. First Principles, Trade-off 분석, Cognitive Bias 점검
security
Security expert hub. Code security review (OWASP Top 10, injection, XSS, credentials), vulnerability assessment (KISA 292 items, Unix/Windows server, web pentest, network, DBMS, cloud), ISMS-P certification (101 items, checklist, implementation plan), EFSR financial regulation compliance (전자금융감독규정, 12 articles). 보안 리뷰, 취약점 점검, 인증 준비, 금융규정 준수.
reflect
방향 수정 신호 감지 및 세션 전체 회고. Use when detecting course correction signals ("아니/잠깐/근데"), session retrospective, or reviewing overall progress. /reflect 또는 "회고해줘"로 수동 호출.
refactoring
기존 코드의 안전한 리팩토링. Characterization Test로 동작 보존하며 구조 개선
qmd
Searches local markdown notes and documents using ir CLI. Use when searching notes, querying documents, managing collections, or retrieving document content.
qa
기능별 QA 체크리스트 생성, 수동 테스트 실행, 결과 기록. Use when QA 테스트, 체크리스트 만들기, 수동 검증, 기능 확인, qa 진행, checklist. Do NOT use for automated test code (use plan-review tdd / code-review instead) or BDD spec (use plan-review bdd instead).
principles
소프트웨어 공학 원칙 바스켓. 원칙 카탈로그 열람, 코드/설계/프로세스/테스트의 원칙 준수도 평가, 위반 식별 및 개선 가이드. Use when 원칙 평가, 원칙 점검, 원칙 검증, principles check, 코드 품질 근본 진단, 설계 원칙 리뷰, 아키텍처 원칙 점검, 프로세스 원칙 점검, 테스트 원칙 점검, 테스트 설계, or when other review skills need a principled foundation. Do NOT use for specific code review (use code-review), security audit (use security), or strategic decisions (use strategic-thinking).
ppt
Generates PowerPoint architecture diagrams with auto-layout and orthogonal routing using PPTXGenJS. Use when creating AWS architecture diagrams, infrastructure layouts, system design slides, IDC 구성도, or any diagram that needs boxes with right-angle connectors in .pptx format. Also use when 아키텍처 다이어그램, 인프라 구성도, PPT 생성, 구성도 만들기, 슬라이드 자동 생성. Do NOT use for simple text-only presentations (use PowerPoint directly), data charts (use data-investigation), or ASCII/Mermaid diagrams (use diagram skill).
plan-review
Reviews execution plans for scope, codebase validity, risk, and completeness before implementation. Use when reviewing a plan, 계획 리뷰, 계획 검증, checking plan quality before execution, or "리뷰해줘" after plan mode. Includes TDD, BDD, DDD methodology domains.