Token导航 LogoToken导航

Agent Skill · 研究检索

bknd-troubleshoot(排除故障)

bknd-troubleshoot 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

bknd-troubleshoot 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 64,557。

总安装 297周安装 12GitHub Stars 3下载 93核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:bknd-troubleshoot(排除故障)
来源仓库:https://github.com/cameronapak/bknd-skills
仓库路径:skills/bknd-troubleshoot
安装命令:
npx skills add https://github.com/cameronapak/bknd-skills --skill bknd-troubleshoot
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/cameronapak/bknd-skills --skill bknd-troubleshoot

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于诊断常见 Bknd 错误并提供快速修复建议参考指南。涵盖 400/500 类错误原因分析及典型配置问题排查路径。按错误码或症状匹配解决方案,减少调试时间成本。适用于运行时异常定位与部署环境问题识别辅助。bknd-troubleshoot 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/bknd-troubleshoot

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/cameronapak/bknd-skills --skill bknd-troublesh…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

bknd-troubleshoot 怎么安装?

在终端执行 npx skills add https://github.com/cameronapak/bknd-skills --skill bknd-troubleshoot。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

bknd-troubleshoot 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

bknd-troubleshoot 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

bknd-troubleshoot 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

bknd-troubleshoot 用的人多吗?

公开数据是累计安装 297 次,近一周安装 12 次,下载 93 次,GitHub 3 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

bknd-troubleshoot 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
bknd-troubleshoot

排除故障 · 本页

2973接触敏感数据未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Troubleshoot Common Errors

Quick-reference guide for resolving Bknd errors by error code, symptom, or common mistake pattern.

Prerequisites

  • Bknd project running (or attempting to run)
  • Error message or symptom to diagnose

Error Code Quick Reference

400 Bad Request

Cause: Invalid request body or parameters

Quick fixes:

# Check JSON validity
echo '{"title":"Test"}' | jq .

# Verify Content-Type header
curl -X POST http://localhost:3000/api/data/posts \
  -H "Content-Type: application/json" \
  -d '{"title":"Test"}'

Common causes:

  • Missing Content-Type: application/json header
  • Malformed JSON body
  • Missing required field
  • Invalid field type (string instead of number)
  • Invalid enum value

401 Unauthorized

Cause: Missing or invalid authentication

Quick fixes:

// Check token exists
console.log(localStorage.getItem("bknd_token"));

// Verify token with /me endpoint
const me = await api.auth.me();
console.log(me.ok ? "Valid" : "Invalid/expired");

Common causes:

  • Token not stored (missing storage: localStorage in Api config)
  • Token expired (check JWT expires config)
  • Wrong auth header format (must be Bearer <token>)
  • Cookie not sent (missing credentials: "include")

Fix pattern:

const api = new Api({
  host: "http://localhost:3000",
  storage: localStorage,  // Required for token persistence
});

403 Forbidden

Cause: Authenticated but insufficient permissions

Quick fixes:

# Check user's role
curl http://localhost:3000/api/auth/me \
  -H "Authorization: Bearer <token>"

Common causes:

  • Guard not enabled in config
  • Role missing required permission
  • Entity-specific permission needed
  • Row-level policy blocking access

Fix pattern:

auth: {
  guard: {
    enabled: true,
    roles: {
      user: {
        permissions: [
          "data.entity.read",
          "data.entity.create",  // Add missing permission
        ]
      }
    }
  }
}

404 Not Found

Cause: Endpoint or record doesn't exist

Quick fixes:

# List available routes
npx bknd debug routes

# List entities
curl http://localhost:3000/api/data

# Check entity name case (must match exactly)
curl http://localhost:3000/api/data/posts    # lowercase

Common causes:

  • Entity name case mismatch (Posts vs posts)
  • Schema not synced (restart server)
  • Wrong endpoint path (/api/auth/login vs /api/auth/password/login)
  • Record ID doesn't exist

409 Conflict

Cause: Duplicate value or constraint violation

Quick fixes:

// Check for existing record before create
const exists = await api.data.readOneBy("users", { email });
if (!exists.ok) {
  await api.data.createOne("users", { email, ... });
}

Common causes:

  • Duplicate unique field value
  • User email already registered
  • Unique constraint on field

413 Payload Too Large

Cause: File upload exceeds size limit

Fix:

media: {
  body_max_size: 50 * 1024 * 1024,  // 50MB
}

500 Internal Server Error

Cause: Unhandled server exception

Quick fixes:

# Check server logs for stack trace
# Look for error details in response body
curl http://localhost:3000/api/data/posts 2>&1 | jq .error

Common causes:

  • Database connection failed
  • Invalid schema configuration
  • Unhandled exception in seed/plugin
  • Missing environment variable

Common Mistake Patterns

Using em() as EntityManager

Wrong:

const schema = em({
  posts: entity("posts", { title: text() }),
});
schema.repo("posts").find();  // Error!

Correct:

// em() is for schema definition only
const schema = em({
  posts: entity("posts", { title: text() }),
});

// Use SDK for queries
const api = new Api({ host: "http://localhost:3000" });
await api.data.readMany("posts");

Wrong Auth Endpoint Path

Wrong:

POST /api/auth/login        # 404
POST /api/auth/register     # 404

Correct:

POST /api/auth/password/login      # For password strategy
POST /api/auth/password/register
POST /api/auth/google/login        # For Google OAuth

Missing Storage in Api Config

Symptom: Token not persisting, logged out after refresh

Wrong:

const api = new Api({
  host: "http://localhost:3000",
});

Correct:

const api = new Api({
  host: "http://localhost:3000",
  storage: localStorage,  // Or sessionStorage
});

Using enum() Instead of enumm()

Wrong:

import { enum } from "bknd";  // Syntax error - reserved word

Correct:

import { enumm } from "bknd";

entity("posts", {
  status: enumm(["draft", "published"]),
});

Using primary() Function

Wrong:

import { primary } from "bknd";  // Not exported in v0.20.0

Correct:

// Primary keys are auto-generated
// To customize format:
entity("posts", { title: text() }, { primary_format: "uuid" });

Wrong Policy Variable Prefix

Wrong:

permissions: [{
  permission: "data.entity.read",
  filter: { user_id: { $eq: "@user.id" } },  // Wrong prefix
}]

Correct:

permissions: [{
  permission: "data.entity.read",
  filter: { user_id: { $eq: "@auth.user.id" } },  // Correct prefix
}]

Memory Database for Persistent Data

Symptom: Data disappears on restart

Wrong:

npx bknd run --memory
# Or config: { url: ":memory:" }

Correct:

npx bknd run --db-url "file:data.db"
# Or config: { url: "file:data.db" }

Missing Guard Enable

Symptom: Permissions not working, everyone has access

Wrong:

auth: {
  guard: {
    roles: { ... }  // Guard not enabled!
  }
}

Correct:

auth: {
  guard: {
    enabled: true,  // Required!
    roles: { ... }
  }
}

CORS Cookie Issues

Symptom: Auth works in Postman but not browser

Fix:

// Server config
server: {
  cors: {
    origin: ["http://localhost:5173"],
    credentials: true,
  }
}

auth: {
  cookie: {
    secure: false,     // false for HTTP dev
    sameSite: "lax",   // Not "strict" for OAuth
  }
}

// Client fetch
fetch(url, { credentials: "include" });

Filter vs Allow/Deny Effect

Symptom: RLS filter returns all records instead of filtering

Wrong:

permissions: [{
  permission: "data.entity.read",
  effect: "allow",  // Won't filter!
  condition: { user_id: { $eq: "@auth.user.id" } },
}]

Correct:

permissions: [{
  permission: "data.entity.read",
  effect: "filter",  // Filters results
  filter: { user_id: { $eq: "@auth.user.id" } },
}]

Quick Diagnostic Commands

Check Server Health

curl http://localhost:3000/api/data

List All Routes

npx bknd debug routes

Check Config Paths

npx bknd debug paths

Test Auth

# Login
curl -X POST http://localhost:3000/api/auth/password/login \
  -H "Content-Type: application/json" \
  -d '{"email":"test@example.com","password":"password"}'

# Check token
curl http://localhost:3000/api/auth/me \
  -H "Authorization: Bearer <token>"

Test Entity Access

# Unauthenticated
curl http://localhost:3000/api/data/posts

# Authenticated
curl http://localhost:3000/api/data/posts \
  -H "Authorization: Bearer <token>"

Check Schema

curl http://localhost:3000/api/system/schema

Environment-Specific Issues

Development

IssueSolution
Config not loadingCheck file name: bknd.config.ts
Port in usenpx bknd run --port 3001
Types outdatednpx bknd types
Hot reload not workingRestart server

Production

IssueSolution
JWT errorsSet JWT_SECRET env var (32+ chars)
Cookie not setsecure: true for HTTPS
500 errorsCheck logs, set NODE_ENV=production
D1 not foundCheck wrangler.json bindings

Serverless

IssueSolution
Cold start slowUse edge-compatible DB (D1, Turso)
File upload failsUse S3/R2, not local storage
SQLite native errorUse LibSQL or PostgreSQL

Symptom-Based Troubleshooting

"Config file could not be resolved"

# Check file exists
ls bknd.config.*

# Specify explicitly
npx bknd run -c ./bknd.config.ts

"EADDRINUSE: address already in use"

# Find process
lsof -i :3000

# Use different port
npx bknd run --port 3001

"spawn xdg-open ENOENT"

# Headless server - disable browser open
npx bknd run --no-open

"Data disappears after restart"

# Check for memory mode in output
# Use file database
npx bknd run --db-url "file:data.db"

"ERR_UNSUPPORTED_ESM_URL_SCHEME" (Windows)

  1. Use Node.js 18+
  2. Add "type": "module" to package.json
  3. Use .mjs extension for config

"TypeError: X is not a function"

Check import paths:

// SDK client
import { Api } from "bknd/client";

// Schema builders
import { em, entity, text } from "bknd";

// Adapters
import { serve } from "bknd/adapter/node";      // Node
import { serve } from "bknd/adapter/cloudflare"; // CF Workers

DOs and DON'Ts

DO:

  • Check server logs first
  • Verify entity names are lowercase
  • Test with curl before debugging frontend
  • Restart server after schema changes
  • Use npx bknd debug routes for 404s

DON'T:

  • Use em() for runtime queries
  • Use :memory: for persistent data
  • Forget storage: localStorage in Api
  • Skip enabled: true for guard
  • Use @user.id (use @auth.user.id)

Related Skills

  • bknd-debugging - Comprehensive debugging guide
  • bknd-local-setup - Initial project setup
  • bknd-setup-auth - Authentication configuration
  • bknd-assign-permissions - Permission configuration
  • bknd-api-discovery - Explore available endpoints

平台分布

Codex

34.11%
按下载量换算32

Claude

29.69%
按下载量换算28

Cursor

19.5%
按下载量换算18

Gemini CLI

10.13%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills