Problem
The ts-empty, js-empty, and python-empty template AGENTS.md files (see ts-empty/AGENTS.md line 28, 131, 194 in the current tree) tell the agent to "create an input schema" but never spell out that the schema needs to be referenced from actor.json via a .input field.
Consequence: agents that follow these templates ship a schema file without the .input reference in actor.json, and rely on the deprecated filename-based auto-discovery.
The apify-docs academy tutorial has the same gap — a separate issue is being filed against apify-docs to add the explicit reference teaching. This template-side change is the durable companion.
Suggested change
For each -empty template (ts-empty, js-empty, python-empty), add a bullet to the AGENTS.md "Do" list (or "Input schema" section, whichever exists) that specifies:
- **Reference the input schema explicitly from `actor.json`.**
Either add a `"input": "./input_schema.json"` path reference OR inline the schema
object under `"input": { ... }`. Do NOT rely on filename-based auto-discovery — it
is deprecated and will be removed.
Also worth adding to the sibling templates that ship an INPUT_SCHEMA.json — grep suggested it's most of the -empty and -start families.
Related
- Companion PR against
apify/apify-docs — academy tutorial adds the same teaching.
- Cross-ref: apify-cli should also validate that
INPUT_SCHEMA.json presence + missing .input field emits a warning at push time (separate follow-up).
Impact
Medium. Every agent that uses these templates as a starting point inherits the anti-pattern. Forward-compat risk on auto-discovery removal.
Surfaced during an evaluation of Apify surfaces for agent-driven Actor development.
Problem
The
ts-empty,js-empty, andpython-emptytemplate AGENTS.md files (seets-empty/AGENTS.mdline 28, 131, 194 in the current tree) tell the agent to "create an input schema" but never spell out that the schema needs to be referenced fromactor.jsonvia a.inputfield.Consequence: agents that follow these templates ship a schema file without the
.inputreference inactor.json, and rely on the deprecated filename-based auto-discovery.The apify-docs academy tutorial has the same gap — a separate issue is being filed against apify-docs to add the explicit reference teaching. This template-side change is the durable companion.
Suggested change
For each
-emptytemplate (ts-empty, js-empty, python-empty), add a bullet to the AGENTS.md "Do" list (or "Input schema" section, whichever exists) that specifies:Also worth adding to the sibling templates that ship an
INPUT_SCHEMA.json— grep suggested it's most of the-emptyand-startfamilies.Related
apify/apify-docs— academy tutorial adds the same teaching.INPUT_SCHEMA.jsonpresence + missing.inputfield emits a warning at push time (separate follow-up).Impact
Medium. Every agent that uses these templates as a starting point inherits the anti-pattern. Forward-compat risk on auto-discovery removal.
Surfaced during an evaluation of Apify surfaces for agent-driven Actor development.