Skip to content
Back to skills

Git:Status

ASecurity

Show worktrees with PR status and TODO files overview

  • 299 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 20, 2026
devopsbashgit

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add rossoctl/rossoctl --skill git:status --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git:Status?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Git:Status
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rossoctl-git-status/badge)](https://www.skillsdirectory.com/skills/rossoctl-git-status)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: git:status
description: Show worktrees with PR status and TODO files overview
---

# Git Status

Show comprehensive status of worktrees, their PRs, and TODO files.

## Quick Status

Run these commands to get full project status:

```bash
# 1. Worktrees with PR status
echo "=== Worktrees ===" && \
git worktree list --porcelain | grep -E "^worktree|^branch" | paste - - | \
while read wt branch; do
  dir=$(echo "$wt" | sed 's/worktree //')
  br=$(echo "$branch" | sed 's|branch refs/heads/||')
  pr=$(gh pr list --head "$br" --json number,state,title --jq '.[0] | "PR #\(.number) [\(.state)]"' 2>/dev/null || echo "No PR")
  printf "%-50s %-30s %s\n" "$dir" "$br" "$pr"
done

# 2. TODO files
echo "" && echo "=== TODO Files ===" && \
ls -1 TODO_*.md 2>/dev/null | while read f; do
  title=$(head -1 "$f" | sed 's/^# //')
  printf "%-40s %s\n" "$f" "$title"
done
```

## Detailed Worktree Status

```bash
# Show worktrees with full PR details
git worktree list | while read dir commit branch; do
  branch=$(echo "$branch" | tr -d '[]')
  echo "=== $branch ==="
  echo "  Path: $dir"
  gh pr list --head "$branch" --json number,title,state,url,statusCheckRollup \
    --jq '.[] | "  PR #\(.number): \(.title)\n  State: \(.state)\n  URL: \(.url)\n  Checks: \([.statusCheckRollup[]? | .conclusion] | group_by(.) | map("\(.[0]): \(length)") | join(", "))"' 2>/dev/null || echo "  No PR"
  echo ""
done
```

## PR Status Only

```bash
# Quick PR status for open PRs by author
gh pr list --author @me --state open \
  --json number,title,headRefName,statusCheckRollup \
  --jq '.[] | "PR #\(.number) [\(.headRefName)]: \([.statusCheckRollup[]? | select(.conclusion == "FAILURE")] | length) failures"'
```

## TODO Files Overview

```bash
# List TODO files with first line (title)
for f in TODO_*.md; do
  [ -f "$f" ] && printf "%-45s %s\n" "$f" "$(head -1 "$f" | sed 's/^# //')"
done

# Find TODO files mentioning specific branch
grep -l "branch-name" TODO_*.md 2>/dev/null
```

## Combined Status Table

For a formatted table output:

```bash
echo "| Worktree | Branch | PR | CI Status |"
echo "|----------|--------|----|-----------| "
git worktree list --porcelain | grep -E "^worktree|^branch" | paste - - | \
while read wt branch; do
  dir=$(basename "$(echo "$wt" | sed 's/worktree //')")
  br=$(echo "$branch" | sed 's|branch refs/heads/||')
  pr_info=$(gh pr list --head "$br" --json number,statusCheckRollup \
    --jq '.[0] | "#\(.number) \([.statusCheckRollup[]? | select(.conclusion == "FAILURE")] | length) fail"' 2>/dev/null)
  [ -z "$pr_info" ] && pr_info="No PR"
  echo "| $dir | $br | $pr_info |"
done
```

## Related Skills

- `git:worktree` - Manage worktrees
- `hypershift:cluster` - HyperShift cluster management

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.