Pack Spec v1
The current contract for local aouo packs.
A Pack is a vertical agent app — skills + tools + DB schema + cron + memory state + declared permissions.
File Structure
Section titled “File Structure”my-pack/├── pack.yml # Manifest (required)├── schema.sql # Database schema (optional)├── menu.json # Fast-path menus (optional)├── soul-additions.md # Append to SOUL (optional)├── rules-additions.md # Append to RULES (optional)├── skills/│ ├── onboarding/SKILL.md # Required│ ├── aggregator/SKILL.md # Required│ └── .../SKILL.md├── tools/ # Custom tools (optional)├── templates/│ ├── USER.md.tmpl│ └── MEMORY.md.tmpl└── i18n/ # Translations (optional)pack.yml Example
Section titled “pack.yml Example”name: englishversion: 1.0.0display_name: English Companiondescription: IELTS-oriented English learning companion
provided_skills: - onboarding - aggregator - shadowing - dictation - freetalk
schema: file: schema.sql owned_tables: [samples, vocabulary, sessions]
persist_contract: skill_type_prefix: "english." required_fields: [skill_type, session_id, response] subcap_keys: [listening.gist, listening.detail, vocab.recall]
cron_defaults: - id: daily-reminder schedule: "0 7 * * *" skill: daily-task enabled_by_default: true
custom_tools: - name: pronAssess path: tools/pronAssess.ts
permissions: files: [] network: [] platforms: [telegram] cron: true external_commands: []
runtime: js: tools: true external_tools: []Key Rules
Section titled “Key Rules”onboardingandaggregatorskills are mandatorypersist_contractenables schema validation on savesoul-additions.md/rules-additions.mdare append-only- Templates are copied once on first install, never overwritten
- Custom tools must export a valid
ToolDefinition - Durable data writes go through
persist;dbis read-only diagnostics