Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/digitalocean-labs/do-app-platform-skillsnpx agentmods add skills/digitalocean-labs/do-app-platform-skills/migrationWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/digitalocean-labs/do-app-platform-skills/migration)<a href="https://agentmods.dev/skills/digitalocean-labs/do-app-platform-skills/migration"><img src="https://agentmods.dev/badge/skills/digitalocean-labs/do-app-platform-skills/migration.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.02079 |
| Opus 5 | $0.00027 | $0.01040 |
| Sonnet 5 | $0.00011 | $0.00416 |
| Haiku 4.5 | $0.00005 | $0.00208 |
Grade A, and why
app-platform-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 247 lines — stays where its author put it; the contents beside it link to each section on GitHub.
App Platform Migration Skill
Migrate existing applications to DigitalOcean App Platform with honest capability assessment.
Philosophy
This skill is an honest partner, not a magic wand. It:
- Analyzes thoroughly before proposing changes
- Maps what it can with confidence
- Acknowledges gaps clearly and specifically
- Asks before proceeding when uncertain
- Never guesses or ignores incompatibilities
Tip: For complex multi-step migrations, use the planner skill first. For all available skills, see root SKILL.md.
Quick Decision
What's your source platform?
├── Heroku (Procfile, app.json, heroku.yml) → See Heroku Deep Chapter below
├── Docker Compose → See Quick Start below
├── Render/Railway/Fly.io → See Quick Start below
├── AWS ECS/App Runner → Complex migration, see reference
└── Just Dockerfile → See Quick Start below
Supported Platforms
| Platform | Config Files | Support Level |
|---|---|---|
| Heroku | Procfile, app.json, heroku.yml |
Full (deep chapter) |
| Docker Compose | docker-compose.yml |
Full |
| Render | render.yaml |
Full |
| Railway | railway.json, railway.toml |
Full |
| Fly.io | fly.toml |
Full |
| AWS ECS | Task Definition JSON | Partial |
| AWS App Runner | apprunner.yaml |
Partial |
| Generic Docker | Dockerfile only |
Full |
Migration Workflow
Phase 1: DISCOVERY
├── Clone/access repository
├── Detect source platform
├── Analyze architecture
└── Inventory all services
Phase 2: MAPPING
├── Map services → App Platform components
├── Map databases → Managed databases
├── Map storage → Spaces
├── Map secrets → GitHub Secrets
└── Identify unmappable items → REPORT TO USER
Phase 3: REFACTORING
├── Create target branch(es)
├── Update environment variables
├── Remove platform-specific code
├── Update Dockerfile if needed
└── Generate app spec
Phase 4: VALIDATION
├── Validate: doctl apps spec validate
├── Review changes with user
└── Generate migration checklist
Phase 5: HANDOFF
├── Push branches to repo
├── Provide manual steps checklist
└── Suggest deployment skill
What ships with it
16 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- README.md 1.5 KB
- reference/app-spec-generation.md 5.5 KB
- reference/code-refactoring.md 4.8 KB
- reference/heroku/heroku-addons.md 8.6 KB
- reference/heroku/heroku-concepts.md 8.3 KB
- reference/heroku/heroku-mapping.md 9.7 KB
- reference/heroku/heroku-overview.md 4.8 KB
- reference/heroku/heroku-workflows.md 10 KB
- reference/platform-mappings.md 6.4 KB
- reference/workflow-examples.md 7.8 KB
- scripts/analyze_architecture.py 27 KB runs code
- scripts/detect_platform.py 7.5 KB runs code
- scripts/generate_app_spec.py 20 KB runs code
- scripts/generate_checklist.py 16 KB runs code
- templates/env-mapping.md 4.8 KB
- templates/service-mapping.md 7.9 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 247 lines · 54 tokens per session scan A ae8d730f5d2d
app-platform-migration is a skill published in the GitHub repository digitalocean-labs/do-app-platform-skills (36 stars, last pushed 2d ago), licensed MIT. It adds 54 tokens to every session and 2,079 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
digitalocean
Use when deploying or operating a workload on DigitalOcean — Droplet vs App Platform vs Functions, doctl, app spec YAML, Managed Postgres/MySQL/Valkey on the VPC, S3-compatible Spaces + CDN. NOT host-agnostic CI/CD or rollback strategy (that is deployment), NOT a bare Hetzner VPS (that is hetzner), NOT another managed…
piggyback-hosting
Hosting-Muster, um eine lokal gebaute Anwendung (eigene Datenbank, eigener API-Key, In-Process-State) sicher hostbar zu machen, ohne Nutzerverwaltung zu bauen. Kernzug — der Host speichert nichts, der Browser des Besuchers speichert alles — sodass Pro-Besucher-Accounts, Zugriffsprüfungen und Löschfristen…
netlify-deploy
Deploy web projects to Netlify using the Netlify CLI (npx netlify). Use when the user asks to deploy, host, publish, or link a site/repo on Netlify, including preview and production deploys.
ecspresso
ECS deployment tool - deploy, manage, and troubleshoot ECS services.
securing-helm-chart-deployments
Secure Helm chart deployments by validating chart integrity, scanning templates for misconfigurations, and enforcing security contexts in Kubernetes releases.
pinme-r2
Use when a PinMe Cloudflare Worker needs R2 object storage, including secure file or image upload, streaming download, metadata lookup, deletion, listing, Range requests, or R2+D1 coordination. Guides AI to use PinMe's automatically injected env.R2 binding without R2 credentials or manual Wrangler configuration.