git:status

SkillFiles & storage

Show worktrees with PR status and TODO files overview

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the git:status skill

What this skill tells your AI

The instructions your AI receives, as published by rossoctl/rossoctl in .claude/skills/git:status/SKILL.md and read by ahel’s review.

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

Quick Status

Run these commands to get full project status:

# 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

# 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

# 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

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

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

Signals

GitHub stars
300
Forks
107
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
git-status
Source
github.com/rossoctl/rossoctl