| name | save-plan |
| description | Fallback for when the plan skill's auto-save fails or is skipped. Use to manually save a plan to Obsidian vault. Triggers on "플랜 저장", "save plan". |
plan 스킬의 자동 저장이 누락되었을 때 수동 fallback으로 사용한다. 일반적으로 plan 스킬이 직접 vault에 저장하므로 이 스킬이 자동 트리거되지는 않는다.
Save Plan — Plan to Obsidian Vault
Process
Delegate to archivist agent (haiku):
- Identify project —
scripts/identify-project.sh → PROJECT, OWNER
- Read source — Read the most recently modified
.md file in .plans/. If none exists, collect from conversation context
- Ensure project index —
scripts/ensure-project-index.sh PROJECT OWNER
- Create tmpfile — write to
/tmp/agmo-vault-{uuid}.md:
- Save —
scripts/vault-save.sh --type plan --project {PROJECT} --title "{title}" --file /tmp/agmo-vault-{uuid}.md
- Update index —
scripts/vault-update.sh section-append --path {PROJECT}/{PROJECT}.md --section Plans --content "- [[{PROJECT}/plans/[Plan] {title}]]"
- Issue link — If TODO-Issue.md has issue number,
scripts/vault-update.sh property-set --path {NOTE_REL_PATH} --key issue --value "#{number}"
- Cleanup —
rm /tmp/agmo-vault-{uuid}.md
- Report — output saved file path, suggest
obsidian-to-issue or implementation
Vault Path
${AGMO_VAULT_ROOT}/{PROJECT}/plans/[Plan] {title}.md
Title Derivation
Archivist MUST derive the title deterministically using these rules (in priority order):
- Orchestrator override — if the orchestrator explicitly provides a title in the prompt, use it as-is
- Plan heading — use the first
# heading from the plan content (e.g., # 인증 시스템 구현 계획 → "인증 시스템 구현 계획")
- Feature name — from the conversation context, use the feature/task name being planned
Archivist MUST NOT invent a creative title. The title must be traceable to its source.
CRITICAL: Do NOT include the type prefix in --title. vault-save.sh adds the [Plan] prefix automatically. Passing --title "[Plan] foo" results in [Plan]-[Plan]-foo.
Safety
- If a note with the same title exists, ask user before overwriting
- Never delete existing index entries (append only)