# Quadlet Creator：让 AI Agent 把 Docker 迁移到 Quadlet


简单转换 podlet 就够用。但 Compose 栈一复杂，容器一多、env 模板一长，podlet 的机械翻译就不行了：字段映射、卷策略、依赖关系都得自己补。这类活适合交给 AI Agent。

[Quadlet Creator](https://git.nite07.com/nite/quadlet-creator-skill) 是一个干这个的 skill：输入 docker run 命令、Compose 文件或自托管仓库，输出可审阅的 Quadlet 文件。

## 工作方式

review-first，三阶段：

1. **Planning**：分析输入，确定 source of truth，把需要人拍板的部署决策列出来：rootless 还是 rootful、卷策略用 named volume 还是 bind mount、端口有没有被占、凭据填什么。env 变量多的时候整理成少量决策项，不把模板原样甩回来。
2. **Finalize**：冻结设计，给一份清单确认。
3. **Execution**：确认后才写文件。产物有 `.container`/`.pod`，外加 env 文件、挂载配置和辅助脚本。

两条硬规则：不确定的值不编造，保留占位符；Compose 和 Quadlet 不等价时，明确说明行为变化。

映射细节和校验逻辑放在 references/ 里，`podman-systemd.unit(5)` 全文作为权威依据。Quadlet 选项语义拿不准时查它，不靠模型记忆。

## 安装

```bash
npx skills add https://git.nite07.com/nite/quadlet-creator-skill.git -g
```

[npx skills](https://github.com/vercel-labs/skills) 装自建 Gitea 仓库有个坑：URL 必须带 `.git` 后缀。不带后缀会被当成 well-known 直链去下载 SKILL.md，直接失败。私有仓库走 scp 风格的 SSH alias，例如 `mygit:nite/repo`。

## 用法

把输入丢给 Agent，说清目标就行：

```text
编写 https://github.com/go-gitea/gitea 的 quadlet 配置文件。
```


---

> 作者: Nite  
> URL: https://www.nite07.com/zh-cn/posts/quadlet-creator/  

