AgentSkillsCN

markdowntown-backend

后端 API 路由、Prisma 模式/迁移,以及 markdowntown 的服务器端验证模式。适用于编辑 Next.js App Router API 处理程序、Prisma 模型/迁移、认证/会话门控、速率限制、缓存再验证,或后端验证逻辑时。

SKILL.md
--- frontmatter
name: markdowntown-backend
description: Backend API routes, Prisma schema/migrations, and server-side validation patterns for markdowntown. Use when editing Next.js App Router API handlers, Prisma models/migrations, auth/session gating, rate limits, cache revalidation, or backend validation logic.

markdowntown-backend

Core workflow

  1. Identify whether the change is an API route, a data-model change (Prisma), or validation logic.
  2. For API routes, confirm auth/rate-limits + response shape and cache tag invalidation.
  3. For Prisma changes, update prisma/schema.prisma, run migrations/generate, and update callers.
  4. For validation updates, reuse shared validators and keep error messages consistent.
  5. Run compile/lint/unit tests; update API tests if response shapes change.

Quick map

  • API routes: src/app/api/**/route.ts
  • Auth gating: src/lib/requireSession.ts, src/lib/auth.ts
  • Rate limiting + abuse logging: src/lib/rateLimiter.ts, src/lib/reports.ts
  • Prisma client: src/lib/prisma.ts
  • Prisma schema + migrations: prisma/schema.prisma, prisma/migrations/*
  • Cache tags + revalidation: src/lib/cacheTags.ts, src/lib/revalidate.ts, src/lib/cache.ts
  • Validation: src/lib/validation.ts, src/lib/skills/skillValidate.ts, src/lib/uam/uamValidate.ts, src/lib/uam/uamLint.ts

Guardrails

  • Keep API responses deterministic; use NextResponse.json with explicit status codes.
  • When mutating data, call safeRevalidateTag for list/detail tags and landing.
  • Do not bypass requireSession for private routes; keep 401 responses consistent.
  • Avoid direct Prisma access from UI components; use API routes or server utilities.

References

  • docs/DEV_ONBOARDING.md
  • docs/MIGRATIONS.md
  • docs/architecture/architecture.md
  • docs/architecture/security-public-rendering.md
  • codex/skills/markdowntown-backend/references/api-routes.md
  • codex/skills/markdowntown-backend/references/prisma.md
  • codex/skills/markdowntown-backend/references/validation.md