/repo-status — Live Repo Snapshot
Purpose: Print a concise, current view of the repo's git and PR state. No memory, no narrative — just the facts the agent and user both need to decide what to do next.
This skill complements the remember plugin (which auto-injects session memory at start-up). remember answers "what was I doing?"; repo-status answers "what's the repo actually look like right now?"
When to Use
- Start of a session, after
remember has loaded prior context, to confirm the working tree matches what memory claims.
- After switching machines.
- Before opening a PR, to confirm the branch is pushed and clean.
- Any time the agent is unsure of branch, push state, or PR status.
When NOT to Use
- To save or restore session memory — that's the
remember plugin's job.
- To make changes. This skill is strictly read-only.
Arguments
- (none) — current repo, summary form
--full — include 10-commit log, full PR details, and remote tracking detail
Workflow
1. Repo identity
git rev-parse --show-toplevel — repo root
- Repo name from the basename of that path
hostname — current machine
2. Branch and tracking
git branch --show-current — current branch
git rev-parse --abbrev-ref --symbolic-full-name @{u} — upstream (capture failure: branch has no upstream)
git rev-list --left-right --count @{u}...HEAD — ahead/behind counts (skip if no upstream)
3. Working tree
git status --short — modified/untracked summary
git stash list — stashes (count + first line of each)
4. Commits
git log --oneline -5 (or -10 with --full) — recent commits on current branch
- If ahead of upstream:
git log --oneline @{u}..HEAD — list the unpushed commits explicitly
5. Open PRs
gh pr list --author @me --state open --json number,title,headRefName,updatedAt,isDraft,statusCheckRollup
- Identify whether the current branch has an open PR
- Flag PRs older than 3 days as stale
- With
--full: include CI status rollup per PR
6. Print briefing
Default form:
📍 <repo> — <branch> @ <machine>
Tracking: <upstream> (<ahead> ahead, <behind> behind) [or: no upstream]
Working tree: <clean | N modified, M untracked>
Stashes: <count> [omit if zero]
Unpushed commits:
<sha> <subject>
...
[omit section if ahead == 0]
Recent commits:
<sha> <subject>
...
Open PRs (you): <count>
#<num> <title> — <branch> [draft] [CI: pass/fail/pending] (updated <relative>)
...
[omit section if zero]
7. Warnings
Append at the bottom only when triggered:
- ⚠️ Branch has no upstream — push with
-u before opening a PR.
- ⚠️ Behind upstream by N — pull or rebase before continuing.
- ⚠️ Unpushed commits on current branch — N commits not on remote.
- ⚠️ Stashed work exists — N stashes, oldest from .
- ⚠️ Open PR on current branch is stale — last update .
- ⚠️ Detached HEAD — not on any branch.
Rules
- Read-only. Never run anything that mutates state (no
fetch, no pull, no push, no stash apply). The user decides what to do next.
- One screen. Default output should fit on a single screen. Use
--full for detail.
- Facts, not memory. Do not interpret or compare against
remember.md. That's a separate concern.
- Fail gracefully. If
gh is missing or unauthenticated, print the git portion and note "PR check skipped: gh unavailable." Don't abort the briefing.
- No network calls beyond
gh pr list. Do not git fetch — the user may be offline or on a slow connection.
1---2name: repo-status3description: Reports live repo state: branch, working tree, unpushed commits, stashes, and open PRs. Read-only snapshot for orienting at the start of a session or after a long break.4---56# /repo-status — Live Repo Snapshot78**Purpose:** Print a concise, current view of the repo's git and PR state. No memory, no narrative — just the facts the agent and user both need to decide what to do next.910This skill complements the `remember` plugin (which auto-injects session memory at start-up). `remember` answers "what was I doing?"; `repo-status` answers "what's the repo actually look like right now?"1112## When to Use1314- Start of a session, after `remember` has loaded prior context, to confirm the working tree matches what memory claims.15- After switching machines.16- Before opening a PR, to confirm the branch is pushed and clean.17- Any time the agent is unsure of branch, push state, or PR status.1819## When NOT to Use2021- To save or restore session memory — that's the `remember` plugin's job.22- To make changes. This skill is strictly read-only.2324## Arguments2526- _(none)_ — current repo, summary form27- `--full` — include 10-commit log, full PR details, and remote tracking detail2829## Workflow3031### 1. Repo identity3233- `git rev-parse --show-toplevel` — repo root34- Repo name from the basename of that path35- `hostname` — current machine3637### 2. Branch and tracking3839- `git branch --show-current` — current branch40- `git rev-parse --abbrev-ref --symbolic-full-name @{u}` — upstream (capture failure: branch has no upstream)41- `git rev-list --left-right --count @{u}...HEAD` — ahead/behind counts (skip if no upstream)4243### 3. Working tree4445- `git status --short` — modified/untracked summary46- `git stash list` — stashes (count + first line of each)4748### 4. Commits4950- `git log --oneline -5` (or `-10` with `--full`) — recent commits on current branch51- If ahead of upstream: `git log --oneline @{u}..HEAD` — list the unpushed commits explicitly5253### 5. Open PRs5455- `gh pr list --author @me --state open --json number,title,headRefName,updatedAt,isDraft,statusCheckRollup`56- Identify whether the current branch has an open PR57- Flag PRs older than 3 days as stale58- With `--full`: include CI status rollup per PR5960### 6. Print briefing6162Default form:6364```65📍 <repo> — <branch> @ <machine>66Tracking: <upstream> (<ahead> ahead, <behind> behind) [or: no upstream]67Working tree: <clean | N modified, M untracked>68Stashes: <count> [omit if zero]6970Unpushed commits:71 <sha> <subject>72 ...73[omit section if ahead == 0]7475Recent commits:76 <sha> <subject>77 ...7879Open PRs (you): <count>80 #<num> <title> — <branch> [draft] [CI: pass/fail/pending] (updated <relative>)81 ...82[omit section if zero]83```8485### 7. Warnings8687Append at the bottom only when triggered:8889- ⚠️ Branch has no upstream — push with `-u` before opening a PR.90- ⚠️ Behind upstream by N — pull or rebase before continuing.91- ⚠️ Unpushed commits on current branch — N commits not on remote.92- ⚠️ Stashed work exists — N stashes, oldest from <date>.93- ⚠️ Open PR on current branch is stale — last update <relative>.94- ⚠️ Detached HEAD — not on any branch.9596## Rules9798- **Read-only.** Never run anything that mutates state (no `fetch`, no `pull`, no `push`, no stash apply). The user decides what to do next.99- **One screen.** Default output should fit on a single screen. Use `--full` for detail.100- **Facts, not memory.** Do not interpret or compare against `remember.md`. That's a separate concern.101- **Fail gracefully.** If `gh` is missing or unauthenticated, print the git portion and note "PR check skipped: gh unavailable." Don't abort the briefing.102- **No network calls beyond `gh pr list`.** Do not `git fetch` — the user may be offline or on a slow connection.