pb-api
Operate PocketBase via its REST API. Use for CRUD operations on collections, authentication, querying records with filters, and managing PocketBase data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Operate PocketBase via its REST API. Use for CRUD operations on collections, authentication, querying records with filters, and managing PocketBase data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Control a real browser over Chrome DevTools Protocol (CDP). Use when user asks to open a page, click an element, take a screenshot, or any browser automation. Requires Chrome remote debugging enabled.
Extend PocketBase with custom hooks and routes in JS or Go. Use when user wants to add custom API routes, modify PocketBase behavior, or add server-side logic.
Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping
| name | pb-api |
| description | Operate PocketBase via its REST API. Use for CRUD operations on collections, authentication, querying records with filters, and managing PocketBase data. |
| license | MIT |
| allowed-tools | Bash, curl |
Reference: https://pocketbase.io/docs/
Operate PocketBase via its REST API.
Create .env from .env.example (never commit .env):
PB_URL=http://localhost:8090
PB_SUPERUSER_EMAIL=admin@example.com
PB_SUPERUSER_PASSWORD=your-password
If credentials aren't available via env vars, ask user explicitly before proceeding.
# Auth
curl -X POST http://localhost:8090/api/collections/_superusers/auth \
-H 'Content-Type: application/json' \
-d '{"identity":"admin@example.com","password":"secret"}'
# List records
curl http://localhost:8090/api/collections/posts/records \
-H 'Authorization: Bearer TOKEN'
# Filter records
curl "http://localhost:8090/api/collections/posts/records?filter=status='published'&sort=-created&expand=author"
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/collections/:collection/auth | Auth with password |
| POST | /api/collections/:collection/auth-with-password | Login |
| GET | /api/collections/:collection/records | List records |
| POST | /api/collections/:collection/records | Create record |
| PATCH | /api/collections/:collection/records/:id | Update record |
| DELETE | /api/collections/:collection/records/:id | Delete record |
status = 'published'
author.id = 'abc123'
created >= '2024-01-01'
user.name ~ 'john*'
Use @collection.name.field for cross-collection filters.
import PocketBase from 'pocketbase'
const pb = new PocketBase('http://localhost:8090')
await pb.collection('posts').authWithPassword('user@test.com', 'secret')
// List with filter
const records = await pb.collection('posts').getList(1, 50, {
filter: "status = 'published'",
sort: '-created',
expand: 'author,tags'
})
null → superuser only"" → public access@request.auth, @collection, @now in rules