Skip to content

/project-status

Draft a Linear project status update from what actually moved — progress, risks, and the one decision that needs making. Use when someone asks for a project update, a status post, where a project stands, whether it will land on time, or what to tell stakeholders.

From plugin
paradev
16k48 skills1 agent1 command

Claude Code

$ npx -y skills add paradevai/paradev --skill project-status --agent claude-code

SKILL.md

project-status.SKILL.md
name: project-status
description: Draft a Linear project status update from what actually moved — progress, risks, and the one decision that needs making. Use when someone asks for a project update, a status post, where a project stands, whether it will land on time, or what to tell stakeholders.
argument-hint: project name or URL
allowed-tools: mcp__linear__*

Draft a project status update

A status update is read by people who will not open a single issue. It has to survive being the only thing they read: **is this landing, what changed, and what do you need from them.**

1. Read the movement, not the snapshot

Percent-complete is the number people reach for and the one that lies. A project can sit at 70% for a month while the last three issues get harder. What tells the story is what moved since the previous update: issues completed, issues added, and target dates that shifted.

Fetch the project's issues plus its previous status update. Without the previous one you are writing a summary, not an update, and the reader cannot tell what is new.

2. Judge the trajectory honestly

Pick one and commit to it. Hedging every sentence is how a project stays green until the week it ships late.

| Call | What justifies it | | --- | --- | | **On track** | Remaining scope fits the remaining time at the current rate | | **At risk** | A dependency, an unknown, or a rate that has to improve to land | | **Off track** | The date will move, or scope has to be cut — say which |

If you cannot tell, the answer is at risk, and the reason is that nobody can tell.

3. Name risks as things that could happen

"Backend integration is risky" gives the reader nothing. "The export endpoint is not built, we cannot finish import until it is, and the owner is on the payments migration until the 14th" tells them what to move. A risk is a specific event with a specific consequence and usually a specific person who can prevent it.

Include scope that was added mid-project. Silently absorbed scope is why the date moves, and it is invisible unless the update names it.

4. Ask for what you need

Most updates end with nothing to do, so nothing is done. If a decision, a person, or a descope would help, state it as the last line with a name and a date attached. One ask is better than three, because three get triaged and one gets answered.

5. Show the draft, then post it

Print the draft in full and stop. This skill drafts; publishing is the user's call. A status update is read by stakeholders and enters the project's permanent history, and a wrong trajectory or a risk named for the wrong person is not something a follow-up correction undoes — so an unreviewed post is worse than a late one.

Once they approve it, write it on the project so it lives next to the work rather than in a chat message that is gone by the next morning. Keep it to a few short paragraphs: trajectory, what moved, risks, the ask. If they asked only for a draft, stop after printing it.

Anti-patterns

  • Listing every completed issue. That is the changelog, not the update.
  • "No blockers" when the real answer is that nobody has looked. Say you have not looked.
  • Copying the previous update with the numbers changed. The reader learns to skip it, and

the one update that matters gets skipped too.

Read more
@superset-sh
Ships withparadev

Paradev is an open-source Codex App and Conductor alternative. Orchestrate an army coding agents in parallel with your own subscriptions.

Stars on GitHub

Momentum

stars in total
16.2k
Star history of superset-sh/superset on GitHub, a chart by star-history.com

Other skills on paradev.

find-in-circleback
Auto-invoked

find-in-circleback

Answer "what did we say, decide, or promise" from Circleback meetings — search by attendee, company, tag, or date before keyword,…

@superset-sh@superset-shInstall Skill
prep-with-circleback
Auto-invoked

prep-with-circleback

Build a brief for an upcoming meeting from Circleback — the calendar event, the history with the same people and company, open…

@superset-sh@superset-shInstall Skill
ci-triage
Auto-invoked

ci-triage

Diagnose a failing GitHub Actions run — find the first real error in the logs, tell a flake apart from a genuine failure, and…

@superset-sh@superset-shInstall Skill
issue-triage
Auto-invoked

issue-triage

Triage a GitHub issue into something actionable — reproduce the claim, find duplicates, judge severity, and apply labels,…

@superset-sh@superset-shInstall Skill
find-in-granola
Auto-invoked

find-in-granola

Answer "what did we say, decide, or promise" from Granola meeting notes — narrow to the meetings that can hold the answer, read…

@superset-sh@superset-shInstall Skill

More skills from other plugins.

paseo

paseo

Paseo reference for managing hosts, projects, workspaces, workspace scripts, agents, schedules, and heartbeats.

paseo2w23k
@getpaseo@getpaseoInstall Skill
capabilities

capabilities

Your capability catalog — read this at boot. Lists the temporal date-range skills and the external integrations (reached via the…

@chaitanyagiri@chaitanyagiriInstall Skill
brainstorming

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

codeg5d4.4k
@xintaofei@xintaofeiInstall Skill

Questions about project-status.

Which coding agents can use project-status?
project-status installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.