agentsclimarketplace

Repo status

Skill urmzd/dotfiles/dot_agents/skills/repo-status

Cross-platform dotfiles managed by Chezmoi with Homebrew/apt and per-language version managers. One-command bootstrap for macOS and Linux with Neovim, Tmux, Zsh, and AI agent skills.

Install
npx -y skills add urmzd/dotfiles --skill repo-status

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

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Scan a folder of git repos and report each repo's local dirty/clean state, ahead/behind divergence from upstream, recent activity, and latest CI run status. Read-only: never commits, pushes, or edits. Defaults to the folder argument or your repo root. Use when checking "what's live", "which repos are dirty", or "repo status across my projects". Sibling skills overlap on folder scanning: do NOT use for "what should I work on next" prioritization (use get-work); do NOT use for a recent-activity-only overview without dirty/CI detail (use status). repo-status is the local dirty/ahead/behind + CI-state report.

SKILL.md

3.0 KB, as published. Nobody here has run it

Repo Status

Scan a directory for git repositories with recent activity and report their status.

Invocation

The user may pass a folder path as an argument. Default to $REPO_ROOT, falling back to ~/github if unset.

Steps

  1. Discover repos: Find all directories containing a .git folder (one level deep only; do not recurse into nested repos).

  2. Filter by activity: Only include repos that have commits in the last 7 days on any local branch (git log --all --since='7 days ago' --oneline -1). Skip repos with no recent activity.

  3. For each active repo, gather:

    • Repo name (directory basename)
    • Current branch vs default branch (use gh repo view --json defaultBranchRef -q .defaultBranchRef.name or fall back to checking for main/master)
    • Uncommitted changes: git status --porcelain (staged, unstaged, untracked counts)
    • Unpushed commits: commits ahead of upstream (git rev-list @{u}..HEAD --count 2>/dev/null)
    • Behind upstream: commits behind (git fetch --quiet && git rev-list HEAD..@{u} --count 2>/dev/null)
    • CI status: gh run list --limit 1 --json status,conclusion,name. Show latest workflow run status (passing/failing/in-progress)
  4. Output format: Print a clean, grouped summary. For each repo use this structure:

## repo-name [branch: feature/xyz -> main]
- Status: 3 modified, 1 untracked
- Ahead: 2 commits unpushed
- Behind: 5 commits (needs pull/rebase)
- CI: passing | failing (ci.yml) | in progress
- Action needed: pull, push, commit changes, fix CI
  1. Summary table at the end: one-line-per-repo showing repo name, branch, dirty/clean, ahead/behind counts, CI status, and action needed.

Rules

  • Run git fetch --quiet before checking ahead/behind so counts are current.
  • Run repo checks in parallel where possible (use & and wait in bash).
  • If a directory isn't a valid git repo or has no remote, note it and move on.
  • Keep output concise; skip sections that have nothing to report (e.g., don't show "Behind: 0").
  • Only show repos with recent activity (last 7 days) to keep the report focused.

Keep looking

Skills are one crate of 328,083. 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.