Source profileQuality 87/100

bitjaru/styleseed/engine/.claude/skills/ss-score/SKILL.md

ss-score

Score a visual artifact's implementation quality 0-100 against its composed StyleSeed rule set — category breakdown, evidence, and prioritized fixes.

Source repository stars
871
Declared platforms
0
Static risk flags
1
Last source update
2026-08-06
Source checked
2026-08-06

Decision brief

What it does—and where it fits

/ss-review tells you what's wrong. /ss-score tells you how good it is overall and what to fix first — a single number plus a category breakdown, so you can track UI quality like you track test coverage.

Best for

    Not for

    • For a quick pass/fail before committing → use /ss-lint
    • For a full prose audit with fixes → use /ss-review

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/bitjaru/styleseed --skill "engine/.claude/skills/ss-score"
    Safe inspection promptEditorial

    Inspect the Agent Skill "ss-score" from https://github.com/bitjaru/styleseed/blob/1a00699d1a8ec083f53a0cd5196de2b252c1e0ed/engine/.claude/skills/ss-score/SKILL.md at commit 1a00699d1a8ec083f53a0cd5196de2b252c1e0ed. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Step 0 — Resolve the effective rule set

      Before scoring, read .styleseed/effective-rules.md and .styleseed/manifest.json. If they are missing or ss-resolve --check reports drift, invoke /ss-resolve or $ss-resolve from the project lock first. Only fall back to the source handbook when no project lock exists.

      Before scoring, read .styleseed/effective-rules.md and .styleseed/manifest.json. If they are missing or ss-resolve --check reports drift, invoke /ss-resolve or $ss-resolve from the project lock first. Only fall back to…Score in authority order: core invariants first, then the exact output grammar, domain/page, brand recipe, optional aesthetic profile, and bounded lock values. The lock cannot waive an invariant. Unknown values are a re…The output must name the effective rule set, for example:
    2. 02

      How to score each category

      For each category, start at full marks and subtract for violations you find by reading the code. Be specific and evidence-based — cite the line.

      For each category, start at full marks and subtract for violations you find by reading the code. Be specific and evidence-based — cite the line.Color discipline (16) — deduct for: accidental 000/text-black outside a profile or grammar contract that explicitly uses hard black structurally (−4 each, cap −8); competing decorative emphasis hues (−5); emoji used as…Distinctiveness (10) — a coherent screen can still read "AI-generated." Deduct for: the icon-chip cliché — a generic Lucide line-icon in an identical pale-tinted rounded-square, repeated for every feature/step (−4, §CC-…
    3. 03

      When NOT to use

      For a quick pass/fail before committing → use /ss-lint

      For a quick pass/fail before committing → use /ss-lintFor a full prose audit with fixes → use /ss-reviewFor logic/config with no visual artifact — scoring is meaningless
    4. 04

      What to score

      Score the file (or each file in a directory) on eight weighted categories that map to the design language. Total = 100.

      Score the file (or each file in a directory) on eight weighted categories that map to the design language. Total = 100.
    5. 05

      Output format

      Review the “Output format” section in the pinned source before continuing.

      Review and apply the “Output format” source section.

    Permission review

    Static risk signals and limitations

    Reads files

    low · line 161

    The documentation asks the agent to read local files, directories, or repositories.

    **Read the file** — score from real evidence (line numbers), never guess.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score87/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars871SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    bitjaru/styleseed
    Skill path
    engine/.claude/skills/ss-score/SKILL.md
    Commit
    1a00699d1a8ec083f53a0cd5196de2b252c1e0ed
    License
    MIT
    Collected
    2026-08-06
    Default branch
    main
    View the original SKILL.md

    Design Score

    /ss-review tells you what's wrong. /ss-score tells you how good it is overall and what to fix first — a single number plus a category breakdown, so you can track UI quality like you track test coverage.

    When NOT to use

    • For a quick pass/fail before committing → use /ss-lint
    • For a full prose audit with fixes → use /ss-review
    • For logic/config with no visual artifact — scoring is meaningless

    Step 0 — Resolve the effective rule set

    Before scoring, read .styleseed/effective-rules.md and .styleseed/manifest.json. If they are missing or ss-resolve --check reports drift, invoke /ss-resolve or $ss-resolve from the project lock first. Only fall back to the source handbook when no project lock exists.

    Score in authority order: core invariants first, then the exact output grammar, domain/page, brand recipe, optional aesthetic profile, and bounded lock values. The lock cannot waive an invariant. Unknown values are a resolver error; do not invent an exception.

    The output must name the effective rule set, for example:

    Rule set: operations-console × SaaS × dashboard × enterprise-workbench × swiss
    

    What to score

    Score the file (or each file in a directory) on eight weighted categories that map to the design language. Total = 100.

    CategoryWeightReads from
    Color discipline16DESIGN-LANGUAGE §1, §18, §72 + VISUAL-CRAFT §C4
    Hierarchy & typography16§2, §3, §4, §16 + Font Size table + VISUAL-CRAFT §C2
    Layout & rhythm12§13, §14, §15, §61 + VISUAL-CRAFT §C1
    Cards & elevation10§7, §8, §12, §1 + VISUAL-CRAFT §C3
    States & a11y18§11, §70, §71, §72 + VISUAL-CRAFT §C3
    Motion & interaction6§24, §59 + engine/motion
    Coherence12VISUAL-CRAFT §C0 (one choice per axis)
    Distinctiveness10Golden Rules 14–16 + VISUAL-CRAFT §CC-9b (not generic/default/template)

    How to score each category

    For each category, start at full marks and subtract for violations you find by reading the code. Be specific and evidence-based — cite the line.

    Color discipline (16) — deduct for: accidental #000/text-black outside a profile or grammar contract that explicitly uses hard black structurally (−4 each, cap −8); competing decorative emphasis hues (−5); emoji used as UI icons (−5); a normal/OK/"보통" state shown in a status color instead of neutral grey (−4); status color on most/every row (no severity hierarchy) (−4); decorative hues (gold stars, rainbow category dots) instead of accent/grey (−3); hardcoded hex where a semantic token exists (−2 each, cap −6); status conveyed by color alone (−4); the unlocked default indigo (#5E6AD2/#4F46E5) used as the accent instead of a chosen domain-fit color (−4).

    Distinctiveness (10) — a coherent screen can still read "AI-generated." Deduct for: the icon-chip cliché — a generic Lucide line-icon in an identical pale-tinted rounded-square, repeated for every feature/step (−4, §CC-9b); the StyleSeed demo layout copied verbatim (hero+chat / 3-step / feature-grid / pricing) with no product-specific identity (−4); no focal point — an all-even grid of same-weight, centered, evenly-spaced cards (−3); the hero shows a stock/placeholder visual instead of this product (−3); the escape hatch as a new uniform (§CC-9c) — ghost 01/02/03 index numbers on every section, or identical uppercase-overline + big-number cards repeated with no variation (−2); distinctive-but-dated (§CC-9d) — full beige/paper page base, serif body text on a product surface, dark-heavy blocks that read "brochure" not "2026 product" (−3). Cap −10.

    Hierarchy & typography (16) — deduct for: number/unit not ~2:1 (−4); font sizes off the Font Size table / text-[var(--…)] for size (−5); everything the same weight, no clear primary (−5); cramped or wrong line-height on body (−3); body < 16px on a desktop/web B2B surface (tight mobile scale on a wide screen) (−4 — but dense-data chrome is exempt: chart ticks, mono SHAs/timestamps, table metadata at 12–13px are correct; and dashboard app-chrome h1 at 22–24px is correct, not a violation of the marketing 40–56px headline scale).

    Layout & rhythm (12) — deduct for: grouping that contradicts the selected grammar or recipe (−6): operations-console needs explicit functional groups, while editorial-reading should not be forced into cards; enterprise-workbench needs aligned panels/rows while public-service needs flat step flow; arbitrary off-scale spacing (−3); same section type repeated without purpose (−4); no discernible proximity rhythm (−3).

    Cards & elevation (10) — deduct for mixed or task-inappropriate surface language. Hairlines, flat grouping, tonal ramps, or restrained shadows are valid only when the selected grammar/profile uses them coherently. Deduct mixed border/shadow languages (−4), visibly heavy or directionally inconsistent shadows (−4), or missing group/surface separation where the grammar requires it (−5).

    States & a11y (18) — deduct for: missing empty/loading/error state on a data surface (−5 each, cap −10 — a static mockup or marketing landing with NO data surface is N/A: skip these deductions, don't fail the category); contrast below 4.5:1 body / 3:1 large (−6); touch target < 44px on a touch surface (pointer-first desktop controls at 36–40px are fine) (−4); no visible focus / outline:none (−5); icon-only control without aria-label (−3).

    Motion & interaction (6) — deduct for: random/ad-hoc fades instead of a named seed/keyword (−3); motion that delays content or blocks an action (−4); no prefers-reduced-motion handling on custom motion (−3). Scroll-linked/parallax/3D/animated- gradient is SURFACE-DEPENDENT (§43): on an app/dashboard/data/form surface it's forbidden (−5); on a marketing/landing/brand page it's ALLOWED (the Cinematic tier) — there, do NOT deduct for scroll-linked reveals, pinned sections, 3D hero, or animated backgrounds; only deduct for scroll-JACKING (hijacking scroll / trapping) (−5), motion that hides content until scroll or delays the headline/CTA (−4), or a missing prefers-reduced-motion fallback (−3). Judge by page type first, then score.

    Coherence (12) — the "one choice per axis" laws (VISUAL-CRAFT §C0). Deduct for each axis that is mixed rather than unified across the file: mixed radius personalities, e.g. sharp panel + pill buttons (−5); two+ competing accent hues used for emphasis (−4); mixed shadow languages / light directions (−3); mixed icon families, fill modes, or stroke weights (−3); same radius on a nested element instead of inner = outer − padding (−2); inconsistent control heights for buttons/inputs (−2). This is the category that most predicts "looks AI-generated" — weight evidence of system-wide consistency, not per-component prettiness.

    Clamp each category at 0. Sum to a total.

    Output format

    ## Design Score: 70 / 100   (src/app/Dashboard.tsx)
    Rule set: operations-console × product-ui × SaaS × dashboard × enterprise-workbench × swiss
    
    ████████████████░░░░░░  C-
    
    Color discipline      11/16   ▓▓▓░  competing orange+blue emphasis hues (l.28-34)
    Hierarchy & typography 13/16  ▓▓▓▓  number/unit 1:1 on hero (l.18)
    Layout & rhythm         9/12  ▓▓▓░  two identical KPI rows (l.22-31)
    Cards & elevation       8/10  ▓▓░░  mixed border + floating-shadow language (l.22)
    States & a11y          11/18  ▓▓░░  no empty/loading state; focus ring missing (l.55)
    Motion & interaction    4/6   ▓▓▓░  default fade, not a named seed
    Coherence               6/12  ▓▓░░  sharp cards (l.22) + pill buttons (l.48); 3 accent hues (§C0)
    Distinctiveness          8/10  ▓▓▓░  all-even KPI grid weakens the operational focal panel
    
    ### Fix first (highest score gain)
    1. Add empty + loading states to the orders list       → +7 states (§71)
    2. Unify radius (pick soft 8-12px) + collapse to one accent → +9 coherence+color (§C0, §2)
    3. Drop the 1px borders, use tone + ≤8% shadow         → +4 cards  (§7)
    
    Re-score after: ~92 / 100.
    

    Use letter bands: 90+ A · 80-89 B · 70-79 C · 60-69 D · <60 F.

    Gate mode (use this as the Quality Gate before showing the user UI)

    The Quality Gate (CLAUDE.md / AGENTS.md) is /ss-score run as a loop, not a one-off:

    1. Score the just-generated UI.
    2. If < 80, apply the "fix first" list (use /ss-review to make the edits), then re-score.
    3. Repeat up to ~3×, or until ≥ 80.
    4. Present the UI with the final score and a one-line "fixed: …".

    The pass bar is a floor, not a ceiling — get to ≥ 80 and stop; don't chase 100. The point is that no first-draft, obviously-incoherent UI reaches the user. Especially never ship below 80 with a rainbow status list, emoji icons, two accents, or missing states — those are the exact tells the gate exists to catch.

    Rules

    • Read the file — score from real evidence (line numbers), never guess.
    • Order the "fix first" list by score gain, not by severity alone — the goal is the fastest path to a better number.
    • For a directory, print a one-line score per file, then the lowest-scoring file's full breakdown.
    • Don't auto-edit in plain scoring. /ss-score measures; /ss-review and /ss-motion fix. In Gate mode (above) you do fix-and-re-score until the floor is met.
    • As a gate, ≥ 80 is a floor before showing the user — but don't over-polish: chasing 95→100 to delay shipping is worse than shipping a clean 85.

    Alternatives

    Compare before choosing

    Computed 10043,183

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 10043,183

    coreyhaines31/marketingskills

    churn-prevention

    When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

    Computed 10014,540

    prowler-cloud/prowler

    postgresql-indexing

    PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance

    Computed 100148

    JasonColapietro/suede-creator-skills

    suede-ab-testing

    Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).