Judgement travels with the codebase
Package APIs can describe what a function accepts. They cannot explain whether a new abstraction is justified, which tenant should own a record for its whole lifecycle, or whether an extension permission is proportionate to the feature.
@playstack/skills installs that reasoning into the repository. The guidance is versioned with the packages, visible to the team, and available before an agent starts re-deriving the architecture from individual call sites.
Skills help with choices that need context. Lint rules, tests, and
playstack doctorenforce the deterministic contract.
Seven focused reviewers
Playstack conventions
Keeps application internals portable: explicit dependencies, serializable wire contracts, trace context, escape hatches, and standard adoption where a standard exists.
Escalation
Guides an integration through the intended progression: configure the package, replace a seam when the edge differs, and eject source only when neither option fits.
Scope review
Challenges multi-tenant ownership and lifecycle decisions—not only whether a query contains a filter, but whether the selected scope is the right one.
Event design
Reviews names, granularity, and the choice between transactional domain events and observational events so operational history keeps its meaning.
Chakra composition
Helps decide when repeated component patterns should remain local, become a recipe variant, or move into a shared application theme.
Extension review
Reviews browser-extension permissions, execution contexts, worker lifecycle, bundle weight, and store policies whose failures often arrive after development is complete.
Structured data
Keeps JSON-LD, metadata, feeds, webmentions, and oEmbed representations aligned around the same content model.
Install once, inspect always
npm install --save-dev @playstack/skills @playstack/cli
npx playstack init
npx playstack skills syncThe default target is .agents/skills. You can configure additional repository-relative targets in playstack.json when different coding tools need their own discovery directory.
{
"$schema": "./node_modules/@playstack/cli/playstack.schema.json",
"skills": {
"targets": [".agents/skills"]
}
}The synchronized copies are ordinary Markdown files. Review them, commit them, and let CI detect when they no longer match the installed package:
npx playstack skills sync --diff
npx playstack skills sync --check
npx playstack doctor --checkManaged files are hash-verified and never silently overwrite a local edit. A repository can provide an explicit user-owned override for one stable skill ID without forking or modifying the packaged corpus.
Guidance without lock-in
The package does not run an agent, send code to a service, or require a specific editor. It publishes a manifest and a portable Markdown tree. The CLI handles installation and drift reporting, while the repository keeps control of where the files live and which overrides apply.
The guidance is also capability-first. It can recommend a standard or a better-fitting library when that is the right answer; its purpose is to preserve a sound application boundary, not to force every decision through a Playstack package.
Explore the complete @playstack/skills package reference, then use the Playstack CLI reference to connect Skills sync to the rest of the managed artifact workflow.