Directory structure
An application package is markdown-first and usually contains one or more of these canonical parts:APP.mdapp/skills/
schemas/
SKILL.md remains an Agent Skills file. APP.md is defined by the Agent Applications specification.Package kinds
Agent Applications recognizes these package roots:
This v1 specification defines only the application package root.
Common frontmatter fields
MostAPP.md manifests share this set of frontmatter fields. Tools MAY read frontmatter for discovery and cataloging.
APP.md fields
These fields are specific to the application manifest and control how a runtime discovers and operates your package.
Minimal APP.md example
CLI contract
The CLI is the executable contract of the application.Rules
- The application MUST expose a CLI entrypoint.
- The CLI MUST return machine-readable JSON by default.
- Successful commands MUST write parseable JSON to stdout.
- Failing commands SHOULD write structured JSON errors when possible.
- Failing commands MUST return a non-zero exit code.
- Diagnostics MAY be written to stderr.
- The CLI SHOULD use stable commands and stable entity identifiers.
- Human-readable output, if supported, MUST be opt-in.
- Output shape is application-defined, but it SHOULD be documented in
APP.mdand SHOULD remain stable for a given application version.
The spec does not constrain the implementation language, runtime, or packaging mechanism of the CLI. Any callable entry that satisfies the JSON output and exit code rules is compliant.
Illustrative usage
Illustrative output
Application-owned state
The application owns its state.Rules
- The application state MUST NOT depend on prompt memory or chat history.
- The application, not the model context, is the source of truth.
- Applications SHOULD be as self-contained as practical, including owning their own data and core behavior whenever possible.
app/ directory
app/ contains the application payload.
Rules
app/MUST contain the application code, executable payload, or equivalent implementation artifacts needed to operate the application.- The internal structure of
app/is application-defined. - This specification does not define build, install, or runtime layout inside
app/.
Scheduling
Scheduling is optional in v1.Allowed values
If you set
scheduling: supported, APP.md SHOULD document the relevant CLI commands.
This specification does not define what runtime invokes those commands. It only defines the application surface that an agent or host can use.
SKILL.md compatibility
This is the core compatibility rule: Agent Applications must not redefine SKILL.md.
An Agent Applications-compatible client should:
- Preserve normal Agent Skills semantics.
- Resolve local skill shortnames by convention, usually
skills/<slug>/SKILL.md. - Keep runtime-specific details out of the base
SKILL.mdcontract unless clearly marked as implementation-specific.
Optional schemas/
Application packages may include schemas/, but it is optional in v1.
If present, schemas/ MAY define:
- Command metadata
- Output shapes
- Entity shapes
Progressive disclosure
Agent Applications uses a three-tier context-management model:
This lets a runtime expose an application package without paying the full context cost upfront.
Conformance
An application is compliant with v1 if it has:APP.mdapp/skills/- A documented CLI entrypoint
- JSON output by default