← ClaudeAtlas

discover-triage-urlslisted

从一个散落着接口调用的前端/后端项目里,发现并摘取「核心业务链路」的接口 url,产出一份带中文注释的 url 清单(== urls.js 的形态),作为 onboard-triage-domain 的输入。当用户要"从项目里把核心链路的 url 摘出来""分析项目主要链路生成接口清单""接口散落在很多地方,先提取再接入 error-triage"时使用。输入是一个项目路径 + 团队名,输出是一份供人工确认的 url 清单文件;确认后再交给 onboard-triage-domain 生成 rules/prompts。**支持增量/sync 模式**:当项目后续新增接口、用户要"同步/更新 url 清单""项目加了新接口怎么办""增量更新 triage 清单"时,用 sync 模式只分类新增项,不重扫全量(省 token)。
osren/interview-flashcard · ★ 2 · AI & Automation · score 54
Install: claude install-skill osren/interview-flashcard
# 从项目里摘取核心链路 url 清单 把一个**接口散落在很多地方**的项目,转成一份 `onboard-triage-domain` 能直接吃的 url 清单: `<team>-urls.js`(urls.js 形态:按业务链路分组的注释 + `export const NAME = '/path'`)。 **本 skill 只产出「中间物 = url 清单」,不生成 rules.js / prompts,也不碰 error-triage 引擎。** 清单必须经用户人工确认���才交给下游 `onboard-triage-domain`。切分清楚,坏味道拦在中间。 设计参照 `src/plugins/error-triage/domains/train/rules.js` 与项目根的 `urls.js`(人工维护的清单范本,注意它每条 url 都带一句中文注释——那正是我们要还原的语义)。 ## 0. 先确认输入 + 判定模式(缺了就问用户) - **团队/业务名**(kebab-case,如 `hotel`、`flight`;用于输出文件名和下游 DOMAIN)。 - **项目路径**:要分析的代码库根目录。 - (可选)**已知的自有前缀**:用户若知道(如 `/esapp/`)先记下,否则第 1 步侦察时推断。 **判定模式**: - 若 `<team>-urls.js` **不存在** → **全量模式**(走第 1–5 步,首次接入)。 - 若 `<team>-urls.js` **已存在**(项目后续新增接口、要同步)→ **增量/sync 模式**(跳到「增量 / sync 模式」一节,只处理 delta,省 token)。 ## 1. 侦察:先探技术栈,再套对应 playbook(不能跳) **不要假设项目是 JS 前端。** 先花几分钟判断技术栈,再选匹配的抽取 playbook——不同栈里 url 的落法天差地别,套错 playbook 会大面积漏。 **第一步先判栈**(看 `package.json` / `pom.xml` / `go.mod` / `build.gradle` / `Podfile` / `pubspec.yaml` / 目录结构): | ��术栈 | url 主要落在哪 | 首选来源 | |---|---|---| | **JS/TS 前端**(含 mpx/小程序/RN) | 请求调用内联 `$http/axios/fetch(...)`、集中常量 `urls.js`、`base+相对路径`拼接 | grep 字符串字面量 + Explore 补读 | | **原生 App**(Android/iOS/Flutter) | Retrofit/OkHttp 注解、`URLSession`/Alamofire、Dart 常量;也可能从远端配置下发 | 注解/常量 grep;下发式则找配置源 | | **后端服务**(Java/Go/Node) | 路由注册/注解 `@RequestMapping`/`router.post('/x')` | **优先读网关注册表 / OpenAPI,而非 grep 代码** | | **有 OpenAPI/Swagger/proto** | `openapi.yaml` / `.proto` / 接口文档 | **直接解析规范文件——最权威、最全,优先于一切 grep** | > **原则:有权威接口清单(网关注册表、OpenAPI、proto)