Skip to content

Comments

feat: add batch-export and batch-update commands#367

Open
qxo wants to merge 1 commit intovercel-labs:mainfrom
qxo:feat-batch-export-update
Open

feat: add batch-export and batch-update commands#367
qxo wants to merge 1 commit intovercel-labs:mainfrom
qxo:feat-batch-export-update

Conversation

@qxo
Copy link
Contributor

@qxo qxo commented Feb 15, 2026

Add new commands for batch skill management:

  • Add batch-export command to export installed skills to YAML config
  • Add batch-update command to batch update skills from YAML config
  • Support skill configuration with disabled field
  • Add --dry-run flag to preview changes without applying
  • Add --with flag to export extra fields (tags, triggers)
  • Improve Windows symlink handling for user directories
  • Update CLI help and banner with new commands
  • Add comprehensive tests for batch operations

This feature enables users to:

  • Export their installed skills to a YAML configuration file
  • Batch update all skills from a single config file
  • Share skill configurations across different machines
  • Enable/disable specific skills without reinstalling
  • Preview changes before applying them

Files modified:

  • src/cli.ts: Add command routing and help text
  • src/installer.ts: Improve Windows symlink handling
  • src/skill-manager.ts: Implement batch-export and batch-update
  • src/telemetry.ts: Track batch command usage
  • tests/skill-manager.test.ts: Add comprehensive tests

Add new commands for batch skill management:

- Add `batch-export` command to export installed skills to YAML config
- Add `batch-update` command to batch update skills from YAML config
- Support skill configuration with disabled field
- Add --dry-run flag to preview changes without applying
- Add --with flag to export extra fields (tags, triggers)
- Improve Windows symlink handling for user directories
- Update CLI help and banner with new commands
- Add comprehensive tests for batch operations

This feature enables users to:
- Export their installed skills to a YAML configuration file
- Batch update all skills from a single config file
- Share skill configurations across different machines
- Enable/disable specific skills without reinstalling
- Preview changes before applying them

Files modified:
- src/cli.ts: Add command routing and help text
- src/installer.ts: Improve Windows symlink handling
- src/skill-manager.ts: Implement batch-export and batch-update
- src/telemetry.ts: Track batch command usage
- tests/skill-manager.test.ts: Add comprehensive tests
@vercel
Copy link

vercel bot commented Feb 15, 2026

@qxo is attempting to deploy a commit to the Vercel Team on Vercel.

A member of the Team first needs to authorize it.

detectInstalled: () => Promise<boolean>;
/** Whether to show this agent in the universal agents list. Defaults to true. */
showInUniversalList?: boolean;
detectInstalled: (homeDir?: string) => Promise<boolean>;
Copy link

@vercel vercel bot Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The showInUniversalList property was removed from the AgentConfig interface in types.ts, but it is still used in agents.ts, causing TypeScript compilation errors.

Fix on Vercel


if (hasDotDirectories) {
// Switch to copy mode for Windows user directories
installMode = 'copy';
Copy link

@vercel vercel bot Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot assign to 'installMode' because it is declared as a const, causing a TypeScript compilation error.

Fix on Vercel

if (trimmed.startsWith('- ') && indent === 2) {
// Save previous item
if (currentItem?.name) {
skillList.push(currentItem);
Copy link

@vercel vercel bot Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three TypeScript compilation errors in parseYamlConfig prevent the project from building: type narrowing failure on currentItem at lines 145/183, and noUncheckedIndexedAccess violation on match[2] at line 150.

Fix on Vercel

skillCount: String(skills.length),
enabledCount: String(enabledSkills.length),
disabledCount: String(disabledSkills.length),
global: String(options.global ?? false),
Copy link

@vercel vercel bot Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TypeScript compilation error: track() call passes global property not defined in BatchUpdateTelemetryData interface.

Fix on Vercel

@qxo qxo force-pushed the feat-batch-export-update branch from f5a3fe7 to 9ca6dbc Compare February 16, 2026 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant