ワンクリックで
supabase-debug
Use when diagnosing Supabase issues like RLS, auth, empty queries, webhooks, and performance problems in production apps.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when diagnosing Supabase issues like RLS, auth, empty queries, webhooks, and performance problems in production apps.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Walk the B1-B15 AI-to-AI blind-spot catalog systematically. Use during the audit pipeline AFTER hard-stops and Tambon hunt and BEFORE the 13 domain audits. Output: PRESENT / NOT PRESENT for each B-class with evidence. Findings flow into the appropriate domains.
Standardize remediation decisions, baseline-policy entries, and legal-review banners for accepted, deferred, or policy-blocked audit findings.
Audit the security domain - auth, authz, secrets, transport, sensitive data exposure, dependency CVEs. Run as part of /audit Phase E.
Audit the architecture and code quality domain - module boundaries, abstraction layers, code organization, naming, documentation. Run as part of /audit Phase E.
Audit the database and data layer - schema design, query patterns, migrations, indexing, RLS, soft-delete, transactions. Run as part of /audit Phase E.
Audit the infra and DevOps domain - CI/CD, deployment, IaC, secrets management, environments, logging, observability. Run as part of /audit Phase E.
| name | supabase-debug |
| description | Use when diagnosing Supabase issues like RLS, auth, empty queries, webhooks, and performance problems in production apps. |
Quick-reference debugging skill for Supabase-backed projects (9/11 active projects use Supabase).
Symptom: Query returns empty array but data exists in DB
-- View policies on a table
SELECT * FROM pg_policies WHERE tablename = 'your_table';
const { data: { user } } = await supabase.auth.getUser();
console.log('Auth state:', user-.id, user-.role);
company_id
// Verify the company_id matches
const { data } = await supabase.from('table').select('*').eq('company_id', companyId);
Symptom: 401 Unauthorized, session expired, login loops
supabase.auth.getSession()Symptom: Function call returns error or unexpected result
supabase functions listcurl -X POST <supabase_url>/functions/v1/<function_name>Symptom: Schema mismatch, missing columns/tables
supabase migration listsupabase db pushsupabase/migrations/ for conflicting filessupabase db reset (WARNING: destroys data)Symptom: UI not updating when data changes
.on('postgres_changes', { event: '*', schema: 'public', table: 'your_table' })# Check Supabase project status
npx supabase status
# View recent logs
npx supabase functions logs <function-name> --tail
# Test RLS as a specific user
npx supabase db test
# Check table structure
npx supabase db dump --schema public | grep "CREATE TABLE your_table" -A 20
| Project | Supabase URL Pattern | Schema | Special Notes |
|---|---|---|---|
| argentina-sales-hub | orqkgmcwkkzt... | public | 85+ migrations, multi-tenant via company_id |
| douglas-haig | via project config | public | QR codes with 24h expiry |
| elbraserito | nzqnibcdgqjp... | elbraserito | Custom schema, not public |
| fitflow-pro-connect2 | via project config | public | localStorage fallback |
| goodmorning/nereidas | via project config | public | Real-time order subscriptions |
| mutual | ueagbmyhdvje... | public + socios + financial + properties + loans | Multi-schema! |
| pedrito | via project config | public | Legacy SQLite references exist but unused |