From bsky
When requested: session-start situational awareness — notifications, PRs, tasks, and due follow-ups.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bsky:briefingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scan what's happened since last session and present a concise summary. This skill is
Scan what's happened since last session and present a concise summary. This skill is read-only — it never modifies anything (except syncing notification state via gh-notify).
If a required-environment-variables memory exists (scope: global), read and apply it
before any git/gh operations.
$ARGUMENTS is optional. If provided, run only the matching phase(s):
| Keyword | Phase(s) run |
|---|---|
notifications | 1 only |
prs | 2 only |
tasks | 3 only |
followups | 4 only (report what's due) |
followups run | 4 only (execute all due checks) |
followups all | 4 only (execute all checks regardless of due date) |
followups <N or text> | 4 only (execute matching item regardless of due date) |
| (empty) | All four (Phase 4 reports only) |
Multiple keywords can be combined (e.g. prs tasks). Match case-insensitively.
Use the gh-notify MCP tools (not raw gh api):
sync_notifications to fetch and upsert from GitHublist_actionable to get only [NEW] and [TRIAGED] itemsget_stats for the summary countsThis skips already-acted/dismissed notifications from previous sessions.
reason (mention, author, comment, ci_activity, assign, etc.)[NEW]/[TRIAGED])Check open PRs involving the user. If the required-environment-variables memory specifies
multiple identities, search for each:
gh search prs --state=open --involves=<identity> --json repository,title,number,url,updatedAt
gh pr checks does not support --json):
gh pr checks <number> --repo <owner/repo>
gh api "repos/<owner>/<repo>/pulls/<number>/reviews" --jq '[.[] | select(.submitted_at > "<7_days_ago_ISO>") | {user: .user.login, state: .state, body: .body}]'
gh api "repos/<owner>/<repo>/pulls/<number>/comments" --jq '[.[] | select(.updated_at > "<7_days_ago_ISO>") | {user: .user.login, body: .body, path: .path, created_at: .created_at}]'
From the project tracker (see infrastructure-overview memory for repo locations).
Note: quote the milestones URL to prevent zsh glob expansion on ?:
gh issue list --repo <tasks-repo> --state open --json number,title,milestone,labels,assignees
gh api 'repos/<tasks-repo>/milestones?state=open'
Use memory-mcp's recall tool to search for periodic follow-ups. If a periodic-followups
memory exists (scope: global), read it. For each active item:
Last checked date and Frequencyfollowups or part of full briefing)Report due/not-yet-due status only. Offer to run checks:
"Want me to run the due checks? Use /briefing followups run to execute."
followups run, followups all, followups <N or text>)followups run — execute checks for all items that are due or overduefollowups all — execute every active item regardless of due datefollowups 1 — execute item #1 regardless of due datefollowups serena — execute items whose title matches (case-insensitive)For each selected item:
gh commands). Collect output and interpret:
Last checked — use memory-mcp's edit tool on the periodic-followups
memory (scope: global) to set today's dateShow stats summary line first, then group actionable items by reason with status tags. Condense related items from the same repo when there are many:
## Notifications (12 actionable / 30 total — 18 previously acted/dismissed)
**mention** (2)
- [NEW] `owner/repo-a` — Add feature X (PR)
- [TRIAGED] `owner/repo-b` — Refactor Y (PR)
**author** (5)
- [NEW] `owner/repo-c` — Add syscall tracer (PR)
- [NEW] `owner/repo-d` — 3 PRs (config cleanup, ...)
- ...
**ci_activity** (3)
- ...
> Dismiss CI noise or triage any of these? (use thread IDs from list_actionable)
Markdown table with linked PR number, title, repo, CI summary, review status, and last-updated date. If a PR has unresolved review comments, add a "Reviews" row beneath it listing reviewer, state, and comment count:
## Open PRs
| PR | Repo | CI | Reviews | Updated |
|----|------|----|---------|---------|
| [#42](url) Add feature X | owner/repo-a | all pass | — | Feb 19 |
| [#16](url) Add system event parser | owner/repo-b | all pass | reviewer: changes_requested (3 comments) | Mar 5 |
| [#9](url) Track disconnect events | owner/repo-c | pass | — | Jan 6 |
For PRs with review comments, briefly list the key concerns below the table under a
### Review comments needing attention subheading, grouped by PR.
Group by milestone, showing due date and counts, then list issue numbers and titles. Unassigned issues in a separate group:
## Tasks & Milestones
**Friday Focus — Feb 27** (due Feb 26, 14 open / 0 closed)
- #69 Design adversarial code review sub-agent
- #68 Gossamer — system observability toolbox
- ...
**Unassigned to milestone** (N issues)
- #70 Track upstream Serena memory issues
- ...
Per-item status with last-checked date and next-due date:
## Follow-ups
**Serena PR #1007 — Global Memories** (weekly)
- Last checked: 2026-02-19
- Next due: 2026-02-26
- Not yet due. Use `/briefing followups 1` to run now.
npx claudepluginhub butterflyskies/claude-marketplace --plugin bskyCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.