src/abyss/builtin_skills/supabase/SKILL.md
# Supabase Supabase MCP. Database (PostgreSQL), Storage, Edge Functions, Branches. ## CRITICAL SAFETY RULES — NEVER DELETE DATA **절대 금지 SQL**: `DELETE FROM`, `DROP TABLE/SCHEMA/DATABASE/FUNCTION/TRIGGER/INDEX/VIEW/POLICY/ROLE`, `TRUNCATE`, `ALTER TABLE ... DROP COLUMN` **절대 금지 MCP**: `delete_branch`, `reset_branch`, `pause_project` **삭제 대안**: soft delete (`is_deleted`/`deleted_at`), archive 테이블, `is_active` 컬럼 **RLS 변경 시 반드시 SQL을 보여주고 사용자 확인** 후 실행 **스키마 변경은 트랜잭션으로**: `BEGIN; ... COMMIT;` ##
npx skillsauth add heg-wtf/cclaw src/abyss/builtin_skills/supabaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Supabase MCP. Database (PostgreSQL), Storage, Edge Functions, Branches.
절대 금지 SQL: DELETE FROM, DROP TABLE/SCHEMA/DATABASE/FUNCTION/TRIGGER/INDEX/VIEW/POLICY/ROLE, TRUNCATE, ALTER TABLE ... DROP COLUMN
절대 금지 MCP: delete_branch, reset_branch, pause_project
삭제 대안: soft delete (is_deleted/deleted_at), archive 테이블, is_active 컬럼
RLS 변경 시 반드시 SQL을 보여주고 사용자 확인 후 실행
스키마 변경은 트랜잭션으로: BEGIN; ... COMMIT;
-- 조회 (항상 LIMIT 포함)
SELECT * FROM table_name WHERE condition LIMIT 100;
-- 삽입
INSERT INTO table_name (col1, col2) VALUES ('v1', 'v2');
-- 수정 (항상 WHERE 포함)
UPDATE table_name SET col1 = 'new' WHERE condition;
-- 테이블 생성
CREATE TABLE IF NOT EXISTS t (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
created_at TIMESTAMPTZ DEFAULT now()
);
-- 컬럼 추가 / 인덱스 생성
ALTER TABLE t ADD COLUMN col data_type;
CREATE INDEX IF NOT EXISTS idx ON t (col);
-- 스키마 확인
SELECT table_name, column_name, data_type FROM information_schema.columns
WHERE table_schema = 'public' ORDER BY table_name, ordinal_position;
조회, 소스 읽기, 배포.
SELECT * FROM storage.buckets;
SELECT * FROM storage.objects WHERE bucket_id = 'name' LIMIT 100;
브랜치 목록/생성/병합. 삭제·리셋 금지.
list_tables로 스키마 확인EXPLAIN 먼저tools
# Linear Linear 이슈 트래커 MCP (stdio, personal API token). 이슈 검색·생성·수정·코멘트, 팀/프로젝트/사이클 조회, 우선순위/라벨/할당자 관리. **Always confirm before creating/updating issues or posting comments.** 생성 전 team·project·title·assignee 확인 후 승인. 상태 전환 전 현재→목표 확인 후 승인. 일괄 수정 금지. 삭제는 사용 안 함 (status를 cancelled / done으로 전환 제안). ## Auth 서버: [`@tacticlaunch/mcp-linear`](https://www.npmjs.com/package/@tacticlaunch/mcp-linear) (stdio, `npx -y`). 인증: 환경변수 **`LINEAR_API_TOKEN`** (Linear → Settings → API → "Create new personal AP
tools
# About Me (Shared User Knowledge Base) You have a structured, shared knowledge base about the user across seven categories: `identity`, `relationships`, `preferences`, `routines`, `current_focus`, `health`, `values`. A short index of confirmed facts is already in your CLAUDE.md system prompt under the **About Me (Shared, Read-Only)** section. You have **four tools** to interact with this knowledge base: - `about_me_propose` — propose a new fact you have just learned - `about_me_get` — read e
development
# code_review Run a Claude Code `ultrareview` on a pull request or local target and summarize findings back to the user. Use this when the user asks for a code review, asks you to "ultrareview", drops a PR link, or otherwise wants a multi-aspect review of code rather than a free-form chat about a diff. ## When to use Trigger this skill when the message is clearly a review request: - A GitHub / GitLab / Bitbucket PR URL. - A bare PR number (e.g. `#123`). - A local path (`src/auth/`) plus the
tools
# Conversation Search You have a tool that searches your **own past conversations with the user**. Use it when you need to recall something specific that the user mentioned earlier and is no longer in the visible context window. ## When to call `search_conversations` Call this tool when **any** of the following is true: - The user asks about something they previously told you ("지난주에 추천한 책 뭐였지?", "what was the cafe name I mentioned?"). - They reference a past plan, decision, or commitment t