harnessed 3.9.18 → 3.9.19

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/dist/cli.mjs CHANGED
@@ -1218,7 +1218,7 @@ var init_auto_install = __esm({
1218
1218
 
1219
1219
  // package.json
1220
1220
  var package_default = {
1221
- version: "3.9.18"};
1221
+ version: "3.9.19"};
1222
1222
 
1223
1223
  // src/manifest/errors.ts
1224
1224
  function instancePathToKeyPath(instancePath) {
@@ -2801,10 +2801,25 @@ function extractGitCloneTarget(cmd) {
2801
2801
  if (dest.startsWith("/") || /^[A-Z]:[\\/]/i.test(dest)) return dest;
2802
2802
  return null;
2803
2803
  }
2804
+ var INSTALLED_INDICATORS = {
2805
+ gsd: ["gsd-progress", "gsd-plan-phase"],
2806
+ "mattpocock-skills": ["diagnose", "tdd", "zoom-out"]
2807
+ };
2804
2808
  async function detectNative(ctx) {
2805
2809
  const method = ctx.manifest.spec.install.method;
2806
2810
  const cmd = ctx.manifest.spec.install.cmd;
2807
2811
  const name = ctx.manifest.metadata.name;
2812
+ const indicators = INSTALLED_INDICATORS[name];
2813
+ if (indicators) {
2814
+ for (const ind of indicators) {
2815
+ const dir = join(homedir(), ".claude", "skills", ind);
2816
+ try {
2817
+ await access(dir);
2818
+ return true;
2819
+ } catch {
2820
+ }
2821
+ }
2822
+ }
2808
2823
  if (method === "cc-plugin-marketplace") {
2809
2824
  const m = cmd.match(/(?:claude\s+)?plugin\s+install\s+(\S+)/i);
2810
2825
  const pluginName = m?.[1]?.split("@")[0] ?? name;