appwrite/cursor-plugin/appwrite-php
Claude Code and agent skill by appwrite/cursor-plugin
Trust tier 2
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Appwrite PHP SDK skill. Use when building server-side PHP applications with Appwrite, including Laravel and Symfony integrations. Covers user management, database/table CRUD, file storage, and functions via API keys.
Install
npx vskill@latest install appwrite/cursor-plugin/appwrite-phpSKILL.md
Appwrite PHP SDK
Installation
Setting Up the Client
Code Examples
User Management
Database Operations
Note: UseTablesDB(not the deprecatedDatabasesclass) for all new code. Only useDatabasesif the existing codebase already relies on it or the user explicitly requests it.Tip: Prefer named arguments (PHP 8+, e.g.,databaseId: '...') for all SDK method calls. Only use positional arguments if the existing codebase already uses them or the user explicitly requests it.
String Column Types
Note: The legacystringtype is deprecated. Use explicit column types for all new columns.
| Type | Max characters | Indexing | Storage | |
|---|---|---|---|---|
varchar | 16,383 | Full index (if size ≤ 768) | Inline in row | |
text | 16,383 | Prefix only | Off-page | |
mediumtext | 4,194,303 | Prefix only | Off-page | |
longtext | 1,073,741,823 | Prefix only | Off-page |
varcharis stored inline and counts towards the 64 KB row size limit. Prefer for short, indexed fields like names, slugs, or identifiers.text,mediumtext, andlongtextare stored off-page (only a 20-byte pointer lives in the row), so they don't consume the row size budget.sizeis not required for these types.
Query Methods
File Storage
InputFile Factory Methods
Teams
Role-based access: UseRole::team('[TEAM_ID]')for all team members orRole::team('[TEAM_ID]', 'editor')for a specific team role when setting permissions.
Serverless Functions
Writing a Function Handler (PHP runtime)
Server-Side Rendering (SSR) Authentication
SSR apps (Laravel, Symfony, etc.) use the server SDK to handle auth. You need two clients:
- Admin client — uses an API key, creates sessions, bypasses rate limits (reusable singleton)
- Session client — uses a session cookie, acts on behalf of a user (create per-request, never share)
Email/Password Login
Authenticated Requests
OAuth2 SSR Flow
Cookie security: Always usehttpOnly,secure, andsameSite: 'strict'to prevent XSS. The cookie name must bea_session_<PROJECT_ID>.
Forwarding user agent: Call$sessionClient->setForwardedUserAgent($_SERVER['HTTP_USER_AGENT'])to record the end-user's browser info for debugging and security.
Error Handling
Common error codes:
| Code | Meaning | |
|---|---|---|
401 | Unauthorized — missing or invalid session/API key | |
403 | Forbidden — insufficient permissions for this action | |
404 | Not found — resource does not exist | |
409 | Conflict — duplicate ID or unique constraint violation | |
429 | Rate limited — too many requests, retry after backoff |
Permissions & Roles (Critical)
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/appwrite-php/SKILL.md
Popularity
- Repository stars
- 6
- Repository forks
- 1
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/appwrite/cursor-plugin/appwrite-php)