Loading...
Loading...
Auto-generates weekly KPI reports from multiple data sources including Supabase analytics, CRM data, financial spreadsheets, and email metrics. Produces executive-ready reports with dashboards, trends, highlights, concerns, and action items.
npx skill4agent add onewave-ai/claude-skills weekly-business-report./weekly-reports/weekly-reports/
config.yaml # Report configuration
templates/
report-template.md # Report template
kpi-definitions.yaml # KPI definitions and targets
data/
{date}/ # Raw data snapshots per week
revenue.json
pipeline.json
marketing.json
product.json
support.json
reports/
{date}-weekly-report.md # Generated reports
history/
kpi-history.json # Historical KPI data for trendsconfig.yamlversion: "1.0"
company:
name: ""
product: ""
fiscal_year_start: "January"
week_start: "Monday"
data_sources:
supabase:
enabled: false
project_id: ""
tables:
users: "auth.users"
events: "public.events"
subscriptions: "public.subscriptions"
crm:
enabled: false
platform: "" # hubspot, salesforce, custom
connection: ""
financial:
enabled: false
source: "" # spreadsheet path, API endpoint
format: "" # csv, xlsx, json
email:
enabled: false
platform: "" # mailchimp, sendgrid, custom
analytics:
enabled: false
platform: "" # google-analytics, mixpanel, custom
payments:
enabled: false
platform: "" # stripe, custom
support:
enabled: false
platform: "" # intercom, zendesk, custom
kpis:
revenue:
- name: "Weekly Revenue"
source: "payments"
query: ""
target: null
format: "currency"
- name: "MRR"
source: "payments"
query: ""
target: null
format: "currency"
- name: "ARR"
source: "payments"
query: ""
target: null
format: "currency"
- name: "Revenue Growth Rate"
source: "calculated"
formula: "(current_week_revenue - previous_week_revenue) / previous_week_revenue"
target: null
format: "percentage"
pipeline:
- name: "New Leads"
source: "crm"
query: ""
target: null
format: "number"
- name: "Qualified Opportunities"
source: "crm"
query: ""
target: null
format: "number"
- name: "Pipeline Value"
source: "crm"
query: ""
target: null
format: "currency"
- name: "Deals Closed"
source: "crm"
query: ""
target: null
format: "number"
- name: "Win Rate"
source: "calculated"
formula: "deals_won / (deals_won + deals_lost)"
target: null
format: "percentage"
product:
- name: "Active Users"
source: "supabase"
query: ""
target: null
format: "number"
- name: "New Signups"
source: "supabase"
query: ""
target: null
format: "number"
- name: "Feature Adoption"
source: "supabase"
query: ""
target: null
format: "percentage"
- name: "Churn Rate"
source: "calculated"
formula: "churned_users / start_of_week_users"
target: null
format: "percentage"
marketing:
- name: "Website Visitors"
source: "analytics"
query: ""
target: null
format: "number"
- name: "Email Open Rate"
source: "email"
query: ""
target: null
format: "percentage"
- name: "Email Click Rate"
source: "email"
query: ""
target: null
format: "percentage"
- name: "Content Published"
source: "manual"
target: null
format: "number"
support:
- name: "Tickets Opened"
source: "support"
query: ""
target: null
format: "number"
- name: "Tickets Resolved"
source: "support"
query: ""
target: null
format: "number"
- name: "Avg Resolution Time"
source: "support"
query: ""
target: null
format: "duration"
- name: "CSAT Score"
source: "support"
query: ""
target: null
format: "score"
distribution:
recipients:
- name: ""
role: ""
detail_level: "executive" # executive, manager, detailed
format: "markdown"
schedule:
day: "Monday"
time: "08:00"
timezone: "America/New_York"config.yamlkpi-definitions.yamlSELECT COUNT(*) FROM auth.users WHERE created_at >= [start] AND created_at < [end]SELECT COUNT(DISTINCT user_id) FROM events WHERE created_at >= [start] AND created_at < [end]SELECT plan, COUNT(*), SUM(amount) FROM subscriptions WHERE status = 'active'data/{date}/data/{date}/financial.jsondata/{date}/pipeline.jsonKPI Name: Valuedata/{date}/manual.json# Weekly Business Report
**Company**: [Company Name]
**Week**: [Start Date] - [End Date]
**Generated**: [Generation Date and Time]
---
## Executive Summary
[3-5 sentences capturing the most important takeaways from the week.
Lead with the biggest win or concern. Include one forward-looking statement.]
---
## KPI Dashboard
### Revenue & Financial
| Metric | This Week | Last Week | Change | 4-Wk Avg | Target | Status |
|--------|-----------|-----------|--------|----------|--------|--------|
| Weekly Revenue | $X | $X | [UP] X% | $X | $X | [ON TRACK] |
| MRR | $X | $X | [UP] X% | $X | $X | [AHEAD] |
| ARR | $X | $X | [UP] X% | $X | $X | [ON TRACK] |
| Revenue Growth | X% | X% | -- | X% | X% | [ON TRACK] |
### Sales Pipeline
| Metric | This Week | Last Week | Change | 4-Wk Avg | Target | Status |
|--------|-----------|-----------|--------|----------|--------|--------|
| New Leads | X | X | [UP] X% | X | X | [ON TRACK] |
| Qualified Opps | X | X | [DOWN] X% | X | X | [BEHIND] |
| Pipeline Value | $X | $X | [UP] X% | $X | $X | [AHEAD] |
| Deals Closed | X | X | [FLAT] | X | X | [ON TRACK] |
| Win Rate | X% | X% | [UP] | X% | X% | [ON TRACK] |
### Product & Usage
| Metric | This Week | Last Week | Change | 4-Wk Avg | Target | Status |
|--------|-----------|-----------|--------|----------|--------|--------|
| Active Users | X | X | [UP] X% | X | X | [ON TRACK] |
| New Signups | X | X | [UP] X% | X | X | [AHEAD] |
| Feature Adoption | X% | X% | [UP] | X% | X% | [ON TRACK] |
| Churn Rate | X% | X% | [DOWN] | X% | X% | [ON TRACK] |
### Marketing
| Metric | This Week | Last Week | Change | 4-Wk Avg | Target | Status |
|--------|-----------|-----------|--------|----------|--------|--------|
| Website Visitors | X | X | [UP] X% | X | X | [ON TRACK] |
| Email Open Rate | X% | X% | [UP] | X% | X% | [ON TRACK] |
| Email Click Rate | X% | X% | [FLAT] | X% | X% | [ON TRACK] |
| Content Published | X | X | -- | X | X | [ON TRACK] |
### Customer Support
| Metric | This Week | Last Week | Change | 4-Wk Avg | Target | Status |
|--------|-----------|-----------|--------|----------|--------|--------|
| Tickets Opened | X | X | [DOWN] X% | X | -- | -- |
| Tickets Resolved | X | X | [UP] X% | X | -- | -- |
| Avg Resolution Time | Xh | Xh | [DOWN] | Xh | Xh | [ON TRACK] |
| CSAT Score | X/5 | X/5 | [UP] | X/5 | X/5 | [ON TRACK] |
---
## Highlights
[3-5 positive developments from the week. Be specific with numbers.]
1. **[Category]**: [Specific achievement with data]
2. **[Category]**: [Specific achievement with data]
3. **[Category]**: [Specific achievement with data]
---
## Concerns
[2-4 areas of concern that need attention. Be specific and solution-oriented.]
1. **[Category]**: [Specific concern with data]
- **Impact**: [What happens if unaddressed]
- **Suggested Action**: [Concrete next step]
2. **[Category]**: [Specific concern with data]
- **Impact**: [What happens if unaddressed]
- **Suggested Action**: [Concrete next step]
---
## Trend Analysis
### Revenue Trajectory
[Analysis of revenue trend over the past 4-8 weeks. Are we accelerating,
decelerating, or steady? What is driving the trend?]
### Pipeline Health
[Analysis of pipeline health. Is the pipeline growing? Are conversion rates
improving? Where are deals getting stuck?]
### Product Engagement
[Analysis of user engagement trends. Are users becoming more or less active?
Which features are gaining traction?]
### Market Signals
[Any relevant market, competitor, or industry signals observed this week]
---
## Action Items
[Specific, actionable items derived from this week's data]
| Priority | Action | Owner | Due Date | Context |
|----------|--------|-------|----------|---------|
| HIGH | [Action] | [Suggested owner] | [Date] | [Why this matters] |
| MEDIUM | [Action] | [Suggested owner] | [Date] | [Why this matters] |
| LOW | [Action] | [Suggested owner] | [Date] | [Why this matters] |
---
## Looking Ahead
### Next Week Focus Areas
- [Focus area 1 based on data]
- [Focus area 2 based on data]
- [Focus area 3 based on data]
### Key Dates and Milestones
- [Upcoming milestone or event relevant to the business]
### Risks to Watch
- [Risk identified from current trends that could materialize next week]
---
## Appendix: Data Sources and Notes
- **Data freshness**: [When each data source was last pulled]
- **Manual entries**: [Which KPIs were manually entered vs automated]
- **Known gaps**: [Any data that could not be collected and why]
- **Methodology changes**: [Any changes to how KPIs are calculated this week]history/kpi-history.json{
"version": "1.0",
"weeks": [
{
"week_start": "2026-04-06",
"week_end": "2026-04-12",
"kpis": {
"weekly_revenue": 0,
"mrr": 0,
"arr": 0,
"new_leads": 0,
"qualified_opportunities": 0,
"pipeline_value": 0,
"deals_closed": 0,
"win_rate": 0,
"active_users": 0,
"new_signups": 0,
"churn_rate": 0,
"website_visitors": 0,
"email_open_rate": 0,
"tickets_opened": 0,
"tickets_resolved": 0,
"avg_resolution_time_hours": 0,
"csat_score": 0
},
"highlights": [],
"concerns": [],
"action_items": []
}
]
}