import { Command } from 'commander';
import { createListCommand } from './list';
import { createRunCommand } from './run';
import { createValidateCommand } from './validate';
import { createInfoCommand } from './info';
import { createSearchCommand } from './search';
import { createCreateCommand } from './create';
import { createPublishCommand } from './publish';

/**
 * Creates and configures the 'skill' command group for managing Harness skills.
 *
 * @returns A Commander instance for the 'skill' command.
 */
export function createSkillCommand(): Command {
  const command = new Command('skill').description('Skill management commands');
  command.addCommand(createListCommand());
  command.addCommand(createRunCommand());
  command.addCommand(createValidateCommand());
  command.addCommand(createInfoCommand());
  command.addCommand(createSearchCommand());
  command.addCommand(createCreateCommand());
  command.addCommand(createPublishCommand());
  return command;
}
