Backend
This is a Hermes-native backend workflow skill.
Why This Exists
backend gives OMH a first-class server-side workflow so Hermes can prepare auth boundaries, error paths, response shapes, and migration order without becoming the hidden runtime that executes them.
Do Not Use When
- The request is about web UI, layout, or a design system; use
frontend.
- The request is a security posture or threat review rather than a service design; use
security-safety-review.
- The request is to run or judge the verification of an already-built service; use
verification-gate.
- The request is a Rust-language change whose risk is compiler, ownership, or
unsafe discipline; use rust.
Examples
Good example:
- Prompt: Design a REST API with a Postgres schema and migrations for the billing service.
- Expected behavior: Prepare backend_service_contract/v1, auth_boundary_map/v1, error_path_table/v1, response_shape_contract/v1, and schema_migration_plan/v1, then hand off with the per-stack reference named.
- Why: The request is server-side design across an endpoint surface and its storage, before any code exists.
Bad example:
- Prompt: The migration is written, so mark the schema as migrated and the API as live.
- Expected behavior: Mark migration application, integration runs, and deployment as not_observed and name the smallest observed proof for each.
- Why: A prepared migration plan is not an applied migration, and a contract is not a running service.
Completion Checklist
- The surface, its callers, and each caller's trust level are named.
- The auth_boundary_map/v1 states where trust changes and which check enforces it on every path.
- The error_path_table/v1 covers each failure mode with status, body shape, retryability, and redaction rule.
- The response_shape_contract/v1 is consistent across endpoints rather than per-endpoint improvisation.
- Storage changes carry an expand/backfill/switch/contract order with a rollback point per step.
- The handoff names the executor, the stack, and the per-stack reference to load first.
- Implementation, migrations, integration runs, and deployment stay observed-only.
Recovery Notes
- If the stack or datastore is unknown, prepare the contract stack-neutral and name the stack as the one blocking input.
- If the auth model cannot be established, stop at the auth boundary gap instead of designing endpoints that assume a trust level.
Workflow Lane
- Current lane: Coding handoff (
idea-to-deploy, llm-app-dev, cto-loop, deploy-and-monitor, code-review, build-failure-triage, verification-gate, security-safety-review, +13 more) - coding owners, handoffs, review, CI, and merge evidence.
- If intent belongs to another lane, hand back to
oh-my-hermes or name the adjacent workflow.
- Shared product, routing, compatibility, and evidence rules:
omh-routing/references/skill-common-rail.md.
Use When
Use when Hermes should shape a server, API, or data-layer change before implementation: authentication boundary, contract error paths, response consistency, schema and migration discipline, and the per-stack reference the executor loads first.
Strong routing signals: `backend`, `back-end`, `back end`, `backend skill`, `server side`, `server-side`, `api design`, `api contract`, `rest api`, `graphql api`, `grpc service`, `endpoint design`, `auth boundary`, `authentication flow`, `authorization rules`, `idempotency key`, `pagination contract`, `database schema`, `postgres schema`, `schema migration`, `db migration`, `orm mapping`, `connection pool`, `message queue`, `webhook handler`, `バックエンド`, `エンドポイント設計`, `認証フロー`, `スキーマ移行`, `백엔드`, `서버 개발`, `서버 api`, `api 설계`, `인증 흐름`, `권한 체크`, `디비 스키마`, `db 스키마`, `스키마 마이그레이션`, `엔드포인트 설계`, `后端`, `後端`, `接口设计`, `认证流程`, `数据库迁移`
Catalog Metadata
Category: planning
Phase: backend-design
Hermes role: planner
Quality tier: backend-contract-gated
Reasoning demand: standard
Quality bar:
- Name the surface, its callers, and their trust level before any endpoint or table is designed.
- Load
references/service-contract.md and fill the auth boundary, error-path table, and response-shape rules from it rather than improvising a per-endpoint shape.
- When the change touches storage, load
references/schema-migration.md and order the migration as expand, backfill, switch, contract, with the rollback point named per step.
- Hold the
api product-family expectations — authentication boundary, contract error paths, response consistency — as the standing bar for every prepared endpoint.
- Name the per-stack reference the executor must read first; the stack is a routing input, not a detail discovered mid-implementation.
- Keep implementation, migration application, integration runs, load testing, and deployment as observed-only evidence.
Handoff policy:
Keep the service contract, auth boundary, error-path table, and migration plan in Hermes. Record code changes, running servers, applied migrations, integration runs, and load results only from executor or wrapper observed evidence.
Required inputs:
- the service, endpoint, or data surface being changed
- callers and their trust level (public, partner, internal, machine)
- language, framework, and datastore when known
- authentication and authorization model in force
- existing schema and migration tooling
- backward-compatibility and rollout constraints
- observed integration or load evidence for completion claims
Expected outputs:
- backend_service_contract/v1
- auth_boundary_map/v1
- error_path_table/v1
- response_shape_contract/v1
- schema_migration_plan/v1 when the change touches storage
- backend_implementation_handoff/v1
- observed_integration_evidence/v1 when observed
Artifact expectations:
- backend_service_contract/v1 names each endpoint or job, its caller class, request and response shapes, and its idempotency and pagination rules
- auth_boundary_map/v1 states where an untrusted caller becomes a trusted one, and which check runs on each path
- error_path_table/v1 pairs every failure mode with its status/code, body shape, retryability, and log/redaction rule
- response_shape_contract/v1 keeps success and error envelopes consistent across the surface instead of per-endpoint improvisation
- schema_migration_plan/v1 orders expand, backfill, switch, and contract steps with the rollback point for each
- integration runs, applied migrations, load numbers, and deployment only when observed
Safety rules:
- Do not claim implementation, a running service, an applied migration, a passing integration suite, or a deployment from a prepared backend contract.
- Require the auth boundary before endpoint work: an endpoint whose caller trust level is unnamed is not ready for handoff.
- Require the error-path table before the happy path is called complete; an unlisted failure mode is a gap, not a default.
- Treat a destructive or non-reversible migration step as a blocker until an explicit rollback point and backfill order exist.
- Never place secrets, tokens, or connection strings in the contract, examples, or handoff text.
- Do not call databases, HTTP services, LLM, or network endpoints from OMH core.
Runtime Evidence
Preferred harness for this skill: coding-handling.
omh runtime record --skill backend --harness coding-handling --status started
Record observed delegation results; otherwise return not_available or not_observed.
Prepared OMH routing is not execution, review, CI, merge-readiness, or merge evidence.
- Treat wrapper memory/context summaries as advisory local context, not proof of opaque Hermes memory reads or changes.
Preserve workflow intent and stop conditions; verify before claiming completion.
Use Hermes-native subagent/delegation features when available: native subagents -> Hermes delegation when available, otherwise sequential lanes.
Shared product, compatibility, topology, memory, harness, and execution rules: omh-routing/references/skill-common-rail.md. Load it when applicable; otherwise name an unavailable capability.
1---2name: omh-backend3description: [omh] Hermes backend workflow: prepare server, API, and data-layer contracts — auth boundary, error paths, response shape, and schema/migration discipline — before implementation. Use when the user says: backend, back-end, back end, backend skill, server side, server-side, api design, api contract.4---5
6# Backend
7
8This is a Hermes-native `backend` workflow skill.
9
10## Why This Exists
11
12`backend` gives OMH a first-class server-side workflow so Hermes can prepare auth boundaries, error paths, response shapes, and migration order without becoming the hidden runtime that executes them.
13
14## Do Not Use When
15
16- The request is about web UI, layout, or a design system; use `frontend`.
17- The request is a security posture or threat review rather than a service design; use `security-safety-review`.
18- The request is to run or judge the verification of an already-built service; use `verification-gate`.
19- The request is a Rust-language change whose risk is compiler, ownership, or `unsafe` discipline; use `rust`.
20
21## Examples
22
23Good example:
24
25- Prompt: Design a REST API with a Postgres schema and migrations for the billing service.
26- Expected behavior: Prepare backend_service_contract/v1, auth_boundary_map/v1, error_path_table/v1, response_shape_contract/v1, and schema_migration_plan/v1, then hand off with the per-stack reference named.
27- Why: The request is server-side design across an endpoint surface and its storage, before any code exists.
28
29Bad example:
30
31- Prompt: The migration is written, so mark the schema as migrated and the API as live.
32- Expected behavior: Mark migration application, integration runs, and deployment as not_observed and name the smallest observed proof for each.
33- Why: A prepared migration plan is not an applied migration, and a contract is not a running service.
34
35## Completion Checklist
36
37- The surface, its callers, and each caller's trust level are named.
38- The auth_boundary_map/v1 states where trust changes and which check enforces it on every path.
39- The error_path_table/v1 covers each failure mode with status, body shape, retryability, and redaction rule.
40- The response_shape_contract/v1 is consistent across endpoints rather than per-endpoint improvisation.
41- Storage changes carry an expand/backfill/switch/contract order with a rollback point per step.
42- The handoff names the executor, the stack, and the per-stack reference to load first.
43- Implementation, migrations, integration runs, and deployment stay observed-only.
44
45## Recovery Notes
46
47- If the stack or datastore is unknown, prepare the contract stack-neutral and name the stack as the one blocking input.
48- If the auth model cannot be established, stop at the auth boundary gap instead of designing endpoints that assume a trust level.
49
50## Workflow Lane
51
52- Current lane: **Coding handoff** (`idea-to-deploy`, `llm-app-dev`, `cto-loop`, `deploy-and-monitor`, `code-review`, `build-failure-triage`, `verification-gate`, `security-safety-review`, `+13 more`) - coding owners, handoffs, review, CI, and merge evidence.
53- If intent belongs to another lane, hand back to `oh-my-hermes` or name the adjacent workflow.
54- Shared product, routing, compatibility, and evidence rules: `omh-routing/references/skill-common-rail.md`.
55
56## Use When
57
58Use when Hermes should shape a server, API, or data-layer change before implementation: authentication boundary, contract error paths, response consistency, schema and migration discipline, and the per-stack reference the executor loads first.
59
60 Strong routing signals: `backend`, `back-end`, `back end`, `backend skill`, `server side`, `server-side`, `api design`, `api contract`, `rest api`, `graphql api`, `grpc service`, `endpoint design`, `auth boundary`, `authentication flow`, `authorization rules`, `idempotency key`, `pagination contract`, `database schema`, `postgres schema`, `schema migration`, `db migration`, `orm mapping`, `connection pool`, `message queue`, `webhook handler`, `バックエンド`, `エンドポイント設計`, `認証フロー`, `スキーマ移行`, `백엔드`, `서버 개발`, `서버 api`, `api 설계`, `인증 흐름`, `권한 체크`, `디비 스키마`, `db 스키마`, `스키마 마이그레이션`, `엔드포인트 설계`, `后端`, `後端`, `接口设计`, `认证流程`, `数据库迁移`
61
62## Catalog Metadata
63
64Category: `planning`
65Phase: `backend-design`
66Hermes role: `planner`
67Quality tier: `backend-contract-gated`
68Reasoning demand: `standard`
69
70Quality bar:
71
72- Name the surface, its callers, and their trust level before any endpoint or table is designed.
73- Load `references/service-contract.md` and fill the auth boundary, error-path table, and response-shape rules from it rather than improvising a per-endpoint shape.
74- When the change touches storage, load `references/schema-migration.md` and order the migration as expand, backfill, switch, contract, with the rollback point named per step.
75- Hold the `api` product-family expectations — authentication boundary, contract error paths, response consistency — as the standing bar for every prepared endpoint.
76- Name the per-stack reference the executor must read first; the stack is a routing input, not a detail discovered mid-implementation.
77- Keep implementation, migration application, integration runs, load testing, and deployment as observed-only evidence.
78
79Handoff policy:
80
81Keep the service contract, auth boundary, error-path table, and migration plan in Hermes. Record code changes, running servers, applied migrations, integration runs, and load results only from executor or wrapper observed evidence.
82
83Required inputs:
84
85- the service, endpoint, or data surface being changed
86- callers and their trust level (public, partner, internal, machine)
87- language, framework, and datastore when known
88- authentication and authorization model in force
89- existing schema and migration tooling
90- backward-compatibility and rollout constraints
91- observed integration or load evidence for completion claims
92
93Expected outputs:
94
95- backend_service_contract/v1
96- auth_boundary_map/v1
97- error_path_table/v1
98- response_shape_contract/v1
99- schema_migration_plan/v1 when the change touches storage
100- backend_implementation_handoff/v1
101- observed_integration_evidence/v1 when observed
102
103Artifact expectations:
104
105- backend_service_contract/v1 names each endpoint or job, its caller class, request and response shapes, and its idempotency and pagination rules
106- auth_boundary_map/v1 states where an untrusted caller becomes a trusted one, and which check runs on each path
107- error_path_table/v1 pairs every failure mode with its status/code, body shape, retryability, and log/redaction rule
108- response_shape_contract/v1 keeps success and error envelopes consistent across the surface instead of per-endpoint improvisation
109- schema_migration_plan/v1 orders expand, backfill, switch, and contract steps with the rollback point for each
110- integration runs, applied migrations, load numbers, and deployment only when observed
111
112Safety rules:
113
114- Do not claim implementation, a running service, an applied migration, a passing integration suite, or a deployment from a prepared backend contract.
115- Require the auth boundary before endpoint work: an endpoint whose caller trust level is unnamed is not ready for handoff.
116- Require the error-path table before the happy path is called complete; an unlisted failure mode is a gap, not a default.
117- Treat a destructive or non-reversible migration step as a blocker until an explicit rollback point and backfill order exist.
118- Never place secrets, tokens, or connection strings in the contract, examples, or handoff text.
119- Do not call databases, HTTP services, LLM, or network endpoints from OMH core.
120
121## Runtime Evidence
122
123Preferred harness for this skill: `coding-handling`.
124
125```sh
126omh runtime record --skill backend --harness coding-handling --status started
127```
128
129Record observed delegation results; otherwise return `not_available` or `not_observed`.
130Prepared OMH routing is not execution, review, CI, merge-readiness, or merge evidence.
131- Treat wrapper memory/context summaries as advisory local context, not proof of opaque Hermes memory reads or changes.
132Preserve workflow intent and stop conditions; verify before claiming completion.
133
134Use Hermes-native subagent/delegation features when available: native subagents -> Hermes delegation when available, otherwise sequential lanes.
135
136Shared product, compatibility, topology, memory, harness, and execution rules: `omh-routing/references/skill-common-rail.md`. Load it when applicable; otherwise name an unavailable capability.