aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
1,586 lines • 102 kB
JavaScript
/**
* Command Extension Definitions
*
* Defines Extension objects for all CLI commands. Maps command handlers to the
* unified Extension schema for discovery, semantic search, and help generation.
*
* @implements @.aiwg/architecture/decisions/ADR-001-unified-extension-system.md
* @architecture @.aiwg/architecture/unified-extension-schema.md
* @source @src/cli/handlers/index.ts
* @tests @test/unit/extensions/commands/definitions.test.ts
* @issue #42
*/
// ============================================
// Individual Command Definitions
// ============================================
// Maintenance Commands
export const helpCommand = {
id: 'help',
type: 'skill',
name: 'Help',
description: 'Show all CLI commands, arguments, and usage examples',
version: '1.0.0',
capabilities: ['cli', 'help', 'documentation'],
keywords: ['help', 'usage', 'commands', 'documentation'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['help', 'show commands', 'usage', 'what commands are available'],
commandHint: {
template: 'utility',
allowedTools: [],
},
},
};
export const versionCommand = {
id: 'version',
type: 'skill',
name: 'Version',
description: 'Show version and channel information',
version: '1.0.0',
capabilities: ['cli', 'version', 'info'],
keywords: ['version', 'info', 'channel'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['version', 'what version', 'show version', 'current version'],
commandHint: {
template: 'utility',
allowedTools: ['Read'],
},
},
};
export const doctorCommand = {
id: 'doctor',
type: 'skill',
name: 'Doctor',
description: 'Check installation health and diagnose issues',
version: '1.0.0',
capabilities: ['cli', 'diagnostics', 'health-check'],
keywords: ['doctor', 'health', 'diagnostics', 'troubleshooting'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['doctor', 'check health', 'diagnose', 'troubleshoot installation'],
commandHint: {
template: 'utility',
allowedTools: ['Read', 'Bash'],
},
},
};
export const updateCommand = {
id: 'update',
type: 'skill',
name: 'Update',
description: 'Update AIWG and re-deploy installed frameworks from registry',
version: '1.0.0',
capabilities: ['cli', 'update', 'maintenance', 'deploy', 'refresh'],
keywords: ['update', 'upgrade', 'maintenance', 'refresh', 'redeploy'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['update', 'upgrade aiwg', 'update aiwg', 'refresh frameworks'],
commandHint: {
template: 'utility',
allowedTools: ['Bash', 'Read'],
argumentHint: '[--all] [--dry-run] [--provider <name>] [--skip-check]',
executionSteps: [
'Check for npm/git updates',
'Read .aiwg/frameworks/registry.json',
'Re-deploy installed frameworks',
'Report update summary',
],
},
},
};
// Renamed from `refreshCommand` as part of #694 (avoid collision with git sync
// semantics) and re-linked to `refreshHandler` in #919. Users who type
// `aiwg sync` still reach this handler via its 'sync' alias and see a
// deprecation notice.
export const refreshCommand = {
id: 'refresh',
type: 'skill',
name: 'Refresh',
description: 'Refresh AIWG to latest version and re-deploy all frameworks to active provider (formerly: sync)',
version: '1.0.0',
capabilities: ['cli', 'refresh', 'sync', 'maintenance', 'deploy', 'self-maintenance'],
keywords: ['refresh', 'sync', 'update', 'redeploy', 'current', 'latest'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['sync', 'sync aiwg', 'sync to latest', 'redeploy frameworks'],
commandHint: {
template: 'utility',
allowedTools: ['Bash', 'Read'],
argumentHint: '[--provider <name>] [--dry-run] [--frameworks <list>] [--channel <stable|next>] [--skip-update] [--quiet]',
executionSteps: [
'Detect active provider via runtime-info',
'Check current version vs latest on channel',
'Update package if newer available',
'Re-deploy all installed frameworks to provider',
'Run doctor health check',
'Output sync summary',
],
},
},
};
// #1266 — Regenerate cross-provider context files (AIWG.md + AGENTS.md) without
// redeploying frameworks. Narrower than refresh; faster for context-drift fixes.
export const regenerateCommand = {
id: 'regenerate',
type: 'skill',
name: 'Regenerate Context Files',
description: 'Regenerate AIWG.md + AGENTS.md without redeploying frameworks (context-only)',
version: '1.0.0',
capabilities: ['cli', 'regenerate', 'context', 'maintenance', 'self-maintenance'],
keywords: ['regenerate', 'context', 'aiwg.md', 'agents.md', 'redeploy-context'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['regenerate context', 'rewrite AIWG.md', 'rewrite AGENTS.md', 'fix context files'],
commandHint: {
template: 'utility',
allowedTools: ['Bash', 'Read', 'Write'],
argumentHint: '[--provider <name>] [--dry-run] [--force] [--no-aiwg-md] [--no-agents-md]',
executionSteps: [
'Detect active provider (or accept --provider override)',
'Discover deployed artifacts under provider paths',
'Regenerate AIWG.md from CLAUDE.md template (or stub if absent)',
'Regenerate AGENTS.md link-index sections',
'Report which files were written, skipped, or backed up',
],
},
},
};
// Framework Management Commands
export const useCommand = {
id: 'use',
type: 'skill',
name: 'Use',
description: 'Deploy SDLC, marketing, or writing framework (or addon) to workspace',
version: '1.0.0',
capabilities: ['cli', 'framework', 'deployment', 'addon'],
keywords: ['framework', 'install', 'deploy', 'use', 'addon', 'rlm'],
category: 'framework',
platforms: {
claude: 'full',
copilot: 'full',
factory: 'full',
cursor: 'full',
windsurf: 'full',
openclaw: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['use framework', 'deploy framework', 'install framework', 'use sdlc', 'use addon'],
commandHint: {
template: 'orchestration',
argumentHint: '<framework|addon> [--provider <p>] [--prefix <dir>] [--profile <name>]',
allowedTools: ['Read', 'Write', 'Bash', 'Glob'],
executionSteps: [
'Validate framework name',
'Check dependencies',
'Deploy framework files',
'Register in framework registry',
'Deploy platform-specific adaptations',
],
},
},
};
export const listCommand = {
id: 'list',
type: 'skill',
name: 'List',
description: 'List installed frameworks and addons',
version: '1.0.0',
capabilities: ['cli', 'framework', 'query'],
keywords: ['list', 'frameworks', 'addons', 'installed'],
category: 'framework',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['list frameworks', 'show installed', 'list addons', 'what is installed'],
commandHint: {
template: 'utility',
allowedTools: ['Read'],
},
},
};
export const removeCommand = {
id: 'remove',
type: 'skill',
name: 'Remove',
description: 'Remove a framework or addon',
version: '1.0.0',
capabilities: ['cli', 'framework', 'uninstall'],
keywords: ['remove', 'uninstall', 'framework', 'addon'],
category: 'framework',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['remove framework', 'uninstall framework', 'remove addon', 'uninstall addon'],
commandHint: {
template: 'orchestration',
argumentHint: '<id>',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const newBundleCommand = {
id: 'new-bundle',
type: 'skill',
name: 'New Bundle',
description: 'Scaffold a project-local bundle under .aiwg/{type}/{name}/',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'project-local'],
keywords: ['new', 'bundle', 'scaffold', 'project-local', 'extension', 'addon', 'framework', 'plugin'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['new bundle', 'scaffold project-local', 'new extension', 'new addon'],
commandHint: {
template: 'utility',
argumentHint: '<name> [--type extension|addon|framework|plugin] [--starter skill|rule|agent|minimal] [--description "..."]',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const promoteCommand = {
id: 'promote',
type: 'skill',
name: 'Promote',
description: 'Graduate a project-local bundle to upstream or a corpus path',
version: '1.0.0',
capabilities: ['cli', 'framework', 'graduate', 'project-local'],
keywords: ['promote', 'graduate', 'upstream', 'corpus', 'project-local', 'bundle'],
category: 'framework',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['promote bundle', 'graduate to upstream', 'promote project-local'],
commandHint: {
template: 'orchestration',
argumentHint: '<name> [--to upstream|corpus <path>] [--dry-run] [--cleanup] [--force]',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const installCommand = {
id: 'install',
type: 'skill',
name: 'Install Package',
description: 'Install a framework, addon, or extension from a Git repository',
version: '1.0.0',
capabilities: ['cli', 'framework', 'install', 'git'],
keywords: ['install', 'package', 'git', 'remote', 'addon', 'framework'],
category: 'framework',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['install package', 'install addon from git', 'install remote package'],
commandHint: {
template: 'orchestration',
argumentHint: '<ref>',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const packagesCommand = {
id: 'packages',
type: 'skill',
name: 'Packages',
description: 'Manage installed remote packages (list, info, remove)',
version: '1.0.0',
capabilities: ['cli', 'framework', 'query', 'uninstall'],
keywords: ['packages', 'list', 'installed', 'remote', 'registry'],
category: 'framework',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['list packages', 'show packages', 'package info', 'remove package'],
commandHint: {
template: 'utility',
argumentHint: '[list|info|remove]',
allowedTools: ['Read'],
},
},
};
export const marketplaceCommand = {
id: 'marketplace',
type: 'skill',
name: 'Marketplace',
description: 'Search and manage marketplace packages (search, list)',
version: '1.0.0',
capabilities: ['cli', 'marketplace', 'search', 'discovery'],
keywords: ['marketplace', 'search', 'packages', 'clawhub', 'openclaw', 'discover'],
category: 'framework',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: [
'marketplace search',
'search marketplace',
'marketplace list',
'find packages',
'discover skills',
],
commandHint: {
template: 'utility',
argumentHint: '[search|list]',
allowedTools: ['Read'],
},
},
};
export const initCommand = {
id: 'init',
type: 'skill',
name: 'Init',
description: 'Initialise project with .aiwg/aiwg.config (provider registry + scripts)',
version: '1.0.0',
capabilities: ['cli', 'project', 'config', 'setup'],
keywords: ['init', 'setup', 'config', 'providers', 'wizard'],
category: 'project',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['init project', 'setup project config', 'configure providers'],
commandHint: {
template: 'utility',
allowedTools: ['Read', 'Write'],
},
},
};
export const runCommand = {
id: 'run',
type: 'skill',
name: 'Run Script or Skill',
description: 'Run a user-defined script from .aiwg/aiwg.config, or execute a script-bearing skill via `aiwg run skill <name>` (#1227)',
version: '1.1.0',
capabilities: ['cli', 'utility', 'scripts', 'skills'],
keywords: ['run', 'script', 'execute', 'npm-run', 'skill'],
category: 'utility',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['run script', 'aiwg run', 'list scripts', 'run skill', 'aiwg run skill'],
commandHint: {
template: 'utility',
argumentHint: '[script-name] | skill <name> [-- <args...>]',
allowedTools: ['Read', 'Bash'],
},
},
};
// Project Setup Commands
export const newCommand = {
id: 'new',
type: 'skill',
name: 'New Project',
description: 'Scaffold new project with .aiwg/ directory and templates',
version: '1.0.0',
capabilities: ['cli', 'project', 'scaffolding'],
keywords: ['new', 'project', 'create', 'init', 'scaffold'],
category: 'project',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['new project', 'create project', 'init project', 'scaffold project'],
commandHint: {
template: 'orchestration',
allowedTools: ['Read', 'Write', 'Bash'],
executionSteps: [
'Create .aiwg/ directory structure',
'Deploy SDLC templates',
'Deploy agents',
'Initialize framework registry',
],
},
},
};
// Serve Command
export const serveCommand = {
id: 'serve',
type: 'skill',
name: 'Serve',
description: 'Start local HTTP dashboard server with WebSocket PTY bridge',
version: '1.0.0',
capabilities: ['cli', 'web', 'dashboard'],
keywords: ['serve', 'dashboard', 'web', 'server', 'browser'],
category: 'project',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['serve dashboard', 'start server', 'open dashboard', 'aiwg serve'],
commandHint: {
template: 'utility',
argumentHint: '[--port <n>] [--bind <host>] [--no-open] [--read-only]',
allowedTools: ['Bash'],
},
},
};
// Local Executor Command (#1181)
export const localExecutorCommand = {
id: 'local-executor',
type: 'skill',
name: 'Local Executor',
description: 'Start a no-sandbox host-process executor (isolation:none, Core+HITL conformance) registered with aiwg serve',
version: '1.0.0',
capabilities: ['cli', 'executor', 'missions', 'hitl'],
keywords: ['local-executor', 'executor', 'missions', 'dispatch', 'hitl', 'no-sandbox'],
category: 'project',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: false,
},
metadata: {
type: 'skill',
triggerPhrases: [
'local executor',
'start executor',
'aiwg local-executor serve',
'no-sandbox executor',
],
commandHint: {
template: 'utility',
argumentHint: 'serve [--port <n>] [--bind <host>] [--aiwg-serve <url>] [--max-concurrency <n>] [--executor-id <uuid>]',
allowedTools: ['Bash'],
},
},
};
export const localExecutorServeCommand = {
id: 'local-executor-serve',
type: 'skill',
name: 'Local Executor Serve',
description: 'Serve subcommand for the local executor — boots DaemonSupervisor + ExecutorShim and registers with aiwg serve',
version: '1.0.0',
capabilities: ['cli', 'executor', 'serve'],
keywords: ['local-executor-serve', 'executor', 'serve'],
category: 'project',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: false,
},
metadata: {
type: 'skill',
triggerPhrases: ['aiwg local-executor serve'],
commandHint: {
template: 'utility',
argumentHint: '[--port <n>] [--bind <host>] [--aiwg-serve <url>] [--max-concurrency <n>]',
allowedTools: ['Bash'],
},
},
};
// Diagnose Command (#925)
export const diagnoseCommand = {
id: 'diagnose',
type: 'skill',
name: 'Diagnose',
description: 'Produce a shareable support bundle (logs + env + config) for bug reports',
version: '1.0.0',
capabilities: ['cli', 'diagnostics', 'troubleshooting', 'support', 'bundle'],
keywords: ['diagnose', 'troubleshoot', 'bundle', 'support', 'bug-report', 'logs'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['diagnose', 'collect logs', 'bug report', 'support bundle', 'what is wrong'],
commandHint: {
template: 'utility',
argumentHint: '[--stdout] [--include-secrets]',
allowedTools: ['Bash'],
},
},
};
// Feedback Command (#885)
export const feedbackCommand = {
id: 'feedback',
type: 'skill',
name: 'Feedback',
description: 'Submit a bug report, feature request, or doc gap to the AIWG GitHub repo (auto-prefilled with system context)',
version: '1.0.0',
capabilities: ['cli', 'feedback', 'bug-report', 'feature-request', 'github-integration'],
keywords: ['feedback', 'bug', 'report', 'issue', 'feature-request', 'gh', 'github'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['report a bug', 'feature request', 'submit feedback', 'file an issue'],
commandHint: {
template: 'utility',
argumentHint: '[--type bug|feature|doc] [--title T --body B] [--no-context]',
allowedTools: ['Bash'],
},
},
};
// Session Command (#884)
export const sessionCommand = {
id: 'session',
type: 'skill',
name: 'Session',
description: 'Start an agentic session with pre-flight checks (version, doctor, deployment, optional MCP inject) and provider launch',
version: '1.0.0',
capabilities: ['cli', 'session', 'pre-flight', 'provider-launch', 'mcp-inject'],
keywords: ['session', 'start', 'launch', 'pre-flight', 'mcp', 'provider'],
category: 'project',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['start session', 'launch session', 'session mcp', 'agentic session'],
commandHint: {
template: 'utility',
argumentHint: '[mcp] [--provider P] [--no-repair] [--profile name]',
allowedTools: ['Bash'],
},
},
};
// Sandbox Management Commands (#917)
export const sandboxCommand = {
id: 'sandbox',
type: 'skill',
name: 'Sandbox',
description: 'Sandbox agent management — alias, resolve, and list agent identities',
version: '1.0.0',
capabilities: ['cli', 'sandbox', 'agent-identity', 'agent-routing'],
keywords: ['sandbox', 'alias', 'agent', 'identity', 'resolve', 'logical-name'],
category: 'project',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['sandbox alias', 'alias agent', 'sandbox resolve', 'agent identities'],
commandHint: {
template: 'utility',
argumentHint: 'alias|resolve|identities [options]',
allowedTools: ['Bash'],
},
},
};
// Workspace Management Commands
export const statusCommand = {
id: 'status',
type: 'skill',
name: 'Status',
description: 'Show workspace health, installed frameworks, and artifacts',
version: '1.0.0',
capabilities: ['cli', 'workspace', 'status'],
keywords: ['status', 'workspace', 'health', 'info'],
category: 'workspace',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['status', 'workspace status', 'show health', 'project status'],
commandHint: {
template: 'utility',
allowedTools: ['Read', 'Bash'],
},
},
};
export const wizardCommand = {
id: 'wizard',
type: 'skill',
name: 'Onboarding Wizard',
description: 'Guide first-run provider, project, framework, deploy, and verification steps',
version: '1.0.0',
capabilities: ['cli', 'workspace', 'onboarding', 'wizard', 'verification'],
keywords: ['wizard', 'onboarding', 'first-run', 'setup', 'verify'],
category: 'workspace',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['wizard', 'onboarding wizard', 'first run', 'guided setup'],
commandHint: {
template: 'utility',
argumentHint: '[--goal <text>] [--profile <preset>] [--provider <name>] [--framework <name>] [--non-interactive] [--dry-run] [--json]',
allowedTools: ['Read', 'Bash'],
},
},
};
export const migrateWorkspaceCommand = {
id: 'migrate-workspace',
type: 'skill',
name: 'Migrate Workspace',
description: 'Upgrade .aiwg/ structure to support multi-framework layout',
version: '1.0.0',
capabilities: ['cli', 'workspace', 'migration'],
keywords: ['migrate', 'workspace', 'migration', 'upgrade'],
category: 'workspace',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['migrate workspace', 'upgrade workspace', 'migrate aiwg directory'],
commandHint: {
template: 'orchestration',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const rollbackWorkspaceCommand = {
id: 'rollback-workspace',
type: 'skill',
name: 'Rollback Workspace',
description: 'Restore workspace to pre-migration state from backup',
version: '1.0.0',
capabilities: ['cli', 'workspace', 'rollback'],
keywords: ['rollback', 'workspace', 'restore', 'backup'],
category: 'workspace',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['rollback workspace', 'restore workspace', 'undo migration', 'workspace backup'],
commandHint: {
template: 'orchestration',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
// MCP Commands
export const mcpCommand = {
id: 'aiwg-mcp-server',
type: 'skill',
name: 'AIWG MCP Server',
description: 'AIWG MCP server operations (serve, install, add, remove, update, list, inject, info)',
version: '1.0.0',
capabilities: ['cli', 'mcp', 'server'],
keywords: ['mcp', 'server', 'protocol', 'aiwg'],
category: 'mcp',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['aiwg mcp', 'aiwg mcp server', 'start aiwg mcp', 'aiwg mcp serve', 'aiwg mcp install'],
commandHint: {
template: 'orchestration',
argumentHint: '<subcommand>',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
// Catalog Commands
export const catalogCommand = {
id: 'catalog',
type: 'skill',
name: 'Catalog',
description: 'Model catalog operations (list, info, search)',
version: '1.0.0',
capabilities: ['cli', 'catalog', 'models'],
keywords: ['catalog', 'models', 'search', 'info'],
category: 'catalog',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['catalog', 'model catalog', 'list models', 'search catalog'],
commandHint: {
template: 'utility',
argumentHint: '<subcommand>',
allowedTools: ['Read'],
},
},
};
// Skills Commands
export const skillsCommand = {
id: 'skills',
type: 'skill',
name: 'Skills Registry',
description: 'Skill registry commands (search, info, list, install, publish)',
version: '1.0.0',
capabilities: ['cli', 'skills', 'registry', 'search', 'install', 'publish'],
keywords: ['skills', 'registry', 'search', 'install', 'publish', 'clawhub', 'openclaw'],
category: 'catalog',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['skills', 'skills registry', 'search skills', 'install skill', 'publish skill'],
commandHint: {
template: 'utility',
argumentHint: '<subcommand>',
allowedTools: ['Read', 'Bash'],
},
},
};
// Index Commands
export const indexCommand = {
id: 'index',
type: 'skill',
name: 'Artifact Index',
description: 'Artifact index commands (build, query, deps, stats)',
version: '1.0.0',
capabilities: ['cli', 'index', 'artifacts', 'search', 'dependencies'],
keywords: ['index', 'artifacts', 'query', 'deps', 'dependencies', 'stats', 'search'],
category: 'index',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['index', 'build index', 'query index', 'artifact index', 'index stats'],
commandHint: {
template: 'utility',
argumentHint: '<subcommand> [options]',
allowedTools: ['Read', 'Glob', 'Grep'],
},
},
};
// Discovery — first-class top-level verb (#1212)
//
// Discovery is the operator surface for finding AIWG skills, agents, commands,
// and rules by capability. It heavily leverages the artifact index machinery
// but is exposed as its own top-level command (`aiwg discover`) rather than a
// subcommand of `aiwg index` to avoid agentic confusion between the project's
// general-purpose graph indices (project / codebase / framework / user-defined)
// and the specific AIWG capability-search surface.
export const discoverCommand = {
id: 'discover',
type: 'skill',
name: 'Discover',
description: 'Find AIWG skills, agents, commands, and rules by capability — index-driven on-demand discovery',
version: '1.0.0',
capabilities: ['cli', 'discovery', 'search', 'capability', 'skills'],
keywords: ['discover', 'find skill', 'capability', 'search skills', 'what skill does', 'skill for'],
category: 'index',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: [
'discover',
'find a skill',
'find skill for',
'what skill handles',
'capability search',
'aiwg discover',
],
commandHint: {
template: 'utility',
argumentHint: '"<phrase>" [--limit N] [--type skill,agent,...] [--json]',
allowedTools: ['Read'],
},
},
};
// Show: companion to `discover`. Where `discover` ranks candidates,
// `show` fetches the full body of one specific artifact (#1218). This
// closes the loop so consumers never need to navigate AIWG's storage
// paths themselves — the CLI is the access point.
export const showCommand = {
id: 'show',
type: 'skill',
name: 'Show',
description: 'Print the full text of a specific AIWG skill, agent, command, or rule by name',
version: '1.0.0',
capabilities: ['cli', 'discovery', 'read', 'capability', 'skills'],
keywords: ['show', 'cat', 'read skill', 'print skill', 'get skill content', 'aiwg show'],
category: 'index',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: [
'show skill',
'print skill',
'read skill',
'get skill content',
'aiwg show',
],
commandHint: {
template: 'utility',
argumentHint: '<type> <name> [--json] [--first] # type: skill | agent | command | rule',
allowedTools: ['Read'],
},
},
};
// Features: list, inspect (and eventually install) AIWG's optional
// runtime features — embeddings, sqlite, pty, webserver. (#1219)
export const featuresCommand = {
id: 'features',
type: 'skill',
name: 'Features',
description: 'List, inspect, and (eventually) install AIWG\'s optional runtime features',
version: '1.0.0',
capabilities: ['cli', 'maintenance', 'install', 'optional-deps'],
keywords: ['features', 'optional', 'install', 'embeddings', 'sqlite', 'pty', 'webserver'],
category: 'maintenance',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: [
'aiwg features',
'optional features',
'install optional',
'enable embeddings',
],
commandHint: {
template: 'utility',
argumentHint: '[status|info|install|remove] [name] [--json]',
allowedTools: ['Read', 'Bash'],
},
},
};
// Toolsmith Commands
export const runtimeInfoCommand = {
id: 'runtime-info',
type: 'skill',
name: 'Runtime Info',
description: 'Display runtime environment, available tools, and capabilities',
version: '1.0.0',
capabilities: ['cli', 'toolsmith', 'discovery'],
keywords: ['runtime', 'info', 'discovery', 'tools'],
category: 'toolsmith',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['runtime info', 'show runtime', 'available tools', 'runtime environment'],
commandHint: {
template: 'utility',
allowedTools: ['Read', 'Bash'],
},
},
};
export const agentcardCommand = {
id: 'agentcard',
type: 'skill',
name: 'AgentCard',
description: 'Fetch and verify an agentic-sandbox AgentCard JWS signature',
version: '1.0.0',
capabilities: ['cli', 'a2a', 'security'],
keywords: ['agentcard', 'a2a', 'jws', 'verify', 'sandbox'],
category: 'toolsmith',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: [
'verify agentcard',
'fetch agent card',
'verify a2a signature',
'check executor signature',
],
commandHint: {
template: 'utility',
allowedTools: ['Read', 'Bash'],
},
},
};
// Utility Commands
export const prefillCardsCommand = {
id: 'prefill-cards',
type: 'skill',
name: 'Prefill Cards',
description: 'Auto-populate SDLC artifact metadata from team configuration',
version: '1.0.0',
capabilities: ['cli', 'sdlc', 'automation'],
keywords: ['prefill', 'cards', 'sdlc', 'metadata'],
category: 'utility',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['prefill cards', 'populate metadata', 'fill sdlc cards', 'auto-populate artifacts'],
commandHint: {
template: 'transformation',
allowedTools: ['Read', 'Write'],
},
},
};
export const contributeStartCommand = {
id: 'contribute-start',
type: 'skill',
name: 'Contribute Start',
description: 'Initialize contribution with branch, issue tracking, and DCO',
version: '1.0.0',
capabilities: ['cli', 'contribution', 'workflow'],
keywords: ['contribute', 'contribution', 'workflow'],
category: 'utility',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['contribute start', 'start contribution', 'new contribution', 'init contribution'],
commandHint: {
template: 'orchestration',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const validateMetadataCommand = {
id: 'validate-metadata',
type: 'skill',
name: 'Validate Metadata',
description: 'Validate extension metadata against schema requirements',
version: '1.0.0',
capabilities: ['cli', 'validation', 'metadata'],
keywords: ['validate', 'metadata', 'quality'],
category: 'utility',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['validate metadata', 'check metadata', 'validate extensions', 'metadata quality'],
commandHint: {
template: 'utility',
allowedTools: ['Read'],
},
},
};
export const skillLintCommand = {
id: 'skill-lint',
type: 'skill',
name: 'Skill Lint',
description: 'Score SKILL.md files against a quality rubric (schema, description, discoverability, body)',
version: '1.0.0',
capabilities: ['cli', 'validation', 'metadata', 'quality'],
keywords: ['lint', 'quality', 'skill', 'rubric'],
category: 'utility',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['skill lint', 'lint skills', 'score skills', 'skill quality'],
commandHint: {
template: 'utility',
argumentHint: '<path> [--rubric strict|standard|lenient] [--json]',
allowedTools: ['Read'],
},
},
};
// Plugin Commands
export const installPluginCommand = {
id: 'install-plugin',
type: 'skill',
name: 'Install Plugin',
description: 'Install Claude Code plugin',
version: '1.0.0',
capabilities: ['cli', 'plugin', 'install'],
keywords: ['install', 'plugin', 'claude'],
category: 'plugin',
platforms: {
claude: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['install plugin', 'add plugin', 'plugin install'],
commandHint: {
template: 'utility',
argumentHint: '<name>',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const uninstallPluginCommand = {
id: 'uninstall-plugin',
type: 'skill',
name: 'Uninstall Plugin',
description: 'Uninstall Claude Code plugin',
version: '1.0.0',
capabilities: ['cli', 'plugin', 'uninstall'],
keywords: ['uninstall', 'plugin', 'claude'],
category: 'plugin',
platforms: {
claude: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['uninstall plugin', 'remove plugin', 'plugin uninstall'],
commandHint: {
template: 'utility',
argumentHint: '<name>',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const pluginStatusCommand = {
id: 'plugin-status',
type: 'skill',
name: 'Plugin Status',
description: 'Show Claude Code plugin status',
version: '1.0.0',
capabilities: ['cli', 'plugin', 'status'],
keywords: ['status', 'plugin', 'claude'],
category: 'plugin',
platforms: {
claude: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['plugin status', 'show plugins', 'list plugins'],
commandHint: {
template: 'utility',
allowedTools: ['Read'],
},
},
};
export const packagePluginCommand = {
id: 'package-plugin',
type: 'skill',
name: 'Package Plugin',
description: 'Bundle plugin for Claude Code marketplace distribution',
version: '1.0.0',
capabilities: ['cli', 'plugin', 'packaging'],
keywords: ['package', 'plugin', 'marketplace'],
category: 'plugin',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['package plugin', 'bundle plugin', 'publish plugin'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
export const packageAllPluginsCommand = {
id: 'package-all-plugins',
type: 'skill',
name: 'Package All Plugins',
description: 'Bundle all plugins for marketplace in batch operation',
version: '1.0.0',
capabilities: ['cli', 'plugin', 'packaging'],
keywords: ['package', 'plugin', 'marketplace', 'all'],
category: 'plugin',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['package all plugins', 'bundle all plugins', 'publish all plugins'],
commandHint: {
template: 'orchestration',
allowedTools: ['Read', 'Write', 'Bash'],
},
},
};
// Scaffolding Commands
export const addAgentCommand = {
id: 'add-agent',
type: 'skill',
name: 'Add Agent',
description: 'Add agent to addon/framework',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'agent'],
keywords: ['add', 'agent', 'scaffold', 'create'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['add agent', 'create agent', 'scaffold agent', 'new agent'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
export const addCommandCommand = {
id: 'add-command',
type: 'skill',
name: 'Add Command',
description: 'Add command to addon/framework',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'command'],
keywords: ['add', 'command', 'scaffold', 'create'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['add command', 'create command', 'scaffold command', 'new command'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
export const addSkillCommand = {
id: 'add-skill',
type: 'skill',
name: 'Add Skill',
description: 'Add skill to addon/framework',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'skill'],
keywords: ['add', 'skill', 'scaffold', 'create'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['add skill', 'create skill', 'scaffold skill', 'new skill'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
export const addBehaviorCommand = {
id: 'add-behavior',
type: 'skill',
name: 'Add Behavior',
description: 'Scaffold a new behavior with BEHAVIOR.md and scripts',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'behavior'],
keywords: ['add', 'behavior', 'scaffold', 'create', 'hooks', 'reactive'],
category: 'scaffolding',
platforms: {
claude: 'full',
openclaw: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['add behavior', 'create behavior', 'scaffold behavior', 'new behavior'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
export const addTemplateCommand = {
id: 'add-template',
type: 'skill',
name: 'Add Template',
description: 'Add template to addon/framework',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'template'],
keywords: ['add', 'template', 'scaffold', 'create'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['add template', 'create template', 'scaffold template', 'new template'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
export const scaffoldAddonCommand = {
id: 'scaffold-addon',
type: 'skill',
name: 'Scaffold Addon',
description: 'Create new addon package',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'addon'],
keywords: ['scaffold', 'addon', 'create', 'package'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['scaffold addon', 'create addon', 'new addon package'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
export const scaffoldExtensionCommand = {
id: 'scaffold-extension',
type: 'skill',
name: 'Scaffold Extension',
description: 'Create new extension package',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'extension'],
keywords: ['scaffold', 'extension', 'create', 'package'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['scaffold extension', 'create extension', 'new extension package'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
export const scaffoldFrameworkCommand = {
id: 'scaffold-framework',
type: 'skill',
name: 'Scaffold Framework',
description: 'Create new framework package',
version: '1.0.0',
capabilities: ['cli', 'scaffolding', 'framework'],
keywords: ['scaffold', 'framework', 'create', 'package'],
category: 'scaffolding',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
type: 'skill',
triggerPhrases: ['scaffold framework', 'create framework', 'new framework package'],
commandHint: {
template: 'orchestration',
argumentHint: '<name>',
allowedTools: ['Read', 'Write'],
},
},
};
// Ralph Commands
export const ralphCommand = {
id: 'ralph',
type: 'skill',
name: 'Ralph',
description: 'Start Ralph task execution loop',
version: '1.0.0',
capabilities: ['cli', 'ralph', 'orchestration'],
keywords: ['ralph', 'loop', 'task', 'orchestration'],
category: 'ralph',
platforms: {
claude: 'full',
generic: 'full',
},
deployment: {
pathTemplate: '.{platform}/commands/{id}.md',
core: true,
},
metadata: {
typ