Pmstudio Comms
coco-research/coco
Generate templated stakeholder communications from project context.
A skill your agent uses when the user asks to write a status update, weekly or monthly update, stakeholder update, project update, standup, status report, or QBR.
$ npx skills add aakashg/pm-claude-skills --skill status-update-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aakashg/pm-claude-skills status-update-writer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/status-update-writer .claude/skills/status-update-writer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "status-update-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/status-update-writer into .claude/skills/status-update-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "status-update-writer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aakashg/pm-claude-skills/tree/main/skills/status-update-writerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aakashg/pm-claude-skills --skill status-update-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aakashg/pm-claude-skills status-update-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/status-update-writer .agents/skills/status-update-writer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "status-update-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/status-update-writer into .agents/skills/status-update-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "status-update-writer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aakashg/pm-claude-skills --skill status-update-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aakashg/pm-claude-skills status-update-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/status-update-writer .cursor/skills/status-update-writer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "status-update-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/status-update-writer into .cursor/skills/status-update-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "status-update-writer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aakashg/pm-claude-skills.git --path skills/status-update-writer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aakashg/pm-claude-skills --skill status-update-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aakashg/pm-claude-skills status-update-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/status-update-writer .gemini/skills/status-update-writer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "status-update-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/status-update-writer into .gemini/skills/status-update-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "status-update-writer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aakashg/pm-claude-skills status-update-writerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aakashg/pm-claude-skills --skill status-update-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/status-update-writer .github/skills/status-update-writer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "status-update-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/status-update-writer into .github/skills/status-update-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "status-update-writer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aakashg/pm-claude-skills --skill status-update-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aakashg/pm-claude-skills status-update-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/status-update-writer .opencode/skills/status-update-writer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "status-update-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/status-update-writer into .opencode/skills/status-update-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "status-update-writer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
status-update-writerA skill your agent uses when the user asks to write a status update, weekly or monthly update, stakeholder update, project update, standup, status report, or QBR.
Status Update Writer is an agent skill from aakashg/pm-claude-skills. Use when the user asks to write a status update, weekly or monthly update, stakeholder update, project update, standup, status report, or QBR. Do NOT use for writing a PRD or a retro doc — those need different structures.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/cadences.md`).
It sits in Product & Project Management, covering Customer success, Meeting notes and agendas and PRD writing. The repository describes itself as: 5 Claude Code skills for product managers. Drop them in your .claude/skills/ folder and go. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 64deebf. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Status Update Writer loads about 2.5k tokens when it runs, and up to ~3.2k if it reads all its reference files. Until then it costs about 61 tokens; SKILL.md has 1,077 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aakashg/pm-claude-skills at commit 64deebf, republished under its MIT licence (© aakashg). 1,077 words, ~2,539 tokens.
.claude/skills/status-update-writer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Turn messy notes into a precise stakeholder update that stands alone without a follow-up meeting.
| Source | Path | What to extract |
|---|---|---|
| User's raw notes | whatever they pasted | What actually shipped, real numbers, real dates, real names |
| Project context | CLAUDE.md | North star metrics, OKRs, company terminology, audience norms |
| Cadence formats | references/cadences.md | Daily / monthly / QBR variants of the base format |
| Last update | any prior update they name | What was promised last week — the delta is the story |
| Metrics source | dashboard link or data they provide | Current values only. Never estimate a metric. |
If the user gave you no numbers, the update stays qualitative and you say so. Do not fill the gap.
Mandatory.
[NEED: X].Before writing, verify:
If two of three are missing, do not write. Ask for exactly those. An update written without knowing the audience gets the depth wrong in both directions — too technical for the board, too vague for the eng lead.
Ask:
Never ask the user to organize their notes first. Extracting structure from mess is the job.
| Audience | Focus on | Leave out |
|---|---|---|
| CEO / C-suite | Outcomes, metrics, strategic implications | Implementation details, technical decisions |
| VP / Director | Progress against milestones, risks, resource needs | Code-level detail, day-to-day tasks |
| Cross-functional | Dependencies, timeline impacts, what they must know | Internal team dynamics, tech debt |
| Engineering lead | Technical blockers, architecture decisions, velocity | Business context they already have |
| Skip-level | Team impact, growth, wins | Minutiae the direct manager handles |
| Board | Metrics, trajectory, market context | Everything operational |
Default cadence is weekly. If the user says daily, monthly, quarterly, or QBR, switch to that format in references/cadences.md.
Exact fields, exact order. Omit only the sections marked optional.
**TL;DR** (2 sentences max)
[The whole update if they read nothing else. Most important thing first.
Bad news goes HERE, not below.]
**Status:** On Track | At Risk | Blocked
**Progress This Week**
- [What shipped or completed — never what was "worked on". Specific numbers.
Links to PRs, docs, demos, dashboards where provided. Milestones called out.]
**Next Week**
- [What's planned, with owner. Dependencies on other teams flagged.
Hard deadlines made visible.]
**Risks & Blockers**
- RISK: [description]. Likelihood: [H/M/L]. Impact: [what it costs].
Mitigation: [the plan].
- BLOCKER: [what's blocked]. Owner: [who unblocks it]. Need by: [date].
[If none: "None currently." Never invent risks to fill the section.]
**Decisions Needed** (omit if none)
[What must be decided, who decides, by when, enough context to decide
without a meeting, and a recommendation with reasoning.]
**Metrics** (omit if the user provided no data)
- [Metric]: [current] (target: [target]) — [trend] — [one-line interpretation]Status definitions: On Track = shipping on schedule, no blockers. At Risk = potential issues needing visibility, with a mitigation plan. Blocked = cannot proceed without a specific decision or action from a specific person.
Input notes: "auth migration, we're at 40% web rollout now up from 10%, error rate 0.3%, load tests done handles 5x peak. mobile has a session bug hitting ~12% of users, jake's on it thinks thursday. launch was march 7, probably march 14 now. waiting on maria for QA signoff before we go past 40%. need to know if we ship web only."
Output:
TL;DR: Auth migration is at risk. We found a session handling bug
that affects 12% of users on mobile. Fix is in progress — ETA Thursday.
Launch pushed from March 7 to March 14.
Status: AT RISK
Progress This Week:
- Shipped auth migration to 40% of web users (up from 10% last week)
- Error rate holding at 0.3% — within our 1% threshold
- Completed load testing: system handles 5x current peak traffic
Next Week:
- Fix mobile session bug (owner: Jake, ETA Thursday)
- Expand to 100% of web users if mobile fix validates (owner: Sarah)
- Begin mobile rollout at 10% by Friday (owner: Sarah)
Risks & Blockers:
- RISK: Mobile session bug could have deeper root cause than initial
diagnosis suggests. Likelihood: Medium. Impact: Additional 1-week
delay. Mitigation: Jake is pairing with platform team on diagnosis.
If not resolved by Thursday, we'll ship web-only and decouple mobile.
- BLOCKER: Need QA sign-off on load test results before expanding
beyond 40%. Owner: Maria. Need by: Tuesday EOD.
Decision Needed:
Should we launch web-only on March 10 if the mobile bug isn't fixed,
or hold everything for March 14? I recommend launching web-only —
88% of auth traffic is web, and decoupling de-risks the mobile fix.
Need a decision from @VP-Eng by Wednesday.The same notes written badly: "This week we continued working on the authentication project. The team has been making good progress. We're also looking into some issues that came up during testing but nothing major. On track for launch, will keep you posted." No specifics. "Some issues" is hiding a 12% failure rate. "On track" is false. The reader learns nothing and finds out about the slip later, which is how PMs lose trust.
Metrics, done badly and well:
Bad:
- Users: going well
- Revenue: looking good
- NPS: stable
Good:
- WAU: 142K (target: 150K) — flat for 3 weeks. Investigating whether
the new onboarding friction is suppressing activation.
- Revenue: $1.2M MRR (+4% MoM) — on track for Q1 target of $1.3M
- NPS: 34 (down from 38 last month) — correlated with auth migration
complaints. Expect recovery after bug fixes ship.| What Claude might think | Why it's wrong |
|---|---|
| "The bad news reads harshly, I'll move it down" | Burying the lead is how stakeholders find out too late. TL;DR or nowhere. |
| "The notes are thin, I'll add reasonable-sounding progress" | Fabricated progress becomes a commitment the user has to defend. Keep it thin. |
| "I don't have the exact metric, I'll approximate" | An approximate metric gets quoted as real in the next meeting. Write [NEED:]. |
| "'Working on the migration' counts as progress" | That is activity. Report what completed or explicitly say nothing shipped. |
| "A risk with no mitigation is still worth flagging" | It is anxiety with no action. Either name a mitigation or downgrade it. |
| "The decision is obvious, they'll pick right" | Always state the recommendation. Never make the reader redo your analysis. |
| "This is over 200 words but it's all useful" | Length means the audience calibration is wrong. Cut to the audience's altitude. |
Not complete until every box is checked. Any [NEED: X], [date], [owner], or [metric] placeholder left in the update is an automatic unchecked box — fill it or ask the user for it before sending.
/linkedin-post-writer only for genuinely external wins.© aakashg, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/status-update-writer of aakashg/pm-claude-skills.
Open the folder on GitHubat commit 64deebf
Status Update Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Status Update Writer this skillaakashg/pm-claude-skills | 112 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Pmstudio Commscoco-research/coco | 513 | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Utility Pm Criticproduct-on-purpose/pm-skills | 716 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Make Requirements Greatgnurio/nurijanian-skills | 124 | — | ~7.3k | Automated safety check: Pass | MIT | |
| Tdoctornado-doc/tdoc | 103 | — | ~18k | Automated safety check: Notes | AGPL-3.0 | |
| Gitea Workflowjwynia/agent-skills | 170 | — | ~3.8k | Automated safety check: Pass | MIT |
coco-research/coco
Generate templated stakeholder communications from project context.
product-on-purpose/pm-skills
Run adversarial review on a PM artifact via the pm-critic sub-agent.
gnurio/nurijanian-skills
Review existing requirements or convert raw context into requirements that meet 18 quality characteristics (unambiguous, clear, cohesive, consistent, conformant, current, modifiable, traceable…
tornado-doc/tdoc
Use tdoc by default to create, edit, publish, or share any document, even when tdoc is not mentioned.
jwynia/agent-skills
Orchestrate agile development workflows for Gitea repositories using the tea CLI.
opentabs-dev/opentabs
Plan work and generate ralph task files for autonomous execution.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to validate a product idea, stress-test an idea, evaluate whether an idea is good, or decide whether to build something.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to write, draft, or rewrite a LinkedIn post, turn notes or an article into a LinkedIn post, or fix a hook that is not landing.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to review a design, critique a UI or mockup, give design feedback, or check a screen for usability and accessibility issues.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to improve, optimize, rewrite, debug, or shorten a prompt, or asks why a prompt is producing bad output.
A skill your agent uses when the user asks to write a status update, weekly or monthly update, stakeholder update, project update, standup, status report, or QBR. Status Update Writer is an agent skill from aakashg/pm-claude-skills. Use when the user asks to write a status update, weekly or monthly update, stakeholder update, project update, standup, status report, or QBR.
Status Update Writer fits situations like: the user asks to write a status update; stakeholder update; A retro doc — those need different structures.
Run `npx skills add aakashg/pm-claude-skills --skill status-update-writer -a claude-code`. Or copy the skill folder (skills/status-update-writer in aakashg/pm-claude-skills) into .claude/skills/status-update-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aakashg/pm-claude-skills --skill status-update-writer -a codex`. Or copy the skill folder (skills/status-update-writer in aakashg/pm-claude-skills) into .agents/skills/status-update-writer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aakashg/pm-claude-skills --skill status-update-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/status-update-writer, .gemini/skills/status-update-writer, .github/skills/status-update-writer and .opencode/skills/status-update-writer in your project.
SKILL.md names no scripts, command-line tools or credentials: Status Update Writer is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Status Update Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 643 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Status Update Writer: Pmstudio Comms (coco-research/coco, 513 stars), Utility Pm Critic (product-on-purpose/pm-skills, 716 stars), Make Requirements Great (gnurio/nurijanian-skills, 124 stars) and Tdoc (tornado-doc/tdoc, 103 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aakashg (a GitHub user) maintains it in aakashg/pm-claude-skills, which has 112 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 8, 2026.
Source: aakashg/pm-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.