claude-flow 3.30.5 → 3.31.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow",
3
- "version": "3.30.5",
3
+ "version": "3.31.1",
4
4
  "description": "Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "generation": 1,
4
- "generatedAt": "2026-07-15T15:21:59.884Z",
5
- "gitSha": "9dd999c9",
4
+ "generatedAt": "2026-07-15T16:11:08.066Z",
5
+ "gitSha": "23abe26b",
6
6
  "catalog": {
7
7
  "agents": 164,
8
8
  "tools": 387,
@@ -124,6 +124,48 @@ async function maybeAutoDetectCodex(ctx, options) {
124
124
  // Codex auto-detect is a bonus, never a requirement — swallow everything.
125
125
  }
126
126
  }
127
+ // Cross-agent skill registration via skills.sh. Runs `npx --yes skills add
128
+ // ruvnet/ruflo --skill ruflo --yes` so the *single* canonical ruflo skill
129
+ // (SKILL.md at the ruvnet/ruflo repo root — describes the platform + entry
130
+ // points) reaches whatever agent the project uses (Claude Code, Cursor,
131
+ // Copilot, Gemini, Cline, …). Users who want ALL 267 plugin-specific skills
132
+ // can run `npx skills add ruvnet/ruflo --all` themselves. Best-effort — never
133
+ // fails init. Opt-out: --no-skills-sh flag OR RUFLO_NO_SKILLS_SH=1. Skipped
134
+ // under --skip-claude and scripted `--format json` output.
135
+ //
136
+ // windowsHide silences the console flash the npx child would otherwise produce
137
+ // (anthropics/claude-code#14828 spawn hazard applies to hook-fired spawns,
138
+ // but our own subprocess spawns should always set this).
139
+ async function maybeInstallSkillsSh(ctx) {
140
+ try {
141
+ if (ctx.flags['no-skills-sh'] === true)
142
+ return;
143
+ if (ctx.flags.format === 'json')
144
+ return;
145
+ if (/^(1|true|on|yes)$/i.test(String(process.env.RUFLO_NO_SKILLS_SH || '')))
146
+ return;
147
+ const npxCmd = process.platform === 'win32' ? 'npx.cmd' : 'npx';
148
+ if (!commandExists('npx'))
149
+ return;
150
+ output.writeln();
151
+ output.printInfo('Registering the core `ruflo` skill with skills.sh (cross-agent catalog)…');
152
+ const { spawnSync } = await import('child_process');
153
+ const result = spawnSync(npxCmd, ['--yes', 'skills', 'add', 'ruvnet/ruflo', '--skill', 'ruflo', '--yes'], { cwd: ctx.cwd, stdio: 'pipe', timeout: 60_000, windowsHide: true, encoding: 'utf-8' });
154
+ if (result.status === 0) {
155
+ output.writeln(output.success(' ✓ ruflo registered via skills.sh — the platform skill is available to any agent in this project'));
156
+ output.writeln(output.dim(' Want all 267 plugin skills? npx skills add ruvnet/ruflo --all'));
157
+ output.writeln(output.dim(' Opt out next time: --no-skills-sh or RUFLO_NO_SKILLS_SH=1'));
158
+ }
159
+ else {
160
+ // Common non-fatal reasons: offline, npx cache miss, skills CLI version
161
+ // mismatch, unknown package. Log a soft note; users can retry manually.
162
+ output.writeln(output.dim(' skills.sh registration skipped (network or npx cache) — retry with: npx skills add ruvnet/ruflo --skill ruflo --yes'));
163
+ }
164
+ }
165
+ catch {
166
+ // Skills.sh registration is a bonus, never a requirement — swallow everything.
167
+ }
168
+ }
127
169
  // Codex initialization action
128
170
  async function initCodexAction(ctx, options) {
129
171
  const { force, minimal, full, dualMode } = options;
@@ -405,6 +447,7 @@ const initAction = async (ctx) => {
405
447
  // #2666-adjacent — auto-detect + configure OpenAI Codex CLI if present
406
448
  if (!skipClaude) {
407
449
  await maybeAutoDetectCodex(ctx, { force, minimal, full });
450
+ await maybeInstallSkillsSh(ctx);
408
451
  }
409
452
  // Handle --start-all or --start-daemon
410
453
  const startAll = ctx.flags['start-all'] || ctx.flags.startAll;
@@ -1167,6 +1210,12 @@ export const initCommand = {
1167
1210
  type: 'boolean',
1168
1211
  default: false,
1169
1212
  },
1213
+ {
1214
+ name: 'no-skills-sh',
1215
+ description: 'Skip the post-init `npx skills add ruvnet/ruflo` registration (also honored via RUFLO_NO_SKILLS_SH=1)',
1216
+ type: 'boolean',
1217
+ default: false,
1218
+ },
1170
1219
  {
1171
1220
  name: 'all-agents',
1172
1221
  description: 'Install all agent categories (ADR-128: default is ~24 substrate agents; this restores the full set of ~89)',
@@ -1195,6 +1244,7 @@ export const initCommand = {
1195
1244
  { command: 'claude-flow init --codex --full', description: 'Codex init with all 137+ skills' },
1196
1245
  { command: 'claude-flow init --dual', description: 'Initialize for both Claude Code and Codex' },
1197
1246
  { command: 'claude-flow init --no-codex-detect', description: 'Skip auto-configuring OpenAI Codex even if it is installed' },
1247
+ { command: 'claude-flow init --no-skills-sh', description: 'Skip the post-init skills.sh registration' },
1198
1248
  { command: 'claude-flow init --all-agents', description: 'Install all agent categories (~89 agents; ADR-128 opt-in)' },
1199
1249
  ],
1200
1250
  action: initAction,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/cli",
3
- "version": "3.30.5",
3
+ "version": "3.31.1",
4
4
  "type": "module",
5
5
  "description": "Ruflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
6
6
  "main": "dist/src/index.js",