sync-sdk-skill
npx skills add https://github.com/base44/skills --skill sync-sdk-skill
Agent 安装分布
Skill 文档
Sync SDK Skill
Synchronize the skills/base44-sdk/ skill with the latest SDK source code from the Base44 SDK repository.
Usage
When activated, this command will ask for:
- SDK source folder path (required) – The local path to the Base44 SDK source code
- Documentation URL (optional) – URL to fetch additional documentation
Steps
Step 1: Gather Input
Ask the user for the required inputs using the AskQuestion tool if available, otherwise ask conversationally:
Required:
- SDK source folder path (e.g.,
~/projects/base44-sdkor/Users/me/base44-sdk)
Optional:
- Documentation URL (e.g.,
https://docs.base44.com/sdk)
If the user provided these in the initial prompt, use those values.
Step 2: Validate Source Folder
- Check that the provided path exists and contains SDK source code
- Look for these key indicators:
package.jsonwith@base44/sdkor similar SDK-related contentsrc/directory with module implementations- TypeScript/JavaScript files with SDK module exports (e.g.,
entities.ts,auth.ts,client.ts)
If validation fails, ask the user to verify the path.
Step 3: Discover SDK Modules
Scan the SDK source folder to find all available modules. Look for:
-
Module files in directories like:
src/src/modules/lib/
-
For each module, extract:
- Module name and exports
- Available methods and their signatures
- Method parameters and types
- Return types
- Usage examples (if present in source or JSDoc)
- Submodules (e.g.,
integrations.Core,integrations.custom)
-
Parse module definitions from:
- TypeScript interfaces and types
- Class definitions and methods
- JSDoc comments and annotations
- Export statements
-
Key modules to look for:
entities– CRUD operations on data modelsauth– Login, register, user managementagents– AI conversations and messagesfunctions– Backend function invocationintegrations– AI, email, file uploads, custom APIsconnectors– OAuth tokens (service role only)analytics– Track custom eventsappLogs– Log user activityusers– User invitationsclient– Client creation and configuration
Step 4: Read Existing Skill
Read the current skill files to understand what needs updating:
skills/base44-sdk/
âââ SKILL.md
âââ references/
âââ analytics.md
âââ app-logs.md
âââ auth.md
âââ base44-agents.md
âââ client.md
âââ connectors.md
âââ entities.md
âââ functions.md
âââ integrations.md
âââ users.md
Step 5: Compare and Identify Changes
Compare discovered SDK modules with existing skill documentation:
- New modules: Modules in source but not in skill references
- New methods: Methods added to existing modules
- Updated methods: Methods with changed signatures, parameters, or return types
- Deprecated methods: Methods marked as deprecated
- Removed methods: Methods in skill but not in source (verify before removing)
- New parameters: New options added to existing methods
Create a summary of changes to show the user before applying.
Step 6: Fetch External Documentation (Optional)
If a documentation URL was provided:
- Fetch the documentation page
- Extract relevant module and method documentation
- Use this to supplement information from source code
- Cross-reference for accuracy
Step 7: Update Skill Files
For each change identified:
Update Reference Files
For each module, update or create references/{module-name}.md:
# {ModuleName} Module
{Description from source}
## Overview
{Brief explanation of what the module does}
## Methods
### `{methodName}(params)`
{Method description}
**Parameters:**
| Parameter | Type | Description | Required |
|-----------|------|-------------|----------|
| `param1` | `string` | {description} | Yes |
| `options` | `object` | {description} | No |
**Returns:** `Promise<{ReturnType}>`
**Example:**
```javascript
const result = await base44.{module}.{methodName}({
param1: "value"
});
Notes
{Any important behavioral notes, frontend/backend availability, etc.}
#### Update SKILL.md
1. Update the **SDK Modules** table if modules changed
2. Update **Quick Start** if core patterns changed
3. Update **Module Selection** section with new capabilities
4. Update **Common Patterns** with new usage examples
5. Update **Frontend vs Backend** table if availability changed
6. Keep the existing structure and formatting
7. Do NOT change the frontmatter description unless explicitly asked
### Step 8: Present Summary
After updates, present a summary to the user:
Sync Summary
Files Updated
- references/new-module.md (created)
- references/entities.md (updated methods)
- SKILL.md (updated module table)
Changes Made
- Added new module:
newModule - Updated
entitiesmodule: addedbulkCreate()method - Added new parameter
options.cachetoauth.me() - Deprecated
integrations.legacyMethod()
Manual Review Recommended
- [List any changes that need verification]
## Important Notes
- **Preserve existing content**: Don't remove detailed explanations, examples, or warnings unless they're outdated
- **Keep formatting consistent**: Match the existing style of SKILL.md and reference files
- **Maintain progressive disclosure**: Keep detailed docs in references, summaries in SKILL.md
- **Flag uncertainties**: If source code is unclear, flag it for manual review
- **Document frontend/backend availability**: Always note if a method is backend-only (e.g., `connectors`, `asServiceRole`)
- **Preserve type information**: Include TypeScript types in method signatures
- **Keep examples practical**: Examples should reflect real-world usage patterns
## Module-Specific Guidelines
### entities.md
- Document CRUD methods: `create`, `get`, `list`, `filter`, `update`, `delete`
- Include query filter syntax and operators
- Document `subscribe()` for real-time updates
- Note RLS/FLS security implications if applicable
### auth.md
- Cover all authentication methods (email/password, OAuth, etc.)
- Document `me()`, `updateMe()`, `logout()`
- Include redirect flow examples
- Note token handling
### integrations.md
- Document `Core` submodule methods (InvokeLLM, SendEmail, UploadFile, GenerateImage)
- Document `custom.call()` for custom integrations
- Include AI prompt examples
### connectors.md
- Note this is service role / backend only
- Document `getAccessToken()` for OAuth providers
### functions.md
- Show both frontend invocation and backend implementation
- Include `createClientFromRequest()` usage
- Document `asServiceRole` access patterns
## Troubleshooting
| Issue | Solution |
|-------|----------|
| Can't find module files | Try searching for `export class` or `export function` patterns |
| Types not detected | Look for `.d.ts` files or inline TypeScript annotations |
| Missing method descriptions | Check for JSDoc comments (`/** ... */`) above methods |
| Submodule structure | Modules like `integrations.Core` may be in nested files |
| Return types unclear | Check TypeScript generics and Promise wrappers |