This skill should be used when the user says "migrate infrastructure", "arn infra migrate", "infra migrate", "move to AWS", "move to GCP", "move to Azure", "switch providers", "change cloud provider", "graduate from PaaS", "move from heroku", "move from fly.io", "consolidate providers", "infrastructure migration", "provider migration", "partial migration", "move database", "move services", "arn-infra-migrate", "infrastructure move", "cloud migration", or wants to migrate infrastructure between providers, graduate from PaaS to IaC, consolidate providers, or partially move specific services.
63
55%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/arn-infra/skills/arn-infra-migrate/SKILL.mdQuality
Discovery
62%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This description is heavily skewed toward trigger terms and 'when to use' guidance while almost entirely neglecting the 'what does this do' aspect. It excels at discoverability through extensive natural language triggers but fails to describe any concrete actions or capabilities the skill provides. A user or Claude selecting this skill would know when to pick it but not what it actually does.
Suggestions
Add concrete capability descriptions before the trigger list, e.g., 'Generates infrastructure-as-code configurations, creates migration plans, maps existing services to target provider equivalents, and produces step-by-step migration runbooks.'
Reduce the trigger phrase list to the most essential 5-8 terms and replace the rest with category descriptions to improve readability while maintaining coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists no concrete actions or capabilities. It only specifies trigger phrases and vaguely mentions 'migrate infrastructure between providers, graduate from PaaS to IaC, consolidate providers, or partially move specific services' without describing what the skill actually does (e.g., generates Terraform configs, creates migration plans, etc.). | 1 / 3 |
Completeness | The 'when' is thoroughly covered with extensive trigger phrases, but the 'what' is extremely weak — there is no clear explanation of what the skill actually does beyond vague references to migration. The description is essentially all triggers with no capability description. | 2 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms including specific phrases like 'move to AWS', 'move from heroku', 'switch providers', 'graduate from PaaS', 'cloud migration', and many variations users would naturally say. Covers multiple cloud providers and common PaaS platforms. | 3 / 3 |
Distinctiveness Conflict Risk | The description carves out a very clear niche around infrastructure migration between cloud providers and PaaS graduation. The specific trigger terms like 'move from heroku', 'move to AWS', 'consolidate providers' are highly distinctive and unlikely to conflict with other skills. | 3 / 3 |
Total | 9 / 12 Passed |
Implementation
47%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a comprehensive migration workflow skill with excellent workflow clarity and thorough error handling, but it suffers significantly from verbosity. The skill explains too many concepts Claude already knows and includes template-like content inline that should be in reference files. Core migration actions (IaC deployment, data migration, traffic shifting) remain abstract rather than executable, limiting actionability despite good CLI examples for issue tracking.
Suggestions
Cut at least 40% of the content by removing explanatory text Claude already knows (e.g., what DNS TTL is, what data integrity means, what PaaS graduation involves) and condensing the scenario descriptions to just the key differentiators.
Move the migration plan template, cost comparison format, issue body templates, and error handling catalog into separate reference files to reduce the main skill to an overview with clear pointers.
Make Steps 6.1-6.3 more actionable by providing concrete example commands or IaC snippets for at least one provider scenario (e.g., Fly.io to AWS) rather than abstract directives like 'Apply the generated IaC to staging'.
Consolidate the GitHub/Jira branching into a single pattern or reference file rather than repeating 'For Jira: use the Atlassian MCP' at every issue operation point.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines. It explains many concepts Claude already understands (what PaaS graduation means, what DNS TTL is, what data integrity checks are). Many sections could be condensed significantly—e.g., the migration scenarios, cost comparison table template, and error handling section all contain explanatory padding that doesn't add actionable value. | 1 / 3 |
Actionability | The skill provides concrete CLI commands (gh issue create, gh issue edit) and structured agent invocation patterns, but much of the core migration work (IaC generation, data migration, DNS cutover, traffic shifting) is described abstractly rather than with executable specifics. Steps like 'Apply the generated IaC to staging' and 'Set up parallel running' are vague directives without concrete commands. | 2 / 3 |
Workflow Clarity | The workflow is clearly sequenced across 10 steps with explicit dependencies, validation checkpoints (staging verification before cutover, pre-cutover checklist), feedback loops (rollback procedure at Step 9 with retry/skip/abandon options), and clear state transitions (label changes tracking migration status). The rollback handling is thorough with per-step recovery. | 3 / 3 |
Progressive Disclosure | The skill references external files (migration-scenarios.md, migration-checklist.md, experience-derivation.md, providers.md, environments.md) but no bundle files are provided to verify their existence or content. The SKILL.md itself is monolithic—the migration plan template, cost comparison format, issue templates, and error handling could be split into reference files. The references that do exist are reasonably signaled but the main file carries too much inline content. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
1fe948f
Table of Contents
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.