sc-java-to-ts-interface

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

将后端 Java 接口文档转换为前端 TypeScript 类型定义(interface / type)。输入:飞书文档、Spring Boot 接口文档、Swagger/OpenAPI、手写 API 文档等。输出:包含请求参数与响应结果的 .md 文件,含完整 JSDoc 注释。触发关键词:Java 转 TS、接口转换、生成前端类型、接口文档转 TypeScript、DTO/VO/BO 转 interface、后端文档转前端类型、生成接口类型、类型定义生成。

一句话选型结论

按资料字段整理

sc-java-to-ts-interface是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_1d8afadc/sc-java-to-ts-interface
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_1d8afadc仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791733254
正文体量6.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
sc-java-to-ts-interface当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

6.2 KB
模型实际读到的说明书原文,来自技能仓库

后端 Java 接口 → 前端 TypeScript 接口生成

工作流程

  1. 解析输入:识别接口名称、地址、请求方式、请求参数(区分 Header/Body/Query/Path)、响应结构
  2. 过滤参数:排除 Header 注入参数(LoginUser、userId、token 等网关/拦截器注入字段)
  3. 类型转换:按类型映射表将 Java 类型转为 TypeScript 类型
  4. 递归展开:嵌套 BO/VO/DTO 对象递归生成独立 interface
  5. 组装输出:按固定格式输出接口概览 + TypeScript 代码块
  6. 标注疑问:信息不完整或有歧义时,在末尾以 > ⚠️ 注意: 列出

类型映射

Java 类型 TypeScript 类型 备注
String / char / Character / UUID string
int / Integer / short / Short / byte / Byte number
long / Long number 超大数值(如雪花 ID)用 string
float / Float / double / Double / BigDecimal number 高精度金额场景用 string
boolean / Boolean boolean
List<T> / Set<T> / Collection<T> / T[] T[]
Map<String, V> / HashMap<String, V> Record<string, V>
Date / LocalDateTime / LocalDate / Instant / ZonedDateTime string 注释标注日期格式
byte[] / MultipartFile File 文件上传场景
Object / JSONObject / JsonNode Record<string, unknown>
Optional<T> 映射为 T 并标记 ?
void / Void — 响应 result 为 null
自定义 BO / VO / DTO 生成对应 interface 保留后端原始命名
枚举类 联合类型或 enum 注释中列出所有枚举值

泛型包装处理

后端包装类型 展开方式
R<T> / Result<T> / Response<T> 使用项目通用 ApiResponse<T>,不重复定义
PageResult<T> / IPage<T> / Page<T> 见分页模板

分页响应模板:

interface XxxPageResultBO {
  /** 总记录数 */
  total: number;
  /** 数据列表 */
  result: XxxItemBO[];
}

参数处理

参数位置 处理方式
Header(LoginUser、userId、token 等) 忽略,不出现在请求类型中
Body 生成 {接口名}RequestBody
Query 生成 {接口名}RequestParams
Path 在地址中以 {param} 标注,在请求类型中单独体现
FormData / MultipartFile 生成 {接口名}RequestBody,文件字段类型为 File

响应处理:
- 外层统一使用 ApiResponse<T>(项目已有),不逐个生成
- result 实际类型单独定义为 interface

命名规范

类型 命名格式 示例
请求体 {接口名}RequestBody ClaimCreditRequestBody
查询参数 {接口名}RequestParams ListVideoRequestParams
响应结果 {接口名}ResultBO ClaimCreditResultBO
分页结果 {接口名}PageResultBO ListVideoPageResultBO
嵌套对象 保留后端原始命名 ClaimDetailBO

注释规范

  • 每个字段使用 JSDoc /** ... */,内容来源于后端文档参数说明
  • 可选字段用 ? 标记,必填字段不加
  • 枚举值完整列出:/** 奖励类型: BASIC_RETURN / DOUBLE_RETURN */
  • 日期格式标注:/** 过期时间,格式: yyyy-MM-dd HH:mm:ss */

输出格式

输出为一个 .md 文件,包含所有接口的完整定义。多个接口之间用 --- 分隔。

文件命名规则: {飞书文档标题}-接口类型.md,文档标题从飞书文档中提取。

单个接口结构模板

**接口名称**

- **接口地址:** `/xxx/xxx`
- **请求方式:** `POST`
- **接口描述:** 一句话概括接口功能
- **请求参数:**

(TypeScript 代码块:请求相关类型)

- **响应结果:**

(TypeScript 代码块:响应相关类型)

规则说明

  1. 标题使用 **接口名称** 加粗文本,不使用 # 标题
  2. 接口地址、请求方式、接口描述为列表项
  3. 请求参数 和 响应结果 各自独立一个 TypeScript 代码块
  4. 请求参数代码块包含:嵌套子对象(请求侧) + 请求类型
  5. 响应结果代码块包含:嵌套子对象(响应侧) + 响应结果类型
  6. 无请求参数时,省略「请求参数」及其代码块
  7. 每个 interface 之间空一行
  8. 所有接口输出到同一个 .md 文件中,文件名由用户指定或根据模块名自动生成

禁止包含:装饰性分隔注释、ApiResponse<T> 定义。

项目中已有的通用类型:

interface ApiResponse<T> {
  code: number;
  message: string;
  result: T;
}

质量要求

  1. 不遗漏后端文档中的任何字段
  2. 字段名与后端完全一致,不擅自重命名
  3. 枚举值必须在注释中完整列出
  4. 日期/金额等格式化字段必须在注释中标注格式
  5. 接口描述总结为一句话,简明扼要
  6. 输出不得包含表格,所有信息使用列表或代码块
  7. 信息不完整或有歧义时,在末尾以 > ⚠️ 注意: 列出疑问点

边界情况处理

场景 处理方式
嵌套泛型(如 List<Map<String, Object>>) 展开为 Record<string, unknown>[]
继承关系(如 extends BaseDTO) 将父类字段合并到当前 interface
同名但不同模块的类型 加模块前缀区分
字段可选性不明确 默认必填,并在疑问点中标注
响应为纯数组(非分页) result 类型为 XxxItemBO[]
无请求参数 不生成请求类型
多种 Content-Type 按实际类型生成,multipart/form-data 中文件字段用 File

完整示例

详见 examples.md

常见问题

5 问
答案由本站依据条目字段整理
sc-java-to-ts-interface怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_1d8afadc/sc-java-to-ts-interface。安装方式为未标注。装完刷新技能列表或重开客户端。

sc-java-to-ts-interface支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

sc-java-to-ts-interface权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

sc-java-to-ts-interface收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

sc-java-to-ts-interface用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。