send-report
Deliver performance reports. Use when: sending KPI summaries via Slack, email, or Google Sheets with analysis.
What this skill does
# /digital-marketing-pro:send-report
## Purpose
Generate a formatted performance report from connected analytics sources and deliver it via Slack, email, or Google Sheets. Supports weekly pulse, monthly review, QBR, and custom report types. Pulls live metrics from connected platforms, calculates KPIs against targets and previous periods, adds trend analysis with anomaly detection, generates actionable recommendations, then formats and delivers through the user's preferred channel with appropriate approval gates.
## Input Required
The user must provide (or will be prompted for):
- **Report type**: The report format — weekly-pulse (top-line metrics and highlights, 1 page), monthly-review (full channel breakdown with trends, 3-5 pages), qbr (quarterly business review with strategic analysis and recommendations, 8-12 pages), or custom (user-defined metric selection and structure)
- **Delivery channel**: Where to send the report — Slack (channel post or DM with formatted blocks), email (HTML report via SendGrid or connected email MCP), or Google Sheets (new spreadsheet or append to existing tracking sheet)
- **Date range**: Reporting period — last 7 days, last 30 days, last quarter, custom start and end dates, or "since last report" to auto-detect the last delivery timestamp from execution logs
- **Recipients**: Optional — Slack channel name or user handles, email addresses for distribution list, or Google Sheets sharing permissions and notification settings for the target audience
- **Custom metrics**: Optional — specific metrics to include or exclude beyond the report type defaults, custom KPI definitions, calculated fields (e.g., blended CAC, marketing-influenced pipeline), or specific campaign IDs to isolate
- **Comparison period**: Optional — compare against previous period (WoW, MoM, QoQ, YoY), a specific custom date range, or targets and forecasts defined in brand profile
- **Report branding**: Optional — include brand logo, custom color scheme, header and footer text, or white-label formatting for client-facing or agency delivery
- **Narrative depth**: Optional — executive summary only (3-5 sentences), standard (summary plus channel commentary), or deep dive (full analysis with hypotheses and test recommendations)
- **Campaign filter**: Optional — isolate performance data for specific campaigns, channels, or audience segments rather than reporting on all activity
- **Benchmarks**: Optional — include industry benchmarks for context, competitive intelligence from previous analyses, or custom benchmarks defined by the brand
- **Annotations**: Optional — key events to overlay on the report (campaign launches, promotions, seasonal events, budget changes) that provide context for metric movements
- **Distribution schedule**: Optional — set this report to recur automatically at the specified cadence (weekly, monthly, quarterly) with the same configuration
- **Executive audience**: Optional — name the specific stakeholders who will read the report, so narrative tone and metric abstraction level can be adjusted accordingly
## Process
1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply brand voice, compliance rules for target markets (`skills/context-engine/compliance-rules.md`), and industry context. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load restrictions. Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
2. **Pull metrics from connected analytics**: Run `performance-monitor.py` to gather data from connected analytics MCP servers — Google Analytics (traffic, conversions), Google Ads (spend, CPC, ROAS), Meta Ads (spend, reach, frequency), LinkedIn Ads (spend, leads), email platforms (opens, clicks, deliverability), and any other configured sources. Aggregate metrics for the specified date range and comparison period.
3. **Calculate KPIs against targets**: Compare actual performance against targets defined in `profile.json` and against the comparison period. Calculate period-over-period deltas, percentage changes, trend direction, and statistical significance for key movements. Flag metrics that are more than 10% above or below target with severity indicators (warning, critical).
4. **Identify trends and anomalies**: Analyze metric trajectories across the reporting window — identify sustained upward or downward trends (3+ consecutive periods), sudden spikes or drops (single-period movements exceeding 2 standard deviations), seasonal patterns, and correlations between channels that suggest attribution shifts or budget reallocation opportunities.
5. **Overlay event annotations**: Map any user-provided annotations (campaign launches, promotions, budget changes, external events) to the timeline so metric movements can be contextualized against known events. Auto-detect annotations from execution logs if available.
6. **Generate recommendations**: Based on the performance data, produce 3-5 actionable recommendations ranked by expected impact — what to scale (high performers with headroom), what to pause (underperformers burning budget), what to test (hypotheses from anomalies), and what to investigate (unexplained movements). Tie each recommendation to specific data points with estimated impact range.
7. **Generate report content**: Run `report-generator.py` to compile the full report per the selected type — executive summary (what happened, why it matters, what to do next), KPI dashboard section with sparklines and status indicators, channel-by-channel breakdown with period-over-period comparisons, trend analysis with visualizations, anomaly flags with investigation prompts, and prioritized recommendations. Apply the appropriate template depth for the report type.
8. **Format for delivery channel**: Format the report content for the selected channel — Slack (structured message blocks with bold metrics, emoji indicators, and chart images as attachments), email (responsive HTML template with inline charts, summary table, and deep-link buttons to platform dashboards), or Google Sheets (structured tabs for summary, channel detail, and raw data, with conditional formatting, sparkline formulas, and chart objects). Apply brand formatting if specified.
9. **Create approval record**: Run `approval-manager.py` with risk level set to low for internal team recipients or medium for external stakeholders, client-facing delivery, or reports containing revenue or financial data. Generate a report preview with delivery configuration.
10. **Present report preview**: Display the complete report content for user review — executive summary, key metrics with trend indicators, channel highlights, anomaly flags, and recommendations. Show delivery configuration — channel, recipients, formatting, and branding. Wait for explicit approval before sending.
11. **Deliver via MCP**: On approval, deliver the report through the connected MCP server — post to Slack channel with threaded detail, send HTML email via email platform with tracking, or create and share Google Sheets document with appropriate permissions. Handle attachments, chart images, and formatting per channel requirements.
12. **Verify delivery**: Confirm the report was successfully delivered — check Slack message posted status, email delivery confirmation, or Google Sheets sharing permissions applied. Retry on failure with error details.
13. **Archive report snapshot**: Save a copy of the report content and key metrics to the brand's insight history for historical comparison and trend tracking across reporting periods.
14. **Log delivery**: Run `execution-tracker.py` to log the report delivery with timestamp, report type, date range, delivery channel, recipient list, key metric values, and a hash of the report content for dedRelated in Productivity
gitea-workflow
IncludedOrchestrate agile development workflows for Gitea repositories using the tea CLI. Use when working with Gitea-hosted repos and asking to 'run the workflow', 'continue working', 'what's next', 'complete the task cycle', 'start my day', 'end the sprint', 'implement the next task', or wanting guided step-by-step development assistance. Keywords: workflow, orchestrate, agile, task cycle, sprint, daily, implement, review, PR, standup, retrospective, gitea, tea.
microsoft-graph-gateway
IncludedRoute Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.
copilotkit
IncludedUse when building with CopilotKit — setup, development, integrations, debugging, upgrading, or contributing. Routes to the appropriate specialized skill based on the task.
wordly-wisdom
IncludedProvides calibrated decision analysis using Charlie Munger-style multiple mental models, inversion, incentive mapping, circle-of-competence checks, misjudgment audits, second-order effects, and forecast updates. Use when the user asks for an oracle take, a hard call, a decision memo, a premortem, an outside view, a red-team, a sanity-check, what am I missing, think this through, or wants a strategy, hire, investment, plan, product, partnership, or major life choice analysed. Avoid for simple factual lookups or time-sensitive legal, medical, or market questions without fresh evidence.
swain-session
IncludedSession management and project status dashboard. Owns the full session lifecycle (start/work/close/resume), focus lane, bookmarks, worktree detection, and tab naming. Also serves as the project status dashboard — shows active epics, progress, actionable next steps, blocked items, tasks, GitHub issues, and recommendations. Worktree creation is deferred to swain-do task dispatch (SPEC-195). Triggers on: 'session', 'status', 'what's next', 'dashboard', 'overview', 'where are we', 'what should I work on', 'show me priorities', 'bookmark', 'focus on', 'session info'.
gandi
IncludedComprehensive Gandi domain registrar integration for domain and DNS management. Register and manage domains, create/update/delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, and more), configure email forwarding and aliases, check SSL certificate status, create DNS snapshots for safe rollback, bulk update zone files, and monitor domain expiration. Supports multi-domain management, zone file import/export, and automated DNS backups. Includes both read-only and destructive operations with safety controls.