reskill 1.8.0-beta.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -46,6 +46,7 @@ npx reskill@latest <command> # Or use npx directly
46
46
  | Command | Alias | Description |
47
47
  | --------------------- | -------------------- | ----------------------------------------- |
48
48
  | `init` | - | Initialize `skills.json` |
49
+ | `find <query>` | - | Search for skills in the registry |
49
50
  | `install [skills...]` | `i` | Install one or more skills |
50
51
  | `list` | `ls` | List installed skills |
51
52
  | `info <skill>` | - | Show skill details |
@@ -57,9 +58,9 @@ npx reskill@latest <command> # Or use npx directly
57
58
  | `logout` | - | Remove stored authentication ¹ |
58
59
  | `whoami` | - | Display current logged in user ¹ |
59
60
  | `doctor` | - | Diagnose environment and check for issues |
61
+ | `completion install` | - | Install shell tab completion |
60
62
 
61
63
  > ¹ Registry commands (`publish`, `login`, `logout`, `whoami`) require a private registry deployment. Not available for public use yet.
62
- | `completion install` | - | Install shell tab completion |
63
64
 
64
65
  ### Common Options
65
66
 
@@ -72,6 +73,9 @@ npx reskill@latest <command> # Or use npx directly
72
73
  | `--all` | `install` | Install to all agents |
73
74
  | `-y, --yes` | `install`, `uninstall`, `publish` | Skip confirmation prompts |
74
75
  | `-f, --force` | `install` | Force reinstall even if already installed |
76
+ | `-s, --skill <names...>` | `install` | Select specific skill(s) by name from a multi-skill repo |
77
+ | `--list` | `install` | List available skills in the repository without installing |
78
+ | `-r, --registry <url>` | `install` | Registry URL override for registry-based installs |
75
79
  | `-j, --json` | `list`, `info`, `outdated`, `doctor` | Output as JSON |
76
80
 
77
81
  Run `reskill <command> --help` for complete options and detailed usage.
@@ -102,6 +106,10 @@ npx reskill@latest install https://example.com/skills/my-skill-v1.0.0.tar.gz
102
106
  npx reskill@latest install oss://bucket/path/skill.tar.gz
103
107
  npx reskill@latest install s3://bucket/path/skill.zip
104
108
 
109
+ # Registry-based (requires registry deployment)
110
+ npx reskill@latest install @scope/skill-name@1.0.0
111
+ npx reskill@latest install skill-name
112
+
105
113
  # Install multiple skills at once
106
114
  npx reskill@latest install github:user/skill1 github:user/skill2@v1.0.0
107
115
  ```
@@ -191,6 +199,7 @@ Skills are installed to `.skills/` by default and can be integrated with any age
191
199
  | Codex | `.codex/skills/` |
192
200
  | Windsurf | `.windsurf/skills/` |
193
201
  | GitHub Copilot | `.github/skills/` |
202
+ | OpenCode | `.opencode/skills/` |
194
203
 
195
204
  ## Publishing Skills
196
205
 
package/README.zh-CN.md CHANGED
@@ -43,23 +43,24 @@ npx reskill@latest <command> # 或直接使用 npx
43
43
 
44
44
  ## 命令
45
45
 
46
- | 命令 | 别名 | 说明 |
47
- | --------------------- | -------------------- | ------------------------ |
48
- | `init` | - | 初始化 `skills.json` |
49
- | `install [skills...]` | `i` | 安装一个或多个 skills |
50
- | `list` | `ls` | 列出已安装的 skills |
51
- | `info <skill>` | - | 查看 skill 详情 |
52
- | `update [skill]` | `up` | 更新 skills |
53
- | `outdated` | - | 检查过期的 skills |
54
- | `uninstall <skill>` | `un`, `rm`, `remove` | 卸载 skill |
55
- | `publish [path]` | `pub` | 发布 skill 到 registry ¹ |
56
- | `login` | - | 登录 registry ¹ |
57
- | `logout` | - | 登出 registry ¹ |
58
- | `whoami` | - | 显示当前登录用户 ¹ |
59
- | `doctor` | - | 诊断环境并检查问题 |
46
+ | 命令 | 别名 | 说明 |
47
+ | --------------------- | -------------------- | ------------------------- |
48
+ | `init` | - | 初始化 `skills.json` |
49
+ | `find <query>` | - | registry 中搜索 skills |
50
+ | `install [skills...]` | `i` | 安装一个或多个 skills |
51
+ | `list` | `ls` | 列出已安装的 skills |
52
+ | `info <skill>` | - | 查看 skill 详情 |
53
+ | `update [skill]` | `up` | 更新 skills |
54
+ | `outdated` | - | 检查过期的 skills |
55
+ | `uninstall <skill>` | `un`, `rm`, `remove` | 卸载 skill |
56
+ | `publish [path]` | `pub` | 发布 skill 到 registry ¹ |
57
+ | `login` | - | 登录 registry ¹ |
58
+ | `logout` | - | 登出 registry ¹ |
59
+ | `whoami` | - | 显示当前登录用户 ¹ |
60
+ | `doctor` | - | 诊断环境并检查问题 |
61
+ | `completion install` | - | 安装 Shell Tab 补全 |
60
62
 
61
63
  > ¹ Registry 相关命令(`publish`、`login`、`logout`、`whoami`)需要部署私有 registry 后才能使用,暂不对外开放。
62
- | `completion install` | - | 安装 Shell Tab 补全 |
63
64
 
64
65
  ### 常用选项
65
66
 
@@ -72,6 +73,9 @@ npx reskill@latest <command> # 或直接使用 npx
72
73
  | `--all` | `install` | 安装到所有 Agent |
73
74
  | `-y, --yes` | `install`, `uninstall`, `publish` | 跳过确认提示 |
74
75
  | `-f, --force` | `install` | 强制重新安装 |
76
+ | `-s, --skill <names...>` | `install` | 从多 skill 仓库中选择指定 skill |
77
+ | `--list` | `install` | 列出仓库中可用的 skills(不安装) |
78
+ | `-r, --registry <url>` | `install` | 覆盖 registry URL(用于 registry 安装) |
75
79
  | `-j, --json` | `list`, `info`, `outdated`, `doctor` | JSON 格式输出 |
76
80
 
77
81
  运行 `reskill <command> --help` 查看完整选项和详细用法。
@@ -102,6 +106,10 @@ npx reskill@latest install https://example.com/skills/my-skill-v1.0.0.tar.gz
102
106
  npx reskill@latest install oss://bucket/path/skill.tar.gz
103
107
  npx reskill@latest install s3://bucket/path/skill.zip
104
108
 
109
+ # Registry 安装(需要部署 registry)
110
+ npx reskill@latest install @scope/skill-name@1.0.0
111
+ npx reskill@latest install skill-name
112
+
105
113
  # 一次安装多个 skills
106
114
  npx reskill@latest install github:user/skill1 github:user/skill2@v1.0.0
107
115
  ```
@@ -191,6 +199,7 @@ Skills 默认安装到 `.skills/`,可与任何 Agent 集成:
191
199
  | Codex | `.codex/skills/` |
192
200
  | Windsurf | `.windsurf/skills/` |
193
201
  | GitHub Copilot | `.github/skills/` |
202
+ | OpenCode | `.opencode/skills/` |
194
203
 
195
204
  ## 发布 Skills
196
205
 
package/dist/cli/index.js CHANGED
@@ -1783,9 +1783,12 @@ const installer_SKILLS_SUBDIR = 'skills';
1783
1783
  // Quote description to prevent YAML injection from special characters
1784
1784
  const safeDescription = parsed.description.replace(/"/g, '\\"');
1785
1785
  const agent = getAgentConfig('cursor');
1786
+ // Read globs from metadata if available
1787
+ const globs = parsed.metadata?.globs;
1788
+ const globsValue = 'string' == typeof globs && globs.length > 0 ? `"${globs}"` : '';
1786
1789
  const bridgeContent = `---
1787
1790
  description: "${safeDescription}"
1788
- globs:
1791
+ globs: ${globsValue}
1789
1792
  alwaysApply: false
1790
1793
  ---
1791
1794
 
@@ -2525,10 +2528,24 @@ ${CURSOR_BRIDGE_MARKER}
2525
2528
  * - Monorepo: git@github.com:org/repo.git/subpath[@version]
2526
2529
  */ parseRef(ref) {
2527
2530
  const raw = ref;
2531
+ // Extract #skillName fragment before any parsing (for both Git URLs and shorthand)
2532
+ let skillName;
2533
+ const hashIndex = ref.indexOf('#');
2534
+ if (hashIndex >= 0) {
2535
+ skillName = ref.slice(hashIndex + 1);
2536
+ ref = ref.slice(0, hashIndex);
2537
+ }
2528
2538
  // First check if it's a Git URL (SSH, HTTPS, git://)
2529
2539
  // For Git URLs, need special handling for version separator
2530
2540
  // Format: git@host:user/repo.git[@version] or git@host:user/repo.git/subpath[@version]
2531
- if (isGitUrl(ref)) return this.parseGitUrlRef(ref);
2541
+ if (isGitUrl(ref)) {
2542
+ const parsed = this.parseGitUrlRef(ref);
2543
+ return {
2544
+ ...parsed,
2545
+ raw,
2546
+ skillName
2547
+ };
2548
+ }
2532
2549
  // Standard format parsing for non-Git URLs
2533
2550
  let remaining = ref;
2534
2551
  let registry = this.defaultRegistry;
@@ -2572,7 +2589,8 @@ ${CURSOR_BRIDGE_MARKER}
2572
2589
  repo,
2573
2590
  subPath,
2574
2591
  version,
2575
- raw
2592
+ raw,
2593
+ skillName
2576
2594
  };
2577
2595
  }
2578
2596
  /**
@@ -3839,6 +3857,18 @@ class RegistryResolver {
3839
3857
  return null;
3840
3858
  }
3841
3859
  /**
3860
+ * Resolve the actual source path for installation.
3861
+ * For multi-skill repos (parsed.skillName is set), discovers skills in the
3862
+ * cached directory and returns the matching skill's subdirectory.
3863
+ * For single-skill repos, returns basePath as-is.
3864
+ */ resolveSourcePath(basePath, parsed) {
3865
+ if (!parsed.skillName) return basePath;
3866
+ const discovered = discoverSkillsInDir(basePath);
3867
+ const match = discovered.find((s)=>s.name === parsed.skillName);
3868
+ if (!match) throw new Error(`Skill "${parsed.skillName}" not found in repository. Available: ${discovered.map((s)=>s.name).join(', ')}`);
3869
+ return match.dirPath;
3870
+ }
3871
+ /**
3842
3872
  * Install skill
3843
3873
  */ async install(ref, options = {}) {
3844
3874
  // Detect source type and delegate to appropriate installer
@@ -3861,9 +3891,10 @@ class RegistryResolver {
3861
3891
  logger_logger.debug(`Caching from ${repoUrl}@${gitRef}`);
3862
3892
  cacheResult = await this.cache.cache(repoUrl, parsed, gitRef, gitRef);
3863
3893
  }
3864
- // Get the real skill name from SKILL.md in cache
3894
+ // Resolve source path (cache root or skill subdirectory for multi-skill repos)
3865
3895
  const cachePath = this.cache.getCachePath(parsed, gitRef);
3866
- const metadata = this.getSkillMetadataFromDir(cachePath);
3896
+ const sourcePath = this.resolveSourcePath(cachePath, parsed);
3897
+ const metadata = this.getSkillMetadataFromDir(sourcePath);
3867
3898
  const skillName = metadata?.name ?? fallbackName;
3868
3899
  const semanticVersion = metadata?.version ?? gitRef;
3869
3900
  const skillPath = this.getSkillPath(skillName);
@@ -3887,7 +3918,9 @@ class RegistryResolver {
3887
3918
  // Copy to installation directory
3888
3919
  ensureDir(this.getInstallDir());
3889
3920
  if (exists(skillPath)) remove(skillPath);
3890
- await this.cache.copyTo(parsed, gitRef, skillPath);
3921
+ copyDir(sourcePath, skillPath, {
3922
+ exclude: DEFAULT_EXCLUDE_FILES
3923
+ });
3891
3924
  // Update lock file (project mode only)
3892
3925
  if (!this.isGlobal) this.lockManager.lockSkill(skillName, {
3893
3926
  source: `${parsed.registry}:${parsed.owner}/${parsed.repo}${parsed.subPath ? `/${parsed.subPath}` : ''}`,
@@ -4333,8 +4366,9 @@ class RegistryResolver {
4333
4366
  logger_logger.debug(`Caching from ${repoUrl}@${gitRef}`);
4334
4367
  cacheResult = await this.cache.cache(repoUrl, parsed, gitRef, gitRef);
4335
4368
  }
4336
- // Get cache path as source
4337
- const sourcePath = this.cache.getCachePath(parsed, gitRef);
4369
+ // Resolve source path (cache root or skill subdirectory for multi-skill repos)
4370
+ const cachePath = this.cache.getCachePath(parsed, gitRef);
4371
+ const sourcePath = this.resolveSourcePath(cachePath, parsed);
4338
4372
  // Get the real skill name from SKILL.md in cache
4339
4373
  const metadata = this.getSkillMetadataFromDir(sourcePath);
4340
4374
  const skillName = metadata?.name ?? fallbackName;
@@ -1 +1 @@
1
- {"version":3,"file":"git-resolver.d.ts","sourceRoot":"","sources":["../../src/core/git-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUvF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IAErD;;;;;;OAMG;gBAED,eAAe,GAAE,MAAiB,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB;IAOrC;;;;;;;;OAQG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAoB5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IAgErC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAqFtB;;OAEG;IACH,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa;IA+BjD;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IAU5C;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkD5C;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,MAAM,EAAE,cAAc,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CAaH;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"git-resolver.d.ts","sourceRoot":"","sources":["../../src/core/git-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUvF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IAErD;;;;;;OAMG;gBAED,eAAe,GAAE,MAAiB,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB;IAOrC;;;;;;;;OAQG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAoB5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IA0ErC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAqFtB;;OAEG;IACH,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa;IA+BjD;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IAU5C;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkD5C;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,MAAM,EAAE,cAAc,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CAaH;AAED,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAoD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAyJlC;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAMjF;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM3C;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAOlE;;;;;;;OAOG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,aAAa,CAAC;IAiGzB;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,EAAE,EACzB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAWzC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAK7D;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKlD;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAiBpE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;IAgB1F;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;IAcnD;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IA4C9B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;CAiB/B;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAoD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAyJlC;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAMjF;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM3C;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAOlE;;;;;;;OAOG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,aAAa,CAAC;IAiGzB;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,EAAE,EACzB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAWzC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAK7D;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKlD;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAiBpE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;IAgB1F;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;IAcnD;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAiD9B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;CAiB/B;AAED,eAAe,SAAS,CAAC"}
@@ -74,6 +74,13 @@ export declare class SkillManager {
74
74
  * @returns Skill metadata (name, version, description) or null if not found
75
75
  */
76
76
  private getSkillMetadataFromDir;
77
+ /**
78
+ * Resolve the actual source path for installation.
79
+ * For multi-skill repos (parsed.skillName is set), discovers skills in the
80
+ * cached directory and returns the matching skill's subdirectory.
81
+ * For single-skill repos, returns basePath as-is.
82
+ */
83
+ private resolveSourcePath;
77
84
  /**
78
85
  * Install skill
79
86
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skill-manager.d.ts","sourceRoot":"","sources":["../../src/core/skill-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-manager.d.ts","sourceRoot":"","sources":["../../src/core/skill-manager.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1520,9 +1520,12 @@ const installer_SKILLS_SUBDIR = 'skills';
1520
1520
  // Quote description to prevent YAML injection from special characters
1521
1521
  const safeDescription = parsed.description.replace(/"/g, '\\"');
1522
1522
  const agent = getAgentConfig('cursor');
1523
+ // Read globs from metadata if available
1524
+ const globs = parsed.metadata?.globs;
1525
+ const globsValue = 'string' == typeof globs && globs.length > 0 ? `"${globs}"` : '';
1523
1526
  const bridgeContent = `---
1524
1527
  description: "${safeDescription}"
1525
- globs:
1528
+ globs: ${globsValue}
1526
1529
  alwaysApply: false
1527
1530
  ---
1528
1531
 
@@ -2262,10 +2265,24 @@ ${CURSOR_BRIDGE_MARKER}
2262
2265
  * - Monorepo: git@github.com:org/repo.git/subpath[@version]
2263
2266
  */ parseRef(ref) {
2264
2267
  const raw = ref;
2268
+ // Extract #skillName fragment before any parsing (for both Git URLs and shorthand)
2269
+ let skillName;
2270
+ const hashIndex = ref.indexOf('#');
2271
+ if (hashIndex >= 0) {
2272
+ skillName = ref.slice(hashIndex + 1);
2273
+ ref = ref.slice(0, hashIndex);
2274
+ }
2265
2275
  // First check if it's a Git URL (SSH, HTTPS, git://)
2266
2276
  // For Git URLs, need special handling for version separator
2267
2277
  // Format: git@host:user/repo.git[@version] or git@host:user/repo.git/subpath[@version]
2268
- if (isGitUrl(ref)) return this.parseGitUrlRef(ref);
2278
+ if (isGitUrl(ref)) {
2279
+ const parsed = this.parseGitUrlRef(ref);
2280
+ return {
2281
+ ...parsed,
2282
+ raw,
2283
+ skillName
2284
+ };
2285
+ }
2269
2286
  // Standard format parsing for non-Git URLs
2270
2287
  let remaining = ref;
2271
2288
  let registry = this.defaultRegistry;
@@ -2309,7 +2326,8 @@ ${CURSOR_BRIDGE_MARKER}
2309
2326
  repo,
2310
2327
  subPath,
2311
2328
  version,
2312
- raw
2329
+ raw,
2330
+ skillName
2313
2331
  };
2314
2332
  }
2315
2333
  /**
@@ -3817,6 +3835,18 @@ class RegistryResolver {
3817
3835
  return null;
3818
3836
  }
3819
3837
  /**
3838
+ * Resolve the actual source path for installation.
3839
+ * For multi-skill repos (parsed.skillName is set), discovers skills in the
3840
+ * cached directory and returns the matching skill's subdirectory.
3841
+ * For single-skill repos, returns basePath as-is.
3842
+ */ resolveSourcePath(basePath, parsed) {
3843
+ if (!parsed.skillName) return basePath;
3844
+ const discovered = discoverSkillsInDir(basePath);
3845
+ const match = discovered.find((s)=>s.name === parsed.skillName);
3846
+ if (!match) throw new Error(`Skill "${parsed.skillName}" not found in repository. Available: ${discovered.map((s)=>s.name).join(', ')}`);
3847
+ return match.dirPath;
3848
+ }
3849
+ /**
3820
3850
  * Install skill
3821
3851
  */ async install(ref, options = {}) {
3822
3852
  // Detect source type and delegate to appropriate installer
@@ -3839,9 +3869,10 @@ class RegistryResolver {
3839
3869
  logger_logger.debug(`Caching from ${repoUrl}@${gitRef}`);
3840
3870
  cacheResult = await this.cache.cache(repoUrl, parsed, gitRef, gitRef);
3841
3871
  }
3842
- // Get the real skill name from SKILL.md in cache
3872
+ // Resolve source path (cache root or skill subdirectory for multi-skill repos)
3843
3873
  const cachePath = this.cache.getCachePath(parsed, gitRef);
3844
- const metadata = this.getSkillMetadataFromDir(cachePath);
3874
+ const sourcePath = this.resolveSourcePath(cachePath, parsed);
3875
+ const metadata = this.getSkillMetadataFromDir(sourcePath);
3845
3876
  const skillName = metadata?.name ?? fallbackName;
3846
3877
  const semanticVersion = metadata?.version ?? gitRef;
3847
3878
  const skillPath = this.getSkillPath(skillName);
@@ -3865,7 +3896,9 @@ class RegistryResolver {
3865
3896
  // Copy to installation directory
3866
3897
  ensureDir(this.getInstallDir());
3867
3898
  if (exists(skillPath)) remove(skillPath);
3868
- await this.cache.copyTo(parsed, gitRef, skillPath);
3899
+ copyDir(sourcePath, skillPath, {
3900
+ exclude: DEFAULT_EXCLUDE_FILES
3901
+ });
3869
3902
  // Update lock file (project mode only)
3870
3903
  if (!this.isGlobal) this.lockManager.lockSkill(skillName, {
3871
3904
  source: `${parsed.registry}:${parsed.owner}/${parsed.repo}${parsed.subPath ? `/${parsed.subPath}` : ''}`,
@@ -4311,8 +4344,9 @@ class RegistryResolver {
4311
4344
  logger_logger.debug(`Caching from ${repoUrl}@${gitRef}`);
4312
4345
  cacheResult = await this.cache.cache(repoUrl, parsed, gitRef, gitRef);
4313
4346
  }
4314
- // Get cache path as source
4315
- const sourcePath = this.cache.getCachePath(parsed, gitRef);
4347
+ // Resolve source path (cache root or skill subdirectory for multi-skill repos)
4348
+ const cachePath = this.cache.getCachePath(parsed, gitRef);
4349
+ const sourcePath = this.resolveSourcePath(cachePath, parsed);
4316
4350
  // Get the real skill name from SKILL.md in cache
4317
4351
  const metadata = this.getSkillMetadataFromDir(sourcePath);
4318
4352
  const skillName = metadata?.name ?? fallbackName;
@@ -167,6 +167,8 @@ export interface ParsedSkillRef {
167
167
  raw: string;
168
168
  /** Full Git URL (SSH/HTTPS), if provided */
169
169
  gitUrl?: string;
170
+ /** Skill name from #fragment (multi-skill repo selector) */
171
+ skillName?: string;
170
172
  }
171
173
  /**
172
174
  * Version type
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,YAAY,EACV,WAAW,EACX,SAAS,GACV,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvE;;GAEG;AACH,YAAY,EACV,WAAW,EACX,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAMjC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wCAAwC;IACxC,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACjC,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,oDAAoD;IACpD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC3C;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,6BAA6B;IAC7B,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,wCAAwC;IACxC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,wBAAwB;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE/F;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reskill",
3
- "version": "1.8.0-beta.0",
3
+ "version": "1.9.0",
4
4
  "description": "AI Skills Package Manager - Git-based skills management for AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",