smithery.ai

github-activity-summary

Summarize commits and PRs across team repos in GitHub and Azure DevOps. Use when users ask "who's doing what", "team activity", "what's the team been up to", or want a summary of PRs and commits.

First seen Mar 28, 2026

Installation

$ npx skills add https://smithery.ai

Summary

github-activity-summary Installation Command Prompt $ npx skills add https://smithery.ai/skills/eci-global/github-activity-summary

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash(gh *), Bash(az repos *)
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 10,628 B
  • docs SUMMARY.md 226 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

GitHub & Azure DevOps Activity Summary

Contents

  • [Overview](#overview)
  • [Tracked Repositories](#tracked-repositories)
  • [Workflow](#workflow)
  • [Output Format](#output-format)
  • [Dashboard](#dashboard) - Interactive web dashboard
  • [Natural Language Parsing](#natural-language-parsing)
  • [Automation](#automation) - Scheduled email reports
  • [Critical Rules](#critical-rules)
  • [Configuration](#configuration)
  • [Examples](EXAMPLES.md) - Common usage scenarios
  • [Automation Details](AUTOMATION.md) - Email delivery setup

Overview

This skill provides a consolidated view of team activity across multiple repositories in GitHub and Azure DevOps. It answers questions like:

  • Who's been active this week?
  • What PRs are open/merged?
  • What commits have been made?
  • What's the team working on?

User Experience Goals

Before After
Manually check 6+ repos across 2 platforms Single command shows all activity
Miss PRs that need review See all open PRs in one place
Lose track of team progress Clear summary by person and repo

Tracked Repositories

GitHub Repositories (ECI-Global org)

Pattern Description
one-cloud Any repo with "one-cloud" in the name
firehydrant The FireHydrant repo
core-logics The Core Logics repo
iac IAC (Infrastructure as Code) repos
coralogix The Coralogix observability repo

Azure DevOps Repositories

Organization Project Repository
Cloud-Delivery spruce spruce

Workflow

Step 1: Determine Time Range

Parse user request for time range. Defaults:

  • "today" → last 24 hours
  • "this week" → last 7 days
  • "this month" → last 30 days
  • No time specified → last 7 days

Step 2: Gather GitHub Activity

For each tracked repository pattern, use the gh CLI:

List matching repos:

gh repo list ECI-Global --json name,nameWithOwner --limit 100 | jq '[.[] | select(.name | test("one-cloud|firehydrant|core-logics|iac|coralogix"; "i"))]'

Get commits (last 7 days):

gh api repos/{owner}/{repo}/commits --jq '.[] | {sha: .sha[0:7], author: .commit.author.name, date: .commit.author.date, message: .commit.message | split("\n")[0]}'

Get pull requests:

gh api repos/{owner}/{repo}/pulls?state=all --jq '.[] | {number, title, user: .user.login, state, created_at, merged_at}'

Step 3: Gather Azure DevOps Activity

For the Cloud-Delivery/spruce repo:

Get commits:

az repos commit list --organization https://dev.azure.com/Cloud-Delivery --project spruce --repository spruce --top 50 --output json

Get pull requests:

az repos pr list --organization https://dev.azure.com/Cloud-Delivery --project spruce --repository spruce --status all --top 50 --output json

Step 4: Aggregate by Team Member

Group all activity by author/creator:

  • Commits authored
  • PRs opened
  • PRs merged
  • PRs currently open

Step 5: Generate Summary

Create a consolidated report organized by:

  1. Team Member Summary - Who did what
  2. Repository Summary - Activity per repo
  3. Open PRs Needing Attention - PRs awaiting review/merge

Output Format

Team Activity Summary

## Team Activity (Last 7 Days)

### By Team Member

**@alice**
- 12 commits across 3 repos
- 2 PRs merged (one-cloud-api, core-logics)
- 1 PR open: #45 "Add caching layer" (one-cloud-api)

**@bob**
- 8 commits across 2 repos
- 1 PR merged (iac)
- 0 PRs open

**@carol**
- 5 commits (spruce - Azure DevOps)
- 1 PR open: !958 "Feature update" (spruce)

### By Repository

| Repository | Commits | PRs Merged | PRs Open |
|------------|---------|------------|----------|
| one-cloud-api | 15 | 3 | 2 |
| core-logics | 8 | 1 | 0 |
| fire-hydrant | 3 | 0 | 1 |
| iac | 6 | 2 | 0 |
| spruce (ADO) | 5 | 1 | 1 |

### Open PRs Needing Attention

| Repo | PR | Title | Author | Age |
|------|-----|-------|--------|-----|
| one-cloud-api | #45 | Add caching layer | @alice | 3d |
| fire-hydrant | #12 | Fix auth flow | @dave | 5d |
| spruce | !958 | Feature update | @carol | 2d |

Dashboard

An interactive web dashboard is available for visual exploration of team activity.

Quick Start

cd .claude/skills/github-activity-summary/dashboard
npm install
npm run dev

Then open http://localhost:3456

Features

  • Metric Cards: Commits, PRs merged, PRs open, contributors at a glance
  • Charts: Bar and pie charts showing commits by contributor and repo
  • Contributor Cards: Individual activity with avatar and stats
  • PR Alerts: Color-coded open PRs by status (stale, needs review, in review)
  • Commit Timeline: Recent commits with author and message
  • Real-time Data: API fetches live data from GitHub
  • Team Health Analysis: Sentiment, blockers, achievements from commit messages
  • Work Pattern Detection: Identifies late-night and weekend commits

Commit Message Analysis

The dashboard analyzes FULL commit messages (not just the summary line) to extract deeper insights:

Sentiment Analysis

Detects the emotional tone of commits based on keywords:

  • Positive: completed, shipped, implemented, fixed, improved
  • Negative: blocked, stuck, broken, workaround, WIP, TODO
  • Neutral: updated, changed, refactored, moved

Conventional Commits Support

Parses conventional commit format (type(scope): description):

  • feat: New features
  • fix: Bug fixes
  • refactor: Code refactoring
  • perf: Performance improvements
  • docs: Documentation changes
  • test: Testing additions
  • chore: Maintenance tasks

Blocker Detection

Identifies commits indicating blockers:

  • blocked, waiting on, pending
  • WIP, work in progress
  • needs review, needs approval
  • TODO, FIXME, XXX
  • workaround, temporary

Achievement Detection

Recognizes completed work:

  • completed, finished, shipped
  • launched, resolved
  • implemented, integrated

Work Pattern Analysis

Tracks developer work patterns:

  • Late Night Commits: 9pm - 6am
  • Weekend Commits: Saturday & Sunday
  • Burnout Risk: High (>40% off-hours), Medium (>20%), Low

Breaking Changes

Detects breaking changes via:

  • ! after type: feat!: breaking change
  • BREAKING CHANGE: in commit body

Component Catalog

The dashboard uses a json-render style component catalog. Claude can generate custom dashboard layouts by outputting JSON that maps to these components:

Component Purpose
MetricCard Single metric with icon and trend
ContributorCard Team member activity summary
RepoCard Repository activity summary
PRAlert Open PR with status indicator
BarChart Bar chart visualization
PieChart Pie chart visualization
CommitList Recent commits list

Ask Claude: "Show me a pie chart of commits by contributor" or "Create a dashboard focused on open PRs"

Natural Language Parsing

User Says Interpretation
"What's the team been up to?" Last 7 days, all repos, all activity
"Show me this week's PRs" Last 7 days, PRs only
"Who's committing to one-cloud?" Last 7 days, one-cloud repos only
"Alice's activity this month" Last 30 days, filter to alice
"Open PRs across all repos" Current open PRs only
"What merged today?" Last 24 hours, merged PRs only

Automation

For automated daily email reports, see [AUTOMATION.md](AUTOMATION.md).

Quick setup:

  1. Create a GitHub Actions workflow that runs the report script daily
  2. Use SendGrid/Mailgun/SES to email the generated report
  3. Schedule for 8am in your timezone

The automation script at scripts/generate-report.sh produces an HTML email-ready report.

Critical Rules

Data Freshness

  • Always fetch live data - never cache or assume
  • Report the exact time range queried
  • Note any repos that failed to query

Authentication

  • GitHub: Requires gh CLI authenticated
  • Azure DevOps: Requires az CLI authenticated with appropriate permissions

Error Handling

  • If a repo is inaccessible, skip it and note in output
  • If a platform is unavailable, report partial results from other platform
  • Always complete the summary with available data

Privacy

  • Only show activity from configured repos
  • Do not expose email addresses, only usernames/display names
  • Truncate long commit messages to first line

Configuration

Required Environment

GitHub:

  • gh CLI installed and authenticated

Azure DevOps:

  • az CLI installed and authenticated
  • Access to Cloud-Delivery organization

Adding/Removing Repos

To modify tracked repositories, update this skill file:

  • Add patterns to the GitHub patterns list
  • Add org/project/repo entries to Azure DevOps list

Contributor Name & Timezone Mapping

The dashboard normalizes contributor names and applies timezone-aware work pattern analysis. To add or modify mappings, edit the CONTRIBUTOR_CONFIG object in dashboard/app/api/dashboard/route.ts:

const CONTRIBUTOR_CONFIG: Record<string, ContributorConfig> = {
  // Travis Edgar - Atlantic Time (UTC-4)
  'rustyautopsy': { name: 'Travis Edgar', timezone: -4, tzName: 'Atlantic' },
  'tedgar': { name: 'Travis Edgar', timezone: -4, tzName: 'Atlantic' },

  // Mahyar - Pacific Time (UTC-8)
  'mahyar': { name: 'Mahyar', timezone: -8, tzName: 'Pacific' },

  // Jeff Harris - London UK (UTC+0)
  'jeharris-eci': { name: 'Jeff Harris', timezone: 0, tzName: 'London' },
};

Timezone offsets (hours from UTC):

Timezone Offset Example Cities
Pacific -8 Los Angeles, Seattle
Mountain -7 Denver, Phoenix
Central -6 Chicago, Dallas
Eastern -5 New York, Atlanta
Atlantic -4 Halifax, Puerto Rico
UK/GMT 0 London, Dublin
CET +1 Paris, Berlin

This ensures:

  • Activity from the same person across GitHub and Azure DevOps is aggregated correctly
  • Late night / weekend detection uses each contributor's local time

Further Reading

  • [Examples](EXAMPLES.md) - Common usage scenarios and expected output
  • [Automation](AUTOMATION.md) - Email delivery and scheduling setup