Agent skill

Pu

by srid in srid/emanote

Provision and drive a pu box — an Incus container used as a clean Linux host for CI, builds, and evidence capture.

Custom licenceAuto-check: warnings

Install Pu

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

skills CLI
$ npx skills add srid/emanote --skill pu -a claude-code

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

GitHub CLI
$ gh skill install srid/emanote pu --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/srid/emanote.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pu .claude/skills/pu && 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
pu
GitHub stars
963
Token cost
~822 tokens
SKILL.md length
273 words
Files
1
Skills in repo
25
Repo updated
First seen
Licence
Custom licence

At a glance

Provision and drive a pu box — an Incus container used as a clean Linux host for CI, builds, and evidence capture.

  • You need to run something on a fresh remote box instead of the users machine: nix run a build
  • SKILL.md covers Lifecycle, Run commands on the box, Copy artifacts back and Failure mode: no outbound…
  • Calls nix, ssh and scp; reaches api.github.com
  • Run CI against a real host

What it does

Pu is an agent skill from srid/emanote. Provision and drive a pu box — an Incus container used as a clean Linux host for CI, builds, and evidence capture. Use when you need to run something on a fresh remote box instead of the user's machine: nix run a build, run CI against a real host, capture screenshots/video off-machine, or reproduce on a pristine environment. Covers create/connect/scp/destroy, running remote commands, copying artifacts back, and the no-egress failure mode. Triggers on "pu box", "spin up a box", "run this on a box", "ephemeral…

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

It works with Linux. The repository describes itself as: Emanate a structured view of your plain-text notes.

When your agent uses it

  • You need to run something on a fresh remote box instead of the users machine: nix run a build
  • Run CI against a real host
  • Capture screenshots/video off-machine
  • Reproduce on a pristine environment

Example prompts

  • “pu box”
  • “spin up a box”
  • “run this on a box”
  • “/pu”

What it can do on your machine

Read from SKILL.md and the folder at commit 9d01037. 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:

    • nix
    • ssh
    • scp

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.github.com

    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

Pu loads about 822 tokens when it runs. Until then it costs about 139 tokens; SKILL.md has 273 words of instructions outside code blocks.

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

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.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:36
    ~/.pu-state/*/ssh_config` to `~/.ssh/config` (optional, often not set up); otherwise use

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

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 273 words (~822 tokens).

“pu hands out Linux containers. Each box is a clean NixOS host with Nix”

— opening of SKILL.md by srid, Custom licence
name
pu

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .agents/skills/pu of srid/emanote.

Open the folder on GitHubat commit 9d01037

Compare with similar skills

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

Pu compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pu this skillsrid/emanote963—~822Automated safety check: WarnCustom licence
Configuring Horizoncoollabsio/coolify63k4 repos~898Automated safety check: PassMIT
K8s Security PoliciesCybereason-Public/owLSM28011 repos~2kAutomated safety check: PassGPL-2.0
Apple Container Test RunnerRustPython/RustPython22k—~467Automated safety check: PassMIT
Update .NET OS Packagesdotnet/core22k—~2.3kAutomated safety check: PassMIT
Cut Releasejfernandez/bpftop2.7k—~2kAutomated safety check: PassApache-2.0

Similar skills

  • Configuring Horizon

    coollabsio/coolify

    A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.

    63k GitHub starsUsed in 4 repos~898 tokens
    Backend & APIsAuto-check passed
  • K8s Security Policies

    Cybereason-Public/owLSM

    Comprehensive guide for implementing NetworkPolicy, PodSecurityPolicy, RBAC, and Pod Security Standards in Kubernetes.

    280 GitHub starsUsed in 11 repos~2k tokens
    Backend & APIsAuto-check passed
  • Apple Container Test Runner

    RustPython/RustPython

    Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.

    22k GitHub stars~467 tokensUpdated today
    Testing & QAAuto-check passed
  • Official

    Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.

    22k GitHub stars~2.3k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Cut Release

    jfernandez/bpftop

    Cut a new versioned release of bpftop — pick the version, open a version-bump PR, sign-tag the merge commit on main, and draft GitHub release notes in the project's established format.

    2.7k GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Native Feel Cross Platform Desktop

    yetone/native-feel-skill

    A skill your agent uses when the user is designing, prototyping, or rewriting a desktop app that must run on multiple OSes (macOS + Windows, optionally Linux) AND feel indistinguishable from a…

    1.9k GitHub starsUsed in 1 repo~1.5k tokens
    DevelopmentAuto-check passed

More from srid/emanote

All 25 skills in this repo
  • Codex Debate

    srid/emanote

    Run an automated codex⇄Claude debate to consensus — no round cap, no deadlock exit.

    963 GitHub stars~8.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Do

    srid/emanote

    Do a task end-to-end — implement, PR, CI loop, ship. An agent skill from srid/emanote.

    963 GitHub stars~12k tokensUpdated 2 mo ago
    Auto-check passed
  • Be Review

    srid/emanote

    Run /be's review gauntlet SERIALLY — /lens-debate (lowy ⇄ hickey), then /codex-debate, then /simplify, then code-police, each editing and committing on the live branch in turn.

    963 GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check passed
  • CI

    srid/emanote

    Reference for the odu runner — how to invoke a full pipeline, a single recipe, or a platform-pinned node, and how to attach to a live run, from a project whose CI odu runs.

    963 GitHub stars~2.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Forge PR

    srid/emanote

    Write engaging PR titles and descriptions for any forge (GitHub today; Bitbucket planned).

    963 GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Kolu

    srid/emanote

    Drive one AI agent from another through kolu's terminals: spawn a Claude Code / Codex / opencode session in a PTY, prompt it, watch the screen for its reply, read it, and prompt again — a…

    963 GitHub stars~2.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Pu

What does Pu do?

Provision and drive a pu box — an Incus container used as a clean Linux host for CI, builds, and evidence capture. Pu is an agent skill from srid/emanote. Provision and drive a pu box — an Incus container used as a clean Linux host for CI, builds, and evidence capture.

When should I use Pu?

Pu fits situations like: you need to run something on a fresh remote box instead of the users machine: nix run a build; run CI against a real host; capture screenshots/video off-machine; reproduce on a pristine environment.

How do I install Pu in Claude Code?

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

How do I install Pu in Codex?

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

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

What does Pu need to run?

Going by SKILL.md and its folder, Pu needs the command-line tools its instructions call (nix, ssh and scp).

Does Pu access the network?

SKILL.md names 1 domain. In commands or code: api.github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Pu safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Pu use?

Pu has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Pu use?

About 822 tokens (SKILL.md is roughly 3.3k 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 Pu?

Skills that share tags, products or a category with Pu: Configuring Horizon (coollabsio/coolify, 63k stars), K8s Security Policies (Cybereason-Public/owLSM, 280 stars), Apple Container Test Runner (RustPython/RustPython, 22k stars) and Update .NET OS Packages (dotnet/core, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pu?

srid (a GitHub user) maintains it in srid/emanote, which has 963 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on July 26, 2026.

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