From apiify
Turn a website, logged-in workflow, search page, feed, or browser task into a deterministic API script with JSON/CSV outputs. Use when the user asks to apiify/appify a site, reverse engineer web APIs, capture browser network calls, create reusable scrapers, or package a browser workflow as a callable endpoint/script.
How this skill is triggered — by the user, by Claude, or both
Slash command
/apiify:apiifyThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are converting a website workflow into a durable API artifact. The product is not a browser recording. The product is a readable, deterministic script plus metadata and verified output.
You are converting a website workflow into a durable API artifact. The product is not a browser recording. The product is a readable, deterministic script plus metadata and verified output.
Before discovery, check dependencies from this skill directory:
python3 scripts/doctor.py
If dependencies are missing and the user has asked for implementation, install them:
python3 scripts/bootstrap.py --user
python3 scripts/doctor.py
Do not paste user passwords, cookies, bearer tokens, or session IDs into chat or command history. Prefer headed browser login, browser state files, local .env files, or one-time throwaway credentials.
The standard public harness is [email protected], installed by scripts/bootstrap.py and verified by scripts/doctor.py. Do not assume ActionHub, ahbrowser, Patchright, or Playwright are already present on the user's machine. If a generated artifact needs a browser, use the packaged harness unless the artifact explicitly owns and documents another dependency.
For each target, lock these before building:
Keep questions minimal. If a reasonable default exists, choose it and continue.
Always climb down toward cheaper deterministic execution:
Tier 4 is acceptable only when lower tiers fail. Mark it as drift-prone in metadata.
Use agent-browser as the portable browser harness:
agent-browser --session "<slug>" open "<url>"
agent-browser --session "<slug>" snapshot -i --compact
agent-browser --session "<slug>" network requests --filter "api|json|graphql|search|feed|posts|data"
agent-browser --session "<slug>" cookies get
agent-browser --session "<slug>" screenshot "/tmp/<slug>.png"
agent-browser --session "<slug>" close
Use browser discovery to answer two questions:
If the browser route is needed for login, save/reuse browser state or cookies. The final script should still prefer HTTP replay after login.
Research the cheapest path first:
Do not overfit to one successful response. Verify pagination, auth expiry, empty results, rate limits, and changed query terms when feasible.
Create artifacts under:
apiified/<slug>/
script.py
metadata.json
README.md
sample-output.redacted.json
The script must:
--help;--output <path> for JSON when useful;scripts/export_csv.py;Validate metadata with:
python3 scripts/metadata_schema.py apiified/<slug>/metadata.json
Export CSV from JSON with:
python3 scripts/export_csv.py apiified/<slug>/output.json --output apiified/<slug>/output.csv
See references/artifact-contract.md.
metadata.json must include:
namesourceapproachruntime_tierdescriptioninputsoutputsauthverification_commandverification_resultknown_risksFor private APIs, include endpoint paths but redact tokens/cookies.
Before reporting done:
python3 -m py_compile apiified/<slug>/script.py.python3 apiified/<slug>/script.py --help.Report the exact files changed, the command that proved it worked, and remaining risks.
Good Apiify output is:
Bad output is:
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub sabirmgd/apiify-skills --plugin apiify