basecamp/house-skills/git-activity

Claude Code and agent skill by basecamp/house-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Fetch git log from local repos into day-cached JSON atoms. Simplest activity fetcher — no API calls, no pagination. Part of the recap plugin's activity fetcher pipeline.

Install

npx vskill@latest install basecamp/house-skills/git-activity

SKILL.md

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
/recap:git-activity --repos coworker:~/Work/basecamp/coworker --since 2026-03-23 --author "Jeremy Daer" --all-branches

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,

or under a scope directory when --author or --all-branches narrows or widens the log

  • `--reuse`: skip fetch if cache exists and is marked complete
  • No API calls: reads local git repos only

Quick Run

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

json
{
"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)
--authorNoKeep only commits whose author matches this pattern (git log --author)
--all-branchesNoLog every local and remote-tracking branch, not just the checked-out one
--reuseNoSkip fetch if cache exists and is complete

By default the fetcher logs the checked-out branch and every author: the repo's activity. For one person's work, pass --author and --all-branches, so coworkers' commits drop out and commits on other branches, pushed or not, come in.

Cache Structure

~/.cache/recap/git/
coworker/
2026-03-24/log.json
2026-03-25/log.json
all-branches-author-jeremy-daer-189a21ec/
2026-03-24/log.json
house-skills/
2026-03-24/log.json

A filtered fetch caches under its own scope directory, named from the filters, so --reuse never hands a filtered run the unfiltered day or the other way round. The name ends in a digest of the exact --author pattern: Jeff and ^Jeff$ match different commits, so they must not share a directory.

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

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
73
Repository forks
3
7-day trend score
22

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/basecamp/house-skills/git-activity/badge)](https://verified-skill.com/skills/basecamp/house-skills/git-activity)

Something wrong with this skill or its page? Tell us.