Agent skill

Openpets

by OpenPetsHQ in OpenPetsHQ/openpets

A skill your agent uses whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest…

MITAuto-check passedAgent Workflows

Install Openpets

skills CLI
$ npx skills add OpenPetsHQ/openpets --skill openpets -a claude-code

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

GitHub CLI
$ gh skill install OpenPetsHQ/openpets openpets --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/OpenPetsHQ/openpets.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/openpets .claude/skills/openpets && 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
openpets
GitHub stars
1.3k
Token cost
~2.1k tokens
SKILL.md length
949 words
Files
16 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest…

  • Works in 5 steps: Scaffold from the closest supported… → Read the generated manifest and entry… → Implement the smallest companion… → …
  • The user wants to build
  • SKILL.md covers Choose the right path, Plugin-authoring posture, Local development is a… and Authoritative references, plus 4 more sections
  • Calls npm, npx and pnpm

What it does

Openpets is an agent skill from OpenPetsHQ/openpets. Use whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest, plugin permissions, sandbox, plugin UI, storage, schedules, assets, or local plugin development. Also use for installing or configuring OpenPets, pets, optional coding-agent integrations, or local MCP controls. Prioritize the local-first plugin authoring experience; agent integrations are optional.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including reference files (for example `references/commands.md`, `references/config-files.md` and `references/integrations.md`).

It sits in Agent Workflows, covering Hooks and plugins and MCP servers. It works with Model Context Protocol and TypeScript. The repository describes itself as: Local first, desktop companion platform with animated pets, plugin SDK and coding-agent integrations. The licence is MIT.

When your agent uses it

  • The user wants to build
  • Publish an OpenPets plugin
  • Work with the OpenPets Plugin SDK v3
  • Plugin manifest

Example prompts

  • “/openpets”

Requirements

  • Node.js

Workflow steps

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

  1. Scaffold from the closest supported template rather than creating a guessed
  2. Read the generated manifest and entry point before editing. The manifest and
  3. Implement the smallest companion behavior that fulfills the request, asking
  4. Write deterministic harness tests for behavior, validate the folder, then
  5. Use the desktop's Developer Mode watcher to iterate. Publishing is a separate

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • npx
    • pnpm

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

  • Network

    Links to these hosts (documentation or services it may open):

    • openpets.dev

    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

Openpets loads about 2.1k tokens when it runs, and up to ~3.2k if it reads all its reference files. Until then it costs about 122 tokens; SKILL.md has 949 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.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 passed

The automated check found no risky patterns in SKILL.md.

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 OpenPetsHQ/openpets at commit 2d14120, republished under its MIT licence (© OpenPetsHQ). 949 words, ~2,135 tokens.

Download SKILL.mdSave it as .claude/skills/openpets/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
openpets
description
Use whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest, plugin permissions, sandbox, plugin UI, storage, schedules, assets, or local plugin development. Also use for installing or configuring OpenPets, pets, optional coding-agent integrations, or local MCP controls. Prioritize the local-first plugin authoring experience; agent integrations are optional.
license
MIT

OpenPets

OpenPets is a local-first desktop companion platform. Its core extension point is the sandboxed Plugin SDK v3: plugins describe companion behavior and the desktop host owns rendering, state, permissions, and lifecycle. Coding-agent and MCP integrations are useful optional adapters, not a prerequisite for using or developing plugins.

Choose the right path

  • Building, changing, or debugging a plugin: read Build a plugin, then the relevant SDK references.
  • Loading a work-in-progress plugin into the desktop app: read Develop locally.
  • Testing, validating, packaging, or publishing a plugin: read Test and validate.
  • Installing the app or CLI: read Install OpenPets.
  • Connecting Claude Code, OpenCode, Cursor, Codex, or MCP: read Configure a project. Treat this as a secondary integration path, not the default answer to plugin work.
  • Diagnosing desktop, CLI, or agent-control problems: read Troubleshoot.
  • Explaining runtime topology or optional integrations: read Explain architecture.

Plugin-authoring posture

Help the user reach a fast local feedback loop before discussing catalog release or agent integrations:

  1. Scaffold from the closest supported template rather than creating a guessed package shape.
  2. Read the generated manifest and entry point before editing. The manifest and current SDK types, not remembered APIs, define what will run.
  3. Implement the smallest companion behavior that fulfills the request, asking only for permissions it actually needs.
  4. Write deterministic harness tests for behavior, validate the folder, then load it locally in the desktop app.
  5. Use the desktop's Developer Mode watcher to iterate. Publishing is a separate decision and must never be implied by local loading.

Do not require the user to configure Claude Code, OpenCode, MCP, or any other agent to build a plugin. Do not require an OpenPets source checkout when the desktop app and CLI are enough.

Local development is a first-class workflow

For a standalone plugin folder, OpenPets provides:

bash
npm install -g @open-pets/cli@latest
openpets plugin new <name> --template <blank|reminder|ambient|ai-chat|tamagotchi|calendar>
openpets plugin validate <plugin-directory>

The one-off CLI alternative is:

bash
npx -y @open-pets/cli@latest plugin new <name> --template <template>
npx -y @open-pets/cli@latest plugin validate <plugin-directory>

After scaffolding, enter the plugin directory and install its test dependency:

bash
cd <plugin-directory>
npm install
npm test

If openpets plugin is reported as an unknown command, the globally installed CLI is older than the SDK v3 plugin tooling. Upgrade it with the first command above or use the one-off npx -y @open-pets/cli@latest form.

Then, with the desktop app running, use Plugins → Developer Mode → Load unpacked plugin folder. OpenPets validates and snapshots the folder, remembers the source location, watches it, and re-snapshots/reloads after edits. Reloading locally does not publish or upload anything.

If the user maintains OpenPets itself, pnpm dev:desktop:plugins hot-loads the repository's plugins/official and plugins/dev lanes. Do not tell an external plugin author to use maintainer-only environment variables or catalog commands.

Authoritative references

When the OpenPets checkout is available, use its source and docs as the primary reference. Read only the material relevant to the requested capability:

NeedRead first
Plugin package shape, local loading, manifest, sandbox, release lanesdocs/plugins.md
SDK namespaces, permissions, testing harnessdocs/sdk.md, then packages/sdk/src/index.ts or packages/sdk/src/testing.ts for an exact signature
Scaffolded templatespackages/cli/src/plugin-templates.ts
Exact manifest validation errorspackages/cli/src/plugin-validate.ts and packages/cli/schemas/openpets.plugin.schema.json
Working patternsplugins/official/*/openpets.plugin.json, index.js, and test.js
Repository dev modes and commandsdocs/development.md
Localizationdocs/i18n.md

Without a checkout, use the maintained public docs:

For the maintained navigation map and what each source is authoritative for, read Source references.

The exact public SDK contract lives in packages/sdk/src/index.ts. Never invent an SDK method, manifest field, permission, or UI capability because it seems plausible. Inspect the current contract or explain what needs verification.

Show full SKILL.md (366 more words)Show less

Design for the host, not around it

  • Plugins describe behavior through ctx; they do not inject arbitrary UI into pet windows or take ownership of window placement/lifecycle.
  • Match each SDK namespace to a declared manifest permission. A call missing an approved permission is denied at runtime.
  • Keep permissions narrow. In particular, network access requires declared and approved exact hosts; local network access and non-GET requests are separate permissions.
  • Persist durable plugin state with ctx.storage; make scheduled work safe to reconcile after restart or sleep.
  • Declare every visual or sound asset in the manifest. Do not use ad-hoc local paths as asset references.
  • Ship locales/en.json and use $t: / ctx.t() when a plugin has user-facing strings that need localization.
  • Keep behavior companion-first: useful, calm, and stateful rather than a generic floating app. Prefer host-rendered descriptors such as commands, alerts, bubbles, panels, status, and deliveries over custom rendering.
  • Treat the deterministic SDK harness as the default test surface. Assert observable descriptors and state transitions, not Electron internals.

Boundaries worth preserving

  • The desktop app must be running to load and observe a local plugin.
  • Local load is for iteration; catalog packaging/publishing is for maintainers and reviewed release lanes.
  • ctx.assistant.registerCapability(...) can make an explicit plugin operation available to the host Pet Assistant, but it grants no permission or access by itself.
  • One-shot ctx.voice.listen() is host-owned and visible; it is never ambient microphone access.
  • The host controls approval, quotas, sandboxing, and teardown. Design plugins to handle rejected calls and reloads gracefully instead of bypassing those boundaries.

Optional coding-agent integrations

Use the integration workflows only when a user specifically wants an agent to react through a pet, control a pet over local IPC/MCP, or configure a project. They are not needed to author, test, locally load, or share an OpenPets plugin.

Safety and change discipline

  • Confirm before replacing user-managed agent, MCP, hook, or plugin configuration, or before using --force.
  • Do not put source code, secrets, credentials, URLs, private paths, or private logs into pet speech.
  • Verify the current desktop/CLI state rather than promising that it is installed or running.
  • For source-repo changes, preserve the SDK contract: an SDK surface change must update the published types, desktop bridge, test harness, and conformance check together.

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

Files

SKILL.md and 15 other files (references) in skills/openpets of OpenPetsHQ/openpets.

  • SKILL.md
  • references/commands.md
  • references/config-files.md
  • references/integrations.md
  • references/source-docs.md
  • workflows/build-plugin.md
  • workflows/configure-project.md
  • workflows/develop-locally.md
  • workflows/explain-architecture.md
  • workflows/install-openpets.md
  • workflows/install-pet.md
  • workflows/test-and-validate.md
  • workflows/troubleshoot.md
  • workflows/verify-claude.md
  • workflows/verify-mcp.md
  • workflows/verify-opencode.md

Open the folder on GitHubat commit 2d14120

Compare with similar skills

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

Openpets compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openpets this skillOpenPetsHQ/openpets1.3k—~2.1kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Crush Configurationcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence
MCP Server Builder with mcp-usemcp-use/mcp-use11k—~923Automated 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 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Crush Configuration

    charmbracelet/crush

    Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

    29k GitHub stars~3.7k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Builds, modifies, debugs, migrates and verifies TypeScript MCP servers and MCP Apps with the mcp-use framework, treating the installed package's types as the source of truth.

    11k GitHub stars~923 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Source Driven Development

    shashankswe2020-ux/whoop-mcp

    Grounds every implementation decision in official documentation.

    165 GitHub starsUsed in 4 repos~2k tokens
    Agent WorkflowsAuto-check passed

Categories

Questions about Openpets

What does Openpets do?

A skill your agent uses whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest…. Openpets is an agent skill from OpenPetsHQ/openpets. Use whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest, plugin permissions, sandbox, plugin UI, storage, schedules, assets, or local plugin development.

When should I use Openpets?

Openpets fits situations like: the user wants to build; publish an OpenPets plugin; work with the OpenPets Plugin SDK v3; plugin manifest.

How do I install Openpets in Claude Code?

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

How do I install Openpets in Codex?

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

Can I use Openpets 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 OpenPetsHQ/openpets --skill openpets -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openpets, .gemini/skills/openpets, .github/skills/openpets and .opencode/skills/openpets in your project.

What does Openpets need to run?

Going by SKILL.md and its folder, Openpets needs the command-line tools its instructions call (npm, npx and pnpm). Our summary lists: Node.js.

Does Openpets access the network?

SKILL.md names 1 domain. As links in the text: openpets.dev. This is read from the text; nothing was executed.

Is Openpets safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Openpets use?

Openpets is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openpets use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.1k tokens, read only when the agent opens those files.

What are the alternatives to Openpets?

Skills that share tags, products or a category with Openpets: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Crush Configuration (charmbracelet/crush, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openpets?

OpenPetsHQ (a GitHub organization) maintains it in OpenPetsHQ/openpets, which has 1,267 GitHub stars. The repository was last updated on September 27, 2026.

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