Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计提醒

software-backend软件后端

Agent Skill

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

总安装

3,619

周安装

145

GitHub Stars

60

下载量

1,172
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/vasilyu1983/ai-agents-public --skill software-backend

简介

software-backend 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。

  • 它可结合来源仓库、安装命令和原始 README 继续核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 通过 npx skills add https://github.com/vasilyu1983/ai-agents-public --skill software-backend 安装。
  • 适用于研究检索类任务,需配合宿主环境使用。

SKILL.md

Software Backend Engineering

Use this skill to design, implement, and review production-grade backend services: API boundaries, data layer, auth, caching, observability, error handling, testing, and deployment.

Defaults to bias toward: type-safe boundaries (validation at the edge), OpenTelemetry for observability, zero-trust assumptions, idempotency for retries, RFC 9457 errors, Postgres + pooling, structured logs, timeouts, and rate limiting.

Scaffolding rule: When scaffolding a new project, show full working implementations for all domain logic — fraud rules, audit logging, webhook handlers, validation pipelines, background jobs. Don't just reference file names or stub functions; show the actual code so the user can run it immediately.


Quick Reference

TaskDefault PicksNotes
REST APIFastify / Express / NestJSPrefer typed boundaries + explicit timeouts
Edge APIHono / platform-native handlersKeep work stateless, CPU-light
Type-Safe APItRPCPrefer for TS monorepos and internal APIs
GraphQL APIApollo Server / PothosPrefer for complex client-driven queries
DatabasePostgreSQLUse pooling + migrations + query budgets
ORM / Query LayerPrisma / Drizzle / SQLAlchemy / GORM / SeaORM / EF CorePrefer explicit transactions
AuthenticationOIDC/OAuth + sessions/JWTPrefer httpOnly cookies for browsers
ValidationZod / Pydantic / validator libsValidate at the boundary, not deep inside
CachingRedis (or managed)Use TTLs + invalidation strategy
Background JobsBullMQ / platform queuesMake jobs idempotent + retry-safe
TestingUnit + integration + contract/E2EKeep most tests below the UI layer
ObservabilityStructured logs + OpenTelemetryCorrelation IDs end-to-end

Scope

Use this skill to:

  • Design and implement REST/GraphQL/tRPC APIs
  • Model data schemas and run safe migrations
  • Implement authentication/authorization (OIDC/OAuth, sessions/JWT)
  • Add validation, error handling, rate limiting, caching, and background jobs
  • Ship production readiness (timeouts, observability, deploy/runbooks)

When NOT to Use This Skill

Use a different skill when:

Technology Selection

Pick based on the strongest constraint, not feature lists:

ConstraintDefault PickWhy
Team knows TypeScript onlyFastify/Hono + Prisma/DrizzleEcosystem depth, hiring ease
Need <50ms P95, CPU-bound workGo (net/http + sqlc/pgx)Goroutines isolate CPU work; no event-loop risk
Data-heavy / ML integrationPython (FastAPI + SQLAlchemy)Best ecosystem for numpy/pandas/ML pipelines
Memory-safety criticalRust (Axum + SeaORM/SQLx)Zero-cost abstractions, no GC
Enterprise/.NET teamC# (ASP.NET Core + EF Core)Azure integration, mature tooling
Edge/serverlessHono / platform-native handlersStateless, CPU-light, fast cold starts
Fintech/audit-sensitiveGo + sqlc (or raw SQL)ORM magic is a liability; you need auditable SQL

For detailed framework/ORM/auth/caching selection trees, see references/edge-deployment-guide.md and language-specific references. See assets/ for starter templates per language.


API Design Patterns (Dec 2025)

Idempotency Patterns

All mutating operations MUST support idempotency for retry safety.

Implementation:

// Idempotency key header
const idempotencyKey = request.headers['idempotency-key'];
const cached = await redis.get(`idem:${idempotencyKey}`);
if (cached) return JSON.parse(cached);

const result = await processOperation();
await redis.set(`idem:${idempotencyKey}`, JSON.stringify(result), 'EX', 86400);
return result;
DoAvoid
Store idempotency keys with TTL (24h typical)Processing duplicate requests
Return cached response for duplicate keysDifferent responses for same key
Use client-generated UUIDsServer-generated keys

Pagination Patterns

PatternUse WhenExample
Cursor-basedLarge datasets, real-time data?cursor=abc123&limit=20
Offset-basedSmall datasets, random access?page=3&per_page=20
KeysetSorted data, high performance?after_id=1000&limit=20

Prefer cursor-based pagination for APIs with frequent inserts.

Error Response Standard (Problem Details)

Use a consistent machine-readable error format (RFC 9457 Problem Details): https://www.rfc-editor.org/rfc/rfc9457

{
  "type": "https://example.com/problems/invalid-request",
  "title": "Invalid request",
  "status": 400,
  "detail": "email is required",
  "instance": "/v1/users"
}

Health Check Patterns

// Liveness: Is the process running?
app.get('/health/live', (req, res) => {
  res.status(200).json({ status: 'ok' });
});

// Readiness: Can the service handle traffic?
app.get('/health/ready', async (req, res) => {
  const dbOk = await checkDatabase();
  const cacheOk = await checkRedis();
  if (dbOk && cacheOk) {
    res.status(200).json({ status: 'ready', db: 'ok', cache: 'ok' });
  } else {
    res.status(503).json({ status: 'not ready', db: dbOk, cache: cacheOk });
  }
});

Common Mistakes (Non-Obvious)

AvoidInsteadWhy
N+1 queriesinclude/select or DataLoader10-100x perf hit; easy to miss in ORM code
No request timeoutsTimeouts on HTTP clients, DB, handlersHung deps cascade; see Production Hardening below
Missing connection poolingPrisma pool / PgBouncer / pgx poolExhaustion under load on shared DB tiers
Catching errors silentlyLog + rethrow or handle explicitlyHidden failures, impossible to debug

Production Hardening: Patterns Models Skip

These are the patterns that separate "works in dev" from "survives production." Models tend to skip them unless explicitly prompted — add them to every service.

Request & Query Timeouts

Every outbound call needs a timeout. Without one, a hung dependency leaks connections and cascades failures.

// HTTP client timeout
const response = await fetch(url, { signal: AbortSignal.timeout(5000) });

// Database query timeout (Prisma)
await prisma.$queryRaw`SET statement_timeout = '3000'`;

// Express/Fastify request timeout
server.register(import('@fastify/timeout'), { timeout: 30000 });
LayerDefault TimeoutRationale
HTTP client calls5sExternal APIs shouldn't block you
Database queries3sSlow queries = missing index or bad plan
Request handler30sSafety net for the whole request lifecycle
Background jobs5minJobs that run longer need chunking

Field-Level Selection (Don't SELECT *)

ORMs default to fetching all columns. On wide tables this wastes bandwidth and hides performance problems.

// BAD: fetches all 30 columns
const users = await prisma.user.findMany({ include: { posts: true } });

// GOOD: fetch only what the endpoint needs
const users = await prisma.user.findMany({
  select: { id: true, name: true, email: true },
  include: { posts: { select: { id: true, title: true } } }
});

For Go (sqlc): write explicit column lists in SQL queries — sqlc enforces this naturally. For Python (SQLAlchemy): use load_only() or explicit column selection.

Structured Error Responses (RFC 9457)

Return machine-readable errors from day one. Clients shouldn't have to regex-parse error messages.

{
  "type": "https://api.example.com/problems/validation-error",
  "title": "Validation failed",
  "status": 422,
  "detail": "email must be a valid email address",
  "instance": "/v1/users",
  "errors": [{ "field": "email", "message": "invalid format" }]
}

Set Content-Type: application/problem+json. This format is a standard (RFC 9457) and parseable by any HTTP client.

Query Plan Verification

Before shipping any new query to production, verify its execution plan:

EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT ... FROM ... WHERE ...;

Red flags in the output: Seq Scan on large tables, Nested Loop with high row estimates, Sort without index. Add indexes or rewrite the query before deploying.


Performance Debugging Workflow

When a service is slow, work through these layers in order. Fix the cheapest layer first — don't add caching before fixing N+1 queries.

StepWhat to CheckFix
1. Query analysisEnable query logging, find N+1s and slow queriesRewrite with include/joins, add select for field-level optimization
2. IndexingRun EXPLAIN ANALYZE on slow queriesAdd composite indexes matching WHERE + ORDER BY patterns
3. Connection poolingCheck connection count vs. pool sizeConfigure pool limits (Prisma connection_limit, PgBouncer, pgx pool)
4. CachingIdentify read-heavy, rarely-changing dataAdd Redis/in-memory cache with TTL + invalidation strategy
5. TimeoutsCheck for missing timeouts on DB, HTTP, handlersAdd timeouts at every layer (see Production Hardening above)
6. Platform tuningShared DB limits, cold starts, memoryUpgrade tier, add read replicas, tune runtime settings

Key principle: always measure before and after. Use structured logging with request IDs to trace specific slow requests end-to-end.


Infrastructure Economics

Backend architecture decisions directly impact cost and revenue. See references/infrastructure-economics.md for detailed cost modeling, SLA-to-revenue mapping, unit economics checklists, and FinOps practices.


Navigation

Resources

Shared Utilities (Centralized patterns - extract, don't duplicate)

Templates

Related Skills


Freshness Protocol

When users ask version-sensitive recommendation questions, do a quick freshness check before asserting "best" choices or quoting versions.

Trigger Conditions

  • "What's the best backend framework for [use case]?"
  • "What should I use for [API design/auth/database]?"
  • "What's the latest in Node.js/Go/Rust?"
  • "Current best practices for [REST/GraphQL/tRPC]?"
  • "Is [framework/runtime] still relevant in 2026?"
  • "[Express] vs [Fastify] vs [Hono]?"
  • "Best ORM for [database/use case]?"

How to Freshness-Check

  1. Start from data/sources.json (official docs, release notes, support policies).
  2. Run a targeted web search for the specific component and open release notes/support policy pages.
  3. Prefer official sources over blogs for versions and support windows.

What to Report

  • Current landscape: what is stable and widely used now
  • Emerging trends: what is gaining traction (and why)
  • Deprecated/declining: what is falling out of favor (and why)
  • Recommendation: default choice + 1-2 alternatives, with trade-offs

Example Topics (verify with fresh search)

  • Node.js LTS support window and major changes
  • Bun vs Deno vs Node.js
  • Hono, Elysia, and edge-first frameworks
  • Drizzle vs Prisma for TypeScript
  • tRPC and end-to-end type safety
  • Edge computing and serverless patterns
  • .NET 10 LTS (Nov 2025) and C# 14 adoption
  • ASP.NET Core 10 built-in validation vs FluentValidation
  • EF Core 10 vs Dapper for C# data access
  • HybridCache vs manual IMemoryCache + IDistributedCache

Operational Playbooks

Fact-Checking

  • Use web search/web fetch to verify current external facts, versions, pricing, deadlines, regulations, or platform behavior before final answers.
  • Prefer primary sources; report source links and dates for volatile information.
  • If web access is unavailable, state the limitation and mark guidance as unverified.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

31.14%
按下载量换算365

Cursor

23.1%
按下载量换算271

Antigravity

18.64%
按下载量换算218

Gemini CLI

11.82%
按下载量换算139

OpenCode

8.57%
按下载量换算100

Codex

3.24%
按下载量换算38

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills