From zenkat-claude-skills
Summarizes what your project partner has been doing on GitHub since the last time this skill was called (or the last 24 hours on first call). Use this skill whenever the user types /partner-update or asks "what has Janine been up to?" or "what has Brian been up to?" or "any updates from my partner?" or similar. Reports PRs waiting for review and merged PRs separately, in 2–3 sentences.
How this skill is triggered — by the user, by Claude, or both
Slash command
/zenkat-claude-skills:partner-updateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Queries GitHub for the partner's recent activity on the BeFriendDev/befriend-app repo — commits, issues filed, PRs opened, PRs merged — since the last time the skill was called. Writes the current timestamp to `~/.claude/partner_last_check.json` after each run so the next call picks up exactly where this one left off.
Queries GitHub for the partner's recent activity on the BeFriendDev/befriend-app repo — commits, issues filed, PRs opened, PRs merged — since the last time the skill was called. Writes the current timestamp to ~/.claude/partner_last_check.json after each run so the next call picks up exactly where this one left off.
The skill is symmetrical. Detect who is calling it, then look up the other person:
| Caller (gh login) | Partner (gh login) | Partner display name |
|---|---|---|
zenkat | BeFriendDev | Janine |
BeFriendDev | zenkat | Brian |
To get the caller's GitHub login:
gh api user --jq '.login'
If the login doesn't match either entry above, tell the user the skill isn't configured for their account and stop.
~/.claude/partner_last_check.json
Schema:
{
"last_check_iso": "2026-04-24T09:00:00Z"
}
last_check_iso, use 24 hours ago as the default window.Use gh to query GitHub. All queries are scoped to BeFriendDev/befriend-app and filtered to actions by the partner's login since <since_iso>.
# Commits (across all branches, by partner)
gh api "repos/BeFriendDev/befriend-app/commits?author=<partner_login>&since=<since_iso>&per_page=100" \
--jq '[.[] | {sha: .sha[0:7], message: .commit.message | split("\n")[0], date: .commit.author.date}]'
# Issues filed by partner
gh api "repos/BeFriendDev/befriend-app/issues?creator=<partner_login>&state=all&since=<since_iso>&per_page=100" \
--jq '[.[] | select(.pull_request == null) | {number, title, state}]'
# PRs opened by partner (all states)
gh api "repos/BeFriendDev/befriend-app/pulls?state=all&per_page=100" \
--jq '[.[] | select(.user.login == "<partner_login>" and .created_at >= "<since_iso>") | {number, title, state, merged_at}]'
From the PR list, derive two counts:
state == "open"merged_at != nullFor the short summary, read the commit messages and PR titles — infer 1–3 words capturing the theme (e.g., "the matching algorithm", "onboarding flow fixes", "the auth refactor").
If there is activity:
Since you last connected, [Name] was primarily working on [SHORT_SUMMARY]. She/He filed [N] issue(s) and has [N] PR(s) waiting for your review and [N] PR(s) merged.
If there is no activity:
[Name] hasn't done anything since your last session.
Keep the output to 2–3 sentences maximum. Don't list individual commits or PRs — just the counts and theme.
Write the current UTC time to ~/.claude/partner_last_check.json:
date -u '+%Y-%m-%dT%H:%M:%SZ'
Then output the report to the user.
npx claudepluginhub zenkat/claude-skills --plugin zenkat-claude-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.