pulumi-arm-to-pulumi

Convert Azure ARM and Bicep templates into Pulumi programs.

19|3|Updated Mar 11, 2026
One-click install
npx skills add https://github.com/dirien/yet-another-agent-harness --skill pulumi-arm-to-pulumi-dirien
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pulumi-arm-to-pulumi
Source: https://github.com/dirien/yet-another-agent-harness/tree/main/.claude/skills/pulumi-arm-to-pulumi
Command: npx skills add https://github.com/dirien/yet-another-agent-harness --skill pulumi-arm-to-pulumi-dirien

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a step-by-step workflow to convert Azure ARM templates, Bicep templates, or ARM/Bicep code and to import existing Azure resources into Pulumi programs while ensuring complete resource coverage, deployment validity, and zero-diff import validation.

Core Features & Use Cases

  • Complete Conversion Patterns: Detailed mappings for ARM resources, parameters, variables, copy loops, conditionals, and nested templates into Pulumi code and component resources.
  • Provider Guidance: Recommends when to use azure-native versus the classic azure provider and adapts code examples across TypeScript, Python, Go, C#, Java, and YAML.
  • Import & Zero-Diff Workflow: Inline import ID patterns, preview resolution procedures, and iterative debugging steps to achieve zero-diff after import.
  • Validation & Reporting: Produces a PR-ready migration report that includes resource mappings, provider decisions, observed diffs, and configuration instructions.

Quick Start

Ask the assistant to convert my ARM or Bicep template to a Pulumi TypeScript program, include import IDs for existing resources, and produce a zero-diff preview validation checklist.

Frequently Asked Questions about pulumi-arm-to-pulumi

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert an ARM template to Pulumi code?

Converting an ARM template to Pulumi code involves mapping ARM resources, parameters, variables, and copy loops into language-specific Pulumi programs. It generates code in TypeScript, Python, Go, C#, Java, or YAML.

What is the best way to migrate Bicep templates to Pulumi?

The best way to migrate Bicep templates to Pulumi is by translating Bicep resources and conditionals into Pulumi component resources. This workflow recommends the appropriate provider and produces a PR-ready migration report.

Does the Pulumi migration workflow support importing existing Azure resources?

Yes, the Pulumi migration workflow supports importing existing Azure resources by using inline import ID patterns. It enforces a zero-diff preview validation to ensure deployment validity before completing the import process.

When should I use azure-native vs the classic azure provider in Pulumi?

Choosing between azure-native and the classic azure provider depends on your specific resource coverage and deployment requirements. The conversion workflow evaluates your ARM or Bicep templates to recommend the optimal provider choice.

How do I achieve zero-diff validation after importing Azure resources into Pulumi?

Achieving zero-diff validation after importing Azure resources into Pulumi requires following iterative debugging steps and preview resolution procedures. This ensures no unintended changes occur during the actual deployment.

Can I translate ARM copy loops and conditionals into Pulumi component resources?

Yes, ARM copy loops and conditionals can be translated into Pulumi component resources. The conversion process provides detailed mappings for nested templates and conditional logic to ensure complete resource coverage.