All skills
apify avatar

/apify-actorization

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

Convert existing projects into Apify Actors - serverless cloud programs. Actorize JavaScript/TypeScript (SDK with Actor.init/exit), Python (async context manager), or any language (CLI wrapper). Use when migrating code to Apify, wrapping CLI tools as Actors, or adding Actor SDK to existing projects.

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

This session only. Nothing lands on disk.

referencescli-actorization.md

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

CLI-based Actorization

For languages without an SDK (Go, Rust, Java, etc.), create a wrapper script that uses the Apify CLI.

Create wrapper script

Create start.sh in project root:

#!/bin/bash
set -e

# Get input from Apify key-value store
INPUT=$(apify actor:get-input)

# Parse input values (adjust based on your input schema)
MY_PARAM=$(echo "$INPUT" | jq -r '.myParam // "default"')

# Run your application with the input
./your-application --param "$MY_PARAM"

# If your app writes to a file, push it to key-value store
# apify actor:set-value OUTPUT --contentType application/json < output.json

# Or push structured data to dataset
# apify actor:push-data '{"result": "value"}'

Update Dockerfile

Reference the cli-start template Dockerfile which includes the ubi utility for installing binaries from GitHub releases.

FROM apify/actor-node:20

# Install ubi for easy GitHub release installation
RUN curl --silent --location \
    https://raw.githubusercontent.com/houseabsolute/ubi/master/bootstrap/bootstrap-ubi.sh | sh

# Install your CLI tool from GitHub releases (example)
# RUN ubi --project your-org/your-tool --in /usr/local/bin

# Or install apify-cli and jq manually
RUN npm install -g apify-cli
RUN apt-get update && apt-get install -y jq

# Copy your application
COPY . .

# Build your application if needed
# RUN ./build.sh

# Make start script executable
RUN chmod +x start.sh

# Run the wrapper script
CMD ["./start.sh"]

Testing CLI-based Actors

For CLI-based Actors (shell wrapper scripts), you may need to test the underlying application directly with mock input, as apify run requires a Node.js or Python entry point.

Test your wrapper script locally:

# Set up mock input
export INPUT='{"myParam": "test-value"}'

# Run wrapper script
./start.sh

CLI commands reference

Command Description
apify actor:get-input Get input JSON from key-value store
apify actor:set-value KEY Store value in key-value store
apify actor:push-data JSON Push data to dataset
apify actor:get-value KEY Retrieve value from key-value store

Source: SKILL.md on GitHub

1 warning1d5 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    The skill provides templates and instructions for building Apify Actors. It includes security best practices for handling secrets and untrusted data. One example uses a remote script execution pattern for tool installation in a Dockerfile, which is a potential security risk.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: LOW · No issues

  • Runlayer7mo

    2/5 files flagged

  • ZeroLeaks5mo

    1 finding · Score: 82/100

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

Last checked against GitHub yesterday.

Activeupdated 2 weeks ago

README badge

README badge for apify/agent-skills/apify-actorization