Audit Env Variables
qdhenry/Claude-Command-Suite
Analyze environment variables in JavaScript/TypeScript projects.
This skill should be used when user asks to "use supabase-js", "query Supabase database", "supabase auth", "supabase storage", "supabase realtime", "supabase edge functions", or works with the…
$ npx skills add fcakyon/claude-codex-settings --skill supabase-js -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install fcakyon/claude-codex-settings supabase-js --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/fcakyon/claude-codex-settings.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/supabase-skills/skills/supabase-js .claude/skills/supabase-js && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "supabase-js" agent skill from https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/supabase-skills/skills/supabase-js into .claude/skills/supabase-js/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supabase-js", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/supabase-skills/skills/supabase-jsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add fcakyon/claude-codex-settings --skill supabase-js -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install fcakyon/claude-codex-settings supabase-js --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fcakyon/claude-codex-settings.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/supabase-skills/skills/supabase-js .agents/skills/supabase-js && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "supabase-js" agent skill from https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/supabase-skills/skills/supabase-js into .agents/skills/supabase-js/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supabase-js", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add fcakyon/claude-codex-settings --skill supabase-js -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install fcakyon/claude-codex-settings supabase-js --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fcakyon/claude-codex-settings.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/supabase-skills/skills/supabase-js .cursor/skills/supabase-js && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "supabase-js" agent skill from https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/supabase-skills/skills/supabase-js into .cursor/skills/supabase-js/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supabase-js", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/fcakyon/claude-codex-settings.git --path plugins/supabase-skills/skills/supabase-js--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add fcakyon/claude-codex-settings --skill supabase-js -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install fcakyon/claude-codex-settings supabase-js --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fcakyon/claude-codex-settings.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/supabase-skills/skills/supabase-js .gemini/skills/supabase-js && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "supabase-js" agent skill from https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/supabase-skills/skills/supabase-js into .gemini/skills/supabase-js/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supabase-js", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install fcakyon/claude-codex-settings supabase-jsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add fcakyon/claude-codex-settings --skill supabase-js -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/fcakyon/claude-codex-settings.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/supabase-skills/skills/supabase-js .github/skills/supabase-js && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "supabase-js" agent skill from https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/supabase-skills/skills/supabase-js into .github/skills/supabase-js/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supabase-js", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add fcakyon/claude-codex-settings --skill supabase-js -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install fcakyon/claude-codex-settings supabase-js --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fcakyon/claude-codex-settings.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/supabase-skills/skills/supabase-js .opencode/skills/supabase-js && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "supabase-js" agent skill from https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/supabase-skills/skills/supabase-js into .opencode/skills/supabase-js/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supabase-js", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
supabase-jsThis skill should be used when user asks to "use supabase-js", "query Supabase database", "supabase auth", "supabase storage", "supabase realtime", "supabase edge functions", or works with the…
Supabase JS is an agent skill from fcakyon/claude-codex-settings. This skill should be used when user asks to "use supabase-js", "query Supabase database", "supabase auth", "supabase storage", "supabase realtime", "supabase edge functions", or works with the @supabase/supabase-js JavaScript/TypeScript SDK.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including reference files (for example `references/auth-js/README.md`, `references/functions-js/README.md` and `references/overview.md`).
It sits in Backend & APIs. It works with Supabase, JavaScript and TypeScript. The repository describes itself as: Battle-tested Claude Code, OpenAI Codex, Cursor configs, plugins, hooks and agents with Kimi, MiniMax and GLM API support. The licence is MIT.
Read from SKILL.md and the folder at commit a035b4e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmsupabaseFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
xyzcompany.supabase.coAlso links to:
supabase.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Supabase JS loads about 1.6k tokens when it runs, and up to ~25k if it reads all its reference files. Until then it costs about 63 tokens; SKILL.md has 118 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from fcakyon/claude-codex-settings at commit a035b4e, republished under its MIT licence (© fcakyon). 118 words, ~1,562 tokens.
.claude/skills/supabase-js/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Skill for building applications with the @supabase/supabase-js SDK. Covers Auth, Database (PostgREST), Storage, Realtime, and Edge Functions.
The SDK docs at https://supabase.com/docs/reference/javascript are the source of truth. The reference files alongside this skill contain source code and READMEs extracted from the monorepo for quick lookup.
npm install @supabase/supabase-jsimport { createClient } from '@supabase/supabase-js'
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')For type-safe queries, generate types from your database schema:
supabase gen types typescript --project-id your-project-id > database.types.tsimport { createClient } from '@supabase/supabase-js'
import type { Database } from './database.types'
const supabase = createClient<Database>(SUPABASE_URL, SUPABASE_ANON_KEY)Database query?
├─ Select rows → supabase.from('table').select('*')
├─ Filter rows → .select().eq('col', val) / .gt() / .lt() / .in() / .like()
├─ Join tables → .select('*, other_table(*)') or .select('*, other_table!fk(*)')
├─ Insert → supabase.from('table').insert({ col: val })
├─ Upsert → supabase.from('table').upsert({ id: 1, col: val })
├─ Update → supabase.from('table').update({ col: val }).eq('id', 1)
├─ Delete → supabase.from('table').delete().eq('id', 1)
├─ Call RPC function → supabase.rpc('function_name', { arg: val })
├─ Count rows → .select('*', { count: 'exact', head: true })
├─ Pagination → .range(0, 9) or .limit(10).offset(20)
└─ Order → .order('created_at', { ascending: false })Auth?
├─ Email/password sign up → supabase.auth.signUp({ email, password })
├─ Email/password sign in → supabase.auth.signInWithPassword({ email, password })
├─ OAuth (Google, GitHub, etc.) → supabase.auth.signInWithOAuth({ provider: 'google' })
├─ Magic link → supabase.auth.signInWithOtp({ email })
├─ Phone OTP → supabase.auth.signInWithOtp({ phone })
├─ Sign out → supabase.auth.signOut()
├─ Get current user → supabase.auth.getUser()
├─ Get session → supabase.auth.getSession()
├─ Listen to auth changes → supabase.auth.onAuthStateChange((event, session) => {})
├─ Reset password → supabase.auth.resetPasswordForEmail(email)
├─ Update user → supabase.auth.updateUser({ data: { name: 'New' } })
└─ Admin operations → supabase.auth.admin.listUsers() / .deleteUser(id)Storage?
├─ Upload file → supabase.storage.from('bucket').upload('path/file.png', file)
├─ Download file → supabase.storage.from('bucket').download('path/file.png')
├─ Get public URL → supabase.storage.from('bucket').getPublicUrl('path/file.png')
├─ Create signed URL → supabase.storage.from('bucket').createSignedUrl('path', 3600)
├─ List files → supabase.storage.from('bucket').list('folder')
├─ Move file → supabase.storage.from('bucket').move('old/path', 'new/path')
├─ Remove file → supabase.storage.from('bucket').remove(['path/file.png'])
├─ Create bucket → supabase.storage.createBucket('name', { public: false })
└─ List buckets → supabase.storage.listBuckets()Realtime?
├─ Listen to DB changes → supabase.channel('name')
│ .on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'messages' }, handler)
│ .subscribe()
├─ Broadcast messages → channel.send({ type: 'broadcast', event: 'cursor', payload: { x, y } })
├─ Listen to broadcasts → .on('broadcast', { event: 'cursor' }, handler)
├─ Presence (who's online) → channel.track({ user_id, online_at })
│ .on('presence', { event: 'sync' }, () => channel.presenceState())
├─ Unsubscribe → supabase.removeChannel(channel)
└─ Unsubscribe all → supabase.removeAllChannels()Edge Functions?
├─ Invoke function → supabase.functions.invoke('function-name', { body: { key: 'val' } })
├─ With custom headers → .invoke('fn', { headers: { 'x-custom': 'val' }, body })
└─ Set region → .invoke('fn', { body, region: 'us-east-1' })// Server-side only - bypasses RLS
const supabase = createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, {
auth: { persistSession: false }
})import { createClient } from '@supabase/supabase-js'
import { useEffect, useState } from 'react'
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY)
function useUser() {
const [user, setUser] = useState(null)
useEffect(() => {
supabase.auth.getUser().then(({ data }) => setUser(data.user))
const { data: { subscription } } = supabase.auth.onAuthStateChange(
(_, session) => setUser(session?.user ?? null)
)
return () => subscription.unsubscribe()
}, [])
return user
}// Generated types give autocomplete for table names, column names, and return types
const { data, error } = await supabase
.from('profiles') // autocompleted table name
.select('id, username') // autocompleted columns
.eq('id', userId) // type-safe filter
.single() // returns single row or error
// data is typed as { id: string; username: string } | null| Package | Sub-client | Reference |
|---|---|---|
@supabase/supabase-js | createClient() | references/supabase-js/ |
@supabase/auth-js | .auth | references/auth-js/ |
@supabase/postgrest-js | .from(), .rpc() | references/postgrest-js/ |
@supabase/realtime-js | .channel(), .realtime | references/realtime-js/ |
@supabase/storage-js | .storage | references/storage-js/ |
@supabase/functions-js | .functions | references/functions-js/ |
© fcakyon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in plugins/supabase-skills/skills/supabase-js of fcakyon/claude-codex-settings.
Open the folder on GitHubat commit a035b4e
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in fcakyon/claude-codex-settings, which our catalogue first saw on October 7, 2026.
Supabase JS next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Supabase JS this skillfcakyon/claude-codex-settings | 1.2k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Audit Env Variablesqdhenry/Claude-Command-Suite | 1.3k | — | ~2.8k | Automated safety check: Notes | None | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Qstash JSupstash/qstash-js | 269 | 1 repos | ~746 | Automated safety check: Pass | MIT | |
| Linea Dependency MaintenanceConsensys-Incorporated/linea-attestation-registry | 177 | 1 repos | ~3.7k | Automated safety check: Warn | MIT | |
| Crowdin API Clientcrowdin/crowdin-cli | 319 | — | ~1.1k | Automated safety check: Pass | MIT |
qdhenry/Claude-Command-Suite
Analyze environment variables in JavaScript/TypeScript projects.
google-gemini/gemini-skills
A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.
upstash/qstash-js
Work with the QStash JavaScript/TypeScript SDK for serverless messaging, scheduling.
Consensys-Incorporated/linea-attestation-registry
Safely plan and execute dependency maintenance for JavaScript/TypeScript (npm, pnpm) and GitHub Actions, including npm lockfiles, pnpm workspaces, catalogs, overrides, SHA-pinned action versions…
crowdin/crowdin-cli
A skill your agent uses when implementing, refactoring, or reviewing @crowdin/crowdin-api-client usage in any JavaScript or TypeScript project, especially for endpoint selection, request/response…
sasjs/core
Frontend/Node integration with SAS backends using @sasjs/adapter - configuring the SASjs class, the exact request() inputs and response shape, authentication, file upload, and session management.
fcakyon/claude-codex-settings
Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.
fcakyon/claude-codex-settings
This skill should be used when user asks to "query OpenObserve", "create OpenObserve dashboard", "edit OpenObserve panel", "fetch OpenObserve logs", "run OpenObserve search", "list OpenObserve…
fcakyon/claude-codex-settings
This skill should be used when user asks to "improve my mAP", "why is my model overfitting", "my training is diverging", "read my results.csv", "interpret my training curves", "my AP50 is good but…
fcakyon/claude-codex-settings
This skill should be used when user asks to "deploy with Dokploy", "use Dokploy Cloud", "manage self-hosted Dokploy", "deploy Docker Compose on Dokploy", "manage Dokploy databases", "configure…
fcakyon/claude-codex-settings
This skill should be used when the user asks to "create openship.json", "configure an OpenShip deployment", "make a repo deployable on OpenShip", or fix "openship config validate" errors.
fcakyon/claude-codex-settings
This skill should be used when writing, reviewing, or refactoring Python code.
Works with
Categories
This skill should be used when user asks to "use supabase-js", "query Supabase database", "supabase auth", "supabase storage", "supabase realtime", "supabase edge functions", or works with the…. Supabase JS is an agent skill from fcakyon/claude-codex-settings. This skill should be used when user asks to "use supabase-js", "query Supabase database", "supabase auth", "supabase storage", "supabase realtime", "supabase edge functions", or works with the @supabase/supabase-js JavaScript/TypeScript SDK.
Supabase JS fits situations like: asks to use supabase-js; query Supabase database; supabase storage; supabase realtime.
Run `npx skills add fcakyon/claude-codex-settings --skill supabase-js -a claude-code`. Or copy the skill folder (plugins/supabase-skills/skills/supabase-js in fcakyon/claude-codex-settings) into .claude/skills/supabase-js in your project. Claude Code loads it when a task matches its description.
Run `npx skills add fcakyon/claude-codex-settings --skill supabase-js -a codex`. Or copy the skill folder (plugins/supabase-skills/skills/supabase-js in fcakyon/claude-codex-settings) into .agents/skills/supabase-js in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fcakyon/claude-codex-settings --skill supabase-js -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/supabase-js, .gemini/skills/supabase-js, .github/skills/supabase-js and .opencode/skills/supabase-js in your project.
Going by SKILL.md and its folder, Supabase JS needs the command-line tools its instructions call (npm and supabase) and credentials named SUPABASE_ANON_KEY and SUPABASE_SERVICE_ROLE_KEY. Our summary lists: Node.js; A credential in SUPABASE_ANON_KEY; A credential in SUPABASE_SERVICE_ROLE_KEY.
SKILL.md names 2 domains. In commands or code: xyzcompany.supabase.co; the agent is likely to contact it when it follows the instructions. As links in the text: supabase.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Supabase JS is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 23k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Supabase JS: Audit Env Variables (qdhenry/Claude-Command-Suite, 1.3k stars), Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars), Qstash JS (upstash/qstash-js, 269 stars) and Linea Dependency Maintenance (Consensys-Incorporated/linea-attestation-registry, 177 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
fcakyon (a GitHub user) maintains it in fcakyon/claude-codex-settings, which has 1,163 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on October 6, 2026.
Source: fcakyon/claude-codex-settings on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.