All tutorials
15 minintermediate

Build a Weekly Status Report Generator

Pull from your projects and generate a stakeholder-ready status report in seconds.

Nobody likes writing status reports. But everyone needs them. Let's build a skill that gathers context from your projects and generates a clean, stakeholder-ready report in seconds. You'll go from "I need to write my weekly update" to having it done before your coffee gets cold.

1

Set up memory with your project context

First, give Claude the context it needs — your projects, your team, and what stakeholders care about. This goes in your CLAUDE.md.

bash
cat > CLAUDE.md << 'EOF'
# CLAUDE.md

## Role
Product Manager. I report weekly to leadership.

## My Projects
- **Project Alpha**: User authentication redesign (Q2 deadline)
- **Project Beta**: Mobile app v2.0 (in beta testing)
- **Project Gamma**: API performance optimization (ongoing)

## Stakeholders
- VP of Product: wants high-level progress and risks
- Engineering Director: wants technical details and blockers
- CEO: wants one-sentence status per project

## Status Report Format
Weekly status sent every Friday.
Covers: accomplishments, next week, risks, metrics.
EOF
Context loaded
2

Create the weekly-status skill

This skill defines the exact structure of your status report. It tells Claude what sections to include, what tone to use, and how to handle missing information.

bash
mkdir -p .claude/skills
cat > .claude/skills/weekly-status.md << 'EOF'
# Weekly Status Report Skill

Generate a weekly status report for leadership.

## Process
1. Read project context from CLAUDE.md
2. Ask what was accomplished this week (or check recent files/commits)
3. Structure into the report format below
4. Flag any risks or blockers prominently

## Report Template

# Weekly Status — [Date]

## TL;DR
One sentence per project. Green/Yellow/Red status.

## Project Alpha: [Status Emoji] [One-liner]
**This week**: What got done
**Next week**: What's planned
**Risk**: Any blockers or concerns (or "None")

## Project Beta: [Status Emoji] [One-liner]
(same format)

## Project Gamma: [Status Emoji] [One-liner]
(same format)

## Key Metrics
- Metric 1: value (trend)
- Metric 2: value (trend)

## Decisions Needed
- [ ] Decision 1 (by when, from whom)

## Status Emojis
- On track = green circle
- At risk = yellow circle
- Blocked = red circle

## Rules
- Keep it scannable — leadership reads in 30 seconds
- Lead with the TL;DR
- Put bad news in the Risks section, not hidden in updates
- Use concrete numbers, not vague progress descriptions
- If unsure about something, say so explicitly
EOF
Skill created
3

Run it and see the report

Now just tell Claude what happened this week. You can be as messy as you want — bullet points, half-sentences, whatever. The skill handles the formatting.

bash
claude "Generate my weekly status. Here's what happened:
- Alpha: finished the password reset flow, started on SSO integration. SSO is more complex than expected, might need another sprint.
- Beta: got 200 beta testers this week, crash rate down to 0.3%. One critical bug with push notifications on Android.
- Gamma: reduced API p95 from 800ms to 340ms. Still working on the search endpoint."
Your status report, generated
4

Customize the output format

Maybe your team uses Slack. Maybe you want a Confluence-friendly version. Tweak the skill to output in whatever format your team actually reads.

markdown
# Add to your weekly-status.md skill:

## Output Variants
When asked for "slack format":
- Use Slack markdown (bold with *, not **)
- Add emoji reactions as status indicators
- Keep it under 500 characters per project
- End with a thread-friendly "questions? reply here"

When asked for "email format":
- Use a professional subject line
- Start with "Hi team,"
- Attach the detailed report as a quote block
- End with "Let me know if you have questions"
Multi-format output

Stay in the loop

New guides, templates, and tips. No spam. Unsubscribe anytime.