claude/skills/project-update/SKILL.md
Generate a concise project status update for product managers, formatted for Slack. Use this skill when asked to write a project update, status report, sprint summary, progress briefing, or team update for PMs or stakeholders. Trigger on phrases like "write a project update", "create a status update for slack", "summarise what happened this week", "what should I tell the PM", "prepare an update for the team", "weekly update", "project status", even if the user doesn't explicitly mention Slack or PMs.
npx skillsauth add iainmcl/dotfiles project-updateInstall 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.
Generate a short, punchy project status update for a PM or stakeholder audience, formatted for Slack.
Before asking anything, look for .claude/project-update.json in the current working directory:
cat .claude/project-update.json 2>/dev/null
If the config exists: load it. You already know the project name, sources, channel, audience, and any standing highlights/exclusions. Skip to Step 1 and only ask for the time period (e.g. "What period should this cover? e.g. this week, last sprint").
If no config exists: continue to Step 1 and ask the full set of questions.
Ask these questions in a single message (don't ask one at a time):
docs/ folder (changelogs, screenshots, notes)If the user provides most of this upfront, skip the questions you already have answers to.
Pull from the relevant sources in parallel. Gather facts, not prose — you'll write the update yourself.
# Recent merged PRs and commits
git log --oneline --since="7 days ago" --merges
git log --oneline --since="7 days ago" --no-merges | head -20
Look for: features shipped, fixes, notable changes.
Use slack_read_channel with the project channel name and the relevant date range.
Look for: decisions made, blockers raised, things unblocked, announcements.
Use searchJiraIssuesUsingJql with a query like:
project = PROJ AND updated >= -7d ORDER BY updated DESC
Look for: tickets moved to Done, tickets blocked, tickets newly created this period.
Use notion-search for the project name, or notion-fetch if the user provides a URL.
Look for: goals, milestones, decisions, current status notes.
ls -lt docs/ | head -20
Look for: recent screenshots (.png, .jpg, .gif), changelogs, status notes. Note any image files that are recent and visually relevant.
Write the update for a busy PM who will read it in 30 seconds. Lead with outcomes, not activities. Use plain language — no jargon, no internal ticket IDs unless they add context.
Use Slack markdown (bold, not ## headers). Keep it tight — aim for under 200 words in the body.
*[Project Name] — [Period]*
✅ *Done*
• [concrete outcome, not task description]
• [concrete outcome]
🔄 *In Progress*
• [what's actively being worked on]
🚧 *Blockers* (omit section if none)
• [specific blocker and who owns it]
👀 *Up Next*
• [what's coming in the next period]
Writing rules:
If you found recent screenshots or images in docs/ (or attached to PRs), check if they're worth including — e.g. a UI screenshot showing a new feature, or a chart showing a metric.
If so, note them below the update text:
📸 *Screenshot:* [brief description]
[paste the image or note the file path for the user to attach]
Don't force images in — only include them if they genuinely add signal for the PM.
Present the formatted update and ask:
If the user confirms, use slack_send_message to post it. Otherwise provide the text for copy-paste.
development
Run a weekly achievement review - pulls from Jira, GitHub, and Slack to capture what you shipped in the last week, maps achievements to your 2026 goals, and appends impact-focused entries to your brag doc. Use when asked to "do a weekly review", "capture this week's wins", "update my brag doc", "what did I ship this week", "record my achievements", "what have I done this week", "add to my performance doc", or anything about tracking weekly progress, brag doc entries, or performance evidence. Trigger even if the user just says "weekly review" or "document what I did".
testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
tools
Set up a project update config for the current repo, so that running project-update requires no setup questions. Use when asked to "set up project updates", "configure project update", "initialise project update", or "create a project update config". Run this once per project repo.
testing
Find the highest-frequency unresolved Sentry error for the VAT & Invoicing or Billing team, understand its root cause, create a Jira ticket in the APP project, implement a fix, and open a draft PR. Use when asked to "fix sentry issues", "triage sentry errors", "look at sentry", "what's broken in sentry", "create a fix for a sentry issue", or "sentry triage". Runs the full flow autonomously in the background.