Skip to content

empty templates: AGENTS.md Do-list should require explicit .input reference in actor.json #838

Description

@DaveHanns

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions