.claude/skills/summarize-activity/SKILL.md
Summarize recent GitHub activity — discussions, PRs, issues, events, traffic — into an actionable report so you can stay on top of the project without reading everything.
npx skillsauth add alpinejs/alpine summarize-activityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You generate a concise, actionable summary of recent Alpine.js GitHub activity for Caleb.
IMPORTANT: Every numbered step below is mandatory. Do not skip steps, do not substitute your own approach. Run the exact commands listed. If a command fails, retry it — do not silently move on. Complete each step fully before starting the next.
Parse $ARGUMENTS into a cutoff timestamp. Supported formats:
24h, 48h, 72h — hours (default: 24h if no argument)7d, 14d, 30d — days1w, 2w — weeks (1w = 7d)Compute the ISO 8601 cutoff timestamp:
# Example for 24h:
date -u -v-24H '+%Y-%m-%dT%H:%M:%SZ'
# Example for 7d:
date -u -v-7d '+%Y-%m-%dT%H:%M:%SZ'
Store the cutoff timestamp and the human-readable timeframe label (e.g., "last 24 hours", "last 7 days") for use in later steps.
Run ALL FIVE of these commands in parallel using the Bash tool. If any fail, retry them. Do not proceed to Step 3 until you have output from all five.
Owner/repo: alpinejs/alpine
gh api graphql -f query='
{
repository(owner: "alpinejs", name: "alpine") {
discussions(first: 50, orderBy: {field: UPDATED_AT, direction: DESC}) {
nodes {
title
url
author { login }
category { name }
comments { totalCount }
body
answer { author { login } body createdAt }
createdAt
updatedAt
}
}
}
}'
gh pr list --repo alpinejs/alpine --state all --limit 50 --json number,title,url,author,state,labels,createdAt,updatedAt,additions,deletions,headRefName,baseRefName,reviewDecision,comments
gh issue list --repo alpinejs/alpine --state all --limit 50 --json number,title,url,author,state,labels,createdAt,updatedAt,comments
gh api repos/alpinejs/alpine/events --paginate --jq '.[] | {type, actor: .actor.login, created_at: .created_at, payload_action: .payload.action, ref: .payload.ref, ref_type: .payload.ref_type}' | head -100
gh api repos/alpinejs/alpine/traffic/views 2>/dev/null; echo "---SEPARATOR---"; gh api repos/alpinejs/alpine/traffic/clones 2>/dev/null; echo "---SEPARATOR---"; gh api repos/alpinejs/alpine --jq '{stargazers_count, forks_count, open_issues_count, watchers_count}'
Note: Traffic endpoints require push access. If they return 403, skip traffic data and note it in the report.
For discussions that have comments updated within the timeframe, fetch full comment bodies via GraphQL. Batch up to 10 discussions per query:
gh api graphql -f query='
{
repository(owner: "alpinejs", name: "alpine") {
discussion(number: {NUMBER}) {
comments(last: 10) {
nodes {
author { login }
body
createdAt
updatedAt
}
}
}
}
}'
For the most active PRs and issues (those with comments updated in timeframe), fetch recent comments:
gh api repos/alpinejs/alpine/issues/{number}/comments --jq '.[] | select(.updated_at > "{CUTOFF}") | {user: .user.login, body: .body, created_at: .created_at}'
Only fetch threads that are clearly within the timeframe. Don't fetch everything — be selective.
Discard anything with updatedAt / updated_at before the cutoff timestamp. Keep items where:
Output a markdown report with these sections. Be concise — this is a digest, not a novel.
# Alpine.js Activity — {timeframe label}
_{start date} to {end date}_
## TL;DR
{2-3 sentences. What's the pulse? Any fires? Anything exciting? Give Caleb the vibe in 10 seconds.}
## Needs Your Attention
{Actionable items only. Each with a recommended next step: reply, merge, close, investigate, etc.}
- **[Title](url)** by @author — {why it needs attention}. **Action:** {specific recommendation}
{If nothing needs attention, say "Nothing urgent right now."}
## Hot Discussions
{Discussions with the most activity or notable sentiment. Include key quotes if illuminating.}
- **[Title](url)** ({category}) — {N} comments — {brief summary, sentiment note}
{If no notable discussions, say "Quiet on the discussion front."}
## PR Activity
### Opened
- **[#N Title](url)** by @author — {one-line summary} {+additions/-deletions}
### Merged
- **[#N Title](url)** by @author — {one-line summary}
### Closed (not merged)
- **[#N Title](url)** by @author — {one-line summary, why closed if clear}
{Omit empty subsections.}
## Issue Activity
### Opened
- **[#N Title](url)** by @author — {one-line summary}
### Closed
- **[#N Title](url)** — {one-line summary}
{Omit empty subsections.}
## Repo Pulse
| Metric | Value |
|--------|-------|
| Stars | {total} |
| Views (14d) | {count} |
| Clones (14d) | {count} |
| Open issues | {count} |
| PRs opened | {count in timeframe} |
| PRs merged | {count in timeframe} |
| PRs closed | {count in timeframe} |
{If traffic data is unavailable (403), omit those rows and note "Traffic data requires push access."}
[title](url) link so Caleb can click through.testing
Review an open PR like a maintainer — checkout, fix issues, push changes, post a structured verdict comment. You just merge or close.
business
ECCの証拠優先の収益、価格設定、返金、チーム請求、請求モデルの実態確認ワークフロー。ユーザーが販売スナップショット、価格比較、重複請求の診断、または汎用的な支払いアドバイスではなくコードに裏付けられた請求の実態を必要とする場合に使用します。
business
面向ECC的以证据为先的收入、定价、退款、团队计费和计费模型真相工作流。当用户需要销售快照、定价比较、重复收费诊断或基于代码的计费现实而非通用支付建议时使用。
business
Wave Accounting toolkit is not currently available as a native integration. No Wave-specific tools were found in the Composio platform. This skill is a placeholder pending future integration.