Skip to main content
skillspec workspace is the authoring pipeline for multi-skill repositories and plugin-shaped workspaces. The pipeline advances through six ordered stages: map → validate → import → converge → compile → install. Each stage must succeed before the next can proceed.

workspace map

Discovers packages in a multi-skill source root, assigns deterministic install slugs, detects plugin namespaces, infers hard dependency edges from file references, and writes a skillspec.workspace.yml manifest.
Plugin slash-command links are workflow references, not hard dependency edges. This is not router indexing.

workspace validate

Validates a workspace manifest’s package graph before fanout import. Checks source root, package paths, exactly one SKILL.md per package, dependency references, self-dependencies, cycles, install slug uniqueness, and uncovered hard cross-package references.
Duplicate public names are warnings until install planning. Plugin slash-command workflow references may cross packages without depends_on; file references still require dependency coverage. Exits non-zero when validation fails.

workspace import

Runs fanout import for every package in a validated workspace graph. Dependency-ready packages at the same graph level may run in parallel; unchanged packages with intact artifacts are reused from a workspace cache and reported as cached.
The command writes outputs under one mirrored build root, preserves successful package outputs when another package fails, and reports built, cached, failed, skipped, and blocked packages. It does not compile, install, or refresh router indexes. Exits non-zero on failures.

workspace converge

Verifies the generated workspace build against the manifest before compile/install. Checks that every package has a ready skill.spec.yml or explicit failure evidence, validates generated specs, verifies workspace promotion proof hashes, and writes workspace-converge.report.md.
Blockers: boolean-only promotion proof without source-obligation coverage; unresolved or targetless source obligations; dependents whose dependencies are not ready. If the build root is empty, next points to workspace import. If scaffolds or missing promotion proof remain, next points to import checklist --stage loop. Exits non-zero on failure.

workspace compile

Rechecks convergence, compiles ready package specs into generated SKILL.md loaders under the mirrored build root, blocks dependents whose dependencies did not compile, and writes workspace-compile.report.md.
Does not install skills or refresh router indexes. Exits non-zero when compile fails for one or more packages.

workspace install

Preflights a compiled workspace build and installs packages into harness roots.
Multi-skill and plugin-shaped manifests hard-preserve the source parent shape. The install copies the original parent folder (omitting the source skill package subtree) and writes compiled packages back at the same relative paths. Flattened per-package folder names are rejected for these shapes.
Always run with --dry-run first to review every planned write and visibility change before performing an actual install.
After actual install, if the source root is inside a local Git checkout, the next steps recommend opening a PR with the generated contracts and proof artifacts only after restarting the harness and interacting with the installed SkillSpec-backed skills through the agent.

Grammar subcommands

These commands teach the embedded SkillSpec grammar and coverage workflow. Run grammar sensemake --view porting before importing or revising a spec so the harness does not infer grammar from memory.

Source subcommands

These subcommands build and query source maps for individual skill sources, useful before and during import.
  • skillspec doctor <path> — Assess follow-through risk and confirm workspace shape before mapping.
  • skillspec import checklist <manifest> --stage <stage> — Generate the concrete import checklist for each pipeline stage.
  • skillspec router index refresh — Refresh the router index after a workspace install.