diff --git a/src/cli/commands/invoke/action.ts b/src/cli/commands/invoke/action.ts index 1eca4d9f3..5d445a7e1 100644 --- a/src/cli/commands/invoke/action.ts +++ b/src/cli/commands/invoke/action.ts @@ -605,6 +605,7 @@ export function buildHarnessBaseOpts( if (options.maxIterations != null) baseOpts.maxIterations = options.maxIterations; if (options.maxTokens != null) baseOpts.maxTokens = options.maxTokens; if (options.harnessTimeout != null) baseOpts.timeoutSeconds = options.harnessTimeout; + if (options.skills) baseOpts.skills = options.skills.split(',').map(p => ({ path: p.trim() })); if (options.systemPrompt) baseOpts.systemPrompt = [{ text: options.systemPrompt }]; if (options.allowedTools) baseOpts.allowedTools = options.allowedTools.split(',').map(t => t.trim()); if (options.actorId) baseOpts.actorId = options.actorId; diff --git a/src/cli/commands/invoke/command.tsx b/src/cli/commands/invoke/command.tsx index 0a847eab2..0ef293d9a 100644 --- a/src/cli/commands/invoke/command.tsx +++ b/src/cli/commands/invoke/command.tsx @@ -174,6 +174,7 @@ export const registerInvoke = (program: Command) => { 'Override timeout seconds (harness only) [non-interactive] [preview]', parseInt ) + .option('--skills ', 'Skills to use, comma-separated paths (harness only) [non-interactive] [preview]') .option('--system-prompt ', 'Override system prompt (harness only) [non-interactive] [preview]') .option( '--allowed-tools ', @@ -211,6 +212,7 @@ export const registerInvoke = (program: Command) => { maxIterations?: number; maxTokens?: number; harnessTimeout?: number; + skills?: string; systemPrompt?: string; allowedTools?: string; actorId?: string; @@ -306,6 +308,7 @@ export const registerInvoke = (program: Command) => { maxIterations: cliOptions.maxIterations, maxTokens: cliOptions.maxTokens, harnessTimeout: cliOptions.harnessTimeout, + skills: cliOptions.skills, systemPrompt: cliOptions.systemPrompt, allowedTools: cliOptions.allowedTools, actorId: cliOptions.actorId,