Skip to content
Back to skills

Display

ASecurity

Use when the user asks to change eye expression directly, show info text on the display (time, weather, timer), or manually control the round LCD — NOT needed for normal conversation (Emotion skill auto-syncs eyes).

  • 380 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 22, 2026
ai-agentsrustgobashreactexpressapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add autonomous-ai/autonomous-os --skill display --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Display?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Display
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/autonomous-ai-display/badge)](https://www.skillsdirectory.com/skills/autonomous-ai-display)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: display
description: Use when the user asks to change eye expression directly, show info text on the display (time, weather, timer), or manually control the round LCD — NOT needed for normal conversation (Emotion skill auto-syncs eyes).
---

# Display — Eyes & Info

## Quick Start
Controls the device's display. Two modes: animated eyes (default) and info text. Usually auto-synced by the Emotion skill — only call directly for manual eye control or info display.

## Workflow
1. Determine the mode needed:
   - **Eyes**: `[HW:/display/eyes:{"expression":"happy","pupil_x":0.0,"pupil_y":0.0}]`
   - **Info**: `[HW:/display/info:{"text":"14:30","subtitle":"Good afternoon"}]`
   - **Return to eyes**: `[HW:/display/eyes-mode:{}]` when the info display is no longer needed, not immediately after the info marker.
2. Place markers at start of reply — the device fires them before TTS. Skip silently if display unavailable.

**Important**: The Emotion skill auto-syncs eyes during conversation. Do not call both Emotion and Display for the same reaction.

## Examples

**Input:** "Look to the left"
**Output:** `[HW:/display/eyes:{"expression":"neutral","pupil_x":-1.0,"pupil_y":0.0}]` (no confirmation needed)

**Input:** "What time is it?"
**Output:** `[HW:/display/info:{"text":"14:30","subtitle":"Good afternoon"}]` It's 2:30 PM.

**Input:** "Show me a happy face"
**Output:** `[HW:/display/eyes:{"expression":"happy"}]` Here's a happy face!

## How to Control Display

**No exec/curl needed for the display action.** Choose the relevant inline marker below; these are separate actions, not a sequence:

```
[HW:/display/eyes:{"expression":"happy","pupil_x":0.0,"pupil_y":0.0}]
[HW:/display/info:{"text":"14:30","subtitle":"Good afternoon"}]
[HW:/display/eyes-mode:{}]
```

- `pupil_x`: -1.0 (look left) to 1.0 (look right)
- `pupil_y`: -1.0 (look up) to 1.0 (look down)
- `text`: max 20 characters, `subtitle`: optional max 40 characters

### Available expressions

| Expression | When to use |
|---|---|
| `neutral` | Default resting state |
| `happy` | Good news, jokes, greetings |
| `sad` | Bad news, empathy |
| `curious` | Questions, interest |
| `thinking` | Processing, considering |
| `excited` | Big news, enthusiasm |
| `shy` | Bashful, compliments received |
| `shock` | Surprises |
| `sleepy` | Late night, tired |
| `angry` | Frustration (use sparingly) |
| `love` | Affection |

## Error Handling
- If `GET /display` returns unavailable or the API is unreachable, skip all display calls silently. Do not error out to the user.
- If an invalid expression is given, fall back to `neutral`.
- If text exceeds character limits, truncate gracefully.

## Rules
- **Emotion skill auto-syncs eyes** — when you call `POST /emotion`, the display updates automatically. Do not call both.
- **Info mode has no automatic timeout.** Do not chain `eyes-mode` immediately after `info`; it would erase the text before it can be read. Return to eyes when the user dismisses the info or a subsequent eye/emotion action takes over.
- The display is plugin hardware — it may not be available. Always check first, and skip silently if absent.
- Do not use this skill for normal conversation reactions — use the Emotion skill instead.

## Output Template

```
[HW:/display/eyes:{"expression":"happy"}] Here's a happy face!
```

For info, use the `display/info` marker with the actual requested text instead. If the display is unavailable, skip the marker silently.

Files in this skill

  • SKILL.md3.4 KB
  • skill.json63 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…