Claude Prompt Library

30 Claude Prompts That Build Content Dashboards

30 copy-paste prompts

Describe the editorial calendar and ship log you run and Claude returns a working content-ops dashboard as one self-contained HTML file with sample data and charts you can click in the chat. Prompts for calendar, production, distribution, performance by piece, repurpose, and team load. Not a marketing mix board. Not an SEO rank board. Not "give me a chart."

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

Calendar

5 prompts

Editorial Calendar Overview

1/30

โœจ What it does

Claude builds an editorial calendar overview for [PUBLICATION] with slots, owners, and a gap week as a working screen you can click in the chat. Open a gap week, then swap the sample numbers for your calendar export.

You are an editorial-operations analyst who builds content calendars a Monday standup can trust. <context> I need an editorial calendar overview as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic slots so I can click the working screen in the chat. This is editorial ops (what ships when and who owns it), not a marketing campaign mix and not an SEO rank board. </context> <inputs> - Publication or brand: [PUBLICATION] - Window: [E.G. THIS MONTH PLUS NEXT] - Content types: [E.G. GUIDE, NEWS, NEWSLETTER, SOCIAL] - Target filled slots per week: [E.G. 4] - Sample pieces: [12-20 TITLES OR "INVENT REALISTIC ONES"] </inputs> <task> Build the dashboard with: a header for [PUBLICATION]; KPI cards (slots planned, slots filled, owners assigned, gap weeks); a week-grid calendar (week, day, title or empty, type, owner, status idea/brief/draft/scheduled/shipped); type chips that filter the grid; a gap-week callout where filled slots sit under the weekly target; and a click on a gap week that lists the empty days. Keep pieces in labeled JS constants. A slot is filled only when title and ship date are both present. Clicking a filled cell opens owner, type, and status. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Piece rows in labeled JS constants at the top so I can swap a calendar export later. - Do not invent Search Console ranks or ad spend. Editorial slots only. - Empty slots visually loud. Accessible contrast. Responsive grid. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write the filled-slot rule and which array to replace. </format>

๐Ÿ’ก

Pro tip: Count a slot as filled only when a title and a ship date exist. A vague theme in the cell is still a gap.

Slot Mix Versus Plan

2/30

โœจ What it does

Claude builds a slot-mix versus plan board for [CONTENT MIX] with type share and empty slots as a working screen you can click in the chat. Click an empty slot, then swap the sample numbers for your planned mix.

You are an editorial planner who scores the month against a planned type mix, not against vibes. <context> I need a slot-mix versus plan dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic planned mix so I can click the working screen in the chat. Editorial mix only. Do not add channel spend or keyword ranks. </context> <inputs> - Planned mix: [CONTENT MIX] - Publication: [NAME] - Month: [E.G. SEPTEMBER 2026] - Target slots: [E.G. 16] - Shipped and scheduled sample rows: [OR "INVENT A PARTIAL FILL"] </inputs> <task> Build the dashboard with: a header for the month; KPI cards (target slots, filled, mix match %, empty slots); a grouped bar of planned versus filled by each type in [CONTENT MIX]; a table (type, planned, filled, delta, empty remaining); chips that filter a slot list; and an empty-slot list (date, planned type, owner or unassigned). Compute mix match as 1 minus sum of absolute deltas / (2 times target slots), or a simpler editable rule shown on the page. Clicking an empty slot highlights its type bar. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Planned counts and piece rows in labeled JS constants at the top. - Show the mix-match rule on the page. Do not invent SEO volume. - Below-plan types flagged. Accessible contrast. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write mix-match math and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: Lock the planned mix before you score the month. A mix you invent after looking at what shipped is not a plan.

Embargo and Hold Board

3/30

โœจ What it does

Claude builds an embargo and hold board for [HOLD SET] with release dates and a still-held list as a working screen you can click in the chat. Open a still-held row, then swap the sample numbers for your hold log.

You are an editorial-operations analyst who tracks pieces that cannot ship until a hold lifts. <context> I need an embargo and hold dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic held pieces so I can click the working screen in the chat. </context> <inputs> - Hold set name: [HOLD SET] - Publication: [NAME] - Today constant: [DATE] - Sample held pieces: [8-14 TITLES WITH HOLD REASON AND RELEASE DATE OR "INVENT"] - Overdue rule: [E.G. RELEASE DATE PASSED AND STATUS STILL HELD] </inputs> <task> Build the dashboard with: a header for [HOLD SET]; KPI cards (held now, releasing in 7 days, overdue, median days remaining); a timeline of release dates; a sortable table (title, reason, hold start, release date, days remaining, owner, status held/cleared/overdue); reason chips; and a still-held list using my overdue rule. Compute days remaining from release date minus the today constant. Past release and still held is overdue, not a negative countdown with no label. Clicking a still-held row opens reason and owner. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Hold rows in labeled JS constants at the top so I can swap a hold log later. - Overdue labeled overdue. Accessible contrast. - Do not invent legal advice. Dates and status only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write the overdue rule and which array to replace. </format>

๐Ÿ’ก

Pro tip: Start the hold clock on the first hold date, not on the day someone remembered to update the sheet.

Seasonal Theme Planner

4/30

โœจ What it does

Claude builds a seasonal theme planner for [SEASON] with themes, slots, and a missing-theme list as a working screen you can click in the chat. Click a missing theme, then swap the sample numbers for your seasonal plan.

You are an editorial planner who maps a season to themes and shows the holes before the season starts. <context> I need a seasonal theme planner as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic theme map so I can click the working screen in the chat. This is a planning board, not a performance or SEO cluster board. </context> <inputs> - Season name and dates: [SEASON] - Planned themes: [6-10] - Target pieces per theme: [E.G. 2] - Existing scheduled or shipped titles: [OR "INVENT A PARTIAL MAP"] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for [SEASON]; KPI cards (themes, covered, missing, pieces scheduled); a theme card grid (theme, piece count, titles or missing, next ship date); a coverage bar; and a missing-theme list where count sits under the target. Compute covered from my target. Missing cards are visually loud. Clicking a missing theme opens a one-line brief slot I can edit. Do not invent search volume or campaign spend. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Theme rows in labeled JS constants at the top so I can swap a seasonal plan later. - Covered rule shown on the page. Accessible contrast. - No keyword ranks. Editorial coverage only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write the covered rule and which array to replace. </format>

๐Ÿ’ก

Pro tip: A theme is covered only when a shippable piece is scheduled. A Slack idea is not coverage.

Publish Cadence Watch

5/30

โœจ What it does

Claude builds a publish cadence watch for [CADENCE] with ships per week and a stall week as a working screen you can click in the chat. Check the stall week, then swap the sample numbers for your ship log.

You are an editorial-operations analyst who reads publishing cadence as ships versus a weekly target, not as a busy Slack channel. <context> I need a publish cadence watch as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic ship log so I can click the working screen in the chat. Count live ships. Do not add organic clicks or ad results; those live on other dashboard pages. </context> <inputs> - Cadence name and target: [CADENCE] - Publication: [NAME] - Weeks: [E.G. LAST 16] - Stall rule: [E.G. 0 SHIPS FOR 2+ WEEKS, OR UNDER 50% OF TARGET] - Sample ship titles with dates: [OR "INVENT"] </inputs> <task> Build the dashboard with: a header for [CADENCE]; KPI cards (ships in range, average per week, versus target, stall weeks); a weekly bar of ships with the target line; a table (week, ships, titles, versus target); and a stall-week callout using my rule. Keep weekly counts computed from a ship-date array. Clicking a stall week lists nearby titles. Below-target weeks flagged. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Ship rows in labeled JS constants at the top so I can swap a ship log later. - No SEO or paid metrics. Ships and dates only. - Accessible contrast. Stall labeled stall. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then explain stall math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Count shipped and live only. A scheduled draft that never went live is not cadence.

Production

5 prompts

Brief to Ship Pipeline

6/30

โœจ What it does

Claude builds a brief-to-ship pipeline for [PIPELINE] with stage counts and a stuck list as a working screen you can click in the chat. Click a stuck brief, then swap the sample numbers for your CMS status export.

You are an editorial-operations analyst who builds brief-to-ship pipelines, not a marketing funnel and not a kanban toy. <context> I need a brief-to-ship production dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic piece statuses so I can click the working screen in the chat. </context> <inputs> - Pipeline name: [PIPELINE] - Stages in order: [E.G. IDEA, BRIEF, DRAFT, REVIEW, SCHEDULED, SHIPPED] - Pieces: [14-24 TITLES OR "INVENT"] - Stuck rule: [E.G. SAME STAGE OVER 7 DAYS] - Today constant: [DATE] </inputs> <task> Build the dashboard with: a header for [PIPELINE]; KPI cards (in pipeline, shipped this window, stuck, median days idea-to-ship for shipped rows); a horizontal stage funnel of counts; a stage table (count, median days, stuck count); chips that filter a piece list; and a stuck list using my rule. Compute days in stage from last stage-change date and the today constant. Clicking a stuck brief opens owner, stage, and days. Do not invent traffic or ranks. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Piece rows with stage and dates in labeled JS constants at the top so I can swap a CMS status export later. - Stuck labeled stuck. Accessible contrast. - Editorial stages only. No MQL or SQL language. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write stuck math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Use the stage names your CMS already has. Homegrown labels will not join next week's export.

Draft Age Board

7/30

โœจ What it does

Claude builds a draft age board for [DRAFT QUEUE] with owner, age days, and a stale-draft list as a working screen you can click in the chat. Sort by age, then swap the sample numbers for your draft export.

You are an editorial-operations analyst who ages drafts from first draft date so a busy edit pass cannot hide a stale piece. <context> I need a draft age dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic drafts so I can click the working screen in the chat. </context> <inputs> - Queue name: [DRAFT QUEUE] - Stale rule: [E.G. AGE OVER 14 DAYS AND STILL DRAFT] - Today constant: [DATE] - Sample drafts: [10-16 TITLES WITH FIRST DRAFT DATE, OWNER, WORD COUNT OR "INVENT"] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for [DRAFT QUEUE]; KPI cards (open drafts, median age, stale count, oldest draft); a histogram of age days; a sortable table (title, owner, first draft, age days, words, next action); owner chips; and a stale-draft list using my rule. Compute age from first draft date and the today constant. Sort default: age descending. Clicking a stale row highlights the histogram bucket. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Draft rows in labeled JS constants at the top so I can swap a draft export later. - Stale labeled stale. Accessible contrast. - Do not invent pageviews. Draft ops only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write age math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Age from first draft save, not from last typo. A draft touched yesterday can still be 20 days old.

Review SLA Board

8/30

โœจ What it does

Claude builds a review SLA board for [REVIEW SLA] with hours in review and a late list as a working screen you can click in the chat. Open a late piece, then swap the sample numbers for your review timestamps.

You are an editorial-operations analyst who measures review SLA from stage-enter time, not from last seen. <context> I need a review SLA dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic review timestamps so I can click the working screen in the chat. </context> <inputs> - SLA name and hours: [REVIEW SLA] - Reviewers: [NAMES OR "INVENT 4"] - Sample pieces in or through review: [10-16 WITH ENTERED REVIEW AT AND EXITED OR STILL OPEN] - Today constant: [DATETIME] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for [REVIEW SLA]; KPI cards (in review, on time %, late, median hours); a bar of hours in review versus the SLA line; a table (title, reviewer, entered, hours, status on time/late/still open); reviewer chips; and a late list. Compute hours from entered review to exit, or to the today constant if still open. Still-open rows can be late. Clicking a late piece opens reviewer and hours over SLA. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Review rows in labeled JS constants at the top so I can swap review timestamps later. - Late labeled late. Accessible contrast. - Do not invent quality scores. Time only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write SLA math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Start the SLA clock when the piece entered review, not when the editor opened the tab.

Blocked Piece Watchlist

9/30

โœจ What it does

Claude builds a blocked-piece watchlist for [BLOCK REASONS] with reason codes and a fix-first list as a working screen you can click in the chat. Filter a reason, then swap the sample numbers for your blocked-item export.

You are an editorial-operations analyst who builds blocked-piece watchlists that force a single next owner. <context> I need a blocked-piece watchlist as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic blocked rows so I can click the working screen in the chat. </context> <inputs> - Reason list: [BLOCK REASONS] - Publication: [NAME] - Sample blocked pieces: [10-16 WITH ONE REASON, OWNER WAITING ON, DAYS BLOCKED OR "INVENT"] - Fix-first rule: [E.G. MONEY PIECE + DAYS OVER 5] - Today constant: [DATE] </inputs> <task> Build the dashboard with: a header for the publication; KPI cards (blocked, by top reason, fix-first count, median days blocked); a bar of count by each item in [BLOCK REASONS]; a sortable watchlist (title, reason, waiting on, days, ship date if any); reason chips that filter; and a fix-first list using my rule. Compute days blocked from block-start and the today constant. Clicking a reason filters every widget. Suggested next owner comes from an editable reason-to-role map shown on the page. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Blocked rows and the reason map in labeled JS constants at the top. - One primary reason per row. Accessible contrast. - Do not invent legal outcomes. Ops status only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write fix-first rules and which array to replace. </format>

๐Ÿ’ก

Pro tip: One reason per piece. A row tagged legal and design and SME is three tickets, not one mystery block.

Cycle Time Board

10/30

โœจ What it does

Claude builds a cycle-time board for [STAGES] with median days per stage and a slow list as a working screen you can click in the chat. Open a slow piece, then swap the sample numbers for your stage-history export.

You are an editorial-operations analyst who splits cycle time by stage so a slow review cannot hide inside a blended number. <context> I need a cycle-time dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic stage history so I can click the working screen in the chat. </context> <inputs> - Stages in order: [STAGES] - Target days per stage: [NUMBERS OR "INVENT PLAUSIBLE ONES"] - Shipped pieces with stage enter/exit dates: [8-14 OR "INVENT"] - Slow rule: [E.G. TOTAL DAYS OVER TARGET SUM, OR ONE STAGE 2X TARGET] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for the publication; KPI cards (median idea-to-ship, slow count, slowest stage versus target); a bar of median days by each item in [STAGES] versus target; a stacked bar of one selected piece; a table (title, days per stage, total, versus target); and a slow list using my rule. Compute days from timestamps. Clicking a slow piece updates the stacked bar. Do not invent traffic impact. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Stage timestamps in labeled JS constants at the top so I can swap a stage-history export later. - Slow labeled slow. Accessible contrast. - Editorial cycle only. No funnel or SEO language. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write cycle-time math and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: Measure each stage from enter to exit. A single idea-to-ship number will hide the stage that actually stalls.

Distribution

5 prompts

Channel Placement Board

11/30

โœจ What it does

Claude builds a channel placement board for [CHANNELS] with ships per channel and a missed-channel list as a working screen you can click in the chat. Toggle a channel, then swap the sample numbers for your placement log.

You are an editorial-distribution analyst who records where each piece actually went live, not where someone hoped it would. <context> I need a channel placement dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic placement rows so I can click the working screen in the chat. This is owned-channel ops, not a paid campaign mix and not Search Console. </context> <inputs> - Channels: [CHANNELS] - Period: [E.G. LAST 30 DAYS] - Pieces: [10-16 TITLES] - Placement flags per piece per channel: [OR "INVENT A MIX OF HITS AND MISSES"] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for the period; KPI cards (pieces, placements, average channels per piece, missed-channel count); a bar of live placements by each item in [CHANNELS]; channel chips that show or hide a column; a table (title, ship date, checkbox or chip per channel, channel count); and a missed-channel list (piece, channel planned but not live, if you seed a planned flag). Compute counts from boolean flags. Toggling a channel filters the table to pieces missing that channel. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Placement flags in labeled JS constants at the top so I can swap a placement log later. - Do not invent spend, ROAS, or ranks. Live flags only. - Accessible contrast. Missed labeled missed. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write placement counts and which array to replace. </format>

๐Ÿ’ก

Pro tip: Placement means the piece actually went live on that channel. A planned row that never posted is a miss.

Newsletter Slot Board

12/30

โœจ What it does

Claude builds a newsletter slot board for [NEWSLETTER] with issue slots, pieces, and an empty-slot list as a working screen you can click in the chat. Open an empty slot, then swap the sample numbers for your issue plan.

You are a newsletter editor-operator who fills issue slots from the editorial bank, not from last-minute panic. <context> I need a newsletter slot dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic issues so I can click the working screen in the chat. Slot ops only. Do not build an ESP open-rate performance board; that lives on other pages. </context> <inputs> - Newsletter name: [NEWSLETTER] - Upcoming issues: [4-8 DATES] - Slots per issue: [E.G. HERO, TWO SUPPORTS, CTA] - Assigned pieces: [OR "INVENT A PARTIAL FILL"] - Empty rule: [E.G. ISSUE WITHIN 7 DAYS AND A SLOT BLANK] </inputs> <task> Build the dashboard with: a header for [NEWSLETTER]; KPI cards (issues, filled slots, empty slots, next issue at risk); an issue card row (date, slot chips filled or empty); a table (issue, slot, title or empty, owner, status); and an empty-slot list using my rule. Compute filled as slots with a title. Clicking an empty slot opens the issue and slot name. Days-to-issue uses a today constant. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Issue and slot rows in labeled JS constants at the top so I can swap an issue plan later. - Do not invent open rates. Slots and titles only. - Empty slots flagged. Accessible contrast. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write the empty-slot rule and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: A slot is filled when a piece title is locked to that issue. A maybe pile in the doc is still empty.

Social Slot Calendar

13/30

โœจ What it does

Claude builds a social slot calendar for [SOCIAL SLOTS] with planned posts and a dark-day list as a working screen you can click in the chat. Click a dark day, then swap the sample numbers for your social calendar.

You are an editorial-distribution analyst who fills social slots from shipped pieces, not a paid social ads board. <context> I need a social slot calendar as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic planned posts so I can click the working screen in the chat. Owned posting ops only. No CPM, spend, or frequency ads metrics. </context> <inputs> - Slot plan: [SOCIAL SLOTS] - Platforms: [E.G. LINKEDIN, X, INSTAGRAM] - Window: [E.G. NEXT 14 DAYS] - Planned posts tied to source pieces: [OR "INVENT"] - Dark-day rule: [E.G. A DAY WITH A REQUIRED SLOT AND ZERO PLANNED POSTS] </inputs> <task> Build the dashboard with: a header for the window; KPI cards (required slots, planned posts, dark days, pieces with no social child); a day grid by platform; a table (date, platform, source piece, status planned/posted/empty); platform chips; and a dark-day list using my rule. Compute required slots from [SOCIAL SLOTS] (for example LinkedIn 5 weekdays). Clicking a dark day lists the missing platform slots. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Planned posts and the slot rule in labeled JS constants at the top. - No paid metrics. Accessible contrast. - Dark days labeled dark. Off-days I mark off are not dark. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write the dark-day rule and which array to replace. </format>

๐Ÿ’ก

Pro tip: A dark day is a day you meant to post and did not. A planned off-day is not a miss.

Syndication Tracker

14/30

โœจ What it does

Claude builds a syndication tracker for [PARTNERS] with sent dates, live dates, and a late-partner list as a working screen you can click in the chat. Open a late partner, then swap the sample numbers for your syndication log.

You are an editorial-distribution analyst who tracks partner syndication from send to live URL. <context> I need a syndication tracker as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic partner rows so I can click the working screen in the chat. </context> <inputs> - Partners: [PARTNERS] - Pieces sent: [6-12 TITLES] - Promised live dates: [OR "INVENT"] - Late rule: [E.G. PROMISED DATE PASSED AND LIVE URL EMPTY] - Today constant: [DATE] </inputs> <task> Build the dashboard with: a header for syndication; KPI cards (sends, live, waiting, late); a bar of live versus waiting by partner; a table (piece, partner, sent date, promised live, live URL or empty, days late); partner chips; and a late-partner list using my rule. Compute days late from promised date and the today constant when URL is empty. Not-yet-sent rows are waiting, not late. Clicking a late row opens partner and promised date. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Syndication rows in labeled JS constants at the top so I can swap a syndication log later. - Waiting versus late labeled. Accessible contrast. - Do not invent referral traffic. Send and live dates only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write late math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Late means the promised live date passed and the URL is still empty. A partner who has not been sent the file is not late yet.

Owned Channel Coverage

15/30

โœจ What it does

Claude builds an owned-channel coverage board for [OWNED CHANNELS] with piece-to-channel hits and a one-channel list as a working screen you can click in the chat. Filter one-channel pieces, then swap the sample numbers for your channel tags.

You are an editorial-distribution analyst who finds shipped pieces that only landed on one owned channel. <context> I need an owned-channel coverage dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic channel tags so I can click the working screen in the chat. Owned channels only. Not paid. Not SEO impressions. </context> <inputs> - Owned channels: [OWNED CHANNELS] - Shipped pieces: [12-20 TITLES] - Channel hits per piece: [OR "INVENT A MIX"] - One-channel rule: [E.G. EXACTLY ONE CHANNEL HIT] - Period: [E.G. LAST 45 DAYS] </inputs> <task> Build the dashboard with: a header for the period; KPI cards (pieces, average channels, one-channel count, zero-extra count); a histogram of channel-count per piece; a heatmap or chip matrix (piece by channel); a sortable table; and a one-channel list using my rule. Compute channel count from tags. Clicking a one-channel piece lists the missing channels from [OWNED CHANNELS]. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tags in labeled JS constants at the top so I can swap channel tags later. - Show the one-channel rule on the page. Accessible contrast. - Do not invent engagement rates unless I seed them. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write coverage math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Coverage is how many owned channels a shipped piece reached. One blog URL with no newsletter or social child is a one-channel piece.

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

Performance

5 prompts

Piece Scorecard

16/30

โœจ What it does

Claude builds a piece scorecard for [PIECE SET] with views, goal events, and a weak-piece list as a working screen you can click in the chat. Open a weak piece, then swap the sample numbers for your analytics export.

You are an editorial analyst who scores each shipped piece on the job it was assigned, not on vanity views and not on keyword rank. <context> I need a piece scorecard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic piece rows so I can click the working screen in the chat. Performance by piece. Not a channel CAC board. Not a Search Console rank board. </context> <inputs> - Piece set: [PIECE SET] - Goal event: [E.G. EMAIL SIGNUP, DEMO CLICK] - Period: [E.G. LAST 60 DAYS] - Sample pieces with views and events: [10-16 OR "INVENT"] - Weak rule: [E.G. VIEWS OVER 500 AND GOAL RATE UNDER 0.4%] </inputs> <task> Build the dashboard with: a header for [PIECE SET]; KPI cards (pieces, total views, goal events, median goal rate); a bar of goal events by piece; a sortable table (title, type, ship date, views, events, goal rate, owner); and a weak-piece list using my rule. Compute goal rate as events / views. Guard a zero-view row as n/a, not a wild rate. Clicking a weak piece highlights the bar. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Piece rows in labeled JS constants at the top so I can swap an analytics export later. - Do not invent rankings or ad spend. Piece outcomes only. - Weak labeled weak. Accessible contrast. Sort default: goal events descending. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write goal-rate math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Rank by the goal event you named, not by pageviews. A quiet guide that converts still earns the slot.

Goal Event by Piece

17/30

โœจ What it does

Claude builds a goal-event-by-piece board for [GOAL EVENT] with event count, rate, and a zero-event list as a working screen you can click in the chat. Sort the zero-event list, then swap the sample numbers for your event export.

You are an editorial analyst who puts one named goal event next to each piece so a view-heavy board cannot hide a zero-event week. <context> I need a goal-event-by-piece dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic event counts so I can click the working screen in the chat. </context> <inputs> - Goal event name: [GOAL EVENT] - Pieces: [10-16 TITLES WITH VIEWS AND EVENT COUNTS OR "INVENT A MIX INCLUDING ZEROS"] - Age floor before zero counts: [E.G. 7 DAYS LIVE] - Today constant: [DATE] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for [GOAL EVENT]; KPI cards (pieces scored, pieces with at least one event, zero-event aged, median events); a bar of event count; a table (title, shipped, views, events, rate, status ok/too new/zero); and a zero-event list. Pieces younger than the age floor are too new, not zero. Compute status in JS. Clicking a zero row highlights the bar. Do not invent assisted conversions or SEO positions. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Piece rows in labeled JS constants at the top so I can swap an event export later. - Too-new labeled too new. Accessible contrast. - One event name on the page. No blended goals. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write status rules and which array to replace. </format>

๐Ÿ’ก

Pro tip: One goal event per board. Mixing signups and purchases in one column makes every piece look fine.

Window After Publish

18/30

โœจ What it does

Claude builds a window-after-publish board for [WINDOW] with first-N-day results and a too-new flag as a working screen you can click in the chat. Open a too-new piece, then swap the sample numbers for your dated analytics.

You are an editorial analyst who judges a piece inside a fixed window after publish, not across its whole life. <context> I need a window-after-publish dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic dated results so I can click the working screen in the chat. Piece ops. Not a site-wide SEO velocity board. </context> <inputs> - Window length: [WINDOW] - Pieces with publish dates: [10-16] - Views and goal events inside that window: [OR "INVENT A MIX"] - Too-new rule: [AGE UNDER THE WINDOW] - Today constant: [DATE] </inputs> <task> Build the dashboard with: a header naming [WINDOW]; KPI cards (pieces aged enough, median window views, median window events, too new); a bar of window events by piece; a table (title, published, age days, window views, window events, status); and a too-new list plus an aged weak list if you also apply an editable floor. Compute age from publish date. Do not claim a piece caused a site-wide move. Per-piece window counts only. Clicking a too-new piece shows days remaining in the window. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Dated rows in labeled JS constants at the top so I can swap dated analytics later. - Too-new labeled too new. Accessible contrast. - No lifetime totals on this screen. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write window math and which array to replace. </format>

๐Ÿ’ก

Pro tip: One window per board, such as first 14 days. Lifetime totals will make an old hit look like this month's win.

Format Mix Results

19/30

โœจ What it does

Claude builds a format-mix results board for [FORMAT MIX] with ships and goal events by format as a working screen you can click in the chat. Click a weak format, then swap the sample numbers for your format tags.

You are an editorial analyst who reads results by format so a lucky longform hit cannot hide a weak short-form line. <context> I need a format-mix results dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with tagged pieces so I can click the working screen in the chat. </context> <inputs> - Formats: [FORMAT MIX] - Goal event: [E.G. SIGNUP] - Window: [E.G. FIRST 14 DAYS] - Pieces tagged with format, views, events: [OR "INVENT"] - Weak format rule: [E.G. MEDIAN EVENT RATE UNDER HALF THE BEST FORMAT, MIN 3 PIECES] </inputs> <task> Build the dashboard with: a header for [FORMAT MIX]; KPI cards (ships by format, best format by median rate, weak formats); a grouped bar of ships and goal events by format; a table (format, ships, views, events, median rate); format chips that filter a piece list; and a weak-format callout using my rule. Compute rates from piece rows. Formats under the min-piece floor show n/a, not a wild median. Clicking a weak format filters the piece list. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Tagged rows in labeled JS constants at the top so I can swap format tags later. - n/a when thin. Accessible contrast. - Do not invent SEO or paid format metrics. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write median-rate math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Compare formats on the same goal event and the same window. A video view is not the same currency as a guide signup.

Underperformer Watch

20/30

โœจ What it does

Claude builds an underperformer watch for [THRESHOLD] with pieces below the rule and a refresh list as a working screen you can click in the chat. Open a refresh row, then swap the sample numbers for your piece metrics.

You are an editorial analyst who builds an underperformer watch from a written rule, not from a feeling about last week's traffic. <context> I need an underperformer watch as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic piece metrics so I can click the working screen in the chat. Refresh versus keep. Not an SEO decay or cannibalization board. </context> <inputs> - Threshold rule: [THRESHOLD] - Age floor: [E.G. 21 DAYS] - Pieces: [12-20 WITH AGE, VIEWS, GOAL EVENTS OR "INVENT"] - Today constant: [DATE] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for the publication; KPI cards (scored, underperformers, too new, median goal rate); a scatter of views versus goal rate; a sortable table with a flag (ok / too new / refresh); and a refresh list using my threshold plus the age floor. Compute flags in JS. Show the rule on the page. Clicking a refresh row highlights the scatter point. Do not invent a rewrite outline. Flags only. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Piece rows and the rule in labeled JS constants at the top so I can swap piece metrics later. - Too-new versus refresh labeled. Accessible contrast. - No rank or coverage metrics. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write the flag rules and which array to replace. </format>

๐Ÿ’ก

Pro tip: Underperformer means aged enough and under the rule. A piece that shipped yesterday is not a refresh candidate.

Repurpose

5 prompts

Pillar Atomization Board

21/30

โœจ What it does

Claude builds a pillar atomization board for [PILLAR PIECE] with planned spin-offs and a still-unmade list as a working screen you can click in the chat. Click an unmade spin-off, then swap the sample numbers for your repurpose plan.

You are an editorial producer who turns one pillar piece into a planned set of spin-offs and shows what is still unmade. <context> I need a pillar atomization dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic spin-off plan so I can click the working screen in the chat. Repurpose ops. Not a topic-cluster SEO coverage board. </context> <inputs> - Source pillar: [PILLAR PIECE] - Planned spin-offs: [E.G. NEWSLETTER, 3 SOCIAL, 1 THREAD, 1 SHORT VIDEO] - Status per spin-off: [IDEA, DRAFT, SCHEDULED, LIVE OR "INVENT A MIX"] - Done rule: [E.G. SCHEDULED OR LIVE] - Owner per spin-off: [OR "INVENT"] </inputs> <task> Build the dashboard with: a header for [PILLAR PIECE]; KPI cards (planned, done, still unmade, percent done); a card grid of spin-offs (format, status, owner, due); a progress bar; and a still-unmade list using my done rule. Compute percent done from statuses. Clicking an unmade spin-off opens format, owner, and due date. Do not invent keyword gaps. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Spin-off rows in labeled JS constants at the top so I can swap a repurpose plan later. - Unmade labeled unmade. Accessible contrast. - One pillar on this screen. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write the done rule and which array to replace. </format>

๐Ÿ’ก

Pro tip: A spin-off is done only when it is live or scheduled. A line in a doc is still unmade.

Unused Asset Watch

22/30

โœจ What it does

Claude builds an unused-asset watch for [ASSET LIBRARY] with last-used dates and a stale-asset list as a working screen you can click in the chat. Age-sort the stale list, then swap the sample numbers for your asset inventory.

You are an editorial producer who finds assets that have not shipped anywhere in a long time. <context> I need an unused-asset watch as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic inventory so I can click the working screen in the chat. </context> <inputs> - Library name: [ASSET LIBRARY] - Assets: [12-20 WITH TYPE, LAST LIVE DATE OR NEVER, SOURCE PIECE OR "INVENT"] - Stale rule: [E.G. NO LIVE PLACEMENT IN 90 DAYS, OR NEVER USED] - Today constant: [DATE] - Types: [E.G. CLIP, QUOTE, CHART, PHOTO] </inputs> <task> Build the dashboard with: a header for [ASSET LIBRARY]; KPI cards (assets, never used, stale, median days since last live); a bar of count by type; a sortable table (name, type, source piece, last live, days idle, status); type chips; and a stale-asset list using my rule. Compute days idle from last live or from created date if never used. Never used labeled never used, not a fake zero. Clicking a stale row opens suggested next format from an editable map. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Asset rows in labeled JS constants at the top so I can swap an inventory later. - Never-used versus stale labeled. Accessible contrast. - Do not invent stock-photo licenses as facts. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write idle math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Last used means last live placement date. A file opened in the drive is not a use.

Format Conversion Queue

23/30

โœจ What it does

Claude builds a format-conversion queue for [FORMAT PLAN] with source, target format, and a not-started list as a working screen you can click in the chat. Open a not-started row, then swap the sample numbers for your conversion queue.

You are an editorial producer who runs a conversion queue from source piece to a named target format. <context> I need a format-conversion queue dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic queue rows so I can click the working screen in the chat. </context> <inputs> - Plan name: [FORMAT PLAN] - Target formats: [E.G. CAROUSEL, THREAD, SHORT, EMAIL BLOCK] - Queue rows: [SOURCE TITLE, TARGET, OWNER, STATUS NOT STARTED/IN PROGRESS/DONE, DUE OR "INVENT"] - Aging rule: [E.G. NOT STARTED AND DUE WITHIN 5 DAYS] - Today constant: [DATE] </inputs> <task> Build the dashboard with: a header for [FORMAT PLAN]; KPI cards (rows, not started, in progress, done, aging); a stacked bar of status by target format; a sortable table; format chips; and a not-started list plus an aging list using my rule. Compute counts from status. Clicking a not-started row opens source, target, owner, and due. Days to due from the today constant. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Queue rows in labeled JS constants at the top so I can swap a conversion queue later. - Aging labeled aging. Accessible contrast. - One target per row. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write status counts and which array to replace. </format>

๐Ÿ’ก

Pro tip: One source to one target per row. A blob that says "make social" is not a queue you can staff.

Clip and Excerpt Queue

24/30

โœจ What it does

Claude builds a clip and excerpt queue for [CLIP QUEUE] with source pieces, clip status, and a waiting list as a working screen you can click in the chat. Filter waiting clips, then swap the sample numbers for your clip tracker.

You are an editorial producer who tracks clips and excerpts from long pieces until they have a destination. <context> I need a clip and excerpt queue as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic clips so I can click the working screen in the chat. </context> <inputs> - Queue name: [CLIP QUEUE] - Source pieces: [4-8 LONG TITLES] - Clips: [12-20 WITH SOURCE, TYPE CLIP OR EXCERPT, DESTINATION, STATUS WAITING/CUT/SCHEDULED/LIVE OR "INVENT"] - Waiting rule: [E.G. NO DESTINATION OR STATUS WAITING] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for [CLIP QUEUE]; KPI cards (clips, waiting, scheduled, live); a bar of clips by source piece; a table (clip name, source, type, destination or empty, status); source chips; and a waiting list using my rule. Compute counts from status. Clicking a waiting clip opens the source and the empty destination field. Do not invent view counts for clips I did not seed. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Clip rows in labeled JS constants at the top so I can swap a clip tracker later. - Waiting labeled waiting. Accessible contrast. - Empty destination flagged. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write waiting rules and which array to replace. </format>

๐Ÿ’ก

Pro tip: A clip is waiting until it has a cut or excerpt and a destination. A timestamp in a note is not a clip.

Repurpose Coverage Map

25/30

โœจ What it does

Claude builds a repurpose coverage map for [SOURCE SET] with formats shipped and a missing-format list as a working screen you can click in the chat. Click a missing format, then swap the sample numbers for your source-to-format log.

You are an editorial producer who maps each source piece to the formats it has already shipped and the ones still missing. <context> I need a repurpose coverage map as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic source-to-format log so I can click the working screen in the chat. Not an SEO topic cluster. Formats shipped from a source piece. </context> <inputs> - Source set: [SOURCE SET] - Required formats: [E.G. EMAIL, SOCIAL, SHORT, RECAP] - Shipped children per source: [OR "INVENT A PARTIAL MATRIX"] - Missing rule: [E.G. REQUIRED FORMAT WITH NO LIVE CHILD] - Publication: [NAME] </inputs> <task> Build the dashboard with: a header for [SOURCE SET]; KPI cards (sources, required formats, coverage %, missing cells); a matrix (source by format, live / missing); a coverage bar per source; and a missing-format list using my rule. Compute coverage as live cells / (sources times required formats). Clicking a missing cell opens source, format, and a one-line next action. Do not invent search demand. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Matrix flags in labeled JS constants at the top so I can swap a source-to-format log later. - Missing cells visually loud. Accessible contrast. - Live versus planned kept separate if I seed both. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write coverage math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Coverage is formats that actually shipped from that source. A planned column is not a shipped column.

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

Team Load

5 prompts

Writer Capacity Board

26/30

โœจ What it does

Claude builds a writer capacity board for [WRITER ROSTER] with assigned pieces, cap, and an over-cap list as a working screen you can click in the chat. Open an over-cap writer, then swap the sample numbers for your assignment export.

You are an editorial-operations planner who measures writer load against a cap, not against a feeling. <context> I need a writer capacity dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic assignments so I can click the working screen in the chat. </context> <inputs> - Roster: [WRITER ROSTER] - Cap: [E.G. 3 ACTIVE PIECES] - Assignments: [PIECE, WRITER, STAGE, DUE OR "INVENT"] - Horizon: [E.G. THIS MONTH] - Over-cap rule: [ACTIVE COUNT OVER CAP] </inputs> <task> Build the dashboard with: a header for the roster; KPI cards (writers, over cap, median load, first due pile); a bar of active pieces versus cap by writer; a table (writer, active, cap, utilization, next due); and an over-cap list. Active means stage is not shipped. Utilization = active / cap. Clicking an over-cap writer lists their pieces. Guard a zero cap. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Assignments in labeled JS constants at the top so I can swap an assignment export later. - Over-cap labeled over cap. Accessible contrast. - Do not invent salary or hiring cost. Load only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write utilization math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Cap writers on active pieces, not on hours they guessed. A writer at two times the cap is a staffing fact, not a hero story.

Editor Queue Load

27/30

โœจ What it does

Claude builds an editor queue load board for [EDITOR QUEUE] with pieces in review and a backlog list as a working screen you can click in the chat. Click a backed-up editor, then swap the sample numbers for your review assignments.

You are an editorial-operations planner who measures editor load as the live review queue, not as reviews finished last month. <context> I need an editor queue load dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic review assignments so I can click the working screen in the chat. </context> <inputs> - Queue name: [EDITOR QUEUE] - Editors: [NAMES OR "INVENT 4"] - Cap: [E.G. 5 PIECES IN REVIEW] - Pieces in review with entered date and due: [OR "INVENT"] - Backlog rule: [E.G. OVER CAP, OR OLDEST ITEM OVER 5 DAYS] </inputs> <task> Build the dashboard with: a header for [EDITOR QUEUE]; KPI cards (editors, pieces in review, over cap, oldest item days); a bar of queue length versus cap; a table (editor, in review, cap, oldest days, next due); and a backlog list using my rule. Compute oldest days from entered date and a today constant. Clicking a backed-up editor lists the queue. Throughput of shipped reviews can sit as a small side KPI if you seed it, labeled throughput, not load. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Review assignments in labeled JS constants at the top. - Backlog labeled backlog. Accessible contrast. - Load and throughput labeled as different numbers. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write load math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Count pieces waiting on that editor now. Finished reviews this month are throughput, not load.

Freelancer Bench Load

28/30

โœจ What it does

Claude builds a freelancer bench board for [FREELANCER BENCH] with active briefs, due dates, and a late list as a working screen you can click in the chat. Open a late brief, then swap the sample numbers for your freelancer tracker.

You are an editorial-operations planner who tracks freelancer briefs from send to first draft due. <context> I need a freelancer bench dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic briefs so I can click the working screen in the chat. </context> <inputs> - Bench name: [FREELANCER BENCH] - Freelancers: [NAMES OR "INVENT 6"] - Briefs: [TITLE, PERSON, SENT DATE, DUE DATE, STATUS SENT/IN PROGRESS/IN REVIEW/LATE OR "INVENT"] - Late rule: [DUE PASSED AND NOT YET IN REVIEW] - Today constant: [DATE] </inputs> <task> Build the dashboard with: a header for [FREELANCER BENCH]; KPI cards (active briefs, late, due in 7 days, people with 0 active); a bar of active briefs by person; a table (person, title, sent, due, days to due, status); and a late list using my rule. Compute days to due from the today constant. Not-yet-sent rows are not late. Clicking a late brief opens person and due date. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Brief rows in labeled JS constants at the top so I can swap a freelancer tracker later. - Late labeled late. Accessible contrast. - Do not invent pay rates unless I seed them. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write late math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Late is past the agreed due date and not yet in review. A brief you have not sent is not late on the freelancer.

WIP Limit Board

29/30

โœจ What it does

Claude builds a WIP limit board for [WIP LIMIT] with in-progress count versus the cap as a working screen you can click in the chat. Click an over-limit stage, then swap the sample numbers for your status export.

You are an editorial-operations planner who enforces work-in-progress limits per stage so the pipeline cannot silently jam. <context> I need a WIP limit dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with realistic stage counts so I can click the working screen in the chat. </context> <inputs> - Limit set: [WIP LIMIT] - Stages and caps: [E.G. DRAFT 8, REVIEW 5, SCHEDULED 10] - Pieces with stage: [OR "INVENT COUNTS THAT BREAK AT LEAST ONE CAP"] - Publication: [NAME] - Over-limit rule: [COUNT OVER CAP] </inputs> <task> Build the dashboard with: a header for [WIP LIMIT]; KPI cards (stages over limit, total in progress, worst utilization); a bar of count versus cap by stage; a table (stage, count, cap, utilization, over by N); and an over-limit list of pieces in the failing stages. Utilization = count / cap. Clicking an over-limit stage filters the piece list. Shipped pieces do not count as WIP. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Caps and piece stages in labeled JS constants at the top so I can swap a status export later. - Over-limit labeled over limit. Accessible contrast. - Do not invent cycle-time forecasts. Counts versus caps only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write utilization math and which arrays to replace. </format>

๐Ÿ’ก

Pro tip: Set a WIP cap per stage. A single company-wide in-progress pile will hide the review column that is actually jammed.

Role Load Compare

30/30

โœจ What it does

Claude builds a role load compare for [EDITORIAL TEAM] with writer, editor, and producer load as a working screen you can click in the chat. Toggle a role, then swap the sample numbers for your team roster.

You are an editorial-operations planner who compares load across writer, editor, and producer so one role cannot silently carry the week. <context> I need a role load compare dashboard as one self-contained HTML file with inline CSS, vanilla JS, and a CDN chart library, seeded with a realistic roster so I can click the working screen in the chat. Editorial roles only. Not a RevOps overlay board. </context> <inputs> - Team name: [EDITORIAL TEAM] - Roles: [WRITER, EDITOR, PRODUCER OR THE SET I USE] - People with role, load, cap: [OR "INVENT 3-5 PER ROLE"] - Horizon: [E.G. THIS WEEK] - Gap rule: [E.G. ROLE MEDIAN UTILIZATION OVER 90%] </inputs> <task> Build the dashboard with: a header for [EDITORIAL TEAM]; a control that focuses one role or all; KPI cards (people, over-cap people, hottest role, gap flag); a grouped bar of utilization by person; a role summary table (headcount, median load, median utilization, over cap); and a hottest-role callout using my gap rule. Utilization = load / cap. Toggling a role filters people and recomputes the cards from the visible set. </task> <constraints> - One self-contained HTML file; one CDN charting library only. - Roster rows in labeled JS constants at the top so I can swap a team roster later. - Hottest role computed, not hardcoded. Accessible contrast. - Do not invent cost or hiring plans. Load only. </constraints> <format> Return the full HTML as a working screen you can click in the chat, then write utilization math and which array to replace. </format>

๐Ÿ’ก

Pro tip: Compare roles you can actually restaff. A compare nobody can hire into is a trivia chart.

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 calendar, pipeline, and piece rows. It opens as a working screen you can click in the chat, with KPI cards, grids, and watchlists already populated.
Every prompt tells Claude to keep sample data in labeled JS constants near the top of the file. Click through the sample first so you know which control matters, then replace those arrays with a calendar export, CMS status file, placement log, or assignment sheet. Cards, rates, and flags recompute from the same formulas.
Marketing dashboards mix acquisition, campaigns, funnel, and spend. SEO dashboards are rankings, clicks, coverage, cannibalization, and technical. This page is editorial ops: calendar slots, production pipeline, owned-channel placement, performance by piece, repurpose queues, and team load. Use it when the screen has to survive an editorial standup.
The sample numbers are invented so the screen renders. The formulas are real and written on the page or in the closing note: filled slots, days in stage, review hours versus SLA, goal rate as events over views, coverage as live cells over required cells, and utilization as load over cap. Read that note, then swap the constants. If a target or window 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 put it on a static host. For a live ops 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.