§ Diagnostic

/survey

Structured review across every dimension.

What it does

The diagnostic workhorse — a comprehensive structured review across all seven Spruce dimensions, calibrated to the product’s context, with each finding paired to a fix and grouped by severity. The output is methodical: characterization paragraph, severity-tiered findings, numbered action plan.

/survey doesn’t modify code. It produces findings the user can act on, usually by running the corrective commands the findings point to. The four severity tiers (Critical / Significant / Polish / Opportunity) calibrate to context — a missing focus state is critical on accessibility-sensitive products and significant on internal tools. Findings depend on what the product is trying to be, which is what the .spruce.md context file establishes.

Output

/survey · Stillpoint home

Survey

Reviewed Stillpoint’s home page across all seven Spruce dimensions. The foundation is in strong shape — typography commits to the Söhne + Lora pair, the warm-neutral palette is calibrated, the meditation photography is on direction. The issues below are voice slips and craft details, not character problems.

8 findings · 0 critical · 4 significant · 3 polish · 1 opportunity

Significant (4)

  • Generic SaaS-default CTA copy

    UX Writing

    Both the hero and signup primary buttons say "Get Started" — the SaaS CTA pattern (friendly-professional default the moodboard warned against). Stillpoint's voice is calm-supportive-friend; "Begin Practice" or "Start Practicing" matches the established register.

    Fix: Rewrite to specific practice-led labels. Run /voice.

  • Performative social-proof line

    UX Writing

    "Join 10,000+ people finding their stillpoint" beneath the signup form is the performative-proof pattern the .sketch.md anti-references explicitly excluded — no "join thousands" copy. Reads as wellness-influencer marketing rather than as Stillpoint's voice.

    Fix: Remove or rewrite to a quieter framing. Run /voice.

  • Three-equal-cards practices grid

    Component Patterns

    The featured-practices section uses three identical cards in a uniform grid — the three-equal-cards anti-pattern the moodboard's anti-references named as "aggressive symmetry" against the established "quietly asymmetric" direction. Cards are clean; layout archetype is the issue.

    Fix: Move to an asymmetric or tiered arrangement. Run /refine.

  • Missing apostrophe in "TODAYS PRACTICES" eyebrow

    Typography

    The practices section eyebrow renders as "TODAYS PRACTICES" without the apostrophe. Small but visible craft slip; reads as undercared on first glance at the section.

    Fix: Add apostrophe; convert to smart apostrophe. Run /typeface.

Polish (3)

  • Practices eyebrow renders at default tracking

    Typography

    The practices section eyebrow is the only all-caps eyebrow on the page without the foundation's tracking-wide token applied. The rest already use it; the holdout reads as defaulted next to the established rhythm.

    Fix: Apply --stp-tracking-wide to the practices eyebrow. Run /typeface.

  • Pull quote rendered without quote marks

    Typography

    The pull-quote section's editorial sentence runs without opening or closing quotation marks. Pull quotes carry quote marks by editorial convention; the absence reads as caption rather than as quotation.

    Fix: Add opening and closing curly quotes around the pull quote. Run /typeface.

  • Practice cards lack interactivity affordance

    Component Patterns

    Cards have a hover border-color shift but no lift or shadow change — interactivity reads as implicit rather than explicit. On a content-marketing surface this matters less; for a product home where cards are the primary affordance, more explicit signaling helps.

    Fix: Add subtle elevation shift on hover. Run /refine.

Opportunity (1)

  • Personalization banner has no fallback

    UX Decision Patterns

    The banner /decide produced renders a hardcoded recommendation; if no time-of-day signal or no recommendation is available, the banner has no quiet fallback state. Worth designing the empty/silent path.

    Fix: Add a fallback state for missing recommendations. Run /design.

Recommended next steps

  1. Address the voice slips first — they're the most visible character drift on the page. Run /voice.
  2. Reconsider the practices grid layout. Three-equal-cards contradicts the established direction; an asymmetric arrangement is the moodboard's call. Run /refine.
  3. Typography craft pass — apostrophes, letter-spacing, smart-quote conversion across the page. Run /typeface.

End of output

/survey produces findings the user can act on, calibrated to the product's context and grouped by severity. Each finding is a specific observation, not an opinion — and each ends in a command that addresses it.

When to use it

  • You want a comprehensive understanding of an interface’s current state before making changes.
  • A codebase has grown organically and accumulated issues need to be assessed.
  • Preparing to ship and want a final quality review identifying what to address and at what severity.
  • Inherited work needs assessment before figuring out what to do with it.
  • You’re asking “what’s wrong with this,” “review this,” or “tell me what needs work.”

How to use it

/survey

By default /survey reviews the full project across all seven dimensions. Pass a scope (page, area, directory) to focus the review while still considering how that scope relates to the rest of the project. /survey calibrates findings to the .spruce.md context file when one exists; without context, findings that depend on character (density, voice register) are flagged as needing context to evaluate.

  • /survey dashboard
  • /survey checkout-flow

Anti-patterns it addresses

  • Forty-finding surveys that overwhelm rather than guide. A survey that’s exhaustive isn’t actionable — aim for representative findings on systemic issues, not every instance of a recurring problem.
  • Padded Opportunity tiers with filler items invented to look thorough. A genuine opportunity finding is rare; if there are no real ones, skip the section.
  • Findings reported as opinions (“could use more whitespace”) rather than as observations grounded in specific principles or measurable criteria.
  • Severity assigned mechanically rather than calibrated to context. Identical findings get different severities in different products — what’s critical for a consumer product may be minor for an internal tool.
  • Missing the action plan. Without numbered next steps, the survey is a problem inventory rather than a direction. The closing should answer “what to do first” in three or four prioritized moves.

See also