@floomhq/skills 1.1.2 → 1.1.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/index.js CHANGED
@@ -4377,7 +4377,7 @@ async function getMachineIdentity() {
4377
4377
  }
4378
4378
 
4379
4379
  // src/version.ts
4380
- var VERSION = "1.1.2";
4380
+ var VERSION = "1.1.3";
4381
4381
 
4382
4382
  // src/api-client.ts
4383
4383
  var DEFAULT_TIMEOUT_MS = 2e4;
@@ -7947,7 +7947,7 @@ async function installCommand(input, rawOpts = {}) {
7947
7947
  const slug = safeSkillSlug2(derivedSlug(shareData.skill.title));
7948
7948
  for (const file of shareData.file_contents) safeRemotePath2(file.path);
7949
7949
  const detected = await detectAgents();
7950
- if (detected.length === 0) {
7950
+ if (detected.length === 0 && flags.agents.length === 0) {
7951
7951
  if (json) {
7952
7952
  emitJson({ share: shareInfo(shareData), mode: "plan", applied: false, wouldMutate: false, hasSkipped: false, agents: [], next: [cliCmd("install <link> --agent claude")] });
7953
7953
  } else {
@@ -8020,11 +8020,7 @@ async function installCommand(input, rawOpts = {}) {
8020
8020
  selectedAgents = detected;
8021
8021
  }
8022
8022
  const scopes = flags.allScopes ? ["global", "project"] : flags.scope === "project" ? ["project"] : ["global"];
8023
- if (!planMode && flags.scope === null && !flags.allScopes && !isInteractive() && await projectSkillsDirExists()) {
8024
- log.err("This project has its own agent skill copies. Pass --global, --project, or --all-scopes.");
8025
- process.exitCode = 2;
8026
- return;
8027
- }
8023
+ const autoSelectedScope = !planMode && flags.scope === null && !flags.allScopes && !isInteractive() && await projectSkillsDirExists() ? "global" : null;
8028
8024
  const targets = [];
8029
8025
  for (const agent of selectedAgents) {
8030
8026
  for (const scope of scopes) {
@@ -8091,6 +8087,11 @@ async function installCommand(input, rawOpts = {}) {
8091
8087
  log.info(`${AGENT_LABELS[autoSelectedAgent]} is the only agent on this machine, so it is the one being installed into.`);
8092
8088
  log.info(`Pass --agent to choose a different one.`);
8093
8089
  }
8090
+ if (autoSelectedScope) {
8091
+ log.blank();
8092
+ log.info("This project has its own agent skill copies, and no scope was given, so this installs globally.");
8093
+ log.info("Pass --project to install into this project instead, or --all-scopes for both.");
8094
+ }
8094
8095
  log.blank();
8095
8096
  }
8096
8097
  const results = [];
@@ -8098,10 +8099,10 @@ async function installCommand(input, rawOpts = {}) {
8098
8099
  cleanup.trackDir(join12(target.skillsDir, ".floom", "tmp"));
8099
8100
  try {
8100
8101
  const finalDir = await installToDir(target, slug, shareData.file_contents);
8101
- results.push({ agent: target.agent, ok: true, path: finalDir, message: "installed" });
8102
+ results.push({ agent: target.agent, scope: target.scope, ok: true, path: finalDir, message: "installed" });
8102
8103
  if (!json) log.ok(`Installed ${shareData.skill.title} in ${AGENT_LABELS[target.agent]}`);
8103
8104
  } catch (error) {
8104
- results.push({ agent: target.agent, ok: false, message: error.message });
8105
+ results.push({ agent: target.agent, scope: target.scope, ok: false, message: error.message });
8105
8106
  if (!json) log.err(`${AGENT_LABELS[target.agent]}: ${error.message}`);
8106
8107
  }
8107
8108
  }
@@ -8112,9 +8113,10 @@ async function installCommand(input, rawOpts = {}) {
8112
8113
  applied: true,
8113
8114
  hasFailures: results.some((r) => !r.ok),
8114
8115
  autoSelectedAgent,
8116
+ autoSelectedScope,
8115
8117
  agents: results.map((r) => ({
8116
8118
  name: r.agent,
8117
- scope: "global",
8119
+ scope: r.scope,
8118
8120
  skillsDir: r.path ?? "",
8119
8121
  path: r.path ?? "",
8120
8122
  action: "install",
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const VERSION = "1.1.2";
1
+ export const VERSION = "1.1.3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floomhq/skills",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "Floom Skills CLI \u2014 publish, install, sync, and share AI agent skills.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://skills.floom.dev",