docs(skills): merge output-schema skill into actor-development - #87
Merged
patrikbraborec merged 10 commits intoSep 30, 2026
Merged
Conversation
…im for agents - Move apify-generate-output-schema into actor-development as references/output-schemas.md; remove the standalone skill, its marketplace entry, and README/AGENTS.md references - Delete the three duplicate schema references (dataset, output, key-value store) that disagreed with the generator's hard rules - Rewrite input-schema.md from the v1 specification: default vs prefill vs required, editors per type, isSecret, errorMessage, resource type - Rewrite SKILL.md: workflow steps first with completion criteria, reference pointers folded into steps, each rule stated once in positive form, new description naming the trigger branches - Point create-actor command and actorization reference at the shared output-schemas.md
apify create now prompts for name, use case, language, template, and source hosting, and installs dependencies itself. Document the non-interactive form (name + --template), the manifest template IDs (js-empty, ts-empty, python-empty, *-standby), --source for Git-hosted Actors, and git push as the deploy path for those.
Lead with the non-interactive form, drop the prompt list and the --use-case/--language filter (unreachable when --template is passed), drop CLI-output exposition from the deploy step, and note that the standby templates already set usesStandbyMode.
patrikbraborec
force-pushed
the
docs/merge-output-schema-into-actor-development
branch
from
September 9, 2026 08:33
53ad157 to
98c9cf4
Compare
Co-authored-by: Cursor <cursoragent@cursor.com>
- Python standby: Actor.configuration.web_server_port (Actor.config does
not exist in the Python SDK); test through apify run, which serves on
4321, instead of starting the server directly
- JS/TS logger is `log` from the `apify` package, matching the templates
- Python entry point is my_actor/main.py; cover uv projects
- Use inputSchema/outputSchema in actor.json, as the templates do since
actor-templates#822; input/output are the deprecated names
- Make apify validate-schema part of the output schema checklist, noting
that CLI 1.10 skips a schema referenced as outputSchema, and treat a
template's `fields: {}` as a placeholder, not a style
- Add aborting, proxy, pay-per-event, and generate-schema-types guidance
and Python crawler/router names
- Reduce commands/create-actor.md to discovery and approval gates around
the skill's workflow, dropping links to template files that do not exist
…done-conditions Findings from an end-to-end eval (5 scenarios, headless Claude Code): - Bare `apify create` prompts interactively; headless agents read --help repeatedly and guessed template ids. Give `apify create <name> -t <id>`, a use-case to template table, and `apify templates ls` for the rest. - The aborting handler was implemented in 1/5 Actors while it sat only in Rules; done-conditions were followed every time. Add it to step 3. - No run reported the Standby URL after deploy. Add it to step 9.
Existing installs reference the plugin by name, so removing it breaks updates. The stub points agents to apify-actor-development and is left out of AGENTS.md via a deprecated frontmatter flag.
The stub hardcoded /plugin install, which is wrong for users who installed via npx skills add or a cloned repo.
l2ysho
approved these changes
Sep 30, 2026
…ema-into-actor-development # Conflicts: # agents/AGENTS.md # commands/create-actor.md # skills/apify-actor-development/SKILL.md # skills/apify-generate-output-schema/SKILL.md
patrikbraborec
deleted the
docs/merge-output-schema-into-actor-development
branch
September 30, 2026 09:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reviewed the Actor development skills against the
writing-for-agentsguidance and consolidated them so there is one skill to install and one place for schema rules.Two skills become one, and four overlapping schema references collapse into one:
Why
The two skills disagreed, so an agent following one produced schemas the other rejected:
The same disagreement covered
additionalPropertiesat both levels andtype: stringon output properties.What changed
apify-generate-output-schemaintoapify-actor-developmentasreferences/output-schemas.md. The standalone skill, its marketplace entry, and its README/AGENTS.md references are removed. Its trigger branch ("generate or update schemas") now lives in the actor-development description.dataset-schema.md,output-schema.md,key-value-store-schema.md).input-schema.mdfrom the v1 specification: default vs prefill vs required, editors per type,isSecret,errorMessage, resource fields, deprecatedpatternKey/patternValue.SKILL.md: workflow steps first with checkable done-conditions, reference pointers folded into the steps, each rule stated once in positive form, command list reduced to the non-obvious entries.output-schemas.md.agents/AGENTS.mdregenerated withscripts/generate_agents.py.Aligned with the templates and apify/actor-templates#929
Reading the skill next to the new template
AGENTS.mdas an agent would turned up places where following either one produced wrong code:Actor.config.container_port, which the Python SDK does not have. It isActor.configuration.web_server_port, as inpython-standby. Local testing now goes throughapify run(checked: it servesjs-standbyon 4321 and answers the readiness probe with 200) instead of contradicting the "onlyapify run" rule.logfrom theapifypackage (import { Actor, log } from 'apify'), as every template imports it, instead ofapify/log.my_actor/main.py, notsrc/main.py;uvprojects (pyproject.toml,uv.lock) covered.inputSchema/outputSchema, which the templates use since actor-templates#822;input/outputare the deprecated names.apify validate-schemais part of the output-schema checklist. CLI 1.10 reads only the deprecatedoutputkey, so it skips anoutputSchema; the checklist says so. A template's"fields": {}is a placeholder, not a style to match.abortinghandler (JS and Python), proxy setup from theproxyConfigurationinput, a monetization section (pay-per-eventActor.charge, spending limit),apify actor generate-schema-typesfor TypeScript, Python crawler and router names.commands/create-actor.mdreduced to discovery and approval gates around the skill's workflow. It linked to template files that do not exist and carried its own divergent workflow and README list.Everything else in the diff is fallout from the removal:
graph LR A["delete apify-generate-output-schema"] --> B["marketplace.json<br/>−16 entry"] A --> C["README.md<br/>−4 listing"] A --> D["commands/create-actor.md<br/>repoint links"] A --> E["agents/AGENTS.md<br/>regenerated by script"]apify-actor-development/SKILL.mdinput-schema.mdBreaking change
The
apify-generate-output-schemaplugin no longer exists. Users who installed it get the same behaviour fromapify-actor-development.Dropped and left alone, flagging for review