该技能用于设计、评审或修改 SvelteKit 路由架构,固定仓库内的职责分离判断标准,属于设计规约而非官方 API 参考。涉及文件规约、load、actions、server-only modules 时先查阅 kf-g-sveltekit-docs;涉及 .svelte 组件或 Svelte 5 写法时参考 svelte-core-bestpractices;涉及 CSS 布局或 UI 术语边界时配合相应 CSS 或设计系统技能。
核心职责划分:+page.svelte 作为 View,负责数据展示、用户操作检测和局部 UI 状态,不写 API 通信、数据库访问、认证判断、长计算和业务规则;+page.server.ts 作为 Controller,负责 load、actions、接收 params/locals/request/formData、最小输入校验与类型转换、调用 $lib/server 服务、redirect/error/fail 及返回数据薄整形,不直写 SQL/ORM 查询、外部 API 客户端、业务判断和跨路由复用逻辑;$lib/server/ 作为服务端 Model/Service,放置数据库仓储、外部 API 客户端、认证授权、业务规则、增删改与事务、跨路由用例,典型结构如 src/lib/server/<domain>/service.ts、repository.ts、schema.ts 和 src/lib/server/<provider>/client.ts。
判断标准:需要单元测试的处理、跨路由复用的处理,以及读取数据库、外部 API、private env 或认证状态的处理,优先放入 $lib/server。仅单路由使用的小型 server-only 辅助可放同级 *.server.ts,长大后再迁移。组件按使用范围放置:仅本路由使用的组件放在 src/routes/<route>/ 下(数量多时用 components/ 子目录),多路由复用的通用组件放在 src/lib/components/(可按组分子目录)。依赖方向保持单向:+page.svelte → 路由局部组件 → $lib/components;+page.server.ts → $lib/server/<domain> → 数据库/外部 API/认证/领域规则。避免共享组件依赖路由局部组件。
适用场景包括新页面架构设计、+page.svelte 与 +page.server.ts 职责划分、load/actions 处理量判断、DB 与外部 API 及认证逻辑归属、组件放置和既有代码职责混线评审。限制:本技能只判断实现层职责分离,官方规格以参考源为准,不凭记忆断定 SvelteKit 规格;小页面优先薄 controller 加明确 service 函数,避免过度抽象;已有目录结构应予尊重。具体版本、许可与安装方式暂未提供。