DAL skills and packages: how the system is organized
Skills and packages are how DAL stays modular—focused capability files and larger domain bundles instead of one giant prompt.
This article explains how they are organized in the repository and when to reach for each.
- packages: higher-level capability bundles under
packages/ - skills: focused
.skill.dalfiles that describe what the agent can do in a narrow domain
Together, they form a practical modular system for extending the agent without stuffing everything into one prompt or one giant runtime file.
What a package is
A package groups related functionality, templates, scripts, tests, and skills.
In this repo, the main packages are:
packages/office/packages/creative/packages/shopkeeper/
Each package has its own README and supporting files. That makes it easier to treat a package like a product area or domain module rather than a loose folder of prompts.
What a skill is
A skill is a DAL file with a .skill.dal extension. Skills are small, purpose-built capability descriptions or tool-oriented behaviors that the agent can load and use.
Examples from this repo include:
packages/office/skills/office_core.skill.dalpackages/office/skills/office_docs.skill.dalpackages/office/skills/office_sheets.skill.dalpackages/creative/skills/creative_arts.skill.dalpackages/shopkeeper/skills/shopkeeper_orders.skill.dalpackages/shopkeeper/skills/shopkeeper_support.skill.dal
The naming convention is straightforward: package name first, then the capability area.
Why split skills from packages
This split gives a few benefits:
- 1. Discoverability — package folders show the domain at a glance.
- 2. Reuse — skills can be reused across workflows without duplicating the whole package.
- 3. Maintainability — updates to one skill do not require rewriting the rest of the package.
- 4. Testability — packages can include tests and scripts around the same domain.
- 5. Prompt hygiene — the agent can stay focused by loading only the relevant skill set.
Package examples in this repo
Office
The office package includes skills for common productivity work:
- communications
- core actions
- docs
- sheets
- slides
This suggests an office automation stack where different document types and workflows are separated cleanly.
Creative
The creative package is smaller and more focused. It currently contains a creative arts skill, which implies a domain for ideation, composition, or other creative assistance.
Shopkeeper
The shopkeeper package is the most feature-rich of the three. It includes skills for:
- assistance
- catalog management
- channels
- core operations
- growth
- orders
- pricing
- support
That structure looks like a commerce assistant split into operational subdomains.
How this helps DAL development
For DAL development, this layout is useful because it encourages a layered architecture:
- packages define the domain boundary
- skills define the agent behavior within that boundary
- templates/scripts/tests support execution and validation
That means you can evolve a capability by improving a single skill, then validate it with package-level scripts and tests.
Practical takeaway
If you are adding a new capability to DAL:
- create or extend the relevant package under
packages/ - add a narrowly scoped
.skill.dalfile under that package’sskills/ - keep the skill focused on one job
- add scripts/templates/tests around it if the package needs operational support
This keeps the system modular and makes the agent easier to reason about over time.