Agent skill · data analytics · davila7

PocketBase API Rules

API rules and filter expressions for PocketBase access control. Use when setting permissions, writing filter expressions, configuring who can access what, or debugging 403/404 responses. Covers all 5 rule types, filter syntax, operators, request/collection macros, and field modifiers.

Why this skill is useful

Provides detailed knowledge on PocketBase API rules and filter expressions that the AI wouldn't reliably generate on its own.

What it needs

About 4k tokens when loaded. Last updated 2026-08-06. 30,138 stars on the source repository.

What this skill does

PocketBase API Rules & Filter Expressions Rule Types Each collection has 5 rule types. Each rule is a filter expression that must evaluate to true for the request to proceed. Rule Controls Locked = Empty string = ------ ---------- ---------- ---------------- List GET /api/collections/{name}/records superusers only everyone can list View GET /api/collections/{name}/records/{id} superusers only everyone can view Create POST /api/collections/{name}/records superusers only everyone can create Update PATCH /api/collections/{name}/records/{id} superusers only everyone can update Delete DELETE /api/collections/{name}/records/{id} superusers only everyone can delete Critical: null/locked means only superusers can perform the action (regular users and guests are denied). Empty string "" means EVERYONE including guests. Superusers always bypass API rules entirely — see below. Superuser Bypass Superusers (formerly admins) always bypass API rules. Rules only apply to regular auth records and guests. Filter Syntax Operators Operator Meaning Example ---------- --------- --------- = Equal status = "active" != Not equal status != "draft" > Greater than count > 5 >= Greater or equal count >= 5 < Less than count < 10 <= Less or equal count <= 10 ~ LIKE (contains) title ~ "hello" !~ NOT LIKE title !~ "spam" ?= Any/has (array contains) tags ?= "TAGID" ?!= None (array not contains) tags ?!= "TAGID" ?> Any greater than scores ?> 90 ?>= Any greater or equal scores ?>= 90 ?< Any less than scores ?< 10 ?<= Any less or equal scores ?<= 10 ?~ Any LIKE emails ?~ "@gmail.com" ?!~ Any NOT LIKE emails ?!~ "@test.com" Critical: use ?= (not =) for multi-valued fields (multi-select, multi-relation, multi-file). = checks the raw JSON string, ?= checks individual values. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills davila7/pb-api-rules

View the source on GitHub

Browse the @skills marketplace