← Glossary

Base pack

A versioned set of default agents, skills, and playbooks shipped inside the framework that a workspace can pin, activate, and override without forking.

Last verified

A base pack is a versioned, reusable layer of default agents, skills, and playbooks that ships inside the framework itself and composes underneath a tenant's own workspace at load time, rather than being copied into it once.

How activation works

A workspace opts in with extends: core@<version> in its workspace.yaml, naming the pack version it's pinned to. use: then activates specific pieces — naming an agent pulls in the skills it declares and the object types those skills use; use: all takes every default the pack ships; omitting use while extends is set activates nothing. disable: removes a named slug even under use: all.

Why it matters in production

Shipping default agents as code a tenant must copy and maintain means every upstream improvement requires a manual re-merge. Composing the pack at load time instead means a workspace can override a single field on one default agent — with an extends: core marker on a same-slug file — and everything else it didn't touch keeps moving with the pack version it's pinned to. Publishing a new pack version never silently reaches a pinned workspace; it moves only when the workspace edits its own pin.

How Vocion implements it

Today's only pack is core, at packages/core/templates/base/, validated by PackManifestSchema (packages/core/src/libs/workspace/schemas.ts); it ships seven default agents under packages/core/templates/base/agents/ at pack version core@2.0.0, with a review-ops layer adding two more in review. A pack is never written to the database — its version folds into the workspace_sha of any workspace that extends it. Full reference: docs/entities/base-pack.md.