CtrlK
BlogDocsLog inGet started
Tessl Logo

pulumi-migrate-from-discovered-stack

Migrate a CloudFormation or ARM stack into a Pulumi stack, sourced from a stack that Pulumi Cloud's Discovery feature has already found and exposed via the discovered-stacks API. Load this skill when the user has a discovered stack in Pulumi Cloud and wants to bring its resources under Pulumi management. Do NOT load for greenfield Pulumi authoring, raw template conversion with no discovered-stack counterpart (i.e. no matching entry from the discovered-stacks API), or Terraform migration.

65

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./migration/skills/pulumi-migrate-from-discovered-stack/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The workflow is exceptionally well-structured with strong validation and feedback loops, and the core commands are concrete and executable. However, the skill is built around progressive-disclosure split targets (cloudformation.md, arm.md, refactor.md) that are missing from the bundle, breaking navigation and leaving several referenced sub-procedures unavailable.

Suggestions

Add the missing referenced files (cloudformation.md, arm.md, refactor.md) to the bundle, or inline the essential content they were meant to hold — currently several workflow steps point to files that do not exist.

Consolidate the duplicated scope/anti-trigger guidance: the opening Scope paragraph and 'Do not load...' callout restate the frontmatter description; keep one authoritative statement to save tokens.

For the delegated lookups that cannot be self-contained (e.g. originType → providerType mapping in §7, diff patterns in §6), either include the lookup table inline or ensure the referenced file ships with the skill so the guidance is reachable.

DimensionReasoningScore

Conciseness

The bulk is high-signal domain-specific content (exact API paths, statuses, phase commands) that Claude does not already know, but the opening Scope paragraph and 'Do not load...' callout restate the description, and 'Do not run pulumi up' is repeated across Phases 4 and 6.

4 / 5

Actionability

The core path is executable (exact endpoints, JSON field paths, `pulumi import --file import.json --generate-code --out`, real triage.py/build_import.py scripts), but several decision points delegate to files that do not exist ('Look up the originType in `cloudformation.md §7`', 'See `cloudformation.md §6` for diff patterns', 'Read `refactor.md`'), leaving key sub-procedures unreachable.

3 / 5

Workflow Clarity

Phases 0–8 are clearly sequenced with explicit validation checkpoints ('zero diff required', 'Fix any diffs before moving on', 'confirm there are NO changes'), feedback loops (import → preview → commit → annotate, revert-on-diff), and user confirmation gates throughout.

5 / 5

Progressive Disclosure

References are well-signaled and one-level-deep (the 5-anchor pattern), but the split targets `cloudformation.md`, `arm.md`, and `refactor.md` are absent from the actual bundle, so navigation is broken — scored against the real bundle structure per the rubric guideline, not references alone.

3 / 5

Total

15

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is strong: it explicitly states both what the skill does and when to load it, scopes tightly to discovered stacks, and uses concrete negative triggers to avoid overlap with related skills. Trigger-term and specificity coverage is good but could add a couple of natural variants.

DimensionReasoningScore

Specificity

Quotes concrete actions ('Migrate a CloudFormation or ARM stack into a Pulumi stack', 'bring its resources under Pulumi management') and names the source/target domains specifically, but lists only two distinct actions rather than the broader action set (import, annotate, refactor, PR).

4 / 5

Completeness

Explicitly answers what ('Migrate a CloudFormation or ARM stack into a Pulumi stack, sourced from... the discovered-stacks API') and when ('Load this skill when the user has a discovered stack in Pulumi Cloud and wants to bring its resources under Pulumi management'), with concrete negative triggers.

5 / 5

Trigger Term Quality

Includes natural user terms ('CloudFormation', 'ARM', 'Pulumi', 'discovered stack', 'Discovery feature', 'Terraform migration') plus explicit anti-triggers, but omits a few natural variants (e.g. 'Bicep', 'import').

4 / 5

Distinctiveness Conflict Risk

Clear niche scoped to Discovery-sourced stacks, with explicit exclusions ('Do NOT load for greenfield Pulumi authoring, raw template conversion... or Terraform migration') minimizing conflict with sibling skills.

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 15 missing

Warning

Total

15

/

16

Passed

Repository
pulumi/agent-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.