| status | ACTIVE |
|---|---|
| version | 4.89 |
| owner_skill | ls-docs-create-move |
LocalSetup separates reusable agent capability from reusable agent orchestration.
- A skill is a portable capability package under
ls/skills/ls-*. - A workflow package is a named orchestration package under
ls/workflows/ls-wf-*. - Both install into the managed package library because both include a valid Agent Skills
SKILL.md. - Workflow packages also include
workflow.yaml, which is LocalSetup-specific metadata for aliases, required skills, gates, phases, validation, outputs, and migration notes.
The practical rule is simple: use a skill when the agent needs a capability, and use a workflow package when the agent needs a repeatable task flow with known gates and evidence.
| Source root | Package pattern | Required files | Purpose |
|---|---|---|---|
ls/skills/ |
ls-* |
SKILL.md |
Portable capability packages. |
ls/workflows/ |
ls-wf-* |
SKILL.md, workflow.yaml |
Executable workflow packages with LocalSetup orchestration metadata. |
Use ls-wf-<trigger-keywords> for workflow package directories and their
SKILL.md names. Previously published ls-workflow-* package selectors remain
available as aliases in workflow.yaml; they are compatibility names, not the
current source naming pattern. Skill packages keep their separate ls-*
pattern.
The SKILL.md file keeps the workflow executable by agent hosts that understand Agent Skills. The workflow.yaml file lets LocalSetup validate and generate framework-specific registry data.
The installer copies selected skills and selected workflow packages into:
~/.local/share/localsetup/packages
When selected with --tools or --platforms, platform adapters such as .agents/skills, .kilo/skills, and .cursor/skills attach to that managed library by symlink or portable copy. A workflow package therefore appears beside normal skills at runtime, but its source and metadata stay separate in ls/workflows/.
Workflow pack selection also pulls in required capability skills. For example, a pre-publish workflow can require publishing, versioning, and audit skills without duplicating those instructions inside the workflow package.
Installed workflow packages are materialized outputs, not the canonical source tree. Runtime-facing Markdown references to public framework docs are rewritten into references/localsetup/docs/..., and copied public docs are bundled under that package-local reference root. Each emitted package includes references/localsetup/.localsetup-reference-bundle.json with the copied references, rewrites, source-only metadata, exclusions, and validation status.
workflow.yaml.required_docs stays source-repo validation metadata. LocalSetup validates those paths against the source checkout and records them in the transform manifest as source-only metadata, but does not rewrite the YAML values for runtime hosts. Private, blocked, or traversal-style required_docs entries are rejected before an emitted package is written.
These files are generated from workflow manifests:
Do not hand-maintain workflow rows in those files. Update the relevant ls/workflows/<package>/workflow.yaml and regenerate docs instead:
uv run --locked python ls/tools/generate_docs_artifacts.py --repo-root .
uv run --locked python ls/tools/localsetup.py --source-root . generate-docsUse the catalog validator after editing skills or workflow packages:
uv run --locked python ls/tools/localsetup.py --source-root . validate-catalogThe validator checks that workflow package names match ls-wf-<workflow_id>,
SKILL.md names match directory names, aliases do not collide, dependencies
exist, required docs and tools resolve inside the repo, and each package has a
smoke row.
localsetup verify also validates emitted installed packages. It fails when a managed package is missing its transform manifest, has invalid emitted package metadata, leaks private maintenance paths, has symlink escapes, or leaves runtime-facing Markdown references pointed at source-checkout framework docs.
When the optional Agent Skills CLI is available, validate both source roots:
agentskills validate ls/skills/ls-localsetup-project-context
agentskills validate ls/workflows/ls-wf-spec-clarify-reverse- Create or edit
ls/workflows/ls-wf-<id>/. - Keep
SKILL.mdconcise and Agent Skills compliant. - Put LocalSetup orchestration metadata in
workflow.yaml. - Reference existing docs and tools instead of pasting large procedures.
- Add or update tests for new validator, installer, generation, or package behavior.
- Regenerate docs and run validation.
For the formal contract, see WORKFLOW_STANDARD.md.