Obsidian Memory Capture
Use this skill to ingest Codex session outputs into raw inbox notes with deduplicated, append-only capture.
Bundle layout
- Script:
scripts/capture_session_answers.py - Config:
scripts/config.json - Install wizard:
INSTALL_WIZARD.json - Hook installer:
scripts/install_post_operation_hook.py - Hook templates:
scripts/hooks/post_operation_obsidian_memory.{sh,py}
When installed via askill, the installer prompts for machine-specific paths and writes scripts/config.json. It also offers an opt-in action to install and enable the Codex post-operation hook locally (~/.codex/hooks + ~/.codex/config.toml). You can still edit any file manually later.
Standard usage
From this skill directory:
python3 scripts/capture_session_answers.py
Optional explicit session:
python3 scripts/capture_session_answers.py --session-id "$CODEX_THREAD_ID"
Dry run preview:
python3 scripts/capture_session_answers.py --dry-run
Post-Operation Hook (recommended)
If you opt in during askill installation, hook files and config are installed automatically.
Manual setup is still supported. Add to ~/.codex/config.toml:
notify = ["~/.codex/hooks/post_operation_obsidian_memory.sh"]
notifications = ["agent-turn-complete"]
Hook scripts:
~/.codex/hooks/post_operation_obsidian_memory.sh~/.codex/hooks/post_operation_obsidian_memory.py
Rules
00-Inboxis raw capture only; do not normalize here.- Default project slug is
obsidian-memory. - The script ingests assistant messages from Codex session JSONL and appends only unseen entries.
- The script must be called at the end of each answered turn when this memory workflow is active.
- In interactive use, prefer the post-operation hook so capture happens automatically after each answer.