create-api
指导在前端项目中按团队规范创建和维护接口请求层,涵盖统一请求客户端、业务 API 文件、类型组织、错误处理、mock 过渡与 React 使用边界。当前端需要新增或重构接口时使用本技能。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
指导在前端项目中按团队规范创建和维护接口请求层,涵盖统一请求客户端、业务 API 文件、类型组织、错误处理、mock 过渡与 React 使用边界。当前端需要新增或重构接口时使用本技能。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
检查 .agents 下 rules、skills、README 与模板基线依赖的一致性,避免规则漂移、悬空引用和 React 能力越界。修改或新增 .agents 内容时使用本技能。
指导在前端项目中按团队规范创建和维护 React 组件,涵盖通用组件与页面级组件的边界、目录结构、样式隔离、类型设计与导出策略。当前端需要新增、拆分或沉淀组件时使用本技能。
指导在前端项目中按团队规范创建和维护路由(React Router Data Router),涵盖路由单源、页面目录、路由模块注册、懒加载、标题与守卫等约束。当前端需要新增或重构页面路由时使用本技能。
指导在前端项目中按团队规范使用 Zustand 创建和维护全局状态 store,包括目录结构、命名与持久化策略。当前端需要新增或重构状态管理时使用本技能。
指导在前端项目中正确使用 Ant Design 与自定义主题 CSS 变量,避免硬编码颜色并保证暗色/浅色主题切换一致性。当前端编写或修改样式时使用本技能。
React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.
| name | create-api |
| description | 指导在前端项目中按团队规范创建和维护接口请求层,涵盖统一请求客户端、业务 API 文件、类型组织、错误处理、mock 过渡与 React 使用边界。当前端需要新增或重构接口时使用本技能。 |
src/http/,类型位于 src/types/当你需要:
请使用本技能,并同时遵守:
.agents/rules/03-项目结构.md.agents/rules/05-API规范.mdsrc/http/client.ts 或等价统一客户端,避免重复发明本模板统一采用:
src/
├── http/
│ ├── client.ts
│ └── <domain>.ts
└── types/
└── <domain>/
├── api.ts
├── model.ts
└── index.ts
说明:
src/http/client.ts:统一请求客户端(若项目采用 axios,则由 axios 客户端承载)src/http/<domain>.ts:按业务域聚合接口函数src/types/<domain>/api.ts:接口 DTO 类型src/types/<domain>/model.ts:实体模型类型先在 src/types/<domain>/ 中定义类型:
api.ts:请求参数、响应体model.ts:页面消费的实体模型index.ts:对外导出示例:
export interface GetUserDetailParams {
userId: string;
}
export interface GetUserDetailResponse {
id: string;
name: string;
}
若项目尚未提供 src/http/client.ts,先创建统一客户端,负责:
baseURLtimeout业务代码不得重复拼接通用请求头或重复写鉴权逻辑。若项目已声明 axios,可按 axios 客户端实现;否则沿用项目现有请求方案实现等价能力。
示例:
import { client } from './client';
import type { GetUserDetailParams, GetUserDetailResponse } from '@/types/user';
export async function getUserDetail(params: GetUserDetailParams) {
return client.get<GetUserDetailResponse>('/users/detail', { params });
}
上例仅在项目已明确采用 axios 或兼容泛型
get接口的客户端时适用;若客户端 API 不同,应按现有统一请求层适配。
命名规则:
getXxxListgetXxxDetailcreateXxxupdateXxxdeleteXxx禁止使用 fetchXxx 作为业务接口函数名。
若接口未就绪:
src/http/<domain>.ts 中提供 mock 数据与模拟请求函数src/types/<domain>/src/http/ 或自定义 hookssrc/http/client.ts 统一客户端src/http/<domain>.tssrc/types/<domain>/api.tsget/create/update/delete 规则axiossrc/http/<domain>.ts 中收敛 mock,并在说明中标记后续需统一客户端create-proposal:提案中若涉及接口改动,可引用本技能create-store:仅当接口结果确实需要作为客户端共享状态时,才进一步进入 store