[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HSC41C3V7PZXR8A9329P5V":3,"skill-same:01M6HSC41C3V7PZXR8A9329P5V":75},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M6HSC41C3V7PZXR8A9329P5V","http-api-cloudbase",null,"Use CloudBase HTTP API to access CloudBase platform features (database, authentication, cloud functions, cloud hosting, cloud storage, AI) via HTTP protocol from backends or scripts that are not using SDKs.","welflau\u002Fai-dev-system","welflau","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7010385?v=4","01M6HPTDGF18RFY07M229P8CTM","01M6HPTDMRMZCJPYBFEA9XVVYT",3,"MIT","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fcloudbase\u002Fskills\u002Fcloudbase\u002Freferences\u002Fhttp-api\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"http","http api cloudbase","api","cloudbase","http api","features","storage","cloudbase platform","cloud functions","sdks","Cloud Storage","via","scripts","false","platform","functions","use","access","database","protocol","authentication","2026-11-10 10:12:30",false,"---\nname: http-api-cloudbase\ndescription: Use CloudBase HTTP API to access CloudBase platform features (database, authentication, cloud functions, cloud hosting, cloud storage, AI) via HTTP protocol from backends or scripts that are not using SDKs.\nalwaysApply: false\n---\n\n## When to use this skill\n\nUse this skill whenever you need to call **CloudBase platform features** via **raw HTTP APIs**, for example:\n\n- Non-Node backends (Go, Python, Java, PHP, etc.)\n- Integration tests or admin scripts that use curl or language HTTP clients\n- Direct database operations via MySQL RESTful API\n- Cloud function invocation via HTTP\n- Any scenario where SDKs are not available or not preferred\n\nDo **not** use this skill for:\n\n- Frontend Web apps using `@cloudbase\u002Fjs-sdk` (use **CloudBase Web** skills)\n- Node.js code using `@cloudbase\u002Fnode-sdk` (use **CloudBase Node** skills)\n- Authentication flows (use **CloudBase Auth HTTP API** skill for auth-specific endpoints)\n\n## How to use this skill (for a coding agent)\n\n1. **Clarify the scenario**\n   - Confirm this code will call HTTP endpoints directly (not SDKs).\n   - Ask for:\n     - `env` – CloudBase environment ID\n     - Authentication method (AccessToken, API Key, or Publishable Key)\n   - Confirm which CloudBase feature is needed (database, functions, storage, etc.).\n   - **For user authentication**: If no specific method is requested, **always default to Phone SMS Verification** - it's the most user-friendly and secure option for Chinese users.\n\n2. **Determine the base URL**\n   - Use the correct domain based on region (domestic vs. international).\n   - Default is domestic Shanghai region.\n\n3. **Set up authentication**\n   - Choose appropriate authentication method based on use case.\n   - Add `Authorization: Bearer \u003Ctoken>` header to requests.\n\n4. **Reference OpenAPI Swagger documentation**\n   - **MUST use `searchKnowledgeBase` tool** to get OpenAPI specifications\n   - Use the tool with `mode=openapi` and specify the `apiName`:\n     - `mysqldb` - MySQL RESTful API\n     - `functions` - Cloud Functions API\n     - `auth` - Authentication API\n     - `cloudrun` - CloudRun API\n     - `storage` - Storage API\n   - Example: `searchKnowledgeBase({ mode: \"openapi\", apiName: \"mysqldb\" })`\n   - Parse the returned YAML content to understand exact endpoint paths, parameters, request\u002Fresponse schemas\n   - Never invent endpoints or parameters - always reference the swagger documentation\n\n---\n\n## Overview\n\nCloudBase HTTP API is a set of interfaces for accessing CloudBase platform features via HTTP protocol, supporting database, user authentication, cloud functions, cloud hosting, cloud storage, AI, and more.\n\n## OpenAPI Swagger Documentation\n\n**⚠️ IMPORTANT: Always use `searchKnowledgeBase` tool to get OpenAPI Swagger specifications**\n\nBefore implementing any HTTP API calls, you should:\n\n1. **Use `searchKnowledgeBase` tool to get OpenAPI documentation**:\n   ```\n   searchKnowledgeBase({ mode: \"openapi\", apiName: \"\u003Capi-name>\" })\n   ```\n\n2. **Available API names**:\n   - `mysqldb` - MySQL RESTful API\n   - `functions` - Cloud Functions API\n   - `auth` - Authentication API\n   - `cloudrun` - CloudRun API\n   - `storage` - Storage API\n\n3. **Parse and use the swagger documentation**:\n   - Extract exact endpoint paths and HTTP methods\n   - Understand required and optional parameters\n   - Review request\u002Fresponse schemas\n   - Check authentication requirements\n   - Verify error response formats\n\n4. **Never invent API endpoints or parameters** - always base your implementation on the official swagger documentation.\n\n## Prerequisites\n\nBefore starting, ensure you have:\n\n1. **CloudBase environment created and activated**\n2. **Authentication credentials** (AccessToken, API Key, or Publishable Key)\n\n## Authentication and Authorization\n\nCloudBase HTTP API requires authentication. Choose the appropriate method based on your use case:\n\n### AccessToken Authentication\n\n**Applicable environments**: Client\u002FServer  \n**User permissions**: Logged-in user permissions\n\n**How to get**: Use `searchKnowledgeBase({ mode: \"openapi\", apiName: \"auth\" })` to get the Authentication API specification\n\n### API Key\n\n**Applicable environments**: Server  \n**User permissions**: Administrator permissions\n\n- **Validity**: Long-term valid\n- **How to get**: Get from [CloudBase Platform\u002FApiKey Management Page](https:\u002F\u002Ftcb.cloud.tencent.com\u002Fdev?#\u002Fidentity\u002Ftoken-management)\n\n> ⚠️ Warning: Tokens are critical credentials for identity authentication. Keep them secure. API Key must NOT be used in client-side code.\n\n### Publishable Key\n\n**Applicable environments**: Client\u002FServer  \n**User permissions**: Anonymous user permissions\n\n- **Validity**: Long-term valid\n- **How to get**: Get from [CloudBase Platform\u002FApiKey Management Page](https:\u002F\u002Ftcb.cloud.tencent.com\u002Fdev?#\u002Fidentity\u002Ftoken-management)\n\n> ? Note: Can be exposed in browsers, used for requesting publicly accessible resources, effectively reducing MAU.\n\n## API Endpoint URLs\n\nCloudBase HTTP API uses unified domain names for API calls. The domain varies based on the environment's region.\n\n### Domestic Regions\n\nFor environments in **domestic regions** like Shanghai (`ap-shanghai`), use:\n\n```text\nhttps:\u002F\u002F{your-env}.api.tcloudbasegateway.com\n```\n\nReplace `{your-env}` with the actual environment ID. For example, if environment ID is `cloud1-abc`:\n\n```text\nhttps:\u002F\u002Fcloud1-abc.api.tcloudbasegateway.com\n```\n\n### International Regions\n\nFor environments in **international regions** like Singapore (`ap-singapore`), use:\n\n```text\nhttps:\u002F\u002F{your-env}.api.intl.tcloudbasegateway.com\n```\n\nReplace `{your-env}` with the actual environment ID. For example, if environment ID is `cloud1-abc`:\n\n```text\nhttps:\u002F\u002Fcloud1-abc.api.intl.tcloudbasegateway.com\n```\n\n## Using Authentication in Requests\n\nAdd the token to the request header:\n\n```http\nAuthorization: Bearer \u003Caccess_token\u002Fapikey\u002Fpublishable_key>\n```\n\n:::warning Note\n\nWhen making actual calls, replace the entire part including angle brackets (`\u003C >`) with your obtained key. For example, if the obtained key is `eymykey`, fill it as:\n\n```http\nAuthorization: Bearer eymykey\n```\n\n:::\n\n## Usage Examples\n\n### Cloud Function Invocation Example\n\n```bash\ncurl -X POST \"https:\u002F\u002Fyour-env-id.api.tcloudbasegateway.com\u002Fv1\u002Ffunctions\u002FYOUR_FUNCTION_NAME\" \\\n  -H \"Authorization: Bearer \u003Caccess_token\u002Fapikey\u002Fpublishable_key>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"张三\", \"age\": 25}'\n```\n\nFor detailed API specifications, always download and reference the OpenAPI Swagger files mentioned above.\n\n## MySQL RESTful API\n\nThe MySQL RESTful API provides all MySQL database operations via HTTP endpoints.\n\n### Base URL Patterns\n\nSupport three domain access patterns:\n\n1. `https:\u002F\u002F{envId}.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n2. `https:\u002F\u002F{envId}.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002F{schema}\u002F{table}`\n3. `https:\u002F\u002F{envId}.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002F{instance}\u002F{schema}\u002F{table}`\n\nWhere:\n- `envId` is the environment ID\n- `instance` is the database instance identifier\n- `schema` is the database name\n- `table` is the table name\n\nIf using the system database, **recommend pattern 1**.\n\n### Request Headers\n\n| Header | Parameter | Description | Example |\n|--------|-----------|-------------|---------|\n| Accept | `application\u002Fjson`, `application\u002Fvnd.pgrst.object+json` | Control data return format | `Accept: application\u002Fjson` |\n| Content-Type | `application\u002Fjson`, `application\u002Fvnd.pgrst.object+json` | Request content type | `Content-Type: application\u002Fjson` |\n| Prefer | Operation-dependent feature values | - `return=representation` Write operation, return data body and headers\u003Cbr>- `return=minimal` Write operation, return headers only (default)\u003Cbr>- `count=exact` Read operation, specify count\u003Cbr>- `resolution=merge-duplicates` Upsert operation, merge conflicts\u003Cbr>- `resolution=ignore-duplicates` Upsert operation, ignore conflicts | `Prefer: return=representation` |\n| Authorization | `Bearer \u003Ctoken>` | Authentication token | `Authorization: Bearer \u003Caccess_token>` |\n\n### Query Records\n\n**GET** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Query Parameters**:\n- `select`: Field selection, supports `*` or field list, supports join queries like `class_id(grade,class_number)`\n- `limit`: Limit return count\n- `offset`: Offset for pagination\n- `order`: Sort field, format `field.asc` or `field.desc`\n\n**Example**:\n\n```bash\n# Before URL encoding\ncurl -X GET 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%张三%&title=eq.文章标题' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\"\n\n# After URL encoding\ncurl -X GET 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%%E5%BC%A0%E4%B8%89%&title=eq.%E6%96%87%E7%AB%A0%E6%A0%87%E9%A2%98' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\"\n```\n\n**Response Headers**:\n- `Content-Range`: Data range, e.g., `0-9\u002F100` (0=start, 9=end, 100=total)\n\n### Insert Records\n\n**POST** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Request Body**: JSON object or array of objects\n\n> ? **Note about `_openid`**: When a user is logged in (using AccessToken authentication), the `_openid` field is **automatically populated by the server** with the current user's identity. You do NOT need to manually set this field in INSERT operations - the server will fill it automatically based on the authenticated user's session.\n\n**Example**:\n\n```bash\ncurl -X POST 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Prefer: return=representation\" \\\n  -d '{\n    \"name\": \"数学\",\n    \"position\": 1\n  }'\n```\n\n### Update Records\n\n**PATCH** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Request Body**: JSON object with fields to update\n\n**Example**:\n\n```bash\ncurl -X PATCH 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?id=eq.1' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Prefer: return=representation\" \\\n  -d '{\n    \"name\": \"高等数学\",\n    \"position\": 2\n  }'\n```\n\n> ⚠️ **Important**: UPDATE requires a WHERE clause. Use query parameters like `?id=eq.1` to specify conditions.\n\n### Delete Records\n\n**DELETE** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Example**:\n\n```bash\ncurl -X DELETE 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?id=eq.1' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\"\n```\n\n> ⚠️ **Important**: DELETE requires a WHERE clause. Use query parameters to specify conditions.\n\n### Error Codes and HTTP Status Codes\n\n| Error Code | HTTP Status | Description |\n|------------|-------------|-------------|\n| INVALID_PARAM | 400 | Invalid request parameters |\n| INVALID_REQUEST | 400 | Invalid request content: missing permission fields, SQL execution errors, etc. |\n| INVALID_REQUEST | 406 | Does not meet single record return constraint |\n| PERMISSION_DENIED | 401, 403 | Authentication failed: 401 for identity authentication failure, 403 for authorization failure |\n| RESOURCE_NOT_FOUND | 404 | Database instance or table not found |\n| SYS_ERR | 500 | Internal system error |\n| OPERATION_FAILED | 503 | Failed to establish database connection |\n| RESOURCE_UNAVAILABLE | 503 | Database unavailable due to certain reasons |\n\n### Response Format\n\n1. All POST, PATCH, DELETE operations: Request header with `Prefer: return=representation` means there is a response body, without it means only response headers.\n\n2. POST, PATCH, DELETE response bodies are usually JSON array type `[]`. If request header specifies `Accept: application\u002Fvnd.pgrst.object+json`, it will return JSON object type `{}`.\n\n3. If `Accept: application\u002Fvnd.pgrst.object+json` is specified but data quantity is greater than 1, an error will be returned.\n\n### URL Encoding\n\nWhen making requests, please perform URL encoding. For example:\n\n**Original request**:\n\n```shell\ncurl -i -X GET 'https:\u002F\u002F{{host}}\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%张三%&title=eq.文章标题'\n```\n\n**Encoded request**:\n\n```shell\ncurl -i -X GET 'https:\u002F\u002F{{host}}\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%%E5%BC%A0%E4%B8%89%&title=eq.%E6%96%87%E7%AB%A0%E6%A0%87%E9%A2%98'\n```\n\n## Online Debugging Tool\n\nCloudBase platform provides an [online debugging tool](\u002Fhttp-api\u002Fbasic\u002Fonline-api-call) where you can test API interfaces without writing code:\n\n1. Visit the API documentation page\n2. Find the debugging tool entry\n3. Fill in environment ID and request parameters\n4. Click send request to view response\n\n## API Documentation References\n\n**⚠️ Always use `searchKnowledgeBase` tool to get OpenAPI Swagger specifications:**\n\nUse `searchKnowledgeBase({ mode: \"openapi\", apiName: \"\u003Capi-name>\" })` with these API names:\n- `auth` - Authentication API\n- `mysqldb` - MySQL RESTful API\n- `functions` - Cloud Functions API\n- `cloudrun` - CloudRun API\n- `storage` - Storage API\n\n**How to use the OpenAPI documentation:**\n1. Call `searchKnowledgeBase` tool with the appropriate `apiName`\n2. Parse the returned YAML content to extract:\n   - Endpoint paths (e.g., `\u002Fv1\u002Frdb\u002Frest\u002F{table}`)\n   - HTTP methods (GET, POST, PATCH, DELETE)\n   - Path parameters, query parameters, request body schemas\n   - Response schemas and status codes\n   - Authentication requirements\n3. Use the extracted information to construct accurate API calls\n4. Never assume endpoint structure - always verify against swagger documentation\n\n## Common Patterns\n\n### Reusable Shell Variables\n\n```bash\nenv=\"your-env-id\"\ntoken=\"your-access-token-or-api-key\"\nbase=\"https:\u002F\u002F${env}.api.tcloudbasegateway.com\"\n```\n\n### Common Request Pattern\n\n```bash\ncurl -X GET \"${base}\u002Fv1\u002Frdb\u002Frest\u002Ftable_name\" \\\n  -H \"Authorization: Bearer ${token}\" \\\n  -H \"Content-Type: application\u002Fjson\"\n```\n\n### Error Handling\n\nAlways check HTTP status codes and error response format:\n\n```json\n{\n  \"code\": \"ERROR_CODE\",\n  \"message\": \"Error message details\",\n  \"requestId\": \"request-unique-id\"\n}\n```\n\n## Common Authentication Flows\n\n> **? IMPORTANT: Default Authentication Method**\n>\n> When no specific signup\u002Fsignin method is specified by the user, **ALWAYS use Phone SMS Verification** as the default and recommended method. It is:\n> - ✅ The most user-friendly for Chinese users\n> - ✅ No password to remember\n> - ✅ Works for both new users (registration) and existing users (login)\n> - ✅ Most secure with OTP verification\n> - ✅ Supported by default in CloudBase\n\n### Phone Number Verification Code Login (Native Apps) ⭐ RECOMMENDED\n\nThis is the **preferred** authentication flow for native mobile apps (iOS\u002FAndroid\u002FFlutter\u002FReact Native):\n\n```\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Step 1: Send Verification Code                                        │\n│  POST \u002Fauth\u002Fv1\u002Fverification                                             │\n│  Body: { \"phone_number\": \"+86 13800138000\", \"target\": \"ANY\" }          │\n│  ⚠️ IMPORTANT: phone_number MUST include \"+86 \" prefix WITH SPACE      │\n│  Response: { \"verification_id\": \"xxx\", \"expires_in\": 600 }             │\n│  ? SAVE verification_id for next step!                                 │\n└─────────────────────────────────────────────────────────────────────────┘\n                                    ↓\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Step 2: Verify Code                                                    │\n│  POST \u002Fauth\u002Fv1\u002Fverification\u002Fverify                                      │\n│  Body: { \"verification_id\": \"\u003Csaved_id>\", \"verification_code\": \"123456\" }│\n│  Response: { \"verification_token\": \"xxx\" }                              │\n│  ? SAVE verification_token for login!                                  │\n└─────────────────────────────────────────────────────────────────────────┘\n                                    ↓\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Step 3: Sign In with Token                                             │\n│  POST \u002Fauth\u002Fv1\u002Fsignin                                                   │\n│  Body: { \"verification_token\": \"\u003Csaved_token>\" }                        │\n│  Response: { \"access_token\": \"xxx\", \"refresh_token\": \"xxx\" }           │\n└─────────────────────────────────────────────────────────────────────────┘\n```\n\n**⚠️ Critical Notes:**\n1. **Phone number format**: MUST be `\"+86 13800138000\"` with space after country code\n2. **Save `verification_id`**: Returned from Step 1, required for Step 2\n3. **Save `verification_token`**: Returned from Step 2, required for Step 3 \n\n## Best Practices\n\n1. **Always use URL encoding** for query parameters containing special characters\n2. **Include WHERE clauses** for UPDATE and DELETE operations\n3. **Use appropriate Prefer headers** to control response format\n4. **Handle errors gracefully** by checking status codes and error responses\n5. **Keep tokens secure** - never expose API Keys in client-side code\n6. **Use appropriate authentication method** based on your use case:\n   - AccessToken for user-specific operations\n   - API Key for server-side admin operations\n   - Publishable Key for public\u002Fanonymous access\n7. **Phone number format**: Always use international format with space: `\"+86 13800138000\"`\n8. **Verification flow**: Save `verification_id` from send step, use it in verify step\n","## When to use this skill\n\nUse this skill whenever you need to call **CloudBase platform features** via **raw HTTP APIs**, for example:\n\n- Non-Node backends (Go, Python, Java, PHP, etc.)\n- Integration tests or admin scripts that use curl or language HTTP clients\n- Direct database operations via MySQL RESTful API\n- Cloud function invocation via HTTP\n- Any scenario where SDKs are not available or not preferred\n\nDo **not** use this skill for:\n\n- Frontend Web apps using `@cloudbase\u002Fjs-sdk` (use **CloudBase Web** skills)\n- Node.js code using `@cloudbase\u002Fnode-sdk` (use **CloudBase Node** skills)\n- Authentication flows (use **CloudBase Auth HTTP API** skill for auth-specific endpoints)\n\n## How to use this skill (for a coding agent)\n\n1. **Clarify the scenario**\n   - Confirm this code will call HTTP endpoints directly (not SDKs).\n   - Ask for:\n     - `env` – CloudBase environment ID\n     - Authentication method (AccessToken, API Key, or Publishable Key)\n   - Confirm which CloudBase feature is needed (database, functions, storage, etc.).\n   - **For user authentication**: If no specific method is requested, **always default to Phone SMS Verification** - it's the most user-friendly and secure option for Chinese users.\n\n2. **Determine the base URL**\n   - Use the correct domain based on region (domestic vs. international).\n   - Default is domestic Shanghai region.\n\n3. **Set up authentication**\n   - Choose appropriate authentication method based on use case.\n   - Add `Authorization: Bearer \u003Ctoken>` header to requests.\n\n4. **Reference OpenAPI Swagger documentation**\n   - **MUST use `searchKnowledgeBase` tool** to get OpenAPI specifications\n   - Use the tool with `mode=openapi` and specify the `apiName`:\n     - `mysqldb` - MySQL RESTful API\n     - `functions` - Cloud Functions API\n     - `auth` - Authentication API\n     - `cloudrun` - CloudRun API\n     - `storage` - Storage API\n   - Example: `searchKnowledgeBase({ mode: \"openapi\", apiName: \"mysqldb\" })`\n   - Parse the returned YAML content to understand exact endpoint paths, parameters, request\u002Fresponse schemas\n   - Never invent endpoints or parameters - always reference the swagger documentation\n\n---\n\n## Overview\n\nCloudBase HTTP API is a set of interfaces for accessing CloudBase platform features via HTTP protocol, supporting database, user authentication, cloud functions, cloud hosting, cloud storage, AI, and more.\n\n## OpenAPI Swagger Documentation\n\n**⚠️ IMPORTANT: Always use `searchKnowledgeBase` tool to get OpenAPI Swagger specifications**\n\nBefore implementing any HTTP API calls, you should:\n\n1. **Use `searchKnowledgeBase` tool to get OpenAPI documentation**:\n   ```\n   searchKnowledgeBase({ mode: \"openapi\", apiName: \"\u003Capi-name>\" })\n   ```\n\n2. **Available API names**:\n   - `mysqldb` - MySQL RESTful API\n   - `functions` - Cloud Functions API\n   - `auth` - Authentication API\n   - `cloudrun` - CloudRun API\n   - `storage` - Storage API\n\n3. **Parse and use the swagger documentation**:\n   - Extract exact endpoint paths and HTTP methods\n   - Understand required and optional parameters\n   - Review request\u002Fresponse schemas\n   - Check authentication requirements\n   - Verify error response formats\n\n4. **Never invent API endpoints or parameters** - always base your implementation on the official swagger documentation.\n\n## Prerequisites\n\nBefore starting, ensure you have:\n\n1. **CloudBase environment created and activated**\n2. **Authentication credentials** (AccessToken, API Key, or Publishable Key)\n\n## Authentication and Authorization\n\nCloudBase HTTP API requires authentication. Choose the appropriate method based on your use case:\n\n### AccessToken Authentication\n\n**Applicable environments**: Client\u002FServer  \n**User permissions**: Logged-in user permissions\n\n**How to get**: Use `searchKnowledgeBase({ mode: \"openapi\", apiName: \"auth\" })` to get the Authentication API specification\n\n### API Key\n\n**Applicable environments**: Server  \n**User permissions**: Administrator permissions\n\n- **Validity**: Long-term valid\n- **How to get**: Get from [CloudBase Platform\u002FApiKey Management Page](https:\u002F\u002Ftcb.cloud.tencent.com\u002Fdev?#\u002Fidentity\u002Ftoken-management)\n\n> ⚠️ Warning: Tokens are critical credentials for identity authentication. Keep them secure. API Key must NOT be used in client-side code.\n\n### Publishable Key\n\n**Applicable environments**: Client\u002FServer  \n**User permissions**: Anonymous user permissions\n\n- **Validity**: Long-term valid\n- **How to get**: Get from [CloudBase Platform\u002FApiKey Management Page](https:\u002F\u002Ftcb.cloud.tencent.com\u002Fdev?#\u002Fidentity\u002Ftoken-management)\n\n> ? Note: Can be exposed in browsers, used for requesting publicly accessible resources, effectively reducing MAU.\n\n## API Endpoint URLs\n\nCloudBase HTTP API uses unified domain names for API calls. The domain varies based on the environment's region.\n\n### Domestic Regions\n\nFor environments in **domestic regions** like Shanghai (`ap-shanghai`), use:\n\n```text\nhttps:\u002F\u002F{your-env}.api.tcloudbasegateway.com\n```\n\nReplace `{your-env}` with the actual environment ID. For example, if environment ID is `cloud1-abc`:\n\n```text\nhttps:\u002F\u002Fcloud1-abc.api.tcloudbasegateway.com\n```\n\n### International Regions\n\nFor environments in **international regions** like Singapore (`ap-singapore`), use:\n\n```text\nhttps:\u002F\u002F{your-env}.api.intl.tcloudbasegateway.com\n```\n\nReplace `{your-env}` with the actual environment ID. For example, if environment ID is `cloud1-abc`:\n\n```text\nhttps:\u002F\u002Fcloud1-abc.api.intl.tcloudbasegateway.com\n```\n\n## Using Authentication in Requests\n\nAdd the token to the request header:\n\n```http\nAuthorization: Bearer \u003Caccess_token\u002Fapikey\u002Fpublishable_key>\n```\n\n:::warning Note\n\nWhen making actual calls, replace the entire part including angle brackets (`\u003C >`) with your obtained key. For example, if the obtained key is `eymykey`, fill it as:\n\n```http\nAuthorization: Bearer eymykey\n```\n\n:::\n\n## Usage Examples\n\n### Cloud Function Invocation Example\n\n```bash\ncurl -X POST \"https:\u002F\u002Fyour-env-id.api.tcloudbasegateway.com\u002Fv1\u002Ffunctions\u002FYOUR_FUNCTION_NAME\" \\\n  -H \"Authorization: Bearer \u003Caccess_token\u002Fapikey\u002Fpublishable_key>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"张三\", \"age\": 25}'\n```\n\nFor detailed API specifications, always download and reference the OpenAPI Swagger files mentioned above.\n\n## MySQL RESTful API\n\nThe MySQL RESTful API provides all MySQL database operations via HTTP endpoints.\n\n### Base URL Patterns\n\nSupport three domain access patterns:\n\n1. `https:\u002F\u002F{envId}.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n2. `https:\u002F\u002F{envId}.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002F{schema}\u002F{table}`\n3. `https:\u002F\u002F{envId}.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002F{instance}\u002F{schema}\u002F{table}`\n\nWhere:\n- `envId` is the environment ID\n- `instance` is the database instance identifier\n- `schema` is the database name\n- `table` is the table name\n\nIf using the system database, **recommend pattern 1**.\n\n### Request Headers\n\n| Header | Parameter | Description | Example |\n|--------|-----------|-------------|---------|\n| Accept | `application\u002Fjson`, `application\u002Fvnd.pgrst.object+json` | Control data return format | `Accept: application\u002Fjson` |\n| Content-Type | `application\u002Fjson`, `application\u002Fvnd.pgrst.object+json` | Request content type | `Content-Type: application\u002Fjson` |\n| Prefer | Operation-dependent feature values | - `return=representation` Write operation, return data body and headers\u003Cbr>- `return=minimal` Write operation, return headers only (default)\u003Cbr>- `count=exact` Read operation, specify count\u003Cbr>- `resolution=merge-duplicates` Upsert operation, merge conflicts\u003Cbr>- `resolution=ignore-duplicates` Upsert operation, ignore conflicts | `Prefer: return=representation` |\n| Authorization | `Bearer \u003Ctoken>` | Authentication token | `Authorization: Bearer \u003Caccess_token>` |\n\n### Query Records\n\n**GET** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Query Parameters**:\n- `select`: Field selection, supports `*` or field list, supports join queries like `class_id(grade,class_number)`\n- `limit`: Limit return count\n- `offset`: Offset for pagination\n- `order`: Sort field, format `field.asc` or `field.desc`\n\n**Example**:\n\n```bash\n# Before URL encoding\ncurl -X GET 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%张三%&title=eq.文章标题' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\"\n\n# After URL encoding\ncurl -X GET 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%%E5%BC%A0%E4%B8%89%&title=eq.%E6%96%87%E7%AB%A0%E6%A0%87%E9%A2%98' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\"\n```\n\n**Response Headers**:\n- `Content-Range`: Data range, e.g., `0-9\u002F100` (0=start, 9=end, 100=total)\n\n### Insert Records\n\n**POST** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Request Body**: JSON object or array of objects\n\n> ? **Note about `_openid`**: When a user is logged in (using AccessToken authentication), the `_openid` field is **automatically populated by the server** with the current user's identity. You do NOT need to manually set this field in INSERT operations - the server will fill it automatically based on the authenticated user's session.\n\n**Example**:\n\n```bash\ncurl -X POST 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Prefer: return=representation\" \\\n  -d '{\n    \"name\": \"数学\",\n    \"position\": 1\n  }'\n```\n\n### Update Records\n\n**PATCH** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Request Body**: JSON object with fields to update\n\n**Example**:\n\n```bash\ncurl -X PATCH 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?id=eq.1' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Prefer: return=representation\" \\\n  -d '{\n    \"name\": \"高等数学\",\n    \"position\": 2\n  }'\n```\n\n> ⚠️ **Important**: UPDATE requires a WHERE clause. Use query parameters like `?id=eq.1` to specify conditions.\n\n### Delete Records\n\n**DELETE** `\u002Fv1\u002Frdb\u002Frest\u002F{table}`\n\n**Example**:\n\n```bash\ncurl -X DELETE 'https:\u002F\u002Fyour-env.api.tcloudbasegateway.com\u002Fv1\u002Frdb\u002Frest\u002Fcourse?id=eq.1' \\\n  -H \"Authorization: Bearer \u003Caccess_token>\"\n```\n\n> ⚠️ **Important**: DELETE requires a WHERE clause. Use query parameters to specify conditions.\n\n### Error Codes and HTTP Status Codes\n\n| Error Code | HTTP Status | Description |\n|------------|-------------|-------------|\n| INVALID_PARAM | 400 | Invalid request parameters |\n| INVALID_REQUEST | 400 | Invalid request content: missing permission fields, SQL execution errors, etc. |\n| INVALID_REQUEST | 406 | Does not meet single record return constraint |\n| PERMISSION_DENIED | 401, 403 | Authentication failed: 401 for identity authentication failure, 403 for authorization failure |\n| RESOURCE_NOT_FOUND | 404 | Database instance or table not found |\n| SYS_ERR | 500 | Internal system error |\n| OPERATION_FAILED | 503 | Failed to establish database connection |\n| RESOURCE_UNAVAILABLE | 503 | Database unavailable due to certain reasons |\n\n### Response Format\n\n1. All POST, PATCH, DELETE operations: Request header with `Prefer: return=representation` means there is a response body, without it means only response headers.\n\n2. POST, PATCH, DELETE response bodies are usually JSON array type `[]`. If request header specifies `Accept: application\u002Fvnd.pgrst.object+json`, it will return JSON object type `{}`.\n\n3. If `Accept: application\u002Fvnd.pgrst.object+json` is specified but data quantity is greater than 1, an error will be returned.\n\n### URL Encoding\n\nWhen making requests, please perform URL encoding. For example:\n\n**Original request**:\n\n```shell\ncurl -i -X GET 'https:\u002F\u002F{{host}}\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%张三%&title=eq.文章标题'\n```\n\n**Encoded request**:\n\n```shell\ncurl -i -X GET 'https:\u002F\u002F{{host}}\u002Fv1\u002Frdb\u002Frest\u002Fcourse?select=name,position&name=like.%%E5%BC%A0%E4%B8%89%&title=eq.%E6%96%87%E7%AB%A0%E6%A0%87%E9%A2%98'\n```\n\n## Online Debugging Tool\n\nCloudBase platform provides an [online debugging tool](\u002Fhttp-api\u002Fbasic\u002Fonline-api-call) where you can test API interfaces without writing code:\n\n1. Visit the API documentation page\n2. Find the debugging tool entry\n3. Fill in environment ID and request parameters\n4. Click send request to view response\n\n## API Documentation References\n\n**⚠️ Always use `searchKnowledgeBase` tool to get OpenAPI Swagger specifications:**\n\nUse `searchKnowledgeBase({ mode: \"openapi\", apiName: \"\u003Capi-name>\" })` with these API names:\n- `auth` - Authentication API\n- `mysqldb` - MySQL RESTful API\n- `functions` - Cloud Functions API\n- `cloudrun` - CloudRun API\n- `storage` - Storage API\n\n**How to use the OpenAPI documentation:**\n1. Call `searchKnowledgeBase` tool with the appropriate `apiName`\n2. Parse the returned YAML content to extract:\n   - Endpoint paths (e.g., `\u002Fv1\u002Frdb\u002Frest\u002F{table}`)\n   - HTTP methods (GET, POST, PATCH, DELETE)\n   - Path parameters, query parameters, request body schemas\n   - Response schemas and status codes\n   - Authentication requirements\n3. Use the extracted information to construct accurate API calls\n4. Never assume endpoint structure - always verify against swagger documentation\n\n## Common Patterns\n\n### Reusable Shell Variables\n\n```bash\nenv=\"your-env-id\"\ntoken=\"your-access-token-or-api-key\"\nbase=\"https:\u002F\u002F${env}.api.tcloudbasegateway.com\"\n```\n\n### Common Request Pattern\n\n```bash\ncurl -X GET \"${base}\u002Fv1\u002Frdb\u002Frest\u002Ftable_name\" \\\n  -H \"Authorization: Bearer ${token}\" \\\n  -H \"Content-Type: application\u002Fjson\"\n```\n\n### Error Handling\n\nAlways check HTTP status codes and error response format:\n\n```json\n{\n  \"code\": \"ERROR_CODE\",\n  \"message\": \"Error message details\",\n  \"requestId\": \"request-unique-id\"\n}\n```\n\n## Common Authentication Flows\n\n> **? IMPORTANT: Default Authentication Method**\n>\n> When no specific signup\u002Fsignin method is specified by the user, **ALWAYS use Phone SMS Verification** as the default and recommended method. It is:\n> - ✅ The most user-friendly for Chinese users\n> - ✅ No password to remember\n> - ✅ Works for both new users (registration) and existing users (login)\n> - ✅ Most secure with OTP verification\n> - ✅ Supported by default in CloudBase\n\n### Phone Number Verification Code Login (Native Apps) ⭐ RECOMMENDED\n\nThis is the **preferred** authentication flow for native mobile apps (iOS\u002FAndroid\u002FFlutter\u002FReact Native):\n\n```\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Step 1: Send Verification Code                                        │\n│  POST \u002Fauth\u002Fv1\u002Fverification                                             │\n│  Body: { \"phone_number\": \"+86 13800138000\", \"target\": \"ANY\" }          │\n│  ⚠️ IMPORTANT: phone_number MUST include \"+86 \" prefix WITH SPACE      │\n│  Response: { \"verification_id\": \"xxx\", \"expires_in\": 600 }             │\n│  ? SAVE verification_id for next step!                                 │\n└─────────────────────────────────────────────────────────────────────────┘\n                                    ↓\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Step 2: Verify Code                                                    │\n│  POST \u002Fauth\u002Fv1\u002Fverification\u002Fverify                                      │\n│  Body: { \"verification_id\": \"\u003Csaved_id>\", \"verification_code\": \"123456\" }│\n│  Response: { \"verification_token\": \"xxx\" }                              │\n│  ? SAVE verification_token for login!                                  │\n└─────────────────────────────────────────────────────────────────────────┘\n                                    ↓\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Step 3: Sign In with Token                                             │\n│  POST \u002Fauth\u002Fv1\u002Fsignin                                                   │\n│  Body: { \"verification_token\": \"\u003Csaved_token>\" }                        │\n│  Response: { \"access_token\": \"xxx\", \"refresh_token\": \"xxx\" }           │\n└─────────────────────────────────────────────────────────────────────────┘\n```\n\n**⚠️ Critical Notes:**\n1. **Phone number format**: MUST be `\"+86 13800138000\"` with space after country code\n2. **Save `verification_id`**: Returned from Step 1, required for Step 2\n3. **Save `verification_token`**: Returned from Step 2, required for Step 3 \n\n## Best Practices\n\n1. **Always use URL encoding** for query parameters containing special characters\n2. **Include WHERE clauses** for UPDATE and DELETE operations\n3. **Use appropriate Prefer headers** to control response format\n4. **Handle errors gracefully** by checking status codes and error responses\n5. **Keep tokens secure** - never expose API Keys in client-side code\n6. **Use appropriate authentication method** based on your use case:\n   - AccessToken for user-specific operations\n   - API Key for server-side admin operations\n   - Publishable Key for public\u002Fanonymous access\n7. **Phone number format**: Always use international format with space: `\"+86 13800138000\"`\n8. **Verification flow**: Save `verification_id` from send step, use it in verify step\n",{"name":5,"alwaysApply":50,"description":7},"main","18d0e63d1313ca87098f614aa7c1e2dcf6de79c7","backend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fcloudbase\u002Fskills\u002Fcloudbase\u002Freferences\u002Fhttp-api",1,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system","https:\u002F\u002Fgithub.com\u002Fwelflau","2026-11-12 14:55:20",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add welflau\u002Fai-dev-system --skill http-api-cloudbase",{"tool":67,"command":68},"bunx","bunx skills add welflau\u002Fai-dev-system --skill http-api-cloudbase",{"tool":70,"command":71},"pnpm","pnpm dlx skills add welflau\u002Fai-dev-system --skill http-api-cloudbase","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fcloudbase\u002Fskills\u002Fcloudbase\u002Freferences\u002Fhttp-api\u002FSKILL.md",true,[],[76,108,138,163,189,211],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":81,"sourceHtmlUrl":82,"categories":83,"keywords":87,"publishedAt":49},"01M6HSTDP4M3JFXEBK91VFB4PA","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fweb-artifacts-builder\u002FSKILL.md",[84],{"categoryNo":85,"categoryName":86,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[88,89,90,91,92,93,94,95,96,97,98,99,100,101,44,102,103,104,105,106,107],"web artifacts builder","web","artifacts","artifacts builder","builder","frontend","css","components","react","routing","state management","state","file","Tailwind","single-file","simple","ui components","multi","for","single",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":112,"sourceHtmlUrl":113,"categories":114,"keywords":122,"publishedAt":49},"01M6HSDXH0JSP8R3QTNY9XZ8HN","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Ffrontend-design\u002FSKILL.md",[115,116,119],{"categoryNo":85,"categoryName":86,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":117,"categoryName":118,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":120,"categoryName":121,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000032","设计师",[93,123,124,94,89,95,96,125,126,127,90,128,129,130,44,131,132,133,134,135,136,137],"design","frontend design","react components","create","code","examples","applications","landing","ui design","pages","aesthetics","web ui","with","generic","when",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":142,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":49},"01M6HSA77QYVP7A72HREGTDN2C","algorithmic-art","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Falgorithmic-art\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Falgorithmic-art\u002FSKILL.md",[145],{"categoryNo":117,"categoryName":118,"taxonomyType":20,"taxonomyTypeDesc":21},[147,148,149,126,127,150,151,152,153,44,154,155,156,157,135,158,159,160,161,162,137],"algorithmic art","Art","algorithmic","flow","js","work","interactive","generative art","exploration","systems","users","Existing","request","generative","copyright","fields",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":167,"sourceHtmlUrl":168,"categories":169,"keywords":171,"publishedAt":49},"01M6HS9HE0X390Y6RQKTY1YNGJ","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Ftheme-factory\u002FSKILL.md",[170],{"categoryNo":117,"categoryName":118,"taxonomyType":20,"taxonomyTypeDesc":21},[172,173,174,175,176,177,90,178,179,180,130,181,182,132,183,135,184,185,186,106,187,188],"theme factory","factory","theme","docs","toolkit","generate","SET","fly","slides","styling","artifact","themes","you","fonts","can","apply","new",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":198,"publishedAt":49},"01M6HS74GASM6FJ77F83EY679E","browsing","Use when you need direct browser control - teaches Chrome DevTools Protocol for controlling existing browser sessions, multi-tab management, form automation, and content extraction via use_browser MCP tool","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fsuperpowers-chrome\u002Fskills\u002Fbrowsing\u002FSKILL.md",[195],{"categoryNo":196,"categoryName":197,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[191,199,200,201,202,47,203,204,205,206,207,44,208,209,39,210,105,184,106,158],"MCP","automation","chrome","sessions","browser","devtools","chrome devtools","tool","direct","browser control","control","form",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":215,"sourceHtmlUrl":216,"categories":217,"keywords":224,"publishedAt":49},"01M6HS6BZT2CKDNQ6YF20DXN4T","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fslack-gif-creator\u002FSKILL.md",[218,221],{"categoryNo":219,"categoryName":220,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":222,"categoryName":223,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",[225,226,227,228,229,230,231,232,233,44,234,157,235,236,237,106,159,137],"slack gif creator","slack","gif","creator","validation","Tools","constraints","Animation","knowledge","me","make","Utilities","concepts"]