plugins/teamcraft/skills/project-status/SKILL.md
Report project status from work items and git history — either as a quick, interpreted read here in the session, or by pointing the developer to the live Status dashboard (the work board's Status tab). Covers work by status, what's in flight, cycle times, throughput, backlog priorities, aging alerts, blocked chains, and how commit activity lines up with the board. Use when the user says 'project status', 'show me the project status', 'what's the status of the work items', 'how are we doing', 'generate a status report', or asks for a status dashboard.
npx skillsauth add codingthefuturewithai/claude-code-primitives teamcraft:project-statusInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Give the developer project status in the form that actually fits the moment. There are two, and they answer different needs — so this skill offers the choice instead of assuming:
A quick read, here in the session. Read the work items in .teamcraft/work/ and recent git history, and give a tight, interpreted snapshot: not just the counts, but what they mean — whether an aging item is a real stall or a deliberate gate, and how commit activity lines up with item movement. This costs a little time and tokens each run, but it's portable (drop it into a standup, a retro, a PR) and it's the only path that can correlate git with the board. It's a point-in-time snapshot; no files are written.
The live dashboard. The work board carries a Status tab — the developer runs /work-board, then clicks Status. It renders the same metrics (work by status, throughput, cycle time, aging, blocked chains) live from .teamcraft/work/, recomputing on its own with zero tokens, and they bookmark it once. It can't show git activity (a browser has no shell), but as the always-on "how are we doing right now" surface, it's the better daily driver.
So start by reading intent, not by generating. If the phrasing already picks a lane — "quick status", "just tell me" → the in-session read; "open the dashboard", "show me visually", "I want to keep it up" → point them at the work board's Status tab — go straight there. If it's ambiguous, offer both in one line and let them choose. Don't silently run the full in-session report just because the skill was invoked; that's the token cost the developer should get to opt into.
When you give the in-session read, references/example-status-report.md is the quality bar — a complete report with every section populated, plus how to adapt when data is sparse. The tables and numbers matter, but the callouts and the git correlation are what make the in-session read worth choosing over the dashboard — lead with the interpretation, not just the tables.
1. Read the work items. Read .teamcraft/work/INDEX.md for the overview. Then read individual work item files to get dates (created, started, completed) and effort estimates. If INDEX.md doesn't exist or is empty, say so — there's nothing to report on yet, and point the developer to /create-issue.
2. Compute metrics from the data you have:
backlog, ready, in-progress, or in-review whose relationships.blocked_by includes an ID whose own status is not yet done. Show the blocked item, the blocker(s), and the blocker's status. Also flag blockers that don't exist on disk (probable stale references). Items blocked >7 days deserve a callout — the dependency may have stalled.completed date in the last 30 days, with cycle time (completed minus started)3. Check git activity. Run git log --oneline --since="2 weeks ago" to get a sense of recent commit activity. This adds context — a project with 2 items in-progress and 50 commits is healthy; 2 items in-progress and 0 commits might not be.
Generate a markdown report with these sections. Use Mermaid charts where they add clarity — a pie chart for status distribution, nothing else unless the data warrants it. Don't force charts onto small data sets.
# Project Status — YYYY-MM-DD
## At a Glance
[Table: status | count]
[Row showing count of currently-blocked items if any exist]
[Mermaid pie chart if there are 5+ total items]
## In Progress
[Table: item | priority | started | days elapsed]
[Aging alerts if any items are aging]
## Blocked
[Table: item | priority | blocked by | blocker status | days blocked]
[Callout for items blocked >7 days, or with non-existent blocker IDs]
## Recently Completed
[Table: item | cycle time | completed date]
[Average cycle time if 3+ items completed]
## Backlog
[Table: priority | count | top item in each tier]
[Call out any critical-priority items explicitly]
## Activity
[Commit count last 2 weeks, brief summary of what areas were active]
Skip the Blocked section entirely if no items are blocked. Don't fabricate an empty section just because the structure lists it.
Adapt the report to what data exists. If there are no completed items, skip that section — don't show an empty table. If the backlog is empty, say so. If there are only 2 items total, skip the pie chart — it adds nothing.
pick-next-issue — point the developer there rather than choosing for them.development
Plan a time-boxed iteration (sprint, cycle, milestone) from the backlog and the PRD/roadmap behind it — gather the goal, the window, and the team's real capacity, then select, sequence, and size a committed set of work items to fit. Writes an `iteration` label onto each chosen work item. Use when the user says 'plan a sprint', 'plan the next iteration', 'plan our cycle', 'sprint planning', 'iteration planning', 'plan the next two weeks', 'set up a milestone', 'what should we take on this sprint', 'plan from the PRD', or otherwise wants to commit a scoped, time-boxed batch of work rather than create issues one at a time. This is the planning layer between requirements and the build loop — distinct from create-issue (one item) and pick-next-issue (pick one to build now).
tools
Capture feedback about Teamcraft itself and turn it into a well-structured GitHub issue on the plugin's repo. Vets whether the problem is really a Teamcraft skill defect (vs. misuse, the harness, or the user's own project) by root-causing against the actual skill source, then helps the developer decide whether to file and publishes via the GitHub CLI. Use when the user says 'improve teamcraft', 'a teamcraft skill did the wrong thing', 'file feedback on teamcraft', 'report a teamcraft bug', 'I have an idea to make teamcraft better', or when a Teamcraft skill clearly misbehaved and the user wants that captured upstream.
tools
Learn the Teamcraft plugin itself — how its workflow, skills, and artifacts fit together. A guided overview for a human getting started, or a system map for Claude orienting itself to how Teamcraft works before working in a Teamcraft repo. Teaching only; needs no project or environment access. Use when someone wants to understand Teamcraft (the tool, not their specific project), asks "how does Teamcraft work", "explain the workflow", "which skill do I use for X", or when Claude needs the big picture of how the skills hook together.
tools
--- name: teamcraft:work-board description: Launch (or re-launch) the user's live, multi-project work board. The dashboard is a single HTML file copied to a stable user-side location at ~/.claude/teamcraft-board.html and opened in the user's default browser. It has two views via a header toggle — a drag-and-drop Kanban Board and a live Status tab (analytics: work by status, throughput, cycle time, aging, blocked chains, recomputed on every poll). Each project is added via a header dropdown; the