claudekit-cli 4.3.1-dev.13 → 4.3.1-dev.14

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/cli-manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "4.3.1-dev.13",
3
- "generatedAt": "2026-05-22T03:55:06.068Z",
2
+ "version": "4.3.1-dev.14",
3
+ "generatedAt": "2026-05-22T04:42:40.849Z",
4
4
  "commands": {
5
5
  "agents": {
6
6
  "name": "agents",
package/dist/index.js CHANGED
@@ -57569,6 +57569,12 @@ function getPlanItemsByType(plan, type) {
57569
57569
  const normalized = list.filter((entry) => typeof entry === "string").map((entry) => entry.trim()).filter((entry) => entry.length > 0);
57570
57570
  return Array.from(new Set(normalized));
57571
57571
  }
57572
+ function hasPlanItemsForType(plan, type) {
57573
+ const meta = getPlanMeta(plan);
57574
+ if (!meta?.items || typeof meta.items !== "object")
57575
+ return false;
57576
+ return Array.isArray(meta.items[type]);
57577
+ }
57572
57578
  function providerSupportsType(provider, type) {
57573
57579
  if (type === "agent")
57574
57580
  return getProvidersSupporting("agents").includes(provider);
@@ -58382,17 +58388,23 @@ function registerMigrationRoutes(app, deps) {
58382
58388
  const plannedSkillActions = execActions.filter((a3) => a3.type === "skill").length;
58383
58389
  if (includeFromPlan.skills && discovered2.skills.length > 0 && plannedSkillActions === 0) {
58384
58390
  const allowedSkillNames = getPlanItemsByType(plan, "skills");
58391
+ const hasExplicitSkillItems = hasPlanItemsForType(plan, "skills");
58392
+ const skippedSkillKeys = new Set(plan.actions.filter((action) => action.type === "skill" && action.action === "skip").map((action) => JSON.stringify([action.provider, action.global, action.item])));
58385
58393
  const plannedSkills = allowedSkillNames.length > 0 ? discovered2.skills.filter((skill) => allowedSkillNames.includes(skill.name)) : executionMode === "install" ? [] : discovered2.skills;
58386
58394
  const skillProviders = allPlanProviders.filter((provider) => providerSupportsType(provider, "skill"));
58387
58395
  if (skillProviders.length > 0) {
58388
- for (const skill of plannedSkills) {
58389
- for (const provider of skillProviders) {
58390
- const globalFromPlan2 = plan.actions.find((action) => action.provider === provider && action.type === "skill")?.global ?? false;
58391
- const batch = await installSkillDirectories([skill], [provider], {
58392
- global: globalFromPlan2
58393
- });
58394
- tagResults(batch, "skills", skill.name);
58395
- allResults.push(...batch);
58396
+ for (const provider of skillProviders) {
58397
+ const skillScopes = new Set(plan.actions.filter((action) => action.provider === provider && action.type === "skill").map((action) => action.global));
58398
+ const scopes = skillScopes.size > 0 ? Array.from(skillScopes) : [false];
58399
+ for (const globalFromPlan2 of scopes) {
58400
+ const providerSkills = hasExplicitSkillItems ? plannedSkills.filter((skill) => !skippedSkillKeys.has(JSON.stringify([provider, globalFromPlan2, skill.name]))) : plannedSkills;
58401
+ for (const skill of providerSkills) {
58402
+ const batch = await installSkillDirectories([skill], [provider], {
58403
+ global: globalFromPlan2
58404
+ });
58405
+ tagResults(batch, "skills", skill.name);
58406
+ allResults.push(...batch);
58407
+ }
58396
58408
  }
58397
58409
  }
58398
58410
  }
@@ -63794,7 +63806,7 @@ var package_default;
63794
63806
  var init_package = __esm(() => {
63795
63807
  package_default = {
63796
63808
  name: "claudekit-cli",
63797
- version: "4.3.1-dev.13",
63809
+ version: "4.3.1-dev.14",
63798
63810
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
63799
63811
  type: "module",
63800
63812
  repository: {