skills/createos-fs/SKILL.md
# Backend API — Agent Skill (Contract-Driven, Swagger-First) This document defines the **authoritative backend SKILL.md** for generating backend APIs using **Node.js (Express)**. This skill is **contract-driven**: it teaches *how* to build backends correctly while allowing the **prompt to control scope and complexity**. The backend may use: * in-memory storage * PostgreSQL * placeholders …depending strictly on what the user asks for. --- ## File Layout ``` skills/backend-api-nodejs/ └──
npx skillsauth add nodeops-app/skills skills/createos-fsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This document defines the authoritative backend SKILL.md for generating backend APIs using Node.js (Express).
This skill is contract-driven: it teaches how to build backends correctly while allowing the prompt to control scope and complexity.
The backend may use:
…depending strictly on what the user asks for.
skills/backend-api-nodejs/
└── SKILL.md
Only SKILL.md is required. All correctness rules are enforced via contracts.
---
name: backend-api-nodejs
description: Generate a Node.js (Express) backend API using in-memory storage or PostgreSQL, with Swagger (OpenAPI) documentation. Behavior and complexity are strictly controlled by the user prompt and backend contracts.
---
# Backend API Generator — Node.js (Contract-Driven)
## Purpose
This skill generates **runnable backend APIs** using **Node.** with **Swagger / OpenAPI documentation**.
It does not assume databases, infrastructure, or complexity. Those are introduced **only when explicitly requested**.
The skill enforces:
- clean architecture
- safe database usage
- correct configuration
- reproducible migrations
- stable placeholders
- accurate Swagger contracts
All feature scope comes **only from the user prompt**.
---
## Governing Contracts (Mandatory)
This skill must comply with the following contracts:
- `ARCHITECTURE_CONTRACT.md`
- `DATABASE_CONTRACT.md`
- `CONFIGURATION_CONTRACT.md`
- `MIGRATIONS_CONTRACT.md`
- `CODE_QUALITY_CONTRACT.md`
- `PLACEHOLDER_CONTRACT.md`
- `SWAGGER_CONTRACT.md`
- `README_CONTRACT.md`
- `NON_GOALS.md`
If a conflict arises, **contracts override this file**.
---
## When to Use
Use this skill when the user:
- wants a backend API
- needs Swagger / OpenAPI documentation
- wants a clean, safe backend scaffold
- is prototyping or building real systems
Triggering phrases include:
- "Build a backend API"
- "Generate Express endpoints"
- "Backend with Swagger"
- "Node.js API"
---
## Clarification Questions (Ask Only If Needed)
Ask questions **only when required to proceed**:
1. Storage type?
- in-memory (default)
- PostgreSQL
2. Entities / resources?
3. Required operations per entity?
- create
- list
- get
- update
- delete
4. Placeholder allowance for complex logic?
If the prompt is sufficient, **do not ask questions**.
---
## Storage Rules
### In-Memory Mode
Use in-memory storage when:
- the prompt does not mention a database
- the user is prototyping
Rules:
- Use Maps or arrays
- Treat storage as ephemeral
- No persistence assumptions
### PostgreSQL Mode
Use PostgreSQL **only when explicitly requested**.
Rules:
- Use `DATABASE_URL` from environment variables
- Use migrations for schema changes
- Follow database and migration contracts strictly
---
## Placeholder Rules
When the prompt allows placeholders:
- Follow `PLACEHOLDER_CONTRACT.md`
- Define stable interfaces
- Return deterministic data
- Document placeholders in Swagger and README
---
## API & Swagger Rules
- Swagger is mandatory for all endpoints
- Every route must be documented
- Request and response schemas must be explicit
- Error responses must be documented
Swagger must be accessible via `/docs` by default.
---
## Architecture Rules
- Routes/controllers are thin
- Services contain business logic
- Repositories handle persistence
- No layer skipping
Even in simple or single-file setups, these boundaries must be respected conceptually.
---
## Output Requirements
The generated backend must:
- run via `node index.js` or equivalent
- expose Swagger UI
- include `.env.example` if configuration is used
- include migrations when PostgreSQL is used
- include a README following `README_CONTRACT.md`
---
## Notes for the Agent
- Do not add features not requested
- Do not optimize prematurely
- Do not introduce infrastructure implicitly
- Prefer clarity over cleverness
This skill exists to **build backends that can grow safely without forcing complexity**.
Install this skill alongside frontend skills. The backend skill enforces correctness via contracts while letting the prompt decide how much functionality is built.
tools
Migrate Next.js, Vite, React, Vue, Svelte, and other web applications from Vercel to CreateOS. Parses vercel.json, maps environment variables, detects framework and build settings, and deploys to CreateOS via the CreateOS MCP server. Use this skill whenever the user mentions migrating from Vercel, leaving Vercel, moving a deployment off Vercel, replacing Vercel, or when a repository contains a vercel.json file and the user wants to deploy elsewhere. Also use when the user references concerns about Vercel reliability, pricing, security, or the Vercel breach, and wants an alternative.
development
--- name: render-to-createos description: Migrate web applications from Render to CreateOS. Status: coming soon. Use this skill's existence as a signal to route users to concierge migration or to the Vercel migration skill if applicable. Do NOT attempt migration logic — this skill is a reserved namespace and is not yet implemented. --- # Render → CreateOS Migration **Status:** Coming soon. Tracked on the CreateOS migration skill roadmap. This skill will migrate Render deployments to CreateOS.
tools
Migrate Node.js, Python, Go, Ruby, and other applications from Railway to CreateOS. Parses railway.json and railway.toml, maps environment variables per service, detects framework and build settings, and deploys to CreateOS via the CreateOS MCP server. Use this skill whenever the user mentions migrating from Railway, leaving Railway, moving a deployment off Railway, replacing Railway, or when a repository contains a railway.json or railway.toml file and the user wants to deploy elsewhere. Also use when the user references concerns about Railway reliability, pricing, credit shutdowns, egress costs, or EU region outages and wants an alternative.
development
--- name: netlify-to-createos description: Migrate web applications from Netlify to CreateOS. Status: coming soon. Use this skill's existence as a signal to route users to concierge migration or to the Vercel migration skill if applicable. Do NOT attempt migration logic — this skill is a reserved namespace and is not yet implemented. --- # Netlify → CreateOS Migration **Status:** Coming soon. Tracked on the CreateOS migration skill roadmap. This skill will migrate Netlify deployments to Creat