pi-heartbeat
Configure periodic health checks via HEARTBEAT.md and the /heartbeat command.
Generate comprehensive status reports for git repositories. Analyzes commits, codebase structure, type errors, branch health, dependency status, GitHub PRs/issues/CI, working tree changes, and optionally integrates with `td` (task management CLI) if a `.todos` folder is present.
$ npx -y skills add espennilsen/pi --skill git-project-status --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/git-project-statusContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate comprehensive status reports for git repositories. Analyzes commits, codebase structure, type errors, branch health, dependency status, GitHub PRs/issues/CI, working tree changes, and optionally integrates with `td` (task management CLI) if a `.todos` folder is present.
name: git-project-status description: | Generate comprehensive status reports for git repositories. Analyzes commits, codebase structure, type errors, branch health, dependency status, GitHub PRs/issues/CI, working tree changes, and optionally integrates with `td` (task management CLI) if a `.todos` folder is present. **TRIGGERS - Use this skill when:** - User asks for the status of a git project or repo - User asks "what's going on in [project]" or "give me an overview of [repo]" - User wants a project summary, progress report, or codebase overview - User asks about recent commits, code structure, or project health - User says "check my project" or "project status" **Output:** A rich, structured text report covering overview, branches, commit history, codebase breakdown, GitHub activity, dependency health, issues/errors, working tree changes, task management, and summary.
Generate a comprehensive status report for one or more git repositories.
**Path resolution (in priority order):** 1. **Full path provided** — use it directly 2. **Only a project name mentioned** (e.g. "check pi-crm-personal") — look in `/Users/espen/Dev/<project-name>` 3. **No path or name specified** — use the current working directory (`.`)
Never ask the user for a path — resolve it using the rules above and run the report. The skill produces a structured report for each repo.
Each report MUST include these sections in order. Sections marked **(Conditional)** are only included when the relevant tool/data is available.
---
Format example:
Branches (4 total)
main up to date (last: 3d ago) fix/webhook-retry +2 ahead (last: 5d ago) old/experiment +1 ahead (last: 45d ago) ⚠ stale
Format as a simple two-column list — hash followed by message. Truncate long messages with "…".
d7bd8b feat: Integrate pi-crm-personal extension e0469f deps: Add pi-crm-personal as file: dependency 6638a4 fix(heartbeat): normalize db health-check path in checklist 8770c4 chore: update agent name note and add start:tui script bedca7 Merge 'hannah/td-2f5211-workon' — workon tool, cross-proj…
Format example:
Codebase (3,420 lines across 18 files) TypeScript 82% ████████████████░░░░ 2,804 lines HTML 9% ██░░░░░░░░░░░░░░░░░░ 308 lines SQL 5% █░░░░░░░░░░░░░░░░░░░ 171 lines Shell 4% █░░░░░░░░░░░░░░░░░░░ 137 lines
**Counting rules:**
**Only include this section if the git remote origin points to GitHub (github.com) AND the `gh` CLI is available and authenticated.**
Detect GitHub origin:
git remote get-url origin 2>/dev/null | grep -q "github.com"
Check `gh` is available and authenticated:
gh auth status 2>/dev/null
If both conditions are met, include:
gh pr list --state open --json number,title,headRefName,author,reviewDecision,statusCheckRollup,updatedAt --limit 20
Show for each PR:
gh issue list --state open --json number,title,labels,assignees,createdAt --limit 20
Show for each issue:
gh pr list --state merged --json number,title,mergedAt,author --limit 5
Show the 5 most recently merged PRs with merge date.
gh run list --limit 5 --json databaseId,displayTitle,status,conclusion,headBranch,createdAt
Show the 5 most recent workflow runs with:
If `gh` is not available or not authenticated, skip this entire section silently (do not show an error or placeholder).
**Only include if the project has a dependency manifest.**
Check for outdated packages based on project type:
npm outdated --json 2>/dev/null
Show: package name, current version, wanted version, latest version. Highlight major version bumps.
cargo outdated 2>/dev/null
-
This repository is my Pi coding agent home directory. I keep it under version control and symlink it to ~/.pi/agent so Pi loads configuration, extensions, skills, and runtime state from here.
Configure periodic health checks via HEARTBEAT.md and the /heartbeat command.
Manage persistent memory across sessions. Use when asked to remember, recall, forget, or review what was stored. Covers long-term…
Track and manage projects with git status via dashboard and tool.
Delegate tasks to specialized subagents for parallel or sequential execution.
Audit, generate, update, and lint AGENTS.md files across all projects. Use when asked to check project context files, scaffold…