agentsclimarketplace

Genops

Skill OmerMohideen/genops/skills/genops

Omni infrastructure-as-code agent. Scaffold, generate, extend, and maintain IaC for any tool (Terraform, OpenTofu, Pulumi, Bicep, CloudFormation, CDK, Ansible) on any provider (AWS, Azure, GCP, ...). Bundles ready-made templates so it copies instead of regenerating. Use when asked to create infra, set up terraform, scaffold IaC, add a module, spin up a VPC/VNet, wire CI/CD for terraform, or maintain infrastructure.From its SKILL.md

Install
npx -y skills add OmerMohideen/genops --skill genops

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.4 KB, as published. Nobody here has run it

GenOps Omni IaC Agent

Turn a one-line request into production-grade IaC, then keep it maintainable, for any tool and any provider.

Copy, don't regenerate. Version-pinned modules and pipelines are bundled in assets/templates/. When the request matches a bundled template, COPY and adapt it instead of writing the resource from scratch (saves tokens). Hand-write only what no template covers.

Workflow

  1. Read before writing. Scan the working directory for existing IaC (*.tf, *.bicep, Pulumi.yaml, cdk.json, ...). If found, match its tool, layout, and naming; extend idempotently, never blindly overwrite.

  2. Resolve tool + provider from the request (or existing repo). State the choice in one line. Don't switch tools mid-project.

  3. Generate.

    • Templated stack (Terraform/OpenTofu on AWS/Azure/GCP, Bicep on Azure, Pulumi on AWS/Azure/GCP) → load the matching guide from references/, copy the needed module folders and root files from assets/templates/, then wire them together.
    • Anything else (CloudFormation, CDK, Ansible, other providers, ...) → no template yet. Generate idiomatically per the rules below. Consider saving reusable new modules under assets/templates/iac/<tool>/<provider>@<version>/ so future runs copy them.
  4. Report. List every file created or changed and every placeholder the user must fill (backend storage, secret names, account/subscription IDs) before plan/apply.

Rules

  • Reuse: factor reusable pieces into modules/components; keep environment-specific values out of reusable code.
  • Environments: one root per environment (Terraform: environments/{dev,test,prod} dirs; Pulumi: stacks; Bicep: per-env param files), all sharing the same modules/components. Not every resource exists in every environment: an env's root declares exactly what that env runs; omit resources by not calling the module, never by scattering var.environment == "prod" ternaries or count flags through shared code.
  • Secrets: never hardcode. Reference from CI/CD or environment; document which are required.
  • Versions: pin tool and provider versions.
  • State: configure remote state/backend; leave clearly-marked placeholders for values only the user knows.
  • Naming: idiomatic layout; derive consistent resource names from project + environment.
  • Docs: write a README covering layout, prerequisites, and how to plan/apply.
  • Minimal: only what the request needs. No speculative resources.

Enterprise defaults

Anything destined for production (or any request mentioning enterprise, compliance, or security) additionally follows references/enterprise.md: mandatory tags (environment/project/owner/cost-center/managed-by), encryption at rest with BYO-key variables, no public exposure or 0.0.0.0/0 ingress, least-privilege identity via OIDC/workload federation (no static cloud keys), audit logging on, locked+encrypted per-environment state, security scanning in CI (bundled validate workflows run Checkov), applies only through approval-gated jobs, never -auto-approve from a push trigger.

Bundled templates (assets/templates/)

Each module folder has main.tf / variables.tf / outputs.tf; each provider dir has root provider.tf, versions.tf (pinned), backend.tf (commented placeholders). Copy the dirs you need into infrastructure/terraform/modules/.

Terraform (HCL, main.tf/variables.tf/outputs.tf per module):

  • iac/terraform/[email protected]/: resource_group, virtual_network, network_security_group, app_service, container_app, key_vault, storage_account, user_assigned_identity, linux_virtual_machine, windows_virtual_machine, postgresql_flexible_server, function_app, container_registry.
  • iac/terraform/[email protected]/: vpc, security_group, s3_bucket, kms_key, iam_role, ec2_instance, app_runner, rds_instance, lambda_function, ecr_repository, secrets_manager_secret.
  • iac/terraform/[email protected]/: vpc_network, firewall, gcs_bucket, secret, service_account, compute_instance, cloud_run, cloud_sql, cloud_function, artifact_registry.

OpenTofu (iac/opentofu/README.md): reuses the Terraform files unchanged; run tofu instead of terraform. No separate copies.

Bicep (Azure-native, one .bicep per module + main.bicep/.bicepparam/bicepconfig.json):

  • iac/bicep/azure/modules/: same module coverage as Terraform Azure. No @version dir: Bicep has no single provider version; each resource pins its own REST apiVersion.

Pulumi (TypeScript ComponentResource classes in components/, with package.json/Pulumi.yaml/index.ts; dir pinned to the provider plugin major):

CI/CD: laid out as <platform>/<tool>/<provider> (matching the iac/ split). GitHub Actions = _<tool>-deploy.yml callable workflow (enterprise _ prefix = internal) + validate (fmt/validate/Checkov security scan) + dev/test/prod callers, PR plan/preview comment, environment approval gates:

  • cicd/github/terraform/azure/, cicd/github/terraform/aws/, cicd/github/terraform/gcp/: Terraform per cloud.
  • cicd/github/bicep/azure/: az deployment (what-if → create).
  • cicd/github/pulumi/: pulumi preview → up (provider-agnostic, one set; creds vary by cloud).

Azure DevOps (cicd/devops/), same layout and coverage: terraform/{azure,aws,gcp}, bicep/azure, pulumi; _<tool>-deploy.yml stage template (validate + Checkov + plan + Environment-gated apply) plus thin dev/test/prod callers, mirroring the GitHub pattern.

Jenkins (cicd/jenkins/), same layout and coverage: terraform/{azure,aws,gcp}, bicep/azure, pulumi; one declarative Jenkinsfile per stack, parameterized by an ENVIRONMENT choice (dev/test/prod), with validate + Checkov scan stages, archived plan/preview artifact, and an input approval gate before test/prod applies.

Detailed guides (references/)

Load the one matching the chosen stack:

Each covers the target layout, which files to copy, wire-up order, backend/state setup, and the credential/secret conventions plus the matching CI/CD dir.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.