Agency Dashboard
View campaign activity, budget pacing, and team metrics across all client accounts at once.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up β so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/agency-dashboard-indranilbanerjee/β the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description β no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the βWhat this skill doesβ section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Generate a portfolio-level dashboard across ALL client brands β per-client RAG health scores, campaign activity, budget pacing, aggregate KPIs, team utilization, pending approvals, upcoming deadlines, and an alerts panel β built for agency standups and weekly reviews. Triggers on "/digital-marketing-pro:agency-dashboard", "how are all our clients doing", "portfolio health check", "budget pacing across accounts", "which accounts are at risk". Enumerates every brand under ~/.claude-marketing/brands/ and pulls data via campaign-tracker.py, execution-tracker.py, and team-manager.py; drill into a single client with /digital-marketing-pro:performance-report or /digital-marketing-pro:client-report.
What this skill does
/digital-marketing-pro:agency-dashboard
Purpose
Generate a portfolio-level dashboard aggregating health metrics across ALL client brands. Shows campaign activity, budget pacing, KPI attainment, content pipeline, and team utilization at a glance β giving agency leadership a single view of operational health without opening each account individually. Designed for daily standups, weekly agency reviews, or on-demand health checks.
Input Required
The user must provide (or will be prompted for):
- Dashboard scope: All brands or a specific list of brand slugs to include in the portfolio view
- Time period: Current week, month, or quarter β determines the pacing calculations and comparison windows
- Detail level: Summary (top-line health scores per client) or detailed (campaign-level breakdowns per client with individual campaign metrics)
- Sort/filter preferences: Sort clients by health score, spend, revenue, or alphabetical β and optionally filter to only at-risk (amber/red) accounts
- Team filter (optional): Filter by account lead or team pod if the agency has multiple pods managing different client sets
- Comparison baseline (optional): Compare current period against prior period, same period last year, or plan/target β defaults to prior period
- Alert threshold overrides (optional): Custom thresholds for performance drop alerts or budget pacing tolerance β defaults to 20% performance drop and 10% pacing variance
- Export format (optional): Whether to output as markdown, Google Sheets, or Slack message β defaults to markdown
Process
- Load brand context: Read
~/.claude-marketing/brands/_active-brand.jsonfor 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. - Enumerate all brands: Scan
~/.claude-marketing/brands/for all configured brand directories (excluding_active-brand.json). For each brand, loadprofile.jsonto get client name, industry, engagement type, contract dates, assigned team members, and KPI targets - Pull campaign data per brand: For each brand in scope, run
python "${CLAUDE_PLUGIN_ROOT}/scripts/campaign-tracker.py" --brand {slug} --action list-campaignsto retrieve active campaigns, statuses, budgets, and objectives (use--action get-campaign --id {id}for a single campaign's detail) - Pull execution status per brand: For each brand, run
python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand {slug} --action get-historyto get logged executions β completed deliverables, launches, and tasks β then derive pending / overdue status in analysis - Check budget pacing per brand: For each brand, compare actual spend-to-date against planned spend for the current period β calculate pacing percentage and project end-of-period spend at current run rate
- Calculate per-client health score: Apply the RAG scoring formula from
skills/context-engine/agency-operations-guide.md:- Green: On track across KPIs, budget on pace (within 10%), no overdue items, content pipeline flowing
- Amber: 1-2 KPIs at risk, minor pacing drift (10-20%), items approaching deadline, or pending approvals aging
- Red: Significant KPI misses, budget overspend (>20%), missed deadlines, stalled campaigns, or MCP disconnections
- Aggregate portfolio KPIs: Sum total active campaigns, total monthly spend, average ROAS across clients, total leads/conversions, total pending deliverables, and overall portfolio health distribution (count and percentage of green/amber/red)
- Check team utilization: Run
python "${CLAUDE_PLUGIN_ROOT}/scripts/team-manager.py" --action check-capacity --brand {slug}to assess current team workload β available capacity per team member, overloaded staff flagged, accounts at risk of under-service, and billable-hours tracking. Optionally add a Claude Code cost line β only if the user supplies the data. The plugin cannot read Claude Code usage itself. If the user pastes the output of their own/usagecommand (a Claude Code CLI slash command they run interactively), aggregate the per-model token/cost figures it reports into a "Claude Code consumption" line so leadership can see AI cost before the monthly invoice. Label models by whatever the user's/usageoutput names β do not assume specific model IDs. Brand-per-directory workspaces (~/work/clients/{slug}) make the figures brand-attributable. - Identify pending approvals: Scan execution logs across all brands for items awaiting client or internal approval β flag anything older than 48 hours as overdue, group by brand and urgency tier (routine, time-sensitive, blocking)
- Surface upcoming deadlines: Compile deadlines from all brands for the next 7 and 14 days β campaign launches, content due dates, reporting deadlines, contract milestones, renewal dates, and QBR schedules
- Detect alerts and anomalies: Flag any brand with sudden performance drops (>20% week-over-week on primary KPI), budget pacing issues (>10% ahead or behind plan), stalled campaigns (no activity in 5+ days), MCP connection failures, or expiring credentials
- Check content pipeline: Aggregate content status across all brands β items in draft, in review, approved, scheduled, and published β identify bottlenecks where content is stalling at a particular stage
- Generate trend comparison: Compare current portfolio health against the selected baseline period β show improving, stable, or declining trajectory for each client and the portfolio overall with directional arrows
- Compile portfolio dashboard: Assemble all data into a structured dashboard sorted by the user's preference, with drill-down detail available for any individual client
Output
A structured portfolio dashboard containing:
- Portfolio health summary: Total clients in scope, health distribution (green/amber/red count and percentage), overall portfolio health score (weighted by client spend), and period-over-period trend direction
- Per-client health cards: For each brand β client name, health score (RAG), active campaigns count, monthly spend with pacing status, primary KPI vs target with delta, next deadline, top alert if any, and assigned account lead
- Aggregate KPI table: Total spend across portfolio, average ROAS, total active campaigns, total leads/conversions generated, cost efficiency trends, and period-over-period comparison with directional arrows
- Budget pacing summary: Per-brand pacing status (on pace, underspending, overspending) with projected end-of-period spend, variance from plan in dollars and percentage, and portfolio-level pacing aggregate
- Team utilization matrix: Per-team-member workload (accounts managed, hours allocated, capacity percentage, billable ratio), overloaded alerts, available bandwidth for new work, and staffing recommendations
- Claude Code consumption (per brand) β only if the user supplied
/usagedata: aggregated per working directory mapped to brand, using whatever model tiers the user's/usageoutput reports, with token totals and USD cost for the reporting window. Flag any brand whose Claude Code spend is >2Γ the portfolio median for the same retainer tier as a candidate for engagement-pattern review or rate renegotiation. Omit this panel entirely if no usage data was provided. - Pending approvals queue: All items awaiting approval across brands with item description, age in hours, responsible owner, brand, urgency level, and estimated impact of delay
- Upcoming deadlines (7/14 day): Chronological list of upcoming deadlines with brand, deliverable type, responsible owner, days remaining, dependency status, and risk assessment if missed
- Content pipeline status: Aggregate view of content in draft, review, approved, and scheduled stages across all brands with stage-by-stage counts and bottleneck identification
- Alerts and anomalies panel: Performance drops, pacing issues, stalled campaigns, MCP connection failures, expiring credentials, or overdue items requiring immediate attention β sorted by severity
- Contract and renewal tracker: Upcoming contract renewals, engagement milestones, and retention risk indicators for clients approaching renewal windows
- Drill-down guidance: Instructions for investigating any individual client in detail using
/digital-marketing-pro:performance-report,/digital-marketing-pro:client-report, or/digital-marketing-pro:credential-switchto activate that brand's context
Agents Used
- agency-operations β Portfolio aggregation, per-client health scoring, team utilization analysis, approval tracking, deadline compilation, budget pacing calculations, content pipeline aggregation, and alert detection
- analytics-analyst β Metrics analysis, KPI aggregation, trend calculations, anomaly detection, performance benchmarking across the portfolio, and comparison baseline computations
Related skills
Experiment Designer
mohitagw15856
Design statistically rigorous A/B tests and interpret results with recommendations.
Attribution Health Audit
AgriciDaniel
Audit your cross-platform attribution setup for iOS, GA4, consent compliance, and conversion accuracy.
Google Search Console
superdesigndev
Identify pitfalls in Google Search Console API queries to avoid silent errors.
Brand Monitoring
nexscope-ai
Track brand mentions across social media and analyze sentiment in real time.