soia-meta-sync-skillslisted
Install: claude install-skill soia-team/soia-open-skills
# soia-meta-sync-skills
## 客户可读说明
### 这个技能可以做什么
将一个已安装或本地的共享技能目录同步到用户选择的 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` 子目录的源目录。可选配置示例在 `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>
```
### 私密信息与中间数据
- 配置只保存客户选择的 source/targets 和 per-target excludes,不保存 API key、cookie、session 或其他凭据。
- 同步计划默认只打印到终端;实际写入的脱敏审计日志按“输出文件”约定轮转,且不记录密钥内容。
### 日志与完成回执
```markdown
完成:<dry-run 或实际同步结果>。
日志摘要:
- source: <共享技能源>
- targets: <目标目录>
- linked/removed: <数量与名称>
- skipped/failed: <原因或无>
验证:<命令退出码、软链接解析或 dry-run>
问题与下一步:<确认、缺依赖或无>
```
## 安全边界
- 先展示 source