Skip to content

CLI Enterprise Edition Commands

This guide documents how SkillMeat CLI commands behave differently in Enterprise edition compared to Local edition. Enterprise edition introduces multi-tenant support, VGS (Version Graph Service) backed operations, and additional scoping options for enterprise deployments.

Overview

SkillMeat CLI commands maintain backward compatibility between editions while adding enterprise-specific features and constraints. Some commands are fully supported with enhanced capabilities, while others display helpful guidance directing users to web or API alternatives.

Fully Supported Commands

These commands work in both Local and Enterprise editions, with enterprise-specific enhancements:

deploy

Deploy artifacts to project profiles with multi-profile selection capabilities.

Enterprise Enhancement:

In enterprise edition, the deploy command supports additional flags for profile selection:

# Deploy to single profile
skillmeat deploy canvas --profile claude_code --project /path/to/project

# Deploy to multiple specific profiles
skillmeat deploy canvas --profiles claude_code,codex --project /path/to/project

# Deploy using project's saved default profiles
skillmeat deploy canvas --default-profiles --project /path/to/project

# Deploy to all available profiles
skillmeat deploy canvas --all-profiles --project /path/to/project

Behavior in Enterprise:

  • Supports --profile flag for single profile deployment
  • Supports --profiles flag for comma-separated profile list
  • Supports --use-defaults to deploy using project's default profile set
  • Supports --all-profiles to deploy to all configured profiles
  • Profile scope prevents unintended broad deployments
  • Returns descriptive errors if requested profiles don't exist

Example:

# Example: Deploy Python skill to all profiles in enterprise
skillmeat deploy python-skill --all-profiles \
  --project ~/enterprise-project

# Output:
# Deploying python-skill to enterprise project...
# ✓ Deployed to profile: claude_code
# ✓ Deployed to profile: codex
# ✓ Deployed to profile: gemini
# Deployment complete (3 profiles)

undeploy

Remove deployed artifacts from project profiles.

Enterprise Behavior:

In enterprise edition, undeploy operates within project and profile scope:

# Undeploy from current project (default profile)
skillmeat undeploy canvas --project /path/to/project

# Undeploy from specific profile
skillmeat undeploy canvas --profile codex --project /path/to/project

The undeploy command respects enterprise tenant boundaries and will not undeploy artifacts from other projects or tenants. The CLI resolves the project path to an internal project ID automatically; if the path cannot be resolved, a user-facing error is shown rather than silently sending an invalid request.

Example:

skillmeat undeploy canvas --project ~/enterprise-app --profile claude_code

# Output:
# Undeployed canvas from profile: claude_code
# Location: /path/to/project/.claude/skills/canvas/

history / version list

View artifact version history with VGS-backed queries.

Enterprise Behavior:

In enterprise edition, version history is served through the Version Graph Service (VGS) API:

# List version history
skillmeat history artifact-name --project /path/to/project

# List with limit
skillmeat history artifact-name --limit 20 --project /path/to/project

# List specific collection
skillmeat history artifact-name --collection work

Version queries respect tenant isolation—users only see versions they have access to.

Example:

skillmeat history canvas --limit 10

# Output:
# Version History: canvas
# 
# Version    Date                 Author          Message
# ──────────────────────────────────────────────────────────
# v2.1.5     2026-05-09 14:30:00  team@example    Fixed layout bug
# v2.1.4     2026-05-08 10:15:00  dev@example     Refactored styles
# v2.1.3     2026-05-07 16:45:00  admin@example   Initial enterprise release

Commands Not Yet Supported in Enterprise

These commands display a helpful message directing users to web interface or API endpoints:

branch

Create, list, and manage artifact branches.

Status: Not yet supported in enterprise edition

User Message:

Error: This command is not yet supported in enterprise edition.
Use the web interface at https://app.skillmeat.io/artifacts or 
the API endpoint /api/v1/artifacts/{id}/branches.

Documentation: https://docs.skillmeat.dev/user/guides/cli-reference.html#enterprise-limitations

Workaround: Use the web interface to manage branches:

  1. Navigate to the artifact detail page
  2. Go to the "Branches" tab
  3. Create, switch, or delete branches using the web UI

sync-state

Check synchronization status between project and collection.

Status: Not yet supported in enterprise edition

User Message:

Error: This command is not yet supported in enterprise edition.
Use the web interface at https://app.skillmeat.io/artifacts or 
the API endpoint /api/v1/versions/artifacts/{id}/sync-status.

Documentation: https://docs.skillmeat.dev/user/guides/cli-reference.html#enterprise-limitations

Workaround: Use the web UI to view sync status:

  1. Navigate to the artifact detail view
  2. Select the "Sync Status" tab to see collection vs. project state
  3. Review conflicts and perform manual sync if needed

merge

Merge branches or resolve conflicts.

Status: Not yet supported in enterprise edition

User Message:

Error: This command is not yet supported in enterprise edition.
Use the web interface at https://app.skillmeat.io/artifacts or 
the API endpoint /api/v1/artifacts/{id}/branches/{branch}/merge.

Documentation: https://docs.skillmeat.dev/user/guides/cli-reference.html#enterprise-limitations

Workaround: Use the web interface for merge operations:

  1. Navigate to the target branch in the artifact view
  2. Click "Merge" button
  3. Select source branch and resolve any conflicts in the UI

cherry-pick

Cherry-pick commits from one branch to another.

Status: Not yet supported in enterprise edition

User Message:

Error: This command is not yet supported in enterprise edition.
Use the API endpoint /api/v1/artifacts/{id}/branches/{branch_name}/cherry-pick.

Documentation: https://docs.skillmeat.dev/user/guides/cli-reference.html#enterprise-limitations

Workaround: Use the API directly or web interface:

Via API:

curl -X POST "https://app.skillmeat.io/api/v1/artifacts/{artifact_id}/branches/{branch_name}/cherry-pick" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "source_branch": "main",
    "commit_sha": "abc123def456"
  }'

Via Web Interface:

  1. Navigate to the target branch
  2. Find the commit to cherry-pick
  3. Click the "Cherry-Pick" action button
  4. Select destination branch and confirm

Enterprise-Specific Considerations

Profile Scoping

Enterprise deployments support multiple deployment profiles (claude_code, codex, gemini, cursor). When using deploy or undeploy, always specify the profile(s) you want to target to avoid unintended changes:

# GOOD: Explicitly target profile
skillmeat deploy my-skill --profile claude_code --project /path/to/project

# RISKY: Targets default profile only
skillmeat deploy my-skill --project /path/to/project

Version Graph Service (VGS)

All version operations (history, rollback, snapshot) are backed by the centralized Version Graph Service in enterprise edition. This ensures:

  • Consistent version history across all tenants
  • Atomic version operations (all-or-nothing)
  • Audit trail for all version changes
  • Promotion workflows (user → team → enterprise)

Tenant Isolation

All CLI commands respect enterprise tenant boundaries:

  • Users can only view/modify artifacts in their assigned tenant
  • Version history is filtered by tenant
  • Deployments are scoped to tenant projects
  • Collections are tenant-scoped

Error Messages

Edition Mismatch

Error: This operation requires local edition.
Your deployment is configured as: enterprise
Use the web interface or API for this operation.

Resolution: Check your edition setting:

skillmeat config get edition
# Should return "enterprise"

Profile Not Found

Error: Profile 'invalid_profile' not found for this project.
Available profiles: claude_code, codex, gemini

Run: skillmeat project default-profiles list --project /path/to/project

Resolution: Use a valid profile name or check project defaults.

Tenant Boundary Violation

Error: You do not have permission to access this artifact.
The artifact belongs to a different tenant or organization.

Resolution: Verify you're working in the correct tenant context. Contact your administrator if you need access.

Best Practices

  1. Always specify profiles in enterprise: Use --profile, --profiles, --all-profiles, or --default-profiles to be explicit about where deployments go.

  2. Use project defaults: Set meaningful default profiles for each project to reduce command complexity:

skillmeat project default-profiles set claude_code,codex --project /path/to/project
skillmeat deploy my-skill --default-profiles --project /path/to/project
  1. Check tenant boundaries: Before deploying, verify you're in the correct tenant/organization context.

  2. Use web interface for complex operations: For branch management, merging, and conflict resolution, the web interface provides better visualization.

  3. Monitor version history: Regularly check version history to understand deployment patterns:

skillmeat history artifact-name --limit 50

Comparison: Local vs. Enterprise

Command Local Enterprise Notes
deploy Full Full (with profiles) Enterprise requires explicit profile selection
undeploy Full Full Tenant-scoped in enterprise
history Full Full (VGS-backed) Powered by Version Graph Service
branch Full Web/API only Web interface recommended
sync-state Full Web/API only Web interface recommended
merge Full Web/API only Web interface recommended
cherry-pick Full Web/API only Use API endpoint or web UI

Getting Help

For issues with enterprise CLI commands:

  1. Check your edition: skillmeat config get edition
  2. Verify profiles: skillmeat project default-profiles list --project /path/to/project
  3. Review error message: Contains direction to web or API alternative
  4. Contact support: Your administrator or support team for tenant access issues