MCPInstall

software-backend

Builds backend services and APIs with durable defaults. Use when implementing REST, GraphQL, tRPC, or gRPC services with auth, queues, data, or observability.

Installs
293
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

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

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads software-backend automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Software Backend Engineering

Use this skill for backend service implementation and review: API boundaries, auth, data access, jobs, caching, observability, and production hardening. If the main question is platform selection, system topology, or API-contract design without implementation, hand off early.

Quick Reference

NeedDefault Direction
Public HTTP APIREST with explicit contracts and timeouts
Internal TS monorepo APItRPC when end-to-end type safety matters
High-throughput internal RPCConnect by default; plain gRPC only when you don't need browser/gRPC-Web compatibility
Complex client-shaped readsGraphQL
Relational dataPostgreSQL with migrations and pooling
Background workQueue plus idempotent handlers and DLQ policy
Browser authOIDC (authorization code with PKCE) plus httpOnly cookies
Service authprefer workload identity (cloud IAM, SPIFFE) over long-lived static credentials where the platform provides it; short-lived tokens or signed service credentials when it isn't available (multi-cloud, third-party, legacy)
Cachingexplicit TTLs and invalidation rules
Observabilitycorrelation IDs, traces, structured logs, saturation metrics

Route Elsewhere

  • frontend-only work -> software-frontend
  • infrastructure provisioning and cluster design -> ops-devops-platform
  • API contract design without implementation -> dev-api-design
  • BaaS platform selection (data/auth layer) -> software-baas-platforms
  • PaaS hosting selection (compute layer: Vercel, Fly.io, Railway, Render, Cloudflare Workers, Deno Deploy) -> software-paas-hosting
  • SQL tuning and indexing deep dives -> data-sql-optimization
  • schema design and migration choreography -> software-database-design
  • WebSockets, SSE, and realtime transport design -> software-realtime
  • security reviews and threat modelling -> software-security-appsec
  • broader system architecture -> software-architecture-design
  • C#/.NET backend services (ASP.NET Core, EF Core, Minimal API) -> software-csharp-backend

Workflow

  1. Confirm the real constraint: latency, team skill, runtime, compliance, data model, or delivery speed.
  2. Choose the transport and framework based on that constraint, not on trend-chasing.
  3. Define the boundary:
    • request and response contracts
    • auth and authorization rules
    • error model
    • idempotency and rate limiting
  4. Define the data path:
    • schema and migrations
    • transaction boundaries
    • pooling and query budgets
    • cache and invalidation rules
  5. Define the async path:
    • queue semantics
    • retry ownership
    • deduplication and DLQ
  6. Add operability before calling it complete:
    • timeouts and cancellation
    • health checks
    • structured logs and traces
    • deploy and rollback expectations

Technology Selection

Pick based on the strongest operational constraint:

  • TypeScript-heavy team -> keep the repo's existing framework and ORM; for a new service, Fastify plus Drizzle (matches the Fastify/Drizzle template), NestJS plus Prisma for DI-heavy CRUD apps, Hono for edge or multi-runtime targets
  • audited SQL and predictable concurrency -> Go with sqlc/pgx
  • Python ecosystem or ML adjacency -> FastAPI plus SQLAlchemy
  • memory safety and explicitness -> Rust with Axum plus SQLx
  • edge or serverless first -> lightweight stateless handlers with hard CPU and timeout budgets

Use software-baas-platforms first when the real requirement is "ship auth, storage, and realtime quickly with less custom service code."


Backend Non-Negotiables

Mutation correctness contract.

For every externally retried mutation, define the idempotency scope, transaction boundary, authorization point, and observable terminal states before choosing transport or framework. Persist the idempotency record with the business write when possible; distinguish “not attempted,” “committed,” and “outcome unknown.” A retry must return the original result or resume safely, never duplicate the effect.

CategoryRule
APIMutating endpoints require idempotency keys where retries are plausible
APIList endpoints require explicit pagination (limit/cursor) and at least one filter
APIErrors are structured and machine-readable (RFC 9457 Problem Details)
APIHealth endpoints separate liveness (/healthz) from readiness (/readyz)
DataNo SELECT * on wide or high-volume paths
DataTransactions kept explicit; no implicit ambient transactions
DataNew or changed query plans verified with EXPLAIN ANALYZE before production
DataORM convenience layers bypassed on hot paths where auditability matters
DependenciesEvery outbound call has an explicit timeout; no framework-default infinite wait
DependenciesRetries owned at exactly one layer (no double-retry across client + service)
DependenciesCache invalidation rule documented before caching is added
DependenciesBackground jobs safe to retry and observable (structured log on start/finish/failure)
OperationsEvery request carries a correlation ID propagated to all downstream calls
OperationsTrace, log, and metric identifiers agree (no split identity)
OperationsSlow paths have explicit latency budgets (p99 target, not "fast enough")
OperationsDeploy procedure includes rollback step and smoke-check list

Multi-Tenancy Decision

Decide tenancy explicitly for any service that stores more than one customer's data; choose per tenant tier, not once for the whole product.

  • Model: shared schema + tenant_id enforced by row-level security (many small tenants; isolation depends on every query path) / schema-per-tenant (moderate counts, some customization; migrations fan out) / database-per-tenant (regulated or very large tenants, per-tenant restore or residency; highest ops cost).
  • Tenant context propagation: derive the tenant from the authenticated principal, never from a client-supplied field; carry it through handlers, jobs, and outbound calls; set it transaction-locally (pooler-safe) and fail closed when unset; scope cache keys, idempotency keys, storage prefixes, and search indexes by tenant.
  • Noisy neighbours: per-tenant rate limits, queue concurrency, and statement timeouts; give large tenants their own partition or limit. Prove isolation with a cross-tenant read test.

Rule: rules/common/security.md loads this invariant in every coding session.

Details, RLS SQL, and pooling traps: references/database-patterns.md.


Load and failure budget

For each downstream dependency, bound in-flight requests and queued work. When the bound is reached, reject new work with 429 or 503 and Retry-After where meaningful; do not accept work that cannot finish within the caller's deadline. Propagate cancellation, reserve time for the response, and shed lower-priority work before the critical path. Set one retry owner, a retry budget, exponential backoff with jitter, and an idempotency contract; test a slow or failed dependency under load to see whether p99, memory, and queue depth recover. For resilience test design and failure-budget review, load qa-resilience.

Job runtime decision

Use a PostgreSQL-backed queue when the service already operates PostgreSQL, job volume fits measured database capacity, and a short transaction can claim each job. Use a managed broker or Redis-backed worker when throughput, isolation, or operational ownership justifies another dependency. Use durable execution when a job must resume a multi-step workflow across crashes or long waits; check the runtime's retry and history semantics before choosing it. A database queue needs FOR UPDATE SKIP LOCKED, lease expiry, idempotent effects, poison-job handling, and queue-depth monitoring. See message queues and background jobs for the claim and outbox alternatives.


Performance and Reliability Triage

When a service is slow or unstable, debug in this order:

StepCheckSignal
1Query behavior and N+1sEXPLAIN output, ORM query log showing repeated identical queries
2Indexes and execution plansSeq scans on large tables, missing index on FK or filter columns
3Connection pooling and queue depthSustained pool wait time; idle connections exhausted
4Timeout and cancellation gapsRequests hanging past deadline; no context propagation through outbound calls
5Caching or read-shaping opportunitiesSame query with same result executing repeatedly in a short window; hot read path with no invalidation
6Runtime or tier limitsCPU throttling, memory pressure, rate limit headers from upstream

Do not add caching before you understand the real bottleneck.


Production Readiness Checklist

  • Every row in Backend Non-Negotiables holds for the changed surface
  • DLQ policy defined for every queue consumer (what happens to poison messages)

Navigation

Core references

  • references/operational-playbook.md — core backend patterns: task flow, API, auth, errors, caching, circuit breakers
  • references/backend-best-practices.md — meta-guide for adding a new stack template to this skill; read only when authoring a template, not during backend implementation work
  • references/edge-deployment-guide.md
  • references/infrastructure-economics.md
  • references/database-patterns.md
  • references/message-queues-background-jobs.md
  • references/rpc-and-transport-patterns.md
  • references/go-best-practices.md
  • references/rust-best-practices.md
  • references/python-best-practices.md
  • references/nodejs-best-practices.md
  • C#/.NET -> software-csharp-backend (owns C#/.NET backend guidance)
  • data/sources.json

Shared review utilities

Read one of these when the matching workflow step is active, not up front:

  • backend-api-review-checklist.md — read at the Production Readiness Checklist step
  • secure-code-review-checklist.md — read when the task includes a security review handoff
  • auth-utilities.md — read while implementing auth (Workflow step 3)
  • error-handling.md — read while defining the error model (Workflow step 3)
  • config-validation.md — read during environment/config setup
  • resilience-utilities.md — read while defining retries, timeouts, or the async path (Workflow steps 5-6)
  • logging-utilities.md — read while wiring structured logs (Workflow step 6)
  • testing-utilities.md — read while writing tests for the bounded slice
  • observability-utilities.md — read while wiring traces and metrics (Workflow step 6)

Templates

Load the one matching the Technology Selection choice made for this task, not the whole set:

  • template-nodejs-prisma-postgres.md — NestJS/CRUD-heavy TS default
  • template-nodejs-fastify-drizzle-postgres.md — Fastify/Drizzle TS default
  • template-go-fiber-gorm.md — Go, ORM-first
  • template-go-chi-sqlc-pgx.md — Go, audited SQL
  • template-rust-axum-seaorm.md — Rust, ORM-first
  • template-rust-axum-sqlx.md — Rust, explicit SQL
  • template-python-fastapi-sqlalchemy.md — Python/ML-adjacent
  • Other stacks: Django REST, Express, Spring Boot
  • Enterprise .NET (C#) templates -> software-csharp-backend/assets

Related Skills

Gate before invoking any foundation below: Each foundation has a When to Apply / When to Skip section. If your task matches a skip-condition, route to the foundation it names instead — don't pull in primitives the task doesn't need.

  • software-architecture-design
  • software-security-appsec
  • ops-devops-platform
  • qa-resilience
  • qa-testing-strategy
  • foundations-queueing-theory — Little's Law, M/M/c, and Kingman's formula for queue sizing in message-queue and rate-limiter design
  • foundations-distributed-systems — CAP, consistency models, quorum sizing, and idempotency contracts for service mesh and RPC patterns
  • foundations-reliability-theory — MTBF/MTTR, availability composition, and error-budget math for SLO-driven backend design
  • software-code-review
  • dev-api-design
  • data-sql-optimization

Learnings Loop

When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.

After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.

FAQ

What does the software-backend skill do?

Builds backend services and APIs with durable defaults. Use when implementing REST, GraphQL, tRPC, or gRPC services with auth, queues, data, or observability.

How do I install software-backend?

Run npx skills add https://github.com/vasilyu1983/ai-agents-public --skill software-backend in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/software-backend/ (personal) or .claude/skills/software-backend/ (project).

Which AI agents can use software-backend?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is software-backend safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains software-backend?

It is published by vasilyu1983 in vasilyu1983/ai-agents-public. It has 293 recorded installs.

More from vasilyu1983/ai-agents-public

View all →

software-architecture-design

vasilyu1983/ai-agents-public

Designs runtime topology in a chosen solution. Use when choosing monolith vs services, cells, consistency, ADRs. Not for cross-system design (software-solution-architecture).

product-management

vasilyu1983/ai-agents-public

Guides founder-PM discovery, roadmaps, prioritization, and PMF measurement. Use when planning product strategy, metrics, or roadmaps.

AI & Agents914 installs

document-xlsx

vasilyu1983/ai-agents-public

Builds Excel charts, pivots, validation, exports, Office Scripts/Graph automation, and workbook audits. Use when automating workbooks; for plain edits prefer official xlsx skill.

Data & Databases875 installs

software-ui-ux-design

vasilyu1983/ai-agents-public

Designs and audits UI/UX systems with usability and accessibility requirements. Use when shaping flows, design systems, interaction patterns, or WCAG-aware product behavior.

Frontend & Design731 installs

document-pdf

vasilyu1983/ai-agents-public

Handles PDF/UA accessibility, real redaction, metadata scrubbing, signing, and extraction. Use when redacting or signing PDFs; for plain create/merge prefer the official pdf skill.

Docs & Writing689 installs

qa-testing-playwright

vasilyu1983/ai-agents-public

Builds and debugs Playwright E2E suites. Use when authoring browser tests, fixing flakes, or hardening Playwright CI and locator strategy.

Testing & QA665 installs

Popular backend & apis skills

View category →

find-skills

vercel-labs/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

OfficialBackend & APIs4.1M installs

entra-app-registration

microsoft/azure-skills

Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.

OfficialBackend & APIs566.7K installs

This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).

Backend & APIs514.8K installs

embedded-captions

heygen-com/hyperframes

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Backend & APIs453.3K installs

entra-agent-id

microsoft/azure-skills

Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).

OfficialBackend & APIs336.6K installs

neon

neondatabase/agent-skills

Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.

Backend & APIs237.1K installs