ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

gs-quant 的 Agent Skills 包:SKILL.md 安装器 CLI 使用指南

gs-quant 的 Agent Skills 包:SKILL.md 安装器 CLI 使用指南 gs-quant 的 Agent Skills 包SKILL.md 安装器 CLI 使用指南【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant本文介绍 gs-quant 仓库中随包分发的agent skillsSKILL.md 技能包及配套的安装器命令行工具。你将了解 skills 的目录布局、list/install/uninstall三条子命令的完整用法、全局与项目两种安装范围的区别、跨平台的文件放置机制以及如何在仓库中新增一个自定义 skill 并被自动发现。核心说明文档见 gs_quant/skills/README.mdCLI 的完整实现见 gs_quant/skills/main.py。一、什么是 gs-quant 的 Agent Skillsgs-quant 在包内捆绑了一组面向 AI 编码代理的skills即符合.claude/skills/约定的SKILL.md包供 Claude Code、GitHub Copilot 以及其他会读取.claude/skills/目录的工具使用。每个 skill 是一组 Markdown 文档帮助代理理解如何使用gs_quant库完成会话初始化、工具构建、定价、回测等任务。需要特别留意的是该 skills 包与其 CLI 目前标记为 Experimental实验性后续版本中接口可能发生变化。官方声明位于 gs_quant/skills/README.md 开头的警告块中。当前仓库中捆绑的唯一技能是gs-quant-overview位于 gs_quant/skills/gs-quant-overview它由一份入口SKILL.md与六份分主题文档组成文件主题SKILL.md快速上手GsSession会话初始化、工具解析resolve、组合 Portfolioinstruments.md各类工具构建IRSwap、XCcy 互换、FXOption、EqOption 等与 FX 常见陷阱pricing.md定价PricingContext、HistoricalPricingContext、LiveMarket实时 FX 定价datasets.md通过Dataset访问 Marquee 数据集get_data、get_data_series、上传与批量查询backtesting.md回测框架Strategy、Trigger、Action、GenericEngine、交易成本与结果提取measure.md使用plot_measure/risk_measure装饰器编写自定义 measure 及其测试results.md计算结果对象FloatWithInfo、PortfolioRiskResult等的提取与转换二、包目录布局Layout每个 skill 在包内拥有独立子目录且必须包含一个SKILL.md文件gs_quant/skills/ skill-name/ SKILL.md ...supporting files正是这一约定支撑了安装器的自动发现机制。在 gs_quant/skills/main.py 中_discover_skills()会遍历gs_quant/skills/下的每个条目凡是目录且包含SKILL.md文件的子目录都会被识别为一个 skilldef _discover_skills() - dict[str, Path]: skills: dict[str, Path] {} for entry in sorted(SKILLS_ROOT.iterdir()): if entry.is_dir() and (entry / SKILL.md).is_file(): skills[entry.name] entry return skills也就是说新增 skill 不需要任何注册步骤只要满足目录 SKILL.md这一结构即会被自动拾取。三、安装器 CLI快速开始安装器以 Python 模块方式运行统一入口为python -m gs_quant.skills command [options]将全部 skills 全局安装到用户主目录的.claude/skills/下python -m gs_quant.skills install --global这是最常见的快速上手方式安装后任何项目中的代理工具都能发现这些 skills。3.1 子命令一览命令说明list列出随包捆绑的 skills并显示每个 skill 在全局/项目范围内的安装状态install安装一个或多个 skills默认安装全部uninstall卸载一个或多个 skills默认卸载全部从 gs_quant/skills/main.py 的build_parser()可以看出install与uninstall都接受可选的 skill 名称位置参数nargs*而list不接受额外参数。3.2 范围标志Scope Flagsinstall与uninstall接受互斥的两个范围标志--global目标为~/.claude/skills/任意项目中均可见--project目标为./.claude/skills/仅对当前工作目录生效。在 gs_quant/skills/main.py 中两者通过add_mutually_exclusive_group()定义为互斥参数同时传入会被 argparse 拒绝。若两者都未提供且终端处于交互模式CLI 会进行提示python -m gs_quant.skills install Install to (g)lobal (~/.claude/skills) or (p)roject (./.claude/skills)? [g/p]在非交互环境CI、脚本中必须显式传入一个范围标志否则进程将以退出码 2 终止并输出错误信息。该逻辑实现在_prompt_scope()与_scope_from_args()中gs_quant/skills/main.py当sys.stdin.isatty()为假时直接sys.exit(2)。3.3 选择要安装的 skills将 skill 名称作为位置参数传入即可只安装/卸载指定子集不传名称时命令作用于全部捆绑 skills。# 仅安装 gs-quant-overview 到当前项目 python -m gs_quant.skills install --project gs-quant-overview # 安装全部 skills全局 python -m gs_quant.skills install --global如果传入了不存在的 skill 名称_resolve_skill_names()会向 stderr 打印未知名称列表和可用列表并以退出码 2 退出gs_quant/skills/main.py。四、文件放置机制符号链接与复制安装器在放置文件时根据操作系统采取不同策略_use_symlinks()依据os.name ! nt判断见 gs_quant/skills/main.pyLinux / macOS在.claude/skills/name与gs_quant包内源目录之间创建符号链接。升级 gs_quant 后 skills 会自动跟随包内源文件更新Windows将 skill 目录复制到目标位置不支持符号链接。升级 gs_quant 后需要重新执行install以刷新副本。无论哪种方式如果目标位置已存在同名目录都会被直接覆盖。覆盖逻辑_remove_existing()会区分符号链接、普通文件与目录分别处理gs_quant/skills/main.pydef _remove_existing(target: Path) - None: if target.is_symlink() or target.is_file(): target.unlink() elif target.exists(): shutil.rmtree(target)目标目录的定位逻辑_target_dir()gs_quant/skills/main.py很直观--global以Path.home()为基准--project以Path.cwd()为基准两者均拼接到.claude/skills子目录并在必要时自动创建父目录。五、完整示例以下为 gs_quant/skills/README.md 提供的完整运行示例。列出捆绑 skills 及当前安装状态$ python -m gs_quant.skills list Bundled skills (source: /path/to/site-packages/gs_quant/skills): gs-quant-overview [projectlinked]list输出中的[projectlinked]表示该 skill 已在项目范围内以符号链接方式安装状态字段可能取值linked符号链接、copied复制或缺失未安装。该状态判定逻辑在_install_status()中通过检查is_symlink()/exists()实现gs_quant/skills/main.py。安装全部 skills 到当前项目$ python -m gs_quant.skills install --project linked gs-quant-overview - /your/project/.claude/skills/gs-quant-overview仅安装某个 skill 到全局$ python -m gs_quant.skills install --global gs-quant-overview从当前项目卸载$ python -m gs_quant.skills uninstall --project gs-quant-overview卸载时若目标不存在命令不会报错而是打印skip name (not installed at target)见cmd_uninstall()gs_quant/skills/main.py因此卸载命令天然具备幂等性可在 CI 中安全重复执行。六、新增一个 SkillAdd a New Skill在 gs_quant/skills/README.md 中给出了新增 skill 的四步流程在gs_quant/skills/your-skill-name/下创建新目录添加SKILL.md描述该 skill包含 frontmatter 与正文遵循代理工具的 skill 规范在同目录下添加所需的支持性 Markdown / 代码文件安装器会自动发现该 skill——无需任何注册步骤。以现有 SKILL.md 为模板frontmatter 部分通常包含name与description两个字段其中description用于告诉代理何时该使用此 skill正文则是分节的结构化指引如会话创建、工具解析、组合组合等。frontmatter 之外还可以像gs-quant-overview那样通过instruments.md、pricing.md等文件将内容拆分到不同主题并在SKILL.md末尾的 See Also 一节中交叉引用。七、源码视角CLI 实现要点速览如果你希望深入理解安装器内部行为可以关注 gs_quant/skills/main.py 中的几个关键点自动发现_discover_skills()只认包含SKILL.md的目录与 README 中描述的布局约定完全一致互斥范围--global与--project通过add_mutually_exclusive_group()绑定保证二者不能同时出现非交互保护非 TTY 环境下缺少范围标志时以退出码 2 退出杜绝 CI 场景中的静默误装未知 skill 名同样以退出码 2 退出并列出可用项避免因拼写错误把技能装到错误目录覆盖语义目标目录已存在时先清理再放置保证安装结果与包内源文件严格一致。结合这些实现细节你可以放心地将install --project/uninstall --project放入项目的初始化脚本或 CI 流水线重复执行不会产生累积垃圾且 Linux/macOS 上由于符号链接机制升级 gs_quant 后无需重新安装即可获得最新版的 skill 内容Windows 上则需重跑install刷新副本。【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表