@voidagency/skills 1.0.1 → 1.0.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.
package/dist/cli.mjs CHANGED
@@ -96,9 +96,25 @@ function parseSource(input) {
96
96
  const githubPrefixMatch = input.match(/^github:(.+)$/);
97
97
  if (githubPrefixMatch) return parseSource(githubPrefixMatch[1]);
98
98
  const gitlabPrefixMatch = input.match(/^gitlab:(.+)$/);
99
- if (gitlabPrefixMatch) return parseSource(`https://gitlab.com/${gitlabPrefixMatch[1]}`);
99
+ if (gitlabPrefixMatch) {
100
+ const rest = gitlabPrefixMatch[1];
101
+ const atIdx = rest.lastIndexOf("@");
102
+ const repoPart = atIdx > 0 ? rest.slice(0, atIdx).trim() : rest;
103
+ const skillPart = atIdx > 0 ? rest.slice(atIdx + 1).trim() : void 0;
104
+ const result = parseSource(`https://gitlab.com/${repoPart}`);
105
+ if (skillPart) result.skillFilter = skillPart;
106
+ return result;
107
+ }
100
108
  const bitbucketPrefixMatch = input.match(/^bitbucket:(.+)$/);
101
- if (bitbucketPrefixMatch) return parseSource(`https://bitbucket.org/${bitbucketPrefixMatch[1]}`);
109
+ if (bitbucketPrefixMatch) {
110
+ const rest = bitbucketPrefixMatch[1];
111
+ const atIdx = rest.lastIndexOf("@");
112
+ const repoPart = atIdx > 0 ? rest.slice(0, atIdx).trim() : rest;
113
+ const skillPart = atIdx > 0 ? rest.slice(atIdx + 1).trim() : void 0;
114
+ const result = parseSource(`https://bitbucket.org/${repoPart}`);
115
+ if (skillPart) result.skillFilter = skillPart;
116
+ return result;
117
+ }
102
118
  const atIdx = input.lastIndexOf("@");
103
119
  if (atIdx > 0) {
104
120
  const pathPart = input.slice(0, atIdx).trim();
@@ -724,123 +740,7 @@ function filterSkills(skills, inputNames) {
724
740
  //#region src/agents.ts
725
741
  const home = homedir();
726
742
  const configHome = xdgConfig ?? join(home, ".config");
727
- const codexHome = process.env.CODEX_HOME?.trim() || join(home, ".codex");
728
- const claudeHome = process.env.CLAUDE_CONFIG_DIR?.trim() || join(home, ".claude");
729
- function getOpenClawGlobalSkillsDir(homeDir = home, pathExists = existsSync) {
730
- if (pathExists(join(homeDir, ".openclaw"))) return join(homeDir, ".openclaw/skills");
731
- if (pathExists(join(homeDir, ".clawdbot"))) return join(homeDir, ".clawdbot/skills");
732
- if (pathExists(join(homeDir, ".moltbot"))) return join(homeDir, ".moltbot/skills");
733
- return join(homeDir, ".openclaw/skills");
734
- }
735
743
  const agents = {
736
- amp: {
737
- name: "amp",
738
- displayName: "Amp",
739
- skillsDir: ".agents/skills",
740
- globalSkillsDir: join(configHome, "agents/skills"),
741
- detectInstalled: async () => {
742
- return existsSync(join(configHome, "amp"));
743
- }
744
- },
745
- antigravity: {
746
- name: "antigravity",
747
- displayName: "Antigravity",
748
- skillsDir: ".agent/skills",
749
- globalSkillsDir: join(home, ".gemini/antigravity/skills"),
750
- detectInstalled: async () => {
751
- return existsSync(join(home, ".gemini/antigravity"));
752
- }
753
- },
754
- augment: {
755
- name: "augment",
756
- displayName: "Augment",
757
- skillsDir: ".augment/skills",
758
- globalSkillsDir: join(home, ".augment/skills"),
759
- detectInstalled: async () => {
760
- return existsSync(join(home, ".augment"));
761
- }
762
- },
763
- "claude-code": {
764
- name: "claude-code",
765
- displayName: "Claude Code",
766
- skillsDir: ".claude/skills",
767
- globalSkillsDir: join(claudeHome, "skills"),
768
- detectInstalled: async () => {
769
- return existsSync(claudeHome);
770
- }
771
- },
772
- openclaw: {
773
- name: "openclaw",
774
- displayName: "OpenClaw",
775
- skillsDir: "skills",
776
- globalSkillsDir: getOpenClawGlobalSkillsDir(),
777
- detectInstalled: async () => {
778
- return existsSync(join(home, ".openclaw")) || existsSync(join(home, ".clawdbot")) || existsSync(join(home, ".moltbot"));
779
- }
780
- },
781
- cline: {
782
- name: "cline",
783
- displayName: "Cline",
784
- skillsDir: ".agents/skills",
785
- globalSkillsDir: join(home, ".agents", "skills"),
786
- detectInstalled: async () => {
787
- return existsSync(join(home, ".cline"));
788
- }
789
- },
790
- codebuddy: {
791
- name: "codebuddy",
792
- displayName: "CodeBuddy",
793
- skillsDir: ".codebuddy/skills",
794
- globalSkillsDir: join(home, ".codebuddy/skills"),
795
- detectInstalled: async () => {
796
- return existsSync(join(process.cwd(), ".codebuddy")) || existsSync(join(home, ".codebuddy"));
797
- }
798
- },
799
- codex: {
800
- name: "codex",
801
- displayName: "Codex",
802
- skillsDir: ".agents/skills",
803
- globalSkillsDir: join(codexHome, "skills"),
804
- detectInstalled: async () => {
805
- return existsSync(codexHome) || existsSync("/etc/codex");
806
- }
807
- },
808
- "command-code": {
809
- name: "command-code",
810
- displayName: "Command Code",
811
- skillsDir: ".commandcode/skills",
812
- globalSkillsDir: join(home, ".commandcode/skills"),
813
- detectInstalled: async () => {
814
- return existsSync(join(home, ".commandcode"));
815
- }
816
- },
817
- continue: {
818
- name: "continue",
819
- displayName: "Continue",
820
- skillsDir: ".continue/skills",
821
- globalSkillsDir: join(home, ".continue/skills"),
822
- detectInstalled: async () => {
823
- return existsSync(join(process.cwd(), ".continue")) || existsSync(join(home, ".continue"));
824
- }
825
- },
826
- cortex: {
827
- name: "cortex",
828
- displayName: "Cortex Code",
829
- skillsDir: ".cortex/skills",
830
- globalSkillsDir: join(home, ".snowflake/cortex/skills"),
831
- detectInstalled: async () => {
832
- return existsSync(join(home, ".snowflake/cortex"));
833
- }
834
- },
835
- crush: {
836
- name: "crush",
837
- displayName: "Crush",
838
- skillsDir: ".crush/skills",
839
- globalSkillsDir: join(home, ".config/crush/skills"),
840
- detectInstalled: async () => {
841
- return existsSync(join(home, ".config/crush"));
842
- }
843
- },
844
744
  cursor: {
845
745
  name: "cursor",
846
746
  displayName: "Cursor",
@@ -850,123 +750,6 @@ const agents = {
850
750
  return existsSync(join(home, ".cursor"));
851
751
  }
852
752
  },
853
- droid: {
854
- name: "droid",
855
- displayName: "Droid",
856
- skillsDir: ".factory/skills",
857
- globalSkillsDir: join(home, ".factory/skills"),
858
- detectInstalled: async () => {
859
- return existsSync(join(home, ".factory"));
860
- }
861
- },
862
- "gemini-cli": {
863
- name: "gemini-cli",
864
- displayName: "Gemini CLI",
865
- skillsDir: ".agents/skills",
866
- globalSkillsDir: join(home, ".gemini/skills"),
867
- detectInstalled: async () => {
868
- return existsSync(join(home, ".gemini"));
869
- }
870
- },
871
- "github-copilot": {
872
- name: "github-copilot",
873
- displayName: "GitHub Copilot",
874
- skillsDir: ".agents/skills",
875
- globalSkillsDir: join(home, ".copilot/skills"),
876
- detectInstalled: async () => {
877
- return existsSync(join(home, ".copilot"));
878
- }
879
- },
880
- goose: {
881
- name: "goose",
882
- displayName: "Goose",
883
- skillsDir: ".goose/skills",
884
- globalSkillsDir: join(configHome, "goose/skills"),
885
- detectInstalled: async () => {
886
- return existsSync(join(configHome, "goose"));
887
- }
888
- },
889
- junie: {
890
- name: "junie",
891
- displayName: "Junie",
892
- skillsDir: ".junie/skills",
893
- globalSkillsDir: join(home, ".junie/skills"),
894
- detectInstalled: async () => {
895
- return existsSync(join(home, ".junie"));
896
- }
897
- },
898
- "iflow-cli": {
899
- name: "iflow-cli",
900
- displayName: "iFlow CLI",
901
- skillsDir: ".iflow/skills",
902
- globalSkillsDir: join(home, ".iflow/skills"),
903
- detectInstalled: async () => {
904
- return existsSync(join(home, ".iflow"));
905
- }
906
- },
907
- kilo: {
908
- name: "kilo",
909
- displayName: "Kilo Code",
910
- skillsDir: ".kilocode/skills",
911
- globalSkillsDir: join(home, ".kilocode/skills"),
912
- detectInstalled: async () => {
913
- return existsSync(join(home, ".kilocode"));
914
- }
915
- },
916
- "kimi-cli": {
917
- name: "kimi-cli",
918
- displayName: "Kimi Code CLI",
919
- skillsDir: ".agents/skills",
920
- globalSkillsDir: join(home, ".config/agents/skills"),
921
- detectInstalled: async () => {
922
- return existsSync(join(home, ".kimi"));
923
- }
924
- },
925
- "kiro-cli": {
926
- name: "kiro-cli",
927
- displayName: "Kiro CLI",
928
- skillsDir: ".kiro/skills",
929
- globalSkillsDir: join(home, ".kiro/skills"),
930
- detectInstalled: async () => {
931
- return existsSync(join(home, ".kiro"));
932
- }
933
- },
934
- kode: {
935
- name: "kode",
936
- displayName: "Kode",
937
- skillsDir: ".kode/skills",
938
- globalSkillsDir: join(home, ".kode/skills"),
939
- detectInstalled: async () => {
940
- return existsSync(join(home, ".kode"));
941
- }
942
- },
943
- mcpjam: {
944
- name: "mcpjam",
945
- displayName: "MCPJam",
946
- skillsDir: ".mcpjam/skills",
947
- globalSkillsDir: join(home, ".mcpjam/skills"),
948
- detectInstalled: async () => {
949
- return existsSync(join(home, ".mcpjam"));
950
- }
951
- },
952
- "mistral-vibe": {
953
- name: "mistral-vibe",
954
- displayName: "Mistral Vibe",
955
- skillsDir: ".vibe/skills",
956
- globalSkillsDir: join(home, ".vibe/skills"),
957
- detectInstalled: async () => {
958
- return existsSync(join(home, ".vibe"));
959
- }
960
- },
961
- mux: {
962
- name: "mux",
963
- displayName: "Mux",
964
- skillsDir: ".mux/skills",
965
- globalSkillsDir: join(home, ".mux/skills"),
966
- detectInstalled: async () => {
967
- return existsSync(join(home, ".mux"));
968
- }
969
- },
970
753
  opencode: {
971
754
  name: "opencode",
972
755
  displayName: "OpenCode",
@@ -975,132 +758,6 @@ const agents = {
975
758
  detectInstalled: async () => {
976
759
  return existsSync(join(configHome, "opencode"));
977
760
  }
978
- },
979
- openhands: {
980
- name: "openhands",
981
- displayName: "OpenHands",
982
- skillsDir: ".openhands/skills",
983
- globalSkillsDir: join(home, ".openhands/skills"),
984
- detectInstalled: async () => {
985
- return existsSync(join(home, ".openhands"));
986
- }
987
- },
988
- pi: {
989
- name: "pi",
990
- displayName: "Pi",
991
- skillsDir: ".pi/skills",
992
- globalSkillsDir: join(home, ".pi/agent/skills"),
993
- detectInstalled: async () => {
994
- return existsSync(join(home, ".pi/agent"));
995
- }
996
- },
997
- qoder: {
998
- name: "qoder",
999
- displayName: "Qoder",
1000
- skillsDir: ".qoder/skills",
1001
- globalSkillsDir: join(home, ".qoder/skills"),
1002
- detectInstalled: async () => {
1003
- return existsSync(join(home, ".qoder"));
1004
- }
1005
- },
1006
- "qwen-code": {
1007
- name: "qwen-code",
1008
- displayName: "Qwen Code",
1009
- skillsDir: ".qwen/skills",
1010
- globalSkillsDir: join(home, ".qwen/skills"),
1011
- detectInstalled: async () => {
1012
- return existsSync(join(home, ".qwen"));
1013
- }
1014
- },
1015
- replit: {
1016
- name: "replit",
1017
- displayName: "Replit",
1018
- skillsDir: ".agents/skills",
1019
- globalSkillsDir: join(configHome, "agents/skills"),
1020
- showInUniversalList: false,
1021
- detectInstalled: async () => {
1022
- return existsSync(join(process.cwd(), ".replit"));
1023
- }
1024
- },
1025
- roo: {
1026
- name: "roo",
1027
- displayName: "Roo Code",
1028
- skillsDir: ".roo/skills",
1029
- globalSkillsDir: join(home, ".roo/skills"),
1030
- detectInstalled: async () => {
1031
- return existsSync(join(home, ".roo"));
1032
- }
1033
- },
1034
- trae: {
1035
- name: "trae",
1036
- displayName: "Trae",
1037
- skillsDir: ".trae/skills",
1038
- globalSkillsDir: join(home, ".trae/skills"),
1039
- detectInstalled: async () => {
1040
- return existsSync(join(home, ".trae"));
1041
- }
1042
- },
1043
- "trae-cn": {
1044
- name: "trae-cn",
1045
- displayName: "Trae CN",
1046
- skillsDir: ".trae/skills",
1047
- globalSkillsDir: join(home, ".trae-cn/skills"),
1048
- detectInstalled: async () => {
1049
- return existsSync(join(home, ".trae-cn"));
1050
- }
1051
- },
1052
- windsurf: {
1053
- name: "windsurf",
1054
- displayName: "Windsurf",
1055
- skillsDir: ".windsurf/skills",
1056
- globalSkillsDir: join(home, ".codeium/windsurf/skills"),
1057
- detectInstalled: async () => {
1058
- return existsSync(join(home, ".codeium/windsurf"));
1059
- }
1060
- },
1061
- zencoder: {
1062
- name: "zencoder",
1063
- displayName: "Zencoder",
1064
- skillsDir: ".zencoder/skills",
1065
- globalSkillsDir: join(home, ".zencoder/skills"),
1066
- detectInstalled: async () => {
1067
- return existsSync(join(home, ".zencoder"));
1068
- }
1069
- },
1070
- neovate: {
1071
- name: "neovate",
1072
- displayName: "Neovate",
1073
- skillsDir: ".neovate/skills",
1074
- globalSkillsDir: join(home, ".neovate/skills"),
1075
- detectInstalled: async () => {
1076
- return existsSync(join(home, ".neovate"));
1077
- }
1078
- },
1079
- pochi: {
1080
- name: "pochi",
1081
- displayName: "Pochi",
1082
- skillsDir: ".pochi/skills",
1083
- globalSkillsDir: join(home, ".pochi/skills"),
1084
- detectInstalled: async () => {
1085
- return existsSync(join(home, ".pochi"));
1086
- }
1087
- },
1088
- adal: {
1089
- name: "adal",
1090
- displayName: "AdaL",
1091
- skillsDir: ".adal/skills",
1092
- globalSkillsDir: join(home, ".adal/skills"),
1093
- detectInstalled: async () => {
1094
- return existsSync(join(home, ".adal"));
1095
- }
1096
- },
1097
- universal: {
1098
- name: "universal",
1099
- displayName: "Universal",
1100
- skillsDir: ".agents/skills",
1101
- globalSkillsDir: join(configHome, "agents/skills"),
1102
- showInUniversalList: false,
1103
- detectInstalled: async () => false
1104
761
  }
1105
762
  };
1106
763
  async function detectInstalledAgents() {
@@ -1111,22 +768,18 @@ async function detectInstalledAgents() {
1111
768
  }
1112
769
  /**
1113
770
  * Returns agents that use the universal .agents/skills directory.
1114
- * These agents share a common skill location and don't need symlinks.
1115
- * Agents with showInUniversalList: false are excluded.
771
+ * Cursor and OpenCode both use this; they are always shown in the universal list.
1116
772
  */
1117
773
  function getUniversalAgents() {
1118
774
  return Object.entries(agents).filter(([_, config]) => config.skillsDir === ".agents/skills" && config.showInUniversalList !== false).map(([type]) => type);
1119
775
  }
1120
776
  /**
1121
777
  * Returns agents that use agent-specific skill directories (not universal).
1122
- * These agents need symlinks from the canonical .agents/skills location.
778
+ * Empty for this fork we only support Cursor and OpenCode (both use .agents/skills).
1123
779
  */
1124
780
  function getNonUniversalAgents() {
1125
781
  return Object.entries(agents).filter(([_, config]) => config.skillsDir !== ".agents/skills").map(([type]) => type);
1126
782
  }
1127
- /**
1128
- * Check if an agent uses the universal .agents/skills directory.
1129
- */
1130
783
  function isUniversalAgent(type) {
1131
784
  return agents[type].skillsDir === ".agents/skills";
1132
785
  }
@@ -2117,7 +1770,7 @@ function createEmptyLocalLock() {
2117
1770
  }
2118
1771
  //#endregion
2119
1772
  //#region package.json
2120
- var version$1 = "1.0.1";
1773
+ var version$1 = "1.0.3";
2121
1774
  //#endregion
2122
1775
  //#region src/add.ts
2123
1776
  const isCancelled$1 = (value) => typeof value === "symbol";
@@ -2273,11 +1926,7 @@ async function promptForAgents(message, choices) {
2273
1926
  lastSelected = await getLastSelectedAgents();
2274
1927
  } catch {}
2275
1928
  const validAgents = choices.map((c) => c.value);
2276
- const defaultValues = [
2277
- "claude-code",
2278
- "opencode",
2279
- "codex"
2280
- ].filter((a) => validAgents.includes(a));
1929
+ const defaultValues = ["cursor"].filter((a) => validAgents.includes(a));
2281
1930
  let initialValues = [];
2282
1931
  if (lastSelected && lastSelected.length > 0) initialValues = lastSelected.filter((a) => validAgents.includes(a));
2283
1932
  if (initialValues.length === 0) initialValues = defaultValues;
@@ -2446,6 +2095,7 @@ async function handleWellKnownSkills(source, url, options, spinner) {
2446
2095
  if (options.global === void 0 && !options.yes && supportsGlobal) {
2447
2096
  const scope = await ve({
2448
2097
  message: "Installation scope",
2098
+ initialValue: false,
2449
2099
  options: [{
2450
2100
  value: false,
2451
2101
  label: "Project",
@@ -2837,6 +2487,7 @@ async function runAdd(args, options = {}) {
2837
2487
  if (options.global === void 0 && !options.yes && supportsGlobal) {
2838
2488
  const scope = await ve({
2839
2489
  message: "Installation scope",
2490
+ initialValue: false,
2840
2491
  options: [{
2841
2492
  value: false,
2842
2493
  label: "Project",
@@ -3114,7 +2765,7 @@ async function promptForFindSkills(options, targetAgents) {
3114
2765
  if (options?.yes) return;
3115
2766
  try {
3116
2767
  if (await isPromptDismissed("findSkillsPrompt")) return;
3117
- if (await isSkillInstalled("find-skills", "claude-code", { global: true })) {
2768
+ if (await isSkillInstalled("find-skills", "cursor", { global: true })) {
3118
2769
  await dismissPrompt("findSkillsPrompt");
3119
2770
  return;
3120
2771
  }
@@ -3140,11 +2791,11 @@ async function promptForFindSkills(options, targetAgents) {
3140
2791
  });
3141
2792
  } catch {
3142
2793
  M.warn("Failed to install find-skills. You can try again with:");
3143
- M.message(import_picocolors.default.dim(" npx @voidagency/skills add vercel-labs/skills@find-skills -g -y --all"));
2794
+ M.message(import_picocolors.default.dim(" npx @voidagency/skills add bitbucket:adminvoid/skills@find-skills -g -y"));
3144
2795
  }
3145
2796
  } else {
3146
2797
  await dismissPrompt("findSkillsPrompt");
3147
- M.message(import_picocolors.default.dim("You can install it later with: npx @voidagency/skills add vercel-labs/skills@find-skills"));
2798
+ M.message(import_picocolors.default.dim("You can install it later with: npx @voidagency/skills add bitbucket:adminvoid/skills@find-skills"));
3148
2799
  }
3149
2800
  } catch {}
3150
2801
  }
@@ -3193,8 +2844,9 @@ function parseAddOptions(args) {
3193
2844
  * Agent repos should contain agent.json: { "skills": ["owner/repo", "owner/repo@skill", ...] }
3194
2845
  */
3195
2846
  const AGENT_DEFINITIONS_DIR = "agent-definitions";
3196
- function getAgentDefinitionsBase() {
3197
- return join(homedir(), AGENTS_DIR$2, AGENT_DEFINITIONS_DIR);
2847
+ function getAgentDefinitionsBase(global) {
2848
+ if (global) return join(homedir(), AGENTS_DIR$2, AGENT_DEFINITIONS_DIR);
2849
+ return join(process.cwd(), AGENTS_DIR$2, AGENT_DEFINITIONS_DIR);
3198
2850
  }
3199
2851
  /**
3200
2852
  * Sanitize a source string into a safe directory name (e.g. "owner/repo" -> "owner-repo").
@@ -3270,6 +2922,31 @@ async function runAddAgent(agentSource, options = {}) {
3270
2922
  const baseSlug = parsed.type === "local" ? slugFromSource(repoDir) : getOwnerRepo(parsed) || slugFromSource(source);
3271
2923
  const slug = agentName ? `${baseSlug}-${slugFromSource(agentName)}` : baseSlug;
3272
2924
  const skillsList = Array.isArray(manifest.skills) ? manifest.skills : [];
2925
+ let installAgentGlobally = options.global ?? false;
2926
+ if (options.global === void 0 && !options.yes) {
2927
+ const scope = await ve({
2928
+ message: "Installation scope",
2929
+ initialValue: false,
2930
+ options: [{
2931
+ value: false,
2932
+ label: "Project",
2933
+ hint: "Current directory (committed with your project)"
2934
+ }, {
2935
+ value: true,
2936
+ label: "Global",
2937
+ hint: "Home directory (available across all projects)"
2938
+ }]
2939
+ });
2940
+ if (pD(scope)) {
2941
+ xe("Installation cancelled");
2942
+ process.exit(0);
2943
+ }
2944
+ installAgentGlobally = scope;
2945
+ }
2946
+ const addOptions = {
2947
+ ...options,
2948
+ global: installAgentGlobally
2949
+ };
3273
2950
  if (skillsList.length > 0) M.info(`Installing ${skillsList.length} skill(s) from agent manifest...`);
3274
2951
  const hasExplicitProvider = (s) => /^(bitbucket:|github:|gitlab:|https?:\/\/)/i.test(String(s).trim());
3275
2952
  const resolveSkillSource = (s) => {
@@ -3283,14 +2960,14 @@ async function runAddAgent(agentSource, options = {}) {
3283
2960
  const resolved = resolveSkillSource(trimmed);
3284
2961
  spinner.start(`Installing skill: ${trimmed}`);
3285
2962
  try {
3286
- await runAdd([resolved], options);
2963
+ await runAdd([resolved], addOptions);
3287
2964
  spinner.stop(`Installed: ${trimmed}`);
3288
2965
  } catch (err) {
3289
2966
  spinner.stop(`Failed: ${trimmed}`);
3290
2967
  M.warn(`Could not install skill ${trimmed}: ${err instanceof Error ? err.message : err}`);
3291
2968
  }
3292
2969
  }
3293
- const destDir = join(getAgentDefinitionsBase(), slug);
2970
+ const destDir = join(getAgentDefinitionsBase(installAgentGlobally), slug);
3294
2971
  await mkdir(destDir, { recursive: true });
3295
2972
  const entries = await readdir(agentDirInRepo, { withFileTypes: true });
3296
2973
  for (const ent of entries) await cp(join(agentDirInRepo, ent.name), join(destDir, ent.name), { recursive: ent.isDirectory() });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voidagency/skills",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Void Agency skills and agents CLI — install from GitHub or Bitbucket",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,8 +10,7 @@
10
10
  "files": [
11
11
  "dist",
12
12
  "bin",
13
- "README.md",
14
- "ThirdPartyNoticeText.txt"
13
+ "README.md"
15
14
  ],
16
15
  "scripts": {
17
16
  "build": "node --experimental-strip-types scripts/generate-licenses.ts && obuild",
@@ -33,50 +32,11 @@
33
32
  },
34
33
  "keywords": [
35
34
  "cli",
36
- "agent-skills",
37
35
  "skills",
38
- "ai-agents",
39
- "amp",
40
- "antigravity",
41
- "augment",
42
- "claude-code",
43
- "openclaw",
44
- "cline",
45
- "codebuddy",
46
- "codex",
47
- "command-code",
48
- "continue",
49
- "cortex",
50
- "crush",
51
36
  "cursor",
52
- "droid",
53
- "gemini-cli",
54
- "github-copilot",
55
- "goose",
56
- "junie",
57
- "iflow-cli",
58
- "kilo",
59
- "kimi-cli",
60
- "kiro-cli",
61
- "kode",
62
- "mcpjam",
63
- "mistral-vibe",
64
- "mux",
65
37
  "opencode",
66
- "openhands",
67
- "pi",
68
- "qoder",
69
- "qwen-code",
70
- "replit",
71
- "roo",
72
- "trae",
73
- "trae-cn",
74
- "windsurf",
75
- "zencoder",
76
- "neovate",
77
- "pochi",
78
- "adal",
79
- "universal"
38
+ "ai-agents",
39
+ "agent-skills"
80
40
  ],
81
41
  "repository": {
82
42
  "type": "git",
@@ -1,12 +0,0 @@
1
- /*!----------------- Skills CLI ThirdPartyNotices -------------------------------------------------------
2
-
3
- The Skills CLI incorporates third party material from the projects listed below.
4
- The original copyright notice and the license under which this material was received
5
- are set forth below. These licenses and notices are provided for informational purposes only.
6
-
7
- ---------------------------------------------
8
- Third Party Code Components
9
- --------------------------------------------
10
-
11
- ================================================================================
12
- */