Individual skill
heroku-to-aws
Migrate workloads from Heroku to AWS. Triggers on: migrate from Heroku, Heroku to AWS, move off Heroku, migrate Heroku Postgres to RDS, migrate Heroku Redis to ElastiCache, migrate Heroku Kafka to MSK, migrate dynos to Elastic Beanstalk, migrate dynos to Fargate, migrate Heroku Private Space, Heroku to ECS, leave Heroku, what-if workshop, compare migration scenarios, workshop mode. Runs a 6-phase process: discover Heroku resources live via the authenticated Heroku CLI (read-only, consent-gated) and/or from Terraform, Procfile/app.json, and billing exports, then clarify, design, estimate costs, generate artifacts, and collect feedback. Clarify must finish before Design, Estimate, or Generate. An optional post-Estimate what-if workshop reprices region/HA/compute/Graviton scenarios. Do not use for: GCP migrations (see gcp-to-aws), Azure migrations (see azure-to-aws), AWS-to-Heroku reverse migration, general AWS architecture advice without migration intent, or Heroku-to-Heroku refactoring.
plugins/aws-startup-advisor/skills/heroku-to-aws/SKILL.md
Source commit 1761e96813ebcbd43ed81d19e837219033f0afe5
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 3, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 3,434
- Repository last updated
- Nov 7, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- engineering Derived category
- design Derived category
- operations Derived category
- devops Derived category
- data Derived category
- data-databases Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 29,544 bytesSKILL.mdcore · 29,544 bytesSKILL.mdcore · 29,544 bytesSKILL.mdcore · 29,544 bytesSKILL.mdcore · 29,544 bytesknowledge/design/dyno-eb-sizing.jsonasset · 4,484 bytesknowledge/design/dyno-fargate-sizing.jsonasset · 4,381 bytesknowledge/design/eks-pod-sizing.jsonasset · 9,285 bytesknowledge/design/fast-path-addons.jsonasset · 2,713 bytesknowledge/design/kafka-msk-sizing.jsonasset · 3,822 bytesknowledge/design/postgres-rds-sizing.jsonasset · 10,540 bytesknowledge/design/redis-elasticache-sizing.jsonasset · 4,813 bytesknowledge/estimate/estimate-defaults.jsonasset · 4,254 bytesreferences/phases/clarify/clarify-assemble.mddoc · 12,784 bytesreferences/phases/clarify/clarify-interview.mddoc · 56,231 bytesreferences/phases/clarify/clarify.mddoc · 3,825 bytesreferences/phases/design/design-assemble.mddoc · 4,893 bytesreferences/phases/design/design-eks.mddoc · 5,942 bytesreferences/phases/design/design-mapping.mddoc · 30,572 bytesreferences/phases/design/design.mddoc · 5,771 bytesreferences/phases/discover/discover-assemble.mddoc · 8,377 bytesreferences/phases/discover/discover-billing.mddoc · 13,964 bytesreferences/phases/discover/discover-live-capture.mddoc · 12,751 bytesreferences/phases/discover/discover-live.mddoc · 12,659 bytesreferences/phases/discover/discover-terraform.mddoc · 20,090 bytesreferences/phases/discover/discover.mddoc · 8,893 bytesreferences/phases/estimate/estimate-assemble.mddoc · 28,250 bytesreferences/phases/estimate/estimate-cost-engine.mddoc · 56,076 bytesreferences/phases/estimate/estimate.mddoc · 5,184 bytesreferences/phases/feedback/feedback-assemble.mddoc · 1,140 bytesreferences/phases/feedback/feedback-collect.mddoc · 5,509 bytesreferences/phases/feedback/feedback.mddoc · 2,541 bytesreferences/phases/generate/generate-assemble.mddoc · 14,399 bytesreferences/phases/generate/generate-docs.mddoc · 119,537 bytesreferences/phases/generate/generate-eks.mddoc · 14,607 bytesreferences/phases/generate/generate-report.mddoc · 20,310 bytesreferences/phases/generate/generate-terraform.mddoc · 112,337 bytesreferences/phases/generate/generate.mddoc · 17,326 bytesreferences/phases/workshop/workshop-assemble.mddoc · 2,406 bytesreferences/phases/workshop/workshop-compare.mddoc · 2,175 bytesreferences/phases/workshop/workshop-refresh.mddoc · 7,286 bytesreferences/phases/workshop/workshop-sheet.mddoc · 3,259 bytesreferences/phases/workshop/workshop.mddoc · 9,239 bytesreferences/shared/README.mddoc · 2,732 bytesreferences/shared/application-source-contract.mddoc · 10,478 bytesreferences/shared/application-source-contract.schema.jsonasset · 29,277 bytesreferences/shared/heroku-pricing-cache.mddoc · 17,843 bytesreferences/shared/report-decision-core.mddoc · 5,143 bytesreferences/shared/schema-discover-heroku.mddoc · 31,106 bytesreferences/shared/schema-workshop-scenarios.mddoc · 4,142 bytesreferences/vendored/README.mddoc · 2,189 bytesreferences/vendored/dsl/INTERPRETER.mddoc · 53,044 bytesreferences/vendored/estimate/complexity-tiers.jsonasset · 1,351 bytesreferences/vendored/estimate/estimation-infra.schema.jsonasset · 4,053 bytesreferences/vendored/estimate/pricing-mode.mddoc · 3,148 bytesreferences/vendored/estimate/ri-sp-eligibility.mddoc · 20,580 bytesreferences/vendored/pricing/aws-infra-pricing.jsonasset · 21,559 bytesreferences/vendored/state/phase-status.schema.jsonasset · 3,589 bytesreferences/vendored/telemetry/PROTOCOL.mddoc · 5,840 bytesreferences/vendored/telemetry/cli.pyruns · 1,621 bytesreferences/vendored/telemetry/consent/accept.pyruns · 2,060 bytesreferences/vendored/telemetry/consent/cli.pyruns · 2,744 bytesreferences/vendored/telemetry/consent/notice.pyruns · 2,639 bytesreferences/vendored/telemetry/consent/opt_out.pyruns · 1,805 bytesreferences/vendored/telemetry/consent/record.pyruns · 7,306 bytesreferences/vendored/telemetry/metric_emission/client.pyruns · 11,179 bytesreferences/vendored/telemetry/metric_emission/migration.pyruns · 26,024 bytesreferences/vendored/telemetry/metric_emission/migration_attributes.pyruns · 22,606 bytesreferences/vendored/telemetry/version.jsonasset · 25 bytesreferences/vendored/workshop/workshop-invariants.mddoc · 4,833 bytesscripts/emit-plan-json.pyruns · 31,390 bytesscripts/test_validate_heroku_migration_report.pyruns · 39,884 bytesscripts/test_validate_heroku_migration_report_cost.pyruns · 17,093 bytesscripts/test_validate_heroku_migration_report_currency.pyruns · 7,256 bytesscripts/validate-heroku-migration-report.pyruns · 62,886 bytes
Read excerpt
# Heroku-to-AWS Migration Skill
The skill base directory is given in the "Base directory for this skill: X" line the
harness emits at load time. Call it `<SKILL_BASE>`. The report validator lives at
`<SKILL_BASE>/scripts/validate-heroku-migration-report.py` — resolve it relative to
`<SKILL_BASE>`, never assume a plugin-root `scripts/` directory, since a standalone
`npx skills add --skill heroku-to-aws` install carries only this skill's own
directory tree, not the plugin's top-level `scripts/`.
## Optional usage telemetry
Before starting or resuming, load `references/vendored/telemetry/PROTOCOL.md` and
run its read-only status check. Use the returned reporting mode rather than the
model's identity. Complete the existing notice exchange only when that protocol