In short:
ak-backend-developmentwrites and fixes server-side code (endpoints, services, data access, authorization checks, tests) in Node.js, Python or Go, following the stack your project already uses. When the main job is schema design, it goes toak-databases. It does not switch your framework, auth or database on its own.
Disclosure: I maintain AgentKit and have an affiliate relationship with it: the AgentKit link in this post is an affiliate link; buying through it gets you 30% off.
Summary
Use it when you need to add or change something on the server: an endpoint, a service function, data access, an authorization check, their tests, or an endpoint that is slow because of N+1 queries. You do not need it when the main job is designing tables, indexes or migrations (use ak-databases), or when the main job is auth or deploy, which the dedicated skills handle.
flowchart LR
A["Backend work: endpoint, service, slow query"] --> B["ak-backend-development"]
B --> C["Fixed code + tests for the error paths too"]
A --> D{"Only schema design?"}
D -->|"Yes"| E["ak-databases"]It works around 4 ideas:
| Concept | Question | Example |
|---|---|---|
| The project's real stack | What does this project run on, and how are routes and services split? | NestJS and Prisma in package.json, so the new endpoint follows the existing controller and service, no extra Express. |
| Stay in scope | How far does this request allow it to go? | Fixing a REST endpoint that returns the wrong error code is not a license to replace the auth library or change the database. |
| The server holds authority | Is input validated, who may do this, are errors returned in a stable shape? | If the body has a userId, the server still takes the user from the session, and errors always share one shape the client can handle. |
| Evidence, not recipes | Does this advice hold for the library version you installed and for your app? | A percentage the docs give for how much caching offloads the database is a generic number. For your app, you have to measure. |
When the work needs a new component, it lays out the constraints and trade-offs of each option first, instead of just naming a technology.
Sample prompt for a new endpoint:
/ak-backend-development nestjs Add endpoint POST /orders/:id/cancel for <project name>.
Outcome: the order owner can cancel an undelivered order, a delivered order returns 409.
Constraints: use the existing order service and repository, do not change the schema.
Done when: there are tests for a successful cancel, a delivered order, and a non-owner.This skill has no flags.
Below is the detailed version: the run flow, 4 situations with prompts, the change history by ak release, and common pitfalls. The detailed version and the interactive page are for subscribers. Your agent can also search them through the portal's MCP.
Opens when your account has subscriber access
This guide is for subscribers
Once your account has access, the full piece, the interactive visual and the agent call all open.
- Sign in or create a modernEngineer accountReading access belongs to your account email.
- Choose a plan on the pricing page1, 3 or 12 months, paid by VietQR bank transfer. Access opens about a minute after the money arrives.
- Or redeem a Facebook subscriber codePeople supporting the page on Facebook get an activation code by message each month.
Already a subscriber? Sign in to read.
Use this piece in your agent
Get an API keyCopy the text below and paste it into Claude Code, Codex or whichever agent you use. The agent reads the piece and checks it against the repo you have open.
Read "ak-backend-development: write and fix backend code in your existing stack" on modernEngineer and apply it to this repo.
1. Call the content_get tool of the modernengineer MCP server with locale "en", slug "ak-backend-development". If the modernengineer MCP server is not connected, stop and walk me through connecting it from https://modernengineer.dev/en/mcp.
2. Summarize the main steps of the piece and point out which apply to this repo.
3. Propose concrete changes and ask me before editing any file.Connect MCP in Claude Code (once)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Reading the full piece over MCP needs an API key from a subscriber account or one that bought this guide. Without access, the agent only gets the opening.
- Version
- v1.0.0
- Updated
- 22/10/2026
- Licence
- All rights reserved
- Slug
- ak-backend-development


