원클릭으로
backport-journal
Backport existing plans into the Obsidian daily journal. Use when plans exist in the vault but are missing journal entries.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Backport existing plans into the Obsidian daily journal. Use when plans exist in the vault but are missing journal entries.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Estimate the scope and runtime of the frontmatter backfill — hardware specs, vault size, pending upgrades, and a calibrated time estimate. Read-only; nothing is modified.
Upgrade existing vault notes to the current frontmatter standard (type, date, duration_s, normalized model + context_window) so they appear in the managed Obsidian bases. Interruptible and resumable.
Display all configuration options with their effective value and which config layer set them.
Display current session details including ID, duration, turn counts, token usage, and tool stats.
Toggle session document capture on or off. Use /session on, /session off, or /session to toggle.
Rewrite the Obsidian daily journal for a selected day from existing plan/summary notes. Use when journal entries are missing, corrupted, or need regeneration.
| name | backport-journal |
| description | Backport existing plans into the Obsidian daily journal. Use when plans exist in the vault but are missing journal entries. |
Import plans from Claude Code's plans directory ($CLAUDE_CONFIG_DIR/plans/, defaulting to ~/.claude/plans/ when the env var is unset) into the Obsidian vault, creating both the vault plan note and a daily journal entry. Plans already imported (tracked via source_slug frontmatter) are skipped. The script resolves the directory itself — no path needs to be passed.
Run the discovery script from the plugin root directory to list all plans:
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backport-journal.ts --list 2>/dev/null
Parse the JSON output. Each entry has: sourceSlug, title, date, ampmTime, projectLabel, isImported.
Count totals:
Tell the user: "Found N plans in the Claude Code plans directory, M already imported to vault, K are new."
If no new plans exist, inform the user and stop.
List the plans still missing, formatted as:
N. [YYYY-MM-DD HH:MM AM] [project/name] Title
Use AskUserQuestion with these options:
If "Date range": Ask the user for start date and end date (YYYY-MM-DD format).
If "By project": Display the unique project labels from the missing plans list. Ask which project(s) to import.
If "Specific plans": Display a numbered list of new plans (format: N. [YYYY-MM-DD HH:MM AM] [project/name] Title). Ask the user which numbers they want (comma-separated). Map their selections back to sourceSlug values.
Use AskUserQuestion with these options:
Execute the script with --dry-run and the appropriate filters:
# All new plans
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backport-journal.ts --all --dry-run [--skip-summarize] 2>/dev/null
# Date range
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backport-journal.ts --all --from=YYYY-MM-DD --to=YYYY-MM-DD --dry-run [--skip-summarize] 2>/dev/null
# By project
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backport-journal.ts --all --project=project-name --dry-run [--skip-summarize] 2>/dev/null
# Specific plans
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backport-journal.ts --plans=slug1,slug2,slug3 --dry-run [--skip-summarize] 2>/dev/null
Add --skip-summarize if the user chose fast text extraction.
Parse the JSON result and display a summary: "Will import N plans, M will be skipped (already imported), E errors."
If there are errors, show them to the user.
Use AskUserQuestion to confirm:
Run the same command without --dry-run:
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backport-journal.ts --all [--skip-summarize] 2>/dev/null
Parse the JSON result and display the final report: "Imported N plans. M skipped. E errors."
If there were errors, list them for the user.