agentleFS
vosslabvosslab/vosslab-skills/skills/experts/podman-expert/SKILL.md

podman-expert

Skill5 starsChanged 22 days agoMITView on GitHub

Use when designing or diagnosing a Podman runtime, build, networking, storage, pod, Quadlet, registry, or macOS machine workflow.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 13 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Follow the existing-project or greenfield branch in references/project_workflow.md.

    line 23
  2. Distinctive:

    Use a Containerfile or Buildah recipe with a minimal build context and a current base image.

    line 31
  3. Distinctive:

    Prefer a non-root runtime user and read-only filesystem.

    line 33
  4. Distinctive:

    Read references/topic_index.md for focused commands and references/local_books.md when the local corpus is available.

    line 35
  5. Distinctive:

    Run and observe one bounded service path.

    line 38
  6. Very specific:

    Start with explicit ports, environment sources, network, and volume mounts.

    line 39
  7. Distinctive:

    Use references/testing_and_oracles.md for the build-then-run oracle and reproducibility evidence.

    line 43
  8. Distinctive:

    Keep one-process services simple.

    line 46
  9. Distinctive:

    Default to rootless Podman.

    line 60
  10. Distinctive:

    Default to a read-only root filesystem plus explicit named volumes or bind mounts for each writable path.

    line 61
  11. Distinctive:

    Use registry credentials through the target environment's secret mechanism.

    line 65
  12. Distinctive:

    Treat Linux SELinux labels, UID mappings, and macOS VM mounts as different boundaries, each with its own observable check.

    line 67
  13. Distinctive:

    Keep persistent data and secret handling explicit and recoverable.

    line 79
  14. Distinctive:

    When using this skill, produce:

    line 87

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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

Podman expert

Overview

Build repeatable, rootless-first container workflows with an explicit runtime, storage, networking, and operator contract. Own Podman, Buildah, Skopeo, Containerfiles, compose, pods, Quadlet, and podman machine work. Start with references/task_selection.md, then use references/topic_index.md to route the symptom.

Workflow

  1. Classify the project shape and state the container contract.
  • Inspect the repository for a Containerfile, compose file, Quadlet units, systemd integration, image references, ports, health checks, and CI commands.
  • Name the service, build context, base image, runtime user, ports, persistent paths, secrets source, registry, platform, and the required success signal.
  • Follow the existing-project or greenfield branch in references/project_workflow.md.
  1. Select the lifecycle route before changing files.
  • Route build, run, compose, service, pod, registry, troubleshooting, or macOS machine work through references/task_selection.md.
  • Confirm current CLI flags, Quadlet syntax, and platform behavior in the official Podman documentation when versions matter.
  1. Build the smallest rootless, reproducible image.
  • Use a Containerfile or Buildah recipe with a minimal build context and a current base image; record its resolved digest and refresh it with dependency updates.
  • Prefer a non-root runtime user and read-only filesystem. Mount only named, explicit writable volumes or bind mounts with documented ownership and labels.
  • Read references/topic_index.md for focused commands and references/local_books.md when the local corpus is available.
  1. Run and observe one bounded service path.
  • Start with explicit ports, environment sources, network, and volume mounts; use podman inspect and podman logs to verify the actual configuration.
  • For macOS, establish the podman machine state and host-to-VM mount or port boundary before diagnosing the container.
  • Use references/testing_and_oracles.md for the build-then-run oracle and reproducibility evidence.
  1. Choose the durable deployment boundary.
  • Keep one-process services simple; use compose for an explicitly coordinated local stack, pods for Podman-managed co-location, and Quadlet/systemd for a host-managed service lifecycle.
  • Pair generated Kubernetes YAML with application and target-cluster validation.
  1. Hand off destructive operations explicitly.
  • Inspect, build, run, and use ordinary stop operations within the resolved service boundary.
  • For podman rm -f, podman rmi -f, podman kill, podman stop -t 0, podman system prune, or any volume, network, or image removal or prune, give the user the exact resolved command, target, and data-loss effect.
  • Resume after the user confirms the resulting state.

Implementation defaults

  • Default to rootless Podman; document every justified rootful exception.
  • Default to a read-only root filesystem plus explicit named volumes or bind mounts for each writable path; declare every persistence boundary explicitly.
  • Pin production image references by digest and record the human-readable tag separately for discovery.
  • Use registry credentials through the target environment's secret mechanism; keep Containerfiles, compose files, images, and command history credential-free.
  • Treat Linux SELinux labels, UID mappings, and macOS VM mounts as different boundaries, each with its own observable check.
  • Consult references/reference_survey.md for passage-verified local coverage; use current official documentation when the corpus is absent or the topic is thin.

Quality bar

  • Rebuild from a clean context, run the intended entry point, and verify a health or functional command through the published port or service boundary.
  • Inspect image identity, effective mounts, ports, user, environment sources, and logs; report the configuration that actually took effect.
  • Keep persistent data and secret handling explicit and recoverable.
  • Provide a precise operator handoff for each destructive cleanup request, including every resolved podman rm -f, podman rmi -f, podman kill, podman stop -t 0, system prune, volume prune or removal, network prune or removal, and image prune or removal command.

Output expectations

When using this skill, produce:

  • The project shape, selected lifecycle route, rootless or rootful decision, image identity, runtime user, writable paths, ports, network, and platform.
  • File- and service-specific changes with an explanation of volumes, UID or SELinux labeling, and macOS machine boundaries where applicable.
  • Executed build, run, inspection, log, health, and clean-rebuild evidence.
  • The exact user-run command and consequence when deletion, kill, or prune is required, plus a clear next step after the user completes it.

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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.