architect-backend
Skill8 starsChanged 3 months agoMITView on GitHub
Design, review, organize, and evolve scalable, secure, maintainable backend systems across any language, framework, runtime, database, API style, deployment model, or architecture. Detects whether a backend already exists and produces a safe improvement path before changing it; otherwise designs a new backend from scratch. Use when planning backend architecture, reviewing an existing system, reorganizing files, modernizing modules, selecting boundaries, or implementing production-grade backend features.
In this repository8 other files it gives its agents.
- audit-backend-securitySkill
- improve-backend-codeSkill
- optimize-databaseSkill
- integrate-1billSkill
- integrate-easypaisaSkill
- integrate-jazzcashSkill
- integrate-stripeSkill
- screenshot-to-codeSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 15 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
If a backend exists, identify its language and versions, framework/runtime, architecture style, package/build tools, API or messaging …
- Distinctive: line 15
If no backend exists, inspect the surrounding product and requirements, then design the smallest suitable backend from scratch using …
- Distinctive: line 16
If the repository contains several services, treat each service and their contracts separately before proposing shared or system-wide …
- Distinctive: line 20
Before a material refactor, explain:
- Distinctive: line 28
Do not rewrite the entire backend, introduce a new framework, split into microservices, or impose a fashionable architecture unless …
- Distinctive: line 38
Add or update migration, compatibility, and rollback handling when contracts or persisted data change.
- Distinctive: line 39
Run the ecosystem's relevant formatter, linter/static analysis, compiler/type checker, unit/integration tests, and build.
- Distinctive: line 45
Keep secrets out of source, logs, and responses.
- Distinctive: line 47
Keep database and integration details behind clear boundaries.
- Distinctive: line 48
Avoid generic shared modules until code is genuinely reused.
- Distinctive: line 49
Add abstractions only when they reduce current complexity or support a concrete extension.
- Distinctive: line 50
Keep naming, imports, file extensions, framework patterns, toolchain, and runtime compatibility consistent with the repository.
- Distinctive: line 51
Prefer a modular monolith for many new products unless independent deployment or scaling boundaries are already justified.
- Distinctive: line 52
Treat distributed systems, queues, caches, and microservices as operational commitments, not default folder-organization tools.
- Distinctive: line 56
Read references/architecture-guide.md when the task needs folder templates, framework-specific examples, API and database rules, …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Backend Architecture
Work with any backend ecosystem, including JavaScript/TypeScript, Python, Go, Java/Kotlin, C#/.NET, PHP, Ruby, Rust, Elixir, C/C++, Swift server frameworks, serverless functions, and other stacks. Do not default to Node.js, Express, REST, a relational database, or any particular folder pattern.
First: detect the backend
Inspect the complete repository before recommending architecture or writing code. Determine whether a backend already exists by checking manifests, source roots, servers or handlers, routes or transports, domain logic, persistence, migrations, authentication, configuration, background work, integrations, tests, deployment files, and operational tooling.
- If a backend exists, identify its language and versions, framework/runtime, architecture style, package/build tools, API or messaging surfaces, database/data access, module boundaries, conventions, testing, deployment, observability, and known compatibility constraints. Preserve good existing choices.
- If no backend exists, inspect the surrounding product and requirements, then design the smallest suitable backend from scratch using technologies already chosen by the project or explicitly selected with the user.
- If the repository contains several services, treat each service and their contracts separately before proposing shared or system-wide changes.
Existing-backend assessment
Before a material refactor, explain:
- Current structure — how requests, messages, jobs, data, and dependencies flow today.
- What should stay — sound choices and conventions worth preserving.
- What should change — concrete problems supported by repository evidence.
- Recommended target — the smallest architecture that resolves those problems.
- Update path — ordered, incremental steps with compatibility, migration, testing, deployment, and rollback notes.
Do not rewrite the entire backend, introduce a new framework, split into microservices, or impose a fashionable architecture unless evidence and the user's goal justify it. If implementation was requested, provide the assessment concisely and then follow the update path.
Workflow
- Map entry points, request/message/job flows, state changes, dependencies, and external contracts.
- Identify ownership, coupling, cohesion, duplication, cycles, misplaced responsibilities, scaling limits, and operational gaps.
- Select architecture based on real constraints: team size, domain complexity, traffic, consistency, latency, security, deployment, and expected change.
- Choose the smallest change that satisfies the request. Consider the existing style, modular monoliths, layered/MVC, feature modules, hexagonal/ports-and-adapters, event-driven systems, serverless, or services only where appropriate.
- Separate transport, business rules, data access, validation, and serialization to the degree supported by the stack and problem; avoid ceremonial layers with no value.
- Implement incrementally and preserve public APIs, messages, data, and deployment behavior unless a breaking change is approved.
- Add or update migration, compatibility, and rollback handling when contracts or persisted data change.
- Run the ecosystem's relevant formatter, linter/static analysis, compiler/type checker, unit/integration tests, and build.
- Report the final structure, decisions, verification, migration status, and remaining risks.
Guardrails
- Centralize configuration and validate required environment variables at startup.
- Keep secrets out of source, logs, and responses.
- Validate at system boundaries and derive identity or authorization from verified server context.
- Keep database and integration details behind clear boundaries.
- Avoid generic shared modules until code is genuinely reused.
- Add abstractions only when they reduce current complexity or support a concrete extension.
- Keep naming, imports, file extensions, framework patterns, toolchain, and runtime compatibility consistent with the repository.
- Prefer a modular monolith for many new products unless independent deployment or scaling boundaries are already justified.
- Treat distributed systems, queues, caches, and microservices as operational commitments, not default folder-organization tools.
Detailed guidance
Read references/architecture-guide.md when the task needs folder templates, framework-specific examples, API and database rules, authentication or payment structure, review checklists, or a full architecture recommendation. Search that file by its headings and load only the relevant sections for the current task.
Output
Lead with whether an existing backend was found. For existing systems, summarize the current structure and safe update path. For new systems, explain the chosen architecture and why it fits. Distinguish observed problems from optional improvements. For implementation, name changed files, compatibility or migration work, and verification performed.
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
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.

