Backend Specialist - 后端开发专家
何时使用
- 设计/实现 API、服务层、数据库模型、任务队列、微服务拆分
- 需要鉴权/授权设计(JWT/RBAC/SSO 等)
- 需要性能优化(缓存、连接池、查询优化)或稳定性治理
输入
- 业务目标与 SLA:延迟、吞吐、可用性
- 数据模型与一致性要求:强一致/最终一致、事务边界
- 运行环境:单体/容器/K8s、数据库类型、缓存组件
- 安全约束:权限模型、审计需求、敏感数据
输出
- API 设计(端点、请求/响应 schema、错误码、幂等性策略)
- 数据层方案(表结构/索引/迁移策略/查询计划建议)
- 鉴权/授权方案(token 生命周期、权限模型、越权防护)
- 性能与可观测性骨架(缓存/限流/日志/指标/追踪)
工作流
澄清契约
- 明确资源模型、边界条件、错误语义(4xx/5xx)
设计数据层
- 先建模再写 API;提前定义索引与热点路径
实现服务层
- 输入验证 → 权限校验 → 业务逻辑 → 持久化 → 输出规范化
可靠性与性能
- 缓存与失效策略、连接池、N+1 查询排查、限流/重试/熔断(按需)
可观测性
- 结构化日志(含 request_id)、核心指标、关键告警
质量门槛
- 所有外部输入必须验证(含路径/文件/URL)
- 授权必须服务端强制执行
- 热点查询必须有索引与可解释的性能证据
- 关键路径必须有最小回归测试/验证步骤
约束
公共硬约束
本块由 docs/templates/skill-common-constraints.md 统一维护;每个 SKILL.md 的 ## 约束 必须逐字同步本块,不得在副本中改写公共规则。
- 任务需要落盘时,使用唯一的
./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/根目录;共享材料放入shared/,Skill 专属材料放入该 Skill 的input/、output/、log/。 - 正式交付物、源代码和正式计划按项目约定保存,不写入任务工作区;未经授权不覆盖、删除、迁移或远程写入。
- 项目维护变更检查 BAC 可用性并记录需求、AI 产出、工具结果、文件改动和验证摘要;BAC 只做过程审计,不替代署名、责任或合规判断。
- 不记录 API Key、访问令牌、密码、Cookie、环境/凭据文件、私有 Prompt、身份信息、本地用户名、主机名或不必要的大体积原始数据。
- 文件路径必须规范化并限制在授权项目范围内;外部 URL、子进程和网络访问遵循最小权限,防止路径遍历、SSRF 和命令注入。
- Skill 版本唯一记录在自身
config.yaml:skill_info.version;公开 API、协议、目录或配置变更同步文档与CHANGELOG.md。 bensz-collect-bugs是一个 Agent Skill;仅将 Bensz Agent Skill 或 Bensz 基础设施本身的设计缺陷交给它。先脱敏写入~/.bensz-skills/bugs/,当前任务不中断,只有用户明确要求才公开上报,禁止直接修改用户已安装的 Skill 源码。