name: ai-chat-ux-best-practices description: Use this skill when planning, auditing, or refining the assistant UX in the native macOS client, especially setup, settings, chat trust surfaces, prompt wrappers, and command transparency.
AI Chat UX Best Practices
Overview
Use this skill for assistant UX work in macos/ when the product decision touches chat ergonomics, provider selection, first-run setup, settings, prompt wrappers, transcript behavior, or trust around executed DuckDB commands.
This app is a local data workstation, not a generic chatbot. The assistant must accelerate parquet and DuckDB workflows without obscuring the raw SQL and DuckDB path.
Workflow
- Start from product constraints.
Read
references/current-app-checklist.mdto anchor the work in this repo's actual requirements: local-first data access, DuckDB CLI parity, local provider CLI auth, API-key fallback, Keychain secrets, and persisted local sessions. - Read the design principles.
Read
references/principles.mdbefore proposing UI or behavior changes. The key themes are native macOS semantics, explicit trust surfaces, progressive setup, and deterministic escape hatches. - Audit the full assistant journey. Evaluate the request across first-run setup, settings, provider status, prompt entry, assistant response, SQL or raw-command preview, execution result, error recovery, and diagnostics.
- Keep native macOS behavior intact.
Prefer the standard Settings scene,
NavigationSplitView, menus, keyboard shortcuts, file panels,Table, and accessibility-first controls over custom web-style patterns. - Preserve command transparency.
Assistant prose, SQL previews, raw
duckdbpreviews, and executed results must stay visibly separate. Users should always be able to copy, edit, rerun, or bypass AI-generated suggestions. - Treat prompts as versioned product behavior. When wrapper prompts or provider behavior change, update regression fixtures or UI smoke coverage where it fits.
Rules
- Always show which provider produced the answer.
- Make the active auth path legible: local CLI session vs API key fallback.
- Keep setup short and recoverable. The first run should block once; later reconfiguration should happen through Settings or a sheet.
- Store secrets in Keychain and ordinary session state in Application Support.
- If future sandboxing is introduced, migrate persisted source access from plain file URLs to security-scoped bookmarks.
- Keep assistant copy concise and operational. If SQL or a DuckDB command is the right answer, prefer that over vague prose.
- Add or update tests when prompt wrappers, recovery behavior, or trust surfaces change materially.
References
- Read
references/principles.mdfor the condensed external research. - Read
references/current-app-checklist.mdfor repo-specific implementation guardrails. - Read
../../../docs/ai-chat-ux-best-practices.htmlfor the full research report. - Read
../../../docs/setup-and-settings-research.mdfor the current app-state and persistence seams.