Files
David Ibia ea570af409 feat(omo): retire opencode and move its skills and commands to omo
- Move the vendored skills from .config/opencode/skills to
  .config/omo/skills, with provenance and local changes in its README
- Rewrite Impeccable's script paths to ~/.omo/agent/skills/impeccable so
  its detector and live-server verbs resolve under omo
- frontend-workflow hands screenshots to a visual-engineering task
  instead of opencode run
- Move the notes commands and /impeccable to .config/omo/prompts as omo
  prompt templates; setup-mcp stays behind because it writes
  opencode.json
- Archive DEVELOPMENT-WORKFLOW.md and UI-WORKFLOW.md under
  .config/omo/archive; nothing loads them
- link-ai-configs.sh links the skills into omo and Claude Code only and
  stops linking OpenCode's config, TUI, plugins and workflow docs
- setup-mac.sh and Brewfile.apps stop installing OpenCode; README and
  .withcontextconfig.jsonc follow the new layout

~/.config/opencode/AGENTS.md stays linked: omo's rules engine reads it
before ~/.claude/CLAUDE.md and stops at the first hit, so it carries the
shared preferences and keeps OMC's instructions out of omo.
2026-10-10 14:56:27 +01:00

3.0 KiB

description
description
Bidirectionally sync documentation files between local project and Obsidian vault

Sync Notes

Bidirectionally synchronizes documentation files between local project and Obsidian vault. Files are moved based on delegation rules (deleted from source after successful copy).

What This Command Does

This command performs bidirectional synchronization:

  • Local → Vault: Files matching "vault" patterns are moved from local to vault
  • Vault → Local: Files matching "local" patterns are moved from vault to local
  • Move operation: Files are DELETED from source after successful copy
  • Structure preserved: Directory structure is maintained in both directions
  • Dry-run preview: See what will happen before executing

Prerequisites:

  • .withcontextconfig.jsonc must exist (run /setup-notes first if not)
  • Configuration defines which files are delegated to vault vs local

Your Task

Execute the sync_notes tool immediately with dry-run by default for safety:

// Check for --execute flag in arguments
const args = '$ARGUMENTS';
const shouldExecute = args.includes('--execute');

const result = await sync_notes({
  dry_run: !shouldExecute,
});

return result;

Usage:

  • /sync-notes - Preview changes (safe, dry-run mode)
  • /sync-notes --execute - Execute sync for real (moves and deletes files)

Important: This is a destructive operation - files are DELETED from source after successful copy. Always preview first!

Parameters

dry_run (optional, default: false)

Preview mode - shows what will happen without making changes:

dry_run: true; // Preview only
dry_run: false; // Execute for real

Sync Behavior

Files with delegation decision "vault":

  • Moved from local → vault
  • Deleted from local after successful copy

Files with delegation decision "local":

  • Moved from vault → local
  • Deleted from vault after successful copy

Important notes:

  • Only files matching .withcontextconfig.jsonc patterns are synced
  • Directory structure is preserved in both locations
  • Files are DELETED from source automatically (this is a MOVE operation, not COPY)
  • The tool checks for configuration existence automatically

Example Output

=== Sync Results ===

Files moved from local to vault: 12
  - docs/guides/getting-started.md
  - docs/architecture/decisions/001-use-typescript.md
  - CHANGELOG.md
  ... (9 more files)

Files moved from vault to local: 3
  - README.md
  - CONTRIBUTING.md
  - src/utils/README.md

Total files deleted from source: 15
Errors: 0

⚠️ Source files were deleted after successful copy (expected behavior)
  • /setup-notes - Create configuration file
  • /preview-notes-delegation - Preview sync decisions
  • /ingest-notes - One-way copy to vault (keeps local files)
  • /teleport-notes - One-way download from vault (keeps vault files)
  • /validate-notes-config - Validate configuration

The sync-notes tool performs bidirectional synchronization with automatic source deletion.