better-auth-add-plugin
Add a better-auth plugin to an existing project. Configures server and client plugins with proper imports.
Interactive Durable Objects migration assistant. Guides through new class creation, renaming, deletion, and transfer migrations with validation.
$ npx -y skills add secondsky/claude-skills --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/do-migrateContext preview
What this command does when you run it.
Interactive Durable Objects migration assistant. Guides through new class creation, renaming, deletion, and transfer migrations with validation.
name: cloudflare-durable-objects:migrate description: Interactive Durable Objects migration assistant. Guides through new class creation, renaming, deletion, and transfer migrations with validation.
Interactive command to safely create and manage Durable Objects migrations. Handles new classes, renaming, deletion, and transfers with automatic validation and backup.
This command simplifies DO migration management by:
Before prompting user, analyze the current project state:
cat wrangler.jsonc
Parse configuration to extract:
Determine project state:
**Case 1: No Existing Migrations**
**Case 2: Existing Migrations**
**Case 3: No DO Bindings**
Show user the current configuration:
Current Durable Objects Configuration: Bindings: - MY_DO → MyDurableObject - CHAT_ROOM → ChatRoom Migrations: - v1: new_sqlite_classes [MyDurableObject] - v2: new_sqlite_classes [ChatRoom] Next migration tag: v3
Use AskUserQuestion tool to determine migration type and details:
**Question**: "What type of migration do you need to perform?" **Header**: "Migration Type" **Options**:
If user selected **New Class**, ask:
**Question**: "Which storage backend will this Durable Object use?" **Header**: "Storage Backend" **Options**:
**Note**: For other migration types, storage backend is already determined by existing class.
Gather class name(s) based on migration type:
**Prompt**: "Enter the name of the new Durable Object class to add:"
Show existing class names for reference:
Existing classes: - MyDurableObject - ChatRoom New class name: _______
Validation:
**Prompt 1**: "Enter the current class name to rename:"
Show dropdown/autocomplete of existing class names:
Select class to rename:
> MyDurableObject
ChatRoom**Prompt 2**: "Enter the new class name:"
Validation:
**Prompt**: "Enter the class name to delete:"
Show dropdown of existing classes with WARNING:
⚠️ WARNING: Deleting a class permanently destroys all DO instances and data!
Select class to delete:
> MyDurableObject
ChatRoom
This action cannot be undone. Continue? [y/N]Require explicit confirmation due to data loss.
**Prompt 1**: "Enter the class name to transfer:"
Show existing classes:
Select class to transfer:
> MyDurableObject
ChatRoom**Prompt 2**: "Enter the destination Worker script name:"
Current script: my-worker Destination script: _______
Validation:
**Question**: "What tag should this migration use?" **Header**: "Migration Tag"
**Suggested Tag**: Auto-calculated based on existing migrations (e.g., v3)
**Options**:
If **Custom Tag** selected, prompt:
Enter custom migration tag: _______
Validation:
Before generating migration, perform validation checks:
For **New Class** migrations, verify class is exported:
# Check if class is exported in main file grep "export class NEW_CLASS_NAME" src/index.ts
If not found:
⚠️ WARNING: Class 'MyNewDO' not found in src/index.ts
Before deploying, ensure:
export class MyNewDO extends DurableObject { ... }
Continue anyway? [y/N]For **New Class** migrations, check if binding exists:
# Check wrangler.jsonc for binding jq '.durable_objects.binding
145 production-ready skills for Claude Code CLI 🔌 Platform / Harness Support These plugins ship as Claude Code marketplace plugins (.claude-plugin/ manifests) and Codex CLI plugins (.codex-plugin/ manifests).
Repo: secondsky/claude-skills
Add a better-auth plugin to an existing project. Configures server and client plugins with proper imports.
Interactive setup wizard for better-auth authentication. Guides through database, framework, OAuth providers, and plugin configuration.
Explain Better Auth error codes and provide solutions with code examples
Display Better Auth available authentication providers and their configuration