From 86308675eab21dd20328d3b1fe3352e27d9c1ad5 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Thu, 12 Feb 2026 17:57:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80skill=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .opencode/skills/js-runner | 1 - .opencode/skills/python-runner | 1 - .../.openspec.yaml | 0 .../design.md | 10 ++--- .../proposal.md | 8 ++-- .../specs/uv-python-runner/spec.md | 2 +- .../tasks.md | 12 +++--- .../archive/2026-02-05-js-runner/proposal.md | 32 ---------------- .../.openspec.yaml | 0 .../design.md | 22 +++++------ .../2026-02-05-lyxy-runner-js/proposal.md | 32 ++++++++++++++++ .../specs/lyxy-runner-js}/spec.md | 8 ++-- .../tasks.md | 16 ++++---- .../proposal.md | 27 ------------- .../.openspec.yaml | 0 .../design.md | 10 ++--- .../proposal.md | 27 +++++++++++++ .../specs/lyxy-runner-js}/spec.md | 2 +- .../tasks.md | 2 +- .../.openspec.yaml | 0 .../design.md | 2 +- .../proposal.md | 6 +-- .../specs/uv-python-runner/spec.md | 2 +- .../specs/uv-run-with-syntax/spec.md | 0 .../tasks.md | 2 +- .../.openspec.yaml | 0 .../design.md | 30 +++++++-------- .../proposal.md | 6 +-- .../specs/docx-text-extraction/spec.md | 18 ++++----- .../tasks.md | 6 +-- openspec/specs/docx-text-extraction/spec.md | 18 ++++----- .../{js-runner => lyxy-runner-js}/spec.md | 12 +++--- .../spec.md | 2 +- .../SKILL.md | 38 +++++++++---------- .../docx_parser.md | 0 .../scripts/docx_parser.py | 0 skills/{js-runner => lyxy-runner-js}/SKILL.md | 26 ++++++------- .../scripts/get_temp_path.js | 2 +- .../SKILL.md | 2 +- .../scripts/get_temp_path.py | 0 40 files changed, 191 insertions(+), 193 deletions(-) delete mode 120000 .opencode/skills/js-runner delete mode 120000 .opencode/skills/python-runner rename openspec/changes/archive/{2026-02-04-python-runner => 2026-02-04-lyxy-runner-python}/.openspec.yaml (100%) rename openspec/changes/archive/{2026-02-04-python-runner => 2026-02-04-lyxy-runner-python}/design.md (94%) rename openspec/changes/archive/{2026-02-04-python-runner => 2026-02-04-lyxy-runner-python}/proposal.md (70%) rename openspec/changes/archive/{2026-02-04-python-runner => 2026-02-04-lyxy-runner-python}/specs/uv-python-runner/spec.md (96%) rename openspec/changes/archive/{2026-02-04-python-runner => 2026-02-04-lyxy-runner-python}/tasks.md (88%) delete mode 100644 openspec/changes/archive/2026-02-05-js-runner/proposal.md rename openspec/changes/archive/{2026-02-05-js-runner => 2026-02-05-lyxy-runner-js}/.openspec.yaml (100%) rename openspec/changes/archive/{2026-02-05-js-runner => 2026-02-05-lyxy-runner-js}/design.md (84%) create mode 100644 openspec/changes/archive/2026-02-05-lyxy-runner-js/proposal.md rename openspec/changes/archive/{2026-02-05-js-runner/specs/js-runner => 2026-02-05-lyxy-runner-js/specs/lyxy-runner-js}/spec.md (94%) rename openspec/changes/archive/{2026-02-05-js-runner => 2026-02-05-lyxy-runner-js}/tasks.md (76%) delete mode 100644 openspec/changes/archive/2026-02-06-js-runner-custom-path/proposal.md rename openspec/changes/archive/{2026-02-06-js-runner-custom-path => 2026-02-06-lyxy-runner-js-custom-path}/.openspec.yaml (100%) rename openspec/changes/archive/{2026-02-06-js-runner-custom-path => 2026-02-06-lyxy-runner-js-custom-path}/design.md (86%) create mode 100644 openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/proposal.md rename openspec/changes/archive/{2026-02-06-js-runner-custom-path/specs/js-runner => 2026-02-06-lyxy-runner-js-custom-path/specs/lyxy-runner-js}/spec.md (95%) rename openspec/changes/archive/{2026-02-06-js-runner-custom-path => 2026-02-06-lyxy-runner-js-custom-path}/tasks.md (95%) rename openspec/changes/archive/{2026-02-06-optimize-python-runner-uv-syntax => 2026-02-06-optimize-lyxy-runner-python-uv-syntax}/.openspec.yaml (100%) rename openspec/changes/archive/{2026-02-06-optimize-python-runner-uv-syntax => 2026-02-06-optimize-lyxy-runner-python-uv-syntax}/design.md (96%) rename openspec/changes/archive/{2026-02-06-optimize-python-runner-uv-syntax => 2026-02-06-optimize-lyxy-runner-python-uv-syntax}/proposal.md (72%) rename openspec/changes/archive/{2026-02-06-optimize-python-runner-uv-syntax => 2026-02-06-optimize-lyxy-runner-python-uv-syntax}/specs/uv-python-runner/spec.md (97%) rename openspec/changes/archive/{2026-02-06-optimize-python-runner-uv-syntax => 2026-02-06-optimize-lyxy-runner-python-uv-syntax}/specs/uv-run-with-syntax/spec.md (100%) rename openspec/changes/archive/{2026-02-06-optimize-python-runner-uv-syntax => 2026-02-06-optimize-lyxy-runner-python-uv-syntax}/tasks.md (98%) rename openspec/changes/archive/{2026-02-12-develop-docx-reader-skill => 2026-02-12-develop-lyxy-reader-docx-skill}/.openspec.yaml (100%) rename openspec/changes/archive/{2026-02-12-develop-docx-reader-skill => 2026-02-12-develop-lyxy-reader-docx-skill}/design.md (73%) rename openspec/changes/archive/{2026-02-12-develop-docx-reader-skill => 2026-02-12-develop-lyxy-reader-docx-skill}/proposal.md (78%) rename openspec/changes/archive/{2026-02-12-develop-docx-reader-skill => 2026-02-12-develop-lyxy-reader-docx-skill}/specs/docx-text-extraction/spec.md (88%) rename openspec/changes/archive/{2026-02-12-develop-docx-reader-skill => 2026-02-12-develop-lyxy-reader-docx-skill}/tasks.md (81%) rename openspec/specs/{js-runner => lyxy-runner-js}/spec.md (92%) rename openspec/specs/{python-runner => lyxy-runner-python}/spec.md (97%) rename skills/{docx-reader => lyxy-reader-docx}/SKILL.md (84%) rename skills/{docx-reader => lyxy-reader-docx}/docx_parser.md (100%) rename skills/{docx-reader => lyxy-reader-docx}/scripts/docx_parser.py (100%) rename skills/{js-runner => lyxy-runner-js}/SKILL.md (90%) rename skills/{js-runner => lyxy-runner-js}/scripts/get_temp_path.js (81%) rename skills/{python-runner => lyxy-runner-python}/SKILL.md (99%) rename skills/{python-runner => lyxy-runner-python}/scripts/get_temp_path.py (100%) diff --git a/.opencode/skills/js-runner b/.opencode/skills/js-runner deleted file mode 120000 index 92bda1e..0000000 --- a/.opencode/skills/js-runner +++ /dev/null @@ -1 +0,0 @@ -../../skills/js-runner \ No newline at end of file diff --git a/.opencode/skills/python-runner b/.opencode/skills/python-runner deleted file mode 120000 index 21d2adb..0000000 --- a/.opencode/skills/python-runner +++ /dev/null @@ -1 +0,0 @@ -../../skills/python-runner \ No newline at end of file diff --git a/openspec/changes/archive/2026-02-04-python-runner/.openspec.yaml b/openspec/changes/archive/2026-02-04-lyxy-runner-python/.openspec.yaml similarity index 100% rename from openspec/changes/archive/2026-02-04-python-runner/.openspec.yaml rename to openspec/changes/archive/2026-02-04-lyxy-runner-python/.openspec.yaml diff --git a/openspec/changes/archive/2026-02-04-python-runner/design.md b/openspec/changes/archive/2026-02-04-lyxy-runner-python/design.md similarity index 94% rename from openspec/changes/archive/2026-02-04-python-runner/design.md rename to openspec/changes/archive/2026-02-04-lyxy-runner-python/design.md index ee0dba8..76b4986 100644 --- a/openspec/changes/archive/2026-02-04-python-runner/design.md +++ b/openspec/changes/archive/2026-02-04-lyxy-runner-python/design.md @@ -57,7 +57,7 @@ uv是Astral开发的快速Python包管理器,支持PEP 723内联元数据格 ### Decision 2: 使用辅助脚本实现跨平台临时目录 -**决策:** 创建`skills/python-runner/script/get_temp_path.py`辅助脚本,使用Python标准库的`tempfile`模块在系统临时目录中创建空的Python脚本文件,并返回脚本文件路径。**辅助脚本本身也使用uv run执行,保持一致性。** +**决策:** 创建`skills/lyxy-runner-python/script/get_temp_path.py`辅助脚本,使用Python标准库的`tempfile`模块在系统临时目录中创建空的Python脚本文件,并返回脚本文件路径。**辅助脚本本身也使用uv run执行,保持一致性。** **理由:** - `tempfile.gettempdir()`自动适配所有平台(Windows/macOS/Linux) @@ -72,7 +72,7 @@ uv是Astral开发的快速Python包管理器,支持PEP 723内联元数据格 - **功能**:在系统临时目录创建空的Python脚本文件,返回文件路径 - **无注释**:脚本只包含必要代码,没有文档字符串或注释 - **PEP 723格式**:包含空的依赖声明`# dependencies = []` -- **执行方式**:`uv run skills/python-runner/script/get_temp_path.py` +- **执行方式**:`uv run skills/lyxy-runner-python/script/get_temp_path.py` - **输出**:直接在stdout输出临时Python脚本文件的完整路径 - Linux/macOS: `/tmp/uv_script_xxx.py` - Windows: `C:\Users\\AppData\Local\Temp\uv_script_xxx.py` @@ -220,13 +220,13 @@ uv是Astral开发的快速Python包管理器,支持PEP 723内联元数据格 这是新skill的首次实现,不存在迁移问题。 **部署步骤:** -1. 创建skill目录:`skills/python-runner/` -2. 创建skill文件:`skills/python-runner/SKILL.md` +1. 创建skill目录:`skills/lyxy-runner-python/` +2. 创建skill文件:`skills/lyxy-runner-python/SKILL.md` 3. 编写skill内容(YAML元数据 + Markdown文档) 4. 测试skill是否可以被正确加载和触发 **回滚策略:** -- 如有问题,直接删除`skills/python-runner/`目录即可 +- 如有问题,直接删除`skills/lyxy-runner-python/`目录即可 - skill文件不影响系统或现有代码 ## Open Questions diff --git a/openspec/changes/archive/2026-02-04-python-runner/proposal.md b/openspec/changes/archive/2026-02-04-lyxy-runner-python/proposal.md similarity index 70% rename from openspec/changes/archive/2026-02-04-python-runner/proposal.md rename to openspec/changes/archive/2026-02-04-lyxy-runner-python/proposal.md index 1a33b43..dd9daa0 100644 --- a/openspec/changes/archive/2026-02-04-python-runner/proposal.md +++ b/openspec/changes/archive/2026-02-04-lyxy-runner-python/proposal.md @@ -9,9 +9,9 @@ ## What Changes -**注:** 实现时将技能名称从 `python-runner` 简化为 `python-runner`,以保持命名更通用和简洁,避免与未来可能的其他 Python runner 实现名称冲突。 +**注:** 实现时将技能名称从 `lyxy-runner-python` 简化为 `lyxy-runner-python`,以保持命名更通用和简洁,避免与未来可能的其他 Python runner 实现名称冲突。 -- 创建新的skill:`python-runner` (proposal中为 `python-runner`) +- 创建新的skill:`lyxy-runner-python` (proposal中为 `lyxy-runner-python`) - 指导大模型按照PEP 723规范编写Python脚本 - 提供临时文件创建和uv run执行的标准流程 - 严格错误处理模式 @@ -28,7 +28,7 @@ ### New Capabilities -- `python-runner`: 通用Python脚本执行工具,指导大模型使用uv的隔离环境特性来执行临时Python脚本,无需在系统环境预安装依赖。适用于数据处理、API交互、文件操作、科学计算等各种任务。 +- `lyxy-runner-python`: 通用Python脚本执行工具,指导大模型使用uv的隔离环境特性来执行临时Python脚本,无需在系统环境预安装依赖。适用于数据处理、API交互、文件操作、科学计算等各种任务。 ### Modified Capabilities @@ -36,7 +36,7 @@ ## Impact -- **代码影响**:新增skill文件 `skills/python-runner/SKILL.md` +- **代码影响**:新增skill文件 `skills/lyxy-runner-python/SKILL.md` - **依赖影响**:要求系统安装uv(https://docs.astral.sh/uv/) - **系统影响**:无(skill只提供指导,不直接修改系统) - **API影响**:无 diff --git a/openspec/changes/archive/2026-02-04-python-runner/specs/uv-python-runner/spec.md b/openspec/changes/archive/2026-02-04-lyxy-runner-python/specs/uv-python-runner/spec.md similarity index 96% rename from openspec/changes/archive/2026-02-04-python-runner/specs/uv-python-runner/spec.md rename to openspec/changes/archive/2026-02-04-lyxy-runner-python/specs/uv-python-runner/spec.md index e913b10..ac98462 100644 --- a/openspec/changes/archive/2026-02-04-python-runner/specs/uv-python-runner/spec.md +++ b/openspec/changes/archive/2026-02-04-lyxy-runner-python/specs/uv-python-runner/spec.md @@ -36,7 +36,7 @@ Skill SHALL指导LLM在系统临时目录中创建临时Python文件,并使用 ### 需求:跨平台临时目录支持 -Skill SHALL使用`skills/python-runner/script/get_temp_path.py`辅助脚本来获取平台特定的临时目录。Skill SHALL在创建临时Python文件之前,先调用此辅助脚本获取临时目录路径。Skill SHALL支持Windows、macOS、Linux三个平台。 +Skill SHALL使用`skills/lyxy-runner-python/script/get_temp_path.py`辅助脚本来获取平台特定的临时目录。Skill SHALL在创建临时Python文件之前,先调用此辅助脚本获取临时目录路径。Skill SHALL支持Windows、macOS、Linux三个平台。 #### 场景:获取临时目录路径 - **WHEN** LLM需要为Python脚本创建临时文件 diff --git a/openspec/changes/archive/2026-02-04-python-runner/tasks.md b/openspec/changes/archive/2026-02-04-lyxy-runner-python/tasks.md similarity index 88% rename from openspec/changes/archive/2026-02-04-python-runner/tasks.md rename to openspec/changes/archive/2026-02-04-lyxy-runner-python/tasks.md index 9cbf6d9..c5924e3 100644 --- a/openspec/changes/archive/2026-02-04-python-runner/tasks.md +++ b/openspec/changes/archive/2026-02-04-lyxy-runner-python/tasks.md @@ -1,17 +1,17 @@ ## 1. Skill结构设置 - - [x] 1.1 创建skill目录:`skills/python-runner/` - - [x] 1.2 创建script子目录:`skills/python-runner/script/` - - [x] 1.3 创建辅助脚本:`skills/python-runner/script/get_temp_path.py` + - [x] 1.1 创建skill目录:`skills/lyxy-runner-python/` + - [x] 1.2 创建script子目录:`skills/lyxy-runner-python/script/` + - [x] 1.3 创建辅助脚本:`skills/lyxy-runner-python/script/get_temp_path.py` - [x] 1.3.1 添加PEP 723元数据块(`# dependencies = []`) - [x] 1.3.2 在系统临时目录创建空的Python脚本文件并返回路径 - [x] 1.3.3 直接在stdout输出脚本文件完整路径 - [x] 1.3.4 添加命令行支持,直接运行脚本 - - [x] 1.4 创建skill文件:`skills/python-runner/SKILL.md` + - [x] 1.4 创建skill文件:`skills/lyxy-runner-python/SKILL.md` ## 2. 编写YAML前置元数据 - - [x] 2.1 添加skill名称:`python-runner` + - [x] 2.1 添加skill名称:`lyxy-runner-python` - [x] 2.2 添加英文skill描述 - [x] 2.3 添加参数提示(不适用,此skill无参数) @@ -33,7 +33,7 @@ - [x] 5.1.2 提供包含外部依赖的示例 - [x] 5.1.3 提供仅使用标准库的示例 - [x] 5.2 记录步骤2:获取临时目录 - - [x] 5.2.1 说明调用辅助脚本:`uv run skills/python-runner/script/get_temp_path.py` + - [x] 5.2.1 说明调用辅助脚本:`uv run skills/lyxy-runner-python/script/get_temp_path.py` - [x] 5.2.2 说明辅助脚本直接在stdout输出临时目录路径 - [x] 5.2.3 说明大模型捕获stdout输出得到临时目录 - [x] 5.2.4 说明根据临时目录构造脚本文件路径:`/uv_script__.py` diff --git a/openspec/changes/archive/2026-02-05-js-runner/proposal.md b/openspec/changes/archive/2026-02-05-js-runner/proposal.md deleted file mode 100644 index cb77b5f..0000000 --- a/openspec/changes/archive/2026-02-05-js-runner/proposal.md +++ /dev/null @@ -1,32 +0,0 @@ -## Why - -当前项目已有基于uv的Python执行环境(python-runner),但缺少相应的JavaScript/TypeScript执行能力。Bun作为现代JavaScript运行时,具有极快的启动速度、内置包管理器和对标准库的完整支持,非常适合创建一个类似python-runner的隔离式JS/TS执行环境,保持系统环境整洁。 - -## What Changes - -- 完善现有的`skills/js-runner/`目录(目前仅有test/axios.js文件) -- 基于Bun实现JavaScript/TypeScript脚本执行能力,使用临时文件和环境隔离 -- 参考python-runner的工作流,支持依赖管理(通过package.json或内联声明) -- 提供辅助脚本生成临时文件路径 -- 创建完整的SKILL.md文档 - -## Capabilities - -### New Capabilities -- `js-runner`: 提供基于Bun的JavaScript/TypeScript脚本执行能力,支持依赖管理、环境隔离和临时文件清理 - -### Modified Capabilities -- None - -## Impact - -**新增文件**: -- `skills/js-runner/SKILL.md` - Skill文档 -- `skills/js-runner/scripts/get_temp_path.js` - 临时路径生成辅助脚本 - -**外部依赖**: -- 需要安装Bun运行时(https://bun.sh) - -**不影响的范围**: -- 不影响现有的python-runner skill -- 不修改其他skill的实现 diff --git a/openspec/changes/archive/2026-02-05-js-runner/.openspec.yaml b/openspec/changes/archive/2026-02-05-lyxy-runner-js/.openspec.yaml similarity index 100% rename from openspec/changes/archive/2026-02-05-js-runner/.openspec.yaml rename to openspec/changes/archive/2026-02-05-lyxy-runner-js/.openspec.yaml diff --git a/openspec/changes/archive/2026-02-05-js-runner/design.md b/openspec/changes/archive/2026-02-05-lyxy-runner-js/design.md similarity index 84% rename from openspec/changes/archive/2026-02-05-js-runner/design.md rename to openspec/changes/archive/2026-02-05-lyxy-runner-js/design.md index 340f50e..82f6f0d 100644 --- a/openspec/changes/archive/2026-02-05-js-runner/design.md +++ b/openspec/changes/archive/2026-02-05-lyxy-runner-js/design.md @@ -1,18 +1,18 @@ ## Context(背景) -本项目在 `skills/` 目录下开发用于大模型工具的技能(skills),每个子目录代表一个技能。目前,项目已经有一个 `python-runner` 技能,它使用 `uv` 提供了隔离的 Python 执行环境,支持依赖管理和临时文件隔离。 +本项目在 `skills/` 目录下开发用于大模型工具的技能(skills),每个子目录代表一个技能。目前,项目已经有一个 `lyxy-runner-python` 技能,它使用 `uv` 提供了隔离的 Python 执行环境,支持依赖管理和临时文件隔离。 -`js-runner/` 目录已存在但未完成,只包含一个测试文件(`test/axios.js`)。目前项目中还没有功能完整的 JavaScript/TypeScript 执行能力。 +`lyxy-runner-js/` 目录已存在但未完成,只包含一个测试文件(`test/axios.js`)。目前项目中还没有功能完整的 JavaScript/TypeScript 执行能力。 **当前状态:** -- `python-runner` 技能已完整实现(基于 uv 的隔离) -- `js-runner` 目录骨架存在但缺少实现 +- `lyxy-runner-python` 技能已完整实现(基于 uv 的隔离) +- `lyxy-runner-js` 目录骨架存在但缺少实现 - 没有 JavaScript/TypeScript 的依赖管理机制 - 没有 JS/TS 脚本的临时文件生命周期管理 **约束条件:** - 必须保持环境隔离(不污染系统包) -- 应遵循 `python-runner` 建立的模式以保持一致性 +- 应遵循 `lyxy-runner-python` 建立的模式以保持一致性 - 技能结构必须符合项目规范(`skills//`) - 必须同时支持 JavaScript 和 TypeScript 执行 @@ -22,13 +22,13 @@ - 提供辅助脚本供大模型调用(使用 JavaScript 编写,与 skill 主题一致) - 在 SKILL.md 中清晰描述完整的调用流程 - 利用 Bun 的自动依赖管理能力 -- 匹配 `python-runner` 的工作流程和用户体验,保持一致性 +- 匹配 `lyxy-runner-python` 的工作流程和用户体验,保持一致性 **非目标:** - 提供完整的 IDE 或开发环境 - 脚本的长期存储或持久化 - 超越 JavaScript/TypeScript 的多语言支持 -- 替换或修改现有的 `python-runner` 技能 +- 替换或修改现有的 `lyxy-runner-python` 技能 - 构建自定义的 Bun 运行时包装器(直接使用 Bun) ## Decisions(技术决策) @@ -46,7 +46,7 @@ ### 2. 基于临时文件的执行模型 -**理由:** 遵循 `python-runner` 的模式,在临时文件中执行脚本可以: +**理由:** 遵循 `lyxy-runner-python` 的模式,在临时文件中执行脚本可以: - 在执行之间保持干净的隔离 - 自动清理产物 - 不需要跨运行的状态管理 @@ -81,7 +81,7 @@ **理由:** `get_temp_path.js` 辅助脚本将: - 为脚本生成唯一的临时文件路径 - 遵循特定于操作系统的临时目录约定 -- 使用 JavaScript 编写,与 js-runner 主题一致 +- 使用 JavaScript 编写,与 lyxy-runner-js 主题一致 - 使用 Bun 运行(已确保环境就绪) **实现方式:** @@ -92,7 +92,7 @@ import { join } from "path"; export function getTempPath(extension) { const timestamp = Date.now(); const random = Math.random().toString(36).substring(7); - return join(tmpdir(), `js-runner-${timestamp}-${random}.${extension}`); + return join(tmpdir(), `lyxy-runner-js-${timestamp}-${random}.${extension}`); } ``` @@ -127,7 +127,7 @@ export function getTempPath(extension) { - 记录错误处理和故障排除 **回滚策略:** -- 如果实现有问题,删除 `skills/js-runner/` 目录 +- 如果实现有问题,删除 `skills/lyxy-runner-js/` 目录 - 对项目其他部分无影响,因为这是一个新的隔离技能 ## Open Questions(待解决的问题) diff --git a/openspec/changes/archive/2026-02-05-lyxy-runner-js/proposal.md b/openspec/changes/archive/2026-02-05-lyxy-runner-js/proposal.md new file mode 100644 index 0000000..cf6beb5 --- /dev/null +++ b/openspec/changes/archive/2026-02-05-lyxy-runner-js/proposal.md @@ -0,0 +1,32 @@ +## Why + +当前项目已有基于uv的Python执行环境(lyxy-runner-python),但缺少相应的JavaScript/TypeScript执行能力。Bun作为现代JavaScript运行时,具有极快的启动速度、内置包管理器和对标准库的完整支持,非常适合创建一个类似lyxy-runner-python的隔离式JS/TS执行环境,保持系统环境整洁。 + +## What Changes + +- 完善现有的`skills/lyxy-runner-js/`目录(目前仅有test/axios.js文件) +- 基于Bun实现JavaScript/TypeScript脚本执行能力,使用临时文件和环境隔离 +- 参考lyxy-runner-python的工作流,支持依赖管理(通过package.json或内联声明) +- 提供辅助脚本生成临时文件路径 +- 创建完整的SKILL.md文档 + +## Capabilities + +### New Capabilities +- `lyxy-runner-js`: 提供基于Bun的JavaScript/TypeScript脚本执行能力,支持依赖管理、环境隔离和临时文件清理 + +### Modified Capabilities +- None + +## Impact + +**新增文件**: +- `skills/lyxy-runner-js/SKILL.md` - Skill文档 +- `skills/lyxy-runner-js/scripts/get_temp_path.js` - 临时路径生成辅助脚本 + +**外部依赖**: +- 需要安装Bun运行时(https://bun.sh) + +**不影响的范围**: +- 不影响现有的lyxy-runner-python skill +- 不修改其他skill的实现 diff --git a/openspec/changes/archive/2026-02-05-js-runner/specs/js-runner/spec.md b/openspec/changes/archive/2026-02-05-lyxy-runner-js/specs/lyxy-runner-js/spec.md similarity index 94% rename from openspec/changes/archive/2026-02-05-js-runner/specs/js-runner/spec.md rename to openspec/changes/archive/2026-02-05-lyxy-runner-js/specs/lyxy-runner-js/spec.md index 2d171a6..6b5c495 100644 --- a/openspec/changes/archive/2026-02-05-js-runner/specs/js-runner/spec.md +++ b/openspec/changes/archive/2026-02-05-lyxy-runner-js/specs/lyxy-runner-js/spec.md @@ -16,7 +16,7 @@ - **THEN** 文件扩展名为 `.ts` ### Requirement: 文档描述完整调用流程 -SKILL.md MUST 清晰描述大模型如何使用 js-runner 技能执行 JavaScript/TypeScript 脚本的完整流程。 +SKILL.md MUST 清晰描述大模型如何使用 lyxy-runner-js 技能执行 JavaScript/TypeScript 脚本的完整流程。 #### Scenario: 执行脚本的标准流程 - **WHEN** 大模型阅读 SKILL.md @@ -72,19 +72,19 @@ SKILL.md MUST 清晰描述大模型如何使用 js-runner 技能执行 JavaScrip - **THEN** 系统使用退出码 0 ### Requirement: 文档完整性 -系统 MUST 包含完整的 SKILL.md 文档,说明如何使用 js-runner。 +系统 MUST 包含完整的 SKILL.md 文档,说明如何使用 lyxy-runner-js。 #### Scenario: SKILL.md 包含必要的 frontmatter - **WHEN** 大模型阅读 SKILL.md - **THEN** 文档顶部包含 YAML frontmatter -- **THEN** 包含 `name` 字段,值为 `js-runner` +- **THEN** 包含 `name` 字段,值为 `lyxy-runner-js` - **THEN** 包含 `description` 字段,描述技能的功能和使用场景 - **THEN** 可选包含 `compatibility` 字段,说明 Bun 依赖 #### Scenario: 安装说明 - **WHEN** 用户阅读 SKILL.md - **THEN** 文档包含 Bun 的安装说明和命令 -- **THEN** 文档说明 js-runner 的依赖要求 +- **THEN** 文档说明 lyxy-runner-js 的依赖要求 #### Scenario: 使用示例 - **WHEN** 用户阅读 SKILL.md diff --git a/openspec/changes/archive/2026-02-05-js-runner/tasks.md b/openspec/changes/archive/2026-02-05-lyxy-runner-js/tasks.md similarity index 76% rename from openspec/changes/archive/2026-02-05-js-runner/tasks.md rename to openspec/changes/archive/2026-02-05-lyxy-runner-js/tasks.md index a364474..46895f6 100644 --- a/openspec/changes/archive/2026-02-05-js-runner/tasks.md +++ b/openspec/changes/archive/2026-02-05-lyxy-runner-js/tasks.md @@ -1,13 +1,13 @@ ## 1. 项目设置和目录结构 -- [x] 1.1 验证 `skills/js-runner/` 目录结构 -- [x] 1.2 创建 `skills/js-runner/scripts/` 目录(注意是复数 scripts/) -- [x] 1.3 确认现有测试文件 `skills/js-runner/test/axios.js` 的状态 +- [x] 1.1 验证 `skills/lyxy-runner-js/` 目录结构 +- [x] 1.2 创建 `skills/lyxy-runner-js/scripts/` 目录(注意是复数 scripts/) +- [x] 1.3 确认现有测试文件 `skills/lyxy-runner-js/test/axios.js` 的状态 - [x] 1.4 验证 Bun 运行时是否已安装(本地开发环境) ## 2. 实现临时路径生成辅助脚本 -- [x] 2.1 创建 `skills/js-runner/scripts/get_temp_path.js` 文件(使用 JavaScript) +- [x] 2.1 创建 `skills/lyxy-runner-js/scripts/get_temp_path.js` 文件(使用 JavaScript) - [x] 2.2 实现 `getTempPath(extension)` 函数 - [x] 2.3 确保函数生成唯一路径(包含时间戳和随机字符串) - [x] 2.4 测试辅助脚本的输出格式正确性 @@ -15,9 +15,9 @@ ## 3. 编写 SKILL.md 文档 -- [x] 3.1 创建 `skills/js-runner/SKILL.md` 文档 +- [x] 3.1 创建 `skills/lyxy-runner-js/SKILL.md` 文档 - [x] 3.2 添加必要的 YAML frontmatter: - - `name: js-runner` + - `name: lyxy-runner-js` - `description` 描述功能和场景 - 可选 `compatibility` 说明 Bun 依赖 - [x] 3.3 编写 Bun 安装说明和先决条件 @@ -36,7 +36,7 @@ ## 4. 验证 SKILL.md 格式 -- [x] 4.1 使用 `skills-ref validate ./skills/js-runner` 验证格式(如果可用) +- [x] 4.1 使用 `skills-ref validate ./skills/lyxy-runner-js` 验证格式(如果可用) - [x] 4.2 确认 frontmatter 符合 Agent Skills 规范 - [x] 4.3 确认 name 字段格式正确(小写、数字、连字符) - [x] 4.4 确认 description 字段长度在 1024 字符以内 @@ -47,5 +47,5 @@ - [x] 5.1 手动测试 `scripts/get_temp_path.js` 辅助脚本 - [x] 5.2 验证 SKILL.md 格式符合规范 - [x] 5.3 验证调用流程的可行性 -- [x] 5.4 验证与 `python-runner` 模式的一致性 +- [x] 5.4 验证与 `lyxy-runner-python` 模式的一致性 - [x] 5.5 提交所有更改到版本控制(如适用) diff --git a/openspec/changes/archive/2026-02-06-js-runner-custom-path/proposal.md b/openspec/changes/archive/2026-02-06-js-runner-custom-path/proposal.md deleted file mode 100644 index 2687fcc..0000000 --- a/openspec/changes/archive/2026-02-06-js-runner-custom-path/proposal.md +++ /dev/null @@ -1,27 +0,0 @@ -## Why - -当前 js-runner 技能的标准流程中,所有脚本执行都必须使用 `get_temp_path.js` 生成临时文件路径。这导致当用户想要运行已存在的脚本文件或希望将脚本持久化到特定位置时,流程不够灵活。大模型已经拥有可以直接创建文件的工具(如 Write 工具),不需要强制通过临时路径生成脚本。 - -## What Changes - -- 增加条件判断逻辑:只有当用户没有指定脚本文件或没有指定脚本生成路径时,才使用 `get_temp_path.js` 生成临时路径 -- 增加直接执行已存在脚本文件的使用场景 -- 增加使用大模型工具在指定路径创建脚本的使用场景 -- 保持向后兼容:不提供路径或脚本时,仍使用原有的临时文件路径生成逻辑 - -## Capabilities - -### New Capabilities -无 - 本变更是在现有 js-runner 技能基础上的增强 - -### Modified Capabilities -- `js-runner`: 增加条件性使用临时路径的需求。这将修改现有的"文档描述完整调用流程"需求,增加新的场景: - - 场景1:用户提供已存在的脚本文件路径 → 直接执行 - - 场景2:用户提供脚本生成路径 → 用大模型工具创建脚本到指定路径,然后执行 - - 场景3:用户未提供任何路径信息 → 使用 `get_temp_path.js` 生成临时路径(现有流程) - -## Impact - -- **文档更新**: `skills/js-runner/SKILL.md` 需要重新组织调用流程说明,增加条件判断逻辑和新的使用场景 -- **规范更新**: `openspec/specs/js-runner/spec.md` 需要增加新的需求场景,描述不同条件下的执行路径选择 -- **代码**: `get_temp_path.js` 保持不变,仅在未提供路径时调用 diff --git a/openspec/changes/archive/2026-02-06-js-runner-custom-path/.openspec.yaml b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/.openspec.yaml similarity index 100% rename from openspec/changes/archive/2026-02-06-js-runner-custom-path/.openspec.yaml rename to openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/.openspec.yaml diff --git a/openspec/changes/archive/2026-02-06-js-runner-custom-path/design.md b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/design.md similarity index 86% rename from openspec/changes/archive/2026-02-06-js-runner-custom-path/design.md rename to openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/design.md index c386093..9eef86c 100644 --- a/openspec/changes/archive/2026-02-06-js-runner-custom-path/design.md +++ b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/design.md @@ -1,6 +1,6 @@ ## Context -js-runner 技能目前的标准流程假设所有脚本都需要通过临时文件执行。这种设计确保了脚本的隔离性和自动清理,但牺牲了灵活性。用户可能希望: +lyxy-runner-js 技能目前的标准流程假设所有脚本都需要通过临时文件执行。这种设计确保了脚本的隔离性和自动清理,但牺牲了灵活性。用户可能希望: 1. 执行已存在的脚本文件 2. 将脚本持久化到项目中的特定位置 3. 利用大模型已有的文件操作工具(Write)直接创建脚本 @@ -27,7 +27,7 @@ js-runner 技能目前的标准流程假设所有脚本都需要通过临时文 **决策选择:** 通过更新 SKILL.md 文档来定义新的使用流程,而不是修改代码实现。 **理由:** -- js-runner 的核心功能(脚本执行)已经完全由 Bun 运行时提供 +- lyxy-runner-js 的核心功能(脚本执行)已经完全由 Bun 运行时提供 - 大模型根据 SKILL.md 的描述来选择操作方式 - 当前代码(`get_temp_path.js`)在临时路径场景下已经完全满足需求 - 直接使用大模型的 Write 工具创建文件比通过辅助脚本更灵活 @@ -80,15 +80,15 @@ js-runner 技能目前的标准流程假设所有脚本都需要通过临时文 **说明:** - 用户获得了更多控制权(直接指定路径) - 文档需要更详细地解释不同场景 -- 但这符合 js-runner 作为"技能工具"的定位——为大模型提供灵活的执行选项 +- 但这符合 lyxy-runner-js 作为"技能工具"的定位——为大模型提供灵活的执行选项 ## Migration Plan 本变更仅涉及文档更新,无需代码迁移或部署步骤。 **更新步骤:** -1. 更新 `skills/js-runner/SKILL.md`,增加三种使用场景的说明 -2. 更新 `openspec/specs/js-runner/spec.md`,增加新的需求场景 +1. 更新 `skills/lyxy-runner-js/SKILL.md`,增加三种使用场景的说明 +2. 更新 `openspec/specs/lyxy-runner-js/spec.md`,增加新的需求场景 3. 验证文档描述是否清晰,易于理解和执行 **回滚策略:** diff --git a/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/proposal.md b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/proposal.md new file mode 100644 index 0000000..9f08da3 --- /dev/null +++ b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/proposal.md @@ -0,0 +1,27 @@ +## Why + +当前 lyxy-runner-js 技能的标准流程中,所有脚本执行都必须使用 `get_temp_path.js` 生成临时文件路径。这导致当用户想要运行已存在的脚本文件或希望将脚本持久化到特定位置时,流程不够灵活。大模型已经拥有可以直接创建文件的工具(如 Write 工具),不需要强制通过临时路径生成脚本。 + +## What Changes + +- 增加条件判断逻辑:只有当用户没有指定脚本文件或没有指定脚本生成路径时,才使用 `get_temp_path.js` 生成临时路径 +- 增加直接执行已存在脚本文件的使用场景 +- 增加使用大模型工具在指定路径创建脚本的使用场景 +- 保持向后兼容:不提供路径或脚本时,仍使用原有的临时文件路径生成逻辑 + +## Capabilities + +### New Capabilities +无 - 本变更是在现有 lyxy-runner-js 技能基础上的增强 + +### Modified Capabilities +- `lyxy-runner-js`: 增加条件性使用临时路径的需求。这将修改现有的"文档描述完整调用流程"需求,增加新的场景: + - 场景1:用户提供已存在的脚本文件路径 → 直接执行 + - 场景2:用户提供脚本生成路径 → 用大模型工具创建脚本到指定路径,然后执行 + - 场景3:用户未提供任何路径信息 → 使用 `get_temp_path.js` 生成临时路径(现有流程) + +## Impact + +- **文档更新**: `skills/lyxy-runner-js/SKILL.md` 需要重新组织调用流程说明,增加条件判断逻辑和新的使用场景 +- **规范更新**: `openspec/specs/lyxy-runner-js/spec.md` 需要增加新的需求场景,描述不同条件下的执行路径选择 +- **代码**: `get_temp_path.js` 保持不变,仅在未提供路径时调用 diff --git a/openspec/changes/archive/2026-02-06-js-runner-custom-path/specs/js-runner/spec.md b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/specs/lyxy-runner-js/spec.md similarity index 95% rename from openspec/changes/archive/2026-02-06-js-runner-custom-path/specs/js-runner/spec.md rename to openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/specs/lyxy-runner-js/spec.md index 65968df..4c1d18f 100644 --- a/openspec/changes/archive/2026-02-06-js-runner-custom-path/specs/js-runner/spec.md +++ b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/specs/lyxy-runner-js/spec.md @@ -18,7 +18,7 @@ ## MODIFIED Requirements ### Requirement: 文档描述完整调用流程 -SKILL.md MUST 清晰描述大模型如何使用 js-runner 技能执行 JavaScript/TypeScript 脚本的完整流程,并根据用户提供的路径信息选择不同的执行方式。 +SKILL.md MUST 清晰描述大模型如何使用 lyxy-runner-js 技能执行 JavaScript/TypeScript 脚本的完整流程,并根据用户提供的路径信息选择不同的执行方式。 #### Scenario: 执行已存在的脚本文件 - **WHEN** 用户提供已存在的脚本文件路径 diff --git a/openspec/changes/archive/2026-02-06-js-runner-custom-path/tasks.md b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/tasks.md similarity index 95% rename from openspec/changes/archive/2026-02-06-js-runner-custom-path/tasks.md rename to openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/tasks.md index b2c1bff..664c2b1 100644 --- a/openspec/changes/archive/2026-02-06-js-runner-custom-path/tasks.md +++ b/openspec/changes/archive/2026-02-06-lyxy-runner-js-custom-path/tasks.md @@ -1,6 +1,6 @@ ## 1. 文档准备工作 -- [x] 1.1 读取当前的 `skills/js-runner/SKILL.md` 文件,了解现有结构 +- [x] 1.1 读取当前的 `skills/lyxy-runner-js/SKILL.md` 文件,了解现有结构 - [x] 1.2 确认文档中现有的安装说明和基本使用流程 ## 2. 文档结构调整 diff --git a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/.openspec.yaml b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/.openspec.yaml similarity index 100% rename from openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/.openspec.yaml rename to openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/.openspec.yaml diff --git a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/design.md b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/design.md similarity index 96% rename from openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/design.md rename to openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/design.md index c104435..3e9f187 100644 --- a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/design.md +++ b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/design.md @@ -1,6 +1,6 @@ ## Context -当前python-runner skill要求用户在Python脚本顶部添加PEP 723元数据块来声明依赖,这需要修改用户现有的脚本文件,降低了使用便利性。此外,现有实现总是使用临时文件,即使在用户明确指定路径时也是如此。 +当前lyxy-runner-python skill要求用户在Python脚本顶部添加PEP 723元数据块来声明依赖,这需要修改用户现有的脚本文件,降低了使用便利性。此外,现有实现总是使用临时文件,即使在用户明确指定路径时也是如此。 该skill目前的工作流程: 1. 要求LLM生成包含PEP 723元数据的Python脚本 diff --git a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/proposal.md b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/proposal.md similarity index 72% rename from openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/proposal.md rename to openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/proposal.md index bac6de9..78351c2 100644 --- a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/proposal.md +++ b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/proposal.md @@ -1,6 +1,6 @@ ## Why -当前python-runner skill要求使用PEP 723规范在脚本顶部添加内联元数据块来声明依赖,这需要修改用户现有的Python脚本,降低了使用便利性。通过改用`uv run --with`语法并自动解析脚本内容中的依赖,可以在不改动用户脚本的情况下利用uv的隔离环境直接运行脚本,提升用户体验和灵活性。 +当前lyxy-runner-python skill要求使用PEP 723规范在脚本顶部添加内联元数据块来声明依赖,这需要修改用户现有的Python脚本,降低了使用便利性。通过改用`uv run --with`语法并自动解析脚本内容中的依赖,可以在不改动用户脚本的情况下利用uv的隔离环境直接运行脚本,提升用户体验和灵活性。 ## What Changes @@ -23,12 +23,12 @@ - `uv-run-with-syntax`: 使用`uv run --with`语法执行Python脚本的能力,包括自动依赖解析和智能项目检测 ### Modified Capabilities -- `uv-python-runner`: 现有spec需要更新以反映新的执行流程,包括:移除PEP 723要求、新增依赖解析逻辑、新增智能路径和项目检测 +- `uv-lyxy-runner-python`: 现有spec需要更新以反映新的执行流程,包括:移除PEP 723要求、新增依赖解析逻辑、新增智能路径和项目检测 ## Impact - **代码影响**: - - 修改`skills/python-runner/SKILL.md`,更新执行工作流和示例 + - 修改`skills/lyxy-runner-python/SKILL.md`,更新执行工作流和示例 - 保留现有的`get_temp_path.py`辅助脚本 - 不新增辅助脚本,项目检测直接使用命令行工具 - **行为影响**: diff --git a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/specs/uv-python-runner/spec.md b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/specs/uv-python-runner/spec.md similarity index 97% rename from openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/specs/uv-python-runner/spec.md rename to openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/specs/uv-python-runner/spec.md index 8d2e19f..a0403ee 100644 --- a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/specs/uv-python-runner/spec.md +++ b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/specs/uv-python-runner/spec.md @@ -2,7 +2,7 @@ ## Purpose -This is a delta spec documenting changes to the existing uv-python-runner capability to support `uv run --with` syntax and smart project detection. +This is a delta spec documenting changes to the existing uv-lyxy-runner-python capability to support `uv run --with` syntax and smart project detection. ## REMOVED Requirements diff --git a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/specs/uv-run-with-syntax/spec.md b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/specs/uv-run-with-syntax/spec.md similarity index 100% rename from openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/specs/uv-run-with-syntax/spec.md rename to openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/specs/uv-run-with-syntax/spec.md diff --git a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/tasks.md b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/tasks.md similarity index 98% rename from openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/tasks.md rename to openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/tasks.md index 7ae8f4d..cd77c69 100644 --- a/openspec/changes/archive/2026-02-06-optimize-python-runner-uv-syntax/tasks.md +++ b/openspec/changes/archive/2026-02-06-optimize-lyxy-runner-python-uv-syntax/tasks.md @@ -1,7 +1,7 @@ ## 1. 文档准备 - [x] 1.1 备份现有 SKILL.md 文件为 SKILL.md.backup -- [x] 1.2 阅读 python-runner skill 文档结构,了解现有内容组织方式 +- [x] 1.2 阅读 lyxy-runner-python skill 文档结构,了解现有内容组织方式 ## 2. 移除PEP 723相关内容 diff --git a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/.openspec.yaml b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/.openspec.yaml similarity index 100% rename from openspec/changes/archive/2026-02-12-develop-docx-reader-skill/.openspec.yaml rename to openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/.openspec.yaml diff --git a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/design.md b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/design.md similarity index 73% rename from openspec/changes/archive/2026-02-12-develop-docx-reader-skill/design.md rename to openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/design.md index 8371f1d..0756d7d 100644 --- a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/design.md +++ b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/design.md @@ -1,6 +1,6 @@ ## Context -当前项目是一个专门用于开发大模型工具 skill 的项目。`skills/docx-reader` 目录已经存在,其中包含: +当前项目是一个专门用于开发大模型工具 skill 的项目。`skills/lyxy-reader-docx` 目录已经存在,其中包含: - `scripts/docx_parser.py` - 完整的 DOCX 解析脚本,支持多策略解析(MarkItDown、python-docx、XML 原生) - `docx_parser.md` - 脚本使用文档 @@ -9,10 +9,10 @@ ## Goals / Non-Goals **Goals:** -- 创建 `skills/docx-reader/skill.md` skill 定义文件,符合项目规范 +- 创建 `skills/lyxy-reader-docx/skill.md` skill 定义文件,符合项目规范 - 封装 docx_parser.py 的核心功能为 skill 的能力描述 - 确保大模型在遇到 .docx 文件时能够识别并优先使用该 skill -- 执行时优先委托给 python-runner skill,利用其依赖管理和环境隔离能力 +- 执行时优先委托给 lyxy-runner-python skill,利用其依赖管理和环境隔离能力 - 支持多种解析模式:全文提取、标题提取、章节内容提取、关键词搜索 **Non-Goals:** @@ -26,7 +26,7 @@ ### 1. Skill 定义结构 **决策**: 采用标准的 skill.md 格式,包含 description、capabilities 等核心字段 -**理由**: 遵循项目现有 skill 的统一规范,便于大模型理解和调用。查看 `skills/` 目录下的其他 skill 示例(如 `python-runner`、`js-runner`)可知项目有一致的定义格式。 +**理由**: 遵循项目现有 skill 的统一规范,便于大模型理解和调用。查看 `skills/` 目录下的其他 skill 示例(如 `lyxy-runner-python`、`lyxy-runner-js`)可知项目有一致的定义格式。 ### 2. 依赖声明 **决策**: 在 skill.md 的 Compatibility 字段中声明 Python 运行时依赖 @@ -52,9 +52,9 @@ - 文件扩展名 `.docx` 出现时 ### 5. 执行委托策略 -**决策**: docx-reader skill 执行时优先委托给 python-runner skill +**决策**: lyxy-reader-docx skill 执行时优先委托给 lyxy-runner-python skill -**理由**: python-runner skill 提供了统一的 Python 脚本执行环境,具有以下优势: +**理由**: lyxy-runner-python skill 提供了统一的 Python 脚本执行环境,具有以下优势: - 使用 uv 管理依赖,自动安装 markitdown 或 python-docx - 环境隔离,不污染系统 Python - 跨平台兼容 @@ -63,31 +63,31 @@ 此 skill 的执行决策由大模型在调用时判断,不在 skill 定义或脚本中实现检查逻辑。 当大模型决定执行 docx_reader skill 时: -- 如果环境中存在 python-runner skill,优先使用 python-runner 执行 docx_parser.py -- 如果环境中不存在 python-runner skill,直接使用 Python 执行 docx_parser.py +- 如果环境中存在 lyxy-runner-python skill,优先使用 lyxy-runner-python 执行 docx_parser.py +- 如果环境中不存在 lyxy-runner-python skill,直接使用 Python 执行 docx_parser.py **好处**: - 最大化复用现有 skill -- 自动处理 Python 依赖管理(通过 python-runner) +- 自动处理 Python 依赖管理(通过 lyxy-runner-python) - 提供更好的错误处理和用户体验 ## Risks / Trade-offs -### 风险 1: python-runner skill 不可用 -**风险**: 目标环境可能没有安装 python-runner skill 或其依赖(uv 工具) +### 风险 1: lyxy-runner-python skill 不可用 +**风险**: 目标环境可能没有安装 lyxy-runner-python skill 或其依赖(uv 工具) **缓解措施**: -- 大模型在执行时判断 python-runner skill 是否存在 -- 如果 python-runner 不可用,自动降级为直接使用 Python 执行脚本 +- 大模型在执行时判断 lyxy-runner-python skill 是否存在 +- 如果 lyxy-runner-python 不可用,自动降级为直接使用 Python 执行脚本 - 在 skill.md 中说明降级策略和直接执行的条件 ### 风险 2: 依赖库未安装(降级场景) -**风险**: 当 python-runner 不可用时,直接执行脚本可能遇到 `markitdown` 或 `python-docx` 未安装的情况 +**风险**: 当 lyxy-runner-python 不可用时,直接执行脚本可能遇到 `markitdown` 或 `python-docx` 未安装的情况 **缓解措施**: - 在 skill.md 的 Compatibility 字段中明确列出可选依赖 - 在降级场景中,脚本本身已实现多策略降级(MarkItDown → python-docx → XML 原生) -- 提示用户安装 python-runner 获得更好的体验 +- 提示用户安装 lyxy-runner-python 获得更好的体验 ### 风险 2: 大文件处理性能 **风险**: 大型 .docx 文件解析可能耗时较长 diff --git a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/proposal.md b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/proposal.md similarity index 78% rename from openspec/changes/archive/2026-02-12-develop-docx-reader-skill/proposal.md rename to openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/proposal.md index f7a1201..a63e8dc 100644 --- a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/proposal.md +++ b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/proposal.md @@ -4,7 +4,7 @@ ## What Changes -- 新增 `docx-reader` skill,封装现有的 `skills/docx-reader/scripts/docx_parser.py` 脚本 +- 新增 `lyxy-reader-docx` skill,封装现有的 `skills/lyxy-reader-docx/scripts/docx_parser.py` 脚本 - 创建 skill 定义文件,支持将 .docx 文件转换为纯文本内容 - skill 定位为 docx 文档解析的优先选择工具 - 仅支持文本内容提取,不处理图片和格式信息 @@ -19,7 +19,7 @@ ## Impact -- 新增 `skills/docx-reader/skill.md` - skill 定义文件 -- 依赖现有的 `skills/docx-reader/scripts/docx_parser.py` 解析脚本 +- 新增 `skills/lyxy-reader-docx/skill.md` - skill 定义文件 +- 依赖现有的 `skills/lyxy-reader-docx/scripts/docx_parser.py` 解析脚本 - 新增 Python 依赖:`markitdown` 或 `python-docx`(至少需要安装其一) - 影响大模型的技能调用策略,在遇到 .docx 文件时会优先使用该 skill diff --git a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/specs/docx-text-extraction/spec.md b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/specs/docx-text-extraction/spec.md similarity index 88% rename from openspec/changes/archive/2026-02-12-develop-docx-reader-skill/specs/docx-text-extraction/spec.md rename to openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/specs/docx-text-extraction/spec.md index c89a130..350ee8a 100644 --- a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/specs/docx-text-extraction/spec.md +++ b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/specs/docx-text-extraction/spec.md @@ -1,17 +1,17 @@ ## ADDED Requirements -### Requirement: Delegate execution to python-runner skill -当大模型执行 docx-reader skill 时,应优先使用 python-runner skill 来运行 docx_parser.py 脚本。如果 python-runner skill 不可用,则直接使用 Python 执行。 +### Requirement: Delegate execution to lyxy-runner-python skill +当大模型执行 lyxy-reader-docx skill 时,应优先使用 lyxy-runner-python skill 来运行 docx_parser.py 脚本。如果 lyxy-runner-python skill 不可用,则直接使用 Python 执行。 -#### Scenario: python-runner available -- **WHEN** 大模型环境中存在 python-runner skill -- **THEN** 大模型通过 python-runner skill 执行 docx_parser.py -- **AND** 利用 python-runner 的自动依赖管理功能安装所需的 Python 包(markitdown 或 python-docx) +#### Scenario: lyxy-runner-python available +- **WHEN** 大模型环境中存在 lyxy-runner-python skill +- **THEN** 大模型通过 lyxy-runner-python skill 执行 docx_parser.py +- **AND** 利用 lyxy-runner-python 的自动依赖管理功能安装所需的 Python 包(markitdown 或 python-docx) -#### Scenario: python-runner unavailable -- **WHEN** 大模型环境中不存在 python-runner skill +#### Scenario: lyxy-runner-python unavailable +- **WHEN** 大模型环境中不存在 lyxy-runner-python skill - **THEN** 大模型直接使用 Python 执行 docx_parser.py -- **AND** 提示用户正在使用直接执行模式(未使用 python-runner) +- **AND** 提示用户正在使用直接执行模式(未使用 lyxy-runner-python) - **AND** 依赖 docx_parser.py 内部的多策略解析降级机制 ### Requirement: Extract full text from DOCX file diff --git a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/tasks.md b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/tasks.md similarity index 81% rename from openspec/changes/archive/2026-02-12-develop-docx-reader-skill/tasks.md rename to openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/tasks.md index 00bb16f..31ee26d 100644 --- a/openspec/changes/archive/2026-02-12-develop-docx-reader-skill/tasks.md +++ b/openspec/changes/archive/2026-02-12-develop-lyxy-reader-docx-skill/tasks.md @@ -1,11 +1,11 @@ ## 1. 准备工作 -- [x] 1.1 研究现有 skill 定义格式,查看 `skills/` 目录下的其他 skill 示例(如 `python-runner`、`js-runner`)了解标准结构 -- [x] 1.2 阅读 `skills/docx-reader/docx_parser.md` 了解解析脚本的详细功能和使用方式 +- [x] 1.1 研究现有 skill 定义格式,查看 `skills/` 目录下的其他 skill 示例(如 `lyxy-runner-python`、`lyxy-runner-js`)了解标准结构 +- [x] 1.2 阅读 `skills/lyxy-reader-docx/docx_parser.md` 了解解析脚本的详细功能和使用方式 ## 2. 创建 skill 定义文件 -- [x] 2.1 创建 `skills/docx-reader/skill.md` 文件 +- [x] 2.1 创建 `skills/lyxy-reader-docx/skill.md` 文件 - [x] 2.2 编写 skill 的 description 字段,描述该 skill 的用途和定位(优先解析 docx 文档) - [x] 2.3 编写 skill 的 capabilities 字段,列出所有支持的解析功能: - 全文转换为 Markdown diff --git a/openspec/specs/docx-text-extraction/spec.md b/openspec/specs/docx-text-extraction/spec.md index 883c6a8..d065860 100644 --- a/openspec/specs/docx-text-extraction/spec.md +++ b/openspec/specs/docx-text-extraction/spec.md @@ -1,17 +1,17 @@ ## Requirements -### Requirement: Delegate execution to python-runner skill -当大模型执行 docx-reader skill 时,应优先使用 python-runner skill 来运行 docx_parser.py 脚本。如果 python-runner skill 不可用,则直接使用 Python 执行。 +### Requirement: Delegate execution to lyxy-runner-python skill +当大模型执行 lyxy-reader-docx skill 时,应优先使用 lyxy-runner-python skill 来运行 docx_parser.py 脚本。如果 lyxy-runner-python skill 不可用,则直接使用 Python 执行。 -#### Scenario: python-runner available -- **WHEN** 大模型环境中存在 python-runner skill -- **THEN** 大模型通过 python-runner skill 执行 docx_parser.py -- **AND** 利用 python-runner 的自动依赖管理功能安装所需的 Python 包(markitdown 或 python-docx) +#### Scenario: lyxy-runner-python available +- **WHEN** 大模型环境中存在 lyxy-runner-python skill +- **THEN** 大模型通过 lyxy-runner-python skill 执行 docx_parser.py +- **AND** 利用 lyxy-runner-python 的自动依赖管理功能安装所需的 Python 包(markitdown 或 python-docx) -#### Scenario: python-runner unavailable -- **WHEN** 大模型环境中不存在 python-runner skill +#### Scenario: lyxy-runner-python unavailable +- **WHEN** 大模型环境中不存在 lyxy-runner-python skill - **THEN** 大模型直接使用 Python 执行 docx_parser.py -- **AND** 提示用户正在使用直接执行模式(未使用 python-runner) +- **AND** 提示用户正在使用直接执行模式(未使用 lyxy-runner-python) - **AND** 依赖 docx_parser.py 内部的多策略解析降级机制 ### Requirement: Extract full text from DOCX file diff --git a/openspec/specs/js-runner/spec.md b/openspec/specs/lyxy-runner-js/spec.md similarity index 92% rename from openspec/specs/js-runner/spec.md rename to openspec/specs/lyxy-runner-js/spec.md index 81788ef..437d785 100644 --- a/openspec/specs/js-runner/spec.md +++ b/openspec/specs/lyxy-runner-js/spec.md @@ -1,8 +1,8 @@ -# JS Runner Spec +# lyxy-runner-js Spec ## Purpose -Define requirements for the js-runner skill, which enables execution of JavaScript and TypeScript scripts using Bun runtime with automatic dependency management and temporary file handling. +Define requirements for the lyxy-runner-js skill, which enables execution of JavaScript and TypeScript scripts using Bun runtime with automatic dependency management and temporary file handling. ## Requirements @@ -37,7 +37,7 @@ Define requirements for the js-runner skill, which enables execution of JavaScri - **THEN** 文件扩展名为 `.ts` ### Requirement: 文档描述完整调用流程 -SKILL.md MUST 清晰描述大模型如何使用 js-runner 技能执行 JavaScript/TypeScript 脚本的完整流程,并根据用户提供的路径信息选择不同的执行方式。 +SKILL.md MUST 清晰描述大模型如何使用 lyxy-runner-js 技能执行 JavaScript/TypeScript 脚本的完整流程,并根据用户提供的路径信息选择不同的执行方式。 #### Scenario: 执行已存在的脚本文件 - **WHEN** 用户提供已存在的脚本文件路径 @@ -131,19 +131,19 @@ SKILL.md MUST 清晰描述大模型如何使用 js-runner 技能执行 JavaScrip - **THEN** 系统使用退出码 0 ### Requirement: 文档完整性 -系统 MUST 包含完整的 SKILL.md 文档,说明如何使用 js-runner。 +系统 MUST 包含完整的 SKILL.md 文档,说明如何使用 lyxy-runner-js。 #### Scenario: SKILL.md 包含必要的 frontmatter - **WHEN** 大模型阅读 SKILL.md - **THEN** 文档顶部包含 YAML frontmatter -- **THEN** 包含 `name` 字段,值为 `js-runner` +- **THEN** 包含 `name` 字段,值为 `lyxy-runner-js` - **THEN** 包含 `description` 字段,描述技能的功能和使用场景 - **THEN** 可选包含 `compatibility` 字段,说明 Bun 依赖 #### Scenario: 安装说明 - **WHEN** 用户阅读 SKILL.md - **THEN** 文档包含 Bun 的安装说明和命令 -- **THEN** 文档说明 js-runner 的依赖要求 +- **THEN** 文档说明 lyxy-runner-js 的依赖要求 #### Scenario: 使用示例 - **WHEN** 用户阅读 SKILL.md diff --git a/openspec/specs/python-runner/spec.md b/openspec/specs/lyxy-runner-python/spec.md similarity index 97% rename from openspec/specs/python-runner/spec.md rename to openspec/specs/lyxy-runner-python/spec.md index 8fd6137..c07158a 100644 --- a/openspec/specs/python-runner/spec.md +++ b/openspec/specs/lyxy-runner-python/spec.md @@ -2,7 +2,7 @@ ## Purpose -Define requirements for the python-runner skill, which enables execution of Python scripts using uv with automatic dependency parsing, smart project detection, and flexible path handling. +Define requirements for the lyxy-runner-python skill, which enables execution of Python scripts using uv with automatic dependency parsing, smart project detection, and flexible path handling. ## Requirements diff --git a/skills/docx-reader/SKILL.md b/skills/lyxy-reader-docx/SKILL.md similarity index 84% rename from skills/docx-reader/SKILL.md rename to skills/lyxy-reader-docx/SKILL.md index f99435c..0bbee9e 100644 --- a/skills/docx-reader/SKILL.md +++ b/skills/lyxy-reader-docx/SKILL.md @@ -1,5 +1,5 @@ --- -name: docx-reader +name: lyxy-reader-docx description: 优先解析 docx 文档的 skill,将 DOCX 文件转换为纯文本内容,不支持图片和格式提取。 compatibility: Requires Python 3.6+ and at least one of: markitdown or python-docx --- @@ -10,18 +10,18 @@ compatibility: Requires Python 3.6+ and at least one of: markitdown or python-do ## Purpose -**依赖选项**: 此 skill 可以使用 python-runner skill(推荐)或直接使用 Python 执行。 +**依赖选项**: 此 skill 可以使用 lyxy-runner-python skill(推荐)或直接使用 Python 执行。 -### 优先使用 python-runner +### 优先使用 lyxy-runner-python -如果环境中存在 python-runner skill,应优先使用它来执行 docx_parser.py 脚本: -- python-runner 使用 uv 管理依赖,自动安装 markitdown 或 python-docx +如果环境中存在 lyxy-runner-python skill,应优先使用它来执行 docx_parser.py 脚本: +- lyxy-runner-python 使用 uv 管理依赖,自动安装 markitdown 或 python-docx - 环境隔离,不污染系统 Python - 跨平台兼容(Windows/macOS/Linux) ### 降级到直接执行 -如果环境中不存在 python-runner skill,则直接使用 Python 执行 docx_parser.py: +如果环境中不存在 lyxy-runner-python skill,则直接使用 Python 执行 docx_parser.py: - 需要手动安装 markitdown 或 python-docx - 脚本内部实现了多策略解析降级:MarkItDown → python-docx → XML 原生 @@ -97,27 +97,27 @@ compatibility: Requires Python 3.6+ and at least one of: markitdown or python-do ## Execution -### 优先使用 python-runner +### 优先使用 lyxy-runner-python -**推荐执行方式**(如果 python-runner skill 可用): +**推荐执行方式**(如果 lyxy-runner-python skill 可用): ```bash -# 使用 python-runner 执行(推荐) -uv run --with markitdown skills/docx-reader/scripts/docx_parser.py /path/to/document.docx +# 使用 lyxy-runner-python 执行(推荐) +uv run --with markitdown skills/lyxy-reader-docx/scripts/docx_parser.py /path/to/document.docx # 或使用 python-docx -uv run --with python-docx skills/docx-reader/scripts/docx_parser.py /path/to/document.docx +uv run --with python-docx skills/lyxy-reader-docx/scripts/docx_parser.py /path/to/document.docx ``` -**大模型应优先检查 python-runner skill 是否存在,如果存在则使用它执行。** +**大模型应优先检查 lyxy-runner-python skill 是否存在,如果存在则使用它执行。** ### 降级到直接执行 -如果 python-runner skill 不可用,则直接使用 Python: +如果 lyxy-runner-python skill 不可用,则直接使用 Python: ```bash # 直接使用 Python 执行 -python3 skills/docx-reader/scripts/docx_parser.py /path/to/document.docx +python3 skills/lyxy-reader-docx/scripts/docx_parser.py /path/to/document.docx ``` **提示用户**: 建议用户安装 markitdown 或 python-docx 以获得更好的解析效果: @@ -209,9 +209,9 @@ python3 docx_parser.py -s "关键词" -n 5 /path/to/document.docx ## 依赖安装 -### 推荐方式:使用 python-runner +### 推荐方式:使用 lyxy-runner-python -如果使用 python-runner skill,依赖会自动管理,无需手动安装。 +如果使用 lyxy-runner-python skill,依赖会自动管理,无需手动安装。 ### 手动安装(降级模式) @@ -253,7 +253,7 @@ pip install python-docx ## Notes -### 为什么选择 python-runner? +### 为什么选择 lyxy-runner-python? | 特性 | 优势 | | ------ | ------ | @@ -265,9 +265,9 @@ pip install python-docx ### 最佳实践 -1. **优先使用 python-runner**: 如果环境中存在,应优先使用 python-runner 执行脚本 +1. **优先使用 lyxy-runner-python**: 如果环境中存在,应优先使用 lyxy-runner-python 执行脚本 2. **大文件处理**: 对于大文档,建议使用章节提取或关键词搜索来限制处理范围 -3. **依赖管理**: 使用 python-runner 可以自动管理依赖,避免环境配置问题 +3. **依赖管理**: 使用 lyxy-runner-python 可以自动管理依赖,避免环境配置问题 4. **错误处理**: 脚本会自动尝试多种解析方法,确保最大兼容性 5. **禁止自动安装**: 在降级到直接 Python 执行时,仅向用户提示安装依赖,不得自动执行 pip install diff --git a/skills/docx-reader/docx_parser.md b/skills/lyxy-reader-docx/docx_parser.md similarity index 100% rename from skills/docx-reader/docx_parser.md rename to skills/lyxy-reader-docx/docx_parser.md diff --git a/skills/docx-reader/scripts/docx_parser.py b/skills/lyxy-reader-docx/scripts/docx_parser.py similarity index 100% rename from skills/docx-reader/scripts/docx_parser.py rename to skills/lyxy-reader-docx/scripts/docx_parser.py diff --git a/skills/js-runner/SKILL.md b/skills/lyxy-runner-js/SKILL.md similarity index 90% rename from skills/js-runner/SKILL.md rename to skills/lyxy-runner-js/SKILL.md index 9a571b1..f3e2437 100644 --- a/skills/js-runner/SKILL.md +++ b/skills/lyxy-runner-js/SKILL.md @@ -1,10 +1,10 @@ --- -name: js-runner +name: lyxy-runner-js description: Any task that requires Javascript/Typescript processing should use this skill. compatibility: Requires Bun runtime (https://bun.sh) --- -# js-runner +# lyxy-runner-js 基于 Bun 的 JavaScript/TypeScript 执行技能,提供隔离的脚本执行和自动依赖管理。 @@ -24,7 +24,7 @@ compatibility: Requires Bun runtime (https://bun.sh) ### 安装 Bun -js-runner 需要安装 Bun。Bun 是一个快速的 JavaScript 运行时,内置包管理器。 +lyxy-runner-js 需要安装 Bun。Bun 是一个快速的 JavaScript 运行时,内置包管理器。 **macOS/Linux:** @@ -120,11 +120,11 @@ bun ./scripts/new-script.js bun --version # 步骤 2: 生成临时文件路径 -TEMP_FILE=$(bun skills/js-runner/scripts/get_temp_path.js js) +TEMP_FILE=$(bun skills/lyxy-runner-js/scripts/get_temp_path.js js) # 步骤 3: 将脚本内容写入临时文件 cat < "$TEMP_FILE" -const greeting = "Hello from js-runner!"; +const greeting = "Hello from lyxy-runner-js!"; console.log(greeting); EOF @@ -139,7 +139,7 @@ bun "$TEMP_FILE" ```bash # 生成 TypeScript 临时文件 -TEMP_TS=$(bun skills/js-runner/scripts/get_temp_path.js ts) +TEMP_TS=$(bun skills/lyxy-runner-js/scripts/get_temp_path.js ts) # 写入 TypeScript 脚本 cat < "$TEMP_TS" @@ -192,19 +192,19 @@ const axios = require('axios') **CLI 使用方式:** ```bash -bun skills/js-runner/scripts/get_temp_path.js +bun skills/lyxy-runner-js/scripts/get_temp_path.js ``` **参数:** - `extension` (可选): 文件扩展名。默认为 `js`。常用值: `js`, `ts`, `mjs`, `mts` -**输出:** 返回类似 `/var/folders/.../js-runner-1234567890-abc123.js` 的路径 +**输出:** 返回类似 `/var/folders/.../lyxy-runner-js-1234567890-abc123.js` 的路径 **路径格式:** - 使用操作系统临时目录(Unix 上为 `/tmp`,Windows 上为 `%TEMP%`) -- 前缀: `js-runner-` +- 前缀: `lyxy-runner-js-` - 时间戳: 自纪元以来的毫秒数 - 随机字符串: 7 字符字母数字 - 扩展名: 参数中提供的值 @@ -212,11 +212,11 @@ bun skills/js-runner/scripts/get_temp_path.js **示例:** ```bash -$ bun skills/js-runner/scripts/get_temp_path.js js -/var/folders/8m/0hm18pdd7ts2bwp0530drz500000gn/T/js-runner-1770257905333-na6ujx.js +$ bun skills/lyxy-runner-js/scripts/get_temp_path.js js +/var/folders/8m/0hm18pdd7ts2bwp0530drz500000gn/T/lyxy-runner-js-1770257905333-na6ujx.js -$ bun skills/js-runner/scripts/get_temp_path.js ts -/var/folders/8m/0hm18pdd7ts2bwp0530drz500000gn/T/js-runner-1770257905333-v8yzt.ts +$ bun skills/lyxy-runner-js/scripts/get_temp_path.js ts +/var/folders/8m/0hm18pdd7ts2bwp0530drz500000gn/T/lyxy-runner-js-1770257905333-v8yzt.ts ``` ## 错误处理 diff --git a/skills/js-runner/scripts/get_temp_path.js b/skills/lyxy-runner-js/scripts/get_temp_path.js similarity index 81% rename from skills/js-runner/scripts/get_temp_path.js rename to skills/lyxy-runner-js/scripts/get_temp_path.js index 87784c8..12e396f 100644 --- a/skills/js-runner/scripts/get_temp_path.js +++ b/skills/lyxy-runner-js/scripts/get_temp_path.js @@ -4,7 +4,7 @@ import { join } from "path"; export function getTempPath(extension) { const timestamp = Date.now(); const random = Math.random().toString(36).substring(7); - return join(tmpdir(), `js-runner-${timestamp}-${random}.${extension}`); + return join(tmpdir(), `lyxy-runner-js-${timestamp}-${random}.${extension}`); } // CLI interface: accepts extension as first argument diff --git a/skills/python-runner/SKILL.md b/skills/lyxy-runner-python/SKILL.md similarity index 99% rename from skills/python-runner/SKILL.md rename to skills/lyxy-runner-python/SKILL.md index a9ace9d..e967183 100644 --- a/skills/python-runner/SKILL.md +++ b/skills/lyxy-runner-python/SKILL.md @@ -1,5 +1,5 @@ --- -name: python-runner +name: lyxy-runner-python description: Any task that requires Python processing should use this skill. --- diff --git a/skills/python-runner/scripts/get_temp_path.py b/skills/lyxy-runner-python/scripts/get_temp_path.py similarity index 100% rename from skills/python-runner/scripts/get_temp_path.py rename to skills/lyxy-runner-python/scripts/get_temp_path.py