Skip to content

CLI Reference

This reference is auto-generated from the SkillMeat CLI source. It covers every command, subcommand, option, and argument.

For prose documentation with examples and usage patterns, see the Command Reference.

Global Options

The following options apply to the top-level skillmeat command:

Option Description
--version Show the installed version and exit
--token PAT Personal Access Token for enterprise API authentication. Stored in ~/.skillmeat/enterprise.toml and active for this session.
--help Show help and exit

Environment Variables

Variable Description
SKILLMEAT_GITHUB_TOKEN GitHub personal access token. Takes priority over GITHUB_TOKEN.
GITHUB_TOKEN Fallback GitHub personal access token (standard GitHub Actions token).
SKILLMEAT_HOME Override the default SkillMeat home directory (default: ~/.skillmeat).

Version Spec Format

Artifact sources follow this format:

username/repo/path/to/artifact[@version]

Version options:

Spec Meaning
@latest Latest tagged release (default when omitted)
@1.2.0 Specific tag
@abc1234 Specific commit SHA
(omitted) Defaults to @latest

Examples:

skillmeat add skill anthropics/skills/canvas-design@latest
skillmeat add skill anthropics/skills/document-skills/docx@v1.2.0
skillmeat add skill user/repo/nested/path/skill@abc1234

Exit Codes

Code Meaning
0 Success
1 Runtime error (artifact not found, network error, etc.)
2 Usage error (invalid arguments or options)

Security Notes

  • GitHub tokens are stored in ~/.skillmeat/config.toml and never logged
  • Enterprise PATs are stored in ~/.skillmeat/enterprise.toml
  • All artifacts are validated before installation
  • Use --dangerously-skip-permissions only when you have reviewed the artifact source

Command Reference

skillmeat

SkillMeat: Personal collection manager for Claude Code artifacts.

Manage Skills, Commands, Agents, and more across multiple projects.

Examples: skillmeat init # Initialize default collection skillmeat add skill user/repo/skill # Add skill from GitHub skillmeat list # List all artifacts skillmeat deploy my-skill # Deploy to current project skillmeat snapshot "Backup" # Create snapshot

Usage:

skillmeat [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--version boolean Show the version and exit. False
--token text Personal Access Token for enterprise API authentication. Stored in ~/.skillmeat/enterprise.toml and active for this session. None
--help boolean Show this message and exit. False

skillmeat active-collection

View or switch active collection.

Without arguments, shows the current active collection. With a name, switches to that collection.

Examples: skillmeat active-collection # Show current skillmeat active-collection work # Switch to 'work' skillmeat active-collection --format json

Usage:

skillmeat active-collection [OPTIONS] [NAME]

Options:

Name Type Description Default
--format choice (table | json) Output format None
--help boolean Show this message and exit. False

skillmeat add

Add artifacts to collection.

Use subcommands to add specific artifact types: - skill: Add a skill - command: Add a command - agent: Add an agent

Usage:

skillmeat add [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat add agent

Add an agent from GitHub or local path.

SPEC can be: - GitHub: user/repo/path/to/agent.md[@version] - Local: /path/to/agent.md

Examples: skillmeat add agent user/repo/agents/reviewer.md skillmeat add agent ./my-agent.md

Usage:

skillmeat add agent [OPTIONS] SPEC

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--name, -n text Override artifact name None
--no-verify boolean Skip validation False
--force, -f boolean Overwrite existing artifact False
--dangerously-skip-permissions boolean Skip permission warnings (not recommended) False
--help boolean Show this message and exit. False
skillmeat add command

Add a command from GitHub or local path.

SPEC can be: - GitHub: user/repo/path/to/command.md[@version] - Local: /path/to/command.md

Examples: skillmeat add command user/repo/commands/review.md skillmeat add command ./review.md --name my-review

Usage:

skillmeat add command [OPTIONS] SPEC

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--name, -n text Override artifact name None
--no-verify boolean Skip validation False
--force, -f boolean Overwrite existing artifact False
--dangerously-skip-permissions boolean Skip permission warnings (not recommended) False
--help boolean Show this message and exit. False
skillmeat add skill

Add a skill from GitHub or local path.

SPEC can be: - GitHub: user/repo/path/to/skill[@version] - Local: /path/to/skill/directory

Examples: skillmeat add skill anthropics/skills/canvas skillmeat add skill user/repo/my-skill@v1.0.0 skillmeat add skill ./my-local-skill skillmeat add skill ./skill --name custom-name

Usage:

skillmeat add skill [OPTIONS] SPEC

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--name, -n text Override artifact name None
--no-verify boolean Skip validation False
--force, -f boolean Overwrite existing artifact False
--dangerously-skip-permissions boolean Skip permission warnings (not recommended) False
--help boolean Show this message and exit. False

skillmeat alias

Manage claudectl alias and shell integration.

Install or uninstall the claudectl wrapper script and shell completion files for a streamlined command-line experience.

Examples: skillmeat alias install # Install for bash skillmeat alias install --shells bash zsh # Install for multiple shells skillmeat alias uninstall # Remove all files

Usage:

skillmeat alias [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat alias install

Install claudectl wrapper and shell completion.

Creates the claudectl wrapper script at ~/.local/bin/claudectl and installs shell completion files for the specified shells.

Examples: skillmeat alias install # Install for bash skillmeat alias install --shells bash zsh # Install for bash and zsh skillmeat alias install --force # Overwrite existing

Usage:

skillmeat alias install [OPTIONS]

Options:

Name Type Description Default
--shells choice (bash | zsh | fish) Shells to install completion for (can specify multiple) ['bash']
--force, -f boolean Overwrite existing files False
--help boolean Show this message and exit. False
skillmeat alias uninstall

Remove claudectl wrapper and shell completion.

Removes the claudectl wrapper script and optionally all shell completion files.

Examples: skillmeat alias uninstall # Remove wrapper only skillmeat alias uninstall --all # Remove wrapper and completions

Usage:

skillmeat alias uninstall [OPTIONS]

Options:

Name Type Description Default
--all, -a boolean Remove wrapper and all shell completions False
--help boolean Show this message and exit. False

skillmeat analytics

View and manage artifact usage analytics.

Analytics tracks artifact deployments, updates, syncs, searches, and removals to help you understand usage patterns and identify cleanup opportunities.

Examples: skillmeat analytics usage # View all artifact usage skillmeat analytics top --limit 10 # Top 10 artifacts skillmeat analytics cleanup # Cleanup suggestions skillmeat analytics stats # Database statistics

Usage:

skillmeat analytics [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat analytics cleanup

Show cleanup suggestions for unused artifacts.

Identify artifacts that haven't been used recently, were never deployed, or have low usage, along with estimated disk space savings.

Examples: skillmeat analytics cleanup # Default suggestions skillmeat analytics cleanup --inactivity-days 60 # 60-day threshold skillmeat analytics cleanup --show-size # Show disk usage skillmeat analytics cleanup --format json # JSON output

Usage:

skillmeat analytics cleanup [OPTIONS]

Options:

Name Type Description Default
--inactivity-days integer Inactivity threshold in days (default: 90) 90
--collection text Filter by collection name Sentinel.UNSET
--format choice (table | json) Output format (default: table) table
--show-size boolean Show estimated disk space for each artifact False
--help boolean Show this message and exit. False
skillmeat analytics clear

Clear old analytics data.

Remove analytics events older than a specified number of days to free up disk space and maintain database performance.

Examples: skillmeat analytics clear --older-than-days 180 --confirm skillmeat analytics clear --older-than-days 90

Usage:

skillmeat analytics clear [OPTIONS]

Options:

Name Type Description Default
--older-than-days integer Delete events older than N days Sentinel.UNSET
--confirm boolean Skip confirmation prompt False
--help boolean Show this message and exit. False
skillmeat analytics export

Export comprehensive analytics report to file.

Generate a full analytics report including usage statistics, top artifacts, cleanup suggestions, and trends.

Examples: skillmeat analytics export report.json # Export to JSON skillmeat analytics export report.csv --format csv # Export to CSV skillmeat analytics export report.json --collection work

Usage:

skillmeat analytics export [OPTIONS] OUTPUT_PATH

Options:

Name Type Description Default
--format choice (json | csv) Export format (default: json) json
--collection text Filter by collection name Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat analytics stats

Show analytics database statistics.

Display summary statistics about the analytics database, including total events, artifacts tracked, date range, and event type breakdown.

Examples: skillmeat analytics stats

Usage:

skillmeat analytics stats [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat analytics top

List top artifacts by metric.

Show the most frequently used artifacts ranked by total events, deploys, updates, or other metrics.

Examples: skillmeat analytics top # Top 10 by events skillmeat analytics top --limit 20 # Top 20 skillmeat analytics top --metric deploy_count # Top by deploys skillmeat analytics top --type skill # Top skills only

Usage:

skillmeat analytics top [OPTIONS]

Options:

Name Type Description Default
--limit integer Number of top artifacts to show (default: 10) 10
--metric choice (total_events | deploy_count | update_count | sync_count | search_count) Sort by metric (default: total_events) total_events
--type choice (skill | command | agent) Filter by artifact type Sentinel.UNSET
--format choice (table | json) Output format (default: table) table
--help boolean Show this message and exit. False

Display usage trends over time.

Show how artifact usage has changed over different time periods, with breakdowns by event type (deploy, update, sync, search).

Examples: skillmeat analytics trends # Overall trends (30d) skillmeat analytics trends canvas # Specific artifact skillmeat analytics trends --period 7d # Last 7 days skillmeat analytics trends --period all # All time

Usage:

skillmeat analytics trends [OPTIONS] [ARTIFACT]

Options:

Name Type Description Default
--period choice (7d | 30d | 90d | all) Time period (default: 30d) 30d
--format choice (table | json) Output format (default: table) table
--help boolean Show this message and exit. False
skillmeat analytics usage

View artifact usage statistics.

Show usage statistics for one or more artifacts, including event counts, last usage time, and usage trends.

Examples: skillmeat analytics usage # All artifacts skillmeat analytics usage canvas # Specific artifact skillmeat analytics usage --type skill # All skills skillmeat analytics usage --format json # JSON output skillmeat analytics usage --sort-by last_used # Sort by recency

Usage:

skillmeat analytics usage [OPTIONS] [ARTIFACT]

Options:

Name Type Description Default
--days integer Time window in days (default: 30) 30
--type choice (skill | command | agent) Filter by artifact type Sentinel.UNSET
--collection text Filter by collection name Sentinel.UNSET
--format choice (table | json) Output format (default: table) table
--sort-by choice (total_events | deploy_count | update_count | last_used | artifact_name) Sort results by field (default: total_events) total_events
--help boolean Show this message and exit. False

skillmeat attest

Attestation management commands.

Create, list, and inspect owner-scoped attestation records that associate artifacts with RBAC roles, permission scopes, and visibility settings.

Examples: skillmeat attest create --artifact-id skill:my-skill --sign skillmeat attest list --artifact-id skill:my-skill skillmeat attest show 42

Usage:

skillmeat attest [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat attest create

Create a manual attestation record for an artifact.

Examples: skillmeat attest create --artifact-id skill:my-skill skillmeat attest create --artifact-id skill:my-skill --roles viewer,team_member --visibility team skillmeat attest create --artifact-id skill:my-skill --sign --format json

Usage:

skillmeat attest create [OPTIONS]

Options:

Name Type Description Default
--artifact-id text Artifact identifier in type:name format (e.g. skill:my-skill). Sentinel.UNSET
--owner-scope choice (user | team | enterprise) Owner scope: user team
--roles text Comma-separated roles to assert (e.g. viewer,team_member). None
--scopes text Comma-separated permission scopes to grant. None
--visibility choice (private | team | public) Visibility level: private team
--notes text Free-text notes to attach to the attestation. None
--sign boolean Sign the attestation record with the local Ed25519 key. False
--format, -f choice (table | json) Output format. table
--help boolean Show this message and exit. False
skillmeat attest list

List attestation records with optional filters.

Examples: skillmeat attest list skillmeat attest list --artifact-id skill:my-skill skillmeat attest list --owner-scope team --limit 50 skillmeat attest list --format json

Usage:

skillmeat attest list [OPTIONS]

Options:

Name Type Description Default
--artifact-id text Filter by artifact identifier. None
--owner-scope choice (user | team | enterprise) Filter by owner scope: user team
--limit, -n integer range (between 1 and 10000) Maximum number of records to display. 20
--format, -f choice (table | json) Output format. table
--help boolean Show this message and exit. False
skillmeat attest show

Show full detail for a single attestation record.

ATTESTATION_ID is the integer primary key displayed in attest list.

Examples: skillmeat attest show 42 skillmeat attest show 42 --format json

Usage:

skillmeat attest show [OPTIONS] ATTESTATION_ID

Options:

Name Type Description Default
--format, -f choice (table | json) Output format. table
--help boolean Show this message and exit. False

skillmeat auth

Authentication commands for SkillMeat.

Usage:

skillmeat auth [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat auth login

Log in to SkillMeat using the OAuth device code flow.

Opens a browser window and prompts you to authorize this device. The command polls for authorization until the device code expires or the optional timeout is reached.

In local (zero-auth) mode this command prints an informational message and exits without making any network requests.

Examples: skillmeat auth login skillmeat auth login --no-browser skillmeat auth login --timeout 600

Usage:

skillmeat auth login [OPTIONS]

Options:

Name Type Description Default
--no-browser boolean Do not attempt to open the verification URL in a browser automatically. False
--timeout integer Maximum time (in seconds) to wait for the user to authorize the device. 300
--help boolean Show this message and exit. False
skillmeat auth logout

Remove stored SkillMeat credentials.

Clears any access token, refresh token, and associated metadata from the active credential backend (system keyring or file). Safe to call even when no credentials are currently stored.

Example: skillmeat auth logout

Usage:

skillmeat auth logout [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat auth token

Store a Personal Access Token (PAT) for SkillMeat authentication.

PAT is stored using the same secure credential backend as the device-code flow (system keyring when available, ~/.skillmeat/credentials.json otherwise). PATs do not expire via OAuth, so no expires_in is set.

Examples: skillmeat auth token sk_live_abc123 skillmeat auth token sk_live_abc123 --validate

Usage:

skillmeat auth token [OPTIONS] PAT

Options:

Name Type Description Default
--validate boolean Attempt a test API call to verify the PAT works before storing it. False
--help boolean Show this message and exit. False

skillmeat bom

SkillBOM management commands.

Sign, verify, and manage Ed25519 signatures for SkillBOM context.lock snapshots.

Examples: skillmeat bom keygen skillmeat bom sign skillmeat bom verify

Usage:

skillmeat bom [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat bom generate

Generate a SkillBOM and write it to context.lock.

Queries the local artifact cache for the project, assembles a BOM, and writes it atomically to the output file (default: .skillmeat/context.lock inside the project directory).

When --auto-sign is given the BOM is immediately signed with the default Ed25519 key and a .sig signature file is written alongside the output.

Examples: skillmeat bom generate skillmeat bom generate --project /path/to/project skillmeat bom generate --output /tmp/snapshot.json skillmeat bom generate --auto-sign skillmeat bom generate --format json

Usage:

skillmeat bom generate [OPTIONS]

Options:

Name Type Description Default
--project, -p path Project directory to generate the BOM for. Defaults to the current directory. .
--output, -o path Output file path. Defaults to /.skillmeat/context.lock. None
--auto-sign boolean Automatically sign the generated BOM with the default Ed25519 key. False
--format, -f choice (json | summary) Output format. summary
--help boolean Show this message and exit. False
skillmeat bom hook

Git hook management commands.

Install or uninstall SkillBOM git hooks for automatic BOM tracking.

Examples: skillmeat bom hook install skillmeat bom hook uninstall

Usage:

skillmeat bom hook [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat bom hook install

Install Git hooks for automatic BOM tracking.

Installs two hooks into /.git/hooks/:

prepare-commit-msg — appends a SkillBOM-Ref footer to every commit message post-commit — links the commit SHA back to the BOM snapshot in the DB

Existing non-SkillBOM hooks are backed up with a .bak suffix before being replaced.

Examples: skillmeat bom hook install skillmeat bom hook install --project /path/to/repo

Usage:

skillmeat bom hook install [OPTIONS]

Options:

Name Type Description Default
--project, -p path Project (git repository) directory. Defaults to the current directory. .
--help boolean Show this message and exit. False
skillmeat bom hook uninstall

Uninstall SkillBOM Git hooks.

Removes SkillBOM-managed hooks from /.git/hooks/ and restores any backed up hooks (those with .bak suffix).

Only hooks with the SkillBOM marker comment are removed. Other hooks are left untouched.

Examples: skillmeat bom hook uninstall skillmeat bom hook uninstall --project /path/to/repo

Usage:

skillmeat bom hook uninstall [OPTIONS]

Options:

Name Type Description Default
--project, -p path Project (git repository) directory. Defaults to the current directory. .
--help boolean Show this message and exit. False
skillmeat bom keygen

Generate an Ed25519 signing keypair.

Writes two files into the target directory (default: ~/.skillmeat/keys/):

skillbom_ed25519 — private key (mode 0600) skillbom_ed25519.pub — public key (mode 0644)

If the files already exist you will be prompted to confirm overwrite.

Examples: skillmeat bom keygen skillmeat bom keygen --dir /path/to/keys

Usage:

skillmeat bom keygen [OPTIONS]

Options:

Name Type Description Default
--dir, -d path Directory in which to write the keypair. Defaults to ~/.skillmeat/keys/. None
--help boolean Show this message and exit. False
skillmeat bom restore

Restore artifact state from a git commit's linked BOM snapshot.

Reads the SkillBOM-Hash footer from COMMIT's message, locates the corresponding BOM snapshot, and rehydrates the .claude/ directory.

A summary of what will change is shown before restoration. Use --dry-run to inspect the diff without writing any files.

Examples: skillmeat bom restore --commit abc1234 skillmeat bom restore --commit abc1234 --dry-run skillmeat bom restore --commit abc1234 --force

Usage:

skillmeat bom restore [OPTIONS]

Options:

Name Type Description Default
--commit, -c text Git commit SHA to restore artifact state from. Sentinel.UNSET
--dry-run boolean Show what would change without making any filesystem modifications. False
--force boolean Skip the confirmation prompt before restoring. False
--help boolean Show this message and exit. False
skillmeat bom sign

Sign a BOM context.lock file with Ed25519.

Reads the target FILE (default: .skillmeat/context.lock), signs it with the Ed25519 private key, and writes the binary signature to .sig (or the path given via --output).

If the private key does not exist you will be offered the option to generate a new keypair in the default key directory.

Examples: skillmeat bom sign skillmeat bom sign .skillmeat/context.lock skillmeat bom sign --key ~/.skillmeat/keys/custom_key skillmeat bom sign --output /tmp/custom.sig

Usage:

skillmeat bom sign [OPTIONS] FILE

Options:

Name Type Description Default
--key, -k path Path to Ed25519 private key PEM file. Defaults to ~/.skillmeat/keys/skillbom_ed25519. None
--output, -o path Output path for the signature file. Defaults to .sig. None
--help boolean Show this message and exit. False
skillmeat bom verify

Verify a BOM signature.

Checks the Ed25519 signature for FILE (default: .skillmeat/context.lock). Exits with code 0 when the signature is VALID, or code 1 when it is INVALID or an ERROR occurs.

Examples: skillmeat bom verify skillmeat bom verify .skillmeat/context.lock skillmeat bom verify --signature custom.sig skillmeat bom verify --key ~/.skillmeat/keys/skillbom_ed25519.pub

Usage:

skillmeat bom verify [OPTIONS] FILE

Options:

Name Type Description Default
--signature, -s path Path to signature file. Defaults to .sig. None
--key, -k path Path to Ed25519 public key PEM file. Defaults to ~/.skillmeat/keys/skillbom_ed25519.pub. None
--help boolean Show this message and exit. False

skillmeat bundle

Manage Bundle entities (create, curate, publish, export).

Bundles are curated collections of artifacts that can be versioned, published to a marketplace, and exported as portable .skillmeat-pack archives.

Examples: skillmeat bundle create my-bundle --description "My toolkit" skillmeat bundle add-member my-bundle skill:canvas-design skillmeat bundle list skillmeat bundle show my-bundle skillmeat bundle publish my-bundle skillmeat bundle export my-bundle --output my-bundle.skillmeat-pack

Usage:

skillmeat bundle [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat bundle add-member

Add an artifact or context entity to a Bundle.

BUNDLE_NAME is the name of the target Bundle. MEMBER_REF is either:

  • An artifact in type:name format (e.g. skill:canvas-design)
  • A context entity prefixed with context: (e.g. context:my-rules)

Examples: skillmeat bundle add-member my-bundle skill:canvas-design skillmeat bundle add-member my-bundle command:git-commit skillmeat bundle add-member my-bundle context:project-guidelines

Usage:

skillmeat bundle add-member [OPTIONS] BUNDLE_NAME MEMBER_REF

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat bundle create

Create a new Bundle entity.

Creates a named Bundle in the local collection. The Bundle can then be populated with artifacts using bundle add-member.

Examples: skillmeat bundle create my-bundle skillmeat bundle create my-bundle --description "My toolkit" --version 1.0.0 skillmeat bundle create my-bundle --tags productivity --tags writing --license MIT

Usage:

skillmeat bundle create [OPTIONS] NAME

Options:

Name Type Description Default
--description, -d text Human-readable description of the Bundle. None
--version, -v text Initial semantic version (e.g. 0.1.0). Defaults to 0.1.0. None
--tags, -t text One or more tags to apply to the Bundle (repeatable). Sentinel.UNSET
--license, -l text SPDX license identifier (e.g. MIT, Apache-2.0). None
--help boolean Show this message and exit. False
skillmeat bundle deploy

Deploy all members of a Bundle to a project directory.

Resolves BUNDLE_NAME_OR_UUID through the dependency graph and writes each artifact's files into /.claude/// and each context entity's content to the path specified by its path_pattern (or a sensible default under /.claude/).

Use --dry-run to preview the full deployment plan without writing any files.

Exit code is non-zero if any member fails to deploy. Already-deployed members are NOT rolled back on failure.

Examples: skillmeat bundle deploy my-bundle skillmeat bundle deploy my-bundle --project /path/to/project skillmeat bundle deploy my-bundle --dry-run

Usage:

skillmeat bundle deploy [OPTIONS] BUNDLE_NAME_OR_UUID

Options:

Name Type Description Default
--project directory Target project directory. Defaults to the current working directory. None
--dry-run boolean List what would be deployed without writing any files. False
--help boolean Show this message and exit. False
skillmeat bundle export

Export Bundle to .skillmeat-pack.

Creates a portable .skillmeat-pack archive containing all Bundle metadata and member artifacts. The archive can be shared and imported on another machine using bundle import.

Examples: skillmeat bundle export my-bundle skillmeat bundle export my-bundle --output /tmp/my-bundle.skillmeat-pack

Usage:

skillmeat bundle export [OPTIONS] BUNDLE_NAME

Options:

Name Type Description Default
--output, -o path Output path for the .skillmeat-pack archive. Defaults to .skillmeat-pack. None
--help boolean Show this message and exit. False
skillmeat bundle import

Import a .skillmeat-pack.

Reads the archive at PATH and installs the contained Bundle and its member artifacts into the local collection.

Use --dry-run to inspect what would be imported without writing any files. Use --conflict-strategy to control behaviour when an artifact with the same name already exists.

Examples: skillmeat bundle import my-bundle.skillmeat-pack skillmeat bundle import my-bundle.skillmeat-pack --dry-run skillmeat bundle import my-bundle.skillmeat-pack --conflict-strategy overwrite

Usage:

skillmeat bundle import [OPTIONS] PATH

Options:

Name Type Description Default
--dry-run boolean Preview what would be imported without making any changes. False
--conflict-strategy choice (skip | overwrite | rename) Strategy for handling name conflicts: skip, overwrite, or rename. skip
--help boolean Show this message and exit. False
skillmeat bundle list

List Bundle entities.

Displays all Bundles in the local collection. Optionally filter by lifecycle status or request machine-readable JSON output.

Examples: skillmeat bundle list skillmeat bundle list --status published skillmeat bundle list --json

Usage:

skillmeat bundle list [OPTIONS]

Options:

Name Type Description Default
--status choice (draft | published | archived) Filter bundles by lifecycle status. None
--json boolean Output results as JSON. False
--help boolean Show this message and exit. False
skillmeat bundle publish

Publish a Bundle.

Transitions the named Bundle to published status, making it available in the marketplace catalog.

Examples: skillmeat bundle publish my-bundle

Usage:

skillmeat bundle publish [OPTIONS] BUNDLE_NAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat bundle remove-member

Remove an artifact from a Bundle.

BUNDLE_NAME is the name of the target Bundle. ARTIFACT_ID is the artifact identifier in type:name format (e.g. skill:canvas-design).

Examples: skillmeat bundle remove-member my-bundle skill:canvas-design skillmeat bundle remove-member my-bundle command:git-commit

Usage:

skillmeat bundle remove-member [OPTIONS] BUNDLE_NAME ARTIFACT_ID

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat bundle show

Show Bundle detail.

Displays full metadata and member list for the named Bundle.

Examples: skillmeat bundle show my-bundle

Usage:

skillmeat bundle show [OPTIONS] BUNDLE_NAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat bundle version

Set Bundle version.

Updates the semantic version of the named Bundle to SEMVER (e.g. 1.2.3). The version must follow SemVer 2.0 format.

Examples: skillmeat bundle version my-bundle 1.0.0 skillmeat bundle version my-bundle 2.0.0-beta.1

Usage:

skillmeat bundle version [OPTIONS] BUNDLE_NAME SEMVER

Options:

Name Type Description Default
--help boolean Show this message and exit. False

skillmeat cache

Manage cache for artifact operations.

The cache stores project and artifact information for faster CLI operations. Cache is automatically refreshed periodically, or can be managed manually.

Examples: skillmeat cache status # Show cache statistics skillmeat cache refresh # Refresh entire cache skillmeat cache refresh proj-id # Refresh specific project skillmeat cache clear # Clear all cached data skillmeat cache config get cache-ttl skillmeat cache config set cache-ttl 360

Usage:

skillmeat cache [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat cache clear

Clear all cached data.

This removes all cached project and artifact information. The cache will be repopulated on next use.

Usage:

skillmeat cache clear [OPTIONS]

Options:

Name Type Description Default
--yes, -y boolean Skip confirmation prompt False
--help boolean Show this message and exit. False
skillmeat cache config

Get or set cache configuration.

Configuration options: - cache-ttl: Time-to-live in minutes (default: 360)

Usage:

skillmeat cache config [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat cache config get

Get a cache configuration value.

Usage:

skillmeat cache config get [OPTIONS] KEY

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat cache config set

Set a cache configuration value.

Usage:

skillmeat cache config set [OPTIONS] KEY VALUE

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat cache refresh

Refresh cache data.

Without arguments, refreshes all stale projects. With PROJECT_ID, refreshes only that project.

Examples: skillmeat cache refresh # Refresh stale projects skillmeat cache refresh --force # Force refresh all skillmeat cache refresh proj-123 # Refresh specific project

Usage:

skillmeat cache refresh [OPTIONS] [PROJECT_ID]

Options:

Name Type Description Default
--force boolean Force refresh even if not stale False
--help boolean Show this message and exit. False
skillmeat cache status

Show cache statistics and health.

Displays: - Total projects and artifacts cached - Stale/outdated counts - Cache size and age - Last refresh time

Usage:

skillmeat cache status [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

skillmeat collection

Manage multiple collections.

Collections let you organize artifacts into separate groups (e.g., work, personal, experimental).

Usage:

skillmeat collection [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat collection create

Create a new collection.

Examples: skillmeat collection create work skillmeat collection create experimental

Usage:

skillmeat collection create [OPTIONS] NAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat collection list

List all collections.

Shows all available collections and marks the active one.

Examples: skillmeat collection list

Usage:

skillmeat collection list [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat collection refresh

Refresh artifact metadata from upstream GitHub sources.

Fetches latest metadata (description, tags, author, license) from GitHub repositories and updates the collection.

Examples: skillmeat collection refresh # Refresh all artifacts skillmeat collection refresh --dry-run # Preview changes skillmeat collection refresh --check # Check for updates only skillmeat collection refresh --check-only # Check version updates (faster) skillmeat collection refresh -t skill # Refresh only skills skillmeat collection refresh -n "canvas-*" # Refresh by name pattern skillmeat collection refresh --fields tags # Refresh only tags skillmeat collection refresh --fields description,tags # Refresh multiple fields skillmeat collection refresh --rollback # Restore pre-refresh snapshot skillmeat collection refresh --rollback -y # Skip confirmation

Usage:

skillmeat collection refresh [OPTIONS]

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--dry-run boolean Preview changes without saving False
--metadata-only boolean Restrict to metadata fields only (default: True) True
--check boolean Only detect available updates, don't apply False
--check-only boolean Check for version updates without examining metadata (faster) False
--type, -t choice (skill | command | agent | mcp-server | hook) Filter by artifact type None
--name, -n text Filter by artifact name pattern (supports glob) None
--fields text Comma-separated list of fields to refresh (e.g., 'description,tags,author'). Valid fields: description, tags, author, license, origin_source None
--rollback boolean Restore collection to most recent pre-refresh snapshot (exclusive with other flags) False
-y, --yes boolean Skip confirmation prompt for rollback False
--help boolean Show this message and exit. False
skillmeat collection use

Switch to a different collection.

Makes the specified collection the active one for all commands.

Examples: skillmeat collection use work skillmeat collection use default

Usage:

skillmeat collection use [OPTIONS] NAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False

skillmeat compliance-checklist

Generate compliance checklist for bundle.

Creates a comprehensive legal compliance checklist based on the bundle's license and contents.

Examples: skillmeat compliance-checklist my-bundle.zip skillmeat compliance-checklist my-bundle.zip --license MIT

Usage:

skillmeat compliance-checklist [OPTIONS] BUNDLE_PATH

Options:

Name Type Description Default
--license, -l text Override declared license (SPDX identifier) Sentinel.UNSET
--help boolean Show this message and exit. False

Record compliance consent for checklist.

Records publisher consent to compliance checklist items with cryptographic signature for legal audit trail.

Examples: skillmeat compliance-consent --publisher-email user@example.com

Usage:

skillmeat compliance-consent [OPTIONS] CHECKLIST_ID

Options:

Name Type Description Default
--publisher-email, -e text Publisher email address Sentinel.UNSET
--help boolean Show this message and exit. False

skillmeat compliance-history

View compliance consent history.

Shows history of recorded compliance consents, optionally filtered by publisher email.

Examples: skillmeat compliance-history skillmeat compliance-history --publisher user@example.com

Usage:

skillmeat compliance-history [OPTIONS]

Options:

Name Type Description Default
--publisher, -p text Filter by publisher email Sentinel.UNSET
--help boolean Show this message and exit. False

skillmeat compliance-scan

Scan bundle for license compliance.

Scans all files in the bundle for license headers, copyright notices, and detects license conflicts.

Examples: skillmeat compliance-scan my-bundle.zip

Usage:

skillmeat compliance-scan [OPTIONS] BUNDLE_PATH

Options:

Name Type Description Default
--help boolean Show this message and exit. False

skillmeat composite

Create and manage composite artifacts (plugins, stacks, suites).

Composites group multiple artifacts into a single named unit that can be deployed, shared, or exported together.

Examples: skillmeat composite create my-plugin skill:canvas command:git-commit skillmeat composite create my-stack agent:review-ai skill:docx --type stack

Usage:

skillmeat composite [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat composite create

Create a new composite artifact with optional initial members.

NAME is the identifier for the composite (used as composite:).

MEMBERS is an optional list of artifacts in type:name format to include as initial members of the composite.

Examples: skillmeat composite create my-plugin skill:canvas command:git-commit agent:review-ai skillmeat composite create my-stack --type stack --description "Dev stack" skillmeat composite create my-suite skill:canvas --collection work

Usage:

skillmeat composite create [OPTIONS] NAME [MEMBERS]...

Options:

Name Type Description Default
--type, -t choice (plugin | stack | suite) Composite type (default: plugin) plugin
--display-name, -n text Human-readable display name (defaults to NAME) Sentinel.UNSET
--description, -d text Optional description for this composite Sentinel.UNSET
--collection, -c text Collection to create the composite in (default: default) default
--help boolean Show this message and exit. False

skillmeat config

Manage configuration settings.

Configuration is stored in ~/.skillmeat/config.toml

Usage:

skillmeat config [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat config get

Get a configuration value.

Examples: skillmeat config get github-token skillmeat config get active-collection skillmeat config get default-collection --format json

Usage:

skillmeat config get [OPTIONS] KEY

Options:

Name Type Description Default
--format choice (table | json) Output format None
--help boolean Show this message and exit. False
skillmeat config list

List all configuration values.

Examples: skillmeat config list skillmeat config list --format json

Usage:

skillmeat config list [OPTIONS]

Options:

Name Type Description Default
--format choice (table | json) Output format None
--help boolean Show this message and exit. False
skillmeat config set

Set a configuration value.

Common keys: - github-token: GitHub personal access token - default-collection: Default collection name - update-strategy: Default update strategy (prompt/upstream/local) - score-weights: Scoring weights as 'trust=0.3,quality=0.3,match=0.4' - artifact_search.indexing_mode: Search indexing mode (off/on/opt_in)

Examples: skillmeat config set github-token ghp_xxxxx skillmeat config set default-collection work skillmeat config set score-weights 'trust=0.25,quality=0.25,match=0.50' skillmeat config set artifact_search.indexing_mode opt_in

Usage:

skillmeat config set [OPTIONS] KEY VALUE

Options:

Name Type Description Default
--help boolean Show this message and exit. False

skillmeat consolidate

Interactively consolidate duplicate or similar artifacts.

Fetches consolidation clusters (groups of similar artifacts) and presents each one for review. For each cluster you can merge, replace, skip, or quit.

Auto-snapshot is taken before any destructive action (merge/replace). If the snapshot fails the action is aborted.

Examples: skillmeat consolidate skillmeat consolidate --min-score 0.7 skillmeat consolidate --limit 5 skillmeat consolidate --non-interactive skillmeat consolidate -n --output text

Usage:

skillmeat consolidate [OPTIONS]

Options:

Name Type Description Default
--min-score, -m float Minimum similarity score threshold 0.0–1.0 (default: 0.5) 0.5
--limit, -l integer Maximum number of clusters to review (default: 20) 20
--non-interactive, -n boolean Output cluster data to stdout and exit without prompting. False
--output, -o choice (json | text) Output format for non-interactive mode: json (default) or text. json
--help boolean Show this message and exit. False

skillmeat context

Manage context entities (CLAUDE.md, specs, rules, context files).

Context entities are agent configuration files that can be managed as first-class artifacts in SkillMeat. Store, organize, and deploy context files (CLAUDE.md, specs, rules, etc.) across multiple projects.

Entity Types Supported: - Project configs (CLAUDE.md, AGENTS.md): Project-level instructions - Spec files (.claude/specs/.md): Feature specifications and designs - Rule files (.claude/rules//.md): Coding rules and patterns - Context files (.claude/context/.md): Reference and knowledge files - Progress templates (.claude/progress/.md): Task tracking templates

Common Workflows: 1. Add entity: skillmeat context add .claude/specs/doc-policy.md 2. List entities: skillmeat context list --category backend-rules 3. Preview: skillmeat context show doc-policy-spec 4. Deploy: skillmeat context deploy doc-policy-spec --to-project ~/my-app 5. Clean up: skillmeat context remove old-spec --force

Benefits: * Share context files across projects without duplication * Version control context entities in your collection * Auto-load context for AI agent workflows (Phase 2) * Organize with categories and auto-load flags

For detailed help on each command: skillmeat context add --help skillmeat context list --help skillmeat context show --help skillmeat context deploy --help skillmeat context remove --help

Usage:

skillmeat context [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat context add

Add a context entity from a local file or GitHub URL.

Import a context entity (CLAUDE.md, specs, rules, etc.) into your collection from local files or GitHub repositories. Entities are stored in the collection database and can be deployed to multiple projects independently.

SOURCE Formats: - Local file path: /path/to/file.md or .claude/specs/doc-policy.md Uses relative paths from current directory or absolute paths - GitHub URL: https://github.com/user/repo/blob/main/CLAUDE.md Raw content is fetched from GitHub (no token required for public repos)

Entity Type Auto-Detection: Type is auto-detected from path pattern if not specified with --type: - CLAUDE.md or AGENTS.md → project_config - .claude/specs/.md → spec_file - .claude/rules//.md → rule_file - .claude/context/.md → context_file - .claude/progress/.md → progress_template

Options: --type (-t): Explicitly set entity type (overrides auto-detection) --category (-c): Grouping category for organizing related entities Examples: 'backend-rules', 'specs', 'documentation' --auto-load: Mark this entity to auto-load when used in agent context (Note: Auto-load feature planned for Phase 2) --name (-n): Override auto-generated entity name Auto-generation: filename without extension, underscores → hyphens Example: doc_policy_spec.md → doc-policy-spec --strict: Require the source file to already contain YAML frontmatter. Without --strict (default), missing frontmatter is auto-generated in-memory from --name/--type/--category before upload; the source file on disk is never modified.

Examples: skillmeat context add .claude/specs/doc-policy-spec.md skillmeat context add https://github.com/anthropics/skills/blob/main/CLAUDE.md --type project_config skillmeat context add .claude/rules/api/routers.md --category backend-rules --auto-load skillmeat context add ~/Downloads/custom-rule.md --name my-custom-rule --type rule_file

Entity Name Examples: Source File → Entity Name doc-policy-spec.md → doc-policy-spec doc_policy_spec.md → doc-policy-spec (underscores to hyphens) CLAUDE.md → claude (lowercase) custom_rule.md (with -n flag) → my-custom-rule (uses --name)

Common Errors: * "File not found: {path}": Check file exists and path is correct - Use absolute paths or paths relative to current directory - Verify no typos in filename * "Could not fetch from GitHub: {url}": GitHub URL is invalid or file doesn't exist - Verify URL is correct: github.com/user/repo/blob/main/path/to/file.md - File must exist in the specified branch * "Could not read file: {path}": Permission denied or file is corrupted - Check file permissions: chmod 644 file.md - Verify file is valid UTF-8 text * "Validation failed": Entity content doesn't match type requirements - Check entity file has valid YAML frontmatter (for specs/rules) - Verify path pattern matches entity type expectations * "Could not connect to API server": API server is not running - Start API: skillmeat web dev --api-only - Check API is listening on the configured URL (default: http://localhost:8080) * "Entity name already exists": Name is already used in collection - Use --name to specify a different name - Or remove the existing entity first: skillmeat context remove old-name

Pro Tips: * Use absolute paths for reliability: /Users/name/.claude/specs/file.md * For GitHub files, use --type to explicitly set type if auto-detection fails * Organize related entities with --category for easier filtering * Test with --dry-run before deploying entities to projects

Usage:

skillmeat context add [OPTIONS] SOURCE

Options:

Name Type Description Default
--type, -t choice (project_config | spec_file | rule_file | context_file | progress_template) Entity type (auto-detected if not provided) None
--category, -c text Category for grouping (e.g., 'specs', 'backend-rules') None
--auto-load boolean Mark entity for auto-loading (default: false) False
--name, -n text Override artifact name (default: derived from filename) None
--strict boolean Require YAML frontmatter in source file (exit with error if absent) False
--help boolean Show this message and exit. False
skillmeat context deploy

Deploy context entity to a project directory.

Write a context entity from your collection to a project's .claude/ directory (or project root for CLAUDE.md/AGENTS.md). This automatically creates parent directories as needed and includes security checks to prevent path traversal.

Arguments: name_or_id: Entity name (e.g., 'doc-policy-spec') or UUID Use 'skillmeat context list' to find entity names/IDs

Options: --to-project PATH: Target project directory (required, expands ~ to home) Example: ~/projects/my-app or /Users/name/projects/api --overwrite: Overwrite file if it already exists (default: prompt if conflict) --dry-run: Preview deployment without writing any files (useful for testing)

Entity Type Behavior: * project_config (CLAUDE.md, AGENTS.md): Deployed to project root * All other types: Deployed to .claude/ directory based on path pattern

Examples: skillmeat context deploy doc-policy-spec --to-project ~/projects/my-app skillmeat context deploy routers-rule --to-project ~/projects/api --overwrite skillmeat context deploy CLAUDE --to-project ~/projects/new --dry-run skillmeat context deploy backend-rules --to-project . --dry-run # Current project

Security Features: * Path traversal attacks are blocked - target must be inside project * Non-config files must deploy to .claude/ directory * Parent directories are created automatically if needed

Common Errors: * "Entity 'name' not found": Check spelling or use 'skillmeat context list' * "File already exists: {path}": Use --overwrite to replace or manually resolve conflict before retrying * "Project path does not exist": Create the project directory first mkdir -p ~/projects/my-app * "SECURITY: Deployment path escapes": Entity path pattern is invalid or points outside project - contact the entity creator * "Could not connect to API server": Make sure API is running Run: skillmeat web dev --api-only

Deployment Tips: * Always use --dry-run first to preview changes * Use --overwrite only if you're sure about overwriting existing files * For multiple deployments, consider scripting with --dry-run validation

Usage:

skillmeat context deploy [OPTIONS] NAME_OR_ID

Options:

Name Type Description Default
--to-project path Target project path Sentinel.UNSET
--overwrite boolean Overwrite if file exists False
--dry-run boolean Show what would be deployed without writing False
--profile text Deployment profile id to validate/deploy against (defaults to project primary profile) None
--force boolean Force deployment when platform targeting does not match selected profile False
--help boolean Show this message and exit. False
skillmeat context list

List all context entities with optional filtering.

Display all context entities in your collection with metadata including type, category, auto-load status, and path patterns. Filter by entity type, category, or auto-load status for focused views.

Examples: skillmeat context list # Show all entities skillmeat context list --type spec_file # Filter by type skillmeat context list --category backend-rules --auto-load # Combined filters skillmeat context list --format json # JSON output for scripting

Common Errors: * "Could not connect to API server": Make sure the API is running with 'skillmeat web dev --api-only' * "No context entities found": Try removing filters to see all entities

Usage:

skillmeat context list [OPTIONS]

Options:

Name Type Description Default
--type, -t choice (project_config | spec_file | rule_file | context_file | progress_template) Filter by entity type None
--category, -c text Filter by category None
--auto-load boolean Show only auto-load entities False
--format choice (table | json) Output format (table or json) table
--help boolean Show this message and exit. False
skillmeat context remove

Remove context entity from collection.

Delete a context entity from your collection. This removes the entity from the collection database but DOES NOT delete any files already deployed to projects. Use this when you no longer need the entity or want to replace it with a newer version.

Arguments: name_or_id: Entity name (e.g., 'doc-policy-spec') or UUID Use 'skillmeat context list' to find entity names/IDs

Options: --force (-f): Skip confirmation prompt (useful for scripting)

Examples: skillmeat context remove my-rule # Interactive prompt skillmeat context remove abc123 --force # Skip confirmation skillmeat context remove old-spec --force # Remove without asking

Important Notes: * Removal is permanent - the entity cannot be recovered * Deployed files in projects are NOT automatically deleted * If you want to keep a backup, use 'skillmeat context show' first

Common Errors: * "Entity 'name' not found": Check spelling or use 'skillmeat context list' * "Could not connect to API server": Make sure API is running Run: skillmeat web dev --api-only * "Cancelled": You chose not to proceed (only with interactive prompt)

Usage:

skillmeat context remove [OPTIONS] NAME_OR_ID

Options:

Name Type Description Default
--force, -f boolean Skip confirmation prompt False
--help boolean Show this message and exit. False
skillmeat context show

Show context entity details, metadata, and content.

Display complete information about a context entity including its type, category, path pattern, auto-load status, and full content. By default, shows a preview of large files (20 lines); use --full to see everything.

Arguments: name_or_id: Entity name (e.g., 'doc-policy-spec') or UUID (e.g., 'abc123def456...') Entity names are derived from filenames (doc-policy-spec.md → doc-policy-spec)

Options: --full: Display complete content instead of preview (recommended for small files) --format: Output as 'rich' (formatted panels) or 'json' (raw JSON for parsing)

Examples: skillmeat context show doc-policy-spec # Preview by name skillmeat context show abc123 --full # Full content by ID skillmeat context show routers-rule --format json # JSON for scripting skillmeat context show my-context | head -20 # Pipe to other commands

Common Errors: * "Entity 'name' not found": Check spelling of entity name or use full UUID Use 'skillmeat context list' to see all available entities * "Failed to connect to SkillMeat API": Make sure API server is running Run: skillmeat web dev --api-only * "API request timed out": Check network connectivity or API server load Try again in a moment or restart the API server

Usage:

skillmeat context show [OPTIONS] NAME_OR_ID

Options:

Name Type Description Default
--full boolean Show complete content False
--format choice (rich | json) Output format (rich or json) rich
--help boolean Show this message and exit. False

skillmeat demo

Demo artifact seeding and management.

Seed realistic demo data covering all 17 artifact types for local development, presentations, and integration testing.

Usage:

skillmeat demo [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat demo seed

Seed demo artifacts into the collection.

Seeds realistic data for all artifact types using the selected profile. Safe to run multiple times (idempotent).

Examples:

skillmeat demo seed
skillmeat demo seed --profile minimal --dry-run
skillmeat demo seed --profile backstage --verbose

Usage:

skillmeat demo seed [OPTIONS]

Options:

Name Type Description Default
--profile choice (minimal | full | backstage | ccdash) Seed profile to use. full
--dry-run boolean Show planned operations without writing. False
--collection-dir directory Override collection artifacts directory. None
--skip-db boolean Skip database writes (filesystem only). False
--skip-fs boolean Skip filesystem writes (database only). False
--verbose, -v boolean Enable verbose output. False
--help boolean Show this message and exit. False

skillmeat deploy

Deploy artifacts to a project's .claude/ directory.

Copies artifacts from collection to the project, tracking deployment for later updates and synchronization.

Examples: skillmeat deploy my-skill # Deploy to current dir claudectl deploy my-skill # Same, using smart defaults skillmeat deploy skill1 skill2 # Deploy multiple skillmeat deploy my-skill --project /path/to/proj skillmeat deploy my-skill --overwrite # Skip overwrite prompt

Usage:

skillmeat deploy [OPTIONS] NAMES...

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--project, -p directory Project path (default: current directory) None
--type, -t choice (skill | command | agent) Artifact type (required if names are ambiguous) None
--overwrite, -o boolean Overwrite existing artifacts without prompting False
--format choice (table | json) Output format (auto-detected if not specified) None
--profile text Deployment profile ID (defaults to project primary profile) None
--all-profiles boolean Deploy to all configured project profiles False
--members / --no-members boolean Deploy skill's embedded member artifacts (commands, agents, hooks, MCP servers) alongside the skill. Use --no-members to deploy only the primary skill file. True
--help boolean Show this message and exit. False

skillmeat diff

Compare artifacts and detect changes.

Provides tools for comparing files and directories, including three-way diffs for merge conflict detection.

Usage:

skillmeat diff [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat diff artifact

Compare artifact versions and show differences.

Compares a local artifact with its upstream source or with the same artifact in another project. Shows which files changed, with detailed diffs and statistics.

\b Comparison modes: --upstream: Compare local artifact with latest upstream version --project PATH: Compare local artifact with same artifact in another project

\b Examples: skillmeat diff artifact my-skill --upstream skillmeat diff artifact my-skill --project /path/to/other/project skillmeat diff artifact my-skill --upstream --summary-only skillmeat diff artifact my-skill --upstream --limit 50 skillmeat diff artifact my-skill --upstream --format json claudectl diff artifact my-skill --upstream --stat

Usage:

skillmeat diff artifact [OPTIONS] NAME

Options:

Name Type Description Default
--upstream boolean Compare with upstream version False
--project directory Compare with artifact in another project Sentinel.UNSET
--collection, -c text Collection name (default: active collection) None
--type, -t choice (skill | command | agent) Artifact type (required if name is ambiguous) None
--summary-only, --stat boolean Show only diff summary, not full file-by-file diff False
--limit, -l integer Maximum number of changed files to show (default: 100) 100
--format choice (table | json) Output format (auto-detected from TTY if not specified) None
--help boolean Show this message and exit. False
skillmeat diff dirs

Compare two directories and show differences.

Recursively compares all files in DIR1 and DIR2, showing which files were added, removed, or modified. Respects ignore patterns to skip certain files and directories.

\b Examples: skillmeat diff dirs old_version/ new_version/ skillmeat diff dirs old/ new/ --ignore "*.pyc" --ignore "pycache" skillmeat diff dirs old/ new/ --limit 50 skillmeat diff dirs old/ new/ --stats-only

Usage:

skillmeat diff dirs [OPTIONS] DIR1 DIR2

Options:

Name Type Description Default
--ignore, -i text Patterns to ignore (can be specified multiple times) Sentinel.UNSET
--limit, -l integer Maximum number of files to show (default: 100) 100
--stats-only boolean Show only statistics, not individual file diffs False
--help boolean Show this message and exit. False
skillmeat diff files

Compare two files and show differences.

Displays a unified diff showing the changes between FILE1 and FILE2. For text files, shows line-by-line differences with syntax highlighting. For binary files, reports only that they differ.

\b Examples: skillmeat diff files old.md new.md skillmeat diff files old.md new.md --context 5 skillmeat diff files old.md new.md --no-color

Usage:

skillmeat diff files [OPTIONS] FILE1 FILE2

Options:

Name Type Description Default
--context, -c integer Number of context lines to show around changes (default: 3) 3
--color / --no-color boolean Enable/disable colored output (default: enabled) True
--help boolean Show this message and exit. False
skillmeat diff three-way

Perform three-way diff for merge conflict detection.

Compares BASE (common ancestor), LOCAL (your changes), and REMOTE (upstream changes) to identify auto-mergeable changes and conflicts. This is useful for understanding what will happen during an update.

\b Three-way diff logic: - If only LOCAL changed: auto-merge (use local) - If only REMOTE changed: auto-merge (use remote) - If both changed the same: auto-merge (use either) - If both changed differently: CONFLICT (manual resolution)

\b Examples: skillmeat diff three-way base/ local/ remote/ skillmeat diff three-way base/ local/ remote/ --conflicts-only skillmeat diff three-way base/ local/ remote/ --ignore "*.pyc"

Usage:

skillmeat diff three-way [OPTIONS] BASE LOCAL REMOTE

Options:

Name Type Description Default
--ignore, -i text Patterns to ignore (can be specified multiple times) Sentinel.UNSET
--conflicts-only boolean Show only files with conflicts, not auto-mergeable files False
--help boolean Show this message and exit. False

skillmeat enterprise

Enterprise edition commands (requires SKILLMEAT_EDITION=enterprise).

Usage:

skillmeat enterprise [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat enterprise import

Import artifacts from a local collection into the enterprise database.

Reads every artifact found under FROM_COLLECTION and imports each one into the enterprise DB. A summary of created, skipped, conflicted, and failed artifacts is printed after the run. Individual failures are non-fatal and are written to migration-errors.log in the collection root; the command exits with code 1 when any artifact fails.

Examples:

skillmeat enterprise import --dry-run

skillmeat enterprise import --filter-type skill --tier 2

skillmeat enterprise import --from-collection /path/to/collection --conflict overwrite

Usage:

skillmeat enterprise import [OPTIONS]

Options:

Name Type Description Default
--from-collection directory Path to the local collection directory to import from (default: ~/.skillmeat/collection/). None
--filter-type text Only import artifacts of this type (e.g. skill, command, agent). None
--filter-tag text Only import artifacts that carry this tag. None
--dry-run / --no-dry-run boolean Preview what would be imported without writing to the database. False
--tier integer range (between 1 and 3) Tier assignment for imported artifacts (1, 2, or 3). 3
--conflict choice (skip | overwrite | create_version) How to handle duplicate artifacts already present in the database. skip
--help boolean Show this message and exit. False
skillmeat enterprise migrate

Upload local collection artifacts to the enterprise API.

Reads every artifact directory found under COLLECTION_DIR/artifacts/ and uploads each one to the enterprise API endpoint. A Rich summary table is printed after the run. Individual failures are non-fatal: the command continues with remaining artifacts and exits with code 1 at the end if any artifact failed.

Examples:

skillmeat enterprise migrate --dry-run

skillmeat enterprise migrate --force

skillmeat enterprise migrate --collection-dir /path/to/collection

Usage:

skillmeat enterprise migrate [OPTIONS]

Options:

Name Type Description Default
--dry-run / --no-dry-run boolean Preview what would be uploaded without making any API calls. False
--force / --no-force boolean Skip the confirmation prompt before migrating. False
--collection-dir directory Root of the local SkillMeat collection to migrate (default: ~/.skillmeat/collection/). None
--help boolean Show this message and exit. False
skillmeat enterprise rollback

Verify local files match the pre-migration backup state.

Reads the backup manifest created automatically before the last migration and compares each artifact's file hashes against the current local files. Because migration is upload-only (local files are never deleted or modified), this should always succeed.

If any file has changed since the backup was taken the command prints a diff summary and exits with code 1. When all files match, the backup manifest is removed to signal that the rollback check is complete.

Examples:

skillmeat enterprise rollback

skillmeat enterprise rollback --artifact my-skill

skillmeat enterprise rollback --collection-dir /path/to/collection

Usage:

skillmeat enterprise rollback [OPTIONS]

Options:

Name Type Description Default
--collection-dir directory Root of the local SkillMeat collection (default: ~/.skillmeat/collection/). None
--artifact text Restore only the named artifact; default is to check all artifacts. None
--help boolean Show this message and exit. False
skillmeat enterprise verify

Re-download an uploaded artifact and compare checksums against local files.

Downloads the artifact's file list from the enterprise API, computes SHA-256 on all local files, and reports any mismatches. Each file is marked with a checkmark (match) or X (mismatch). The command exits with code 1 when any file fails verification.

Examples:

skillmeat enterprise verify canvas

skillmeat enterprise verify canvas --collection-dir /path/to/collection

skillmeat enterprise verify canvas --json

Usage:

skillmeat enterprise verify [OPTIONS] ARTIFACT_NAME

Options:

Name Type Description Default
--collection-dir directory Root of the local SkillMeat collection (default: ~/.skillmeat/collection/). None
--json boolean Output results as JSON instead of human-readable text. False
--help boolean Show this message and exit. False

skillmeat find-duplicates

Find duplicate or similar artifacts.

Compares artifacts based on content, structure, metadata, and file count to identify potential duplicates. Default threshold is 0.85 (85% similar).

Examples: # Find duplicates across projects skillmeat find-duplicates --projects ~/projects/app1 ~/projects/app2

# Find duplicates in collection skillmeat find-duplicates --collection default

# Stricter matching (90% similarity) skillmeat find-duplicates --threshold 0.9

# JSON output skillmeat find-duplicates --json

Usage:

skillmeat find-duplicates [OPTIONS]

Options:

Name Type Description Default
--collection, -c text Collection to check (default: active collection) None
--projects, -p directory Check for duplicates across specific projects Sentinel.UNSET
--threshold, -t float Similarity threshold (0.0-1.0, default: 0.85) 0.85
--no-cache boolean Disable cache for fresh results False
--json boolean Output results as JSON False
--help boolean Show this message and exit. False

skillmeat history

Show artifact activity history.

When ARTIFACT_NAME is provided, display the event log for that specific artifact only. Pass --all to aggregate events across every artifact.

Examples: skillmeat history my-skill skillmeat history my-skill --limit 50 --event-type deploy skillmeat history --all --format json skillmeat history --all --event-type sync --limit 100

Usage:

skillmeat history [OPTIONS] ARTIFACT_NAME COMMAND [ARGS]...

Options:

Name Type Description Default
--all boolean Show activity history for ALL artifacts. False
--limit, -n integer range (between 1 and 10000) Maximum number of events to display. 20
--event-type, -e choice (create | update | delete | deploy | undeploy | sync) Filter events by type (create/update/delete/deploy/undeploy/sync). None
--format, -f choice (table | json) Output format. table
--help boolean Show this message and exit. False

skillmeat init

Initialize a SkillMeat project or collection.

When run in a project directory (not the SkillMeat home), creates a .skillmeat/manifest.toml file that registers the directory as a tracked project and optionally registers it with the running API server.

When run with --name or from the SkillMeat home directory, creates a named collection in ~/.skillmeat/collections/.

Examples: skillmeat init # Initialize current dir as project skillmeat init --name work # Create 'work' collection skillmeat init --profile claude_code # Scaffold deployment profile

Usage:

skillmeat init [OPTIONS]

Options:

Name Type Description Default
--name, -n text Collection name (default: 'default') None
--profile choice (claude_code | codex | gemini | cursor) Initialize project deployment scaffolding for a specific profile None
--all-profiles boolean Initialize project scaffolding for all built-in profiles False
--project-path directory Target project path (default: current directory) None
--help boolean Show this message and exit. False

skillmeat list

List artifacts in collection.

Shows all artifacts or filtered by type. Composite artifacts (plugins) are fetched from the DB cache and displayed with the type label 'plugin'. Workflow definitions are stored separately and only shown when explicitly requested via --type workflow.

Examples: skillmeat list # List all artifacts (including plugins) skillmeat list --type skill # List only skills skillmeat list --type plugin # List only composite/plugin artifacts skillmeat list --type workflow # List workflow definitions skillmeat list --tags # Show tags skillmeat list --no-cache # Force fresh read from filesystem skillmeat list --cache-status # Show cache freshness

Usage:

skillmeat list [OPTIONS]

Options:

Name Type Description Default
--type, -t choice (skill | command | agent | hook | mcp | workflow | composite | context_module | template | group | deployment_set | context_pack | bundle | project_config | spec_file | rule_file | context_file | progress_template | plugin) Filter by artifact type. Supported: skill, command, agent, hook, mcp, workflow, composite (alias: plugin), context_module, template, group, deployment_set, context_pack, bundle, project_config, spec_file, rule_file, context_file, progress_template None
--collection, -c text Collection name (default: active collection) None
--tags boolean Show tags for each artifact False
--no-cache boolean Force fresh read from filesystem, bypass cache False
--cache-status boolean Show cache freshness status False
--help boolean Show this message and exit. False

skillmeat marketplace-install

Install bundle from marketplace.

Downloads and imports a bundle from the marketplace into your collection. Automatically verifies signatures if present.

Examples: skillmeat marketplace-install skillmeat-42 skillmeat marketplace-install claudehub-python-tools --broker claudehub skillmeat marketplace-install listing-123 --strategy merge

Usage:

skillmeat marketplace-install [OPTIONS] LISTING_ID

Options:

Name Type Description Default
--broker, -b text Broker to use (auto-detected from listing_id if not specified) None
--collection, -c text Target collection (default: active collection) None
--strategy, -s choice (merge | fork | skip | interactive) Conflict resolution strategy interactive
--force boolean Force install even with validation warnings False
--help boolean Show this message and exit. False

skillmeat marketplace-publish

Publish bundle to marketplace with comprehensive validation.

Validates bundle integrity, metadata, license compatibility, and security before publishing to the specified marketplace broker.

Examples: skillmeat marketplace-publish my-bundle.skillmeat-pack \ --title "My Bundle" \ --description "A comprehensive collection of productivity tools..." \ --tags "productivity,automation" \ --license "MIT" \ --publisher-name "John Doe" \ --publisher-email "john@example.com"

# Dry run to validate without publishing skillmeat marketplace-publish bundle.skillmeat-pack --dry-run

# Force publish despite warnings skillmeat marketplace-publish bundle.skillmeat-pack --force

Usage:

skillmeat marketplace-publish [OPTIONS] BUNDLE_PATH

Options:

Name Type Description Default
--broker, -b text Broker to publish to (default: skillmeat) skillmeat
--title text Bundle title (required if not in metadata) None
--description, -d text Description (required if not in metadata, 100-5000 chars) None
--tags, -t text Comma-separated tags (required if not in metadata) None
--license, -l text SPDX license ID (required if not in metadata) None
--publisher-name text Publisher name (required if not in metadata) None
--publisher-email text Publisher email (required if not in metadata) None
--homepage text Homepage URL None
--repository text Repository URL None
--documentation text Documentation URL None
--price, -p integer Price in cents (default: 0 = free) 0
--dry-run boolean Validate without publishing False
--skip-security boolean Skip security scanning (dangerous!) False
--force boolean Bypass warnings (use with caution) False
--help boolean Show this message and exit. False

Search marketplace for artifact bundles.

Browse available artifacts from configured marketplace brokers. Search across all enabled brokers or specify a specific one.

Examples: skillmeat marketplace-search python skillmeat marketplace-search --broker skillmeat --tags productivity skillmeat marketplace-search "code review" --license MIT

Usage:

skillmeat marketplace-search [OPTIONS] [QUERY]

Options:

Name Type Description Default
--broker, -b text Specific broker to search (default: all enabled brokers) None
--tags, -t text Filter by tags (comma-separated) None
--license, -l text Filter by license None
--page, -p integer Page number (default: 1) 1
--page-size, -s integer Results per page (default: 20) 20
--help boolean Show this message and exit. False

skillmeat match

Match artifacts against a query using confidence scoring.

Uses AI-powered semantic matching combined with keyword analysis to rank artifacts by relevance. Results show confidence scores (0-100) and are color-coded for quick assessment.

Examples: # Basic search skillmeat match "pdf processor"

# Limit results skillmeat match "authentication" --limit 3

# Filter by confidence threshold skillmeat match "testing" --min-confidence 50

# Show detailed score breakdown skillmeat match "database" --verbose

# JSON output for scripting skillmeat match "api" --json

Usage:

skillmeat match [OPTIONS] QUERY

Options:

Name Type Description Default
--limit, -l integer Maximum results to show (default: 5) 5
--min-confidence, -m float Minimum confidence threshold (0-100, default: 0) 0.0
--collection, -c text Collection to search (default: active collection) None
--json boolean Output results as JSON False
--verbose, -v boolean Show score breakdown False
--help boolean Show this message and exit. False

skillmeat mcp

Manage MCP (Model Context Protocol) servers.

Use subcommands to manage MCP servers in your collection: - add: Add MCP server to collection - deploy: Deploy MCP server to Claude Desktop - undeploy: Remove MCP server from Claude Desktop - list: List MCP servers in collection - health: Check health of deployed MCP servers

Usage:

skillmeat mcp [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat mcp add

Add MCP server to collection.

NAME: Unique identifier for the MCP server REPO: GitHub repository (user/repo or full URL)

Examples: skillmeat mcp add filesystem anthropics/mcp-filesystem skillmeat mcp add filesystem anthropics/mcp-filesystem --version v1.0.0 skillmeat mcp add custom user/mcp-server --env ROOT_PATH=/home/user

Usage:

skillmeat mcp add [OPTIONS] NAME REPO

Options:

Name Type Description Default
--version, -v text Version specification (latest, v1.0.0, SHA, branch) latest
--env, -e text Environment variables (format: KEY=value) Sentinel.UNSET
--description, -d text Description of the MCP server None
--collection, -c text Collection name (default: active collection) None
--help boolean Show this message and exit. False
skillmeat mcp deploy

Deploy MCP server to Claude Desktop settings.json.

NAME: Name of the MCP server to deploy

This command: 1. Resolves the MCP server repository and version 2. Clones the repository and reads package.json 3. Creates a backup of Claude Desktop settings.json 4. Updates settings.json with server configuration 5. Scaffolds environment variables if needed

Examples: skillmeat mcp deploy filesystem skillmeat mcp deploy filesystem --dry-run skillmeat mcp deploy filesystem --project ~/myproject skillmeat mcp deploy filesystem --no-backup

Usage:

skillmeat mcp deploy [OPTIONS] NAME

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--project, -p directory Project path for project-specific deployment None
--dry-run boolean Show what would be deployed without making changes False
--backup / --no-backup boolean Create backup of settings.json before deployment (default: yes) True
--dangerously-skip-permissions boolean Skip permission warnings (not recommended) False
--help boolean Show this message and exit. False
skillmeat mcp health

Check health of deployed MCP servers.

Monitors MCP server health by analyzing: - Deployment status in Claude Desktop settings.json - Claude Desktop log files for errors and warnings - Server initialization and connection status

Examples: skillmeat mcp health skillmeat mcp health --server filesystem skillmeat mcp health --watch --interval 10

Usage:

skillmeat mcp health [OPTIONS]

Options:

Name Type Description Default
--server, -s text Check specific server (default: check all deployed servers) None
--watch, -w boolean Continuous monitoring mode (refresh every N seconds) False
--interval, -i integer Watch interval in seconds (default: 5) 5
--no-cache boolean Force fresh health check (ignore cache) False
--help boolean Show this message and exit. False
skillmeat mcp list

List MCP servers in collection.

Examples: skillmeat mcp list skillmeat mcp list --deployed skillmeat mcp list --collection work

Usage:

skillmeat mcp list [OPTIONS]

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--deployed boolean Show deployment status in Claude Desktop False
--help boolean Show this message and exit. False
skillmeat mcp undeploy

Remove MCP server from Claude Desktop settings.json.

NAME: Name of the MCP server to remove

Examples: skillmeat mcp undeploy filesystem skillmeat mcp undeploy filesystem --no-backup

Usage:

skillmeat mcp undeploy [OPTIONS] NAME

Options:

Name Type Description Default
--backup / --no-backup boolean Create backup before removing (default: yes) True
--help boolean Show this message and exit. False

skillmeat memory

Manage memory items, modules, packs, extraction, and search.

Usage:

skillmeat memory [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat memory extract

Extract candidate memory items from Claude Code session transcripts.

Parses JSONL session logs, filters noise messages, classifies content by type, and scores candidates by quality signals. Supports optional LLM classification for enhanced semantic analysis.

Extraction profiles: - strict: Higher threshold, fewer candidates (confidence -0.08) - balanced: Default threshold (confidence +0.0) - aggressive: Lower threshold, more candidates (confidence +0.08)

Example usage: skillmeat memory extract preview --project proj-1 --run-log session.jsonl skillmeat memory extract apply --project proj-1 --run-log session.jsonl --use-llm

Usage:

skillmeat memory extract [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat memory extract apply

Extract and persist candidate memory items to database.

Extracts candidate memory items from a Claude Code session transcript (JSONL format) and persists them to the database with status="candidate". Skips duplicates detected by content hash. All extracted items require human review before activation.

Parses messages, filters noise (progress/system/meta), classifies by type (learning, constraint, gotcha, decision, style_rule), and scores by quality signals. Optional LLM classification enhances semantic analysis with retry backoff, cost monitoring, and usage tracking.

Troubleshooting: - If extraction returns 0 candidates, ensure input is JSONL format from Claude Code sessions, not plain conversation text. Each line must be valid JSON with 'type' and 'content' fields. - Session logs are auto-truncated to 500KB. For large sessions, consider splitting or using aggressive profile. - LLM classification requires valid API key (set via --llm-provider flag or ANTHROPIC_API_KEY/OPENAI_API_KEY env vars). - Duplicates are detected by content hash and skipped automatically. Check "skipped_duplicates" in output.

Examples: # Extract and persist with heuristic classification only skillmeat memory extract apply --project proj-1 --run-log session.jsonl

# Extract with LLM classification (Anthropic Haiku) skillmeat memory extract apply --project proj-1 --run-log session.jsonl \ --use-llm --llm-provider anthropic --llm-model haiku

# Aggressive profile to extract more candidates skillmeat memory extract apply --project proj-1 --run-log session.jsonl \ --profile aggressive --min-confidence 0.5

Usage:

skillmeat memory extract apply [OPTIONS]

Options:

Name Type Description Default
--project text Project ID for extraction scope Sentinel.UNSET
--run-log path Path to JSONL session log from Claude Code Sentinel.UNSET
--profile choice (strict | balanced | aggressive) Extraction profile (strict: fewer candidates, aggressive: more candidates) balanced
--min-confidence float Minimum confidence score to include candidate (0.0-1.0) 0.6
--use-llm boolean Enable LLM-based semantic classification (requires API key) False
--llm-provider choice (anthropic | openai | ollama | openai-compatible) LLM provider (default: anthropic or SKILLMEAT_LLM_PROVIDER env var) None
--llm-model text LLM model name (e.g., 'haiku', 'gpt-4o-mini', provider-specific default) None
--llm-base-url text Base URL for Ollama/OpenAI-compatible endpoints (default: http://localhost:11434 for Ollama) None
--json boolean Output as JSON instead of formatted table False
--help boolean Show this message and exit. False
skillmeat memory extract preview

Preview extracted memory candidates without persisting to database.

Extracts candidate memory items from a Claude Code session transcript (JSONL format). Parses messages, filters noise (progress/system/meta), classifies by type (learning, constraint, gotcha, decision, style_rule), and scores by quality signals.

Optional LLM classification enhances semantic analysis with retry backoff, cost monitoring, and usage tracking. Supports multiple providers: Anthropic, OpenAI, Ollama, OpenAI-compatible endpoints.

Troubleshooting: - If extraction returns 0 candidates, ensure input is JSONL format from Claude Code sessions, not plain conversation text. Each line must be valid JSON with 'type' and 'content' fields. - Session logs are auto-truncated to 500KB. For large sessions, consider splitting or using aggressive profile. - LLM classification requires valid API key (set via --llm-provider flag or ANTHROPIC_API_KEY/OPENAI_API_KEY env vars).

Examples: # Preview with heuristic classification only skillmeat memory extract preview --project proj-1 --run-log session.jsonl

# Preview with LLM classification (Anthropic Haiku) skillmeat memory extract preview --project proj-1 --run-log session.jsonl \ --use-llm --llm-provider anthropic --llm-model haiku

# Aggressive profile to extract more candidates skillmeat memory extract preview --project proj-1 --run-log session.jsonl \ --profile aggressive --min-confidence 0.5

Usage:

skillmeat memory extract preview [OPTIONS]

Options:

Name Type Description Default
--project text Project ID for extraction scope Sentinel.UNSET
--run-log path Path to JSONL session log from Claude Code Sentinel.UNSET
--profile choice (strict | balanced | aggressive) Extraction profile (strict: fewer candidates, aggressive: more candidates) balanced
--min-confidence float Minimum confidence score to include candidate (0.0-1.0) 0.6
--use-llm boolean Enable LLM-based semantic classification (requires API key) False
--llm-provider choice (anthropic | openai | ollama | openai-compatible) LLM provider (default: anthropic or SKILLMEAT_LLM_PROVIDER env var) None
--llm-model text LLM model name (e.g., 'haiku', 'gpt-4o-mini', provider-specific default) None
--llm-base-url text Base URL for Ollama/OpenAI-compatible endpoints (default: http://localhost:11434 for Ollama) None
--json boolean Output as JSON instead of formatted table False
--help boolean Show this message and exit. False
skillmeat memory extract run

Alias for 'extract apply' - extract and persist candidates to database.

This command is identical to 'extract apply'. Use 'extract preview' to see candidates without persisting, or 'extract apply'/'extract run' to persist.

Usage:

skillmeat memory extract run [OPTIONS]

Options:

Name Type Description Default
--project text Project ID for extraction scope Sentinel.UNSET
--run-log path Path to JSONL session log from Claude Code Sentinel.UNSET
--profile choice (strict | balanced | aggressive) Extraction profile (strict: fewer candidates, aggressive: more candidates) balanced
--min-confidence float Minimum confidence score to include candidate (0.0-1.0) 0.6
--use-llm boolean Enable LLM-based semantic classification (requires API key) False
--llm-provider choice (anthropic | openai | ollama | openai-compatible) LLM provider (default: anthropic or SKILLMEAT_LLM_PROVIDER env var) None
--llm-model text LLM model name (e.g., 'haiku', 'gpt-4o-mini', provider-specific default) None
--llm-base-url text Base URL for Ollama/OpenAI-compatible endpoints (default: http://localhost:11434 for Ollama) None
--json boolean Output as JSON instead of formatted table False
--help boolean Show this message and exit. False
skillmeat memory item

Memory item CRUD and lifecycle operations.

Usage:

skillmeat memory item [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat memory item bulk-deprecate

Usage:

skillmeat memory item bulk-deprecate [OPTIONS]

Options:

Name Type Description Default
--ids text Comma-separated memory item IDs Sentinel.UNSET
--reason text N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item bulk-promote

Usage:

skillmeat memory item bulk-promote [OPTIONS]

Options:

Name Type Description Default
--ids text Comma-separated memory item IDs Sentinel.UNSET
--reason text N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item create

Usage:

skillmeat memory item create [OPTIONS]

Options:

Name Type Description Default
--project text N/A Sentinel.UNSET
--type text N/A Sentinel.UNSET
--content text N/A Sentinel.UNSET
--confidence float N/A 0.5
--status text N/A candidate
--anchor text Structured anchor: path:type or path:type:start-end Sentinel.UNSET
--provenance-branch text Promoted provenance git branch value None
--provenance-commit text Promoted provenance git commit SHA value None
--provenance-model text Promoted provenance model value None
--provenance-agent-type text Promoted provenance agent type value None
--share-scope choice (private | project | global_candidate) N/A project
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item delete

Usage:

skillmeat memory item delete [OPTIONS] ITEM_ID

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat memory item deprecate

Usage:

skillmeat memory item deprecate [OPTIONS] ITEM_ID

Options:

Name Type Description Default
--reason text N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item list

Usage:

skillmeat memory item list [OPTIONS]

Options:

Name Type Description Default
--project text N/A Sentinel.UNSET
--status text N/A None
--type text N/A None
--share-scope choice (private | project | global_candidate) N/A None
--search text N/A None
--limit integer N/A 50
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item merge

Usage:

skillmeat memory item merge [OPTIONS]

Options:

Name Type Description Default
--source text N/A Sentinel.UNSET
--target text N/A Sentinel.UNSET
--strategy choice (keep_target | keep_source | combine) N/A keep_target
--merged-content text N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item promote

Usage:

skillmeat memory item promote [OPTIONS] ITEM_ID

Options:

Name Type Description Default
--reason text N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item show

Usage:

skillmeat memory item show [OPTIONS] ITEM_ID

Options:

Name Type Description Default
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory item update

Usage:

skillmeat memory item update [OPTIONS] ITEM_ID

Options:

Name Type Description Default
--content text N/A None
--confidence float N/A None
--type text N/A None
--status text N/A None
--share-scope choice (private | project | global_candidate) N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory module

Memory context module operations.

Usage:

skillmeat memory module [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat memory module add-item

Usage:

skillmeat memory module add-item [OPTIONS] MODULE_ID

Options:

Name Type Description Default
--item text N/A Sentinel.UNSET
--ordering integer N/A 0
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory module create

Usage:

skillmeat memory module create [OPTIONS]

Options:

Name Type Description Default
--project text N/A Sentinel.UNSET
--name text N/A Sentinel.UNSET
--description text N/A None
--types text Comma-separated memory types None
--min-confidence float N/A None
--priority integer N/A 5
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory module delete

Usage:

skillmeat memory module delete [OPTIONS] MODULE_ID

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat memory module duplicate

Usage:

skillmeat memory module duplicate [OPTIONS] MODULE_ID

Options:

Name Type Description Default
--name text N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory module list

Usage:

skillmeat memory module list [OPTIONS]

Options:

Name Type Description Default
--project text N/A Sentinel.UNSET
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory module list-items

Usage:

skillmeat memory module list-items [OPTIONS] MODULE_ID

Options:

Name Type Description Default
--limit integer N/A 100
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory module remove-item

Usage:

skillmeat memory module remove-item [OPTIONS] MODULE_ID

Options:

Name Type Description Default
--item text N/A Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat memory module show

Usage:

skillmeat memory module show [OPTIONS] MODULE_ID

Options:

Name Type Description Default
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory module update

Usage:

skillmeat memory module update [OPTIONS] MODULE_ID

Options:

Name Type Description Default
--name text N/A None
--description text N/A None
--priority integer N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory pack

Memory context pack commands.

Usage:

skillmeat memory pack [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat memory pack generate

Usage:

skillmeat memory pack generate [OPTIONS]

Options:

Name Type Description Default
--project text N/A Sentinel.UNSET
--module text N/A None
--budget integer N/A 4000
--output path N/A None
--json boolean N/A False
--help boolean Show this message and exit. False
skillmeat memory pack preview

Usage:

skillmeat memory pack preview [OPTIONS]

Options:

Name Type Description Default
--project text N/A Sentinel.UNSET
--module text N/A None
--budget integer N/A 4000
--json boolean N/A False
--help boolean Show this message and exit. False

Usage:

skillmeat memory search [OPTIONS] QUERY

Options:

Name Type Description Default
--project text N/A None
--all-projects boolean N/A False
--share-scope choice (private | project | global_candidate) N/A None
--limit integer N/A 50
--json boolean N/A False
--help boolean Show this message and exit. False

skillmeat migrate

Migrate from skillman to skillmeat.

Automatically detects existing skillman installation and imports configuration, skills, and metadata into skillmeat collection.

The migration: - Detects skillman configuration and installed skills - Creates default collection if needed - Imports configuration (GitHub token, etc.) - Imports skills from manifest and installed directories - Creates snapshot for safety (unless --no-snapshot)

Examples: skillmeat migrate --from-skillman # Auto-detect and migrate skillmeat migrate --from-skillman --dry-run # Preview changes skillmeat migrate --from-skillman --force # Overwrite existing skillmeat migrate --from-skillman skills.toml # Specify manifest path

Usage:

skillmeat migrate [OPTIONS] [PATH]

Options:

Name Type Description Default
--from-skillman boolean Migrate from skillman installation False
--dry-run boolean Preview migration without making changes False
--force boolean Overwrite existing artifacts False
--no-snapshot boolean Skip creating initial snapshot False
-y, --yes boolean Skip confirmation prompts False
--help boolean Show this message and exit. False

skillmeat project

Manage project-level operations.

Commands for project-level operations such as context synchronization between collections and deployed projects.

Usage:

skillmeat project [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat project sync-context

Synchronize context entities between project and collection.

Manage bi-directional synchronization of context entities (specs, rules, etc.) between your collection and deployed projects.

Operations: --status: Show which entities have been modified (default if no operation specified) --pull: Update collection from project files (capture manual edits) --push: Update project files from collection (deploy changes)

Entity Selection: By default, all deployed context entities are synced. Use --entities to specify a comma-separated list of entity IDs to sync selectively.

Examples: skillmeat project sync-context ~/myproject --status skillmeat project sync-context ~/myproject --pull skillmeat project sync-context ~/myproject --push --force skillmeat project sync-context ~/myproject --pull --entities doc-policy-spec,routers-rule

Usage:

skillmeat project sync-context [OPTIONS] PROJECT_PATH

Options:

Name Type Description Default
--pull boolean Pull changes from project to collection False
--push boolean Push collection changes to project False
--status boolean Show sync status False
--entities text Comma-separated entity IDs to sync Sentinel.UNSET
--force boolean Force overwrite conflicts False
--help boolean Show this message and exit. False

skillmeat quick-add

Add artifact with smart defaults (claudectl mode).

SPEC can be: user/repo/path[@version] or local path. Type is auto-detected from name (-cli, -agent, etc).

Examples: skillmeat --smart-defaults quick-add anthropics/skills/pdf claudectl quick-add pdf-cli # Auto-detects as command

Usage:

skillmeat quick-add [OPTIONS] SPEC

Options:

Name Type Description Default
--type, -t choice (skill | command | agent) Artifact type (auto-detected from name if not specified) None
--collection, -c text Collection name (default: active collection) None
--name, -n text Override artifact name None
--force, -f boolean Overwrite existing False
--format choice (table | json) Output format (auto-detected if not specified) None
--help boolean Show this message and exit. False

skillmeat rate

Rate an artifact from 1-5.

Provide feedback on artifacts you've used to help improve quality scores. Ratings are stored locally and can optionally be shared with the community.

Examples: skillmeat rate canvas-design --rating 5 # Rate excellent skillmeat rate my-skill -r 4 -f "Works great!" # Rate with feedback skillmeat rate skill:review -r 5 --share # Share with community

Usage:

skillmeat rate [OPTIONS] ARTIFACT

Options:

Name Type Description Default
--rating, -r integer range (between 1 and 5) Rating from 1 (poor) to 5 (excellent) Sentinel.UNSET
--feedback, -f text Optional text feedback None
--share, -s boolean Share rating with community False
--json boolean Output as JSON False
--help boolean Show this message and exit. False

skillmeat remove

Remove artifact from collection.

By default, removes both the collection entry and the files. Use --keep-files to only remove from collection manifest.

Interactive mode requires confirmation. Use --force to skip in scripts.

Examples: skillmeat remove my-skill # Remove completely (with confirmation) skillmeat remove my-skill --keep-files # Keep files claudectl remove my-skill --force # For scripts (skip confirmation)

Usage:

skillmeat remove [OPTIONS] NAME

Options:

Name Type Description Default
--type, -t choice (skill | command | agent) Artifact type (required if name is ambiguous) None
--collection, -c text Collection name (default: active collection) None
--keep-files boolean Remove from collection but keep files on disk False
--force, -f boolean Skip confirmation (required for scripts) False
--format choice (table | json) Output format (default: auto-detect) None
--help boolean Show this message and exit. False

skillmeat rollback

Restore collection from a snapshot.

WARNING: This will replace the current collection with the snapshot. Create a snapshot before rollback if you want to preserve current state.

Examples: skillmeat rollback abc123 # Restore snapshot skillmeat rollback abc123 -y # Skip confirmation

Usage:

skillmeat rollback [OPTIONS] SNAPSHOT_ID

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
-y, --yes boolean Skip confirmation prompt False
--help boolean Show this message and exit. False

skillmeat scaffold

Render and write scaffold files from a bundle into a project.

When --bundle is given, calls render_in_memory() to produce the full rendered file tree, writes each file under <project>/.claude/, and (unless --no-register is given) registers the deployment with the IDP integration endpoint.

When --from-context is given, the project-scaffolder pipeline is invoked: context is analysed for technology intents, matching artifacts are curated, the user confirms the selection (unless --auto-confirm), and a Bundle entity is assembled via the API.

Use --dry-run to preview without writing any files or creating bundles.

Examples: skillmeat scaffold --bundle my-python-bundle --project ./my-project skillmeat scaffold --bundle fin-serv --project . --set PROJECT_NAME=payments skillmeat scaffold --bundle my-bundle --project . --dry-run skillmeat scaffold --from-context ./README.md --project ./my-project skillmeat scaffold --from-context "fastapi postgres react" --project . --dry-run skillmeat scaffold --from-context ./prd.md --project . --scope feature --auto-confirm

Usage:

skillmeat scaffold [OPTIONS]

Options:

Name Type Description Default
--bundle text Bundle ID to scaffold. Required unless --from-context is given. Mutually exclusive with --from-context. None
--from-context text Invoke the project-scaffolder pipeline from a PRD file, project directory, or free-text description. When provided, --bundle becomes optional — the pipeline will produce one. Mutually exclusive with --bundle. None
--scope choice (whole-project | feature) Curation scope when using --from-context. whole-project
--auto-confirm boolean Skip interactive confirmation prompts (useful for CI / non-interactive runs). False
--intent-set-dir directory Directory where the Intent Set YAML sidecar is written. Defaults to the target project directory. None
--project directory Target project directory. Sentinel.UNSET
--set text Variable override in KEY=VALUE format. Repeatable. Allowed keys: PROJECT_NAME, PROJECT_DESCRIPTION, AUTHOR, DATE, ARCHITECTURE_DESCRIPTION. Sentinel.UNSET
--platform text Platform filter (e.g. claude-code, cursor, windsurf, vscode, generic). None
--dry-run boolean Print the file tree that would be written without writing any files. False
--no-register boolean Skip registering the deployment with the IDP integration endpoint. False
--help boolean Show this message and exit. False

skillmeat scores

Manage community scores and ratings.

Import scores from external sources (GitHub stars, registries) and refresh stale data to maintain up-to-date quality metrics.

Examples: skillmeat scores import # Import from all sources skillmeat scores refresh # Refresh stale scores skillmeat scores show canvas # Show scores for artifact

Usage:

skillmeat scores [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat scores confirm

Confirm or reject a previous match.

Records user feedback on whether a match result was helpful or not. This data is used to improve the scoring algorithm over time.

Examples: skillmeat scores confirm 123 --yes skillmeat scores confirm 123 --no

Usage:

skillmeat scores confirm [OPTIONS] MATCH_ID

Options:

Name Type Description Default
--yes text Match was helpful Sentinel.UNSET
--no text Match was not helpful Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat scores import

Import community scores from external sources.

Fetches GitHub stars and other quality signals for artifacts, normalizes them to 0-100 scores, and caches results locally.

Examples: skillmeat scores import skillmeat scores import --source github skillmeat scores import -a anthropics/skills/pdf skillmeat scores import --token ghp_xxx skillmeat scores import --json

Usage:

skillmeat scores import [OPTIONS]

Options:

Name Type Description Default
--source choice (github | all) Source to import from (default: all) all
--artifact, -a text Import for specific artifact only (e.g., anthropics/skills/pdf) Sentinel.UNSET
--token text GitHub API token (or set GITHUB_TOKEN env var) Sentinel.UNSET
--concurrency integer Max concurrent requests (default: 5) 5
--json boolean Output JSON format instead of human-readable False
--help boolean Show this message and exit. False
skillmeat scores refresh

Refresh stale community scores.

Checks for scores older than the staleness threshold and re-imports them from external sources. Uses ScoreDecay to determine which scores need refreshing.

Examples: skillmeat scores refresh skillmeat scores refresh --stale-days 30 skillmeat scores refresh --force skillmeat scores refresh -a anthropics/skills/pdf

Usage:

skillmeat scores refresh [OPTIONS]

Options:

Name Type Description Default
--stale-days integer Refresh scores older than N days (default: 60) 60
--force boolean Force refresh all scores, ignoring staleness False
--artifact, -a text Refresh specific artifact only Sentinel.UNSET
--json boolean Output JSON format instead of human-readable False
--help boolean Show this message and exit. False
skillmeat scores show

Show detailed scores for an artifact.

Displays all available scores for an artifact, including GitHub stars, user ratings, and aggregated quality metrics.

Examples: skillmeat scores show anthropics/skills/pdf skillmeat scores show canvas skillmeat scores show canvas --json

Usage:

skillmeat scores show [OPTIONS] ARTIFACT

Options:

Name Type Description Default
--json boolean Output JSON format instead of human-readable False
--help boolean Show this message and exit. False
skillmeat scores stats

Show match success statistics.

Displays statistics about match confirmations and success rates. Use --artifact to see stats for a specific artifact, --query to see stats for a specific search query, or neither for overall statistics.

Examples: skillmeat scores stats skillmeat scores stats --artifact skill:pdf skillmeat scores stats --query "pdf processor" skillmeat scores stats --json

Usage:

skillmeat scores stats [OPTIONS]

Options:

Name Type Description Default
--artifact, -a text Show stats for specific artifact Sentinel.UNSET
--query, -q text Show stats for specific query Sentinel.UNSET
--json boolean Output JSON format instead of human-readable False
--help boolean Show this message and exit. False

Search artifacts by metadata or content.

Search can be performed on a collection or across multiple projects. Use --projects to specify project paths or --discover to auto-find projects.

Examples: # Search in collection skillmeat search "authentication" skillmeat search "error handling" --search-type content skillmeat search "productivity" --tags documentation

# Cross-project search skillmeat search "testing" --projects ~/projects/app1 ~/projects/app2 skillmeat search "api" --discover

# JSON output skillmeat search "database" --format json claudectl search "database" # Auto-detects JSON format

Usage:

skillmeat search [OPTIONS] QUERY

Options:

Name Type Description Default
--collection, -c text Collection to search (default: active collection) None
--type, -t choice (skill | command | agent) Filter by artifact type None
--search-type choice (metadata | content | both) Search metadata, content, or both (default: both) both
--tags text Filter by tags (comma-separated) Sentinel.UNSET
--limit, -l integer Maximum results to show (default: 50) 50
--projects, -p directory Search across specific project paths (can specify multiple) Sentinel.UNSET
--discover boolean Auto-discover all Claude projects in configured search roots False
--no-cache boolean Disable cache for fresh results False
--format choice (table | json) Output format (default: auto-detect) None
--help boolean Show this message and exit. False

skillmeat show

Show detailed information about an artifact.

Examples: skillmeat show my-skill # Show skill details skillmeat show my-skill --scores # Include confidence scores skillmeat show review --type command # Show command (if ambiguous)

Usage:

skillmeat show [OPTIONS] NAME

Options:

Name Type Description Default
--type, -t choice (skill | command | agent) Artifact type (required if name is ambiguous) None
--collection, -c text Collection name (default: active collection) None
--scores, -s boolean Show confidence scores (trust, quality, ratings) False
--json boolean Output scores as JSON (only with --scores) False
--help boolean Show this message and exit. False

skillmeat sign

Manage cryptographic signing for bundles.

Sign bundles with Ed25519 digital signatures for integrity verification. Manage signing keys and trusted public keys.

Examples: skillmeat sign generate-key --name "John Doe" --email "john@example.com" skillmeat bundle create my-bundle --sign skillmeat sign verify my-bundle.skillmeat-pack skillmeat sign list-keys

Usage:

skillmeat sign [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat sign export-key

Export public key for sharing.

Exports the public key portion of a signing key so others can verify bundles you sign.

Examples: skillmeat sign export-key abc123def456 skillmeat sign export-key abc123def456 -o my-key.pub

Usage:

skillmeat sign export-key [OPTIONS] KEY_ID

Options:

Name Type Description Default
--output, -o path Output file path (default: .pub) Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat sign generate-key

Generate a new Ed25519 signing key pair.

Creates a new signing key and stores it securely in the OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) or encrypted file storage as fallback.

Examples: skillmeat sign generate-key -n "John Doe" -e "john@example.com" skillmeat sign generate-key --name "Jane Smith" --email "jane@example.com"

Usage:

skillmeat sign generate-key [OPTIONS]

Options:

Name Type Description Default
--name, -n text Key owner name Sentinel.UNSET
--email, -e text Key owner email Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat sign import-key

Import a trusted public key.

Import a public key from someone else to verify bundles they sign. Only bundles signed with trusted keys will pass verification.

Examples: skillmeat sign import-key john-doe.pub -n "John Doe" -e "john@example.com" skillmeat sign import-key key.pub --name "Jane" --email "jane@example.com" --no-trust

Usage:

skillmeat sign import-key [OPTIONS] KEY_FILE

Options:

Name Type Description Default
--name, -n text Key owner name Sentinel.UNSET
--email, -e text Key owner email Sentinel.UNSET
--trust / --no-trust boolean Mark key as trusted (default: yes) True
--help boolean Show this message and exit. False
skillmeat sign list-keys

List all signing and trusted keys.

Examples: skillmeat sign list-keys skillmeat sign list-keys --type signing skillmeat sign list-keys -v

Usage:

skillmeat sign list-keys [OPTIONS]

Options:

Name Type Description Default
--type, -t choice (signing | trusted | all) Type of keys to list (default: all) all
--verbose, -v boolean Show detailed information False
--help boolean Show this message and exit. False
skillmeat sign revoke

Revoke a signing or trusted key.

For signing keys: This will delete your private key. You won't be able to sign bundles with this key anymore.

For trusted keys: This will remove trust in the key. Bundles signed with this key will no longer pass verification.

Examples: skillmeat sign revoke abc123def456 --type signing skillmeat sign revoke abc123def456 --type trusted --force

Usage:

skillmeat sign revoke [OPTIONS] KEY_ID

Options:

Name Type Description Default
--type, -t choice (signing | trusted) Type of key to revoke Sentinel.UNSET
--force, -f boolean Skip confirmation prompt False
--help boolean Show this message and exit. False
skillmeat sign verify

Verify bundle signature.

Verifies the cryptographic signature of a bundle to ensure it hasn't been tampered with and was signed by a trusted key.

Examples: skillmeat sign verify my-bundle.skillmeat-pack skillmeat sign verify bundle.skillmeat-pack --require-signature

Usage:

skillmeat sign verify [OPTIONS] BUNDLE_PATH

Options:

Name Type Description Default
--require-signature boolean Fail if bundle is unsigned False
--help boolean Show this message and exit. False

skillmeat similar

Find artifacts similar to a given artifact.

ARTIFACT may be a name (e.g. canvas-design), a type:name ID (e.g. skill:canvas-design), or a UUID hex string.

Results are ranked by similarity score and classified as exact, near_duplicate, similar, or related.

Examples: skillmeat similar canvas-design skillmeat similar skill:canvas-design --limit 5 skillmeat similar my-agent --source marketplace skillmeat similar my-skill --min-score 0.5 --source all

Usage:

skillmeat similar [OPTIONS] ARTIFACT

Options:

Name Type Description Default
--limit, -l integer Maximum number of results to return (default: 10) 10
--min-score, -m float Minimum similarity score threshold 0.0–1.0 (default: 0.3) 0.3
--source, -s choice (collection | marketplace | all) Where to search for similar artifacts (default: collection) collection
--help boolean Show this message and exit. False

skillmeat snapshot

Manage collection snapshots.

When called without a subcommand, creates a new snapshot. Use 'snapshot list' to view existing snapshots.

Examples: skillmeat snapshot # Default message skillmeat snapshot -m "Before update" # Custom message skillmeat snapshot -m "Backup" -c work # Specific collection skillmeat snapshot list # List snapshots skillmeat snapshot list --limit 20 # List with limit

Usage:

skillmeat snapshot [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--message, -m text Snapshot message (default: 'Manual snapshot') Manual snapshot
--collection, -c text Collection name (default: active collection) None
--help boolean Show this message and exit. False
skillmeat snapshot list

List collection snapshots.

Shows available snapshots for restoration.

Examples: skillmeat snapshot list # Show recent snapshots skillmeat snapshot list --limit 20 # Show more snapshots skillmeat snapshot list -c work # Specific collection

Usage:

skillmeat snapshot list [OPTIONS]

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--limit, -n integer Number of snapshots to show (default: 10) 10
--help boolean Show this message and exit. False

skillmeat status

Check update status for artifacts and deployments.

Shows available updates from upstream sources and checks if deployed artifacts have local modifications.

Examples: skillmeat status # Check active collection skillmeat status --project /path # Check deployment status

Usage:

skillmeat status [OPTIONS]

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--project, -p directory Project path for deployment status (default: current directory) None
--profile text Deployment profile ID to scope deployment status None
--help boolean Show this message and exit. False

skillmeat sync-check

Check for drift between project and collection.

Compares deployed artifacts in PROJECT_PATH with the source collection to detect changes, additions, or removals.

Examples: skillmeat sync-check /path/to/project skillmeat sync-check /path/to/project --collection my-collection skillmeat sync-check /path/to/project --format json claudectl sync-check /path/to/project --format table

Usage:

skillmeat sync-check [OPTIONS] PROJECT_PATH

Options:

Name Type Description Default
-c, --collection text Collection to check against (default: from deployment metadata) Sentinel.UNSET
--format choice (table | json) Output format (default: auto-detect based on TTY) None
--json boolean Output results as JSON (deprecated: use --format json) False
--help boolean Show this message and exit. False

skillmeat sync-preview

Preview sync changes without applying them.

Shows what would be synced from a project back to the collection without making any actual changes. This is an alias for 'sync-pull --dry-run' with more intuitive naming.

Examples: skillmeat sync-preview /path/to/project skillmeat sync-preview /path/to/project --artifacts skill1,skill2 skillmeat sync-preview /path/to/project --format json

Usage:

skillmeat sync-preview [OPTIONS] PROJECT_PATH

Options:

Name Type Description Default
--artifacts text Specific artifacts to preview (comma-separated) Sentinel.UNSET
-c, --collection text Collection to sync to (default: from deployment metadata) Sentinel.UNSET
--format choice (table | json) Output format (default: auto-detect based on TTY) None
--json boolean Output results as JSON (deprecated: use --format json) False
--help boolean Show this message and exit. False

skillmeat sync-pull

Pull artifacts from project to collection.

Syncs modified artifacts from a project back to the collection. Useful for capturing local changes made to deployed artifacts.

Examples: skillmeat sync-pull /path/to/project skillmeat sync-pull /path/to/project --strategy overwrite skillmeat sync-pull /path/to/project --artifacts skill1,skill2 skillmeat sync-pull /path/to/project --dry-run skillmeat sync-pull /path/to/project --strategy merge --no-interactive skillmeat sync-pull /path/to/project --format json claudectl sync-pull /path/to/project --format table

Usage:

skillmeat sync-pull [OPTIONS] PROJECT_PATH

Options:

Name Type Description Default
--artifacts text Specific artifacts to sync (comma-separated) Sentinel.UNSET
--strategy choice (overwrite | merge | fork | prompt) Sync strategy (default: prompt) prompt
--dry-run boolean Preview what would be synced without making changes False
--no-interactive boolean Non-interactive mode (use with --strategy) False
-c, --collection text Collection to sync to (default: from deployment metadata) Sentinel.UNSET
--format choice (table | json) Output format (default: auto-detect based on TTY) None
--json boolean Output results as JSON (deprecated: use --format json) False
--with-rollback boolean Create snapshot before sync and offer rollback on failure False
--help boolean Show this message and exit. False

skillmeat template

Manage scaffold templates for Backstage Software Templates.

Scaffold templates link bundles to Backstage scaffolder configuration, enabling one-click project creation from curated artifact bundles.

Examples: skillmeat template list skillmeat template create --bundle my-python-bundle skillmeat template configure --bundle my-python-bundle --skeleton https://github.com/org/skeletons skillmeat template preview --bundle my-python-bundle

Usage:

skillmeat template [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat template configure

Update the scaffold configuration for a bundle's template.

Looks up the scaffold template by bundle ID and applies the provided changes. All options are optional; only supplied values are modified.

Examples: skillmeat template configure --bundle my-bundle --skeleton https://github.com/org/skeletons skillmeat template configure --bundle my-bundle --var name:string --var owner:owner skillmeat template configure --bundle my-bundle --platform claude_code

Usage:

skillmeat template configure [OPTIONS]

Options:

Name Type Description Default
--bundle text ID of the bundle whose scaffold template should be updated. Sentinel.UNSET
--var text Variable definition in NAME:TYPE format. Repeatable. TYPE must be a Backstage field type such as string, owner, or repoUrl. Sentinel.UNSET
--skeleton text Git URL or path to the Backstage skeleton directory. None
--platform text Target platform tag for the generated template (e.g. claude_code, codex). None
--help boolean Show this message and exit. False
skillmeat template create

Create a new scaffold template for a bundle.

Associates the given bundle with a default Backstage scaffolder configuration. Use template configure to customise variables, skeleton ref, and platform.

Examples: skillmeat template create --bundle my-python-bundle

Usage:

skillmeat template create [OPTIONS]

Options:

Name Type Description Default
--bundle text ID of the bundle to create a scaffold template for. Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat template list

List all scaffold templates.

Displays a Rich table with name (bundle ID), bundle version at last generation, enabled status, variable count, and skeleton ref.

Examples: skillmeat template list

Usage:

skillmeat template list [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat template preview

Preview the generated Backstage YAML for a scaffold template.

Calls the generate-without-save endpoint and prints the rendered Backstage Software Template YAML to stdout. Does not persist the result.

Examples: skillmeat template preview --bundle my-python-bundle skillmeat template preview --bundle my-python-bundle > template.yaml

Usage:

skillmeat template preview [OPTIONS]

Options:

Name Type Description Default
--bundle text ID of the bundle to preview the scaffold template for. Sentinel.UNSET
--help boolean Show this message and exit. False

skillmeat undeploy

Remove deployed artifact from project.

Removes the artifact from the project's .claude/ directory and updates deployment tracking.

Interactive mode requires confirmation. Use --force to skip in scripts.

Examples: skillmeat undeploy my-skill skillmeat undeploy my-skill --project /path/to/proj claudectl undeploy my-skill --force # For scripts

Usage:

skillmeat undeploy [OPTIONS] NAME

Options:

Name Type Description Default
--project, -p directory Project path (default: current directory) None
--type, -t choice (skill | command | agent) Artifact type (required if name is ambiguous) None
--force, -f boolean Skip confirmation (required for scripts) False
--format choice (table | json) Output format (default: auto-detect) None
--profile text Deployment profile ID for artifact removal None
--help boolean Show this message and exit. False

skillmeat update

Update artifact(s) from upstream sources.

Updates artifacts to latest versions from GitHub or refreshes local artifacts. Handles conflicts based on update strategy.

Examples: skillmeat update my-skill # Update one artifact skillmeat update my-skill --strategy upstream # Force upstream

Usage:

skillmeat update [OPTIONS] [NAME]

Options:

Name Type Description Default
--collection, -c text Collection name (default: active collection) None
--type, -t choice (skill | command | agent) Artifact type (required if name is ambiguous) None
--strategy choice (prompt | upstream | local) Update strategy for modified artifacts (default: prompt) prompt
--help boolean Show this message and exit. False

skillmeat vault

Manage team vault connectors for bundle hosting.

Vaults provide pluggable storage backends for hosting bundles in team environments. Supports Git repositories, S3 buckets, and local file systems.

Examples: skillmeat vault add team-git git git@github.com:team/vault.git skillmeat vault list skillmeat vault push my-bundle.skillmeat-pack skillmeat vault pull my-bundle-v1.0.0

Usage:

skillmeat vault [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat vault add

Add a new vault configuration.

Examples: # Add Git vault skillmeat vault add team-git git git@github.com:team/vault.git

# Add S3 vault
skillmeat vault add team-s3 s3 my-bucket --region us-west-2

# Add local vault for testing
skillmeat vault add local-dev local ~/.skillmeat/vault

Usage:

skillmeat vault add [OPTIONS] NAME {git|s3|local} URL_OR_PATH

Options:

Name Type Description Default
--branch, -b text Git branch (for git vaults, default: main) main
--region, -r text AWS region (for s3 vaults, default: us-east-1) us-east-1
--prefix, -p text S3 key prefix (for s3 vaults) ``
--endpoint-url text Custom S3 endpoint URL (for S3-compatible services) Sentinel.UNSET
--set-default boolean Set as default vault False
--read-only boolean Configure as read-only vault False
--help boolean Show this message and exit. False
skillmeat vault auth

Configure authentication for a vault.

Credentials are stored securely in OS keychain or encrypted file storage.

Examples: # Git HTTPS authentication skillmeat vault auth team-git --username myuser --password

# Git SSH authentication
skillmeat vault auth team-git --ssh-key ~/.ssh/id_rsa

# S3 authentication
skillmeat vault auth team-s3 --username AKIAIOSFODNN7EXAMPLE --password

Usage:

skillmeat vault auth [OPTIONS] NAME

Options:

Name Type Description Default
--username, -u text Username for HTTPS Git or access key ID for S3 Sentinel.UNSET
--password, -p text Password/token for HTTPS Git or secret key for S3 Sentinel.UNSET
--ssh-key path Path to SSH private key (for Git vaults) Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat vault list

List all configured vaults.

Examples: skillmeat vault list skillmeat vault list --verbose

Usage:

skillmeat vault list [OPTIONS]

Options:

Name Type Description Default
--verbose, -v boolean Show detailed vault configuration False
--help boolean Show this message and exit. False
skillmeat vault ls

List bundles in team vault.

Examples: skillmeat vault ls skillmeat vault ls --vault team-git skillmeat vault ls --filter "backend" --tag python

Usage:

skillmeat vault ls [OPTIONS]

Options:

Name Type Description Default
--vault, -v text Vault name (default: default vault) Sentinel.UNSET
--filter, -f text Filter bundles by name Sentinel.UNSET
--tag, -t text Filter bundles by tag (can be specified multiple times) Sentinel.UNSET
--verbose boolean Show detailed bundle information False
--help boolean Show this message and exit. False
skillmeat vault pull

Download bundle from team vault.

Examples: skillmeat vault pull my-bundle-v1.0.0 skillmeat vault pull my-bundle-v1.0.0 --vault team-s3 --output ./bundles

Usage:

skillmeat vault pull [OPTIONS] BUNDLE_ID

Options:

Name Type Description Default
--vault, -v text Vault name (default: default vault) Sentinel.UNSET
--output, -o path Output directory (default: current directory) Sentinel.UNSET
--progress / --no-progress boolean Show download progress True
--help boolean Show this message and exit. False
skillmeat vault push

Upload bundle to team vault.

Examples: skillmeat vault push my-bundle.skillmeat-pack skillmeat vault push my-bundle.skillmeat-pack --vault team-s3

Usage:

skillmeat vault push [OPTIONS] BUNDLE_PATH

Options:

Name Type Description Default
--vault, -v text Vault name (default: default vault) Sentinel.UNSET
--progress / --no-progress boolean Show upload progress True
--help boolean Show this message and exit. False
skillmeat vault remove

Remove a vault configuration.

Examples: skillmeat vault remove team-git skillmeat vault remove old-vault --force

Usage:

skillmeat vault remove [OPTIONS] NAME

Options:

Name Type Description Default
--force, -f boolean Force removal without confirmation False
--help boolean Show this message and exit. False
skillmeat vault set-default

Set default vault for push/pull operations.

Examples: skillmeat vault set-default team-git

Usage:

skillmeat vault set-default [OPTIONS] NAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False

skillmeat verify

Verify an artifact has valid structure.

Checks if an artifact (GitHub or local) is valid without adding it. Useful for testing before installation.

Examples: skillmeat verify user/repo/skill --type skill skillmeat verify ./my-skill --type skill skillmeat verify ./command.md --type command

Usage:

skillmeat verify [OPTIONS] SPEC

Options:

Name Type Description Default
--type, -t choice (skill | command | agent) Artifact type to verify Sentinel.UNSET
--help boolean Show this message and exit. False

skillmeat watch

Watch project paths for artifact file changes.

Monitors the .claude/ directory inside each watched project path and reports changes in real time. In the default in-process mode the sync capture pipeline is notified directly. With --remote each detected change is forwarded to the running API server instead.

Blocks until interrupted with Ctrl-C (SIGINT) or SIGTERM.

Examples:

skillmeat watch                             # Watch current directory
skillmeat watch -p ~/projects/my-app        # Watch a specific project
skillmeat watch -p ~/a -p ~/b               # Watch multiple projects
skillmeat watch --remote                    # Forward changes to API
skillmeat watch --remote --api-url http://localhost:9090

Usage:

skillmeat watch [OPTIONS]

Options:

Name Type Description Default
--project, -p directory Project path(s) to watch for filesystem changes. May be specified multiple times. Defaults to the current directory. None
--remote boolean Send detected changes to the SkillMeat API server via POST /api/v1/sync-capture/notify instead of processing in-process. False
--api-url text Base URL of the SkillMeat API server (used only with --remote). http://localhost:8080
--help boolean Show this message and exit. False

skillmeat web

Manage web interface servers.

Commands for starting, building, and diagnosing the Next.js web interface, FastAPI backend server, and MkDocs documentation server.

Examples: skillmeat web dev # Start development servers skillmeat web dev --docs-only # Start only the MkDocs docs server skillmeat web build # Build for production skillmeat web build --docs # Build documentation site skillmeat web start # Start production servers skillmeat web doctor # Diagnose environment

Usage:

skillmeat web [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat web build

Build Next.js application or documentation site for production.

Compiles and optimizes the Next.js application for production deployment. Must be run before 'skillmeat web start'. Use --docs to build the MkDocs documentation site instead.

Examples: skillmeat web build # Build Next.js for production skillmeat web build --check # Check if build is needed skillmeat web build --docs # Build documentation site

Usage:

skillmeat web build [OPTIONS]

Options:

Name Type Description Default
--check boolean Check if build is needed without building False
--docs boolean Build documentation site instead of Next.js False
--help boolean Show this message and exit. False
skillmeat web dev

Start development servers with auto-reload.

Starts FastAPI backend (port 8080), Next.js frontend (port 3000), and MkDocs documentation server (port 8018) in development mode with auto-reload on file changes.

By default both servers bind to 0.0.0.0 so the dev environment is reachable from other machines on the LAN. Browser API calls use relative /api/... URLs proxied server-side through the Next.js rewrite to the local FastAPI, which is the only configuration that works correctly when the browser and the dev server live on different hosts.

Examples: skillmeat web dev # Start all servers (LAN-accessible) skillmeat web dev --api-only # Start only API skillmeat web dev --web-only # Start only Next.js skillmeat web dev --docs-only # Start only MkDocs docs skillmeat web dev --no-docs # Skip MkDocs docs server skillmeat web dev --api-port 8080 # Use custom API port skillmeat web dev --api-host 127.0.0.1 # Loopback only (legacy) skillmeat web dev --direct-api # Browser hits API directly (no proxy)

Usage:

skillmeat web dev [OPTIONS]

Options:

Name Type Description Default
--api-only boolean Run only the FastAPI server False
--web-only boolean Run only the Next.js server False
--docs-only boolean Run only the MkDocs docs server False
--no-docs boolean Skip the MkDocs documentation server False
--api-port integer Port for FastAPI server (default: 8080) 8080
--web-port integer Port for Next.js server (default: 3000) 3000
--docs-port integer Port for MkDocs server (default: 8018) 8018
--api-host text Bind host for FastAPI server (default: 0.0.0.0 for LAN access) 0.0.0.0
--web-host text Bind host for Next.js server (default: 0.0.0.0 for LAN access) 0.0.0.0
--direct-api boolean Bake an absolute NEXT_PUBLIC_API_URL into the client bundle so the browser hits the API directly, bypassing the Next.js rewrite proxy. Default is off — the frontend uses relative /api URLs proxied through Next.js, which is the only mode that works for browsers on a different machine than the dev server. False
--help boolean Show this message and exit. False
skillmeat web doctor

Diagnose web development environment.

Checks for Node.js, pnpm, Python, and other prerequisites. Reports version information and potential issues.

Examples: skillmeat web doctor # Run all diagnostics

Usage:

skillmeat web doctor [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat web generate-sdk

Generate TypeScript SDK from OpenAPI specification.

Exports the OpenAPI spec from the FastAPI application and generates a type-safe TypeScript SDK for use in the Next.js web interface.

The generated SDK includes: - Full type safety for all API endpoints - Request/response types - Authentication support - Error handling

Examples: skillmeat web generate-sdk # Generate SDK with defaults skillmeat web generate-sdk --check # Check if SDK needs update skillmeat web generate-sdk -o ./custom # Custom output directory

Usage:

skillmeat web generate-sdk [OPTIONS]

Options:

Name Type Description Default
--output, -o path Output directory for generated SDK (default: skillmeat/web/sdk) Sentinel.UNSET
--check boolean Check if SDK is up to date without regenerating False
--format boolean Format generated code with Prettier (default: true) True
--help boolean Show this message and exit. False
skillmeat web start

Start production servers.

Starts FastAPI backend, Next.js frontend, and MkDocs documentation server in production mode. Requires 'skillmeat web build' to be run first for the Next.js frontend.

By default both servers bind to 0.0.0.0 and the frontend uses relative /api/... URLs proxied through the Next.js rewrite. Use --direct-api only if you want the browser to hit the API at an absolute URL (bypassing the proxy).

Examples: skillmeat web start # Start all servers (LAN-accessible) skillmeat web start --api-only # Start only API skillmeat web start --web-only # Start only Next.js skillmeat web start --docs-only # Start only MkDocs docs skillmeat web start --no-docs # Skip MkDocs docs server skillmeat web start --docs-port 8018 # Use custom docs port skillmeat web start --direct-api # Browser hits API directly

Usage:

skillmeat web start [OPTIONS]

Options:

Name Type Description Default
--api-only boolean Run only the FastAPI server False
--web-only boolean Run only the Next.js server False
--docs-only boolean Run only the MkDocs docs server False
--no-docs boolean Skip the MkDocs documentation server False
--api-port integer Port for FastAPI server (default: 8080) 8080
--web-port integer Port for Next.js server (default: 3000) 3000
--docs-port integer Port for MkDocs server (default: 8018) 8018
--api-host text Bind host for FastAPI server (default: 0.0.0.0 for LAN access) 0.0.0.0
--web-host text Bind host for Next.js server (default: 0.0.0.0 for LAN access) 0.0.0.0
--direct-api boolean Bake an absolute NEXT_PUBLIC_API_URL into the client bundle so the browser hits the API directly, bypassing the Next.js rewrite proxy. False
--help boolean Show this message and exit. False
skillmeat web token

Manage web authentication tokens.

Generate, list, and revoke JWT tokens for web interface authentication. Tokens are securely stored using OS keychain or encrypted file storage.

Examples: skillmeat web token generate # Generate new token skillmeat web token list # List all tokens skillmeat web token revoke # Revoke specific token skillmeat web token cleanup # Remove expired tokens

Usage:

skillmeat web token [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat web token cleanup

Remove expired tokens.

Deletes all tokens that have passed their expiration date.

Examples: skillmeat web token cleanup skillmeat web token cleanup --confirm

Usage:

skillmeat web token cleanup [OPTIONS]

Options:

Name Type Description Default
--confirm boolean Skip confirmation prompt False
--help boolean Show this message and exit. False
skillmeat web token generate

Generate a new authentication token.

Creates a JWT token for web interface authentication. The token is securely stored and can be used for API requests.

Examples: skillmeat web token generate skillmeat web token generate --name production skillmeat web token generate --days 365 --name long-term skillmeat web token generate --days 0 --name never-expires

Usage:

skillmeat web token generate [OPTIONS]

Options:

Name Type Description Default
--name text Human-readable name for the token default
--days integer Days until expiration (default: 90, 0 = no expiration) Sentinel.UNSET
--show-token boolean Display the full token (WARNING: sensitive) False
--json boolean Output as JSON False
--help boolean Show this message and exit. False
skillmeat web token info

Show detailed information about a token.

Displays metadata for a specific token including creation date, expiration, usage statistics, and status.

Examples: skillmeat web token info default skillmeat web token info abc12345

Usage:

skillmeat web token info [OPTIONS] IDENTIFIER

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat web token list

List all authentication tokens.

Shows metadata for all stored tokens including creation date, expiration, and last usage.

Examples: skillmeat web token list skillmeat web token list --include-expired skillmeat web token list --json

Usage:

skillmeat web token list [OPTIONS]

Options:

Name Type Description Default
--include-expired boolean Include expired tokens in listing False
--json boolean Output as JSON False
--help boolean Show this message and exit. False
skillmeat web token revoke

Revoke an authentication token.

Revokes a token by name or ID. Revoked tokens can no longer be used for authentication.

Examples: skillmeat web token revoke default skillmeat web token revoke abc12345 skillmeat web token revoke --all --confirm

Usage:

skillmeat web token revoke [OPTIONS] IDENTIFIER

Options:

Name Type Description Default
--all boolean Revoke all tokens (use with caution) False
--confirm boolean Skip confirmation prompt False
--help boolean Show this message and exit. False

skillmeat workflow

Manage and execute SkillMeat workflows.

Workflows are multi-stage, agent-driven pipelines defined in YAML. Use subcommands to create, validate, plan, and run workflows, then inspect execution history and handle approval gates.

Examples:

skillmeat workflow create ./my-workflow.yaml # Import + store workflow skillmeat workflow list # List stored workflows skillmeat workflow show my-workflow # Inspect definition skillmeat workflow validate ./my-workflow.yaml # Lint without importing skillmeat workflow plan my-workflow # Preview execution plan skillmeat workflow run my-workflow # Execute a workflow skillmeat workflow runs my-workflow # List past executions skillmeat workflow approve # Approve a paused stage skillmeat workflow cancel # Cancel a running workflow

Usage:

skillmeat workflow [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat workflow approve

Approve the gate stage that is waiting for approval in a run.

RUN_ID is the execution UUID. The command locates the gate step that is in waiting_for_approval state, confirms with the user (unless --yes), and marks it as approved so the execution can continue.

Examples:

skillmeat workflow approve abc123def456

skillmeat workflow approve abc123def456 --yes

Usage:

skillmeat workflow approve [OPTIONS] RUN_ID

Options:

Name Type Description Default
--yes, -y boolean Skip confirmation prompt. False
--help boolean Show this message and exit. False
skillmeat workflow cancel

Cancel a running or pending workflow execution.

RUN_ID is the execution UUID. The command confirms with the user (unless --yes) then marks all active steps as cancelled and sets the execution status to cancelled.

Examples:

skillmeat workflow cancel abc123def456

skillmeat workflow cancel abc123def456 --yes

Usage:

skillmeat workflow cancel [OPTIONS] RUN_ID

Options:

Name Type Description Default
--yes, -y boolean Skip confirmation prompt. False
--help boolean Show this message and exit. False
skillmeat workflow create

Import a workflow YAML file into the collection.

Reads PATH, validates the YAML schema, and stores the workflow definition in both the filesystem collection (~/.skillmeat/collection/workflows/) and the DB cache.

Examples:

skillmeat workflow create ./my-workflow.yaml

skillmeat workflow create ./my-workflow.yaml --name custom-name

skillmeat workflow create ./my-workflow.yaml --force

Usage:

skillmeat workflow create [OPTIONS] PATH

Options:

Name Type Description Default
--name text Override the workflow name from the YAML. None
--force boolean Overwrite an existing workflow with the same name. False
--help boolean Show this message and exit. False
skillmeat workflow list

List workflows stored in the collection.

Queries all workflow definitions from the DB cache and displays them as a Rich table (default) or JSON. Use --status and --tag to narrow results.

Examples:

skillmeat workflow list

skillmeat workflow list --status active

skillmeat workflow list --tag ci --format json

Usage:

skillmeat workflow list [OPTIONS]

Options:

Name Type Description Default
--status text Filter by workflow status (e.g. draft, active, archived). None
--tag text Filter by tag. None
--format choice (table | json) Output format. table
--help boolean Show this message and exit. False
skillmeat workflow plan

Preview the execution plan for a workflow without running it.

Resolves parameters, computes the parallel execution batches via topological sort, and displays the plan as a Rich tree. No execution happens.

Exit code 0 on success; 1 on error or validation failure.

Examples:

skillmeat workflow plan my-workflow

skillmeat workflow plan my-workflow --param feature=auth-v2

skillmeat workflow plan my-workflow --param feature=auth-v2 --param env=prod

Usage:

skillmeat workflow plan [OPTIONS] NAME

Options:

Name Type Description Default
--param text Workflow parameter override in KEY=VALUE format. Repeat to pass multiple parameters. Sentinel.UNSET
--help boolean Show this message and exit. False
skillmeat workflow run

Execute a workflow by name with Rich live progress display.

Looks up the workflow by NAME, validates it, and runs all stages in topological order. Progress is shown live: each stage is tracked with its current status (pending / running / done / failed). On completion a summary table is printed.

Use --dry-run to preview the execution plan without running anything (equivalent to skillmeat workflow plan).

Examples:

skillmeat workflow run my-workflow

skillmeat workflow run my-workflow --param env=prod --param feature=auth

skillmeat workflow run my-workflow --dry-run

Usage:

skillmeat workflow run [OPTIONS] NAME

Options:

Name Type Description Default
--param text Workflow parameter override in KEY=VALUE format. Repeat to pass multiple parameters. Sentinel.UNSET
--dry-run boolean Show the execution plan without running it. False
--help boolean Show this message and exit. False
skillmeat workflow runs

List or inspect workflow executions.

Without RUN_ID, lists recent executions in a table. With RUN_ID, shows detailed metadata and a per-stage status table for that run.

Examples:

skillmeat workflow runs

skillmeat workflow runs --workflow my-workflow --status failed

skillmeat workflow runs abc123def456 --logs

Usage:

skillmeat workflow runs [OPTIONS] [RUN_ID]

Options:

Name Type Description Default
--workflow text Filter by workflow name. None
--status choice (pending | running | completed | failed | cancelled) Filter by execution status. None
--logs boolean Show log output for stages. False
--limit integer Maximum rows to show (list mode). 20
--help boolean Show this message and exit. False
skillmeat workflow show

Display a workflow definition, its stages, and last execution.

Looks up the workflow named NAME from the DB, prints its metadata and stage table, then shows a summary of the most recent execution if one exists.

Examples:

skillmeat workflow show my-workflow

skillmeat workflow show code-review-pipeline

Usage:

skillmeat workflow show [OPTIONS] NAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False
skillmeat workflow validate

Validate a workflow YAML file without importing it.

Parses and lints the YAML at PATH against the workflow schema, running all static analysis passes (schema, expressions, DAG, artifact format). The collection is never modified.

Exit code 0 on success; 1 when errors (or warnings with --strict) are found.

Examples:

skillmeat workflow validate ./my-workflow.yaml

skillmeat workflow validate ./my-workflow.yaml --strict

Usage:

skillmeat workflow validate [OPTIONS] PATH

Options:

Name Type Description Default
--strict boolean Treat warnings as errors (exit code 1 when any warnings are present). False
--help boolean Show this message and exit. False