Generates weekly CEO Briefing - autonomous business audit with revenue, bottlenecks, completed tasks, and proactive suggestions.
Autonomous weekly business audit that generates the "Monday Morning CEO Briefing" - a comprehensive report on revenue, bottlenecks, completed tasks, and proactive suggestions.
Runs every Monday at 7:00 AM (or configurable time)
# Manual trigger
claude --prompt "Generate weekly CEO briefing"
# Scheduled (cron)
0 7 * * 1 claude --prompt "Generate weekly CEO briefing" --cwd /path/to/vault
| Source | Location | Purpose |
|---|---|---|
| Business Goals | /vault/Business_Goals.md |
| Revenue targets, metrics |
| Completed Tasks | /vault/Done/*.md | Task completion data |
| Accounting | /vault/Accounting/*.md | Transactions, revenue |
| Logs | /vault/Logs/*.json | Action history |
| Calendar | /vault/Calendar/*.md | Upcoming deadlines |
# Monday Morning CEO Briefing
## Executive Summary
[One paragraph overview of the week]
## Revenue
- **This Week**: $X,XXX
- **MTD**: $X,XXX (XX% of $X0,000 target)
- **Trend**: On track / Behind / Ahead
## Completed Tasks
- [x] Task 1
- [x] Task 2
- [x] Task 3
## Bottlenecks
| Task | Expected | Actual | Delay |
|------|----------|--------|-------|
| Task X | 2 days | 5 days | +3 days |
## Proactive Suggestions
### Cost Optimization
- Subscription audit findings
- Unused software recommendations
### Upcoming Deadlines
- Project deadlines in next 30 days
- Payment due dates
- Meeting schedules
## Key Metrics
| Metric | Target | Actual | Status |
|--------|--------|--------|--------|
| Response time | <24h | 12h | ✅ |
| Payment rate | >90% | 95% | ✅ |
## Action Items for CEO
- [ ] Approve subscription cancellation
- [ ] Review bottleneck analysis
- [ ] Priority decisions needed
def calculate_revenue(accounting_folder):
total = 0
for file in accounting_folder.glob('*.md'):
content = file.read_text()
# Parse payment amounts
for line in content.split('\n'):
if 'payment received' in line.lower():
# Extract amount
match = re.search(r'\$(\d+(?:,\d{3})*(?:\.\d{2})?)', line)
if match:
total += float(match.group(1).replace(',', ''))
return total
def detect_bottlenecks(done_folder):
bottlenecks = []
for file in done_folder.glob('*.md'):
content = file.read_text()
# Parse created and completed dates
created = extract_date(content, 'created:')
completed = extract_date(content, 'completed:')
if created and completed:
duration = (completed - created).days
if duration > expected_duration:
bottlenecks.append({
'task': file.stem,
'expected': expected_duration,
'actual': duration,
'delay': duration - expected_duration
})
return bottlenecks
def audit_subscriptions(transactions, logins):
subscriptions = {
'notion.so': {'name': 'Notion', 'cost': 15},
'slack.com': {'name': 'Slack', 'cost': 10},
'adobe.com': {'name': 'Adobe CC', 'cost': 55},
}
recommendations = []
for domain, info in subscriptions.items():
if domain not in logins:
recommendations.append({
'name': info['name'],
'cost': info['cost'],
'reason': 'No login in 30 days',
'action': 'Cancel subscription'
})
return recommendations
| Metric | Calculation | Target |
|---|---|---|
| Revenue MTD | Sum of payments | $10,000 |
| Task Completion Rate | Done / Total | >80% |
| Avg Response Time | Avg time to first response | <24h |
| Invoice Payment Rate | Paid / Sent invoices | >90% |
| Software Costs | Sum of subscriptions | <$500/mo |
/vault/Briefings/YYYY-MM-DD_Monday_Briefing.md
/vault/Briefings/YYYY-MM-DD_Executive_Summary.md
/vault/Needs_Action/briefing/ACTIONS_YYYY-MM-DD.md
---