agentleFS
jakubsuplickijakubsuplicki/codument/skills/senior-backend/SKILL.md

senior-backend

Skill48 starsChanged 40 days agoApache-2.0View on GitHub

Build robust backend systems: API design, data modeling, query optimization, authentication, and error handling. Covers Node.js, Express, Go, Python, PostgreSQL, GraphQL, and REST, and the principles apply to any server stack. Use whenever the user designs or writes server-side logic, endpoints, database schemas or queries, or authentication. Do NOT use for system-wide architecture or migration trade-offs (use senior-architect), or for reviewing a diff or PR (use code-reviewer).

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use senior-fullstack, senior-data-scientist and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • nek1987Skill

    senior-fullstack

    Comprehensive fullstack development skill for building complete web applications with React, Next.js, Node.js, GraphQL, and PostgreSQL. Includes project scaffolding, code quality analysis, architecture patterns, and complete tech stack guidance. Use when building new projects, analyzing code quality, implementing design patterns, or setting up development workflows.

    Also in 4 projects that use this

  • DanservfinnSkill

    senior-data-scientist

    World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics. Expertise in Python (NumPy, Pandas, Scikit-learn), R, SQL, statistical methods, A/B testing, time series, and business intelligence. Includes experiment design, feature engineering, model evaluation, and stakeholder communication. Use when designing experiments, building predictive models, performing causal analysis, or driving data-driven decisions.

    Also in 3 projects that use this

  • nilecuiSkill

    senior-data-engineer

    World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, and data infrastructure. Expertise in Python, SQL, Spark, Airflow, dbt, Kafka, and modern data stack. Includes data modeling, pipeline orchestration, data quality, and DataOps. Use when designing data architectures, building data pipelines, optimizing data workflows, or implementing data governance.

    Also in 3 projects that use this

  • nek1987Skill

    senior-qa

    Comprehensive QA and testing skill for quality assurance, test automation, and testing strategies for ReactJS, NextJS, NodeJS applications. Includes test suite generation, coverage analysis, E2E testing setup, and quality metrics. Use when designing test strategies, writing test cases, implementing test automation, performing manual testing, or analyzing test coverage.

    Also in 3 projects that use this

  • StrayDragonSkill

    ui-ux-pro-max

    UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.

    Also in 5 projects that use this

  • VercelSkill

    vercel-react-best-practices

    React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

20 rules. 0 are common, 15 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 23 edited versions we read keep these.

  • 15

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use nouns for resources, HTTP verbs for actions: GET /users/:id not GET /getUser

    line 18
  2. Distinctive:

    Use consistent error response format across all endpoints

    line 20
  3. Distinctive:

    Keep resolvers thin — business logic belongs in service layer

    line 25
  4. Distinctive:

    Use DataLoader for N+1 query prevention

    line 26
  5. Distinctive:

    Always add indexes for fields used in WHERE, JOIN, and ORDER BY

    line 33
  6. Distinctive:

    Use parameterized queries — never string interpolation for SQL

    line 34
  7. Very specific:

    Prefer specific column selection over SELECT *

    line 35
  8. Very specific:

    Add LIMIT to queries that could return unbounded results

    line 36
  9. Distinctive:

    Use transactions for multi-step writes that must be atomic

    line 37
  10. Very specific:

    Add created_at and updated_at timestamps to every table

    line 41
  11. Distinctive:

    Use UUIDs for public-facing IDs, auto-increment for internal references

    line 42
  12. Distinctive:

    Use typed errors with error codes clients can switch on

    line 49
  13. Distinctive:

    Don't swallow errors — if you catch it, either handle it or re-throw it

    line 50
  14. Distinctive:

    Use short-lived JWTs (15 min) with refresh token rotation

    line 56
  15. Distinctive:

    Never expose internal user IDs in tokens — use opaque session references

    line 59
  16. Distinctive:

    Use connection pooling for database connections

    line 65
  17. Distinctive:

    Never trust client-side validation alone

    line 72
  18. Distinctive:

    Keep controllers thin — orchestration only, no business logic

    line 74
  19. Distinctive:

    Write integration tests for critical paths, unit tests for business logic

    line 75
  20. Very specific:

    After making any code changes, run codument context --file <path> --owner to find the owning doc — one line, not a read of the whole …

    line 76

“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Backend Development

API Design

REST Endpoints

  • Use nouns for resources, HTTP verbs for actions: GET /users/:id not GET /getUser
  • Return appropriate status codes: 201 for creation, 204 for deletion, 404 for missing
  • Use consistent error response format across all endpoints
  • Version APIs when breaking changes are unavoidable: /api/v2/
  • Paginate list endpoints from day one — don't add it after hitting limits

GraphQL

  • Keep resolvers thin — business logic belongs in service layer
  • Use DataLoader for N+1 query prevention
  • Define clear input types for mutations
  • Implement depth/complexity limiting for public APIs

Database

Query Patterns

  • Always add indexes for fields used in WHERE, JOIN, and ORDER BY
  • Use parameterized queries — never string interpolation for SQL
  • Prefer specific column selection over SELECT *
  • Add LIMIT to queries that could return unbounded results
  • Use transactions for multi-step writes that must be atomic

Schema Design

  • Normalize until it hurts performance, then denormalize strategically
  • Add created_at and updated_at timestamps to every table
  • Use UUIDs for public-facing IDs, auto-increment for internal references
  • Define foreign key constraints — let the database enforce integrity

Error Handling

  • Catch errors at service boundaries, not deep in business logic
  • Log the full error internally, return safe messages to clients
  • Use typed errors with error codes clients can switch on
  • Don't swallow errors — if you catch it, either handle it or re-throw it
  • Implement graceful degradation for non-critical external dependencies

Authentication & Authorization

  • Hash passwords with bcrypt/argon2 — never SHA/MD5
  • Use short-lived JWTs (15 min) with refresh token rotation
  • Validate authorization on every request, not just at the gateway
  • Rate limit auth endpoints aggressively (login, signup, password reset)
  • Never expose internal user IDs in tokens — use opaque session references

Performance

  • Measure before optimizing — profile, don't guess
  • Cache at the right layer: HTTP cache > application cache > query cache
  • Use connection pooling for database connections
  • Make external API calls async/non-blocking when possible
  • Set timeouts on all external calls — no unbounded waits

Rules

  • Validate all input at system boundaries
  • Never trust client-side validation alone
  • Log structured data (JSON), not strings
  • Keep controllers thin — orchestration only, no business logic
  • Write integration tests for critical paths, unit tests for business logic
  • After making any code changes, run codument context --file <path> --owner to find the owning doc — one line, not a read of the whole registry — and update it. This is part of the project's Definition of Done.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.