SkillAgentSearch skills...

apify-upgrade-migration

Upgrade Apify SDK, apify-client, and Crawlee versions safely. Use when migrating between SDK versions, handling breaking changes, or updating from Apify SDK v2 to v3 (Crawlee split).

Install / Use

npx skills add jeremylongshore/tons-of-skills-marketplace --skill apify-upgrade-migration

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

90/100

Category

Automation

Supported Platforms

Universal

Our assessment of apify-upgrade-migration

apify-upgrade-migration scores 90/100 on our quality scale, 1066th of 3,055 Automation skills we index (top 35%).

Its SKILL.md is 5.8 KB long, well organised into 20 sections with 9 code examples: a solid amount of guidance for an agent.

With 2,785 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
20/20
Description
15/15
Adoption
15/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 8 days ago, so apify-upgrade-migration is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-10-02. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

apify-upgrade-migration compared with similar skills

All 4 of these similar skills score higher than apify-upgrade-migration; compare them before choosing.

SkillScoreStarsUpdatedFormat
apify-upgrade-migration (this skill)by jeremylongshore902.8k8d agoSKILL.md
Agent-Reachby Panniantong10088.1k17d agoCLAUDE.md
headroomby headroomlabs-ai10074.3ktodayCLAUDE.md
rufloby ruvnet10073.7ktodayCLAUDE.md
Scraplingby D4Vinci10085.2k1d agoMCP Server

Frequently asked questions

How do I install apify-upgrade-migration?
Run npx skills add jeremylongshore/tons-of-skills-marketplace --skill apify-upgrade-migration. The install tabs above show the steps for each supported agent.
Which AI agents does apify-upgrade-migration work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is apify-upgrade-migration safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is apify-upgrade-migration still maintained?
The repository was last updated 8 days ago, so apify-upgrade-migration is actively maintained.

name: apify-upgrade-migration description: | Upgrade Apify SDK, apify-client, and Crawlee versions safely. Use when migrating between SDK versions, handling breaking changes, or updating from Apify SDK v2 to v3 (Crawlee split). Trigger with "upgrade apify", "apify migration", "apify breaking changes", "update apify SDK", "crawlee upgrade", "apify v2 to v3". allowed-tools: Read, Write, Edit, Bash(npm:), Bash(npx:), Bash(git:*), Grep version: 1.5.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:

  • saas
  • scraping
  • automation
  • apify compatibility: Designed for Claude Code

Apify Upgrade & Migration

Overview

Guide for upgrading apify, apify-client, and crawlee packages. The biggest migration in Apify's history was SDK v2 to v3, which split crawling functionality into the crawlee package. This skill covers that migration plus general upgrade procedures. Read and edit source files with Grep/Read/Edit to apply the rename-heavy changes, then verify with the packaged script.

Prerequisites

Before starting, confirm the working tree is in a recoverable state:

  • A dedicated git branch for the upgrade, so a bad bump can be reverted cleanly.
  • A runnable test suite (npm test) plus a build step (npm run build) to catch TypeScript interface changes.
  • The current installed versions recorded (npm list apify apify-client crawlee) so rollback targets are known.
  • APIFY_TOKEN in the environment if the verification script's API-connection check will run.

Instructions

Step 1: Check Current Versions

# Check installed versions
npm list apify apify-client crawlee 2>/dev/null

# Check latest available versions
npm view apify version
npm view apify-client version
npm view crawlee version

# Check for outdated packages
npm outdated apify apify-client crawlee

Step 2: Create Upgrade Branch

git checkout -b upgrade/apify-packages

Step 3: Upgrade Packages

# Upgrade to latest
npm install apify@latest crawlee@latest apify-client@latest

# Or upgrade to specific version
npm install apify@3.2.0 crawlee@3.11.0

# Check for peer dependency issues
npm ls 2>&1 | grep "ERESOLVE\|peer dep"

Step 4: Apply Code Changes

If crossing the v2→v3 boundary, use Grep to find every Apify. reference and Edit each call site. The full before/after set — imports, Actor.main, crawler option renames (handlePageFunction → requestHandler), proxy config, request queues, and the new router pattern — is in the v2-to-v3 migration guide. Minimal shape:

// v2
import Apify from 'apify';
const { CheerioCrawler } = Apify;
// v3
import { Actor } from 'apify';
import { CheerioCrawler } from 'crawlee';

Step 5: Verify and Test

npm test
npm run build  # Catch TypeScript errors

Then run the packaged verification script from verify-and-rollback.md, which checks imports resolve, the client connects, and a crawler instantiates.

Output

A successful upgrade produces:

  • Updated package.json / package-lock.json with the new apify, crawlee, and apify-client versions on the upgrade/apify-packages branch.
  • Migrated source files with all Apify.* call sites converted to Actor.* / crawlee imports (only when crossing v2→v3).
  • A passing verification run, e.g.:
=== Upgrade Verification ===
  [PASS] Actor import
  [PASS] CheerioCrawler import
  [PASS] ApifyClient import
  [PASS] API connection
  [PASS] Crawler instantiation

All checks passed.

If any check fails, follow the rollback procedure to restore the previous versions before investigating.

Error Handling

| Error | Cause | Solution | |-------|-------|----------| | handlePageFunction is not valid | Using v2 option names in v3 | Rename to requestHandler | | Apify.main is not a function | v2 default export removed | Import { Actor } from apify | | Cannot find module 'crawlee' | Crawlee not installed | npm install crawlee | | Type errors after upgrade | Changed interfaces | Check release notes for type changes | | ERESOLVE peer conflict on install | Mismatched apify/crawlee majors | Pin both to matching majors, e.g. apify@3 crawlee@3 |

Examples

Example 1 — Straight version bump (no major boundary). Update within v3 and confirm nothing broke:

git checkout -b upgrade/apify-packages
npm install apify@latest crawlee@latest apify-client@latest
npm test && npm run build

Example 2 — v2 → v3 crawler migration. Rename the removed option names in a crawler config:

// BEFORE (v2)
const crawler = new Apify.CheerioCrawler({
  handlePageFunction: async ({ request, $ }) => { /* ... */ },
});
// AFTER (v3 / Crawlee)
const crawler = new CheerioCrawler({
  requestHandler: async ({ request, $ }) => { /* ... */ },
});

Example 3 — apify-client constructor change. Drop the removed userId:

// v1.x
const client = new ApifyClient({ userId: 'xxx', token: 'yyy' });
// v2+
const client = new ApifyClient({ token: 'yyy' });

Deeper walkthroughs — the complete v2→v3 rename set and the full verification script — live in references/.

Resources

Next Steps

For CI integration during upgrades, see apify-ci-integration.

Related Skills

View on GitHub
GitHub Stars2.8k
CategoryAutomation
Updated8d ago
Forks404

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions