qw-pages-supabase
Prepare Supabase-compatible persistent storage for a dynamic QW Page. Use with qw-pages when a webpage needs database tables, server-side persistence, Supabase access, or database-backed APIs.
SKILL.mdqwenwork/skills/qw-pages-supabase/SKILL.md
GitHubQW Pages Supabase
Use this skill only for a dynamic webpage that needs persistent data.
- Call
qwenwork_pages_provision_databaseexactly once with a concise, meaningfulnamein the user's task language to create or reuse the current session's dynamic Page and wait until both the database state and runtime Supabase configuration are ready. Keep its returned domain for migrations and do not provision again during the same publishing workflow. - Generate idempotent schema migrations (
CREATE TABLE IF NOT EXISTS, safeALTERguards where possible) and apply them withqwenwork_pages_apply_migration. Use unqualified table names such ascheckins; never qualify an object withpublic.or create objects inpublic. The service executes SQL in the Page-owned tenant schema. - Validate the migration result and inspect the application's Supabase calls without starting the generated server or issuing direct database probes. The desktop Agent never receives runtime database credentials, and routine verification must not use
Bash,curl, repeated public polling, or test writes. Perform live read/write diagnosis only when the user explicitly requests it. - Publish through
qw-pagesonly when the user explicitly requests publishing; useqwenwork_pages_publishwithcategory: "dynamic",entrypoint,port, andwith_database: true.
The Page runtime injects SUPABASE_URL, SUPABASE_ANON_KEY, and SUPABASE_INSTANCE_ID only after the database is ready. These values are never returned to the Agent or Renderer. Do not request Page/Barn tokens, call Page/Barn HTTP endpoints, or search for Pages MCP tools. Do not use direct PostgreSQL connections, expose credentials in browser code, or run destructive data operations or migration DML for verification.