Skip to content
Back to skills

Pulumi

ASecurity

Manage Pulumi stacks, providers, secrets, and infrastructure previews before applying reviewed changes.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 22, 2026
ai-agentstypescriptpythongoc#bashexpresskubernetesawsgcpazure

Works with

  • cursor
  • cli
  • api

Security analysis

A100/100

Scanned October 22, 2026

npx -y skills add alivirgo/Major-AI-Skills --skill pulumi --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pulumi?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pulumi
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alivirgo-pulumi/badge)](https://www.skillsdirectory.com/skills/alivirgo-pulumi)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pulumi
description: "Manage Pulumi stacks, providers, secrets, and infrastructure previews before applying reviewed changes."
category: devops
risk: safe
source: self
source_type: self
date_added: "2026-08-26"
tags: ["pulumi", "iac", "stacks", "typescript", "python", "cloud", "devops"]
tools: ["claude", "cursor", "gemini", "codex"]
---

# Pulumi Infrastructure as Code AI Skill Guide

## Overview

Pulumi expresses cloud infrastructure as real programs (TypeScript, Python, Go, C#, YAML). State lives in a **backend** (Pulumi Cloud or self-managed); each **stack** is an isolated deployment of the same program (e.g. `dev`, `prod`). Agents should treat `pulumi preview` as mandatory before `up`, and treat stack secrets as first-class - plaintext config for credentials is a defect.

```
Program (index.ts / __main__.py)
        |
        v
+----------------+     preview/up      +------------------+
| Stack config   | ------------------> | Cloud providers  |
| + secrets      | <------------------ | AWS/GCP/Azure/k8s|
+----------------+     state refresh   +------------------+
```

## When to use

- Creating or reviewing Pulumi projects and stack configs
- Previewing diffs before applying infrastructure changes
- Managing stack secrets, provider credentials, and resource imports
- Migrating imperative cloud CLI scripts into durable IaC

## Operational directives

1. Always `pulumi stack select` (or pass `-s`) before mutating; confirm with `pulumi whoami -v`.
2. Run `pulumi preview` and summarize create/update/replace/delete counts before `pulumi up`.
3. Store secrets with `pulumi config set --secret`; never commit decrypted values.
4. Prefer immutable replaces carefully - call out replacements that destroy data (DBs, disks).
5. Use resource options (`protect`, `retainOnDelete`, aliases) for production stateful resources.

## Concrete examples

### Project bootstrap (TypeScript)

```bash
pulumi new aws-typescript -y -n api-infra -s dev
pulumi config set aws:region us-east-1
pulumi config set --secret dbPassword '***'
pulumi preview
pulumi up --yes
```

### Minimal program sketch

```typescript
import * as aws from "@pulumi/aws";

const bucket = new aws.s3.BucketV2("assets", {
  tags: { service: "api", env: pulumi.getStack() },
});

export const bucketName = bucket.id;
```

### Stack operations

```bash
pulumi stack ls
pulumi stack output --json
pulumi refresh --yes
pulumi destroy --yes   # only with explicit user approval
```

### Import existing resource

```bash
pulumi import aws:s3/bucketV2:BucketV2 assets my-existing-bucket-name
```

## Change-risk table

| Diff type | Risk | Agent action |
| :--- | :--- | :--- |
| Create | Low-Medium | Confirm naming/tags/region |
| Update in-place | Medium | Check security group / IAM blast radius |
| Replace | High | Call out downtime and data loss |
| Delete | High | Require explicit user confirmation |

## Best practices

1. One stack per environment; share code via Component Resources, not copy-paste.
2. Enable policy packs / CI previews on PRs; block merge on unexpected deletes.
3. Pin provider plugin versions in CI for reproducible plans.
4. Use `protect: true` on production databases and critical DNS zones.

## Limitations

- Preview is not a guarantee against provider eventual-consistency races.
- Large monorepos may need automation API or ESC for secrets at scale.
- Cross-cloud programs still need correct provider credentials per stack.

## Related skills

- `gcloud-cli` / `azure-cli` - imperative ops and auth debugging beside Pulumi
- `packer` - image baking referenced by compute resources
- `kubernetes` - Pulumi k8s provider workloads
- `vault` - external secret backends integrated with stacks

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.