Skip to content
Agentmart
Submit a tool

signage-content-fallbacks

Ensure digital signage screens always display content by implementing fallback chains for API failures, missing data, and feed outages.

Skill by CambridgeMonorail

IndexedMIT★ 3
Write a review

Chalk Labs

Need help deploying signage-content-fallbacks?

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-content-fallbacks

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

Ensure digital signage screens always display content by implementing fallback chains for API failures, missing data, and feed outages. Use when building signage apps that depend on external data sources, and produce fallback patterns that prevent blank or broken screens.

Use cases: backend, data, writing

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-content-fallbacks

What's inside

Skill name
signage-content-fallbacks
Description
Ensure digital signage screens always display content by implementing fallback chains for API failures, missing data, and feed outages. Use when building signage apps that depend on external data sources, and produce fallback patterns that prevent blank or broken screens.
License
MIT
Metadata
author: CambridgeMonorail · version: 1.0
Instructions
165 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • examples.md · references/

SKILL.md (first lines)

# Signage Content Fallbacks Skill

## Purpose

Use this skill to ensure signage screens always have something to show, even when every external data source fails.

APIs fail. Menu feeds break. Weather services go down. Image CDNs become unreachable. In web development, you show an error page and the user retries. In signage, a broken screen is visible to the public 24/7 with no one to click "retry". This skill encodes the patterns that guarantee content is always present.

## When to Use

Use this skill when you need to:

- design fallback content for a signage screen with external data dependencies
- review whether a signage app handles data source failures gracefully
- implement static fallback content for API-dependent screens
- ensure no zone on a signage screen can ever be blank
- plan the fallback chain from live data to last resort

## Do Not Use When

Do not use this skill when:

- the screen displays only static, bundled content with no external dependencies
- the task is about data refresh timing and polling (use `signage-data-refresh-patterns`)
- the task is about the overall app state machine (use `signage-state-machine`)

## Core Principle

**Content must always exist. A signage screen with a blank zone, a missing image, or an error message is broken, even if the code ran without exceptions.**

## The Fallback Chain

Every piece of dynamic content must have a fallback chain with at least three levels:

```
1. Live data (API, feed, CMS)
   ↓ (failure)
2. Cached data (last successful fetch, stored locally)
   ↓ (unavailable or expired)
3. Static fallback (bundled with the app, always available)
   ↓ (should never reach here, but...)
4. Emergency placeholder (branded "content coming soon" or minimal branded screen)
```

### Fallback Level Definitions

| Level         | Source                                | Freshness            | Availability                    |
| ------------- | ------------------------------------- | -------------------- | ------------------------------- |
| **Live**      | API / feed / CMS                      | Real-time            | Depends on network and service  |
| **Cached**    | localStorage, IndexedDB, or in-memory | Minutes to hours old | Available if previously fetched |
| **Static**    | Bundled JSON, images, or markup       | Shipped with build   | Always available                |
| **Emergency** | Hardcoded branded placeholder         | N/A                  | Always available                |

## Content-Type Fallback Patterns

### Menu / Product Data

```
Live menu from API
  → Cached menu from last successful fetch
    → Static default menu bundled with app
      → "Menu available shortly" branded card
```

### Images

```
Live image from CDN / API
  → Cached image (if using service worker or local storage)
    → Bundled placeholder image (correct aspect ratio, branded)
      → CSS gradient or solid-colour background
```

### Weather / Transit / Live Feeds

```
Live feed data
  → Cached feed (with visible "Updated X minutes ago" indicator)
    → Generic zone content ("Weather information temporarily unavailable")
      → Hide zone entirely and redistribute space
```

### Promotional Content

```
Scheduled promotion from CMS
  → Default promotion bundled with app
    → Brand message or logo
```

## Implementation Patterns

### Component-Level Fallback

Each content zone should use a typed `ZoneContent<T>` container with `live`, `cached`, and `static` fields. A `resolveContent()` helper picks the first non-null value. See [implementation examples](references/examples.md) for the TypeScript pattern.

### Image Fallback

Wrap images in a component that renders a `fallbackSrc` on load error — never show a broken image icon. See [implementation examples](references/examples.md) for the component signature.

### Zone-Level Visibility

If a zone has no content at any fallback level, hide it and redistribute space rather than showing an empty area. See [implementation examples](references/examples.md) for the pattern.

## Static Fallback Requirements

Every signage app must ship with static fallback content:

| Content Type | Requirement                                                         |
| ------------ | ------------------------------------------------------------------- |
| Text content | Default JSON or hardcoded data covering all required fields         |
| Images       | Placeholder images at correct aspect ratio, bundled in the build    |
| Layout       | Every zone must have a rendering path that uses only bundled assets |
| Branding     | Logo, colours, and brand elements available without network         |

### Building Static Fallbacks

- Include a `fallback/` directory in the app with default content.
- Generate static fallback data at build time from a known-good snapshot.

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-content-fallbacks 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-content-fallbacks?

CallGet help
Cite this page

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