Skip to content

DirectorySkills

Operations admin panel: 1440, made in this run
Run 1Operations admin panel“Build the admin dashboard our clinic front desk uses to run the day. Details and today's data in brief.md.”
Runs in
  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI
  • GitHub Copilot
  • OpenCode
Generates with
Your agent's model
Tested with
Claude Code 2.1.322Claude Sonnet 5.51 real run, 12 Nov
Needs
Node 20+Chrome
Licence
Recaply licence

Operations Admin Panel

A clean operations admin screen: sidebar, date range switch, KPI cards, an hourly chart, a filterable orders table and a driver list.

$9.99once, yours to keep

Builds an operations admin panel (a daily-running dashboard) into your own project: a light, tidy panel: white sidebar with the brand, grouped links and a help card; a top bar with search, a Today / 7 days / 30 days switch, alerts and the user; four KPI cards with change lines; an orders chart of HTML bars; an orders table with status chips and filter chips; a drivers list and an alerts list on the right. Plain HTML, CSS and JavaScript, or matched to React, Next.js, Vue, Svelte, Astro or Tailwind when the project uses them. Comes with a working reference and a check that screenshots it at phone, tablet and desktop widths and flags sideways overflow, text under 12px, missing alt text and names, low contrast, no focus styles, motion that ignores reduced motion, leftover sample words and emoji icons. Use when a delivery, logistics, field service, support or shop operations team needs an admin screen to run the day, or someone asks for an admin dashboard, ops console, back-office panel or admin template.

By RecaplyUpdated 12 Nov

Install Operations Admin Panel

After the download, ask your agent to add it, or run the line yourself.

Read https://recaply.co/skills/operations-admin-panel/install.md and follow it to install the operations-admin-panel skill from operations-admin-panel.zip.

Paste it into your agent. It reads our install steps, finds the ZIP you downloaded and adds the skill for you.

New to skills? How to install a skill

Similar skills

All 735 skills

Who Operations Admin Panel is for

What you get

  • One HTML file with its CSS inside: no build step, no framework
  • An operations admin panel (a daily-running dashboard)
  • Checked at phone and desktop widths

Good fit

  • When a delivery, logistics, field service, support or shop operations team needs an admin screen to run the day

Not for

  • An app with a backend, sign-in or a database
  • Copying another company's site

About this skill

You say

Build the admin dashboard our clinic front desk uses to run the day. Details and today's data in brief.md.

It said back

The front desk dashboard is built, and the check passes at 390, 768 and 1440px. That covers sideways overflow, text size, contrast, focus styles, reduced motion, script errors, leftover sample words and emoji icons.

I looked at the 1440 and 390 screenshots before my last fix and did not re-view them afterwards. I did not look at the 768 screenshot at all. The last fix stopped the tallest chart bars getting a grey box behind them and removed overlapping hour labels on phones (every other label is hidden under 560px). The check passed after that fix, so it reports no overflow, but I haven't seen the new render.

Show more

What it did in run 1

  1. ./brief.md
  2. operations-admin-panel
  3. cd .; ls -a; S=.claude/skills/operations-admin-panel; ls $S/reference; wc -c $S/reference/*; node $S/scripts/check.mjs --ready
  4. ls -a && ls .claude/skills/operations-admin-panel/reference && node .claude/skills/operations-admin-panel/scripts/check.mjs --ready
  5. cd ./.claude/skills/operations-admin-panel/reference && cat index.html style.css script.js
  6. cd . && R=.claude/skills/operations-admin-panel/reference && cp $R/style.css style.css && sed -i '' \ -e 's/#F4F3EF/#F3F6FA/; s/#1D2321/#18222D/; s/#5A625F/#56606B/; s/#E2E0D9/#DDE4EC/' \ -e 's/--accent:#0F766E/--accent:#1E5AA8/; s/--em:#0F766E/--em:#1E5AA8/' \ -e 's/#E6F2F0/#E6EEF8/; s/#0B5C55/#174A8A/g; s/#D5ECE8/#DCE8F6/; s/#0B4F49/#174A8A/' \ -e 's/#CFCCC3/#C5CFDB/; s/#FAF9F6/#F6F9FC/; s/rgba(244,243,239,.94)/rgba(243,246,250,.94)/; s/#7FB8B1/#9DBDE3/' \ -e 's/^\.chip\.way{.*$/.chip.with{background:#E5EEFA;color:#1D5FB8}.chip.wait{background:#FBF0DD;color:var(--warn)}.chip.done{background:#E3F4E8;color:var(--good)}.chip.in{background:#DDF1EE;color:#0F6A63}.chip.booked{background:#ECEFF2;color:#3F4A55}.chip.late{background:#FCE8E6;color:var(--bad)}/' style.css cat >> style.css <<'EOF' /* Brightside additions */ .kd.flat{color:var(--muted)} .seg button:disabled{opacity:.55;cursor:not-allowed} .side nav .soon{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:0 12px;color:var(--muted);font-weight:600} .side nav .soon small{margin-left:auto;font-size:12px;font-weight:500} .help .ph{color:var(--muted);margin:.2rem 0 0} .empty{padding:14px 10px;color:var(--muted)} .cl-h{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 2px} .cl-h:first-of-type{margin-top:0} .alerts li.way .ic{color:var(--way)} .tbl .cl{font-weight:600} EOF cat > script.js <<'EOF' // Brightside Physio front desk: bookings chart, appointment filters and search, menu drawer. const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); for (const b of document.querySelectorAll('[data-nav-toggle]')) { const menu = document.getElementById(b.getAttribute('aria-controls')); const close = () => { b.setAttribute('aria-expanded', 'false'); menu.classList.remove('open'); }; b.addEventListener('click', () => { const open = b.getAttribute('aria-expanded') !== 'true'; b.setAttribute('aria-expanded', String(open)); menu.classList.toggle('open', open); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && b.getAttribute('aria-expanded') === 'true') { close(); b.focus(); } }); menu.addEventListener('click', (e) => { if (e.target.closest('a')) close(); }); } const DATA = JSON.parse(document.getElementById('desk-data').textContent); const barsEl = document.querySelector('[data-bars]'); const max = Math.max(...DATA.bars.map((b) => b[1])); const total = DATA.bars.reduce((a, b) => a + b[1], 0); barsEl.innerHTML = DATA.bars.map((b) => '<li' + (b[1] === max ? ' class="top"' : '') + ' style="--h:' + Math.round(b[1] / max * 100) + '"><span class="v">' + b[1] + '</span><span class="b" aria-hidden="true"></span><span class="l">' + b[0] + '</span><span class="sr-only">: ' + b[1] + ' bookings</span></li>').join(''); document.querySelector('[data-total]').textContent = total + ' in total'; const rows = [...document.querySelectorAll('.tbl tbody tr')]; const count = document.querySelector('[data-count]'); const empty = document.querySelector('[data-empty]'); const q = document.getElementById('q'); let status = 'all'; function apply() { const term = q.value.trim().toLowerCase(); let n = 0; for (const r of rows) { const on = (status === 'all' || r.dataset.st === status) && (!term || r.textContent.toLowerCase().includes(term)); r.hidden = !on; if (on) n++; } count.textContent = n + (n === 1 ? ' appointment' : ' appointments'); empty.hidden = n !== 0; } for (const b of document.querySelectorAll('.chips [data-st]')) { b.addEventListener('click', () => { status = b.dataset.st; document.querySelectorAll('.chips [data-st]').forEach((x) => x.setAttribute('aria-pressed', String(x === b))); apply(); }); } q.addEventListener('input', apply); document.querySelector('.srch').addEventListener('submit', (e) => e.preventDefault()); EOF
  7. cd . && cp .claude/skills/operations-admin-panel/reference/style.css style.css && sed -i '' -e 's/#F4F3EF/#F3F6FA/; s/#1D2321/#18222D/; s/#5A625F/#56606B/; s/#E2E0D9/#DDE4EC/' -e 's/--accent:#0F766E/--accent:#1E5AA8/; s/--em:#0F766E/--em:#1E5AA8/' -e 's/#E6F2F0/#E6EEF8/; s/#0B5C55/#174A8A/g; s/#D5ECE8/#DCE8F6/; s/#0B4F49/#174A8A/' -e 's/#CFCCC3/#C5CFDB/; s/#FAF9F6/#F6F9FC/; s/rgba(244,243,239,.94)/rgba(243,246,250,.94)/; s/#7FB8B1/#9DBDE3/' style.css && grep -c 'chip.way' style.css
  8. ./style.css
  9. ./script.js
  10. ./index.html
  11. ./og.svg
  12. ./index.html
  13. ./index.html
  14. ./index.html
  15. cd . && node .claude/skills/operations-admin-panel/scripts/check.mjs index.html --out check
  16. ./index.html
  17. cd . && node .claude/skills/operations-admin-panel/scripts/check.mjs index.html --out check
  18. ./check/1440.png
  19. ./check/390.png
  20. sed -i '' 's/class="top"/class="peak"/' script.js && sed -i '' 's/\.bars li\.top/.bars li.peak/g; s/@media (max-width:560px){/@media (max-width:560px){.bars li:nth-child(even) .l{display:none}/' style.css && grep -c peak script.js style.css && node .claude/skills/operations-admin-panel/scripts/check.mjs index.html --out check
  21. ./script.js
  22. ./style.css
  23. ./style.css
  24. ./style.css
  25. node .claude/skills/operations-admin-panel/scripts/check.mjs index.html --out check
  26. Done

12 Nov 2026 · Claude Code 2.1.322 with Claude Sonnet 5.5 · 2 min 57 s · $0.47 of API use

Questions

Is Operations Admin Panel free?

No. Operations Admin Panel costs $9.99 once and stays in your Recaply account, or it comes with the Recaply plan ($19.99 a month), which opens every premium skill and prompt.

Which agents can use Operations Admin Panel?

Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

What do I get when I buy Operations Admin Panel?

A ZIP of the whole skill folder (35 KB): the SKILL.md your agent follows and its 6 other files, the references, templates and scripts it uses. You download it from this page whenever you need it, and install it in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. The Recaply plan opens it too, with every other premium skill and prompt.

How do I install Operations Admin Panel?

Buy it, then download the ZIP from this page. For Claude Code, unzip it into .claude/skills/ in your project. For Codex, Cursor and Gemini CLI, unzip it and run npx skills add ./operations-admin-panel with your agent's flag.

What do I get from Operations Admin Panel?

One HTML file with its CSS inside: no build step, no framework. An operations admin panel (a daily-running dashboard). Checked at phone and desktop widths.

What does Operations Admin Panel need?

Node 20+ and Chrome, and no API key. Each use costs nothing beyond your agent.

How big is Operations Admin Panel?

7 files, about 24,275 tokens in all. The SKILL.md is about 2,272 tokens, and your agent reads it only when the job fits.

What does a run cost?

Our 1 runs took 2 min 57 s to 2 min 57 s and $0.47 to $0.47 of API use each, in Claude Code with claude-sonnet-5-5. On a Claude plan, a run counts toward your usage instead.

Do I have to name Operations Admin Panel to use it?

Type /operations-admin-panel first to make sure it loads. Without it, Claude Code may judge a small job simple enough to do without the skill.