@touchskyer/opc 0.2.2 → 0.2.3

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.
Files changed (3) hide show
  1. package/bin/opc.mjs +13 -3
  2. package/package.json +1 -1
  3. package/skill.md +1 -1
package/bin/opc.mjs CHANGED
@@ -45,6 +45,13 @@ switch (command) {
45
45
  break;
46
46
  }
47
47
 
48
+ // If skillsDir is a symlink, just remove the link itself — don't follow it
49
+ if (lstatSync(skillsDir).isSymbolicLink()) {
50
+ rmSync(skillsDir);
51
+ console.log(`✓ OPC symlink removed: ${skillsDir}`);
52
+ break;
53
+ }
54
+
48
55
  // Only remove OPC-managed files, preserve custom roles
49
56
  const rolesDir = join(skillsDir, "roles");
50
57
  const managedRoles = readdirSync(join(srcDir, "roles"));
@@ -55,12 +62,13 @@ switch (command) {
55
62
  const rolePath = join(rolesDir, role);
56
63
  if (existsSync(rolePath)) rmSync(rolePath);
57
64
  }
58
- // Remove roles dir only if empty
59
65
  try {
60
66
  const remaining = readdirSync(rolesDir);
61
67
  if (remaining.length === 0) rmSync(rolesDir);
62
68
  else console.log(` Kept ${remaining.length} custom role(s) in ${rolesDir}`);
63
- } catch {}
69
+ } catch (err) {
70
+ console.warn(` ⚠ Could not clean roles dir: ${err.message}`);
71
+ }
64
72
  }
65
73
 
66
74
  // Remove skill.md
@@ -71,7 +79,9 @@ switch (command) {
71
79
  try {
72
80
  const remaining = readdirSync(skillsDir);
73
81
  if (remaining.length === 0) rmSync(skillsDir);
74
- } catch {}
82
+ } catch (err) {
83
+ console.warn(` ⚠ Could not remove skill dir: ${err.message}`);
84
+ }
75
85
 
76
86
  console.log(`✓ OPC removed from ${skillsDir}`);
77
87
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@touchskyer/opc",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "OPC — One Person Company. A full team in a single Claude Code skill.",
5
5
  "type": "module",
6
6
  "bin": {
package/skill.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: opc
3
- version: 0.2.2
3
+ version: 0.2.3
4
4
  description: "OPC — One Person Company. A full team in a single skill: 11 specialist agents for review, analysis, execution, and brainstorming. /opc review, /opc -i, or /opc <role>."
5
5
  ---
6
6