返回顶部
a

ansible-generatorAnsible生成器

Generate, create, or scaffold Ansible playbooks, roles, tasks, handlers, inventory, vars.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
200
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

ansible-generator

Ansible Generator

触发短语

当请求生成或搭建Ansible内容时使用此技能,例如:

  • - 创建一个使用TLS部署nginx的剧本。
  • 为PostgreSQL备份生成一个Ansible角色。
  • 为生产环境和预发布环境编写清单文件。
  • 构建可复用的Ansible任务用于用户配置。
  • 使用ansible.cfg和requirements.yml初始化一个Ansible项目。
  • 给我一个快速安装Docker的Ansible代码片段。

当请求仅为验证/调试(语法错误、lint失败、Molecule/测试失败)时,不要将此技能作为主要工作流程。这些情况请使用ansible-validator。

确定性执行流程

按顺序执行以下阶段。除非验证异常矩阵明确允许,否则不要跳过任何阶段。

阶段0:分类请求模式

首先确定一种模式:

模式典型用户意图交付物
完整生成创建/构建/生成完整的剧本/角色/清单/项目文件集完整的文件,生产就绪
仅代码片段
快速代码片段/示例,无需完整文件上下文 | 聚焦的任务/剧本片段 |
| 仅文档 | 仅需解释、模式对比或概念指导 | 解释性内容,可选示例 |

阶段1:收集最低输入

如果缺少详细信息,简要询问。如果用户未提供,则使用安全默认值并说明假设。

资源类型必需输入缺失时的安全默认值
剧本目标主机、权限(become)、操作系统系列、目标hosts: all,become: false,操作系统无关模块
角色
角色名称、主要服务/包、支持的操作系统 | 根据任务域的角色名称,Debian + RedHat变量 |
| 任务文件 | 操作范围、必需变量、执行上下文 | 独立的可复用任务,带有文档化变量 |
| 清单 | 环境、主机组、主机名/IP | 带有占位符的production/staging组 |
| 项目配置 | 集合/角色依赖、lint策略 | 最小化的ansible.cfg、requirements.yml、.ansible-lint |

阶段2:参考提取清单

在起草内容之前,从本地参考/模板中提取以下内容。

必需参考

  • - references/best-practices.md
- 提取:FQCN要求、幂等性规则、命名、安全期望。
  • - references/module-patterns.md
- 提取:针对确切任务类型的正确模块/参数模式。

按输出类型的必需模板

  • - 剧本:assets/templates/playbook/basicplaybook.yml
  • 角色:assets/templates/role/(包括用于测试脚手架meta/argumentspecs.yml和molecule/default/)
  • 清单(INI):assets/templates/inventory/hosts
  • 清单(YAML):assets/templates/inventory/hosts.yml
  • 项目配置:assets/templates/project/ansible.cfg、assets/templates/project/requirements.yml、assets/templates/project/.ansible-lint

提取检查

  • - 识别所有必须替换的[占位符]。
  • 决定模块选择优先级(优先ansible.builtin.*)。
  • 当需要特定操作系统行为时,至少捕获一个适合操作系统的包模式。
  • 捕获必需的先决条件(集合、二进制文件、目标假设)。

阶段3:生成

应用以下生成标准:

  1. 1. 使用FQCN模块名称(首选ansible.builtin.*)。
  2. 保持任务幂等性(需要时使用state、creates/removes、changedwhen)。
  3. 使用描述性的动词优先任务名称。
  4. 使用true/false布尔值(而不是yes/no)。
  5. 对敏感值添加nolog: true。
  6. 在呈现输出前替换所有占位符。
  7. 对于RHEL 8+/CentOS 8+优先使用ansible.builtin.dnf(仅旧系统使用传统的yum)。

阶段4:验证(默认)或应用异常(回退)

使用以下矩阵保持验证确定性和非阻塞性。

验证异常矩阵

场景默认行为允许的回退报告内容
完整生成生成后和每次修复后运行ansible-validator如果验证器/工具不可用,运行手动静态检查(YAML格式、占位符扫描、FQCN/幂等性/安全审查)并提供确切的延迟验证命令明确列出哪些检查已运行、哪些已跳过及原因
仅代码片段
默认跳过完整验证器;进行内联健全性检查 | 仅当用户要求或代码片段升级为完整文件时运行完整验证器 | 说明验证受限,因为输出仅为代码片段 | | 仅文档 | 无运行时验证 | 无需 | 说明未生成可执行工件 | | 离线环境(无网络/文档访问) | 继续使用本地参考和模板 | 跳过外部文档查找;优先使用内置模块实现;提供注释供后续外部验证 | 说明离线约束及受影响的检查/查找 |

资源生成指南

剧本

  • - 使用assets/templates/playbook/basicplaybook.yml作为结构。
  • 包括:头部注释、根据需要添加pretasks/tasks/post_tasks、处理程序、标签。
  • 当涉及服务部署/配置时添加健康检查。

角色

  • - 从assets/templates/role/结构构建。
  • 将默认值放在defaults/main.yml中;将优先级更高的角色变量放在vars/main.yml中。
  • 在相关时包含特定操作系统的变量(vars/Debian.yml、vars/RedHat.yml)。
  • 添加meta/argument_specs.yml用于变量验证。
  • 对于生产就绪的角色,包含molecule/default/脚手架(来自assets/templates/role/molecule/)。

任务文件

  • - 保持范围狭窄且可复用。
  • 在注释中记录必需的输入变量。
  • 对环境/操作系统敏感的操作使用条件语句。

清单

  • - 构建逻辑主机组和可选的组层次结构。
  • 有意使用变量分层:group_vars/all.yml -> 组 -> 主机。
  • 对于简单拓扑结构默认使用INI格式(hosts);当用户要求或层次结构复杂时使用YAML格式(hosts.yml)。

项目配置

  • - 提供基线ansible.cfg、requirements.yml和.ansible-lint。
  • 保持默认值实用且可编辑。

自定义模块和集合

当请求依赖于非内置模块/集合时:

  1. 1. 识别集合+模块及所需的版本敏感性。
  2. 首先检查本地references/module-patterns.md。
  3. 如果仍未解决且网络/工具可用,查询Context7:
- mcpcontext7resolve-library-id - mcpcontext7query-docs
  1. 4. 如果Context7不可用,使用官方Ansible文档/Ansible Galaxy页面。
  2. 如果外部查找不可用,提供内置回退方法并说明限制。

使用集合模块时始终包含集合安装指南。

规范示例流程

流程A:完整生成(剧本)

用户提示:创建一个在Ubuntu和RHEL上使用TLS部署nginx的剧本。

  1. 1. 分类为完整生成。
  2. 收集/确认必需输入(主机、证书路径、become、服务名称)。
  3. 提取必需参考(best-practices.md、module-patterns.md)和剧本模板。
  4. 生成包含操作系统条件(apt/dnf)、处理程序、配置模板验证的完整剧本。
  5. 运行ansible-validator。
  6. 修复问题并重新运行直到检查通过(如果工具不可用则应用矩阵回退)。
  7. 呈现输出,包括验证摘要、使用命令和先决条件。

流程B:快速代码片段(任务块)

用户提示:给我一个创建用户和SSH密钥的代码片段。

  1. 1. 分类为仅代码片段。
  2. 提取ansible.builtin.user和ansible.builtin.authorized_key的最小模块模式。
  3. 生成包含FQCN、幂等性和变量占位符的简洁代码片段。
  4. 执行内联健全性检查(YAML格式、FQCN、明显的幂等性/安全性)。
  5. 呈现代码片段并说明由于仅代码片段模式跳过了完整验证器运行。

输出要求

对于生成的可执行工件,使用以下响应结构:

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ansible-generator-1776107649 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ansible-generator-1776107649 技能

通过命令行安装

skillhub install ansible-generator-1776107649

下载

⬇ 下载 ansible-generator v0.1.0(免费)

文件大小: 4.33 KB | 发布时间: 2026-4-14 16:06

v0.1.0 最新 2026-4-14 16:06
ansible-generator 0.1.0

- Initial release of the Ansible Generator skill.
- Generates, creates, or scaffolds Ansible playbooks, roles, tasks, handlers, inventory, and vars.
- Provides deterministic, stage-based execution flow for request classification, input collection, reference/template extraction, content generation, and validation.
- Includes clear validation exception handling and reports, supporting both online and offline environments.
- Uses best-practice standards for Ansible file structure, module usage, and idempotency.
- Supports production-ready outputs and quick snippet generation, with detailed trigger phrase guidance.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部