Skip to main content
This guide walks you through building a minimal Agent Application package from scratch. By the end, you’ll have a working package with a conformant APP.md, a CLI that returns JSON, and a local skill. The agentic-to-do example in the repository is a full reference implementation of these same patterns.

Conformance checklist

A v1-conformant package requires:
  • APP.md present
  • app/ directory present
  • skills/ directory present
  • A documented CLI entrypoint
  • JSON output by default
The steps below satisfy all five requirements.
1

Create the package directory

Create a folder for your package. Give it a name that matches the slug you’ll use in APP.md.
Create the required top-level directories:
Your package root now looks like this:
2

Write the APP.md manifest

Create APP.md at the package root. Start with the YAML frontmatter, then add the body sections that document your CLI contract.
APP.md
The entry.command value is whatever CLI command your runtime should invoke. It can be a binary, a shell command, or a script runner like node app/cli.js — as long as calling it produces JSON on stdout.
Key frontmatter fields:
3

Create the CLI inside app/

Add a CLI script at app/cli.js. The CLI must write JSON to stdout by default and exit with a non-zero code on failure.
app/cli.js
Test it locally:
You should see JSON on stdout:
Human-readable output is allowed but must be opt-in (for example, a --human flag). JSON must be the default.
4

Create a SKILL.md in skills/

Create skills/my-app-usage/SKILL.md. The skill shortname in APP.mdmy-app-usage — resolves to this path by convention.
skills/my-app-usage/SKILL.md
SKILL.md files follow the Agent Skills format. Agent Applications does not redefine SKILL.md — it references the same format.
5

Verify conformance

Check that your package meets all five v1 conformance requirements.1. Required files and directories exist:
2. The entry command runs and returns JSON:
Expected output:
3. The CLI exits non-zero on failure:
Expected output:
4. Your final package structure:
Your package is now v1-conformant.

Next steps

Package structure

Learn what each part of the package is responsible for.

APP.md reference

See all supported frontmatter fields and body sections.

Authoring best practices

Write packages that stay portable, legible, and testable.

Example app

Explore the full agentic-to-do reference package.