agentleFS
autonomous-aiautonomous-ai/lampOS/skills/display/SKILL.md

display

Skill535 starsChanged 7 months agoApache-2.0View on GitHub

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).

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Place markers at start of reply — the device fires them before TTS.

    line 16
  2. Very specific:

    If GET /display returns unavailable or the API is unreachable, skip all display calls silently.

    line 62
  3. Very specific:

    If an invalid expression is given, fall back to neutral.

    line 63
  4. Distinctive:

    If text exceeds character limits, truncate gracefully.

    line 64
  5. Very specific:

    Info mode has no automatic timeout: Do not chain eyes-mode immediately after info.

    line 68
  6. Distinctive:

    Do not use this skill for normal conversation reactions — use the Emotion skill instead.

    line 70

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

ExpressionWhen to use
neutralDefault resting state
happyGood news, jokes, greetings
sadBad news, empathy
curiousQuestions, interest
thinkingProcessing, considering
excitedBig news, enthusiasm
shyBashful, compliments received
shockSurprises
sleepyLate night, tired
angryFrustration (use sparingly)
loveAffection

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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.