xmlsquishsource. compose. build.
English

XML DSL 与项目指南

将 Agent Skills 作为项目依赖管理

在工作区根声明本地或 Git skill,锁定完整目录树,再安全地同步到 .agents/skills;这些指令不会改变 XML 语言。

跳转到章节
本页目录

清单、锁文件与安装目录

Skill 是供 Agent 阅读的说明和配套资源,不是 XML 包,不参与 xs:import 或 prompt 构建。只在工作区根 xmlsquish.toml 的 [skills] 表声明;即使从成员目录执行命令,安装位置仍是工作区根的 .agents/skills。

[skills]
review-checks = { path = "tools/skills/review-checks" }
release-notes = { git = "https://github.com/example/agent-skills.git", tag = "v2", subdir = "release-notes" }

本地 path 相对声明清单解析,并且必须指向含 SKILL.md 的准确目录。Git 可选择 rev、tag 或 branch;省略选择器表示远端默认分支。锁文件的 [[skill]] 记录固定来源、适用时的完整 Git 提交和整个目录树的 BLAKE3 摘要;.agents/skills/<name> 则是 Agent 可见的复制副本。

添加、同步与移除

xmlsquish add-skill review-checks --path tools/skills/review-checks
xmlsquish add-skill release-notes --git https://github.com/example/agent-skills.git --tag v2 --subdir release-notes
xmlsquish sync-skills --frozen
xmlsquish remove-skill review-checks

add-skill 的名称必须与 SKILL.md frontmatter 的 name 以及目标目录名一致。克隆项目后运行 sync-skills 可恢复缺失的受管理副本;--frozen 同时要求锁文件不变且禁止联网。本地路径是可变输入,内容漂移时锁定模式会报错,而不会悄悄安装不同字节。可用 --dry-run 先审阅计划;--offline 禁止联网,--locked 禁止改动锁文件。

无裸名称技能仓库:请明确指定 --path 或 --git。删除操作只移除对应声明及未被修改的受管理副本,不会清理其他手工安装目录。

安装 xmlsquish 自带指南

xmlsquish install-skill
xmlsquish install-skill --project
xmlsquish install-skill --project --dry-run

不带参数时安装到用户目录 $HOME/.agents/skills/prompt-squish(Windows 使用用户主目录);--project 改为工作区 .agents/skills/prompt-squish。指南随可执行文件内置,安装不需要源码检出,也不会修改 xmlsquish.toml 或 xmlsquish.lock。重复安装相同内容是幂等的;--force 仅可替换经验证由本安装器管理的旧副本,不能占用手工安装或已被用户修改的目录。

审阅信任边界

安装时会验证 SKILL.md 的 name 与 description、路径和完整目录树,并拒绝不安全的符号链接及命名冲突。xmlsquish 不会执行技能中的脚本;但是后续使用技能的 Agent 可能会读取其指令或运行脚本。因此请在添加第三方技能前审阅来源和内容:摘要只能证明安装字节与锁文件一致,不能证明指令安全。

该章节讲述项目工具功能,并非 XML 命名空间的一部分。既有 XML DSL、产物定位符和退出码含义保持不变;机器协议 3.2 新增有类型的技能操作与结果。