Weekly Report
When to Use This Skill
Use this skill when:
- A user has raw bullets or scattered updates and needs a polished weekly report
- Someone needs to send a status update to a client, boss, investor, or team
- A user says "write my weekly update," "status report," or similar
DO NOT use for daily standups, monthly/quarterly reports, proposals, or meeting notes.
Core Principle
EVERY WEEKLY REPORT ANSWERS THREE QUESTIONS: WHAT GOT DONE, WHAT IS STUCK, AND WHAT HAPPENS NEXT. STRIP EVERYTHING ELSE.
Audience Reference
| Audience |
Tone |
Focus |
| Boss |
Concise, direct |
Results, metrics, numbers |
| Client |
Professional, outcome-focused |
Deliverables, value delivered |
| Team |
Detailed, transparent |
Blockers, context, handoffs |
| Investor |
Confident, growth-oriented |
Milestones, revenue, MRR |
DEFAULT: Client-facing tone if audience is unspecified.
Step 1: Understand
Gather these inputs (items 5-7 can be defaulted):
- Bullet points -- what happened this week
- Metrics -- any numbers worth reporting
- Wins -- anything that exceeded expectations
- Blockers -- anything stuck or waiting on someone
- Audience -- boss, client, team, or investor (default: client)
- Project name -- what this report covers
- Week dates -- reporting period (default: current Mon-Fri)
If the user dumps a raw list, extract what you can and ask only for what is missing.
GATE: Do not proceed until you have at least 3 bullets and know (or have defaulted) the audience.
Step 2: Structure
Organize inputs into six sections in this order:
| Section |
Format |
Rules |
| Executive Summary |
2-3 sentences |
Write LAST. Include status: on track / at risk / blocked. Must stand alone. |
| Key Metrics |
Table: Metric, This Week, Last Week, Change |
Only user-provided metrics. Omit Last Week/Change columns if no prior data. If none: "No metrics this week." |
| Wins |
Bullet list |
WHAT happened + WHY it matters. Min 1, max 5. Promote top completed task if no explicit wins. |
| Work Completed |
Table: Task, Status, Notes |
Map every bullet to a row. Status: "Done" or "In Progress (X%)". Group if 10+. |
| Blockers & Solutions |
Table: Blocker, Impact, Solution, Owner |
Every blocker MUST have a solution. Propose one if omitted. If none: "No blockers this week." |
| Next Week Priorities |
Numbered list |
3-5 specific deliverables. Infer from in-progress tasks if not provided. |
Report header: # Weekly Report: [Project Name] with Period and Prepared For fields.
Step 3: Present
- Display the complete report in chat.
- Call out inferences you made (promoted wins, inferred priorities).
- Ask for approval before saving.
GATE: Do not write to file until the user approves.
Step 4: Deliver
- Write to file. Default:
weekly-report-[YYYY-MM-DD].md (Friday date). Use user path if specified.
- Confirm delivery. Suggest copying into email or Slack.
- Offer to draft a send-along message.
Example 1: Client-Facing Report -- Marketing Retainer
Input: "Greenleaf Organics retainer, client audience. 3 blog posts published, traffic +18%, newsletter 42% open rate, reel 12K views (record), 8 social posts drafted but need client photos, banner delayed -- no product photos. Next week: spring promo emails, April social calendar."
Output: Client tone. Summary leads with reel record and open rate. Blockers have specific asks ("Send photos by Wednesday"). Priorities: spring promo, April calendar, banner.
Example 2: Internal Team Report -- Product Sprint
Input: "Beacon app sprint, team audience. Shipped notifications API, fixed 4 QA bugs, onboarding at 60% needs UX review, velocity 34/40 (85%), server costs $2,100 up from $1,800, Stripe sandbox 500 errors (ticket opened), Maria finished wireframes early. Next week: onboarding, push notification UI, Stripe."
Output: Team tone with technical detail. Summary: "85% velocity, API shipped, Stripe blocked." Metrics: velocity 85%, server costs +17%. Wins: API shipped (unblocks next work), Maria early, bugs down 25%. Blockers: Stripe (escalate Monday, staging fallback), UX review (Monday session).
Recovery
| Situation |
Action |
| Fewer than 3 bullets |
Ask for more. If user insists, work with what exists. Note "partial inputs." Never invent work. |
| No metrics |
Replace table with "No metrics this week." Suggest tracking 2-3 consistent metrics going forward. |
| No next-week priorities |
Infer from in-progress tasks. Flag inferences so user can adjust. |
| Vague blocker |
Ask what specifically is blocking. If unclear, propose: "Schedule a sync to identify the obstacle." |
| Different format |
Adapt. Always keep executive summary and blockers. |
| File write fails |
Present in chat. Retry different path. After 3 failures, stop. |
Anti-Patterns
- DO NOT invent tasks, metrics, or wins the user did not mention
- DO NOT write blockers without solutions -- a blocker without a path forward is a complaint
- DO NOT exceed 5 next-week priorities -- force-rank if more are provided
- DO NOT use filler like "progress was made on several fronts" -- every line must be specific
- DO NOT change audience tone mid-report -- client reports stay client-facing throughout
- DO NOT skip the executive summary -- busy readers often read only this section
1---2name: weekly-report3description: Transforms bullet-point inputs into structured weekly reports with executive summary, metrics tables, wins, blockers with proposed solutions, and next-week priorities. Use when a user needs to compile a weekly status update, wants to present progress to clients or stakeholders, or needs to document team accomplishments and blockers.4---56# Weekly Report78## When to Use This Skill910Use this skill when:11- A user has raw bullets or scattered updates and needs a polished weekly report12- Someone needs to send a status update to a client, boss, investor, or team13- A user says "write my weekly update," "status report," or similar1415**DO NOT** use for daily standups, monthly/quarterly reports, proposals, or meeting notes.1617---1819## Core Principle2021EVERY WEEKLY REPORT ANSWERS THREE QUESTIONS: WHAT GOT DONE, WHAT IS STUCK, AND WHAT HAPPENS NEXT. STRIP EVERYTHING ELSE.2223---2425## Audience Reference2627| Audience | Tone | Focus |28|----------|------|-------|29| **Boss** | Concise, direct | Results, metrics, numbers |30| **Client** | Professional, outcome-focused | Deliverables, value delivered |31| **Team** | Detailed, transparent | Blockers, context, handoffs |32| **Investor** | Confident, growth-oriented | Milestones, revenue, MRR |3334**DEFAULT: Client-facing tone** if audience is unspecified.3536---3738## Step 1: Understand3940Gather these inputs (items 5-7 can be defaulted):41421. **Bullet points** -- what happened this week432. **Metrics** -- any numbers worth reporting443. **Wins** -- anything that exceeded expectations454. **Blockers** -- anything stuck or waiting on someone465. **Audience** -- boss, client, team, or investor (default: client)476. **Project name** -- what this report covers487. **Week dates** -- reporting period (default: current Mon-Fri)4950If the user dumps a raw list, extract what you can and ask only for what is missing.5152**GATE: Do not proceed until you have at least 3 bullets and know (or have defaulted) the audience.**5354---5556## Step 2: Structure5758Organize inputs into six sections in this order:5960| Section | Format | Rules |61|---------|--------|-------|62| **Executive Summary** | 2-3 sentences | Write LAST. Include status: on track / at risk / blocked. Must stand alone. |63| **Key Metrics** | Table: Metric, This Week, Last Week, Change | Only user-provided metrics. Omit Last Week/Change columns if no prior data. If none: "No metrics this week." |64| **Wins** | Bullet list | WHAT happened + WHY it matters. Min 1, max 5. Promote top completed task if no explicit wins. |65| **Work Completed** | Table: Task, Status, Notes | Map every bullet to a row. Status: "Done" or "In Progress (X%)". Group if 10+. |66| **Blockers & Solutions** | Table: Blocker, Impact, Solution, Owner | Every blocker MUST have a solution. Propose one if omitted. If none: "No blockers this week." |67| **Next Week Priorities** | Numbered list | 3-5 specific deliverables. Infer from in-progress tasks if not provided. |6869Report header: `# Weekly Report: [Project Name]` with Period and Prepared For fields.7071---7273## Step 3: Present74751. Display the complete report in chat.762. Call out inferences you made (promoted wins, inferred priorities).773. Ask for approval before saving.7879**GATE: Do not write to file until the user approves.**8081---8283## Step 4: Deliver84851. Write to file. Default: `weekly-report-[YYYY-MM-DD].md` (Friday date). Use user path if specified.862. Confirm delivery. Suggest copying into email or Slack.873. Offer to draft a send-along message.8889---9091## Example 1: Client-Facing Report -- Marketing Retainer9293**Input:** "Greenleaf Organics retainer, client audience. 3 blog posts published, traffic +18%, newsletter 42% open rate, reel 12K views (record), 8 social posts drafted but need client photos, banner delayed -- no product photos. Next week: spring promo emails, April social calendar."9495**Output:** Client tone. Summary leads with reel record and open rate. Blockers have specific asks ("Send photos by Wednesday"). Priorities: spring promo, April calendar, banner.9697---9899## Example 2: Internal Team Report -- Product Sprint100101**Input:** "Beacon app sprint, team audience. Shipped notifications API, fixed 4 QA bugs, onboarding at 60% needs UX review, velocity 34/40 (85%), server costs $2,100 up from $1,800, Stripe sandbox 500 errors (ticket opened), Maria finished wireframes early. Next week: onboarding, push notification UI, Stripe."102103**Output:** Team tone with technical detail. Summary: "85% velocity, API shipped, Stripe blocked." Metrics: velocity 85%, server costs +17%. Wins: API shipped (unblocks next work), Maria early, bugs down 25%. Blockers: Stripe (escalate Monday, staging fallback), UX review (Monday session).104105---106107## Recovery108109| Situation | Action |110|-----------|--------|111| **Fewer than 3 bullets** | Ask for more. If user insists, work with what exists. Note "partial inputs." Never invent work. |112| **No metrics** | Replace table with "No metrics this week." Suggest tracking 2-3 consistent metrics going forward. |113| **No next-week priorities** | Infer from in-progress tasks. Flag inferences so user can adjust. |114| **Vague blocker** | Ask what specifically is blocking. If unclear, propose: "Schedule a sync to identify the obstacle." |115| **Different format** | Adapt. Always keep executive summary and blockers. |116| **File write fails** | Present in chat. Retry different path. After 3 failures, stop. |117118---119120## Anti-Patterns121122- **DO NOT invent tasks, metrics, or wins** the user did not mention123- **DO NOT write blockers without solutions** -- a blocker without a path forward is a complaint124- **DO NOT exceed 5 next-week priorities** -- force-rank if more are provided125- **DO NOT use filler** like "progress was made on several fronts" -- every line must be specific126- **DO NOT change audience tone mid-report** -- client reports stay client-facing throughout127- **DO NOT skip the executive summary** -- busy readers often read only this section