Skill onescience-cli
✓ VerificadoEjecuta subcomandos de OneScience en entornos remotos SSH o SLURM seleccionando automáticamente los canales de ejecución según la prioridad del comando.
- Estrellas en GitHub
- 24
- Archivos
- 4
- Último commit
- 12 nov 2026
- Licencia
- MIT
- Herramientas permitidas
- —
¿Qué hace la skill onescience-cli?
onescience-cli es una agent skill. Ejecuta subcomandos de OneScience en entornos remotos SSH o SLURM seleccionando automáticamente los canales de ejecución según la prioridad del comando.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill onescience-cli
La función principal de este SKILL es ejecutar subcomandos de OneScience en entornos remotos SSH o SLURM. Actúa como un punto de entrada unificado para ejecutar cualquier comando compatible con la CLI de OneScience, determinando automáticamente el canal de ejecución adecuado según el nivel de prioridad del comando. El sistema categoriza las tareas en niveles lightweight, normal o compute para optimizar el rendimiento.
Cuando un agente carga este SKILL, sigue un proceso de tres etapas que consiste en descubrimiento, precheck y ejecución. Los comandos lightweight utilizan una vía rápida que omite el sondeo del entorno y las comprobaciones, mientras que los comandos de nivel compute pasan por una detección completa de hardware y verificación de nodos de cómputo. Si el entorno no está listo o se requiere un nodo de cómputo, el SKILL delega las tareas a onescience-installer o onescience-runtime respectivamente. Genera resultados de ejecución, salidas de comandos y logs sincronizados desde directorios remotos hacia el entorno local.
Lo que un agente puede hacer con ella
- 1Gestionar conexiones SSH remotasEl SKILL puede descubrir y conectarse automáticamente a hosts remotos utilizando configuraciones de SSH y archivos de identidad.
Escrito a partir del SKILL.md de la skill. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar la skill onescience-cli
Cada comando copia la carpeta de la skill al directorio de skills del cliente. Reinicia el cliente o inicia una nueva sesión para cargarla.Instalar la skill onescience-cli en Plugin
/plugin marketplace add onescience-ai/OneSkills /plugin install oneskills@oneskills
Instalar la skill onescience-cli en Claude Code
~/.claude/skills/onescience-cli/SKILL.md
$ npx degit onescience-ai/OneSkills/skills/onescience-cli ~/.claude/skills/onescience-cliInstalar la skill onescience-cli en Claude Code (project)
.claude/skills/onescience-cli/SKILL.md
$ npx degit onescience-ai/OneSkills/skills/onescience-cli .claude/skills/onescience-cliInstalar la skill onescience-cli en Codex
~/.agents/skills/onescience-cli/SKILL.md
$ npx degit onescience-ai/OneSkills/skills/onescience-cli ~/.agents/skills/onescience-cliInstalar la skill onescience-cli en Gemini CLI
~/.gemini/skills/onescience-cli/SKILL.md
$ npx degit onescience-ai/OneSkills/skills/onescience-cli ~/.gemini/skills/onescience-cliInstalar la skill onescience-cli en Claude.ai
npx degit onescience-ai/OneSkills/skills/onescience-cli onescience-cli && zip -r onescience-cli.zip onescience-cli # claude.ai → Customize → Skills → + → Create skill → Upload a skill → onescience-cli.zip
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Superó nuestras comprobaciones automáticas. No es una auditoría de seguridad: lee los scripts antes de dejar que un agente los ejecute. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesibleonescience-ai/oneskills/skills/onescience-cli is public and reachablegithub.com/onescience-ai/oneskills/tree/HEAD/skills/onescien ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit 2026-11-12github.com/onescience-ai/oneskills/commits ↗Aprobado
- Sin descargar y ejecutar ni robo de credenciales en los scriptsNo scripts in the skill folderAprobado
- Sin instrucciones ocultas en SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/onescience-ai/oneskills/blob/HEAD/skills/onescien ↗Aprobado
- Las herramientas preaprobadas están acotadasNo pre-approved tools; the agent asks before using onegithub.com/onescience-ai/oneskills/blob/HEAD/skills/onescien ↗Aprobado
- SKILL.md sigue el formato de Agent Skillsthe description does not say when to use the skillgithub.com/onescience-ai/oneskills/blob/HEAD/skills/onescien ↗Hallazgo
SKILL.md
Ver en GitHub输入获取方式
本技能支持两种输入方式:
- 上下文 handoff(默认):从调用方传入的
step_handoff获取任务信息。 - 文件 handoff(autonomous_mode):从
.onescience/handoff/step_{step_id}.yaml读取任务信息。执行后,将结果写入.onescience/handoff/step_{step_id}_result.yaml。
启动时优先检查 .onescience/handoff/ 目录是否存在对应的交接文件;若存在则使用文件模式,否则使用上下文模式。
文件交接格式参见 skills/onescience-orchestrator/references/file_handoff_contract.md。
OneScience CLI 技能
本技能根目录: 与当前 SKILL.md 同目录。资产路径均按本技能根目录解析,不按当前工作目录猜测。
需要环境检测与远程连接细则时,读取 ./references/cli_rules.md。
需要可渲染命令模板时,读取 ./references/cli_flow.md。
1. 职责与边界
本技能是在远端环境执行任意 onescience 命令的统一入口。onescience 命令需预先安装,本技能不检查或安装 onescience 工具。本技能不限制子命令范围,任何 onescience 支持的子命令均可透传执行。
负责:
- 执行
discover -> precheck(先检查计算节点 → 再检查环境)-> execute运行闭环 - 根据命令级别(lightweight/normal/compute)自动选择执行通道
- 轻量命令(help/list/info/config)走快速通道,跳过环境探测与检查
- 消费
execution_mode、access_mode、execution_channel、hardware_profile - 连接远端环境(参照
onescience-installer的主机发现与连接方式) - 环境检查:确认当前 shell 在计算节点上、环境已加载
- 调用
onescience命令执行用户请求的子命令 - 返回执行结果与状态
不负责:
- 安装或修复 OneScience 完整环境(由
onescience-installer负责) - 安装或修复
onescience工具 - 计算节点申请与 SLURM 作业提交(由
onescience-runtime负责) - 修改远端代码、配置或依赖
- 安装系统级组件或驱动
- 深度诊断训练/测试失败的业务原因
- 决定当前命令步骤之外的后续业务 executor 或全局工作流下一阶段
2. 固定阶段
| 阶段 | 触发条件 | 目标 | 关键输出 |
|---|---|---|---|
discover |
每次执行 | 命令级别判定 + 连接远端环境,收集运行目标与环境事实 | execution_mode、hardware_profile、remote_access_info、command_level |
precheck |
非 lightweight 级别 | 检查环境是否满足运行条件(先计算节点 → 再环境) | env_ready、on_compute_node、precheck_outcome |
execute |
precheck 通过或 lightweight 快速通道 | 通过 onescience 命令执行用户请求的子命令 |
onescience_command、execution_state、output |
三阶段按顺序推进,每阶段向用户实时汇报当前步骤。lightweight 级别跳过 precheck 直接进入 execute 快速通道。
precheck 发现不在计算节点时,交由 onescience-runtime 通过 sbatch 提交作业处理。precheck 发现环境未加载时,提示调用 onescience-installer。
CLI 只允许在当前命令步骤内进行这些显式委托:onescience-runtime 用于计算节点申请 / 提交 / 运行治理,onescience-installer 用于环境初始化。除这两类窄委托外,CLI 不得自行决定其他 downstream 业务技能;若后续问题超出 CLI 当前命令执行边界,必须返回 onescience-orchestrator 决策。
3. Discover 阶段
3.1 消费上游信息
优先消费:
skills/onescience-runtime/assets/execution_profiles.jsonskills/onescience-runtime/assets/backend_specs.json- 上游传递的
hardware_profile、execution_mode、access_mode
3.2 执行域判定
若上游未给出可靠 execution_mode,用 cli_flow.md 的 §0 判定当前 shell 是否已在目标环境中。
IN_CONTAINER=yes:视为local_slurm,当前 shell 即为执行目标IN_CONTAINER=no:视为remote_slurm,必须先完成主机发现
3.2a 命令级别判定
根据 cli_rules.md §0.1 规则判定当前命令级别:
| 级别 | 包含命令 |
|---|---|
lightweight |
help, --version, list, info, config show/get |
normal |
log, status, upgrade, remock, config set |
compute |
bench 及所有训练/推理/评估命令 |
lightweight→ 跳过 §1 环境探测和 §3 环境检查,走快速通道normal→ 跳过 §1 环境探测和 §2 计算节点判定,执行 §3 环境检查compute→ 执行完整三阶段
3.3 主机发现(remote_slurm)
参照 onescience-installer 的主机发现流程:
- 读取
onescience.json的runtime.remote - 读取
~/.ssh/config - 仍缺
user、host/hostname、port、identity_file中任一项时,只询问缺失项 - 多个 Host 候选时,只询问选哪一个
Host 别名优先:当 ~/.ssh/config 中存在配置完整的 Host 条目时,使用 {ssh_host_alias} 替代完整的 -p -i user@host 参数。
3.4 §1 远端环境探测(硬件探测)
仅对 compute 级别执行:lightweight 和 normal 级别跳过本节。
执行命令:
remote_slurm:执行cli_flow.md的§1local_slurm:执行cli_flow.md的§1b
探测内容:
- NVIDIA GPU 检测(
nvidia-smi) - AMD DCU 检测(
hipcc) - 工具包目录检测(
/opt/dtk-*、/opt/rocm*、/usr/local/cuda*) - 设备文件检测(
/dev/kfd) - 模块环境检测(
module avail)
实时汇报:🔄 正在执行 §1 远端环境探测...
4. Precheck 阶段
命令级别决定跳过哪些检查步骤:
| 级别 | §2 计算节点判定 | §3 环境加载检查 |
|---|---|---|
lightweight |
跳过 | 跳过(走快速通道) |
normal |
跳过 | 执行 |
compute |
执行 | 执行 |
4.1 §2 计算节点判定(第一步)
仅对 compute 级别执行。
执行命令:
remote_slurm:执行cli_flow.md的§2远端判定local_slurm:执行cli_flow.md的§2就地判定
检查内容:
SLURM_NODEID:检查是否已设置SLURM_JOB_ID:检查是否已设置SLURM_JOB_NODELIST:检查是否已设置SLURM_NTASKS:检查是否已设置SLURM_CLUSTER_NAME:检查是否已设置hostname:获取当前主机名scontrol show node:尝试获取节点信息
实时汇报:📋 正在执行 §2 计算节点判定...
不在计算节点时:调用 onescience-runtime 技能,通过 sbatch 提交作业到计算节点执行。
4.2 §3 环境加载检查(第二步)
对 normal 和 compute 级别执行。
执行命令:
remote_slurm:执行cli_flow.md的§3远端检查local_slurm:执行cli_flow.md的§3就地检查
检查内容:
- Conda 环境列表:检查
onescience311是否存在 - 当前激活环境:检查
$CONDA_DEFAULT_ENV是否为onescience311 - 已加载模块:检查
module list输出 - OneScience 包:检查
python -c "import onescience; print(onescience.__version__)"是否成功
实时汇报:📋 正在执行 §3 环境加载检查...
不满足条件时:调用 onescience-installer 技能完成环境初始化。
5. Execute 阶段
5.1 onescience 命令
命令形式为:
onescience {onescience_subcommand} {onescience_args}
其中 {onescience_subcommand} 是用户请求的子命令,{onescience_args} 是子命令后的附加参数。
5.2 模板选择
根据命令级别和执行模式选择模板:
| 级别 | remote_slurm | local_slurm |
|---|---|---|
| lightweight | §5 快速执行通道 |
§5 就地 |
| normal | §6 普通执行命令 |
§6 就地 |
| compute | §4 通用执行命令 |
§7 通用执行命令 |
快速通道(lightweight)特点:
- 跳过环境探测、计算节点判定、环境加载检查
- 直接执行 onescience 命令
- 无需设置 WORLD_SIZE/MASTER_ADDR/MASTER_PORT 等环境变量
- 无需切换工作目录
普通通道(normal)特点:
- 跳过环境探测和计算节点判定
- 已确认环境就绪,直接执行
计算通道(compute)特点:
- 完整三阶段流程
- 需要确认在计算节点上
- 需要设置完整的训练环境变量
5.3 执行方式
remote_slurm:通过 SSH 在远端执行onescience命令- lightweight:直接在远端执行(登录节点即可)
- normal:直接在远端执行(登录节点即可)
- compute:需在计算节点上执行;不在时通过
onescience-runtime的 sbatch 提交作业
local_slurm:在当前计算节点上直接执行onescience命令
5.4 日志与输出管理
日志路径:
- 远端日志目录:
{remote_work_dir}/.onescience/cli_logs - 远端输出目录:
{remote_work_dir}/.onescience/output
日志同步:
remote_slurm:执行完成后通过scp同步日志到本地.onescience/cli_logs/local_slurm:直接复制到本地.onescience/cli_logs/
输出展示:
- 执行日志路径(远端 + 本地)
- 输出文件列表
- 关键指标(如训练 loss、准确率等)
6. 用户交互
只在以下情况询问用户:
- 主机发现后仍缺 SSH 四元组中的字段
- 多个 Host 候选需要择一
- 不在计算节点上(compute 级别),建议交由
onescience-runtime通过 sbatch 提交作业 - 环境未加载(env_not_ready),建议调用
onescience-installer
7. 最终输出
每次阶段汇报或执行完成时,直接向用户展示以下内容,无需用户再次询问:
快速通道输出(lightweight 级别)
🚀 快速通道:跳过环境探测与检查,直接执行
📋 目标主机:{hostname}
📋 命令级别:lightweight
🚀 execute:正在执行 onescience {onescience_subcommand} {onescience_args}...
📊 输出结果:
{output}
📊 执行状态:{execution_state}
📊 退出码:{exit_code}
标准通道输出(normal / compute 级别)
🔄 discover:正在连接远端环境...
📋 目标主机:{hostname}
📋 硬件类型:{required_backend_id}
📋 执行模式:{execution_mode}
🔄 precheck:正在检查环境...
📋 计算节点状态:{on_compute_node}
📋 环境加载状态:{env_ready}
🚀 execute:正在执行 onescience {onescience_subcommand} {onescience_args}...
📊 输出结果:
{output}
📊 执行状态:{execution_state}
📊 退出码:{exit_code}
📂 日志路径:{log_path}
失败时输出错误诊断
❌ 执行失败
📋 错误类型:{error_category}
📋 错误信息:{error_message}
📋 建议:{suggested_action}
📊 退出码:{exit_code}
错误类型说明
| 错误类型 | 说明 |
|---|---|
command_not_found |
onescience 命令未找到 |
permission_denied |
权限不足 |
missing_config |
配置文件缺失 |
missing_data |
数据文件缺失 |
out_of_memory |
内存不足 |
network_error |
网络错误 |
cli_error |
onescience 命令执行错误 |
ssh_failure |
SSH 连接失败 |
8. 跨技能调用与验证
8.1 调用 onescience-installer 后的验证
验证流程:
- 等待
onescience-installer返回verify_state=verified - 重新执行 §3 环境加载检查
- 确认
env_ready=true后才进入 execute - 若仍为
false,输出:❌ 环境安装失败 📋 建议:手动检查环境或联系管理员
8.2 调用 onescience-runtime 后的状态跟踪
状态跟踪流程:
- 调用 runtime 提交 sbatch 作业
- 消费 runtime 返回的提交状态、日志引用与执行结果
- 若 runtime 返回的是继续等待 / 恢复当前命令步骤所需的信息,则在 CLI 当前命令上下文内继续完成展示
- 若 runtime 返回的阻断或下一动作已超出 CLI 当前命令边界,则返回
onescience-orchestrator决策
CLI 不应在 runtime 已接管提交 / 状态 / 日志治理后,再自行扩展为 runtime 管理器(例如直接轮询 squeue 代替 runtime 的状态治理职责)。
9. 参考文件
| 文件 | 用途 |
|---|---|
./references/cli_flow.md |
可渲染命令模板(§0–§7) |
./references/cli_rules.md |
discover / precheck / execute 细则,含命令分级、快速通道和 Host Key 容错 |
skills/onescience-installer/SKILL.md |
环境初始化委托给 onescience-installer 技能处理 |
skills/onescience-runtime/SKILL.md |
计算节点申请与作业提交委托给 onescience-runtime 技能处理 |
Archivos de esta skill
4Preguntas sobre la skill onescience-cli
¿Cómo instalo la skill onescience-cli en Claude Code?
Ejecuta npx degit onescience-ai/OneSkills/skills/onescience-cli ~/.claude/skills/onescience-cli. Claude Code carga las skills desde ~/.claude/skills (todos los proyectos) o .claude/skills (un proyecto) y usa una skill cuando su descripción coincide con la tarea.
¿Qué clientes pueden usar la skill onescience-cli?
Cualquier cliente que lea el formato Agent Skills: Claude Code, Codex, Gemini CLI y claude.ai (subir como ZIP). Los scripts de la skill se ejecutan solo donde el cliente permite la ejecución de código.
¿Cuál es la responsabilidad del SKILL onescience-cli?
Se encarga de la programación y ejecución de los comandos de OneScience, incluyendo la determinación del nivel del comando y la selección del canal de ejecución remota.
¿Cómo gestiona el SKILL los diferentes niveles de comandos?
Categoriza los comandos en niveles lightweight, normal o compute para decidir si se omiten la detección del entorno y las comprobaciones previas.
¿Qué ocurre si el entorno no se ha cargado correctamente?
El SKILL solicitará llamar al SKILL onescience-installer para completar la inicialización del entorno.
¿Qué sucede si el comando debe ejecutarse en un nodo de cómputo pero se encuentra actualmente en un nodo de login?
El SKILL delega la tarea al SKILL onescience-runtime para enviar un trabajo mediante sbatch.