Claude Prompt Library

30 Claude Prompts That Build Support Dashboards

30 copy-paste prompts

Describe the queue you run and Claude returns a working support dashboard as one self-contained HTML file with sample tickets and charts you can click in the chat. Prompts for volume, SLA, CSAT, backlog, topics, and staffing. Deeper than a thin ops queue board.

In short: This page contains 30 copy-paste ready prompts, organized into 6 categories with a description and pro tip for each. The first 5 prompts are free instantly, no signup needed. Hand-curated and tested by the AI Academy team.

Louis Corneloup
By Louis Corneloup ยท Founder, Techpresso
Last updated ยทHand-curated & tested by the AI Academy team

Volume

5 prompts

Arrivals Versus Solved Board

1/30

โœจ What it does

Claude builds an arrivals-versus-solved volume board for [QUEUE NAME] with daily in and out and a growing-gap flag as a working screen you can click in the chat. Toggle a day, then swap the sample numbers for your ticket create and solve counts.

You are a support operations analyst who builds volume boards that show whether the queue is clearing or growing. <context> I need an arrivals-versus-solved dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic daily ticket counts so I can click the working screen in the chat. </context> <inputs> - Queue name: [QUEUE NAME] - Other queues: [E.G. BILLING, TECH, VIP] - Date range: [E.G. LAST 28 DAYS] - Channels: [E.G. EMAIL, CHAT, PHONE] - Starting open count: [E.G. 140] </inputs> <task> Build the dashboard with: a header for [QUEUE NAME]; KPI cards (arrivals, solved, net change, current open); a dual line of daily arrivals versus solves; a running-open area chart that starts from the starting open count; a table of days where arrivals beat solves; and queue tabs that filter the series. Compute current open as starting open plus cumulative (arrivals minus solves). Day chips filter the table. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - All daily counts in labeled JS constants at the top. - Growing-gap days flagged. Tabs must filter. Accessible contrast. - Do not invent a live helpdesk socket. Sample data plus a note for an export. </constraints> <format> Return the full HTML file, then write the running-open formula and which constants to replace with a create/solve export. </format>

๐Ÿ’ก

Pro tip: If solves stay below arrivals for three days, the gap is the only number that matters. Do not hide it behind a pretty volume line.

Channel Volume Mix

2/30

โœจ What it does

Claude builds a channel volume mix for [CHANNELS] with email, chat, and phone share as a working screen you can click in the chat. Click a channel slice, then swap the sample numbers for your helpdesk channel export.

You are a support operations analyst who builds channel-mix boards a shift lead can staff from. <context> I need a channel volume mix dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic channel rows so I can click the working screen in the chat. </context> <inputs> - Channels: [CHANNELS] - Date range: [E.G. LAST 30 DAYS] - Queues: [E.G. BILLING, TECH, VIP] - Goal event: [TICKETS CREATED] - Peak hours if known: [E.G. 10-12 LOCAL] </inputs> <task> Build the dashboard with: KPI cards (total tickets, top channel share, chat share, phone share); a stacked daily area by channel; a donut of period share; a heatmap of hour-by-channel volume; a channel table (volume, share, median first reply, solve rate); and a click on a channel that filters the heatmap and table. Compute shares from labeled daily-by-channel constants. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Shares and ranks recompute from the constants, not hardcoded. - Channel colors stay consistent. Heatmap not color-only. Accessible contrast. - Do not invent live chat sockets. </constraints> <format> Return the full HTML file, then explain share math and which array to replace with a channel export. </format>

๐Ÿ’ก

Pro tip: Keep chat and phone on their own clocks. Blending them with email makes a slow inbox look like a healthy mix.

Volume by Customer Plan

3/30

โœจ What it does

Claude builds a volume-by-plan board for [PLAN TIERS] with tickets per account and a whale watchlist as a working screen you can click in the chat. Open a high-volume plan, then swap the sample numbers for your customer-tier tickets.

You are a support operations analyst who builds plan-volume boards that show which customers are consuming the queue. <context> I need a volume-by-customer-plan dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic account-ticket rows so I can click the working screen in the chat. </context> <inputs> - Plan tiers: [PLAN TIERS] - Date range: [E.G. LAST 30 DAYS] - Account fields: [NAME, PLAN, SEATS, TICKETS, CSAT IF ANY] - Whale rule: [E.G. 3X PLAN MEDIAN TICKETS] - Queues: [OPTIONAL] </inputs> <task> Build the dashboard with: a plan filter using [PLAN TIERS]; KPI cards (tickets, tickets per account, whale accounts, share from the top plan); a bar of volume by plan; a tickets-per-account box or min/median/max table by plan; a whale watchlist sorted by ticket count; and an account table with search. Compute whales from the rule versus each plan's median. Clicking a plan filters every widget. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Account rows in labeled JS constants at the top. - Show the whale rule on the page. Search works. Accessible contrast. - Do not invent contract entitlements I did not give. </constraints> <format> Return the full HTML file, then write the whale rule and which array to replace with an account-ticket export. </format>

๐Ÿ’ก

Pro tip: Count tickets per account, not only per plan. One enterprise tenant can be one row and two hundred contacts.

Release-Week Volume Spike

4/30

โœจ What it does

Claude builds a release-week volume spike board for [PRODUCT OR RELEASE] with before and after arrivals as a working screen you can click in the chat. Mark the ship date, then swap the sample numbers for the two weeks around launch.

You are a support operations analyst who builds release-spike boards that product and support can share the Monday after ship. <context> I need a release-week volume dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic pre/post ticket rows so I can click the working screen in the chat. </context> <inputs> - Product or release name: [PRODUCT OR RELEASE] - Ship date: [DATE] - Window: [E.G. 14 DAYS BEFORE AND 14 DAYS AFTER] - Topic tags to watch: [E.G. LOGIN, BILLING, NEW FEATURE] - Baseline: [MEDIAN OF THE PRE WINDOW] </inputs> <task> Build the dashboard with: a header naming [PRODUCT OR RELEASE] and the ship date as a vertical marker; KPI cards (pre daily median, post daily median, lift %, tagged spike share); a daily volume line with the ship marker; a stacked bar of watched topics before versus after; a new-versus-repeat contact table; and a watchlist of tags that beat baseline by an editable multiple. Compute lift from the pre-window median. A topic chip filters the line. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Daily and tag rows in labeled JS constants at the top. - Label the baseline method on the page. Accessible contrast. - Do not invent a causal proof. Show the lift arithmetic only. </constraints> <format> Return the full HTML file, then write lift math and which constants to replace with the two-week export. </format>

๐Ÿ’ก

Pro tip: Stamp the ship date and the topics that spiked. A volume bump with no topic split is just a scary line.

Deflected Versus Human Volume

5/30

โœจ What it does

Claude builds a deflected-versus-human volume board for [SELF SERVE SURFACE] with contain rate and leaked chats as a working screen you can click in the chat. Compare the leak, then swap the sample numbers for bot and ticket counts.

You are a support operations analyst who builds deflection boards that are honest about what the bot actually contained. <context> I need a deflected-versus-human volume dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic bot and ticket rows so I can click the working screen in the chat. </context> <inputs> - Self-serve surface: [SELF SERVE SURFACE] - Date range: [E.G. LAST 30 DAYS] - Contain rule: [E.G. BOT SESSION WITH NO TICKET IN 24H] - Leak rule: [E.G. BOT THEN TICKET SAME DAY] - Topics: [E.G. PASSWORD, BILLING, HOW-TO] </inputs> <task> Build the dashboard with: KPI cards (bot sessions, contained, leaked to human, contain rate); a dual line of contained versus leaked; a topic table (sessions, contain rate, leak rate, human tickets); a leak watchlist (session id, topic, minutes to ticket, first human queue); and a note of the contain rule on the page. Compute contain and leak from session and ticket-join constants. Topic chips filter the watchlist. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Sessions and joins in labeled JS constants at the top. - Do not count a leaked session as contained. Accessible contrast. - Do not invent bot accuracy scores I did not give. </constraints> <format> Return the full HTML file, then write contain and leak formulas and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: Contain rate only counts contacts that never opened a ticket. A bot that files a ticket for the human is not deflection.

SLA

5 prompts

Resolution SLA Board

6/30

โœจ What it does

Claude builds a resolution SLA board for [RESOLUTION TARGET] with hit rate, age-to-solve, and a miss log as a working screen you can click in the chat. Sort the misses, then swap the sample numbers for your solved-ticket times.

You are a support operations analyst who builds resolution SLA boards, not first-reply clocks. <context> I need a resolution SLA dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic solved tickets so I can click the working screen in the chat. </context> <inputs> - Resolution target: [RESOLUTION TARGET] - Channel overrides: [E.G. CHAT 4H, EMAIL 24H, PHONE SAME SHIFT] - Priority overrides: [E.G. P1 4H, P2 24H] - Date range: [E.G. LAST 30 DAYS] - Team: [NAME] </inputs> <task> Build the dashboard with: KPI cards (median time to resolve, percent inside [RESOLUTION TARGET], misses, tickets still open past target); a line of daily resolution hit rate; a bar by channel and by priority; a distribution of hours-to-solve; and a miss log (ticket, channel, priority, hours, target, owner). Compute hours-to-solve from opened-at and solved-at. Open tickets past target sit in a separate still-open list. Clock rule labeled on the page. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tickets and targets in labeled JS constants at the top. - Misses flagged red. This board is resolution, not first response. Accessible contrast. - State calendar time versus business hours. Do not hide that choice. </constraints> <format> Return the full HTML file, then explain time-to-resolve math and which array to replace with a solved-ticket export. </format>

๐Ÿ’ก

Pro tip: Resolution is solve time, not first reply. A four-hour first reply on a three-day ticket is still a miss if the promise was 24 hours.

SLA by Priority and Plan

7/30

โœจ What it does

Claude builds an SLA-by-priority-and-plan board for [SLA MATRIX] with hit rate per cell as a working screen you can click in the chat. Click a failing cell, then swap the sample numbers for your priority and plan tickets.

You are a support operations analyst who builds SLA matrix boards that a weekly review can argue from. <context> I need an SLA-by-priority-and-plan dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic tickets so I can click the working screen in the chat. </context> <inputs> - SLA matrix: [SLA MATRIX] - Priorities: [E.G. P1-P4] - Plans: [E.G. ENTERPRISE, PRO, FREE] - Metric: [FIRST REPLY / NEXT REPLY / RESOLUTION] - Date range: [E.G. LAST 30 DAYS] </inputs> <task> Build the dashboard with: a metric toggle; KPI cards (cells on track, cells missing, worst cell, tickets in the worst cell); a priority-by-plan heatmap of hit rate versus that cell's target from [SLA MATRIX]; a click-through list of tickets in the selected cell; a trend for the selected cell; and a matrix table that shows target, n, hit rate, and median time. Compute hit/miss from each ticket's priority, plan, and the matching target. Small-n cells marked when count is below an editable threshold. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tickets and the matrix in labeled JS constants at the top. - Heatmap not color-only (show the percent). Accessible contrast. - Do not invent a target I left blank. Mark [VERIFY]. </constraints> <format> Return the full HTML file, then explain cell matching and which constants to replace. </format>

๐Ÿ’ก

Pro tip: Write the real matrix (P1 enterprise is not P3 free). One blended SLA hides the cell that will write you tomorrow.

Next-Reply Clock

8/30

โœจ What it does

Claude builds a next-reply SLA clock for [NEXT REPLY TARGET] with minutes remaining and a soon-to-breach list as a working screen you can click in the chat. Open the closest breach, then swap the sample numbers for your waiting-on-us tickets.

You are a support operations analyst who builds next-reply clocks that catch a silent thread before it breaches. <context> I need a next-reply SLA dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic waiting-on-us tickets so I can click the working screen in the chat. </context> <inputs> - Next-reply target: [NEXT REPLY TARGET] - Channel overrides: [E.G. CHAT 15M, EMAIL 8H] - Waiting-on-us statuses: [E.G. OPEN, PENDING-AGENT] - Team: [NAME] - Business hours: [E.G. 9-17 WEEKDAYS] or 24/7 </inputs> <task> Build the dashboard with: KPI cards (waiting on us, median minutes since last customer message, percent inside [NEXT REPLY TARGET], tickets inside 20% of the clock); a ticking watchlist sorted soonest-to-breach with minutes remaining; a channel bar; a closed-thread table of actual next-reply versus target; and a paused-outside-hours note if I asked for business hours. Compute remaining time from last-customer-at, channel target, and a now constant. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tickets and SLA constants at the top in labeled JS. - Under 20% remaining amber; breached red. Accessible contrast. - This is next reply, not first response. Show that on the header. </constraints> <format> Return the full HTML file, then explain remaining-time math and how to paste a waiting-on-us export. </format>

๐Ÿ’ก

Pro tip: Next reply resets on every customer message. First-response only is how a long thread goes silent and still looks green.

Business-Hours SLA Board

9/30

โœจ What it does

Claude builds a business-hours SLA board for [BUSINESS HOURS] that pauses nights and weekends as a working screen you can click in the chat. Check a paused clock, then swap the sample numbers for your ticket timestamps.

You are a support operations analyst who builds SLA boards that pause outside the hours you actually staff. <context> I need a business-hours SLA dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic ticket timestamps so I can click the working screen in the chat. </context> <inputs> - Business hours: [BUSINESS HOURS] - Timezone: [E.G. AMERICA/NEW_YORK] - Closed days: [E.G. SAT, SUN, LISTED HOLIDAYS] - SLA metric: [FIRST REPLY / RESOLUTION] - Target inside those hours: [E.G. 8 BUSINESS HOURS] </inputs> <task> Build the dashboard with: a header that prints [BUSINESS HOURS] and the timezone; KPI cards (calendar-hour median, business-hour median, hit rate on business clock, tickets that look late only on calendar time); a side-by-side bar of calendar versus business hit rate; a holiday list from constants; a ticket table with both clocks; and a toggle that recounts hit/miss on calendar time so I can see the lie. Compute business elapsed time in JS by skipping closed intervals. Show the skip rule on the page. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Hours, holidays, and tickets in labeled JS constants at the top. - Timezone labeled. Accessible contrast. - Do not silently assume 24/7 if I gave hours. </constraints> <format> Return the full HTML file, then write the business-elapsed function in a short note and which constants to replace. </format>

๐Ÿ’ก

Pro tip: Say the timezone and the days you are closed. A 24-hour email SLA that runs on Saturday is a different promise than one that pauses.

SLA Breach Credit Board

10/30

โœจ What it does

Claude builds an SLA-breach credit board for [CREDIT RULE] with misses, credits at risk, and account flags as a working screen you can click in the chat. Open an at-risk account, then swap the sample numbers for your breach log.

You are a support operations analyst who builds breach-credit boards that sit next to the plan you sold, not in a separate myth. <context> I need an SLA breach credit dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic breach rows so I can click the working screen in the chat. </context> <inputs> - Credit rule: [CREDIT RULE] - Plans that earn credits: [E.G. ENTERPRISE, PRO] - SLA that triggers credit: [E.G. P1 RESOLUTION] - Date range: [E.G. THIS MONTH] - Currency: [E.G. USD] </inputs> <task> Build the dashboard with: KPI cards (breaches, accounts hit, credits estimated, credits already issued if I gave that field); a bar of breaches by plan; an account table (account, plan, breaches, credit estimate, status); a miss log; and a one-line rule note I can edit. Compute credit estimates from [CREDIT RULE] and sample breach rows. Mark estimates as estimates, not invoices. Clicking an account filters the miss log. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Breaches and the rule in labeled JS constants at the top. - Currency labeled. Accessible contrast. - Do not invent legal language. Arithmetic from my rule only. </constraints> <format> Return the full HTML file, then write the credit formula and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: Put the contract sentence next to the number. A miss means nothing if nobody can find the credit you sold.

CSAT

5 prompts

CSAT Trend Board

11/30

โœจ What it does

Claude builds a CSAT trend board for [SURVEY SOURCE] with score, response rate, and a weekly line as a working screen you can click in the chat. Scrub a down week, then swap the sample numbers for your survey export.

You are a support quality analyst who builds CSAT trend boards a weekly review can trust. <context> I need a CSAT trend dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic survey rows so I can click the working screen in the chat. </context> <inputs> - Survey source: [SURVEY SOURCE] - Score scale: [E.G. 1-5, CSAT = 4 AND 5] - Date range: [E.G. LAST 12 WEEKS] - Queues: [E.G. BILLING, TECH] - Channels: [E.G. EMAIL, CHAT] </inputs> <task> Build the dashboard with: KPI cards (CSAT %, average score, surveys scored, response rate); a weekly line of CSAT % with a response-rate area behind it; a queue and channel split; a week table (sent, scored, CSAT %, average); and a click on a week that lists those surveys. Compute CSAT as scores meeting the 4-and-5 rule (or my rule) divided by scored surveys. Response rate = scored / sent. Small-n weeks marked. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Survey rows and send counts in labeled JS constants at the top. - Show the CSAT rule on the page. Accessible contrast. - Do not invent NPS unless I add it later. </constraints> <format> Return the full HTML file, then write CSAT and response-rate formulas and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: Show score and response rate on the same week. A 95 with eight replies is not the same board as a 95 with four hundred.

Detractor Watchlist

12/30

โœจ What it does

Claude builds a detractor watchlist for [CSAT THRESHOLD] with low scores, topics, and owners as a working screen you can click in the chat. Open a 1-score row, then swap the sample numbers for your latest surveys.

You are a support quality analyst who builds detractor watchlists that turn a low score into a next action. <context> I need a CSAT detractor dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic low-score surveys so I can click the working screen in the chat. </context> <inputs> - Detractor threshold: [CSAT THRESHOLD] - Fields: [SCORE, VERBATIM, TICKET, TOPIC, AGENT, ACCOUNT, DATE] - Follow-up statuses: [E.G. UNTOUCHED, EMAILED, CLOSED LOOP] - Date range: [E.G. LAST 30 DAYS] - Owners: [NAMES OR TEAMS] </inputs> <task> Build the dashboard with: KPI cards (detractors, untouched, closed-loop rate, repeat detractor accounts); a topic bar of low scores; a watchlist table sorted newest first with verbatim, ticket, owner, and a status control; a filter for untouched; and a closed-loop note that a status change updates the KPI without a reload. Detractor = score at or below [CSAT THRESHOLD]. Status is a dropdown I can click. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Surveys in labeled JS constants at the top. - Verbatim visible, truncated with expand. Accessible contrast. - Do not invent angry quotes I did not seed. Sample verbatim must sound like a customer, not lorem. </constraints> <format> Return the full HTML file, then explain the threshold and which array to replace with a survey export. </format>

๐Ÿ’ก

Pro tip: Lead with verbatim and the ticket, not a pie of 1s. A score without the sentence is a chart you will not act on.

CSAT by Queue and Agent

13/30

โœจ What it does

Claude builds a CSAT-by-queue-and-agent board for [TEAM] with score, volume, and small-n flags as a working screen you can click in the chat. Filter a queue, then swap the sample numbers for your agent survey rollup.

You are a support quality analyst who builds CSAT boards that are fair to agents and honest about sample size. <context> I need a CSAT-by-queue-and-agent dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic survey rows so I can click the working screen in the chat. </context> <inputs> - Team: [TEAM] - Agents: [NAMES] - Queues: [LIST] - Small-n rule: [E.G. UNDER 15 SCORED] - Date range: [E.G. LAST 30 DAYS] - CSAT rule: [E.G. 4 AND 5 ON A 1-5] </inputs> <task> Build the dashboard with: a queue filter; KPI cards (team CSAT, agents above team, agents below, agents in small-n); a bar of CSAT by queue with n labels; an agent table (scored, CSAT %, average, versus team) that marks small-n instead of ranking them; a toggle to include or hide small-n; and a selected-agent sparkline. Compute every rate from survey rows. Do not rank small-n agents as best or worst. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Surveys in labeled JS constants at the top. - Small-n labeled in text, not color alone. Accessible contrast. - This is quality, not a public leaderboard. No hero or slacker labels. </constraints> <format> Return the full HTML file, then write the small-n rule and which array to replace. </format>

๐Ÿ’ก

Pro tip: Hide agents under the small-n line. Ranking someone on four surveys is how CSAT boards lose the room.

Survey Response Rate Board

14/30

โœจ What it does

Claude builds a survey-response-rate board for [SURVEY WINDOW] with sent, opened, and scored rates as a working screen you can click in the chat. Find the quiet channel, then swap the sample numbers for your send and reply counts.

You are a support quality analyst who builds survey-funnel boards so a quiet CSAT is not mistaken for a happy book. <context> I need a survey response-rate dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic send and reply counts so I can click the working screen in the chat. </context> <inputs> - Survey window: [SURVEY WINDOW] - Steps: [SENT, OPENED, STARTED, SCORED] or my list - Split by: [CHANNEL / QUEUE / PLAN] - Target response rate: [E.G. 20%] - Date range: [E.G. LAST 8 WEEKS] </inputs> <task> Build the dashboard with: KPI cards (sent, scored, response rate, versus [TARGET RESPONSE RATE]); a funnel of the steps; a grouped bar of response rate by the split I gave; a weekly line of sent versus scored; and a table of the split with each step and drop-off. Compute each rate from step counts. Clicking a split row filters the weekly line. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Step counts in labeled JS constants at the top. - Below-target splits flagged. Accessible contrast. - If I have no opened count, mark that step [VERIFY] and skip it, do not invent opens. </constraints> <format> Return the full HTML file, then write funnel math and which constants to replace. </format>

๐Ÿ’ก

Pro tip: Track sent, opened, and scored as three steps. A channel that never asks will look like a perfect CSAT.

CSAT Versus Contact Reason

15/30

โœจ What it does

Claude builds a CSAT-versus-contact-reason board for [REASON CODES] with score by topic and a pain list as a working screen you can click in the chat. Click a low-score reason, then swap the sample numbers for tagged surveys.

You are a support quality analyst who builds reason-level CSAT boards that tell product which pain is actually scoring low. <context> I need a CSAT-versus-contact-reason dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic tagged surveys so I can click the working screen in the chat. </context> <inputs> - Reason codes: [REASON CODES] - CSAT rule: [E.G. 4 AND 5 ON A 1-5] - Date range: [E.G. LAST 60 DAYS] - Small-n rule: [E.G. UNDER 10] - Queues: [OPTIONAL] </inputs> <task> Build the dashboard with: KPI cards (lowest-scoring reason with enough n, highest-volume reason CSAT, reasons below team, untagged share); a scatter or grouped view of volume versus CSAT by reason; a ranked pain list (reason, n, CSAT %, versus team); a click that lists those surveys and verbatims; and an untagged bucket. Compute CSAT per reason from tagged rows. Small-n reasons sit in a separate muted list. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Surveys with reason tags in labeled JS constants at the top. - Do not crown a small-n reason as worst. Accessible contrast. - Do not invent product bug ids. </constraints> <format> Return the full HTML file, then explain grouping and which array to replace with tagged surveys. </format>

๐Ÿ’ก

Pro tip: Pair the reason with volume. A 60 CSAT on two tickets is noise. A 70 on the top reason is the week.

These prompts give you the what. Tutorials give you the why.

Learn when to use extended thinking, how to build Claude Projects, and workflows that compound. 300+ tutorials and growing.

Try AI Academy Free

Backlog

5 prompts

Backlog Burndown

16/30

โœจ What it does

Claude builds a backlog burndown for [BACKLOG SCOPE] with open, arrivals, solves, and a weeks-to-clear note as a working screen you can click in the chat. Read the gap week, then swap the sample numbers for your open-ticket history.

You are a support operations analyst who builds backlog burndowns a founder can use to decide when to hire or freeze intake. <context> I need a backlog burndown dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic weekly open counts so I can click the working screen in the chat. </context> <inputs> - Backlog scope: [BACKLOG SCOPE] - History: [E.G. LAST 8 WEEKS OF OPEN, ARRIVALS, SOLVES] - Starting open: [COUNT] - Target open: [E.G. 80] or none - Productive solve capacity now: [E.G. 220 / WEEK] </inputs> <task> Build the dashboard with: KPI cards (open now, weekly net, weeks to target at current net, weeks to target at stated capacity); a burndown of open versus a straight required-pace line if I gave a target; a bar of arrivals versus solves; a table of week, open, arrivals, solves, net; and a callout of the first week the pile grows again if arrivals stay at the recent median. Compute open from starting open plus weekly nets. Label the projection as a flat-rate estimate. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Weekly series in labeled JS constants at the top. - Label estimate versus measured. Accessible contrast. - Do not invent a hiring plan. Show the week and the gap. </constraints> <format> Return the full HTML file, then write burndown and weeks-to-clear math and which constants to replace. </format>

๐Ÿ’ก

Pro tip: Start from a real open count, not zero. A burndown that forgets the pile you already have is a vanity chart.

Waiting-on-Us Versus Customer

17/30

โœจ What it does

Claude builds a waiting-on-us versus waiting-on-customer board for [PENDING STATUSES] with age and a chase list as a working screen you can click in the chat. Toggle waiting-on-us, then swap the sample numbers for your pending tickets.

You are a support operations analyst who builds pending boards that split work we owe from work the customer owes. <context> I need a waiting-on-us versus waiting-on-customer dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic pending tickets so I can click the working screen in the chat. </context> <inputs> - Pending statuses: [PENDING STATUSES] - Age rule: [WAITING ON US FROM LAST CUSTOMER MSG; WAITING ON CUSTOMER FROM LAST AGENT MSG] - Age buckets: [E.G. 0-1D, 1-3D, 3-7D, 7D+] - Owners: [NAMES OR TEAMS] - Queues: [LIST] </inputs> <task> Build the dashboard with: status chips from [PENDING STATUSES]; KPI cards (waiting on us, waiting on customer, 7d+ on us, 7d+ on customer); a stacked bar of each side by age bucket; an owner table; a chase list for waiting-on-us sorted oldest last-customer-message first; and a nudge list for waiting-on-customer. Show the age rule on the page. Chips filter every widget. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tickets in labeled JS constants at the top. - Waiting-on-us rows visually louder. Accessible contrast. - Do not mix the two clocks. If a timestamp is missing, mark [VERIFY]. </constraints> <format> Return the full HTML file, then explain both age rules and which array to replace. </format>

๐Ÿ’ก

Pro tip: Age waiting-on-customer from last agent message, and waiting-on-us from last customer message. One created-at clock lies on both sides.

SLA-Risk Backlog

18/30

โœจ What it does

Claude builds an SLA-risk backlog for [BREACH WINDOW] with tickets inside the last 20 percent of the clock as a working screen you can click in the chat. Sort soonest to breach, then swap the sample numbers for your open SLA clocks.

You are a support operations analyst who builds SLA-risk backlogs that a lead can empty in the last hour of the shift. <context> I need an SLA-risk backlog dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic open tickets so I can click the working screen in the chat. </context> <inputs> - Breach window: [BREACH WINDOW] - Risk band: [E.G. LAST 20% OF THE CLOCK] - SLA metric: [FIRST REPLY / NEXT REPLY / RESOLUTION] - Queues and channels: [LIST] - Staff on now: [COUNT OR NAMES] </inputs> <task> Build the dashboard with: KPI cards (open in scope, already breached, inside the risk band, minutes to the next breach); a histogram of minutes remaining; a queue split; a sorted risk table (ticket, queue, channel, metric, minutes remaining, assignee); and a filter for breached / risk / safe. Compute remaining time from due-at versus a now constant. Default sort is soonest to breach. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tickets and due-ats in labeled JS constants at the top. - Breached red, risk amber. Filters must hide rows. Accessible contrast. - Do not invent paging. This is a list a lead can assign by hand. </constraints> <format> Return the full HTML file, then explain remaining-time math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Sort by minutes remaining, not by priority alone. A P3 email with twelve minutes left will breach while you stare at a calm P1.

Reopened Ticket Pile

19/30

โœจ What it does

Claude builds a reopened-ticket pile for [REOPEN WINDOW] with bounce count, reasons, and a second-close list as a working screen you can click in the chat. Open a twice-reopened row, then swap the sample numbers for your reopen events.

You are a support operations analyst who builds reopen piles that show failed first closes still sitting in the book. <context> I need a reopened-ticket backlog dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic reopen events so I can click the working screen in the chat. </context> <inputs> - Reopen window: [REOPEN WINDOW] - Reason codes: [E.G. WRONG ANSWER, PRODUCT BUG, CAME BACK] - Statuses that count as still open: [E.G. REOPENED, OPEN] - Teams: [L1, L2, BILLING] - Date range for the rate: [E.G. LAST 30 DAYS] </inputs> <task> Build the dashboard with: KPI cards (open reopened tickets, reopen rate in the window, twice-plus count, median days since first solve); a reason bar; a bounce table (ticket, first solve, reopen count, reason, current owner, age since reopen); a twice-plus watchlist; and a weekly reopen-rate line. Reopen means solved then opened again inside [REOPEN WINDOW]. Show that rule. A reason chip filters the table. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Events in labeled JS constants at the top. - Twice-plus rows flagged. Accessible contrast. - This is a backlog of open reopens, not an escalation funnel. </constraints> <format> Return the full HTML file, then explain the reopen rule and which event array to replace. </format>

๐Ÿ’ก

Pro tip: Count a reopen as a failed first close. If you only track new tickets, the same customer pain never shows up on the backlog.

After-Hours Backlog Growth

20/30

โœจ What it does

Claude builds an after-hours backlog growth board for [OFF HOURS] with overnight arrivals and a Monday pile as a working screen you can click in the chat. Check Monday morning, then swap the sample numbers for your off-hours creates.

You are a support operations analyst who builds after-hours backlog boards that show what landed while nobody was on the clock. <context> I need an after-hours backlog growth dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic create timestamps so I can click the working screen in the chat. </context> <inputs> - Off hours: [OFF HOURS] - Timezone: [E.G. AMERICA/NEW_YORK] - Weekend definition: [E.G. FRI 18:00 TO MON 09:00] - Date range: [E.G. LAST 8 WEEKS] - Queues: [LIST] </inputs> <task> Build the dashboard with: KPI cards (off-hours arrivals, share of all arrivals, Monday-open leftover, median Monday age); a stacked weekly bar of weekday-night versus weekend arrivals; a Monday-morning leftover line; a queue split; and a leftover table of tickets still open that were created off hours. Compute off-hours flags from create timestamps and [OFF HOURS]. Timezone labeled. Week chips filter the leftover table. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tickets in labeled JS constants at the top. - Timezone and weekend rule on the page. Accessible contrast. - Do not invent on-call pages. Arrivals and leftovers only. </constraints> <format> Return the full HTML file, then write the off-hours flag rule and which array to replace. </format>

๐Ÿ’ก

Pro tip: Split Friday night, weekend, and weekday nights. One overnight bucket hides the Monday pile that ruins the first standup.

Topics

5 prompts

Topic Volume Mix

21/30

โœจ What it does

Claude builds a topic volume mix for [TOPIC TAGS] with share, trend, and a rising-tag list as a working screen you can click in the chat. Click a rising tag, then swap the sample numbers for your tagged tickets.

You are a support insights analyst who builds topic-mix boards that a weekly triage can act on. <context> I need a topic volume mix dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic tagged tickets so I can click the working screen in the chat. </context> <inputs> - Topic tags: [TOPIC TAGS] - Date range: [E.G. LAST 8 WEEKS] - Rising rule: [E.G. SHARE UP 50% WEEK OVER WEEK] - Untagged handling: [SHOW AS UNTAGGED] - Queues: [OPTIONAL] </inputs> <task> Build the dashboard with: KPI cards (tagged tickets, untagged share, top tag, rising tags); a stacked weekly area by tag; a period donut; a rising-tag list using my rule; a tag table (volume, share, wow change, CSAT if present); and a click on a tag that lists sample subjects. Compute share and wow from weekly tag counts. Keep an untagged bucket. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Ticket-tag rows in labeled JS constants at the top. - Rising rule on the page. Accessible contrast. - Do not invent a tag I did not list except untagged. </constraints> <format> Return the full HTML file, then write share and rising-rule math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Use the tags agents already apply. A new taxonomy on this page will not match the export you paste next week.

Emerging Topic Detector

22/30

โœจ What it does

Claude builds an emerging-topic detector for [LOOKBACK] with new phrases, first-seen dates, and owners as a working screen you can click in the chat. Open a new cluster, then swap the sample numbers for recent ticket subjects.

You are a support insights analyst who builds emerging-topic boards that catch a new failure before it has a tidy tag. <context> I need an emerging-topic dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic ticket subjects so I can click the working screen in the chat. </context> <inputs> - Lookback: [LOOKBACK] - Cluster key: [E.G. NORMALIZED SUBJECT PHRASE] - New rule: [E.G. FIRST SEEN IN THE LAST 7 DAYS AND 5+ TICKETS] - Product areas: [LIST] - Sample subjects: [PASTE OR ASK CLAUDE TO INVENT 40] </inputs> <task> Build the dashboard with: KPI cards (new clusters, tickets in those clusters, clusters with no owner, clusters with no existing tag); a cluster table (phrase, count, first seen, last seen, area, owner, status); a 14-day strip for the selected cluster; a no-owner watchlist; and a simple JS normalizer (lowercase, strip ids and punctuation) documented on the page. Selecting a cluster lists member subjects. Compute first seen from sample created-ats. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Subjects in labeled JS constants at the top. - Show the new rule. Accessible contrast. - This is a phrase cluster, not a machine-learning claim. Label it as simple grouping. </constraints> <format> Return the full HTML file, then explain the normalizer, the new rule, and which array to replace. </format>

๐Ÿ’ก

Pro tip: Cluster by phrase and product, not by the first tag someone guessed. The same checkout timeout will have twelve names.

Macro Hit-Rate Board

23/30

โœจ What it does

Claude builds a macro hit-rate board for [MACRO LIST] with use count, reopen after send, and CSAT as a working screen you can click in the chat. Flag a weak macro, then swap the sample numbers for your macro and ticket join.

You are a support insights analyst who builds macro boards that show which canned answers are leaking reopens. <context> I need a macro hit-rate dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic macro-send rows so I can click the working screen in the chat. </context> <inputs> - Macro list: [MACRO LIST] - Join fields: [TICKET, MACRO, SENT AT, REOPENED IN 7D, CSAT] - Weak rule: [E.G. REOPEN AFTER SEND ABOVE 15% OR CSAT BELOW TEAM] - Date range: [E.G. LAST 60 DAYS] - Queues: [OPTIONAL] </inputs> <task> Build the dashboard with: KPI cards (macros tracked, sends, reopen-after-send rate, macros that fail the weak rule); a scatter of use count versus reopen rate; a table (macro, sends, reopen %, CSAT %, weak flag); a click that lists tickets that reopened after that macro; and a unused-macro list if I included macros with zero sends. Compute rates from the join. Weak flags from my rule. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Send rows and the macro list in labeled JS constants at the top. - Show the weak rule. Accessible contrast. - Do not rewrite the macros. Numbers only. </constraints> <format> Return the full HTML file, then write reopen-after-send math and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: A high-use macro with a high reopen rate is a liability. Volume without quality is how bad answers scale.

Knowledge Gap Board

24/30

โœจ What it does

Claude builds a knowledge-gap board for [HELP CENTER MAP] with topics that have volume but no article as a working screen you can click in the chat. Rank the gaps, then swap the sample numbers for tags and article slugs.

You are a support insights analyst who builds knowledge-gap boards that tell docs what to write next. <context> I need a knowledge-gap dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic tags and article rows so I can click the working screen in the chat. </context> <inputs> - Help center map: [HELP CENTER MAP] - Topic tags: [LIST] - Article fields: [SLUG, TITLE, TAGS, LAST UPDATED, STATUS] - Gap rule: [E.G. 20+ TICKETS IN 30 DAYS AND NO LIVE ARTICLE] - Stale rule: [E.G. ARTICLE OLDER THAN 180 DAYS] </inputs> <task> Build the dashboard with: KPI cards (gap topics, tickets in gaps, stale articles, topics with an article that still has high volume); a ranked gap list (tag, tickets, suggested title from the tag name, owner blank); a stale-article table; a matched view of tag versus article; and a filter for gap / stale / covered. Compute gaps by joining tag volume to articles that share that tag and are live. Show both rules on the page. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tags and articles in labeled JS constants at the top. - Do not invent article bodies. Titles are suggestions I can edit. Accessible contrast. - Suggested titles are not published docs. </constraints> <format> Return the full HTML file, then explain the join and which arrays to replace with a help-center export. </format>

๐Ÿ’ก

Pro tip: Gap means volume without a live article, not a vague we should write more. Rank by ticket count you can actually draft against.

Product-Area Topic Map

25/30

โœจ What it does

Claude builds a product-area topic map for [PRODUCT AREAS] with volume, CSAT, and a handoff list as a working screen you can click in the chat. Click an area, then swap the sample numbers for your product-tagged tickets.

You are a support insights analyst who builds product-area maps that support and product can share in the same standup. <context> I need a product-area topic dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic product-tagged tickets so I can click the working screen in the chat. </context> <inputs> - Product areas: [PRODUCT AREAS] - Date range: [E.G. LAST 30 DAYS] - Metrics: [VOLUME, CSAT, REOPEN RATE, MEDIAN RESOLVE] - Handoff rule: [E.G. TAGGED BUG AND STILL OPEN 3+ DAYS] - Owners: [SQUADS OR PMS] </inputs> <task> Build the dashboard with: an area grid of cards (volume, CSAT, reopen %, owner); a selected-area topic breakdown; a handoff list using my rule; a comparison table across areas; and a click on a card that filters every list. Compute metrics from tickets that have one primary area field. If a ticket has two areas, use the primary field only and say so. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tickets in labeled JS constants at the top. - Cards are buttons, not just color. Accessible contrast. - Do not invent Jira statuses. Handoff is a tagged list I can copy. </constraints> <format> Return the full HTML file, then explain primary-area grouping and which array to replace. </format>

๐Ÿ’ก

Pro tip: One area per ticket for this board. Multi-tag soup makes every squad look equally busy.

Most people use 10% of Claude. Tutorials unlock the rest.

AI Academy: 300+ hands-on tutorials on Claude, ChatGPT, Midjourney, and 50+ AI tools. New tutorials added every week.

Start Your Free Trial

Staffing

5 prompts

Forecast Versus Seats

26/30

โœจ What it does

Claude builds a forecast-versus-seats board for [INTERVAL] with predicted arrivals, seats needed, and gap hours as a working screen you can click in the chat. Toggle a busy interval, then swap the sample numbers for your forecast and roster.

You are a support workforce analyst who builds forecast-versus-seats boards a lead can staff from before the day starts. <context> I need a forecast-versus-seats dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic interval forecasts so I can click the working screen in the chat. </context> <inputs> - Interval: [INTERVAL] - Date or typical weekday: [E.G. NEXT TUESDAY] - Forecast arrivals per interval: [COUNTS OR ASK TO INVENT A CURVE] - Average handle time minutes: [E.G. 8] - Occupancy target: [E.G. 80%] - Seats rostered: [PER INTERVAL] </inputs> <task> Build the dashboard with: KPI cards (peak interval, seats short at peak, surplus hours, intervals in gap); a grouped bar of seats needed versus seats rostered by interval; a gap table (interval, forecast, AHT, seats needed, rostered, gap); and a click on an interval that lists who is on. Seats needed = (arrivals * AHT minutes / interval minutes) / occupancy target. Show that formula. Label it a simple estimate, not an Erlang model. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Forecast and roster in labeled JS constants at the top. - Gap cells red, surplus muted. Formula on the page. Accessible contrast. - Do not auto-assign people. Show the gap only. </constraints> <format> Return the full HTML file, then write the seats-needed formula and which constants to replace. </format>

๐Ÿ’ก

Pro tip: Seats needed is a simple arrivals-over-handle-time estimate, not a magic Erlang claim. Put the formula on the page.

Skill Coverage Board

27/30

โœจ What it does

Claude builds a skill-coverage board for [SKILL SET] with seats that can take each queue as a working screen you can click in the chat. Click an uncovered skill, then swap the sample numbers for your skill-tagged roster.

You are a support workforce analyst who builds skill-coverage boards that show the queue you cannot actually staff. <context> I need a skill coverage dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic skill-tagged roster so I can click the working screen in the chat. </context> <inputs> - Skill set: [SKILL SET] - Queues that need those skills: [MAP] - People and skills: [ROSTER] - Seats needed by skill for the shift: [COUNTS] - Shift: [E.G. TODAY 9-17] </inputs> <task> Build the dashboard with: a header for the shift; KPI cards (skills in gap, worst gap, unused surplus skills, people out); a bar of needed versus qualified-and-on seats by skill; a people table (name, skills, on/off, assigned queue); a spare-people list whose skills do not match the gap; and skill chips that filter the people table. Qualified-and-on means the person is on the shift and has that skill. Hour or shift is a single block unless I add intervals later. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Roster and demand in labeled JS constants at the top. - Gap cells red. Accessible contrast. - Do not auto-assign. Show the gap and the spare list only. </constraints> <format> Return the full HTML file, then explain qualified-and-on and which arrays to replace with a roster export. </format>

๐Ÿ’ก

Pro tip: Coverage is seats at the skill you need, not heads in the building. A floor full of billing agents still has a tech gap.

Shrinkage and PTO Board

28/30

โœจ What it does

Claude builds a shrinkage and PTO board for [SHIFT] with planned seats, out time, and net coverage as a working screen you can click in the chat. Check a thin day, then swap the sample numbers for your PTO and meeting hours.

You are a support workforce analyst who builds shrinkage boards that subtract the hours people will not be in the queue. <context> I need a shrinkage and PTO dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic out rows so I can click the working screen in the chat. </context> <inputs> - Shift: [SHIFT] - Horizon: [E.G. NEXT 14 DAYS] - Planned seats per day: [COUNTS] - Out types: [PTO, MEETING, TRAINING, BREAK] - Shrinkage target: [E.G. 30%] - People: [NAMES] </inputs> <task> Build the dashboard with: KPI cards (planned hours, out hours, net hours, days over the shrinkage target); a stacked daily bar of in-queue versus each out type; a people-by-day heatmap of net hours; a PTO calendar table; and a thin-day callout listing who is out. Net = planned minus out. Shrinkage = out / planned. Cells are buttons that list that day's out rows. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Planned seats and out rows in labeled JS constants at the top. - Color plus a percent so the heatmap is not color-only. Accessible contrast. - No ranking language. Hours only. </constraints> <format> Return the full HTML file, then write net and shrinkage formulas and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: Count only hours people will actually be at the desk. PTO, 1:1s, and recurring meetings are the usual lie in a coverage board.

New-Hire Queue Ramp

29/30

โœจ What it does

Claude builds a new-hire queue ramp for [RAMP PLAN] with expected versus actual AHT and CSAT as a working screen you can click in the chat. Open a ramping agent, then swap the sample numbers for start dates and weekly stats.

You are a support workforce analyst who builds new-hire ramp boards that are fair to people still learning the queue. <context> I need a new-hire queue ramp dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic ramping agents so I can click the working screen in the chat. </context> <inputs> - Ramp plan: [RAMP PLAN] - Ramping agents and start dates: [NAMES AND DATES] - Full-target AHT, CSAT, and tickets per week at 100%: [NUMBERS] - Weeks in the plan: [E.G. 8] - Queue they sit: [NAME] </inputs> <task> Build the dashboard with: KPI cards (hires on ramp, on or ahead of plan, behind, average % of expected tickets); a line of expected versus actual tickets by ramp week; per-hire cards with start date, week number, expected AHT, actual AHT, expected CSAT, actual CSAT, and a behind flag; a table of the same; and a flag on anyone two bands behind. Compute expected values from start date and [RAMP PLAN]. Small-n CSAT marked. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Hires and weekly stats in labeled JS constants at the top. - Behind-plan cards flagged. Accessible contrast. - No slacker labels. Numbers versus the plan only. </constraints> <format> Return the full HTML file, then explain how ramp week is derived from start date and how to add a hire. </format>

๐Ÿ’ก

Pro tip: Give each hire their own expected week. Comparing a week-two hire to a veteran AHT is how ramp boards get ignored.

After-Hours Staffing Gaps

30/30

โœจ What it does

Claude builds an after-hours staffing gap board for [ON CALL WINDOW] with arrivals versus seats and leftover tickets as a working screen you can click in the chat. Click an uncovered hour, then swap the sample numbers for your night roster.

You are a support workforce analyst who builds after-hours staffing boards that show the hour you will miss before it happens. <context> I need an after-hours staffing gap dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic night roster so I can click the working screen in the chat. </context> <inputs> - On-call window: [ON CALL WINDOW] - Timezone: [E.G. AMERICA/NEW_YORK] - Skills needed overnight: [E.G. TECH, BILLING] - Demand by hour: [SEATS OR ARRIVALS] or ask Claude to invent a light overnight curve - People and windows: [ROSTER] </inputs> <task> Build the dashboard with: a day picker inside a sample week; KPI cards (hours with a gap, worst gap, leftover tickets into morning, people on); a stacked bar of filled versus needed seats by hour and skill; a gap table (hour, skill, needed, filled, who is on); a leftover note for tickets still open at window end; and hour cells that click through to names. Compute filled from roster intervals overlapping that hour. Timezone labeled. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Roster and demand in labeled JS constants at the top. - Gap cells red. Accessible contrast. - Do not auto-assign. Show the gap and the names only. </constraints> <format> Return the full HTML file, then explain overlap math and which arrays to replace with a night-roster export. </format>

๐Ÿ’ก

Pro tip: Coverage is a named person in the window, not a Slack channel. An empty @support-night mention is still a gap.

Free tool

Prompt Optimizer

Turn a rough idea into a structured, professional AI prompt.

Try it free โ†’

Frequently Asked Questions

Yes. Each prompt asks Claude to return one self-contained HTML file with inline CSS, vanilla JS, and a charting library from a CDN, pre-seeded with realistic sample tickets. It opens as a working screen you can click in the chat, with volume, SLA, CSAT, backlog, topic, or staffing widgets already populated.
Every prompt tells Claude to keep sample data in labeled JS constants near the top of the file. Replace those arrays with an export from Zendesk, Intercom, Freshdesk, or your helpdesk, or follow the closing note on wiring a CSV. The cards and charts recompute from the same formulas. Click around on the sample first so you know which number you are about to overwrite.
The ops page has a thin Support slice: queue load, first response, aging, occupancy, and escalations, next to delivery, inventory, incidents, capacity, and vendors. This page is support-deep only: arrivals versus solves, resolution and next-reply SLAs, CSAT, backlog burndown, topics, and staffing. Use ops when the screen runs a warehouse or an incident. Use this page when the screen runs the helpdesk.
The sample numbers are invented so the screen renders. The formulas are real and written on the page or in the closing note: running open, contain rate, business-hours elapsed time, CSAT and response rate, weeks to clear, seats needed from arrivals and handle time. Read that note, then swap the constants. If a target or timestamp is missing, the prompt tells Claude to mark [VERIFY] instead of guessing.
Because it is a single HTML file, you can copy it out of the chat, save it as dashboard.html, and open it in any browser or drop it on a static host. For a live floor screen, follow Claude's closing note on swapping the sample arrays for a CSV or a fetch. Keep secrets out of the file.

Prompts are the starting line. Tutorials are the finish.

A growing library of 300+ hands-on tutorials on ChatGPT, Claude, Midjourney, and 50+ AI tools. New tutorials added every week.

7-day free trial. Cancel anytime.