soia-meta-sync-skillslisted
Install: claude install-skill soia-team/soia-open-skills
# soia-meta-sync-skills
> ⚠️ **适用边界(2026-08-06 定稿)**:各 agent 常驻技能空间(`~/.pi/agent/skills`、
> `~/.qwen/skills`、`~/.claude/skills`、`~/.soia/skills`)已定为**实体安装**规范——
> 软链会产生无来源记录、换机不可再现的安装,当日已全量转为
> `npx skills add --copy` 实体并登记 lock。**本技能不得再用于上述常驻空间**;
> 仅在临时验证、一次性试装等明确不追求可再现性的场景使用,用完即清。
## 客户可读说明
### 这个技能可以做什么
将一个已安装或本地的共享技能目录同步到用户选择的 AI 工具目录。它只创建或替换同名的软链接;先用 `--dry-run` 展示影响,再在已有明确授权时写入。
### 客户如何使用
提供源目录、目标 id 或路径,以及可选的单项技能名。目标由 `--targets` 显式提供;没有适合的内置 id 时使用绝对路径。
```bash
python3 skills/soia-meta-sync-skills/scripts/sync_soia_skills.py \
--source-dir <shared-skill-dir> \
--targets codex,claude \
--dry-run
```
确认计划后移除 `--dry-run`。使用 `--skills <name>` 只同步指定技能,默认会把其 frontmatter 中的 `dependencies.hard` 一并纳入;`--no-deps` 可关闭该行为。使用 `--exclude-skills a,b` 可在本次运行中对每个选中 target 跳过并摘除这些技能的既有软链。
### 依赖与安装
```bash
claude plugin marketplace add soia-team/soia-open-skills
```
```bash
claude plugin install soia-meta@soia
```
只要这一个技能时,可用 npx 路线。注意技能会落进共享真源 `~/.agents/skills`;若同时装了插件,同一技能会出现两份索引且各自漂移,建议二选一:
```bash
npx skills add soia-team/soia-open-skills -g -a '*' -s soia-meta-sync-skills -y
```
依赖 Python 3 标准库和一个包含 `SKILL.md` 子目录的源目录。可选配置示例在 `assets/config.example.yml`:它记录用户自己的默认 source/targets 和按 target 隔离的 excludes,命令行参数优先。脚本每次同步(包括默认全量同步)都会读取并遵守持久排除。配置文件放在:
```text
~/.config/soia-skills/soia-meta-sync-skills/config.yml
SOIA_META_SYNC_SKILLS_CONFIG_FILE=<custom-config-path>
```
**WorkBuddy** 的装载单位是角色化专家而不是插件,`npx skills add -a '*'` 覆盖不到它,需要单独安装,见 [docs/install/workbuddy