Write, edit, organize, and review Supabase content anywhere in apps/docs — guides, explainers, tutorials, troubleshooting entries, reference docs, and partials. Use for MDX/TOML authoring, frontmatter, navigation, terminology, links, code samples, content listings, and docs validation.
npx skills add https://github.com/supabase/supabase --skill docs-content
Before changing docs content:
apps/docs/CONTRIBUTING.md for content types, structure, components, andstyle.
apps/docs/WORD_LIST.md for preferred terminology, spelling, andcapitalization.
before deciding on file placement or structure. Guides, explainers, and
tutorials live under apps/docs/content/guides. Troubleshooting entries live
under apps/docs/content/troubleshooting and use TOML frontmatter — follow
_template.mdx in that directory rather than a guide's YAML frontmatter.
Reference docs are generated from apps/docs/spec and library source, so
look for the spec file or repo definition instead of editing rendered output
directly.
When guidance conflicts, follow apps/docs/CONTRIBUTING.md. Match literal code,
API names, UI labels, and third-party product names even when they differ from the
word list.
apps/docs/CONTRIBUTING.md. A guide is a concise procedure for a targeted
task; a tutorial covers a larger goal and includes more explanatory context;
an explainer is conceptual and prose-based; reference content is factual,
like a dictionary entry. Troubleshooting entries follow their own TOML
structure rather than these four types.
In a mixed page, group sections by information type so that context doesn't
interrupt the procedural path.
section groups and tells readers when to use each one. Skip this navigation
when a short page is already easy to scan.
Add introductions to section groups, transitions between information types,
and outcomes after procedures. Don't link every adjacent section.
sequential actions.
apps/docs/WORD_LIST.md when introducing or reviewing technical terms,UI actions, abbreviations, and potentially ambiguous language.
repository formatting. Clearly mark intentionally omitted code. Use lowercase
SQL keywords.
apps/docs/content/_partials instead of copyingit.
10. Add new guide, explainer, and tutorial pages to
apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts.
File placement alone doesn't add a page to navigation. Troubleshooting
entries are indexed automatically and don't need a navigation entry.
11. Use /docs/... paths for pages in Supabase docs and site-root paths such as
/dashboard for pages outside docs. Use descriptive link text and sparse
admonitions with the appropriate severity.
From apps/docs, run:
pnpm lint:mdx
pnpm build:guides-markdown
pnpm lint:mdx covers all content under apps/docs/content, including
troubleshooting entries. pnpm build:guides-markdown only applies to guides,
explainers, and tutorials.
From the repository root, run pnpm format to apply Prettier to any changed
MDX (and other) files. This enforces repo-wide formatting rules, including
lowercase SQL keyword casing in code samples.
Run broader type checking or tests when the change affects MDX components,
content listings, navigation code, or generated output.
For a mixed page, verify that context and procedures are grouped, introductory
navigation links resolve to the intended sections, related context and procedures
are cross-referenced where useful, and transitions make the reading path clear.
Treat lint replacements as suggestions when context matters. Rewrite the sentence
instead of applying a replacement that changes its technical meaning.
Anchor IDs are generated from heading text at render time, and nothing in CI
checks that #anchor links still resolve. Before renaming, removing, or
substantially rewording a heading, run
grep -rn "#<old-anchor-slug>" apps/docs/content to find in-page and
cross-file links that target it, and update every match. If a heading needs a
stable anchor independent of its wording, pin it with a custom anchor, for
example ## Some heading [#some-heading].
Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.
Python library for working with geospatial vector data including shapefiles, GeoJSON, and GeoPackage files. Use when working with geographic data for spatial analysis, geometric operations, coordinate transformations, spatial joins, overlay operations, choropleth mapping, or any task involving reading/writing/analyzing vector geographic data. Supports PostGIS databases, interactive maps, and integration with matplotlib/folium/cartopy. Use for tasks like buffer analysis, spatial joins between datasets, dissolving boundaries, clipping data, calculating areas/distances, reprojecting coordinate systems, creating maps, or converting between spatial file formats.
Fast CLI/Python queries to 20+ bioinformatics databases. Use for quick lookups: gene info, BLAST searches, AlphaFold structures, enrichment analysis. Best for interactive exploration, simple queries. For batch processing or advanced BLAST use biopython; for multi-database Python workflows use bioservices.
Direct REST API access to UniProt. Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL. For Python workflows with multiple databases, prefer bioservices (unified interface to 40+ services). Use this for direct HTTP/REST work or UniProt-specific control.
Direct REST API access to UniProt. Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL. For Python workflows with multiple databases, prefer bioservices (unified interface to 40+ services). Use this for direct HTTP/REST work or UniProt-specific control.
BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications. Use when: bullmq, bull queue, redis queue, background job, job queue.
Create custom external web service APIs for Moodle LMS. Use when implementing web services for course management, user tracking, quiz operations, or custom plugin functionality. Covers parameter validation, database operations, error handling, service registration, and Moodle coding standards.
Python library for working with geospatial vector data including shapefiles, GeoJSON, and GeoPackage files. Use when working with geographic data for spatial analysis, geometric operations, coordinate transformations, spatial joins, overlay operations, choropleth mapping, or any task involving reading/writing/analyzing vector geographic data. Supports PostGIS databases, interactive maps, and integration with matplotlib/folium/cartopy. Use for tasks like buffer analysis, spatial joins between datasets, dissolving boundaries, clipping data, calculating areas/distances, reprojecting coordinate systems, creating maps, or converting between spatial file formats.
Take supabase/docs-content from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.