Resolve effective StyleSeed context
Use the bundled scripts/resolve-context.mjs; do not hand-compose the rule stack.
- Resolve the project boundary first: if either
.styleseed/project.jsonor.styleseed/artifacts/index.jsonexists, require a complete, valid registry. Do not fall back toSTYLESEED.mdon a registry error. Only use that lock when no registry exists. - Keep the working directory at the user's project root. Invoke the script by its installed
path; do not
cdinto the skill directory. - Legacy single-artifact projects should prefer
--from-lock STYLESEED.md. Registry projects use.styleseed/project.jsonplus.styleseed/artifacts/*.jsonand must resolve with--artifactor--all; in registry mode, edit project-owned config instead of passing selection overrides. - Read the emitted bundle before building: legacy writes
.styleseed/effective-rules.md; registry writes.styleseed/bundles/<artifact-id>.md. - Preserve the manifest output: legacy uses
.styleseed/manifest.json; registry uses.styleseed/manifests/<artifact-id>.json. - Use
--checkto detect context drift without rewriting files.
For installation or project-health questions, run the read-only diagnostic first:
node <installed-ss-resolve>/scripts/styleseed-doctor.mjs --project-root . --json
It checks the local distribution inventory, project configuration, compiled rules, and stored
evidence against current inputs. Use --artifact <id> to narrow a registry check. It never
sets up, migrates, recompiles, renders, or updates the project. Follow its next actions only
within the user's authorization. Exit 0 means current evidence for all selected artifacts,
not an independent visual judgment; exit 1 means attention needed; exit 2 means invalid invocation.
Legacy projects can have current rules while evidence remains unsupported. Installation
integrity does not prove host discovery, publisher authenticity, or the latest upstream revision.
node <installed-ss-resolve>/scripts/resolve-context.mjs \
--from-lock STYLESEED.md \
--agent codex
Registry project:
node <installed-ss-resolve>/scripts/resolve-context.mjs \
--project-root . \
--artifact app-dashboard \
--agent codex
Without a lock:
node <installed-ss-resolve>/scripts/resolve-context.mjs \
--agent claude \
--grammar operations-console \
--adapter product-ui \
--domain saas \
--page dashboard \
--recipe enterprise-workbench \
--palette cobalt-instrument \
--key-color "#175CD3" \
--palette-character balanced \
--palette-mode light \
--palette-harmony auto \
--surface-temperature cool \
--profile swiss
Use --list to print supported IDs. --recipe auto maps the selected grammar to a maintained
default; --palette auto maps that recipe to a contrast-verified semantic palette. Pass explicit
values when the product needs a different morphology or color posture. The default
output directory is .styleseed/ in the
project root. For a project-local reference grammar, pass reference:<slug> and ensure
.styleseed/rulesets/<slug>/RULESET.md exists. Registry projects require the full six-file
reference contract: RULESET.md, tokens.json, evidence.json, checks.md,
reference-board.html, and adapter.json.
When a key color is present in flags or the lock, the resolver uses the shared OKLCH generator and
writes .styleseed/palette.json plus .styleseed/palette.css. The manifest records the generation
inputs. The maintained recipe still supplies product posture and semantic restrictions; its fixed
hex values become fallbacks rather than overriding the generated system.
Do not load llms-full.txt after a bundle resolves successfully. Load a larger source document
only when the bundle names an unresolved ambiguity that requires it.