Agent skill

Dynamic

by ww-w-ai in ww-w-ai/bkit-claude-code

Fullstack development with bkend.ai BaaS — authentication, database, API integration.

Apache-2.0Auto-check: notesBackend & APIs

Install Dynamic

skills CLI
$ npx skills add ww-w-ai/bkit-claude-code --skill dynamic -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ww-w-ai/bkit-claude-code dynamic --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ww-w-ai/bkit-claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dynamic .claude/skills/dynamic && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dynamic
GitHub stars
601
Token cost
~2.7k tokens
SKILL.md length
309 words
Files
1
Skills in repo
44
Repo updated
First seen
Licence
Apache-2.0

At a glance

Fullstack development with bkend.ai BaaS — authentication, database, API integration.

  • Works in 6 steps: Create Next.js + Tailwind project… → Configure bkend.ai MCP (.mcp.json) → Create CLAUDE.md (Level: Dynamic… → …
  • Tasks that involve Third-party API integration
  • SKILL.md covers Actions, Target Audience, Tech Stack and Project Structure, plus 3 more sections
  • Calls claude; reaches api.bkend.ai

What it does

Dynamic is an agent skill from ww-w-ai/bkit-claude-code. Fullstack development with bkend.ai BaaS — authentication, database, API integration. Triggers: fullstack, BaaS, login, signup, database, web app

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Third-party API integration. The repository describes itself as: bkit Vibecoding Kit - PDCA methodology + Claude Code mastery for AI-native development. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Third-party API integration

Example prompts

  • “/dynamic”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Edit, Glob, Grep, Bash, mcp__bkend__*

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Create Next.js + Tailwind project structure
  2. Configure bkend.ai MCP (.mcp.json)
  3. Create CLAUDE.md (Level: Dynamic specified)
  4. Create docs/ folder structure
  5. src/lib/bkend.ts client template
  6. Initialize the pipeline store — writeBkitMemory() in lib/pdca/status.js,

What it can do on your machine

Read from SKILL.md and the folder at commit 85b4913. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Glob
    • Grep
    • Bash
    • mcp__bkend__*

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.bkend.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dynamic loads about 2.7k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 309 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:147
    ├── .env.local                  # Environment variables
  • NoteMentions a .env fileSKILL.md:329
    ## Environment Variables (.env.local)
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Glob, Grep, Bash, mcp__bkend__*

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ww-w-ai/bkit-claude-code at commit 85b4913, republished under its Apache-2.0 licence (© ww-w-ai). 309 words, ~2,679 tokens.

Download SKILL.mdSave it as .claude/skills/dynamic/SKILL.md (or your agent's skills folder).
name
dynamic
description
Fullstack development with bkend.ai BaaS — authentication, database, API integration. Triggers: fullstack, BaaS, login, signup, database, web app
allowed-tools
Read, Write, Edit, Glob, Grep, Bash, mcp__bkend__*
classification
capability
classification-reason
Pattern guidance may overlap with model's built-in knowledge as it improves
deprecation-risk
medium
effort
medium
argument-hint
[init|guide|help]
agent
bkit:bkend-expert
user-invocable
true
imports
${PLUGIN_ROOT}/templates/design.template.md
next-skill
phase-1-schema
pdca-phase
plan

Intermediate (Dynamic) Skill

Actions

ActionDescriptionExample
initProject initialization (/init-dynamic feature)/dynamic init my-saas
guideDisplay development guide/dynamic guide
helpBaaS integration help/dynamic help
init (Project Initialization)
  1. Create Next.js + Tailwind project structure
  2. Configure bkend.ai MCP (.mcp.json)
  3. Create CLAUDE.md (Level: Dynamic specified)
  4. Create docs/ folder structure
  5. src/lib/bkend.ts client template
  6. Initialize the pipeline store — writeBkitMemory() in lib/pdca/status.js, which writes .bkit/state/memory.json (the migrated path of .bkit-memory.json). This holds the project level and the 9-phase pipelineStatus, read by the pipeline Stop hooks for phases 5, 6 and 9. It is NOT where the PDCA phase lives — that is .bkit/state/pdca-status.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.

TierAllowedReason
Tier 1✅ PrimaryFull AI support
Tier 2✅ YesMobile (Flutter/RN), Modern web (Vue, Astro)
Tier 3⚠️ LimitedPlatform-specific needs only
Tier 4❌ NoMigration 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 (type: http)
├── .env.local                  # Environment variables
├── package.json
└── README.md

Core Patterns

bkend.ai Client Setup
typescript
// lib/bkend.ts - REST Service API Client
const API_BASE = process.env.NEXT_PUBLIC_BKEND_API_URL || 'https://api.bkend.ai/v1';
const PROJECT_ID = process.env.NEXT_PUBLIC_BKEND_PROJECT_ID!;
const ENVIRONMENT = process.env.NEXT_PUBLIC_BKEND_ENV || 'dev';

async function bkendFetch(path: string, options: RequestInit = {}) {
  const token = localStorage.getItem('bkend_access_token');
  const res = await fetch(`${API_BASE}${path}`, {
    ...options,
    headers: {
      'Content-Type': 'application/json',
      'x-project-id': PROJECT_ID,
      'x-environment': ENVIRONMENT,
      ...(token && { Authorization: `Bearer ${token}` }),
      ...options.headers,
    },
  });
  if (!res.ok) throw new Error(await res.text());
  return res.json();
}

export const bkend = {
  auth: {
    signup: (body: {email: string; password: string}) => bkendFetch('/auth/email/signup', {method: 'POST', body: JSON.stringify(body)}),
    signin: (body: {email: string; password: string}) => bkendFetch('/auth/email/signin', {method: 'POST', body: JSON.stringify(body)}),
    me: () => bkendFetch('/auth/me'),
    refresh: (refreshToken: string) => bkendFetch('/auth/refresh', {method: 'POST', body: JSON.stringify({refreshToken})}),
    signout: () => bkendFetch('/auth/signout', {method: 'POST'}),
  },
  data: {
    list: (table: string, params?: Record<string,string>) => bkendFetch(`/data/${table}?${new URLSearchParams(params)}`),
    get: (table: string, id: string) => bkendFetch(`/data/${table}/${id}`),
    create: (table: string, body: any) => bkendFetch(`/data/${table}`, {method: 'POST', body: JSON.stringify(body)}),
    update: (table: string, id: string, body: any) => bkendFetch(`/data/${table}/${id}`, {method: 'PATCH', body: JSON.stringify(body)}),
    delete: (table: string, id: string) => bkendFetch(`/data/${table}/${id}`, {method: 'DELETE'}),
  },
};
Authentication Hook
typescript
// 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)
typescript
// 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
typescript
// 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

typescript
// 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

bash
claude mcp add bkend --transport http https://api.bkend.ai/mcp
.mcp.json (Per Project)
json
{
  "mcpServers": {
    "bkend": {
      "type": "http",
      "url": "https://api.bkend.ai/mcp"
    }
  }
}
Authentication
  • OAuth 2.1 + PKCE (browser auto-auth)
  • No API Key/env vars needed
  • First MCP request opens browser -> login to bkend console -> select Organization -> approve permissions
  • Verify: "Show my bkend projects"

## Environment Variables (.env.local)

NEXT_PUBLIC_BKEND_API_URL=https://api.bkend.ai/v1 NEXT_PUBLIC_BKEND_PROJECT_ID=your-project-id NEXT_PUBLIC_BKEND_ENV=dev


Note: Project ID is found in bkend console (console.bkend.ai).
Via MCP: "Show my project list" -> backend_project_list

## 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"


## bkit Features for Dynamic Level (v1.5.1)

### Output Style: bkit-pdca-guide (Recommended)

For optimal PDCA workflow experience, activate the PDCA guide style:

/output-style bkit-pdca-guide


This provides:
- PDCA status badges showing current phase progress
- Gap analysis suggestions after code changes
- Automatic next-phase guidance with checklists

### Agent Teams (2 Teammates)

Dynamic projects support Agent Teams for parallel PDCA execution:

| Role | Agents | PDCA Phases |
|------|--------|-------------|
| developer | bkend-expert | Do, Act |
| qa | qa-monitor, gap-detector | Check |

**To enable:**
1. Set environment: `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`
2. Start team mode: `/pdca team {feature}`
3. Monitor progress: `/pdca team status`

### Agent Memory (Auto-Active)

All bkit agents automatically remember project context across sessions.
No setup needed — agents use `project` scope memory for this codebase.

---

## 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 |

© ww-w-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/dynamic of ww-w-ai/bkit-claude-code.

Open the folder on GitHubat commit 85b4913

Compare with similar skills

Dynamic next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dynamic compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dynamic this skillww-w-ai/bkit-claude-code601—~2.7kAutomated safety check: NotesApache-2.0
Sub2API AdminWei-Shaw/sub2api44k1 repos~717Automated safety check: PassLGPL-3.0
Firecrawl Build Onboardingfirecrawl/firecrawl190k1 repos~1.4kAutomated safety check: NotesISC
ToolJet Marketplace Plugin BuilderToolJet/ToolJet41k—~2.1kAutomated safety check: PassAGPL-3.0
Firecrawl Search Integrationfirecrawl/firecrawl190k1 repos~1.1kAutomated safety check: PassISC
CoinGecko API Reference2025Emma/vibe-coding-cn23k1 repos~646Automated safety check: PassMIT

Similar skills

  • Sub2API Admin

    Wei-Shaw/sub2api

    Manages a Sub2API deployment from the command line: accounts, redeem and invitation codes, groups, proxies, imports, exports and raw admin API calls.

    44k GitHub starsUsed in 1 repo~717 tokens
    Backend & APIsAuto-check passed
  • Firecrawl Build Onboarding

    firecrawl/firecrawl

    Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.

    190k GitHub starsUsed in 1 repo~1.4k tokens
    Backend & APIsAuto-check: notes
  • Turns an API description, such as an OpenAPI file or a Postman collection, into a connector plugin for ToolJet's marketplace and checks it with the repo's validator.

    41k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Firecrawl Search Integration

    firecrawl/firecrawl

    Guidance for adding Firecrawl's /search endpoint to product code and agent workflows when a feature starts from a query rather than a URL.

    190k GitHub starsUsed in 1 repo~1.1k tokens
    Backend & APIsAuto-check passed
  • CoinGecko API Reference

    2025Emma/vibe-coding-cn

    CoinGecko API documentation - cryptocurrency market data API, price feeds, market cap, volume, historical data. Use when integrating CoinGecko API, building…

    23k GitHub starsUsed in 1 repo~646 tokens
    Backend & APIsAuto-check passed
  • OmniRoute Provider Management

    diegosouzapw/OmniRoute

    Manages AI provider connections, API keys, OAuth flows and connection tests through OmniRoute's REST API across its 327-provider catalog.

    74k GitHub stars~2.4k tokensUpdated today
    Backend & APIsAuto-check passed

More from ww-w-ai/bkit-claude-code

All 44 skills in this repo
  • Audit

    ww-w-ai/bkit-claude-code

    View audit logs, decision traces, and session history for AI transparency.

    601 GitHub stars~1.6k tokensUpdated 12 days ago
    Auto-check: notes
  • Bkend Auth

    ww-w-ai/bkit-claude-code

    bkend.ai authentication — email/social login, JWT tokens, RBAC, session management.

    601 GitHub stars~937 tokensUpdated 12 days ago
    Auto-check: notes
  • Bkend Cookbook

    ww-w-ai/bkit-claude-code

    bkend.ai project tutorials (todo to SaaS) and common error troubleshooting.

    601 GitHub stars~891 tokensUpdated 12 days ago
    Auto-check: notes
  • Bkend Quickstart

    ww-w-ai/bkit-claude-code

    bkend.ai onboarding — MCP setup, resource hierarchy, tenant/user model, first project.

    601 GitHub stars~1.2k tokensUpdated 12 days ago
    Auto-check passed
  • Bkend Storage

    ww-w-ai/bkit-claude-code

    bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets.

    601 GitHub stars~901 tokensUpdated 12 days ago
    Auto-check: notes
  • Bkit

    ww-w-ai/bkit-claude-code

    bkit plugin help - list available functions including /pdca (9-phase feature cycle), /sprint (8-phase feature container, v2.1.13), /control (Trust L0-L4 + SPRINTAUTORUNSCOPE), /bkit-explore, and 40+…

    601 GitHub stars~1.4k tokensUpdated 12 days ago
    Auto-check passed

Categories

Questions about Dynamic

What does Dynamic do?

Fullstack development with bkend.ai BaaS — authentication, database, API integration. Dynamic is an agent skill from ww-w-ai/bkit-claude-code.ai BaaS — authentication, database, API integration.

When should I use Dynamic?

Dynamic fits situations like: tasks that involve Third-party API integration.

How do I install Dynamic in Claude Code?

Run `npx skills add ww-w-ai/bkit-claude-code --skill dynamic -a claude-code`. Or copy the skill folder (skills/dynamic in ww-w-ai/bkit-claude-code) into .claude/skills/dynamic in your project. Claude Code loads it when a task matches its description.

How do I install Dynamic in Codex?

Run `npx skills add ww-w-ai/bkit-claude-code --skill dynamic -a codex`. Or copy the skill folder (skills/dynamic in ww-w-ai/bkit-claude-code) into .agents/skills/dynamic in your project. Codex loads it when a task matches its description.

Can I use Dynamic in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ww-w-ai/bkit-claude-code --skill dynamic -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dynamic, .gemini/skills/dynamic, .github/skills/dynamic and .opencode/skills/dynamic in your project.

What does Dynamic need to run?

Going by SKILL.md and its folder, Dynamic needs the command-line tools its instructions call (claude). Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash, mcp__bkend__*.

Does Dynamic access the network?

SKILL.md names 1 domain. In commands or code: api.bkend.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Dynamic safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Dynamic use?

Dynamic is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dynamic use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Dynamic?

Skills that share tags, products or a category with Dynamic: Sub2API Admin (Wei-Shaw/sub2api, 44k stars), Firecrawl Build Onboarding (firecrawl/firecrawl, 190k stars), ToolJet Marketplace Plugin Builder (ToolJet/ToolJet, 41k stars) and Firecrawl Search Integration (firecrawl/firecrawl, 190k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dynamic?

ww-w-ai (a GitHub organization) maintains it in ww-w-ai/bkit-claude-code, which has 601 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on September 27, 2026.

Source: ww-w-ai/bkit-claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.