← ClaudeAtlas

ones-parserlisted

解析 ONES 项目管理平台(ones.com、ones.yourcompany.com 等)复制出来的工单内容——识别工单 ID(PRO-/WIKI-/TASK-/BUG- 等前缀)、标题与链接,输出结构化结果供对话使用或 commit 引用。当对话中出现 ONES 链接、ONES 工单粘贴内容、"PRO-xxx"、"WIKI-xxx" 等 ONES 单号标识时使用。
fongzhizhi/claude-skill-lab · ★ 1 · Data & Documents · score 77
Install: claude install-skill fongzhizhi/claude-skill-lab
# ones-parser 解析用户粘贴的 ONES 工单内容(需求 / 文档 / 任务 / 缺陷等),输出规范的结构化结果,作为对话上下文或 commit 引用的**单一事实来源**。本 skill 只做文本解析,**不发起任何网络请求**,也不编造链接之��的信息。 ## 已知的 ONES 复制格式 ONES 复制出来的内容有几种变体,都可能出现: | 变体 | 示例 | | ---- | ---- | | 单行:`ID 标题 链接` | `PRO-156328 【需求测试】切换到自定义单还未选择参考点的模式下,在左侧区域按钮没有置灰 http://ones.com/project/#/team/Tkdsads78/issue/PRO-156328` | | 单行,多空格分隔 | `WIKI-2048 用户权限管理模块设计方案 https://ones.yourcompany.com/wiki/#/team/Tkdsads78/space/Sp3c3Id/page/Page1234` | | 两行:`ID 标题` 换行 `链接` | `PRO-156328 【需求测试】...` 换行 `http://ones.com/...` | | Markdown 链接 | `[PRO-156328 【需求测试】...](http://ones.com/project/#/team/Tkdsads78/issue/PRO-156328)` | 链接结构(hash 路由): ```text http(s)://<域名>/project/#/team/<TeamId>/issue/<工单ID> # 项目内单(需求/任务/缺陷等) http(s)://<域名>/wiki/#/team/<TeamId>/space/<SpaceId>/page/<PageId> # 知识库页面 ``` - `<TeamId>`(如 `Tkdsads78`)是 base62 团队标识,**冗余信息**,不是工单号。 - 真正的工单 ID(如 `PRO-156328`、`WIKI-2048`、`Page1234`)在 hash 末尾。 ## 解析规则 ### 1. 以链接为唯一可信锚点 - 从链接 hash 末尾提取正式工单 ID(`PRO-156328`、`WIKI-2048` 等)。 - 链接与 ID 不一致时(如用户手改过标题行),**以链接为准**。 - 链接缺失时:仅当文本中出现 `[A-Z]+-\d+` 形态的 ONES 单号标识,才作为 ID 候选,并标注"来源为文本而非链接"。 ### 2. 标题提取 - **单行格式**:取 ID(或前缀)之后、链接之前的整段文本为标题(标题可含空格、`【】`、`#` 等任意字符)。 - **两行格式**:取 ID 行去掉 ID 前缀后的部分为标题。 - **Markdown 链接格式**:取链接文本(`[...]` 内)为标题。 - 链接前若紧跟标点(句号、逗号)或聊天工具补充的字符,从标题中剔除。 - 标题为空或解析不到时,标题字段留空并说明,**不要猜测**。 - **不分析单类型**:ONES ID 前缀(PRO/WIKI/TASK 等)无法可靠区分单是需求、缺陷还是其他类型,解析结果不输出类型字段,也不臆测。 ### 3. 容忍变体 - 分隔符:单空格、多空格、制表符均可。 - 同行 / 换行均可,甚至 ID、标题、链接部分丢失也要尽力解析出能确定的字段。 - 同一段文本