Agent Skills

Build a screen with StyleSeed's composed method, then run the code and pixel gates before presenting. Use when building or rebuilding a screen; sets up the project first if needed.

Install

npx skills add https://github.com/bitjaru/styleseed --skill ss-build
SKILL.md

Before this workflow, follow the once-per-session update preflight.

Build with the composed StyleSeed method

Registry-first artifact boundary

When .styleseed/project.json and .styleseed/artifacts/index.json exist, resolve the requested artifact ID first, then read only .styleseed/bundles/<artifact-id>.md and .styleseed/manifests/<artifact-id>.json. Never fall back to the global legacy bundle for a registry project. Legacy projects may use .styleseed/effective-rules.md only when no registry exists.

The build method is the product. Score and screenshots are auxiliary evidence, not the source of design judgment.

Step 1 — Establish the rule set before code

If either .styleseed/project.json or .styleseed/artifacts/index.json exists, require a complete, valid registry and resolve the requested artifact with the installed resolver's scripts/resolve-context.mjs --project-root . --artifact <artifact-id> --agent <agent>. Read .styleseed/bundles/<artifact-id>.md and preserve .styleseed/manifests/<artifact-id>.json as provenance. Do not create STYLESEED.md, restart setup, or use a legacy bundle because a registry is incomplete, invalid, or lacks a compiled output. Resolve missing scope with the user. For changes spanning multiple artifacts, resolve and check each affected artifact separately.

Only when neither registry file exists, use the legacy path: if STYLESEED.md is missing, run /ss-setup before UI code; otherwise preserve it. Invoke /ss-resolve (Claude Code) or $ss-resolve (Codex) with --from-lock STYLESEED.md --agent <agent>, read .styleseed/effective-rules.md, and preserve .styleseed/manifest.json.

If a supplied visual reference is not represented by the selected grammar, use /ss-reference within the selected project boundary. Never reduce an unfamiliar reference to a palette swap or replace approved project choices without human approval. Do not load llms-full.txt after resolution succeeds.

Step 2 — Compose, do not improvise

The compiled bundle already composes the authority order: core invariants → selected grammar → surface adapter → domain/page → brand recipe → optional profile → bounded lock → craft baseline. Use the manifest selection and source hashes to detect drift. Open a full source document only when the bundle points to a genuine ambiguity; do not reassemble the handbook ad hoc.

Before code, state the effective rule set in one line, for example:

operations-console × SaaS × dashboard × enterprise-workbench × swiss × locked brand tokens

Resolve conflicts by authority. A profile or lock cannot waive task fitness, coherence, or accessibility.

Step 3 — Build with design judgment

  • Make the grammar's user job and primary decision visible in the first viewport.
  • Establish one focal point; avoid equal-weight template grids.
  • Use the grammar's composition, density, type, color, surface, imagery/data, action, state, responsive, and motion contracts.
  • Use the recipe's containment, geometry, control, collection, and navigation morphology. Set data-styleseed-recipe="<id>" on the artifact root when using bundled pattern components.
  • Use product-specific content and evidence. Never copy the StyleSeed demo or a reference screen.
  • Implement loading, empty, error, focus, reduced-motion, and responsive behavior where relevant.

For spacing work, use the resolver's spatial roles guide. Read any compiled spacing section before choosing gaps. Map its scoped variables to existing components and preserve undeclared roles. Group related content deliberately; do not multiply nested insets or shrink type to achieve density. An implementation must consume the variables; config alone does not change rendered layout.

Step 4 — Code gate loop

For interactive work, name the required user outcomes before testing: for example, a saved setting survives reload, a failed save preserves the draft, or a viewer cannot perform an editor action. Reuse the project's real implementation and test tools; a disconnected demo or a source-text assertion does not establish that the action works.

Registry builds record applicable outcomes as validation.functional.scenarios in the artifact and cover the tests and their implementation dependencies with implementation.sourceRoots. Use the installed ss-score reference references/functional-checks.md to run and retain evidence. A failed, skipped, missing, or unexecuted required scenario blocks completion even with a high code score. If the available runner cannot execute the project, report the exact unverified outcome; do not omit its requirement to obtain a pass. Static artifacts may omit functional scenarios with an explicit not-applicable explanation.

Run /ss-score on the actual implementation. The score must name the effective rule set and check both core invariants and grammar-specific tells. Fix the highest-gain failures and re-score for at most three correction passes, stopping earlier on ≥80. Prioritize broken flows and core failures before optional score gains. If it cannot pass, report the actual score and remaining failures; do not restart the pass budget by invoking a different skill.

Step 5 — Pixel gate loop

For every renderable artifact, invoke /ss-verify: use the adapter renderer, inspect every required viewport/frame/page and relevant state, fix perceptual failures, and re-render. If no renderer is available, say the visual gate was skipped; never imply it passed.

Step 6 — Present with proof

Report:

  • effective rule set and why it fits;
  • final code score;
  • visual verification status and viewport;
  • material fixes made by the gates;
  • project/artifact configuration paths (or legacy STYLESEED.md) and any compiled grammar path.

Rules

  • Grammar before code; code gate after build; pixel gate last.
  • Output grammar is functional. Brand recipe is morphological. Aesthetic profile is optional. Neither substitutes for the grammar or permits a brand clone.
  • The primary action must remain identifiable; additional color is permitted only where the grammar gives it stable semantic or categorical meaning.
  • Re-read the lock and grammar on every UI change.

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers