service-qalisted
Install: claude install-skill treq-dev/treq
# Service QA (Supabase CLI integration checks)
## When to use
- User invokes `/service-qa`, optionally naming a flow ("service-qa desktop
token exchange", "service-qa merge-queue enabled RPC", "service-qa webhook
HMAC").
- Proactively, immediately after an Edit/Write/MultiEdit that changes the
Supabase service contract or the app code that calls it — don't wait to be
asked. If you see `additionalContext` from `post-edit-service-qa.sh` naming a
changed file, that *is* the request.
## Relationship to app-qa
| Skill | Proves | Stack |
|---|---|---|
| `/app-qa` | UI pixels and interaction | real jj + NAPI + jsdom React; **mocks** Supabase |
| `/service-qa` | Auth, RLS, RPCs, Edge Functions | real local Supabase CLI; **no** mocked supabase-js |
| UI + live Supabase | Desktop button → real RPC/RLS + webhook drain | screenshot harness **without** mocking `src/lib/supabase` (see `scripts/screenshot/specs/service-qa-ui-live-supabase.spec.tsx`); enqueue via simulated `pull_request` labeled webhooks, CI via `check_suite`, merges via worker + `MERGE_QUEUE_GITHUB_STUB` |
Do not substitute one for the other. A green `/app-qa` screenshot with a mocked
`supabase.rpc` does not prove the migration or Edge Function works. A green
service-qa RPC alone does not prove the desktop button wiring is correct — when
the user asks for screenshots of the UI talking to Supabase, capture via the
screenshot harness against `http://127.0.0.1:54321` (email/password session on
the app singleton,