Supabase Postgres Best Practices
supabase/agent-skills
Gives the agent Postgres rules to consult before writing or changing tables, queries, indexes, RLS policies or migrations, and when diagnosing slow queries.
greatcto's own committed aesthetic — the instrument panel. An agent skill from avelikiy/great_cto.
$ npx skills add avelikiy/great_cto --skill aesthetic-instrument -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install avelikiy/great_cto aesthetic-instrument --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/avelikiy/great_cto.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/aesthetic-instrument .claude/skills/aesthetic-instrument && 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 "aesthetic-instrument" agent skill from https://github.com/avelikiy/great_cto/tree/main/skills/aesthetic-instrument into .claude/skills/aesthetic-instrument/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aesthetic-instrument", 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/avelikiy/great_cto/tree/main/skills/aesthetic-instrumentType 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 avelikiy/great_cto --skill aesthetic-instrument -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install avelikiy/great_cto aesthetic-instrument --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/avelikiy/great_cto.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/aesthetic-instrument .agents/skills/aesthetic-instrument && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aesthetic-instrument" agent skill from https://github.com/avelikiy/great_cto/tree/main/skills/aesthetic-instrument into .agents/skills/aesthetic-instrument/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aesthetic-instrument", 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 avelikiy/great_cto --skill aesthetic-instrument -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install avelikiy/great_cto aesthetic-instrument --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/avelikiy/great_cto.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/aesthetic-instrument .cursor/skills/aesthetic-instrument && 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 "aesthetic-instrument" agent skill from https://github.com/avelikiy/great_cto/tree/main/skills/aesthetic-instrument into .cursor/skills/aesthetic-instrument/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aesthetic-instrument", 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/avelikiy/great_cto.git --path skills/aesthetic-instrument--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 avelikiy/great_cto --skill aesthetic-instrument -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install avelikiy/great_cto aesthetic-instrument --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/avelikiy/great_cto.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/aesthetic-instrument .gemini/skills/aesthetic-instrument && 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 "aesthetic-instrument" agent skill from https://github.com/avelikiy/great_cto/tree/main/skills/aesthetic-instrument into .gemini/skills/aesthetic-instrument/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aesthetic-instrument", 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 avelikiy/great_cto aesthetic-instrumentInstalls 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 avelikiy/great_cto --skill aesthetic-instrument -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/avelikiy/great_cto.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/aesthetic-instrument .github/skills/aesthetic-instrument && 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 "aesthetic-instrument" agent skill from https://github.com/avelikiy/great_cto/tree/main/skills/aesthetic-instrument into .github/skills/aesthetic-instrument/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aesthetic-instrument", 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 avelikiy/great_cto --skill aesthetic-instrument -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install avelikiy/great_cto aesthetic-instrument --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/avelikiy/great_cto.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/aesthetic-instrument .opencode/skills/aesthetic-instrument && 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 "aesthetic-instrument" agent skill from https://github.com/avelikiy/great_cto/tree/main/skills/aesthetic-instrument into .opencode/skills/aesthetic-instrument/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aesthetic-instrument", 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.
aesthetic-instrumentgreatcto's own committed aesthetic — the instrument panel. An agent skill from avelikiy/great_cto.
Aesthetic Instrument is an agent skill from avelikiy/great_cto. greatcto's own committed aesthetic — the instrument panel. Dark five-step surface ladder, exactly one accent, two faces divided by MEANING (Geist speaks, Geist Mono is machine-truth), tabular numerals, and a dash that is not a nought. Twelve checkable rules measured from packages/board and greatcto.systems, not designed for this file. Use when building or extending any greatcto surface — the board, the site, a report, a share page.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Supabase. The repository describes itself as: You already have the agent. This is everything around it. greatcto runs Claude Code as a pipeline of 70 specialist agents — an independent model checks each stage before the next… The licence is MIT.
Read from SKILL.md and the folder at commit 0e9df12. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Aesthetic Instrument loads about 1.9k tokens when it runs. Until then it costs about 115 tokens; SKILL.md has 1,090 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 avelikiy/great_cto at commit 0e9df12, republished under its MIT licence (© avelikiy). 1,090 words, ~1,924 tokens.
.claude/skills/aesthetic-instrument/SKILL.md (or your agent's skills folder).A committed aesthetic in the sense of
skills/committed-aesthetic/SKILL.md: every
rule below is checkable, and every value was read out of the source —
packages/board/public/index.html and great_cto-site/styles.css — rather than
chosen to write this document.
The subject is an instrument, not a brochure. One person reads it to decide what a machine may do next. Everything below follows from that.
The first version of this file opened "this is ours, not a default". Measured against a real corpus on 2026-09-01, that is false, and the correction matters more than anything below it.
Refero's top ten styles for a dark technical developer landing describe: near-black canvas (Depot, Warp, Supabase, Trunk, Checkly, Cron, Linear, Eraser), depth from surface shifts or borders rather than shadows (Warp, Supabase, Trunk, Linear), and one green accent used sparingly (Depot, Warp, Supabase, Trunk). Four of them are described with the words "instrument panel", "command center" or "cockpit".
Every one of those is a rule below. This aesthetic is not great_cto's identity — it is what every infrastructure product looks like, and this file codified the modal choice and labelled it a differentiator. A skill that does that produces template work while asserting it does not.
What follows is still correct, and its correctness is functional, not distinctive. Dark, dense, one accent, tabular numerals and a dash that is not a nought are right for a surface one operator reads all day to decide what a machine may do next. Keep them for the BOARD. Just do not mistake them for a voice.
Where the category default costs something is the LANDING, where a visitor who has
seen Depot, Warp and Supabase cannot tell us apart. Differentiation there is a
brand decision made through committed-aesthetic, not a repaint of this file. And
for a client product — a dental practice does not want an instrument panel — go
through committed-aesthetic and choose deliberately.
1. Five surface steps, each about 5% apart, and depth is always a step.
--bg-page #0a0e0c → --bg-card #11161a → --bg-muted #161c1f →
--bg-elevated #1a2025 → --bg-strong #1e272c. A raised element takes the next
step up. It does not take a shadow.
2. Exactly one accent, and it is mostly not a fill.
--accent #00d97e appears as a 1px border, a 3px rail on the active nav item, and
a 6% glow. It fills only a badge count and a swatch. Two accents is a different
design; adding one is a decision, not a tweak.
3. One shadow in the system carries colour. Card hover:
0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,217,126,.06) — the accent at 6%.
Everywhere else depth is rule 1.
4. Two faces, divided by MEANING rather than by taste. Geist is the voice the surface speaks in — headings, navigation, controls, prose. Geist Mono is machine truth: anything a person would select and paste. Ids, agent slugs, paths, money, versions, timestamps, verdict tokens, commands. The test is one question: would someone copy this? Measured: 115 mono uses against 9 display. A task title is Geist and its id beside it is Geist Mono — the two faces on one row are the point, not an inconsistency.
5. Numerals are tabular, always. font-variant-numeric: tabular-nums at
letter-spacing: -0.02em. A figure that changes width as it changes value reads as
motion the operator did not cause.
6. A dash is not a nought. Unmeasured renders as — in a lighter weight and
--text3; a measured zero renders as 0 in the numeral treatment. Every count on
every surface carries a third state, and it must be visibly different from zero.
This is the house rule the whole product rests on; it is a typographic rule here.
7. Twelve type tokens, never a raw size. 11 · 12 · 13 · 14 · 15 · 16 · 19 · 22,
plus numerics 24 · 30 · 36 · 52, as --fs-*. If a size is not on the scale, either
the scale is wrong or the element is.
8. Tracking moves one way at each end. ≥22px → -0.02em. 11px uppercase →
+0.10em. Nothing in between is tracked.
9. Geist Mono never above weight 500. It is vendored wght 400 500; above the
axis the browser synthesises a smeared bold. Geist runs 400–700; 500 is the
workhorse, 600 is emphasis, 700 exists for badge counts only.
10. Desktop density is deliberate, and does not travel. Controls are 30–32px, chips 20px — below the 44px touch floor on purpose, because this is a pointer surface for one operator. A mobile or client surface must not inherit these numbers; it takes rules 1–9 and its own sizes.
11. One hue per meaning, and colour never carries meaning alone. Every status colour is paired with a glyph or a word. A ▲/▼/— goes with the green/red/grey, so the row survives a reader who cannot distinguish them.
12. Latin subset, self-hosted, 52 KB. Two variable faces, font-display: swap,
no CDN. Cyrillic and anything outside latin falls to the system stack mid-line —
a known look, decided for the byte count, not a bug to re-discover.
| Do not take | Why | Instead |
|---|---|---|
| The 30–32px control heights, to anything touched by a finger | rule 10 — this is a pointer surface for one operator | 44px minimum, keep rules 1–9 |
clamp() fluid type from the site, to the board | a marketing page is read at every width; an instrument at one | fixed steps from rule 7 |
| The dark ladder, to a client product | rule 0 — it is our identity | choose through committed-aesthetic |
--max: 1100px, to board screens | the board's content is rows and cards, not paragraphs | only the Docs reader caps measure, at 72ch |
Rendered, with every measurement on the artboard, in the published board spec —
foundations, components, shell, screens, typography and the open findings. Working
sources in .design-spec/. Read the gallery before adding a component; it is
faster than deriving one from the rules and it is what the rules were written from.
This aesthetic is measured, which means it is also measured to be imperfect.
docs/reference/ and the spec's findings artboard carry the open list — spacing
and radius are not tokenised (11 raw gap values, 11 raw radii), the site carries
46 distinct font sizes against rule 7, and the light theme has three values under
the AA floor. A rule this file states and the source violates is a finding, not a
licence to violate it further.
Related: skills/committed-aesthetic/SKILL.md
for the form · skills/ui-ux-pro-max/SKILL.md for the
catalogue you consult when this does not apply.
© avelikiy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/aesthetic-instrument of avelikiy/great_cto.
Open the folder on GitHubat commit 0e9df12
Aesthetic Instrument 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 |
|---|---|---|---|---|---|---|
| Aesthetic Instrument this skillavelikiy/great_cto | 103 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Supabase Postgres Best Practicessupabase/agent-skills | 2.7k | 24 repos | ~808 | Automated safety check: Pass | MIT | |
| Supabase Development and Debuggingsupabase/agent-skills | 2.7k | 3 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Clickhouse Logs Queriessupabase/supabase | 111k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Security Reviewjewbetcha/opentrace | 116 | 18 repos | ~3.1k | Automated safety check: Notes | MIT | |
| Review The Docssupabase/supabase | 111k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 |
supabase/agent-skills
Gives the agent Postgres rules to consult before writing or changing tables, queries, indexes, RLS policies or migrations, and when diagnosing slow queries.
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.
supabase/supabase
Write, review, and migrate Supabase logs queries against the ClickHouse-backed logs table (the logs.all.otel analytics endpoint).
jewbetcha/opentrace
A skill your agent uses when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features.
supabase/supabase
Review Supabase docs changes locally in your supabase/supabase checkout — either an open PR (triage, classify, verify) or your own branch before opening a PR (local self-review).
supabase/supabase
A skill your agent uses whenever code will build, return, fetch, or execute SQL that runs against a user's real Postgres database — even when the request reads like an ordinary feature or bug fix…
avelikiy/great_cto
Analyzes a screenshot, website or Figma file and writes a `design.md` with its token system, component inventory and reconstruction notes, or an `element.md` for one element.
avelikiy/great_cto
Builds an Opportunity Solution Tree that links one measurable outcome to customer opportunities, candidate solutions and experiments.
avelikiy/great_cto
Rewrites a feature-list roadmap into outcome statements that name the customer segment, the result they get and the business impact, grouped into themes.
avelikiy/great_cto
Turns a leaked key, token or password into one tracked rotation task the moment it's spotted, instead of a reminder repeated every session.
avelikiy/great_cto
Runs a three-round self-challenge plus an arbiter over high-stakes findings, so false positives from reviews, audits and flaky-test verdicts do not become blockers.
avelikiy/great_cto
Catalogue of known SDLC anti-patterns that greatcto agents must actively reject when reviewing architecture, plans, code, or post-mortems.
Works with
greatcto's own committed aesthetic — the instrument panel. An agent skill from avelikiy/great_cto. Aesthetic Instrument is an agent skill from avelikiy/great_cto. greatcto's own committed aesthetic — the instrument panel.
Aesthetic Instrument fits situations like: extending any greatcto surface — the board.
Run `npx skills add avelikiy/great_cto --skill aesthetic-instrument -a claude-code`. Or copy the skill folder (skills/aesthetic-instrument in avelikiy/great_cto) into .claude/skills/aesthetic-instrument in your project. Claude Code loads it when a task matches its description.
Run `npx skills add avelikiy/great_cto --skill aesthetic-instrument -a codex`. Or copy the skill folder (skills/aesthetic-instrument in avelikiy/great_cto) into .agents/skills/aesthetic-instrument 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 avelikiy/great_cto --skill aesthetic-instrument -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aesthetic-instrument, .gemini/skills/aesthetic-instrument, .github/skills/aesthetic-instrument and .opencode/skills/aesthetic-instrument in your project.
SKILL.md names no scripts, command-line tools or credentials: Aesthetic Instrument is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Aesthetic Instrument is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Aesthetic Instrument: Supabase Postgres Best Practices (supabase/agent-skills, 2.7k stars), Supabase Development and Debugging (supabase/agent-skills, 2.7k stars), Clickhouse Logs Queries (supabase/supabase, 111k stars) and Security Review (jewbetcha/opentrace, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
avelikiy (a GitHub user) maintains it in avelikiy/great_cto, which has 103 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 10, 2026.
Source: avelikiy/great_cto on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.