harnessed 3.9.18 → 3.9.20

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
@@ -743,6 +743,19 @@ async function checkMattpocockSkills() {
743
743
  };
744
744
  } catch {
745
745
  }
746
+ const indicators = ["diagnose", "tdd", "zoom-out"];
747
+ for (const ind of indicators) {
748
+ const indPath = join(homedir(), ".claude", "skills", ind);
749
+ try {
750
+ await stat(indPath);
751
+ return {
752
+ name: "mattpocock-skills",
753
+ status: "pass",
754
+ message: `installed as individual skills (found ${ind}/)`
755
+ };
756
+ } catch {
757
+ }
758
+ }
746
759
  return {
747
760
  name: "mattpocock-skills",
748
761
  status: "warn",
@@ -1218,7 +1231,7 @@ var init_auto_install = __esm({
1218
1231
 
1219
1232
  // package.json
1220
1233
  var package_default = {
1221
- version: "3.9.18"};
1234
+ version: "3.9.20"};
1222
1235
 
1223
1236
  // src/manifest/errors.ts
1224
1237
  function instancePathToKeyPath(instancePath) {
@@ -2801,10 +2814,25 @@ function extractGitCloneTarget(cmd) {
2801
2814
  if (dest.startsWith("/") || /^[A-Z]:[\\/]/i.test(dest)) return dest;
2802
2815
  return null;
2803
2816
  }
2817
+ var INSTALLED_INDICATORS = {
2818
+ gsd: ["gsd-progress", "gsd-plan-phase"],
2819
+ "mattpocock-skills": ["diagnose", "tdd", "zoom-out"]
2820
+ };
2804
2821
  async function detectNative(ctx) {
2805
2822
  const method = ctx.manifest.spec.install.method;
2806
2823
  const cmd = ctx.manifest.spec.install.cmd;
2807
2824
  const name = ctx.manifest.metadata.name;
2825
+ const indicators = INSTALLED_INDICATORS[name];
2826
+ if (indicators) {
2827
+ for (const ind of indicators) {
2828
+ const dir = join(homedir(), ".claude", "skills", ind);
2829
+ try {
2830
+ await access(dir);
2831
+ return true;
2832
+ } catch {
2833
+ }
2834
+ }
2835
+ }
2808
2836
  if (method === "cc-plugin-marketplace") {
2809
2837
  const m = cmd.match(/(?:claude\s+)?plugin\s+install\s+(\S+)/i);
2810
2838
  const pluginName = m?.[1]?.split("@")[0] ?? name;