All skills
debabratasaha-dev avatar

/backend-engineer

@a1f81fa

Professional backend engineering for production-grade APIs, services, workers, databases, authentication, authorization, integrations, queues, observability, testing, reliability, and security. Use when the agent needs to build, improve, review, debug, or harden backend systems in Node.js, Python, Go, Java, .NET, Ruby, PHP, SQL, NoSQL, REST, GraphQL, WebSockets, event-driven systems, or similar backend stacks. Triggers on requests to build APIs, services, workers, webhook handlers, auth systems, database layers, background jobs, queues, cron tasks, billing flows, or server-side features. Also triggers on requests to fix slow queries, race conditions, deadlocks, failing tests, deployment issues, or to review backend code for security, correctness, and reliability.

Use this Skill: https://skilld.dev/gh/debabratasaha-dev/techskills/backend-engineer

This session only. Nothing lands on disk.

assetsbackend-starterexamplestransaction-service.md

≈370 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Transaction Service Pattern

Wrap multi-step writes in transactions to guarantee atomicity. Keep transactions short.

Pattern

// Pseudocode — transfer money between accounts

function transferFunds(fromId, toId, amount):
  transaction = db.beginTransaction()
  try:
    fromAccount = transaction.query(
      "SELECT * FROM accounts WHERE id = :fromId FOR UPDATE", fromId
    )
    toAccount = transaction.query(
      "SELECT * FROM accounts WHERE id = :toId FOR UPDATE", toId
    )

    if fromAccount.balance < amount:
      throw InsufficientFundsError

    transaction.execute(
      "UPDATE accounts SET balance = balance - :amount WHERE id = :fromId",
      { amount, fromId }
    )
    transaction.execute(
      "UPDATE accounts SET balance = balance + :amount WHERE id = :toId",
      { amount, toId }
    )
    transaction.execute(
      "INSERT INTO transfers (from_id, to_id, amount, created_at) VALUES (:fromId, :toId, :amount, NOW())",
      { fromId, toId, amount }
    )

    transaction.commit()
    return { success: true }
  catch error:
    transaction.rollback()
    throw error

Rules

  • Lock rows in consistent order to prevent deadlocks (always lock lower ID first).
  • No network calls inside transactions (API calls, emails, queue publishes).
  • Keep transactions under 100ms when possible.
  • Use FOR UPDATE for pessimistic locking on concurrent resources.
  • Side effects (emails, webhooks) go after commit, not inside transaction.

Source: SKILL.md on GitHub

No alerts18d3 checks · Risk SAFE
  • Gen Agent Trust Hub18d

    The skill provides comprehensive, high-quality engineering guidelines and references for backend development. It focuses on security best practices, such as input validation, authorization, and secure secret handling, without any detected malicious patterns.

  • Socket18d

    No alerts

  • Snyk18d

    Risk: LOW · No issues

Signed by skilld at a1f81fa. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last month.

Steadyupdated 4 months ago
metadata
{
  "version": "1.0.0"
}

README badge

README badge for debabratasaha-dev/techskills/backend-engineer