Agent skill

Pioreactor Plugin Jobs

by Pioreactor in Pioreactor/pioreactor

Create, update, debug, or review Pioreactor plugin background jobs, including file-based plugin modules, BackgroundJobContrib or LongRunningBackgroundJobContrib classes, pio run command…

MITAuto-check passedBackend & APIs

Install Pioreactor Plugin Jobs

skills CLI
$ npx skills add Pioreactor/pioreactor --skill pioreactor-plugin-jobs -a claude-code

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

GitHub CLI
$ gh skill install Pioreactor/pioreactor pioreactor-plugin-jobs --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/Pioreactor/pioreactor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pioreactor-plugin-jobs .claude/skills/pioreactor-plugin-jobs && 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
pioreactor-plugin-jobs
GitHub stars
149
Token cost
~799 tokens
SKILL.md length
336 words
Files
5 (incl. references)
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Create, update, debug, or review Pioreactor plugin background jobs, including file-based plugin modules, BackgroundJobContrib or LongRunningBackgroundJobContrib classes, pio run command…

  • Works in 8 steps: First decide whether the request is a… → Inspect the current repo before editing:… → Identify the development environment… → …
  • Custom jobs that should run from pio
  • SKILL.md covers Overview, Workflow, References and Rules
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Pioreactor Plugin Jobs is an agent skill from Pioreactor/pioreactor. Create, update, debug, or review Pioreactor plugin background jobs, including file-based plugin modules, BackgroundJobContrib or LongRunningBackgroundJobContrib classes, pio run command registration, published settings, MQTT listeners, cleanup hooks, OD-dodging jobs, local discovery through PLUGINSDEV, and UI job descriptors under plugins/ui/jobs. Use for custom jobs that should run from pio or appear in the Pioreactor UI. For dosing, LED, or temperature automations, use the pioreactor-automations skill instead.

Its SKILL.md is about 800 tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/development-environments.md`, `references/plugin-job-patterns.md` and `references/ui-job-descriptors.md`).

It sits in Backend & APIs, covering Background jobs. The repository describes itself as: Hardware and software for accessible, extensible, and scalable bioreactors. Built on Raspberry Pi. The licence is MIT.

When your agent uses it

  • Custom jobs that should run from pio
  • Appear in the Pioreactor UI

Example prompts

  • “/pioreactor-plugin-jobs”

Workflow steps

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

  1. First decide whether the request is a background job or an automation. If it is a dosing, LED, or temperature automation, use…
  2. Inspect the current repo before editing: core/pioreactor/background_jobs/base.py, core/pioreactor/cli/run.py, the target plugin file if…
  3. Identify the development environment before choosing tests: repo-local development has pytest and no real hardware; on-device development…
  4. Confirm the environment root when it matters: local dev uses TESTING=1 plus PLUGINS_DEV; devices use /home/pioreactor/.pioreactor/plugins…
  5. Implement the job using the narrowest contrib base class
  6. Register a Click function named click_ so pio run can discover it.
  7. If the job should appear in the UI, add a YAML descriptor under $DOT_PIOREACTOR/plugins/ui/jobs/.
  8. Validate discovery first, then runtime behavior.

What it can do on your machine

Read from SKILL.md and the folder at commit 0ae14c0. 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

    No scripts in the folder and no shell commands in SKILL.md.

    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

Pioreactor Plugin Jobs loads about 799 tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 135 tokens; SKILL.md has 336 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~135
When it runs · the whole SKILL.md, loaded when a task matches
~799
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

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 Pioreactor/pioreactor at commit 0ae14c0, republished under its MIT licence (© Pioreactor). 336 words, ~799 tokens.

Download SKILL.mdSave it as .claude/skills/pioreactor-plugin-jobs/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
pioreactor-plugin-jobs
description
Create, update, debug, or review Pioreactor plugin background jobs, including file-based plugin modules, BackgroundJobContrib or LongRunningBackgroundJobContrib classes, pio run command registration, published settings, MQTT listeners, cleanup hooks, OD-dodging jobs, local discovery through PLUGINS_DEV, and UI job descriptors under plugins/ui/jobs. Use for custom jobs that should run from pio or appear in the Pioreactor UI. For dosing, LED, or temperature automations, use the pioreactor-automations skill instead.

Pioreactor Plugin Jobs

Overview

Build custom Pioreactor background jobs as plugin modules that can be discovered by pio plugins list, launched with pio run <job_name>, and optionally displayed in the Pioreactor UI.

Workflow

  1. First decide whether the request is a background job or an automation. If it is a dosing, LED, or temperature automation, use $pioreactor-automations.
  2. Inspect the current repo before editing: core/pioreactor/background_jobs/base.py, core/pioreactor/cli/run.py, the target plugin file if one exists, and similar examples in plugins_dev/.
  3. Identify the development environment before choosing tests: repo-local development has pytest and no real hardware; on-device development has hardware and usually no repo test harness.
  4. Confirm the environment root when it matters: local dev uses TESTING=1 plus PLUGINS_DEV; devices use /home/pioreactor/.pioreactor/plugins; UI descriptors are rooted under DOT_PIOREACTOR.
  5. Implement the job using the narrowest contrib base class:
    • Use BackgroundJobContrib for normal experiment-scoped plugin jobs.
    • Use LongRunningBackgroundJobContrib for jobs that run across experiments, usually with UNIVERSAL_EXPERIMENT.
    • Use BackgroundJobWithDodgingContrib only when the job must change behavior around OD readings.
  6. Register a Click function named click_<job_name> so pio run <job_name> can discover it.
  7. If the job should appear in the UI, add a YAML descriptor under $DOT_PIOREACTOR/plugins/ui/jobs/.
  8. Validate discovery first, then runtime behavior.

References

  • Read references/plugin-job-patterns.md before creating or changing plugin job Python.
  • Read references/development-environments.md before choosing where to create files or what validation to run.
  • Read references/ui-job-descriptors.md before adding a job to the Pioreactor UI.
  • Read references/validation.md before reporting the work complete.

Rules

  • Keep module-level work cheap and safe; plugin modules are imported during discovery.
  • Avoid filenames that shadow standard library modules because the plugin directory is injected into sys.path.
  • Keep job_name, Click command name, MQTT topics, config section names, and UI descriptor names aligned.
  • Use published_settings for runtime-observable settings and set_<setting> methods when a settable value needs validation or side effects.
  • Put cleanup in on_disconnected; cancel timers, close hardware handles, and leave hardware in a safe state.
  • Prefer small targeted tests and smoke checks. Do not run the whole pytest suite for job work.

© Pioreactor, 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 4 other files (references) in .agents/skills/pioreactor-plugin-jobs of Pioreactor/pioreactor.

  • SKILL.md
  • references/development-environments.md
  • references/plugin-job-patterns.md
  • references/ui-job-descriptors.md
  • references/validation.md

Open the folder on GitHubat commit 0ae14c0

Compare with similar skills

Pioreactor Plugin Jobs 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.

Pioreactor Plugin Jobs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pioreactor Plugin Jobs this skillPioreactor/pioreactor149—~799Automated safety check: PassMIT
Trigger.dev Configurationpapermark/papermark9.2k—~1.2kAutomated safety check: PassCustom licence
FoundatioFoundatioFx/Foundatio2.1k—~3.9kAutomated safety check: PassApache-2.0
Laravel SpecialistJeffallan/claude-skills12k1 repos~2.1kAutomated safety check: PassMIT
Trigger.dev Realtimepapermark/papermark9.2k—~1.7kAutomated safety check: PassCustom licence
NubaseOtterMind/Nubase623—~2.2kAutomated safety check: NotesApache-2.0

Similar skills

  • Trigger.dev Configuration

    papermark/papermark

    Configures Trigger.dev projects through trigger.config.ts, with build extensions for Prisma, Playwright, Puppeteer, FFmpeg, Python and system packages.

    9.2k GitHub stars~1.2k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Foundatio

    FoundatioFx/Foundatio

    A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.

    2.1k GitHub stars~3.9k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Laravel Specialist

    Jeffallan/claude-skills

    Builds Laravel 10+ applications with Eloquent models, Sanctum authentication, Horizon queues, API resources and Livewire components, tested with Pest or PHPUnit.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    Backend & APIsAuto-check passed
  • Trigger.dev Realtime

    papermark/papermark

    Shows how to subscribe to Trigger.dev task runs from the backend and from React for progress indicators, live dashboards, AI response streams and approval waits.

    9.2k GitHub stars~1.7k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Nubase

    OtterMind/Nubase

    A skill your agent uses when the user mentions Nubase broadly, wants a backend for an AI-generated app, or needs to deploy/publish generated code online — across Database, Auth, Storage, Assets…

    623 GitHub stars~2.2k tokensUpdated 11 days ago
    Backend & APIsAuto-check: notes
  • AI Model Nodejs

    TencentCloudBase/CloudBase-AI-Toolkit

    A skill your agent uses for Node.js backend AI via @cloudbase/node-sdk (=3.16.0) — cloud functions, CloudRun, Express/Koa/NestJS, serverless APIs, scheduled jobs, LLM proxies, agent orchestration.

    1.1k GitHub starsUsed in 2 repos~5k tokens
    Backend & APIsAuto-check passed

More from Pioreactor/pioreactor

  • Pioreactor Calibration Dev

    Pioreactor/pioreactor

    Create, update, debug, or review Pioreactor calibration routines and session flows in core/pioreactor/calibrations, including calibration data types, CLI and UI behavior, step registries, protocol…

    149 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Pioreactor CLI

    Pioreactor/pioreactor

    A skill your agent uses when running, debugging, documenting, or changing Pioreactor command-line workflows with pio or pios, including local job control, logs, MQTT, config, plugins, calibrations…

    149 GitHub stars~1.2k tokensUpdated 2 days ago
    Auto-check passed
  • Pioreactor Automations

    Pioreactor/pioreactor

    Create, update, debug, or review Pioreactor dosing, temperature, and LED automations, including automation families, config sections, UI descriptors, runtime execution strategies, published…

    149 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Pioreactor Experiment Profiles

    Pioreactor/pioreactor

    Write, edit, review, or debug Pioreactor experiment profile YAML, including profile structure, inputs, common jobs, per-Pioreactor jobs, action timing, expressions, MQTT lookups, and repeat or…

    149 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Pioreactor Plugin Jobs

What does Pioreactor Plugin Jobs do?

Create, update, debug, or review Pioreactor plugin background jobs, including file-based plugin modules, BackgroundJobContrib or LongRunningBackgroundJobContrib classes, pio run command…. Pioreactor Plugin Jobs is an agent skill from Pioreactor/pioreactor. Create, update, debug, or review Pioreactor plugin background jobs, including file-based plugin modules, BackgroundJobContrib or LongRunningBackgroundJobContrib classes, pio run command registration, published settings, MQTT listeners, cleanup hooks, OD-dodging jobs, local discovery through PLUGINSDEV, and UI job descriptors under plugins/ui/jobs.

When should I use Pioreactor Plugin Jobs?

Pioreactor Plugin Jobs fits situations like: custom jobs that should run from pio; appear in the Pioreactor UI.

How do I install Pioreactor Plugin Jobs in Claude Code?

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

How do I install Pioreactor Plugin Jobs in Codex?

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

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

What does Pioreactor Plugin Jobs need to run?

SKILL.md names no scripts, command-line tools or credentials: Pioreactor Plugin Jobs is instructions for the agent only.

Does Pioreactor Plugin Jobs 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 Pioreactor Plugin Jobs 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 Pioreactor Plugin Jobs use?

Pioreactor Plugin Jobs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pioreactor Plugin Jobs use?

About 799 tokens (SKILL.md is roughly 3.2k 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 3.5k tokens, read only when the agent opens those files.

What are the alternatives to Pioreactor Plugin Jobs?

Skills that share tags, products or a category with Pioreactor Plugin Jobs: Trigger.dev Configuration (papermark/papermark, 9.2k stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars), Laravel Specialist (Jeffallan/claude-skills, 12k stars) and Trigger.dev Realtime (papermark/papermark, 9.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pioreactor Plugin Jobs?

Pioreactor (a GitHub organization) maintains it in Pioreactor/pioreactor, which has 149 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.

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