Why progressive disclosure matters
Loading an entire application package upfront — including its fullAPP.md body, all local SKILL.md files, the contents of app/, optional schemas, and any command output — has a direct cost in tokens and latency. For large or complex packages, that cost is paid even when the task only needs the application’s name and description.
Progressive disclosure lets you keep context lean at startup and pay only for what you actually use.
The three tiers
| Tier | What to load | When to load it | What to expose |
|---|---|---|---|
| Catalog | APP.md frontmatter fields only | Startup or package scan | slug, name, description, version, kind, scheduling, declared commands, confirmationRequired, source, trust level |
| Activation | Full APP.md body + selected SKILL.md files | When a task needs the application | Complete contract text, local skill guidance |
| Resources | app/ files, schemas/, command output | Only when referenced or executed | Application payload, validation schemas, live state |
Tier 1: Catalog
The catalog tier is the lightest. When your runtime starts or scans for packages, parse only the YAML frontmatter of eachAPP.md. Do not read the markdown body, do not open any SKILL.md files, and do not look inside app/ or schemas/.
From the frontmatter, surface:
slug— stable portable identityname— human-readable display namedescription— short discovery descriptionversion— package versioncommands— declared command namesscheduling— whether scheduling is supportedconfirmationRequired— commands that require user confirmation before execution- Source or provenance of the package
- Trust level assigned by your runtime
Tier 2: Activation
The activation tier loads the full contract for a specific package. Trigger activation when a task indicates it needs a particular application — for example, when the user or agent selects an application, or when the runtime determines a task matches an available package. At activation time, load:- The full
APP.mdmarkdown body (the text below the frontmatter) - The
SKILL.mdfiles referenced in theskillslist, resolved by convention toskills/<slug>/SKILL.md
Resolve local skill shortnames by convention. The shortname
agentic-to-do-usage resolves to skills/agentic-to-do-usage/SKILL.md relative to the package root. Keep the package root available so these paths resolve correctly.Tier 3: Resources
The resources tier covers everything that should only load on demand:- Files inside
app/— the application payload and implementation artifacts - Files inside
schemas/— optional validation schemas for command output, entity shapes, or command metadata - Command output — the JSON returned by executing a CLI command
What not to eagerly load
To stay within the progressive disclosure model, avoid loading any of the following until explicitly needed:- The
APP.mdmarkdown body during the catalog phase - Any
SKILL.mdfile during the catalog phase - Any file inside
app/ - Any file inside
schemas/ - CLI command output before a command is actually invoked