Check status of background verification tasks running in a git worktree
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill git-worktree-status --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Git Worktree Status?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-git-worktree-status)More formats (shields.io, HTML) on the badges page.
---
name: git-worktree-status
description: Check status of background verification tasks running in a git worktree
effort: low
when_to_use: "Use to see all active worktrees and their current branch status."
disable-model-invocation: true
---
# Git Worktree Status
Check background verification tasks (type check, tests, build) launched by `/git-worktree`.
**Core principle:** Non-blocking feedback on worktree health without interrupting development flow.
**Part of:** [Worktree Lifecycle Suite](../../commands/git-worktree.md) | [`/git-worktree`](../../commands/git-worktree.md) | [`/git-worktree-remove`](../../commands/git-worktree-remove.md) | [`/git-worktree-clean`](../../commands/git-worktree-clean.md)
## Process
1. **Detect Current Worktree**: Verify we're inside a git worktree
2. **Check Log Files**: Read `.worktree-logs/` for background task results
3. **Parse Results**: Extract pass/fail counts, errors
4. **Report Status**: Color-coded summary with actionable next steps
## Worktree Detection
```bash
# Check if inside a worktree (not main repo)
git rev-parse --git-common-dir 2>/dev/null | grep -q "\.git/worktrees" || {
echo "Not inside a worktree. Use from a worktree directory."
exit 1
}
# Get worktree info
WORKTREE_PATH=$(git rev-parse --show-toplevel)
BRANCH=$(git rev-parse --abbrev-ref HEAD)
MAIN_REPO=$(git rev-parse --git-common-dir | sed 's|/\.git/worktrees/.*||')
```
## Background Task Checks
### Type Check Status
```bash
LOG=".worktree-logs/typecheck.log"
if [ -f "$LOG" ]; then
if grep -q "error TS" "$LOG"; then
ERROR_COUNT=$(grep -c "error TS" "$LOG")
echo "Type check: FAIL ($ERROR_COUNT errors)"
# Show first 5 errors
grep "error TS" "$LOG" | head -5
else
echo "Type check: PASS"
fi
elif pgrep -f "tsc --noEmit" > /dev/null; then
echo "Type check: RUNNING..."
else
echo "Type check: NOT RUN"
fi
```
### Test Status
```bash
LOG=".worktree-logs/tests.log"
if [ -f "$LOG" ]; then
if grep -q '"numFailedTests":0' "$LOG"; then
TOTAL=$(grep -o '"numTotalTests":[0-9]*' "$LOG" | cut -d: -f2)
echo "Tests: PASS ($TOTAL tests)"
else
FAILED=$(grep -o '"numFailedTests":[0-9]*' "$LOG" | cut -d: -f2)
echo "Tests: FAIL ($FAILED failures)"
# Show failed test names
grep '"fullName"' "$LOG" | head -5
fi
elif pgrep -f "vitest run" > /dev/null; then
echo "Tests: RUNNING..."
else
echo "Tests: NOT RUN"
fi
```
### Build Status
```bash
LOG=".worktree-logs/build.log"
if [ -f "$LOG" ]; then
if [ $? -eq 0 ]; then
echo "Build: PASS"
else
echo "Build: FAIL"
tail -10 "$LOG"
fi
elif pgrep -f "cargo build\|next build\|go build" > /dev/null; then
echo "Build: RUNNING..."
else
echo "Build: NOT RUN"
fi
```
## Report Format
```
Worktree Status: .worktrees/feat/auth
Branch: feat/auth (from main, 3 commits ahead)
Checks:
Type check: PASS
Tests: PASS (142 tests)
Build: NOT RUN
Dependencies: symlinked from main
Disk usage: 2.3 MB (excl. node_modules)
Log files: .worktree-logs/
```
**If failures detected:**
```
Worktree Status: .worktrees/feat/auth
Branch: feat/auth (from main, 3 commits ahead)
Checks:
Type check: FAIL (3 errors)
src/auth.ts:42 - error TS2345: Argument of type 'string' is not assignable
src/auth.ts:67 - error TS2304: Cannot find name 'AuthConfig'
src/middleware.ts:12 - error TS7006: Parameter 'req' implicitly has an 'any' type
Tests: FAIL (2 failures)
auth.test.ts > should validate token
auth.test.ts > should reject expired token
Build: NOT RUN
Action: Fix type errors before proceeding. Run `npx tsc --noEmit` for full output.
```
## Log Management
```bash
# Clean old logs (useful for re-running checks)
rm -rf .worktree-logs/*.log
# Re-run all checks
npx tsc --noEmit > .worktree-logs/typecheck.log 2>&1 &
npx vitest run --reporter=json > .worktree-logs/tests.log 2>&1 &
```
## Quick Reference
| Situation | Output |
|-----------|--------|
| All checks pass | Green status, ready to work |
| Checks still running | "RUNNING..." with PID |
| Type errors found | Error count + first 5 errors |
| Test failures | Failure count + failed test names |
| No logs found | "NOT RUN" (use `--fast` or logs deleted) |
| Not in worktree | Error message with instructions |
## Usage
```
/git-worktree-status
```
No arguments needed. Run from inside any worktree directory.Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!