Quadlet Creator: Let AI Agents Migrate Docker to Quadlet
podlet is enough for simple conversions. But once a Compose stack gets complex, with many containers and long env templates, its mechanical translation falls short: field mapping, volume strategy, and dependency ordering all need manual work. This kind of task suits an AI agent.
Quadlet Creator is a skill built for this: feed it a docker run command, a Compose file, or a self-hosting repository, and it produces reviewable Quadlet files.
How It Works
Review-first, three phases:
- Planning: analyze the input, pick the source of truth, and list the deployment decisions that need a human: rootless or rootful, named volume vs bind mount, whether the host port is free, what credentials to fill in. Long env templates get reduced to a short decision list instead of being dumped back.
- Finalize: freeze the design and present a checklist for confirmation.
- Execution: write files only after confirmation. The output covers
.container/.podfiles, plus env files, mounted config, and helper scripts.
Two hard rules: unresolved values are never invented, placeholders stay; when Compose and Quadlet do not map cleanly, the behavior change gets called out.
Mapping details and validation logic live in references/, with the full podman-systemd.unit(5) man page as the authority. When Quadlet option semantics are unclear, it checks the man page instead of trusting model memory.
Installation
npx skills add https://git.nite07.com/nite/quadlet-creator-skill.git -gOne gotcha when npx skills installs from a self-hosted Gitea repo: the URL must end with .git. Without the suffix it treats the URL as a well-known direct link to SKILL.md and fails. For private repos, use an scp-style SSH alias such as mygit:nite/repo.
Usage
Give the agent an input and say what you want:
Create Quadlet configuration files for https://github.com/go-gitea/gitea.