All skills
apify avatar

/apify-actor-development

@c009920 official
by apifyapify/agent-skills2.4k stars
259

Create, modify, debug, and deploy Apify Actors, and write their input and output schemas. Use when building an Actor from scratch, changing or troubleshooting Actor code, generating or updating .actor schema files, or pushing an Actor to the Apify platform. To wrap an existing non-Actor project, use apify-actorization instead.

Use this Skill: https://skilld.dev/gh/apify/agent-skills/apify-actor-development

This session only. Nothing lands on disk.

referencesactor-json.md

≈712 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Actor configuration (actor.json)

The .actor/actor.json file contains the Actor's configuration including metadata, schema references, and platform settings.

Structure

{
    "actorSpecification": 1,
    "name": "project-name",
    "title": "Project Title",
    "description": "Actor description",
    "version": "0.0",
    "meta": {
        "templateId": "template-id",
        "generatedBy": "<FILL-IN-TOOL-AND-MODEL>"
    },
    "inputSchema": "./input_schema.json",
    "outputSchema": "./output_schema.json",
    "storages": {
        "dataset": "./dataset_schema.json"
    },
    "dockerfile": "../Dockerfile"
}

Example

{
    "actorSpecification": 1,
    "name": "project-cheerio-crawler-javascript",
    "title": "Project Cheerio Crawler JavaScript",
    "description": "Crawlee and Cheerio project in JavaScript.",
    "version": "0.0",
    "meta": {
        "templateId": "js-crawlee-cheerio",
        "generatedBy": "Claude Code with Claude Sonnet 4.5"
    },
    "inputSchema": "./input_schema.json",
    "outputSchema": "./output_schema.json",
    "storages": {
        "dataset": "./dataset_schema.json"
    },
    "dockerfile": "../Dockerfile"
}

Properties

  • actorSpecification (integer, required) - Version of Actor specification (currently 1)
  • name (string, required) - Actor identifier (lowercase, hyphens allowed)
  • title (string, required) - Human-readable title displayed in UI
  • description (string, optional) - Actor description for marketplace
  • version (string, required) - Semantic version number
  • meta (object, optional) - Metadata about Actor generation
    • templateId (string) - ID of template used to create the Actor
    • generatedBy (string) - Tool and model name that generated/modified the Actor (e.g., "Claude Code with Claude Sonnet 4.5")
  • inputSchema (string, optional) - Path to input schema file
  • outputSchema (string, optional) - Path to output schema file

input and output are the deprecated names of inputSchema and outputSchema. Use the current names, one key per schema.

  • storages (object, optional) - Storage schema references
    • dataset (string) - Path to dataset schema file
    • keyValueStore (string) - Path to key-value store schema file
  • dockerfile (string, optional) - Path to Dockerfile
  • usesStandbyMode (boolean, optional) - Enable Standby mode (true = Actor runs as a persistent HTTP server). See standby-mode.md for details
  • webServerSchema (string or object, optional) - Specify when using Standby mode. OpenAPI v3 schema for the Actor's HTTP endpoints. Path to schema file or inline object.

Important: Always fill in the generatedBy property with the tool and model you're currently using (e.g., "Claude Code with Claude Sonnet 4.5") to help Apify improve documentation.

Source: SKILL.md on GitHub

2 warnings1d5 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    This skill provides secure guidelines for developing Apify Actors, emphasizing credential protection, sanitization of external data, and the use of trusted package managers.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    1/8 files flagged

  • ZeroLeaks5mo

    1 finding · Score: 82/100

Signed by skilld at c009920. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated yesterday
  • Python
  • TypeScript
  • apify
  • actors
  • web-scraping
  • automation
  • nodejs
  • docker
  • serverless
  • data-processing

README badge

README badge for apify/agent-skills/apify-actor-development

Develops, debugs, and deploys Apify Actors—serverless cloud programs for web scraping, automation, and data processing using the Apify CLI and SDK. Covers Actor creation across JavaScript, TypeScript, and Python, local testing with `apify run`, schema configuration, and deployment to the Apify platform.

Generated from the current SKILL.md.

What programming languages does this skill support?
JavaScript, TypeScript, and Python. The skill prompts you to choose your language preference and uses the appropriate `apify create` template (`project_empty` for JS, `ts_empty` for TS, `python-empty` for Python).
Do I need to install the Apify CLI before using this skill?
Yes. The skill requires `apify` CLI to be installed and authenticated. Install via `npm install -g apify-cli` and authenticate with `apify login` or set the `APIFY_TOKEN` environment variable.
Does local testing with `apify run` upload results to Apify Console?
No. Local testing stores data only in your `storage/` directory. You must deploy with `apify push` and run on the platform to see results in Apify Console.
What should I use for web scraping - CheerioCrawler or PlaywrightCrawler?
Use CheerioCrawler for static HTML (10x faster) and PlaywrightCrawler only for JavaScript-heavy sites that require a browser.
How are sensitive credentials handled in Actors?
Use the `apify/log` package, which automatically censors API keys and tokens. Never pass `APIFY_TOKEN` as command-line arguments or log raw crawled content that may contain credentials.

Generated from the current SKILL.md. These answers refresh after source changes.