Agent skill

sync-upstream-obsidianos

Pull structural updates from upstream ObsidianOS into the local vault.

Stars 152
Forks 10

Install this agent skill to your Project

npx add-skill https://github.com/benoror/obsidianos_work/tree/main/.agents/skills/sync-upstream-obsidianos

SKILL.md

Sync Upstream ObsidianOS

Shortcut to run .scripts/sync-upstream.sh.

Usage

Command What it does
/sync-upstream-obsidianos Preview and merge upstream updates
/sync-upstream-obsidianos preview Preview only — show what's new without merging

Workflow

1. Check prerequisites

  • Verify upstream remote exists: git remote get-url upstream. If missing, tell the user to add it:
    git remote add upstream <url-to-upstream-repo>
    
  • Verify working tree is clean (git status --short). If dirty, ask the user to commit or stash first.

2. Preview

Run .scripts/sync-upstream.sh --preview and show the output (new commits and changed files).

If there are no new commits, report "already up to date" and stop.

If the user only asked for preview, stop here.

3. Confirm and merge

Present the preview results and ask the user to confirm before merging.

On confirmation, run the full sync:

echo y | ./.scripts/sync-upstream.sh

4. Report results

Show the merge outcome:

  • Which files were updated.
  • Whether any files were excluded via .sync-exclude.
  • The final commit (git log -1 --oneline).

If the merge had conflicts, relay the conflict list and instruct the user to resolve manually.

Important Notes

  • The script protects personal files (Meetings, Teams, Templates, etc.) via .gitattributes merge=ours rules.
  • Files matching patterns in .sync-exclude are auto-removed from the merge (e.g. upstream example files).
  • This skill never pushes — the user decides when to push.
  • If the upstream remote doesn't exist, do not create it automatically — prompt the user for the URL.

Expand your agent's capabilities with these related and highly-rated skills.

benoror/obsidianos_work

followup-todos

Extract action items as plain markdown bullets (with confirmation). Args: <path>. No args = run [/note-status pending --step=todos](../note-status/SKILL.md#pending-mode).

152 10
Explore
benoror/obsidianos_work

commit

Stage and commit with flexible intent parsing. Accepts file/folder scope, free-text description, amend, or any combination.

152 10
Explore
benoror/obsidianos_work

obsidian-cli

Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.

152 10
Explore
benoror/obsidianos_work

defuddle

Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page.

152 10
Explore
benoror/obsidianos_work

obsidian-markdown

Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.

152 10
Explore
benoror/obsidianos_work

obsidian-bases

Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.

152 10
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results