Supabase Development and Debugging
supabase/agent-skills
General Supabase skill for database, auth, Edge Functions, Realtime and storage work, plus client libraries, migrations, security audits, debugging and reading logs.
Build on vibenet — Base's devnet for native account abstraction (EIP-8130), payer gas sponsorship (ERC-8168), and Cobalt 200ms native blocks.
$ npx skills add base/skills --skill vibenet -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install base/skills vibenet --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/base/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vibenet .claude/skills/vibenet && 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 "vibenet" agent skill from https://github.com/base/skills/tree/master/skills/vibenet into .claude/skills/vibenet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibenet", 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/base/skills/tree/master/skills/vibenetType 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 base/skills --skill vibenet -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install base/skills vibenet --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/base/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/vibenet .agents/skills/vibenet && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vibenet" agent skill from https://github.com/base/skills/tree/master/skills/vibenet into .agents/skills/vibenet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibenet", 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 base/skills --skill vibenet -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install base/skills vibenet --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/base/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/vibenet .cursor/skills/vibenet && 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 "vibenet" agent skill from https://github.com/base/skills/tree/master/skills/vibenet into .cursor/skills/vibenet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibenet", 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/base/skills.git --path skills/vibenet--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 base/skills --skill vibenet -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install base/skills vibenet --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/base/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/vibenet .gemini/skills/vibenet && 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 "vibenet" agent skill from https://github.com/base/skills/tree/master/skills/vibenet into .gemini/skills/vibenet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibenet", 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 base/skills vibenetInstalls 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 base/skills --skill vibenet -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/base/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/vibenet .github/skills/vibenet && 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 "vibenet" agent skill from https://github.com/base/skills/tree/master/skills/vibenet into .github/skills/vibenet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibenet", 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 base/skills --skill vibenet -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install base/skills vibenet --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/base/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/vibenet .opencode/skills/vibenet && 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 "vibenet" agent skill from https://github.com/base/skills/tree/master/skills/vibenet into .opencode/skills/vibenet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vibenet", 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.
vibenetBuild on vibenet — Base's devnet for native account abstraction (EIP-8130), payer gas sponsorship (ERC-8168), and Cobalt 200ms native blocks.
Vibenet is an agent skill from base/skills. Build on vibenet — Base's devnet for native account abstraction (EIP-8130), payer gas sponsorship (ERC-8168), and Cobalt 200ms native blocks. Use whenever the user mentions vibenet, EIP-8130, ERC-8168, 8130 accounts, native account abstraction, session keys, actors, policies, payers, gas sponsorship on Base, 200ms blocks, Cobalt, BaseTime, timestampMs / blockTimestampMs, sub-second or millisecond block timestamps, migrating from Flashblocks, or newHeads / WebSocket streaming on vibenet — or is writing code that…
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/200ms-blocks.md`, `references/eip8130-accounts.md` and `references/payer-sponsorship.md`).
It sits in Backend & APIs, covering Realtime and WebSockets. It works with viem and wagmi. The repository describes itself as: npx skills add base/skills. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4f3d8f3. 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.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
npmnpxgitnodebunFrom 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:
api.vibes.base.orggithub.comchain.base.orgrpc.vibes.base.orgsepolia.base.orgAlso links to:
docs.base.orgeip.toolsgist.github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vibenet loads about 2.7k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 196 tokens; SKILL.md has 1,070 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); the scripts in this folder are not scanned.
The full file from base/skills at commit 4f3d8f3, republished under its MIT licence (© base). 1,070 words, ~2,712 tokens.
.claude/skills/vibenet/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Vibenet is Base's devnet for EIP-8130 native account abstraction: account
abstraction in the protocol itself. Accounts are portable across EVM chains,
support multiple signer types (secp256k1, P-256, WebAuthn), key rotation
without changing address, scoped session-key actors, on-chain policies, and
native ERC-8168 gas sponsorship. The tooling lives in viem's eip8130
module (fork branch — not yet in npm viem). Vibenet is also the first Base
network running Cobalt 200ms native blocks (five canonical blocks per
second, with a millisecond timestampMs on every block) — that part needs no
fork, stock viem works. See
references/200ms-blocks.md.
| Endpoint | Value |
|---|---|
| Chain ID | 84538453 |
| Public execution RPC | https://rpc.vibes.base.org — 8130-capable (AA_TX_TYPE / 0x79), serves access-control-allow-origin: * |
| WebSocket RPC | wss://rpc.vibes.base.org/ws — newHeads, logs, transactionReceipts subscriptions (the /ws path is required) |
| Block time | 200ms (Cobalt); blocks carry timestampMs, BaseTime predeploy at 0x4200000000000000000000000000000000000030 |
| Browser RPC proxy | https://api.vibes.base.org/api/vibenet/account/rpc — passes through all eth_*, including 0x79 broadcasts and receipt polling |
| Hosted payer (ERC-8168) | https://api.vibes.base.org/api/vibenet/account/payer |
| Faucet | POST https://api.vibes.base.org/api/vibenet/faucet/drip with { "address": "0x…" } |
| Faucet status | GET https://api.vibes.base.org/api/vibenet/faucet/status — drip size, cooldowns, USDV/NFV token addresses |
| Chain health | GET https://api.vibes.base.org/api/vibenet/chain-health — key off healthy + headAgeSecs; stuckSecs is not actionable on its own (seen at 19000 on a healthy chain) |
| Landing page / explorer | https://chain.base.org/vibenet, https://chain.base.org/vibenet/explorer |
| Base Sepolia (also 8130-enabled) | https://sepolia.base.org, chain id 84532 |
The API host is api.vibes.base.org, not vibes.base.org. The bare host
302-redirects to the chain.base.org/vibenet HTML page; viem's HTTP transport
then tries to parse that as JSON and throws Unrecognized token '<', which
reads like a code bug rather than a wrong URL.
All api.vibes.base.org endpoints (RPC proxy, payer, faucet) send permissive
CORS headers, and so does rpc.vibes.base.org — so browser apps can talk to
either. Prefer rpc.vibes.base.org for execution and reserve the account/rpc
proxy for when you specifically want the hosted path. The public RPC is
method-allowlisted: eth_getHeaderBy*, eth_getBlockReceipts,
eth_sendRawTransactionSync, eth_simulateV1 and txpool_* answer
rpc method is not whitelisted.
Only 8130 / 8168 code needs the fork below. Querying blocks, streaming
newHeads, and sending plain EOA transactions on vibenet work with stock
npm install viem.
The 8130 modules are additive to viem itself, proposed upstream in
wevm/viem#5004 (open, out of draft —
not yet merged or released to npm). Until it ships, they have to be built from the fork
branch the PR is opened from: chunter-cb/viem feat/eip-8130-production.
Use the bundled installer — it does the whole clone→build→link dance, which is error-prone by hand:
scripts/setup-viem-8130.sh [APP_DIR] [BUILD_DIR] # APP_DIR defaults to the current directoryBUILD_DIR defaults to <APP_DIR>/.viem-8130-src — a full viem monorepo
checkout with its own node_modules (~500 MB). The script appends
.viem-8130-src/ to the app's .gitignore so a git add . can't commit it;
for several apps, pass one shared BUILD_DIR outside them (npm records the
file: path in package.json). Node 22 works despite the fork's
node >=24.5 engine warning.
When PR #5004 merges and a viem release ships the modules, this collapses to
npm install viem@latest — the imports (viem/eip8130, viem/eip8168) and
APIs are unchanged, so no code moves.
<details><summary>What the script does, and why each step is needed</summary>
The tooling is not installable from git directly: viem's workspace uses
pnpm's catalog: protocol, so npm install "viem@github:…" fails outright, and
bun add "viem@github:…" "succeeds" but leaves you an unbuilt monorepo with no
exports field. So you clone, build, then depend on the built package (which
lives in viem's src/):
git clone -b feat/eip-8130-production https://github.com/chunter-cb/viem viem-fork
cd viem-fork && npx pnpm install --ignore-scripts && npx pnpm run build
# then in your app — --install-links is required:
npm install --install-links "viem@file:../viem-fork/src"--install-links is required. Without it npm symlinks node_modules/viem
to a path outside the project root, and Turbopack/Next.js then fails with
Module not found: Can't resolve 'viem' for a package that is plainly there
(tsc resolves it fine, which makes it look like a bundler bug).
</details>
Then import from viem/eip8130 (and viem/eip8168 for payers). Core helpers
like createPublicClient / parseEther come from plain viem — the 8130
module does not re-export them.
Set "target": "ES2020" or later in tsconfig.json. BigInt literals (0n)
trigger TS2737 on any lower target — the check depends on target, not
lib, and many generated configs still default to an older target.
Creating an account derives a CREATE2 address locally — synchronous, zero RPC,
eth_getCode still 0x. It becomes real as a side effect of its first
transaction, which carries account.createChange alongside your actual calls.
There is nothing else to call. The shortest path from nothing to a deployed
account is a sponsored first tx (no faucet, no funding — for a zero-value
first tx; sponsorship covers gas, never value); the self-paid route needs the
address funded first. Read deployment state from eth_getCode, never
from optimistic local state — it decides whether the next tx carries
createChange. Full lifecycle:
references/eip8130-accounts.md.
key.k1(...) builds an actor identity, not a signer — passing it (or a
raw private-key hex) as signer fails with an opaque pad() TypeError. Use
privateKeyToAccount(pk).isActor /
getConfigSequence), never by receipt logs or status: success — a
skipped authorize is silent.Read the reference for your task:
| Task | When to Use | Reference |
|---|---|---|
| Accounts & transactions | Create an 8130 smart account, the counterfactual→deployed lifecycle, send batched calls, attribution metadata, gas estimation, reading account state, locking, gotchas | references/eip8130-accounts.md |
| Session keys & policies | Authorize/revoke actors, scopes, SessionPolicy spend limits, config sequences, verifying "silent" changes | references/session-keys-and-policies.md |
| Gas sponsorship | Sponsor gas with a payer (ERC-8168), gasless onboarding, send vs sign modes | references/payer-sponsorship.md |
| 200ms blocks & timing | Read a block's millisecond timestamp (timestampMs), decode the BaseTime deposit / predeploy, stream newHeads over WebSocket, send a tx and see which 200ms block it landed in, fix viem polling, migrate from Flashblocks | references/200ms-blocks.md |
rpc.vibes.base.org works from both Node and the
browser; wss://rpc.vibes.base.org/ws for subscriptions;
api.vibes.base.org/api/vibenet/account/rpc is the hosted proxy to the same
chain. Never vibes.base.org — that host is not an API.scripts/setup-viem-8130.sh
install (8130/8168 only), read-back verification for any account-config
change, and an explicit pollingInterval (≈100ms) on every receipt wait or
block watch — viem's defaults (4000ms, or a 500ms floor) hide the 200ms
cadence.chunter-cb/viem feat/eip-8130-production
(upstream PR: wevm/viem#5004; API
surface: src/eip8130/index.ts; docs: site/pages/eip8130)github.com/chunter-cb/eip-8130-web (/guide/*)to8130Account →
toAccount, isActor8130 → isActor, sendCalls → sendTransaction; its
managerActor step is the PolicyManager-as-operator authorize in the session
reference):
gist.github.com/chunter-cb/bf70c53a5ab6d8361ce7f4215b776114npx skills add base/skills --skill vibenet© base, 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 5 other files (scripts, references) in skills/vibenet of base/skills.
Open the folder on GitHubat commit 4f3d8f3
Vibenet 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 |
|---|---|---|---|---|---|---|
| Vibenet this skillbase/skills | 121 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Supabase Development and Debuggingsupabase/agent-skills | 2.7k | 3 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Use Yaakmountain-loop/yaak | 19k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| NEAR Intents Swap Integrationinternet-court/internet-court-skill | 6.4k | 2 repos | ~939 | Automated safety check: Pass | Custom licence | |
| Web3 PolymarketPolymarket/agent-skills | 191 | 2 repos | ~2k | Automated safety check: Pass | None |
supabase/agent-skills
General Supabase skill for database, auth, Edge Functions, Realtime and storage work, plus client libraries, migrations, security audits, debugging and reading logs.
mountain-loop/yaak
A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…
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.
internet-court/internet-court-skill
Builds cross-chain token swaps and bridge flows with the NEAR Intents 1Click API: quotes, deposit addresses, per-chain deposits and status polling.
Polymarket/agent-skills
Polymarket integration for prediction market trading on Polygon.
Jeffallan/claude-skills
Designs GraphQL schemas and Apollo Federation graphs, with DataLoader resolvers, subscriptions, query complexity limits and caching.
base/skills
Complete Base development playbook. An agent skill from base/skills.
base/skills
Validate and review Base MCP plugin files against the Plugin Specification.
base/skills
Base MCP — gives your AI assistant access to a Base Account via the Base MCP server (wallet-mcp.coinbase.com).
Works with
Categories
Build on vibenet — Base's devnet for native account abstraction (EIP-8130), payer gas sponsorship (ERC-8168), and Cobalt 200ms native blocks. Vibenet is an agent skill from base/skills. Build on vibenet — Base's devnet for native account abstraction (EIP-8130), payer gas sponsorship (ERC-8168), and Cobalt 200ms native blocks.
Vibenet fits situations like: the user mentions vibenet; native account abstraction; gas sponsorship on Base; timestampMs / blockTimestampMs.
Run `npx skills add base/skills --skill vibenet -a claude-code`. Or copy the skill folder (skills/vibenet in base/skills) into .claude/skills/vibenet in your project. Claude Code loads it when a task matches its description.
Run `npx skills add base/skills --skill vibenet -a codex`. Or copy the skill folder (skills/vibenet in base/skills) into .agents/skills/vibenet 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 base/skills --skill vibenet -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vibenet, .gemini/skills/vibenet, .github/skills/vibenet and .opencode/skills/vibenet in your project.
Going by SKILL.md and its folder, Vibenet needs a shell for the scripts in its folder and the command-line tools its instructions call (npm, npx, git, node and bun). Our summary lists: Node.js; A Bash shell.
SKILL.md names 8 domains. In commands or code: api.vibes.base.org, github.com, chain.base.org, rpc.vibes.base.org and sepolia.base.org; the agent is likely to contact these when it follows the instructions. As links in the text: docs.base.org, eip.tools and gist.github.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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Vibenet is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k 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 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Vibenet: Supabase Development and Debugging (supabase/agent-skills, 2.7k stars), Use Yaak (mountain-loop/yaak, 19k stars), Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars) and NEAR Intents Swap Integration (internet-court/internet-court-skill, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
base (a GitHub organization) maintains it in base/skills, which has 121 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 1, 2026.
Source: base/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.