← ClaudeAtlas

obsidian-pr-synclisted

Fetch open GitHub PRs where the user is an assignee or review-requested reviewer, today's Google Calendar events, and auto-create People stubs for new meeting attendees. Then write or refresh a "## PRs to review" section in today's Obsidian daily note. Use this skill whenever the user asks to sync PRs to Obsidian, update their daily note with GitHub reviews or calendar, check what needs attention, run a morning sync routine, or create people notes from calendar meetings. Also suitable for scheduled/automated runs: fully idempotent (re-running replaces the section, never appends; people stubs are only created once).
oleg-koval/agent-skills · ★ 3 · AI & Automation · score 75
Install: claude install-skill oleg-koval/agent-skills
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. --> # Obsidian PR Sync Fetch all open PRs where the user is assigned or requested as reviewer, filter out noise (bots, drafts, self-authored), and write a clean grouped section into today's daily note. The calendar pass also creates idempotent People stubs for attendees who do not already have a matching note. ## Configuration Before running, confirm: - `vault_path`: absolute path to the Obsidian vault, from the plugin configuration - `VAULT_DAILY`: derive as `${vault_path}/Lead/Daily` - `VAULT_PEOPLE`: derive as `${vault_path}/Lead/People` - `SELF_EMAIL`: the user's calendar email address, used to exclude the user from attendee processing - `GH_USERNAME`: GitHub login to exclude self-authored PRs (e.g. `oleg-koval`) - `ORG_PREFIX`: org name to group as "Work" (e.g. `Teifi-Digital`); everything else goes to "Personal" If not specified by the user, infer from context (git config, existing vault files). ## Step 1: Fetch PRs and calendar events Run two `gh` queries and merge results, deduplicating by URL: ```bash # Review-requested gh search prs --review-requested=@me --state=open \ --json title,url,repository,author,createdAt,isDraft --limit 50 # Assigned gh search prs --assignee=@me --state=open \ --json title,url,repository,author,createdAt,isDraft --limit 50 ``` Merge both lists, deduplicate by `url`. The union is what needs attention. Fetch today's calendar events once with the available calen