Email Me A Report
Skill8 starsChanged 5 months agoMITView on GitHub
Deliver any TrustPager report as a recurring email digest — pick or build a dashboard, then schedule it to land in chosen inboxes on a cron (e.g. 7am weekdays), server-side, with no app open. The same mechanism behind the built-in Team Task Digest.
In this repository101 other files it gives its agents.
- templates/CLAUDE.mdCLAUDE.md
- Add a FieldSkill
- Assemble Content PackSkill
- Assemble PackSkill
- Audit My AutomationsSkill
- Audit My DataSkill
- automate-thisSkill
- Brand My WorkspaceSkill
- Break Down A ChannelSkill
- Build Brand StrategySkill
- Build Customer VoiceSkill
- Build DocumentSkill
- Build FormSkill
- Build Knowledge Base From DocsSkill
- Build My ProofSkill
- Build My VoiceSkill
- Build Social StrategySkill
- Build SpreadsheetSkill
- Build Work Order ProcessSkill
- Cash Flow ForecastSkill
- Coach My CallsSkill
- Compare DocumentsSkill
- Connect A ToolSkill
- Delegate This WorkSkill
- Describe A ProductSkill
- Design My ScenesSkill
- Design Nurture SequenceSkill
- draft-replySkill
- Estimate My BASSkill
- Extract DocumentSkill
- Find My Next MoveSkill
- Five Day ChallengeSkill
- Follow-up RadarSkill
- Form RadarSkill
- Get Found OnlineSkill
- Grill Me On This DecisionSkill
- import-from-anywhereSkill
- lead-triageSkill
- Learn My BusinessSkill
- Lint DocumentSkill
- Lint FormSkill
- Lint Nurture SequenceSkill
- log-this-callSkill
- make-it-happenSkill
- Make My VideoSkill
- Make Product DemoSkill
- Make Social PostSkill
- Make ThumbnailSkill
- missed-call-recoverySkill
- Nurture HealthSkill
- Onboard Team MemberSkill
- Outstanding DocumentsSkill
- Outstanding InvoicesSkill
- Package My VideoSkill
- Plan My AdsSkill
- Plan My ContentSkill
- Plan My RoadmapSkill
- Plan My YouTubeSkill
- Prep For CallSkill
- Price My WorkSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
Read knowledge/reporting-method.md — especially §5 ("email any dashboard on a schedule"), which this skill is the front door to — and …
- Very specific: line 53
If a matching schedule already exists in existing_schedules, say so and offer to edit it rather than create a duplicate.
- Distinctive: line 59
If they picked an existing dashboard, skip this.
- Distinctive: line 83
Always echo back the final wiring ("Pipeline Overview → you + bookkeeper@… → 7am Mon–Fri Sydney time") so there's no ambiguity about what …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Email Me A Report
You are turning a report into something that arrives on its own — a dashboard delivered to chosen inboxes on a schedule, rendered and sent server-side. This is the generalised version of the daily-receivables flow: it works for any dashboard (pipeline, tasks, receivables, anything reportable).
Read knowledge/reporting-method.md — especially §5 ("email any dashboard on a schedule"), which this skill is the front door to — and knowledge/safeguards.md for the approval-queue rail.
Step 1 — Fetch what exists
python ~/.claude/bos-run.py email-me-a-reportReturns existing dashboards (candidates to schedule), available sources (raw material for a new one), and existing_schedules (so you don't duplicate). Shape documented at the bottom of fetch.py.
Step 2 — Pin down what they want
Get three things from the operator (ask only what's not already clear):
- What — an existing dashboard (match against
dashboards) or something new to build. If new, decide the source + the one or two cards that answer their question (e.g. "pipeline by stage" → opportunities source, bar card). - Who — recipient email(s).
- When — cadence + time. Translate to cron in the operator's timezone:
- "every weekday at 7am" →
0 7 * * 1-5 - "every Monday at 8am" →
0 8 * * 1 - "first of the month" →
0 9 1 * *
- "every weekday at 7am" →
If a matching schedule already exists in existing_schedules, say so and offer to edit it rather than create a duplicate.
When the ask is a generic "my weekly numbers" with no specific metrics named, default to the weekly scoreboard metric set (business-method.md §12.6; the card-to-source mapping lives in reporting-method §7): leads and conversations this week, close rate, cash collected, open/overdue follow-ups, plus one card for the metric the current diagnosis says matters most. Only build cards the workspace can honestly fill — a metric with no source becomes a "start measuring it" suggestion, not a chart.
Step 3 — Build the dashboard (only if needed)
If they picked an existing dashboard, skip this. Otherwise:
create_report_dashboardwith a clear name.add_report_cardfor each metric. Build the card's query withquery_reportfirst, confirm the numbers are right, then save that provenquery_specinto the card (a typo'd filter field is silently ignored at render — reporting-method §2/§4).- Pick the visualisation that fits:
statfor a single number,barfor category comparisons,linefor trend,tablefor a row list.
Step 4 — Wire the schedule
Two objects, both discovered live rather than guessed:
- The send action —
describe_action_type('send_report_email')for its exact config (dashboard id, recipients, subject, optional intro/outro). It renders the dashboard per-recipient and skips-if-empty by default. - The schedule —
describe_resource('auto_schedule')for how to create the cron and bind it to the automation that carries the send action. Set the timezone to the operator's local zone so the time means what they think.
Confirm the dashboard, recipients, and time back to the operator in one line before creating anything.
⚠️ If creating the schedule or action returns a
202(queued for approval) — some keys are approval-gated — surface the approval link (https://app.trustpager.com/settings/api?tab=approvals) and wait. Don't retry or work around it (safeguards §1).
Step 5 — Confirm
Tell them plainly: what gets sent, to whom, when the first one lands, and that it runs server-side (nothing needs to be open). Offer to send a one-off preview now if they want to see it before the first scheduled run.
Tone
- Practical and concrete. The operator is delegating a recurring chore — make it feel handled.
- Always echo back the final wiring ("Pipeline Overview → you + bookkeeper@… → 7am Mon–Fri Sydney time") so there's no ambiguity about what you set up.
What to never do
- ❌ Don't create a duplicate schedule when one already covers it — edit instead.
- ❌ Don't guess the
send_report_emailconfig or the auto_schedule shape —describe_*them. - ❌ Don't bypass an approval
202— surface and wait. - ❌ Don't save a card spec you haven't proven with
query_reportfirst.
Common follow-ups
- "Actually make it weekly" → edit the existing schedule's cron, don't create a new one.
- "Add my partner to it" → update the send action's recipients.
- "Show me what it'll look like" → render/send a one-off preview before the next run.
- "Turn it off for now" → disable the schedule (it stays editable).
When this skill should NOT fire
- The operator wants the numbers right now, once — just run
query_reportand show them; don't build a schedule. - It's specifically receivables they want emailed daily —
/outstanding-invoicesStep 3 is the tailored path (it builds the right cards for them).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

