pulumi

Pulumi infrastructure as code with programming languages. Use for IaC.

7 stars

Best use case

pulumi is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Pulumi infrastructure as code with programming languages. Use for IaC.

Teams using pulumi should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/pulumi/SKILL.md --create-dirs "https://raw.githubusercontent.com/G1Joshi/Agent-Skills/main/skills/devops/pulumi/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/pulumi/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How pulumi Compares

Feature / AgentpulumiStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Pulumi infrastructure as code with programming languages. Use for IaC.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Pulumi

Pulumi lets you define infrastructure using TypeScript, Python, Go, or C#. It offers the power of a real language (loops, functions, classes) for IaC. 2025 highlights include **Pulumi ESC** for secret management.

## When to Use

- **Developers**: You prefer TypeScript over HCL YAML.
- **Complexity**: You need genuine logic (if/else, loops, external API calls) during infrastructure definition.
- **Testing**: You want to unit test your infrastructure code using standard test runners (Jest, Pytest).

## Quick Start (TypeScript)

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

const bucket = new aws.s3.Bucket("my-bucket", {
  acl: "private",
});

export const bucketName = bucket.id;
```

## Core Concepts

### Programming Model

Unlike Terraform's declarative HCL, Pulumi executes your program to build a resource graph.

### Pulumi ESC (Environments, Secrets, Config)

Centralized secret management. Retrieve dynamic secrets (AWS temp creds) at runtime.

### Automation API

Embed infrastructure creation inside your own software. "Click to Deploy" features in SaaS products often use this.

## Best Practices (2025)

**Do**:

- **Use ComponentResources**: Abstract complexity into reusable Classes (e.g., `class MyMicroservice extends ComponentResource`).
- **Use Secrets Provider**: Don't store secrets in plaintext config. Pulumi encrypts config values by default.
- **Unit Test**: Use mocks to test that your Security Groups don't allow 0.0.0.0/0.

**Don't**:

- **Don't mix logic and state**: Keep side-effects (API calls) predictable.

## References

- [Pulumi Documentation](https://www.pulumi.com/docs/)