agentsclimarketplace

Community pulse reporter

Skill cxcscmu/SkillLearnBench/skills/b4-skill-creator-gemini-3-flash-preview/github-repo-analytics/community-pulse-reporter

Professional methodology for transforming raw repository activity into structured community pulse reports. Use this skill when you need to calculate metrics like merge times, contributor rankings, and bug resolution rates for meeting-ready summaries.From its SKILL.md

Install
npx -y skills add cxcscmu/SkillLearnBench --skill community-pulse-reporter

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

2.0 KB, 406 tokens by cl100k_base, as published. Nobody here has run it

Community Pulse Reporter

This skill details the logic and transformations required to generate a standardized community pulse report from raw data.

Metric Calculation Logic

1. PR Merge Time

Calculate the average time (in days) from PR creation to merge for all PRs that were merged.

  • Formula: (merge_timestamp - creation_timestamp) / (24 * 3600)
  • Rounding: Round to one decimal place.

2. Top Contributor

Identify the individual who opened the most PRs within the reporting period.

  • Logic: Count PRs grouped by author login. In case of a tie, the first alphabetical login is usually acceptable unless specified otherwise.

3. Bug Resolution Rate

Identify issues labeled as "bug" and track their closure status.

  • Bug Definition: Any issue where at least one label contains the case-insensitive substring "bug".
  • Resolved Bugs: Issues meeting the bug definition that were closed during the reporting period.

Output Structure (report.json)

The report must follow this exact schema:

{
  "pr": {
    "total": <int>,
    "merged": <int>,
    "closed": <int>,
    "avg_merge_days": <float>,
    "top_contributor": <str>
  },
  "issue": {
    "total": <int>,
    "bug": <int>,
    "resolved_bugs": <int>
  }
}

Processing with Python

Python is recommended for complex calculations and JSON generation.

Skeleton Processing Script

import json
from datetime import datetime

def calculate_days(start_str, end_str):
    start = datetime.fromisoformat(start_str.replace("Z", "+00:00"))
    end = datetime.fromisoformat(end_str.replace("Z", "+00:00"))
    return (end - start).total_seconds() / (24 * 3600)

# Load data, compute metrics, and write JSON

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.