obsidian-pr-synclisted
Install: claude install-skill oleg-koval/agent-skills
# 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.
## Configuration
Before running, confirm:
- `VAULT_DAILY` — absolute path to the daily notes folder (e.g. `/Users/you/obsidian/vault/Lead/Daily`)
- `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
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.
## Step 2 — Filter
Discard entries where:
- `isDraft` is `true`
- `author.login` matches any bot pattern: `dependabot`, `copilot`, `renovate`, `github-actions`, or `author.is_bot` is `true`
- `author.login` equals `GH_USERNAME` — self-authored PRs are not reviews; they're your own work
## Step 3 — Enrich authors
For each unique author login, resolve a display name for the Obsidian wiki-link:
```bash
gh api /users/<login> --jq '.name // .log