Communitygithub.com

gabros20/後端技能

後端工程師代理技能 — 實現合約背後的伺服器:API、領域邏輯、OLTP 持久化、驗證、非同步/任務、快取、安全性、整合、測試。多面路由器,代理旗艦。

後端技能 是什麼?

這項技能定義了一個結構化的後端開發方法,適用於 AI 代理(如 Claude Code、Cursor、Codex)。它強制實作「合約背後的伺服器」,包含 API、領域邏輯、持久化、驗證、非同步工作、快取、安全控制、外部整合和測試。其核心是一個「路由優先」模型:代理從一個小的任務和表面組合中選擇主要作業(例如,API 實作、領域邏輯、持久化)和一個基礎表面(RESTful CRUD、無伺服器/邊緣、即時、事件驅動微服務或代理表面)。「代理表面」是附加的,可以疊加在基礎表面上,適用於 LLM/代理系統。該技能強調「檢索優先」以避免過時的框架程式碼,要求先查閱官方文件再產生程式碼。它還定義了嚴格的邊界,不處理架構決策(委派給「architecture」技能)或部署/監控(委派給「operate」技能)。完成需要一個「證明有效」的驗證循環(lint、遷移、測試、端點命中、差異審查)和一個用於無縫交接給下游技能的 `handoff.yaml` 工件。

相容平台~Claude Code~Codex CLI✓Cursor✓Antigravity
npx skills add gabros20/backend-skill

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

後端工程

使命與邊界

實作合約背後的生產伺服器 — API、領域邏輯、OLTP 持久化、認證/授權、非同步工作、快取、安全控制、外部整合,以及證明其運作的測試。擁有執行中的伺服器:既定形狀內部的實作工藝,而非形狀本身。

擁有程式碼,而非其背後的決策。與 architecture(邊界、合約形狀、NFR 預算、威脅模型)以及 frontend/data/ai/operate/quality 的界線詳列於下方的不變量中;使用它們的產出物並在它們內部實作,而非覆寫。單獨呼叫時獨立操作;當存在相容的上游產出物(解決方案架構文件、合約、NFR 預算、威脅模型、handoff.yaml)時,應基於它們進行建置,而非重新推導。在有用時推薦相鄰技能;絕不自動呼叫它們,除非使用者明確要求組合工作流程。

先路由再行動

  1. 挑選請求所需的一個主要作業(下方至少一行 — 大多數請求只有一個;說出其名稱)。
  2. 加入最多一個基礎表面 — 執行時期/系統類型會重塑每個作業的應用方式。
  3. 代理疊層是可加的。 當系統也是 LLM/代理系統時,將 surface-agentic 堆疊在所選的基礎表面之上 — 它不會取代基礎表面。無伺服器代理後端是 surface-serverless-edge + surface-agentic;即時後端則再加上 surface-realtime。
  4. 檢索優先: 在產生任何框架/ORM/資料庫特定程式碼之前,先擷取目標版本的當前官方文件/型別 — 後端經常發布破壞性變更(請參閱不變量)。
  5. 在產出受影響的工件之前,完整閱讀每個選定的參考資料。每次最多載入 2–3 個;絕不預先載入整個套件。

主要作業(選擇一個)

使用者意圖閱讀貢獻
在合約後方建置/搭建/擴充端點、處理器、路由器、解析器或 RPC 方法;選擇 REST/GraphQL/gRPC/tRPC;設定分頁、版本控制、錯誤格式api-implementation傳輸選擇、請求生命週期接線、單一來源 schema、統一錯誤格式、游標分頁、程式碼內版本控制
新增/重構業務邏輯、服務或用例層、或領域模型;應用 DDD 戰術 / 整潔 / 六角形架構;防止規則洩漏到處理器中domain-logic分層的領域/應用/基礎結構、聚合/實體/值物件、反貧血檢驗、依賴規則
設計 schema/索引、選擇 ORM vs 原生 SQL、撰寫遷移、正確處理交易/隔離、調整連線池大小、消滅 N+1、或進一步發揮 Postgres 功能persistenceSchema+索引+擴張/收縮遷移、隔離層級決策、符合執行時期的連線池、資料庫授權標記
新增登入/註冊/工作階段、保護路由、新增 OAuth/SSO/「使用 X 登入」、儲存密碼、或決定誰能做什麼authSession-vs-JWT 決策、OAuth2/OIDC+PKCE 流程、Argon2id 配置、RBAC/ABAC/ReBAC 模型 + 函式庫選擇
背景任務、佇列、工作者、事件驅動服務、發佈/訂閱、CDC、Outbox、Saga、冪等性、傳遞語意、或持久化工作流程 (Temporal/Hatchet)async-and-messagingBroker/佇列選擇、冪等性金鑰路徑、交易性 outbox、Saga+補償、傳遞立場、持久化執行決策
新增快取並使其失效、實作速率限制、或診斷慢速端點/查詢caching-and-performance根據過時/損失容忍度的快取策略、失效機制、分散式正確的權杖桶、已測量的瓶頸 + 修正
保護 API、新增安全標頭、修正 CORS、防止注入、儲存機密、新增 CSRF/mTLS — 實作威脅模型的控制項server-security統一的 OWASP 控制項表格(控制項→實作→驗證)附帶自我稽核計數,對應至 Top 10:2021 / ASVS
呼叫第三方 API、接收/傳遞 Webhook、新增 gRPC/HTTP 客戶端、調整斷路器、或整合付款/AI/電子郵件提供者service-integration彈性客戶端包裝器(重試機制重複使用非同步 + 斷路器)、經過驗證的冪等 Webhook 進/出
撰寫/執行/修正後端測試,或「證明這個能運作」 — 單元 / 整合 (testcontainers) / 生產者合約 + 可執行的驗證循環backend-testing分層測試套件、真實依賴的整合測試、合約生產者檢查、✓/✗ 驗證報告

表面疊層(最多加入一個基礎表面)

選擇一個與執行時期/系統類型相符的基礎表面;surface-agentic 會可加地堆疊在其之上(上述步驟 3)。表面重塑了作業的應用方式 — 它們指向作業參考資料,不會重新定義它們。

系統類型閱讀重塑方式
標準長時間執行的請求/回應服務 — 模組化單體或少數服務、HTTP + 關聯式儲存(預設/後備方案)surface-rest-crud關注點範圍模型選擇、配接器隔離執行時期接縫、各語言慣用語法、12-factor 模板
無伺服器 / 邊緣 — Workers、Lambda、Bun-edge、Vercel/Netlify 函式;冷啟動、縮減至零、每次呼叫計費surface-serverless-edge無狀態性、連線池失敗模式(交易模式池化或 HTTP 原生驅動程式)、D1/KV/R2/Durable-Objects 對應
即時 — WebSocket/SSE/發佈-訂閱、有狀態連線、在線狀態、房間;聊天、協作、即時儀表板、多人遊戲surface-realtimeSSE-vs-WS 傳輸、每個連線/房間的 Actor、在線狀態抽象、每則訊息可靠性、扇出/擴展
事件驅動微服務 — 透過 gRPC + 事件骨幹 (Kafka/NATS) 獨立部署的多語言服務、服務網格surface-event-driven-microservices模組化單體優先閘道、每個服務擁有資料庫的後果 (saga/CQRS)、服務間合約演進、同步-vs-非同步分類
代理 ⭐ — 服務 LLM/代理系統的後端:工具/MCP 端點、RAG 管道、代理可讀的合約。可加的 — 疊加在基礎表面之上,不會取代它。surface-agentic預設使用持久化執行作為控制平面、工具/MCP 端點、代理可讀的型別化合約 + 錯誤、RAG 管道(非核心)、代理範圍的短期權杖

交接

當預期有下游建置/驗證工作時(operate 將部署/監控、quality 將獨立驗證、frontend 正在根據相同合約編寫程式碼),請閱讀 handoff 並輸出 handoff.yaml 配套檔案。對於沒有下游會讀取的獨立請求,則跳過此步驟。

通用不變量

  • 在決策內部實作。 擁有執行中的伺服器,而非要建置什麼及其原因、其驗收標準或優先順序(→ product)、邊界/合約形狀/NFR 預算/威脅模型決策(→ architecture)、OLAP/管道(→ data)、LLM/代理核心(→ ai)、部署/CI/監控(→ operate)、獨立的負載測試/掃描/閘道(→ quality)、或跨越您無法部署到的廠商的業務流程(→ automation)。取用上游產出物;當它們不存在時(獨立執行),明確指出而非憑空發明合約或威脅模型來填補空白。
  • 您的基底是您能控制的。 async-and-messaging 的 saga、冪等性和 outbox 假設另一個參與者是您自己的服務,或是您可以對其進行去重的 webhook。當參與者是不透明、不可程式化且部分人為的 — 因為廠商沒有取消發送功能而無法復原、憑證在整個廠商陣列中過期、人為核准步驟、或只有針對廠商自身狀態的協調循環才能捕捉到的漂移 — 那就是 automation。這裡的原則仍然適用;圍繞它們的操作紀律則是屬於它們的。
  • 檢索優先 / 抗過時。 後端框架/ORM/資料庫經常發布破壞性變更(Prisma 7、Drizzle 0.x→1.0、Go 1.22 路由、Kafka 4.0 僅 KRaft、Redis 授權、PG19)。在產生任何框架/ORM/資料庫特定程式碼之前,先擷取目標版本的當前官方文件/型別,並將慣用語法版本門控到目標發行版 — 絕不依賴記憶中的 API 來處理快速變動的目標。
  • 預設堆疊,然後偏離。 為每個堆疊命名當前慣用的預設值,但每個建議都是一個具體選擇 + 不要建置什麼 + 取捨,並根據可逆性加權。錨定基本原則(先 SQL 再 ORM、先模組化單體、至少一次 + 冪等消費者、參數化查詢)。採用數字是參與度,並非金科玉律 — 不要追逐潮流。每次處理限制在 3–5 個決策。
  • 詳盡的檢查清單使用統一的表格 + 自我稽核計數,絕不使用敘述式說明。 對於任何「涵蓋 N 個控制項/項目」的任務(OWASP 控制項、API 合約審查、12-factor 稽核、ASVS 對應),為每個項目填入一行,並在宣告完成前計算涵蓋的行數與總數 — 單一敘述式說明總是會遺漏行數。
  • 證明它有效才算完成。 將驗證循環(lint → migrate → test → hit endpoint → diff-review)作為完成閘道送出,並回報每個階段的 ✓/✗ — 這與 quality 的獨立閘道不同;絕不憑記憶斷言。
  • 區分事實、決策、假設和提議。 保留上游決策和使用者約束,或明確標記衝突;偏好使用儲存庫和工件證據而非通用預設值;將未知項標記為 TBD 而非憑空發明一個值。

核心工作流程

  1. 檢查請求、程式碼庫以及任何上游工件(合約、NFR 預算、威脅模型、ADR、handoff.yaml);記錄重要假設和未解決的輸入及其負責人。
  2. 路由(見上方):一個主要作業、≤1 個基礎表面、如果呼叫者是代理則可加地堆疊 surface-agentic。在任何框架/ORM/資料庫程式碼之前先檢索;完整閱讀選定的參考資料。
  3. 產出基於參考資料所命名的框架的工件 — 具體選擇 + 不要什麼 + 取捨,每次處理限制在 3–5 個決策。
  4. 執行「證明有效」的驗證循環(每個階段 ✓/✗);當預期有下游建置/驗證工作時,輸出 handoff.yaml。

工件合約

每個參考資料定義其自身的工件 — 一個運作中的實作以及其背後的決策記錄。每個後端工件都必須記錄:所做的決策和考慮過的選項;所接受的取捨;區分的事實/決策/假設;以及對於任何框架/ORM/資料庫特定的程式碼,需確認已檢查過目標版本的當前文件。詳盡涵蓋範圍的工件(OWASP 控制項、API 審查、12-factor)是一個帶有自我稽核計數的統一表格,絕非敘述式說明。一個完整的後端處理會產出最多五種工件 — 執行中的服務、已實作的合約、其自身的測試、遙測鉤子,以及 assets/ 中的可填寫檢查清單 — 加上機器可讀的 handoff.yaml 配套檔案(每當預期有下游工作時);請參閱 handoff。

完成與交接

完成前:

  • 確認每個請求的工件都存在且其驗收標準是可檢查的。
  • 確認「證明有效」的循環確實已執行(每個階段 ✓/✗),而非僅是斷言。
  • 確認每個詳盡檢查清單工件都是一個帶有自我稽核計數的表格,而非敘述式說明。
  • 記錄決策、假設、風險和未解決的問題,並指定負責人。
  • 當預期有下游建置/驗證工作時,輸出 handoff.yaml 配套檔案,其中包含工件路徑、決策、約束、風險,以及建議的下一個技能 — 並且,如果使用了威脅模型,則需說明後端實作的控制項與品質驗證的控制項之間的邊界。絕不靜默地呼叫建置技能;在 recommended_next 中指名它。

資源

只載入所選路由需要的項目;絕不預先載入。上方的路由表格命名了每個參考資料的貢獻 — 這是索引。

  • 主要作業 (references/): api-implementation · domain-logic · persistence · auth · async-and-messaging · caching-and-performance · server-security · service-integration · backend-testing.
  • 表面疊層 (references/): surface-rest-crud (預設) · surface-serverless-edge · surface-realtime · surface-event-driven-microservices · surface-agentic ⭐ (可加).
  • 管道: handoff — 獨立 vs 管道行為,以及由 operate、quality、frontend、data 和 ai 使用的 handoff.yaml 配套檔案。
  • 資產 (assets/): 後端服務模板 (12-factor) · 零停機遷移檢查清單 · 認證實作檢查清單 · OWASP 後端控制項檢查清單 · 冪等性與 outbox 配方 · API 合約審查檢查清單 · 驗證循環模板 · handoff.yaml 信封。

相關技能