본문으로 건너뛰기
cccskills
무료GitHub에 공개

oma-backend

Implement server APIs, authentication, and application data access. Schema modeling and query tuning use oma-db.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(10)

  • SKILL.md9.9 KB
  • resources/checklist.md2.1 KB
  • resources/error-playbook.md3.9 KB
  • resources/examples.md1.9 KB
  • resources/execution-protocol.md2.3 KB
  • resources/orm-reference.md3.9 KB
  • stack/api-template.ts8.8 KB
  • stack/snippets.md12.2 KB
  • stack/stack.yaml30 B
  • stack/tech-stack.md1006 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Backend Agent - API & Server Specialist

Scheduling

Goal

Implement or review backend APIs, authentication, database integration, server-side business logic, and migrations using the project's existing backend stack and clean architecture boundaries.

Intent signature

  • User asks for API, endpoint, REST, GraphQL, auth, server, migration, repository, service, router, or background job work.
  • User needs backend code that coordinates validation, business logic, persistence, transactions, and backing services.

When to use

  • Building REST APIs or GraphQL endpoints
  • Database design and migrations
  • Authentication and authorization
  • Server-side business logic
  • Background jobs and queues

When NOT to use

  • Frontend UI -> use Frontend Agent
  • Mobile-specific code -> use Mobile Agent

Expected inputs

  • Target feature, endpoint, migration, auth flow, or server behavior
  • Existing backend stack files such as manifests, routes, services, models, and database config
  • API contracts, schemas, validation rules, and persistence requirements
  • Required verification commands or project conventions

Expected outputs

  • Backend code changes in router, service, repository, model, migration, or test files
  • Validated inputs, safe queries, transaction boundaries, and error handling
  • Verification results from the execution checklist

Dependencies

  • Project stack manifests and existing backend conventions
  • resources/execution-protocol.md, resources/checklist.md, and resources/orm-reference.md
<!-- oma-docs:ignore-start -->
  • Optional stack/stack.yaml, stack/tech-stack.md, snippets, and API templates
<!-- oma-docs:ignore-end -->
  • Database, queue, cache, mail, auth, or external API resources configured through environment or secret managers

Control-flow features

  • Branches by detected stack, ORM/query pattern, auth requirement, migration impact, and transaction scope
  • Reads and writes codebase files
  • May touch local database migrations or generated code
  • Must not hardcode secrets or share unsafe ORM lifecycle objects across concurrent work

Structural Flow

Entry

  1. Detect the backend stack from project files first.
  2. Identify affected router, service, repository, model, migration, and test boundaries.
  3. Load stack-specific references only when needed.

Scenes

  1. PREPARE: Determine stack, architecture boundaries, and acceptance criteria.
  2. ACQUIRE: Read existing routes, services, repositories, models, schemas, and config.
  3. ACT: Implement backend changes with validation, business logic, persistence, and tests.
  4. VERIFY: Run relevant lint, type, test, migration, and checklist commands.
  5. FINALIZE: Report changed behavior, verification, and unresolved risks.

Transitions

  • If stack files exist, follow them before generic guidance.
  • If ORM performance, relationship loading, transactions, or N+1 risk appears, use resources/orm-reference.md.
  • If database schema impact is primary and API work is secondary, coordinate with oma-db.
  • If auth server setup touches DB adapters or server libraries, keep it in backend scope.

Failure and recovery

  • If stack cannot be determined, ask the user or suggest running /stack-set.
  • If verification fails, fix root cause before handoff.
  • If required secrets or services are unavailable, document the blocker and keep code configurable.

Exit

  • Success: backend change is implemented, tested, and aligned with local architecture.
  • Partial success: blocker, missing dependency, or verification gap is explicit.

Logical Operations

Actions

ActionSSL primitiveEvidence
Detect stack and conventionsREADManifests, stack files, existing code
Select implementation boundarySELECTRouter/service/repository pattern
Validate inputs and schemasVALIDATEStack validation library
Implement business logicWRITEService layer code
Implement persistenceWRITERepository/model/migration code
Call external/backing servicesCALL_TOOLDB, queue, cache, auth, or API clients
Run verificationCALL_TOOLTests, typecheck, lint, migrations
Report resultNOTIFYFinal summary

Tools and instruments

  • Project language/framework toolchain
  • ORM or database client
  • Test, lint, typecheck, and migration commands
  • Stack-specific templates and snippets when present

Canonical workflow path

rg --files
rg "route|router|service|repository|model|schema|migration" .
<!-- oma-docs:ignore-start -->

Then run the project's discovered verification commands, usually lint/typecheck/tests and migrations when schema changes are involved. Prefer stack/stack.yaml verify: commands when present.

<!-- oma-docs:ignore-end -->

Resource scope

ScopeResource target
CODEBASEBackend source, tests, schemas, migrations
LOCAL_FSStack references and generated artifacts
PROCESSTest, lint, typecheck, migration commands
CREDENTIALSEnvironment-managed DB URLs, API keys, secrets
NETWORKExternal APIs or backing services when required

Preconditions

  • Target behavior and affected backend boundary are identifiable.
  • Project stack and verification commands can be inferred or are provided.
  • Required credentials remain outside source code.

Effects and side effects

  • Mutates backend source files, tests, and possibly migrations.
  • May change database schema, API behavior, auth behavior, or service contracts.
  • May require generated clients or migration artifacts.

Guardrails

Apply framework, library, architecture, and data-model defaults only when the target project has no established choice. Scoped edits do not authorize a stack migration or unrelated infrastructure.

  1. DRY (Don't Repeat Yourself): Business logic in Service, data access logic in Repository
  2. SOLID:
    • Single Responsibility: Classes and functions should have one responsibility
    • Dependency Inversion: Use your framework's DI mechanism
  3. KISS: Keep it simple and clear

Architecture Pattern

Router (HTTP) → Service (Business Logic) → Repository (Data Access) → Models

Repository Layer

  • Encapsulate DB CRUD and query logic
  • No business logic, return ORM entities

Service Layer

  • Business logic, Repository composition, external API calls
  • Business decisions only here

Router Layer

  • Receive HTTP requests, input validation, call Service, return response
  • No business logic, inject Service via DI

Core Rules

  1. Clean architecture: router → service → repository → models
  2. No business logic in route handlers
  3. All inputs validated with your stack's validation library
  4. Parameterized queries only (never string interpolation)
  5. JWT + Argon2id for auth (bcrypt acceptable for legacy compatibility); rate limit auth endpoints
  6. Async where supported; type annotations on all signatures
  7. Custom exceptions via centralized error module (not raw HTTP exceptions)
  8. Explicit ORM loading strategy: do not rely on default relation loading when query shape matters
  9. Explicit transaction boundaries: group one business operation into one request/service-scoped unit of work
  10. Safe ORM lifecycle: do not share mutable ORM session/entity manager/client objects across concurrent work unless the ORM explicitly supports it
  11. Config from environment, with graceful fallback: DB URLs, API keys, secrets, and feature flags come from env vars or secret managers; never hardcode in source. When integrating a third-party API (OpenAI, Anthropic, Stripe, etc.), write BOTH paths: (a) real call when the env key is present, (b) deterministic local fallback when absent, marked with // TODO(oma-deferred): integrate <vendor> when key is provisioned. Fallback-only leaves the spec unmet; real-call-only breaks demos when the key is missing
  12. Stateless services: no in-memory session or user state between requests; use external stores (DB, Redis, cache) for shared state
  13. Backing services as resources: DB, queue, cache, mail are swappable attached resources connected via config; Repository layer must not assume a specific instance

Stack Detection

  1. Project files first: Read existing code, package manifests (pyproject.toml, package.json, Cargo.toml, go.mod, pom.xml, etc.) to determine the tech stack
  2. stack/ second: If stack/ exists, use it as supplementary reference for coding conventions and snippet templates
  3. Neither exists: Ask the user or suggest running /stack-set

Stack-Specific Reference

<!-- oma-docs:ignore-start -->
  • Stack manifest (SSOT): stack/stack.yaml: structured declaration (language, framework, orm) and verify: contract consumed by oma verify backend. Schema: variants/stack.schema.json.
  • Tech stack narrative: stack/tech-stack.md: human-readable reference only; stack.yaml wins on conflict.
  • Code snippets (copy-paste ready): stack/snippets.md
  • API template: stack/api-template.*
<!-- oma-docs:ignore-end -->

References

  • Local code tools: ../_shared/core/code-intelligence.md (code search/navigation)

  • Execution steps (follow for the selected task): resources/execution-protocol.md

  • Checklist (run before handoff): resources/checklist.md

  • ORM reference: resources/orm-reference.md

  • Error recovery: resources/error-playbook.md

  • Context loading: ../_shared/core/context-loading.md

  • Clarification: ../_shared/core/clarification-protocol.md

  • Context budget: ../_shared/core/context-budget.md

  • Lessons learned: ../_shared/core/lessons-learned.md (matching prior failure or requested retrospective)

  • Observability handoff: ../oma-observability/SKILL.md §Integrations — propagators/baggage, span conventions, log correlation, PII redaction

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Design-first ideation workflow — explore user intent, clarify constraints, propose approaches, and produce an approved design document before planning

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gracefullight/pkgs42026년 10월 18일 업데이트

commit

무료

Generate Conventional Commits spec git commits (auto-separate by feature)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gracefullight/pkgs42026년 10월 18일 업데이트

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' or 'competitive landing pages.' Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. Emphasizes deep research, modular content architecture, and varied section types beyond feature tables.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gracefullight/pkgs42026년 10월 18일 업데이트

When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions "content strategy," "what should I write about," "content ideas," "blog strategy," "topic clusters," or "content planning." For writing individual pieces, see copywriting. For SEO-specific audits, see seo-audit.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gracefullight/pkgs42026년 10월 18일 업데이트

When the user wants to edit, review, or improve existing marketing copy. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish this,' 'make this better,' or 'copy sweep.' This skill provides a systematic approach to editing marketing copy through multiple focused passes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gracefullight/pkgs42026년 10월 18일 업데이트

When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says "write copy for," "improve this copy," "rewrite this page," "marketing copy," "headline help," or "CTA copy." For email copy, see email-sequence. For popup copy, see popup-cro.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gracefullight/pkgs42026년 10월 18일 업데이트

gracefullight의 스킬 모두 보기

이 스킬의 문제 신고