Agent skill

Openloomi Pet

by melandlabs in melandlabs/openloomi

OpenLoomi Pet sprite and state helper for Codex. An agent skill from melandlabs/openloomi.

Apache-2.0Auto-check: warningsAgent Workflows

Install Openloomi Pet

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add melandlabs/openloomi --skill openloomi-pet -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install melandlabs/openloomi openloomi-pet --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/melandlabs/openloomi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/codex/skills/openloomi-pet .claude/skills/openloomi-pet && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
openloomi-pet
GitHub stars
1k
Token cost
~2k tokens
SKILL.md length
947 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
Apache-2.0

At a glance

OpenLoomi Pet sprite and state helper for Codex. An agent skill from melandlabs/openloomi.

  • Works in 4 steps: "I just want the other built-in" →… → "I want my own character" → drop a… → "I want to change just one sprite" →… → …
  • Custom characters
  • SKILL.md covers Available commands, Help the user customize their…, What NOT to do from Codex and See also, plus 1 more section
  • Calls node

What it does

Openloomi Pet is an agent skill from melandlabs/openloomi. OpenLoomi Pet sprite and state helper for Codex. Use for pet state, themes, custom characters, and sprite overrides.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. The repository describes itself as: OpenLoomi is an open-source AI coworker. It connects your work tools, understands what you’re working on, and tells you what needs your attention, why it matters, and what to do… The licence is Apache-2.0.

When your agent uses it

  • Custom characters
  • Sprite overrides

Example prompts

  • “/openloomi-pet”

Requirements

  • Pre-approved tools (allowed-tools): Bash(node $SKILL_DIR/../../scripts/loomi-bridge.mjs *)

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. "I just want the other built-in" → right-click Loomi → Theme → Fox / Theme → Capybara. Persisted in ~/.openloomi/pet-config.json under…
  2. "I want my own character" → drop a folder at ~/.openloomi/pet-custom// with PNGs named after the states. The watcher auto-discovers it…
  3. "I want to change just one sprite" → edit ~/.openloomi/pet-config.json's overrides map. Wins over both built-ins and custom-theme sprites…
  4. "I want to make my theme the default" → set activeTheme to the custom theme's folder name.

What it can do on your machine

Read from SKILL.md and the folder at commit 2aca101. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(node $SKILL_DIR/../../scripts/loomi-bridge.mjs *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Openloomi Pet loads about 2k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 947 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~33
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningContains instruction-override wording (e.g. “without asking the user”)SKILL.md:132
    artifact. Do not tell the user the pet API is broken until the

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from melandlabs/openloomi at commit 2aca101, republished under its Apache-2.0 licence (© melandlabs). 947 words, ~2,025 tokens.

Download SKILL.mdSave it as .claude/skills/openloomi-pet/SKILL.md (or your agent's skills folder).
name
openloomi-pet
description
OpenLoomi Pet sprite and state helper for Codex. Use for pet state, themes, custom characters, and sprite overrides.
allowed-tools
Bash(node $SKILL_DIR/../../scripts/loomi-bridge.mjs *)

OpenLoomi Pet Sub-skill

The Loomi Pet has 9 universal state names. The plugin ships the fox (loomi-*) sprite set for branding; the OpenLoomi runtime's state-resolution watcher renders the matching sprite for whichever theme you have active (fox or capybara, or any folder under ~/.openloomi/pet-custom/). State set:

StateWhen to use
happyA task just completed successfully
idleLoomi is waiting for the next loop tick (watcher-only — do not set from Codex)
jugglingMultiple sub-agents are running
needsinputPermission prompt / elicitation dialog visible
presentingFresh decision requires the user's review (watcher-only — do not set from Codex)
sleepingLocal hour outside 6–22 with no pending work (watcher-only — do not set from Codex)
sweepingUser dismissed a card just now (watcher-only)
thinkingBetween steps, awaiting LLM response
workingA tool call is in progress (PreToolUse hook fires this)

Available commands

  • node $SKILL_DIR/../../scripts/loomi-bridge.mjs pet <state> — synchronous, returns JSON; use only when the user explicitly asks.
  • Hooks call state <name> automatically (fire-and-forget, 2s timeout).

Sprite set is hardcoded in the bridge — invalid state names are rejected before any HTTP call. The endpoint POST /api/pet/state may not yet exist in the target OpenLoomi runtime; the bridge falls back to "would have set state to X — pending OpenLoomi endpoint" without raising an error.


Help the user customize their pet's appearance

The bridge only drives the state — sprite overrides and theme folders are file-based and live outside the plugin. When the user asks to "change the pet's look" or "add a custom character", walk them through the file system. Do not try to write pet-config.json from the bridge; the bridge has no such command and the runtime's file watcher does the work.

Decision tree
  1. "I just want the other built-in" → right-click Loomi → Theme → Fox / Theme → Capybara. Persisted in ~/.openloomi/pet-config.json under activeTheme. Long-press (~600 ms) is the fallback if contextmenu is swallowed by the host.
  2. "I want my own character" → drop a folder at ~/.openloomi/pet-custom/<name>/ with PNGs named after the states. The watcher auto-discovers it within ~250 ms and the theme appears in the menu.
  3. "I want to change just one sprite" → edit ~/.openloomi/pet-config.json's overrides map. Wins over both built-ins and custom-theme sprites for the matching (theme, state) pair.
  4. "I want to make my theme the default" → set activeTheme to the custom theme's folder name.
What the bridge can and can't do
User intentBridge role
Flip to happy mid-taskpet happy — yes
Switch fox ↔ capybaraNo — that's a menu action or pet-config.json edit; do not try the bridge
Add a custom characterNo — direct them to ~/.openloomi/pet-custom/<name>/ and the file watcher
Override a single spriteNo — direct them to ~/.openloomi/pet-config.json's overrides map
Diagnose "the pet isn't switching themes"Direct them to the troubleshooting section in pet docs
Drive the pet from their own toolDirect them to POST /api/pet/state — see Pet API
Filename conventions to communicate

When guiding the user through a custom theme, surface these conventions up-front:

  • PNG only. .gif, .webp, .apng, .lottie are silently ignored.
  • Bare or prefixed names both work. idle.png, loomi-idle.png, capybara-thinking.png, my-pack-sweeping.png all normalize correctly (case-insensitive).
  • One recognizable state PNG is enough. The folder is registered as a theme as soon as it has ≥1 normalized state stem; missing states fall through to the active theme's idle sprite.
  • Hidden / dot-prefixed folders are ignored. .git, .DS_Store etc.
Show full SKILL.md (400 more words)Show less
Override JSON shape to communicate

The overrides map is camelCase on the wire — activeTheme, customThemesDir. Snake_case keys silently no-op the assignment (a unit test in the runtime pins the contract). Use the exact shape:

json
{
  "version": 1,
  "activeTheme": "fox",
  "customThemesDir": "~/.openloomi/pet-custom",
  "overrides": {
    "fox": {
      "idle": "/absolute/path/to/my-fox-idle.png"
    }
  }
}

Absolute paths only — the runtime routes them through tauri::convertFileSrc, so relative paths and ~/ prefixes will not resolve.

Common pitfalls to surface
  • The folder doesn't show up — usually a missing or mis-named state PNG. Run them through the filename convention table.
  • Override doesn't apply — host log line [loomi-pet/theme] failed to parse ~/.openloomi/pet-config.json means the JSON itself is malformed and defaults loaded. Host log line [loomi-pet/theme] failed to read <path>: <io error> means the path doesn't resolve.
  • Theme menu tick is wrong / stuck — almost always a camelCase vs snake_case wire-format mismatch. The widget reads activeTheme, not active_theme.
  • sleeping / sweeping rejected by /api/pet/state — those are watcher-only vocabulary; the runtime returns 400 invalid_state. Do not POST them from your tool.

What NOT to do from Codex

  • Do not try to call POST /api/pet/state with sleeping or sweeping. The API rejects them; the watcher owns them.
  • Do not try to write pet-config.json from the bridge. The bridge has no command for it; the file watcher owns updates.
  • Do not invent new state names. CAPYBARA_STATES rejects them before any HTTP call.
  • Do not claim support for non-PNG sprite formats. The asset pipeline is static PNG only.
  • Do not say "I'll set up your custom theme for you" if you can only walk them through the file system. The watcher does the work; you guide.

See also


Sandbox and network

If node ... loomi-bridge.mjs pet <state> or POST /api/pet/state fails with a network error (ECONNREFUSED, ETIMEDOUT, "unreachable"), check whether Codex is running inside a sandbox before concluding the OpenLoomi desktop API is stopped. Codex network sandboxing can block loopback access to the host's localhost (e.g. http://localhost:3414). The bridge's "would have set state to X — pending OpenLoomi endpoint" fallback hides this in many cases, but a genuine ECONNREFUSED still surfaces.

Request approval and retry the same command outside the sandbox. If the outside-sandbox retry succeeds, treat the in-sandbox failure as a sandbox artifact. Do not tell the user the pet API is broken until the outside-sandbox retry also fails. See openloomi for the canonical loopbackAccess.verification.commands probe.

© melandlabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/codex/skills/openloomi-pet of melandlabs/openloomi.

Open the folder on GitHubat commit 2aca101

Compare with similar skills

Openloomi Pet next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Openloomi Pet compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openloomi Pet this skillmelandlabs/openloomi1k—~2kAutomated safety check: WarnApache-2.0
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k10 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k36 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers297k2 repos~5.1kAutomated safety check: PassMIT
Skill CreatorAzure/azqr79689 repos~8.2kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 36 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    297k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    796 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Agent WorkflowsAuto-check passed

More from melandlabs/openloomi

All 23 skills in this repo
  • Openloomi Connectors

    melandlabs/openloomi

    openloomi Connectors tools - manage the native 7 messaging integrations and pair with the composio skill for the 1000+ apps OAuth layer (Slack, Discord, X, Gmail, Outlook, Google…

    1k GitHub stars~3.3k tokensUpdated 17 days ago
    Auto-check passed
  • Create Task

    melandlabs/openloomi

    Create an end-to-end Continual Learning Bench task. An agent skill from melandlabs/openloomi.

    1k GitHub stars~4.6k tokensUpdated 17 days ago
    Auto-check passed
  • Openloomi Memory

    melandlabs/openloomi

    openloomi Memory tools - search and manage the holistic context (people, projects, decisions, knowledge base, chat insights).

    1k GitHub stars~6k tokensUpdated 17 days ago
    Auto-check passed
  • Openloomi Setup

    melandlabs/openloomi

    OpenLoomi first-use setup and readiness guidance for skill-only agent runtimes.

    1k GitHub stars~420 tokensUpdated 17 days ago
    Auto-check passed
  • Find Skills

    melandlabs/openloomi

    Discover and install skills from the open agent skills ecosystem.

    1k GitHub stars~892 tokensUpdated 17 days ago
    Auto-check passed
  • Openloomi

    melandlabs/openloomi

    OpenLoomi runtime integration for Claude Code. An agent skill from melandlabs/openloomi.

    1k GitHub stars~1.4k tokensUpdated 17 days ago
    Auto-check passed

Categories

Questions about Openloomi Pet

What does Openloomi Pet do?

OpenLoomi Pet sprite and state helper for Codex. An agent skill from melandlabs/openloomi. Openloomi Pet is an agent skill from melandlabs/openloomi. OpenLoomi Pet sprite and state helper for Codex.

When should I use Openloomi Pet?

Openloomi Pet fits situations like: custom characters; sprite overrides.

How do I install Openloomi Pet in Claude Code?

Run `npx skills add melandlabs/openloomi --skill openloomi-pet -a claude-code`. Or copy the skill folder (plugins/codex/skills/openloomi-pet in melandlabs/openloomi) into .claude/skills/openloomi-pet in your project. Claude Code loads it when a task matches its description.

How do I install Openloomi Pet in Codex?

Run `npx skills add melandlabs/openloomi --skill openloomi-pet -a codex`. Or copy the skill folder (plugins/codex/skills/openloomi-pet in melandlabs/openloomi) into .agents/skills/openloomi-pet in your project. Codex loads it when a task matches its description.

Can I use Openloomi Pet in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add melandlabs/openloomi --skill openloomi-pet -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openloomi-pet, .gemini/skills/openloomi-pet, .github/skills/openloomi-pet and .opencode/skills/openloomi-pet in your project.

What does Openloomi Pet need to run?

Going by SKILL.md and its folder, Openloomi Pet needs the command-line tools its instructions call (node). Its frontmatter pre-approves these tools: Bash(node $SKILL_DIR/../../scripts/loomi-bridge.mjs *).

Does Openloomi Pet access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Openloomi Pet safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Openloomi Pet use?

Openloomi Pet is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openloomi Pet use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Openloomi Pet?

Skills that share tags, products or a category with Openloomi Pet: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openloomi Pet?

melandlabs (a GitHub organization) maintains it in melandlabs/openloomi, which has 1,038 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on September 24, 2026.

Source: melandlabs/openloomi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.