Borrowing it
Nothing to install: this file belongs to Szesnasty/Jarvis. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Szesnasty/Jarvis/main/.claude/skills/senior-backend/SKILL.mdgit clone --depth 1 https://github.com/Szesnasty/JarvisWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/szesnasty/jarvis/senior-backend)<a href="https://agentmods.dev/skills/szesnasty/jarvis/senior-backend"><img src="https://agentmods.dev/badge/skills/szesnasty/jarvis/senior-backend/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/szesnasty/jarvis/senior-backend"><img src="https://agentmods.dev/badge/skills/szesnasty/jarvis/senior-backend.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.00638 |
| Opus 5 | $0.00027 | $0.00319 |
| Sonnet 5 | $0.00011 | $0.00128 |
| Haiku 4.5 | $0.00005 | $0.00064 |
Grade A, and why
senior-backend scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
91% identical to senior-backend — 13 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Backend Development
API Design
REST Endpoints
- Use nouns for resources, HTTP verbs for actions:
GET /users/:idnotGET /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
LIMITto 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_atandupdated_attimestamps 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
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 74 lines · 54 tokens per session scan A 48d1de541c0e
senior-backend is a skill published in the GitHub repository Szesnasty/Jarvis (10 stars, last pushed 3mo ago), licensed Apache-2.0. It adds 54 tokens to every session and 638 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 91% identical to senior-backend, differing in 13 lines, and is treated as a copy.
Other skills, from other repositories
shodh-memory
Persistent memory system for AI agents. Use this skill to remember context across conversations, recall relevant information, and build long-term knowledge. Activate when you need to store decisions, learnings, errors, or context that should persist beyond the current session.
binder-app
Build a small HTTP app (dashboard, kanban board, admin panel, custom UI) on top of an existing Binder workspace. Use when asked to "create an app", "build a dashboard", "show records in a chart", "make a kanban/board", "build an admin panel", or "add a UI on top of binder".
algolia-cli
Use this skill whenever a user wants to execute operations against Algolia indices or accounts — deleting records, copying/migrating indices, backing up data, importing/exporting records, managing API keys, editing synonyms, configuring rules, changing settings like facets, clearing indices, or automating Algolia in…
algolia-discovery-planning
START HERE for any non-trivial Algolia work — building, adding, migrating, redesigning, auditing, or configuring search, browse, autocomplete, indexing, relevance, recommendations, personalization, merchandising, events, or analytics. Invoke this FIRST even when the task already seems scoped or the user names one…
algolia-migration
Migrate existing Algolia API client code to a newer major version. Triggers on: upgrading algoliasearch, moving from initIndex to client methods, fixing "initIndex is not a function", updating imports after a version bump, handling breaking changes from v3→v4 or v4→v5, replacing .wait() chaining, or any mention of…
algolia-quickstart
Use this skill to set up and provision Algolia from scratch: create a new Algolia account, sign up, log in / authenticate the Algolia CLI, or provision a new application to obtain an App ID and API key. Trigger when a user is getting started with Algolia and has no account, no application, or no credentials yet — e.g.…