Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
basecamp avatar

Git Activity

  • 8 installs
  • 76 repo stars
  • Updated July 31, 2026
  • basecamp/house-skills

git-activity is a Claude Code skill that fetches git log from local repos into day-cached JSON atoms.

About

git-activity is a Claude Code skill that reads git commit history from local repositories into per-day cached JSON atoms. A developer uses it to feed the recap orchestrator for daily, weekly, or monthly digests. It is idempotent, day-cached, and makes no API calls.

  • Fetches git log from local repos into day-cached JSON atoms
  • Simplest fetcher - no API calls or pagination, reads local repos only
  • Day-sized atoms enable progressive weekly and monthly aggregation

Git Activity by the numbers

  • 8 all-time installs (skills.sh)
  • Ranked #1,519 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

git-activity capabilities & compatibility

Capabilities
git log fetch · data caching
Use cases
data analysis
From the docs

What git-activity says it does

Fetch git log from local repos into day-cached JSON atoms. Simplest activity fetcher — no API calls, no pagination.
SKILL.md
Day-sized atoms enable progressive aggregation: a weekly digest reads 7 daily atoms. A monthly digest reads ~30.
SKILL.md
npx skills add https://github.com/basecamp/house-skills --skill git-activity

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8
repo stars76
Last updatedJuly 31, 2026
Repositorybasecamp/house-skills

What it does

Fetch git commit history from local repos into day-cached JSON atoms for recap digests.

Who is it for?

Caching local git commit history into per-day atoms for recap digests.

When should I use this skill?

You need commit history from local repos for a recap.

What you get

Per-day cached JSON atoms of commit history ready for aggregation.

  • day-cached log.json atoms

By the numbers

  • one JSON file per repo per day

Files

SKILL.mdMarkdownGitHub ↗

Git Activity Fetcher

Fetch git commit history from local repositories into per-day cached JSON atoms at ~/.cache/recap/git/{repo}/{YYYY-MM-DD}/log.json. These atoms feed the /recap orchestrator for progressive timescale synthesis.

Invocation

/recap:git-activity --repos coworker:~/Work/basecamp/coworker --since 2026-03-23
/recap:git-activity --repos coworker:~/Work/basecamp/coworker,house-skills:~/Work/basecamp/house-skills --since 2026-03-23 --until 2026-03-30
/recap:git-activity --repos coworker:~/Work/basecamp/coworker --since 2026-03-23 --reuse

Contract

  • Idempotent: same input produces same output, safe to re-run
  • Day-cached: one JSON file per repo per day at ~/.cache/recap/git/{repo}/{YYYY-MM-DD}/log.json
  • `--reuse`: skip fetch if cache exists and is marked complete
  • No API calls: reads local git repos only

Quick Run

# 1. Determine date range
SINCE=$(date -d "7 days ago" +%Y-%m-%d)
UNTIL=$(date +%Y-%m-%d)

# 2. Run the fetcher
"$SKILL_DIR/scripts/git-activity.sh" \
  --repos "coworker:$HOME/Work/basecamp/coworker" \
  --since "$SINCE" --until "$UNTIL"

# 3. Verify cache
ls ~/.cache/recap/git/coworker/
cat ~/.cache/recap/git/coworker/$SINCE/log.json | jq '.metadata'

Where $SKILL_DIR = directory containing this SKILL.md.

Output Format

Each log.json contains:

{
  "repo": "coworker",
  "date": "2026-03-24",
  "commits": [
    {
      "hash": "abc123...",
      "short_hash": "abc123",
      "subject": "Add weekly digest skill",
      "author": "Jeremy",
      "date": "2026-03-24T10:30:00-05:00",
      "body": "Extended commit message..."
    }
  ],
  "metadata": { "complete": true, "count": 3 }
}

Arguments

ArgumentRequiredDescription
--reposYesComma-separated name:path pairs
--sinceYesStart date (YYYY-MM-DD)
--untilNoEnd date (default: today)
--reuseNoSkip fetch if cache exists and is complete

Cache Structure

~/.cache/recap/git/
  coworker/
    2026-03-24/log.json
    2026-03-25/log.json
  house-skills/
    2026-03-24/log.json

Day-sized atoms enable progressive aggregation: a weekly digest reads 7 daily atoms. A monthly digest reads ~30. Different timescales, same data.

Failure Modes

SymptomCauseFix
"not a git repo"Path doesn't point to repoCheck --repos paths
Empty commits for a dayNo commits on that dateExpected — empty days are cached as complete
awk/jq parse errorUnusual characters in commit messagesFalls back to simpler format automatically

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.