pulumi-cdk-to-pulumi

Convert AWS CDK applications to Pulumi programs with automated resource import.

Updated Apr 30, 2026
One-click install
npx skills add https://github.com/AdityaBorkar/igbot-fork --skill pulumi-cdk-to-pulumi-adityaborkar
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pulumi-cdk-to-pulumi
Source: https://github.com/AdityaBorkar/igbot-fork/tree/main/.agents/skills/pulumi-cdk-to-pulumi
Command: npx skills add https://github.com/AdityaBorkar/igbot-fork --skill pulumi-cdk-to-pulumi-adityaborkar

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Migrating an existing AWS CDK application to Pulumi by hand is error-prone: every synthesized CloudFormation resource must be mapped, custom resources need replacement strategies, and existing infrastructure must be imported without drift. This Skill automates and structures that entire migration workflow. ## Core Features & Use Cases - Automated Conversion: Uses the cdk2pulumi tool to convert CDK Cloud Assemblies (cdk.out) into Pulumi YAML, then into TypeScript, with a conversion report for gap analysis. - Custom Resource Migration: Maps Lambda-backed CDK custom resources (auto-delete objects, log retention, OIDC, etc.) to native Pulumi equivalents or CustomResourceEmulator fallbacks. - Resource Import: Imports existing CloudFormation-managed resources into Pulumi state with the cdk-importer tool, plus manual import ID lookup for unsupported resources. - Use Case: A team with a multi-stack CDK app wants to adopt Pulumi. The Skill synthesizes the app, converts all stacks, handles assets and bundling, imports live resources, and produces a PR-ready migration report with a CDK-to-Pulumi resource mapping table. ## Quick Start Ask the assistant to migrate your CDK application to Pulumi, providing your Pulumi ESC environment and confirming the target AWS region.

Frequently Asked Questions about pulumi-cdk-to-pulumi

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

FAQPage Schema
How do I migrate an AWS CDK application to Pulumi?▼

Synthesize the CDK app with cdk synth, then run the cdk2pulumi tool against the cdk.out assembly to generate a Pulumi YAML program. Convert it to TypeScript with pulumi convert, then optionally import existing resources with the cdk-importer tool.

How do I import existing CloudFormation resources into Pulumi?▼

Use the cdk-importer tool with program import, pointing it at the generated Pulumi program and the CloudFormation stack name. Resources that fail automated import can be imported manually using import IDs found via the cdk2pulumi ids command.

What happens to CDK custom resources during Pulumi conversion?▼

By default, cdk2pulumi rewrites custom resources to aws-native CustomResourceEmulator, which invokes the original Lambda. Many common handlers, such as auto-delete-objects or log-retention, can be replaced with native Pulumi resources like forceDestroy buckets or explicit retention settings.

Should I use aws-native or the classic aws provider in Pulumi?▼

The default strategy is aws-native whenever the resource type is available, falling back to the classic aws provider when aws-native lacks equivalent features. Both providers require their region config set on the Pulumi stack.

Why does pulumi preview show changes after importing resources?▼

Post-import drift means the generated program does not exactly match the deployed infrastructure. Investigate each diff, adjust the program properties to match reality, and repeat until preview shows no creates, updates, replaces, or deletes.

How are CDK assets and bundling handled in Pulumi migration?▼

Docker image assets map to docker-build.Image, and static files map to pulumi.FileAsset or FileArchive. CDK bundling steps have no direct equivalent, so the build must move to CI, a command.local.Command resource, or a pre-build script.