Skip to content
Agentmart
Submit a tool

signage-performance-budget

Audit and validate bundle size, image weight, font loading, and frame-rate budgets for digital signage running on embedded hardware like BrightSign players.

Skill by CambridgeMonorail

IndexedMIT★ 3
Write a review

Chalk Labs

Need help deploying signage-performance-budget?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/cambridgemonorail-signage-performance-budget

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Audit and validate bundle size, image weight, font loading, and frame-rate budgets for digital signage running on embedded hardware like BrightSign players. Use when building or reviewing signage apps to prevent performance issues on resource-constrained devices.

Use cases: security, finance

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/signage-performance-budget

What's inside

Skill name
signage-performance-budget
Description
Audit and validate bundle size, image weight, font loading, and frame-rate budgets for digital signage running on embedded hardware like BrightSign players. Use when building or reviewing signage apps to prevent performance issues on resource-constrained devices.
License
MIT
Metadata
author: CambridgeMonorail · version: 1.0
Instructions
194 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Signage Performance Budget Skill

## Purpose

Use this skill to check whether a signage app will run smoothly on embedded playback hardware.

React developers routinely ship 2 MB font files, heavy animation libraries, and unoptimized images that work fine on modern laptops but cripple a BrightSign player or similar embedded device. This skill encodes the actual constraints of signage hardware and provides actionable budgets.

## When to Use

Use this skill when you need to:

- review a signage app's bundle size and asset weight
- check whether animations or transitions will run smoothly on embedded hardware
- optimize images, fonts, and JavaScript for resource-constrained players
- establish performance budgets for a new signage project
- diagnose performance issues on deployed signage hardware

## Do Not Use When

Do not use this skill when:

- building a desktop or mobile web app with modern hardware targets
- the deployment target is a high-end PC or media player with desktop-class resources
- the task is about layout, legibility, or content design (use other signage skills)

## Core Principle

**Signage hardware is not a laptop. Budget for embedded ARM processors, limited RAM, and no GPU acceleration for complex CSS.**

## Performance Budgets

### JavaScript Bundle

| Metric                | Target   | Hard Limit | Notes                        |
| --------------------- | -------- | ---------- | ---------------------------- |
| Main bundle (gzipped) | < 150 KB | < 300 KB   | Total JS loaded on boot      |
| Total JS (gzipped)    | < 250 KB | < 500 KB   | Including lazy-loaded chunks |
| Third-party libraries | < 100 KB | < 200 KB   | Avoid heavy frameworks/libs  |

### Assets

| Metric                  | Target   | Hard Limit | Notes                               |
| ----------------------- | -------- | ---------- | ----------------------------------- |
| Total page weight       | < 1 MB   | < 2 MB     | All assets for initial render       |
| Individual image        | < 200 KB | < 500 KB   | After optimization                  |
| Total images per screen | < 500 KB | < 1 MB     | All images visible at once          |
| Font files (total)      | < 100 KB | < 250 KB   | Subset aggressively                 |
| Video/animation assets  | < 5 MB   | < 10 MB    | Pre-optimized for target resolution |

### Runtime Performance

| Metric                      | Target      | Minimum              | Notes                          |
| --------------------------- | ----------- | -------------------- | ------------------------------ |
| First contentful paint      | < 2 seconds | < 4 seconds          | From app load, not player boot |
| Frame rate during animation | 30 fps      | 24 fps               | Smooth perceived motion        |
| Memory usage (steady state) | < 100 MB    | < 200 MB             | After initial load stabilizes  |
| Layout recalculations       | Minimal     | No continuous reflow | Avoid per-frame layout thrash  |
| CPU usage (idle)            | < 10%       | < 25%                | When content is static         |

## Common Performance Traps

### JavaScript

| Trap                                                 | Problem                        | Solution                                                   |
| ---------------------------------------------------- | ------------------------------ | ---------------------------------------------------------- |
| Heavy animation libraries (GSAP, Framer Motion full) | Large bundle, high CPU         | Use CSS animations/transitions, or tree-shake aggressively |
| Full icon libraries                                  | 500 KB+ for a few icons        | Import individual icons only                               |
| Moment.js, Lodash (full)                             | Massive unused code            | Use date-fns, native methods, or targeted imports          |
| Polyfills for old browsers                           | Unnecessary weight             | BrightSign uses Chromium — target modern JS                |
| React dev mode in production                         | 2× bundle size, slow rendering | Ensure production builds                                   |

### Images

| Trap                                 | Problem               | Solution                                                  |
| ------------------------------------ | --------------------- | --------------------------------------------------------- |
| Unoptimized PNGs/JPEGs               | 2–5 MB per image      | Compress, resize to display resolution, use WebP          |
| 4K images on 1080p screens           | 4× the pixels needed  | Size images to deployment resolution                      |
| Many small decorative images         | HTTP request overhead | Use CSS, SVG inline, or sprite sheets                     |
| Background images at full resolution | Massive file size     | Compress aggressively — backgrounds tolerate quality loss |

### Fonts

| Trap                             | Problem                    | Solution                                            |
| -------------------------------- | -------------------------- | --------------------------------------------------- |
| Full Google Fonts downloads      | 500 KB–2 MB per family     | Subset to characters actually used                  |
| Multiple font weights/styles     | Compounds file size        | Use 2–3 weights maximum                             |
| Web font loading blocking render | Delays first paint         | Use `font-display: swap` and preload critical fonts |
| Custom fonts loaded from CDN     | Network dependency at boot | Bundle fonts locally for signage                    |

### CSS and Rendering

| Trap                                       | Problem                            | Solution                             |
| ------------------------------------------ | ---------------------------------- | ------------------------------------ |
| Complex box-shadows and filters            | GPU-intensive on embedded hardware | Use simple shadows or none           |
| CSS backdrop-filter / blur                 | Very expensive on weak GPUs        | Avoid or use sparingly               |
| Continuous CSS animations on many elements | Frame drops                        | Limit simultaneous animations to 2–3 |
| Large numbers of DOM nodes                 | Slow rendering and reflow          | Keep DOM under 500 nodes per screen  |

## Measurement and Verification

### Build-Time Checks

```bash
# Check bundle size after build
du -sh dist/assets/*.js
du -sh dist/assets/*.css

# Check total asset weight
du -sh dist/

# Check for production mode
grep -r "process.env.NODE_ENV" dist/ | head
```

### Runtime Checks

- Use Chrome DevTools Performance tab to measure frame rate and CPU usage.
- Use Chrome DevTools Network tab to measure total transfer size.

From CambridgeMonorail/WallRun, MIT.

More from CambridgeMonorail/WallRun

Signals

Stars
3
Forks
0
Open issues
19
Last commit (this folder)
Mar 15, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from CambridgeMonorail

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get signage-performance-budget running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying signage-performance-budget?

CallGet help
Cite this page

signage-performance-budget skill. Agent Mart. https://agentmart.dev/skills/cambridgemonorail-signage-performance-budget (last updated 2026-10-24)