Provides fullstack development tools for the bkend.ai backend-as-a-service platform.
Install
mkdir -p .claude/skills/dynamic && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17573" && unzip -o skill.zip -d .claude/skills/dynamic && rm skill.zipInstalls to .claude/skills/dynamic
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Fullstack development skill using bkend.ai BaaS platform. Covers authentication, data storage, API integration for dynamic web apps. Project initialization with "init dynamic" or "dynamic init". Use proactively when user needs login, database, or backend features without managing servers. Triggers: fullstack, BaaS, bkend, authentication, login feature, signup, database, web app, SaaS, MVP, init dynamic, dynamic init, 풀스택, 인증, 로그인 기능, 회원가입, 데이터베이스, 웹앱, フルスタック, 認証, ログイン機能, データベース, 全栈, 身份验证, 登录功能, autenticación, inicio de sesión, registro, base de datos, fullstack, aplicación web, authentification, connexion, inscription, base de données, fullstack, application web, Authentifizierung, Anmeldung, Registrierung, Datenbank, Fullstack, Web-App, autenticazione, accesso, registrazione, database, fullstack, applicazione web Do NOT use for: static websites, Enterprise-grade systems requiring custom infrastructure.Key capabilities
- →Initialize fullstack projects with Next.js and Tailwind CSS
- →Configure bkend.ai MCP for backend services
- →Implement user authentication features
- →Manage data storage with MongoDB
- →Integrate real-time features using WebSockets
- →Provide development guides for bkend.ai integration
How it works
The skill initializes a fullstack project with a Next.js frontend and bkend.ai BaaS backend, setting up authentication, data storage, and API integration. It provides templates and guides for rapid development.
Inputs & outputs
When to use dynamic
- →Initializing a new fullstack project
- →Setting up database schemas
- →Implementing user authentication
About this skill
Intermediate (Dynamic) Skill
Actions
| Action | Description | Example |
|---|---|---|
init | Project initialization (/init-dynamic feature) | /dynamic init my-saas |
guide | Display development guide | /dynamic guide |
help | BaaS integration help | /dynamic help |
init (Project Initialization)
- Create Next.js + Tailwind project structure
- Configure bkend.ai MCP (.mcp.json)
- Create CLAUDE.md (Level: Dynamic specified)
- Create docs/ folder structure
- src/lib/bkend.ts client template
- Initialize .bkit-memory.json
guide (Development Guide)
- bkend.ai auth/data configuration guide
- Phase 1-9 full Pipeline guide
- API integration patterns
help (BaaS Help)
- Explain bkend.ai basic concepts
- Auth, database, file storage usage
- MCP integration methods
Target Audience
- Frontend developers
- Solo entrepreneurs
- Those who want to build fullstack services quickly
Tech Stack
Frontend:
- React / Next.js 14+
- TypeScript
- Tailwind CSS
- TanStack Query (data fetching)
- Zustand (state management)
Backend (BaaS):
- bkend.ai
- Auto REST API
- MongoDB database
- Built-in authentication (JWT)
- Real-time features (WebSocket)
Deployment:
- Vercel (frontend)
- bkend.ai (backend)
Language Tier Guidance (v1.3.0)
Recommended: Tier 1-2 languages
Dynamic level supports full-stack development with strong AI compatibility.
| Tier | Allowed | Reason |
|---|---|---|
| Tier 1 | ✅ Primary | Full AI support |
| Tier 2 | ✅ Yes | Mobile (Flutter/RN), Modern web (Vue, Astro) |
| Tier 3 | ⚠️ Limited | Platform-specific needs only |
| Tier 4 | ❌ No | Migration recommended |
Mobile Development:
- React Native (Tier 1 via TypeScript) - Recommended
- Flutter (Tier 2 via Dart) - Supported
Project Structure
project/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (auth)/ # Auth-related routes
│ │ │ ├── login/
│ │ │ └── register/
│ │ ├── (main)/ # Main routes
│ │ │ ├── dashboard/
│ │ │ └── settings/
│ │ ├── layout.tsx
│ │ └── page.tsx
│ │
│ ├── components/ # UI components
│ │ ├── ui/ # Basic UI (Button, Input...)
│ │ └── features/ # Feature-specific components
│ │
│ ├── hooks/ # Custom hooks
│ │ ├── useAuth.ts
│ │ └── useQuery.ts
│ │
│ ├── lib/ # Utilities
│ │ ├── bkend.ts # bkend.ai client
│ │ └── utils.ts
│ │
│ ├── stores/ # State management (Zustand)
│ │ └── auth-store.ts
│ │
│ └── types/ # TypeScript types
│ └── index.ts
│
├── docs/ # PDCA documents
│ ├── 01-plan/
│ ├── 02-design/
│ │ ├── data-model.md # Data model
│ │ └── api-spec.md # API specification
│ ├── 03-analysis/
│ └── 04-report/
│
├── .mcp.json # bkend.ai MCP config
├── .env.local # Environment variables
├── package.json
└── README.md
Core Patterns
bkend.ai Client Setup
// lib/bkend.ts
import { createClient } from '@bkend/client';
export const bkend = createClient({
apiKey: process.env.NEXT_PUBLIC_BKEND_API_KEY!,
projectId: process.env.NEXT_PUBLIC_BKEND_PROJECT_ID!,
});
Authentication Hook
// hooks/useAuth.ts
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
import { bkend } from '@/lib/bkend';
interface AuthState {
user: User | null;
isLoading: boolean;
login: (email: string, password: string) => Promise<void>;
logout: () => void;
}
export const useAuth = create<AuthState>()(
persist(
(set) => ({
user: null,
isLoading: false,
login: async (email, password) => {
set({ isLoading: true });
const { user, token } = await bkend.auth.login({ email, password });
set({ user, isLoading: false });
},
logout: () => {
bkend.auth.logout();
set({ user: null });
},
}),
{ name: 'auth-storage' }
)
);
Data Fetching (TanStack Query)
// List query
const { data, isLoading, error } = useQuery({
queryKey: ['items', filters],
queryFn: () => bkend.collection('items').find(filters),
});
// Single item query
const { data: item } = useQuery({
queryKey: ['items', id],
queryFn: () => bkend.collection('items').findById(id),
enabled: !!id,
});
// Create/Update (Mutation)
const mutation = useMutation({
mutationFn: (newItem) => bkend.collection('items').create(newItem),
onSuccess: () => {
queryClient.invalidateQueries(['items']);
},
});
Protected Route
// components/ProtectedRoute.tsx
'use client';
import { useAuth } from '@/hooks/useAuth';
import { redirect } from 'next/navigation';
export function ProtectedRoute({ children }: { children: React.ReactNode }) {
const { user, isLoading } = useAuth();
if (isLoading) return <LoadingSpinner />;
if (!user) redirect('/login');
return <>{children}</>;
}
Data Model Design Principles
// Base fields (auto-generated)
interface BaseDocument {
_id: string;
createdAt: Date;
updatedAt: Date;
}
// User reference
interface Post extends BaseDocument {
userId: string; // Author ID (reference)
title: string;
content: string;
tags: string[]; // Array field
metadata: { // Embedded object
viewCount: number;
likeCount: number;
};
}
MCP Integration (.mcp.json)
{
"mcpServers": {
"bkend": {
"command": "npx",
"args": ["@bkend/mcp-server"],
"env": {
"BKEND_API_KEY": "${BKEND_API_KEY}",
"BKEND_PROJECT_ID": "${BKEND_PROJECT_ID}"
}
}
}
}
Limitations
❌ Complex backend logic (serverless function limits)
❌ Large-scale traffic (within BaaS limits)
❌ Custom infrastructure control
❌ Microservices architecture
When to Upgrade
Move to Enterprise Level if you need:
→ "Traffic will increase significantly"
→ "I want to split into microservices"
→ "I need my own server/infrastructure"
→ "I need complex backend logic"
Common Mistakes
| Mistake | Solution |
|---|---|
| CORS error | Register domain in bkend.ai console |
| 401 Unauthorized | Token expired, re-login or refresh token |
| Data not showing | Check collection name, query conditions |
| Type error | Sync TypeScript type definitions with schema |
⚡ Optimization Integration
When using this skill for critical tasks, please run it within a /native-trace context to capture performance data for self-improvement via /aioptimize.
When not to use it
- →For static websites
- →For Enterprise-grade systems requiring custom infrastructure
- →For complex backend logic exceeding serverless function limits
Limitations
- →Limited for complex backend logic due to serverless function limits
- →Not suitable for large-scale traffic beyond BaaS limits
- →Does not provide custom infrastructure control
How it compares
This skill provides a pre-configured fullstack environment with BaaS integration, abstracting away server management and accelerating development compared to setting up each component manually.
Compared to similar skills
dynamic side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| dynamic (this skill) | 0 | 3mo | Review | Intermediate |
| route-handlers | 1 | 6mo | Review | Intermediate |
| telegram-dev | 2 | 7mo | Review | Intermediate |
| shopify-apps | 1 | 3mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by LowyShin
View all by LowyShin →You might also like
route-handlers
davepoon
This skill should be used when the user asks to "create an API route", "add an endpoint", "build a REST API", "handle POST requests", "create route handlers", "stream responses", or needs guidance on Next.js API development in the App Router.
telegram-dev
2025Emma
Telegram 生态开发全栈指南 - 涵盖 Bot API、Mini Apps (Web Apps)、MTProto 客户端开发。包括消息处理、支付、内联模式、Webhook、认证、存储、传感器 API 等完整开发资源。
shopify-apps
alinaqi
Shopify app development - Remix, Admin API, checkout extensions
cloudbase-document-database-web-sdk
TencentCloudBase
Use CloudBase document database Web SDK to query, create, update, and delete data. Supports complex queries, pagination, aggregation, and geolocation queries.
ccxt-typescript
ccxt
CCXT cryptocurrency exchange library for TypeScript and JavaScript developers (Node.js and browser). Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors. Use when working with crypto exchanges in TypeScript/JavaScript projects, trading bots, arbitrage systems, or portfolio management tools. Includes both REST and WebSocket examples.
relational-database-web-cloudbase
TencentCloudBase
Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser.