
简介这是一套面向A股投资与盯盘场景的OpenClaw Skill合集适合量化投资者、盘中盯盘用户及OpenClaw技能开发者使用。技能基于TickFlow API实现实时行情监控、收盘后复盘、多维综合分析、关键价位跟踪与异常告警并集成东财秒想Skills与金十数据MCP能力可覆盖行情获取、资讯解析与决策辅助等典型环节。资源包为zip格式共6个文件以Markdown文档为主包含技能说明、使用指南与结构说明另有Python脚本用于认证或数据交互txt文件提供配置参考.gitignore便于代码管理。压缩包仅15KB体量轻巧适合快速导入OpenClaw环境并二次定制。已有33人学习下载对于希望利用OpenClaw构建轻量级股票监控工作流的用户这份合集提供了可直接落地的技能定义、调用示例与配置思路能有效缩短从环境搭建到实际盯盘告警的上手路径。1. 拿到 OpenClaw Skill 合集 zip 之后这包东西到底怎么用起来一个 zip 传到手里文件名写着“Vincent 的 OpenClaw Skill 合集”解压之后是一堆 SKILL.md、scripts/ 和不清楚用途的子目录——这是许多人第一次接触 OpenClaw 时的真实开场。OpenClaw 是一个高度可扩展的 AI 智能体框架Skill 是它让模型获得工具能力的主要载体装一个 Skill模型就知道在什么场景下调哪个脚本、按什么格式输出。下面顺着“一个 zip 怎么变成可用技能”这条主线把 Skill 的内部结构拆开把 openclaw 部署、模型接入、目录挂载这组动作讲清楚再给一份避坑清单和验证方法。适合两类人拿到别人分享的 Skill 包不知道怎么落地以及准备自己写 Skill、把 agent 能力接进业务里的开发者。2. 拆解 Skill 合集SKILL.md、scripts 与目录结构先让模型知道手里有什么2.1 Skill 在 OpenClaw 里的定位从 prompt 模板到可复用工具没装 Skill 的 OpenClaw本质是“一个模型加一个对话壳”。你让它整理会议纪要它每次都要临时发挥你让它提交代码它只能给你编一段 git 命令让你自己去跑。Skill 改变的是这件事把一段专业流程固化成一个目录模型先读说明判断当前用户请求是不是这个 Skill 的菜是就直接调目录里的脚本执行把结果拿回来再用自然语言讲给用户。所以 Skill 在 OpenClaw 里的定位不是应用商店里的“插件”而是一份“说明书加工具”的组合。说明书写给模型读脚本写给机器执行二者靠相对路径绑定。这个思想在 agent 生态里很常见Anthropic 提过类似的 Agent Skills 规范OpenClaw 这类框架基本沿用了相同的约定Skill 目录里必须有一个 SKILL.md其余 scripts/、assets/ 都是可选增强。实际工程里一个 Skill 合集的体积往往由脚本和资源文件撑起来真正决定“模型会不会用它”的入口反而是那份不起眼的 SKILL.md。这个定位也解释了为什么 OpenClaw 社区有这么多现成 Skillgit 工作流、codex 论文分析、gemini 接口封装、豆包模型桥接甚至 ROS2 机器人调试场景都有技能包。你不需要教模型怎么写代码只需要告诉它“遇到什么请求去跑哪个目录下的哪条命令”。模型是路由器脚本是执行器SKILL.md 是路由表——这三样东西凑齐一个能干活的最小 agent 就成立了。2.2 解压之后应该看到什么目录清单与文件命名约定Skill 合集的 zip 虽然叫法五花八门但只要打包的人守规矩解压后的骨架基本逃不出下面这张图Vincent-OpenClaw-Skills/ ├── README.md ├── manifest.json ├── skills/ │ ├── git-workflow/ │ │ ├── SKILL.md │ │ └── scripts/ │ │ └── commit.py │ ├── code-review/ │ │ ├── SKILL.md │ │ └── scripts/ │ │ └── review.py │ └── doc-generator/ │ ├── SKILL.md │ └── assets/ │ └── meeting-template.docx └── install.sh这段结构里skills/ 是 OpenClaw 的扫描根目录下面每个子目录都算一个独立 Skill。git-workflow 这类目录名建议用短横线连字符避免空格和中文字段名否则模型扫描时容易出编码问题这也是共享 Skill 包最常见的命名隐患。scripts/ 放可执行脚本python、bash、编译好的二进制都行assets/ 放模板、参考文档这类非执行资源doc-generator 就是从 assets 里读模板文件再生成文档的。manifest.json 不是必需但质量高的合集一般会带常见字段有 name、description、dependencies、paths。它的作用是给安装器看的OpenClaw 扫目录时不会依赖它但如果你要批量审计合集中有哪些 Skill、各自依赖什么 Python 包看一眼 manifest 比逐个打开 SKILL.md 快得多。install.sh 是另一个值得先看的文件它通常只干三件事把 skills/ 底下的内容复制到 OpenClaw 的技能目录、检查运行环境、装依赖。我一般拿到 zip 先不急着解压先把它列出来看看 install.sh 里的安装路径跟自己本机的部署方式对不对得上。2.3 SKILL.md 的写法YAML frontmatter 与正文指令打开任意一个 Skill核心只有一份 SKILL.md。它的结构分两块开头一段被 YAML frontmatter 包裹的元信息后面是给模型的指令正文。一个典型的 SKILL.md 长这样--- name: git-commit description: 按团队规范生成 git 提交信息并提交代码。当用户提到提交代码、commit、push 时使用。 --- 1. 先运行 git status 查看改动。 2. 运行 python3 scripts/commit.py --message 用户想表达的改动描述。 3. 把脚本输出原样返回给用户。frontmatter 里最重要的字段是 description。模型不是按文件名决定调不调用而是按 description 和当前对话语义做匹配所以 description 写得越具体模型越容易在正确时机掏出这个 Skill。通用经验是description 里明确写“当用户提到 XX 时使用”配上两三个触发词召回率会明显好过一句含糊的“处理 git 相关操作”。正文部分不用长篇大论但必须把执行顺序写清楚。模型是个天然的路由器你给它三条命令它就按三条跑你给它一段散文它就自由发挥。scripts 的调用路径要写相对路径不要出现 C:/Users/xxx 这类绝对路径否则换机器立刻失效。正文末尾还要加失败兜底脚本报错时怎么办、返回非零退出码要不要重试这些边界条件比操作步骤更容易被新人漏掉。脚本本身则约定只向 stdout 输出有效信息调试日志写 stderr 或独立日志文件因为 OpenClaw 会把 stdout 当作模型可见的返回结果混杂内容会让模型归纳时出错。3. 把 zip 装成能跑的 SkillOpenClaw 部署、模型接入与内网落地3.1 先装底座OpenClaw 主程序、Ollama 与 API 两条模型通路Skill 不是独立运行的程序它寄生在 OpenClaw 这个壳里第一件事是先把壳装好。常见做法是从开源仓库把代码拉下来建一个 Python 虚拟环境再装依赖git clone openclaw 仓库地址 openclaw cd openclaw python -m venv .venv source .venv/bin/activate # Windows 用 .venv\Scripts\activate pip install -r requirements.txt openclaw --init初始化命令会生成一份默认配置接下来要决定模型通路。社区里被问得最多的一句话是“OpenClaw 只能用接入 API 的方式使用算力吗”答案不是。OpenClaw 支持两条通路一是本地模型通过 Ollama 起一个服务模型文件在自己机器上完全离线也能跑适合内网服务器和隐私要求高的场景二是 OpenAI 兼容的远端 API豆包、DeepSeek、gemini、codex 这类接口都可以接。本地通路省心远端通路效果上限更高实际部署往往两头都配一条为主一条为备。本地通路的配置很直接model ollama/qwen2.5:7b base_url http://127.0.0.1:11434model 里写 Ollama 的模型标签base_url 指向 Ollama 的默认端口。这里有个细节Windows 下很多人习惯用 python 命令但 OpenClaw 的执行器更认 python3Skill 脚本里的 shebang 和命令也用 python3统一之后可以避免“手动能跑、模型一调就找不到解释器”的怪现象。想让服务器上其他机器访问模型服务启动 Ollama 时把监听地址放开后面讲内网部署时再展开。3.2 Windows 上的 Companion 配置与目录挂载Windows 上部署 OpenClaw 是大多数拿共享 Skill 包的人的第一现场关键在两点路径和权限。路径一是 skills_path指向解压后真正装着技能子目录的那一层路径二是 Python 解释器和脚本执行权限Windows 默认对 .py 文件不直接可执行所以模型调用脚本时要通过 python3 显式拉起。companion 是 Windows 上常驻后台的一种运行模式它让 OpenClaw 持续监听配置和技能目录的变化改完 SKILL.md 不用重启整个服务。配置片段长这样skills_path D:/agents/skills enabled_skills [git-workflow, code-review, doc-generator] [companion] enabled true watch truecompanion 的 watch 打开后往 skills_path 里丢一个新 Skill 目录几秒内它就会完成扫描。enabled_skills 做白名单只加载合集中真正需要的那几个比一股脑全开好管理。Windows 路径里建议统一用正斜杠用反斜杠时记得在 TOML 字符串里转义否则路径解析直接翻车。配好之后执行一次技能列表查看这是判断挂载是否成功的第一个动作openclaw skill list看到自己的技能名输出说明目录挂载这关过了。如果列表为空不要急着怀疑框架坏了九成是 skills_path 指错了层级这个问题后面专门讲。3.3 安卓 Termux 与内网服务器的部署路径Skill 合集上手机跑是偏门但真实的需求社区里“termux 安装 openclaw 手机版”一直被问。Termux 是安卓上的终端模拟器OpenClaw 这类 Python 项目在里面能装步骤就是常规 Linux 流程pkg update pkg install python git git clone openclaw 仓库地址 cd openclaw pip install -r requirements.txt手机端建议只挂轻量 Skill再配一个 1.5B 或 3B 的量化模型做笔记整理和事项提醒够用。zip 包里如果带了重负载脚本别指望在手机上跑算力撑不住。内网服务器的部署思路和 Termux 相反它追求不依赖外部服务把 Ollama 监听设为 0.0.0.0模型和 Skill 全部放内网安装包提前拷进去。Skill 目录挂载之外还要做权限白名单因为 Skill 脚本本质是本地执行命令OpenClaw 默认会拦掉不在白名单里的指令。权限漏配会出现一种很迷惑的现象Skill 列表里看得到名字模型也决定调用了但执行结果一直是权限不足。配置里给执行器放行就能解决[permissions] allowlist [python3, bash, git, ls]白名单按 Skill 实际用到的命令收紧不要无脑放行 rm、curl 这类高危命令。内网环境尤其要控 curl 和网络下载类命令防止某个 Skill 脚本被恶意修改后把数据带出去。配置完跑一次技能列表和一次真实调用再算部署完成。4. 参数调优与验证让 Skill 被模型主动调用而不是躺目录里4.1 三个必调参数model、skills_path 与单 Skill 开关装完容易调好难。很多人的 Skill 合集部署完模型就是不去碰里面的技能这时候先检查三个参数。参数作用建议model决定模型能力和上下文长度本地选 7B 以上远端按效果选上下文越长对 Skill 描述越友好skills_path技能扫描根目录指向真实装 Skill 子目录的那一层而不是 zip 外层文件夹enabled_skills单个 Skill 开关按需列出别用全量加载model 参数影响的是“看懂 description 的能力”。模型太小时它可能把两个相似技能的 description 混淆明明该用 code-review 却调了 git-workflow模型够大时哪怕 description 写得糙一点也能歪打正着。所以先定模型再写描述顺序不要反。skills_path 是路径问题zip 解压后外层常见多套一层目录扫描根指错就全军覆没。enabled_skills 是运营思路。合集中的 Skill 不是越多越好30 个全开模型每轮对话都要把一堆 description 塞进上下文推理变慢误召变多。我一般只开跟当前项目相关的三五个把调用频率高的写在前面。还有一个容易被忽略的隐性参数是 temp也就是采样温度做 Skill 编排时建议压在 0.3 以下温度太高模型会“发挥创意”跳过脚本直接凭想象回答。4.2 写一个测试 Skill验证合集能被正确加载为了确认整套链路通我会先放一个不可能失败的最简 Skill它只有一个职责返回当前时间。--- name: current-time description: 获取当前服务器时间。当用户询问现在几点、当前时间、当前日期时使用。 --- 运行 python3 scripts/time.py把脚本输出直接回复给用户。#!/usr/bin/env python3 from datetime import datetime print(datetime.now().strftime(%Y-%m-%d %H:%M:%S))放好后去对话里问一句“现在几点”。如果模型调用了脚本它会返回真实时间并带出类似“我查了一下服务器时间”的措辞如果它没加载到 Skill就会凭训练记忆编一个时间这个错误非常容易被忽视。所以这个测试 Skill 的价值不只是通路验证它同时校验了模型对 description 的匹配能力。再往下验证脚本本身能不能在 OpenClaw 的执行环境里跑不要借用会话环境。先在项目目录手动执行python3 scripts/time.py确认依赖和路径都对再让模型去调。这一步能筛掉大量“模型配置看起来没问题但脚本一执行就报错”的情况。等这个最简 Skill 通了再逐个引入合集里的正式 Skill用同样的方式触发能少踩一半坑。提示如果模型直接报出当前时间而日志里没有任何调用记录那它是凭训练记忆作答不是 Skill 生效需要回去检查加载和匹配。4.3 看日志定位加载成功不等于调用成功模型不调 Skill先怀疑三件事没加载、加载了没匹配、匹配了没权限。这三种状态靠肉眼看不出来只能看日志。把 OpenClaw 开成调试模式日志落盘openclaw --debug --log-level trace 21 | tee openclaw.log然后过滤 Skill 相关记录grep -i skill openclaw.log | tail -50日志里留意三个时刻。一是扫描时有没有 loaded 记录表示目录被扫到二是模型决策时有没有 invoked 或 selected 记录表示模型选中了 Skill三是执行时有没有 denied 记录表示权限白名单拦了。见 loaded 没见 invoked是 description 写得不到位或模型太小见 invoked 没见执行结果是脚本或权限出了问题。这个三段式排查能解决八成“Skill 不生效”的玄学问题。剩下两成属于模型抽风模型在上下文里明确拒绝了调用理由是它认为没必要。遇到这种情况别跟模型较劲直接改 description 把触发条件写死比如把“当用户提到提交代码时”改成“当且仅当用户明确说 commit 或 push且仓库存在未提交改动时”。条件越具体模型越没有自由发挥的空间。5. 避坑笔记OpenClaw Skill 合集部署中最常翻车的五个现场5.1 解压后 OpenClaw 一个 Skill 都看不到现象skill list 输出空列表或只显示内置 Skill。 原因zip 解压后外层多套了一层目录比如解压出了 Vincent-OpenClaw-Skills/skills/而配置里的 skills_path 指到了 Vincent-OpenClaw-Skills/ 这一层。OpenClaw 在扫描根目录下找不到含 SKILL.md 的合法子目录时会直接判空不给任何报错。这个问题在共享 zip 包里太常见了打包的人图省事整层压进去解压的人想当然指到根目录。 解决先列目录结构确认层级再把 skills_path 指到真正含技能包的那一层unzip Vincent 的 OpenClaw Skill 合集.zip -d /tmp/vincentskills ls -R /tmp/vincentskills | head -30看到 skills/ 在哪一层就把配置里的 skills_path 指向它的父级。顺手把合集中多余的外层文件夹删掉也行但前提是确认 install.sh 里没有引用这个外层路径。这个坑是共享 zip 包的第一大现场我的习惯是解压后第一件事就执行ls -R不猜。5.2 SKILL.md 编码和换行导致 YAML 解析失败现象skill list 里缺了好几个技能日志里出现 UnicodeDecodeError 或 YAML 解析失败但用文本编辑器打开 SKILL.md 看不出任何异常。 原因Windows 上编辑或打包时文本被存成了带 BOM 的 UTF-8或换行符是 CRLF。Python 读 YAML frontmatter 时BOM 会让第一个字段名变成 \ufeffnameCRLF 在某些解析器里会把 description 截断。前者直接导致整份 SKILL.md 失效后者会让模型读到残缺的 description表现为“加载了但从不调用”。 解决批量把 SKILL.md 转成 UTF-8 无 BOM 和 LF 换行。Linux 下一条命令搞定find /tmp/vincentskills -name SKILL.md -exec sed -i s/\r$// {} \;Windows 下用 VS Code 打开所有 SKILL.md右下角把编码改成 UTF-8、换行改成 LF批量保存。改完重新跑 skill list缺失项会回来。之后再打包时约定好统一编码别信任不同电脑的默认编辑器设置。这个坑的血泪经验是它不报错只让你以为技能包是坏的。5.3 OpenClaw 只能用接入 API 的方式使用算力吗本地模型通路的选型现象内网环境里部署配置里默认填了一个远端 API 地址OpenClaw 一直连不上有人因此认为 OpenClaw 必须靠云端 API 才能用直接放弃。 原因默认配置给了远端通路本地模型通路的写法没被看到于是一票否决。Skill 本身是纯本地文件模型才是唯一需要算力的地方模型选错了Skill 再齐也白搭。 解决把 model 和 base_url 指向本地 Ollama。先在命令行确认 Ollama 服务在线且模型已拉好ollama list curl http://127.0.0.1:11434/api/tags两条命令都有输出后再去改配置。选型经验是纯文本整理、结构化输出、脚本调用这类 Skill 场景7B 本地模型能顶住需要长文档分析和复杂多跳推理时再切远端大模型。不要一开始就迷信大算力Skill 的重活都是本地脚本干的模型只承担路由和归纳把这两件事做好才是最难的。5.4 内网部署 Skill 合集依赖下载要先解决现象内网服务器按教程装完 OpenClawpip install 超时git clone 失败Skill 里引用的 Python 包也没有整个部署卡在第一步。 原因依赖解析发生在技能挂载之前。网络不通基础环境都起不来更别提扫 Skill 目录。很多人误以为是 OpenClaw 的问题反复调配置其实根子在 Python 依赖根本没装上。 解决在能联网的机器上先把依赖打成离线包zip 一起带进内网pip download -r requirements.txt -d ./offline_wheels pip install --no-index --find-links./offline_wheels -r requirements.txtSkill 的脚本依赖也要检查。打开每个 Skill 的 SKILL.md看它 import 了什么第三方库把这些库的 wheel 一并放进去。很多合集在 README 里写了 Python 版本要求先对一下Python 3.10 和 3.12 之间有些二进制包不通用装的时候直接报错。离线环境里最怕的不是装不上是装上了跑起来行为不对所以装完务必跑一遍 4.2 里的测试 Skill。5.5 加载一大堆 Skill 反而让模型变笨现象把全集家桶 Skill 全开模型回答变慢有时会在明显不相关的请求上启用错误的 Skill明明问天气却调了代码审查。 原因每个 Skill 的 description 默认都会写进模型的系统上下文Skill 越多上下文被占用越多模型决策噪声越大。两个 description 相似时模型可能随机选一个甚至把两个技能的命令混着执行。 解决用 enabled_skills 做收口。按项目把合集拆成几组配置比如 git 开发组、文档处理组、数据分析组切换项目时只激活对应组。description 写作上也避免“处理文件”“生成报告”这类宽泛表达写成“当且仅当用户要求生成 PDF 版周报时使用”。上下文省下来模型反而变聪明。这里有个判断标准如果发现模型开始频繁问“你确定要调用这个技能吗”基本可以判定是 Skill 太多把它绕晕了。6. 把 Vincent 的合集变成自己的最小 Skill 模板与验证三步法6.1 最小 Skill 模板一个目录、一个 SKILL.md、一个脚本不管是改造别人的合集还是自己从零写一个 Skill 的最小骨架就是“一个目录加一份 SKILL.md 加一个脚本”。我常用的模板是会议纪要整理--- name: meeting-minutes description: 把一段会议记录整理成带责任人和截止时间的待办清单。当用户提到会议纪要、待办事项、action items 时使用。 --- 1. 接收用户输入的原始会议记录。 2. 运行 python3 scripts/extract_todos.py把原始记录通过 stdin 传入。 3. 把脚本输出的 Markdown 表格原样返回给用户。#!/usr/bin/env python3 import sys import re raw sys.stdin.read() items re.findall(r(?:任务|待办)[:]\s*(.), raw) lines [| 任务 | 负责人 | 截止时间 |, |------|--------|----------|] for it in items[:20]: lines.append(f| {it} | 待确认 | 待确认 |) print(\n.join(lines))这个模板刻意保持简单输入从 stdin 进输出从 stdout 出不碰文件系统不依赖第三方库。这样做的好处是可移植换到任何人的 OpenClaw 环境都能跑也方便别人快速理解 Skill 的进出约定。等你理解了这套约定再往脚本里加文件读写、错误重试、日志上报都不迟。6.2 验证三步法与我的收尾习惯每次装完一个 Skill我按三步验收第一步openclaw skill list确认目录被扫到第二步用一句能触发它的提问去对话里试第三步 grep 日志确认 invoked 和脚本执行完毕。三步全过才算真正能用。这个习惯救过我很多次尤其是半年后再回去翻旧项目一个装了没验证的 Skill 就是一块废代码。我还会在合集的 README 里写明每个脚本的 Python 版本和第三方依赖否则三个月后连我自己都装不回去。如果你是从 Vincent 这类共享包起步建议趁热打铁把里面一两个用不上的 Skill 删掉把留下的改成自己的命名和触发词让这份合集真正变成你自己的工具箱。希望帮到你。本文还有配套的精品资源点击获取