| name | backend-skills |
| description | Master Node.js, Express, PHP, Laravel, Java, Spring Boot, API design, and database integration. Build scalable APIs and server applications. |
| sasmp_version | 1.3.0 |
| skill_type | atomic |
| version | 2.0.0 |
| parameters | {"framework":{"type":"string","enum":["express","fastify","nestjs","laravel","spring-boot","django","gin"],"default":"express"},"database":{"type":"string","enum":["postgresql","mysql","mongodb","sqlite"],"default":"postgresql"}} |
| validation_rules | [{"pattern":"^(GET|POST|PUT|PATCH|DELETE)$","target":"http_methods","message":"Use standard HTTP methods"},{"pattern":"^/api/v[0-9]+/","target":"api_routes","message":"API routes should be versioned"}] |
| retry_config | {"max_attempts":3,"backoff":"exponential","initial_delay_ms":1000,"max_delay_ms":30000} |
| logging | {"on_entry":"[API] {method} {path} - Request started","on_success":"[API] {method} {path} - {status} ({duration}ms)","on_error":"[API] {method} {path} - {status} {error}"} |
| dependencies | {"agents":["backend-server-developer"]} |
Backend Development Skills
Express.js Fundamentals
const express = require('express');
const app = express();
app.use(express.json());
app.get('/api/users/:id', async (req, res, next) => {
try {
const user = await User.findById(req.params.id);
if (!user) {
return res.status(404).json({ error: 'User not found' });
}
res.json(user);
} catch (error) {
next(error);
}
});
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).json({
error: 'Internal Server Error',
requestId: req.id
});
});
app.listen(3000);
RESTful API Design
HTTP Methods:
GET /api/v1/users - List all
GET /api/v1/users/:id - Get one
POST /api/v1/users - Create
PUT /api/v1/users/:id - Full update
PATCH /api/v1/users/:id - Partial update
DELETE /api/v1/users/:id - Delete
Status Codes:
200 OK - Success
201 Created - Resource created
204 No Content - Success, no body
400 Bad Request - Validation error
401 Unauthorized- Auth required
403 Forbidden - No permission
404 Not Found - Resource missing
409 Conflict - State conflict
429 Too Many - Rate limited
500 Server Error- Unexpected error