Agent skill

Summarize Activity

by alpinejs in alpinejs/alpine

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.

MITAuto-check: notesBackend & APIs

Install Summarize Activity

skills CLI
$ npx skills add alpinejs/alpine --skill summarize-activity -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install alpinejs/alpine summarize-activity --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/alpinejs/alpine.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/summarize-activity .claude/skills/summarize-activity && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
summarize-activity
GitHub stars
32k
Token cost
~1.6k tokens
SKILL.md length
401 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Works in 5 steps: Parse timeframe → Fetch activity in parallel → Fetch comment threads for active items → …
  • Backend & APIs work in your project
  • SKILL.md covers Step 1: Parse timeframe, Step 2: Fetch activity in…, Step 3: Fetch comment threads… and Step 4: Filter by timeframe, plus 2 more sections
  • Calls gh

What it does

Summarize Activity is an agent skill from alpinejs/alpine. 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.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs. It works with GitHub. The repository describes itself as: A rugged, minimal framework for composing JavaScript behavior in your markup. The licence is MIT.

When your agent uses it

  • Backend & APIs work in your project

Example prompts

  • “/summarize-activity”

Requirements

  • Pre-approved tools (allowed-tools): Bash, Read, Task

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Parse timeframe
  2. Fetch activity in parallel
  3. Fetch comment threads for active items
  4. Filter by timeframe
  5. Analyze and write report

What it can do on your machine

Read from SKILL.md and the folder at commit 8d3d9a2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Task

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Summarize Activity loads about 1.6k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 401 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Task

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from alpinejs/alpine at commit 8d3d9a2, republished under its MIT licence (© alpinejs). 401 words, ~1,607 tokens.

Download SKILL.mdSave it as .claude/skills/summarize-activity/SKILL.md (or your agent's skills folder).
name
summarize-activity
description
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.
allowed-tools
Bash, Read, Task
disable-model-invocation
true
argument-hint
[timeframe: 24h (default), 48h, 7d, 1w]

/summarize-activity - GitHub activity digest

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.

Step 1: Parse timeframe

Parse $ARGUMENTS into a cutoff timestamp. Supported formats:

  • 24h, 48h, 72h — hours (default: 24h if no argument)
  • 7d, 14d, 30d — days
  • 1w, 2w — weeks (1w = 7d)

Compute the ISO 8601 cutoff timestamp:

bash
# 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.

Step 2: Fetch activity in parallel

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

2a. Discussions (GraphQL)
bash
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
      }
    }
  }
}'
2b. Pull Requests
bash
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
2c. Issues
bash
gh issue list --repo alpinejs/alpine --state all --limit 50 --json number,title,url,author,state,labels,createdAt,updatedAt,comments
2d. Events
bash
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
2e. Traffic & stars
bash
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.

Step 3: Fetch comment threads for active items

For discussions that have comments updated within the timeframe, fetch full comment bodies via GraphQL. Batch up to 10 discussions per query:

bash
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:

bash
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.

Show full SKILL.md (156 more words)Show less

Step 4: Filter by timeframe

Discard anything with updatedAt / updated_at before the cutoff timestamp. Keep items where:

  • The item was created within the timeframe
  • The item received new comments within the timeframe
  • The item changed state (opened, closed, merged) within the timeframe

Step 5: Analyze and write report

Output a markdown report with these sections. Be concise — this is a digest, not a novel.


Report format:
markdown
# 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."}

Important rules

  • Every item must include a [title](url) link so Caleb can click through.
  • Include @author for attribution.
  • Keep summaries to ONE line per item. This is a digest.
  • The "Needs Your Attention" section is the most important. Be opinionated about what deserves Caleb's time.
  • If a discussion or issue has heated sentiment, note it (e.g., "heated", "confused users", "strong demand").
  • Omit empty sections entirely — don't show "No activity" headers.
  • For PRs, mention if CI is failing when relevant.
  • Don't editorialize beyond what's helpful for triage. Be practical, not chatty.

© alpinejs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/summarize-activity of alpinejs/alpine.

Open the folder on GitHubat commit 8d3d9a2

Compare with similar skills

Summarize Activity next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Summarize Activity compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Summarize Activity this skillalpinejs/alpine32k—~1.6kAutomated safety check: NotesMIT
Plugin Release CheckVoidenHQ/voiden1.9k—~857Automated safety check: PassApache-2.0
Repo2skillzhangyanxs/repo2skill246—~3.6kAutomated safety check: PassNone
Ccb DiagnoseSeemSeam/claude_codex_bridge3.6k—~2.1kAutomated safety check: PassCustom licence
Cuga GitHub Issuescuga-project/cuga-agent895—~1.2kAutomated safety check: PassCustom licence
Jwx Guide V4lestrrat-go/jwx2.4k—~5.3kAutomated safety check: PassMIT

Similar skills

  • Plugin Release Check

    VoidenHQ/voiden

    A skill your agent uses whenever a plugin under plugins/<name is updated/pushed, or whenever asked to write a changelog/release for the app or a plugin.

    1.9k GitHub stars~857 tokensUpdated today
    Backend & APIsAuto-check passed
  • Repo2skill

    zhangyanxs/repo2skill

    Convert GitHub/GitLab/Gitee repositories into comprehensive OpenCode Skills using embedded LLM calls with multiple mirrors and rate limit handling

    246 GitHub stars~3.6k tokensUpdated 7 mo ago
    Backend & APIsAuto-check passed
  • Ccb Diagnose

    SeemSeam/claude_codex_bridge

    Diagnose a named CCB agent by combining authoritative runtime and job lineage with deep read-only pane inspection, apply bounded recovery when evidence supports it, verify the result, and request…

    3.6k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Cuga GitHub Issues

    cuga-project/cuga-agent

    Create GitHub issues for cuga-agent (bugs, features, epics, designs, and related work) against origin using gh, with epic → feature → issue hierarchy and GraphQL sub-issue linking.

    895 GitHub stars~1.2k tokensUpdated today
    Backend & APIsAuto-check passed
  • Jwx Guide V4

    lestrrat-go/jwx

    Guide for developing Go applications with github.com/lestrrat-go/jwx v4 — parse/sign JWTs, work with JWS/JWE/JWK, pick algorithms, and avoid the common footguns.

    2.4k GitHub stars~5.3k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Better Auth security hardening: rate limits, secrets, CSRF, trusted origins, cookies, sessions, OAuth tokens, and audit logging.

    4.8k GitHub stars~896 tokensUpdated today
    Backend & APIsAuto-check passed

More from alpinejs/alpine

  • Review PR

    alpinejs/alpine

    Review an open PR like a maintainer — checkout, fix issues, push changes, post a structured verdict comment.

    32k GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check: notes

Works with

Categories

Questions about Summarize Activity

What does Summarize Activity do?

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. Summarize Activity is an agent skill from alpinejs/alpine. 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.

When should I use Summarize Activity?

Summarize Activity fits situations like: backend & APIs work in your project.

How do I install Summarize Activity in Claude Code?

Run `npx skills add alpinejs/alpine --skill summarize-activity -a claude-code`. Or copy the skill folder (.claude/skills/summarize-activity in alpinejs/alpine) into .claude/skills/summarize-activity in your project. Claude Code loads it when a task matches its description.

How do I install Summarize Activity in Codex?

Run `npx skills add alpinejs/alpine --skill summarize-activity -a codex`. Or copy the skill folder (.claude/skills/summarize-activity in alpinejs/alpine) into .agents/skills/summarize-activity in your project. Codex loads it when a task matches its description.

Can I use Summarize Activity in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alpinejs/alpine --skill summarize-activity -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/summarize-activity, .gemini/skills/summarize-activity, .github/skills/summarize-activity and .opencode/skills/summarize-activity in your project.

What does Summarize Activity need to run?

Going by SKILL.md and its folder, Summarize Activity needs the command-line tools its instructions call (gh). Its frontmatter pre-approves these tools: Bash, Read, Task.

Does Summarize Activity access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Summarize Activity safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Summarize Activity use?

Summarize Activity is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Summarize Activity use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Summarize Activity?

Skills that share tags, products or a category with Summarize Activity: Plugin Release Check (VoidenHQ/voiden, 1.9k stars), Repo2skill (zhangyanxs/repo2skill, 246 stars), Ccb Diagnose (SeemSeam/claude_codex_bridge, 3.6k stars) and Cuga GitHub Issues (cuga-project/cuga-agent, 895 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Summarize Activity?

alpinejs (a GitHub organization) maintains it in alpinejs/alpine, which has 31,967 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 5, 2026.

Source: alpinejs/alpine on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.