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:
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.tomland never logged - Enterprise PATs are stored in
~/.skillmeat/enterprise.toml - All artifacts are validated before installation
- Use
--dangerously-skip-permissionsonly 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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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 |
skillmeat analytics trends¶
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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
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:
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 |
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:
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
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:
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
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:
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:
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:
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
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:
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 |
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--signature, -s |
path | Path to signature file. Defaults to |
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:
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:nameformat (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:
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:
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
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--output, -o |
path | Output path for the .skillmeat-pack archive. Defaults to |
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:
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:
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:
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:
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:
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:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--help |
boolean | Show this message and exit. | False |
skillmeat cache config get¶
Get a cache configuration value.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--help |
boolean | Show this message and exit. | False |
skillmeat cache config set¶
Set a cache configuration value.
Usage:
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:
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:
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:
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:
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:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--license, -l |
text | Override declared license (SPDX identifier) | Sentinel.UNSET |
--help |
boolean | Show this message and exit. | False |
skillmeat compliance-consent¶
Record compliance consent for checklist.
Records publisher consent to compliance checklist items with cryptographic signature for legal audit trail.
Examples:
skillmeat compliance-consent
Usage:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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 |
skillmeat marketplace-search¶
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--help |
boolean | Show this message and exit. | False |
skillmeat memory item bulk-deprecate¶
Usage:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--help |
boolean | Show this message and exit. | False |
skillmeat memory item deprecate¶
Usage:
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:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--json |
boolean | N/A | False |
--help |
boolean | Show this message and exit. | False |
skillmeat memory item update¶
Usage:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--help |
boolean | Show this message and exit. | False |
skillmeat memory module add-item¶
Usage:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--help |
boolean | Show this message and exit. | False |
skillmeat memory module duplicate¶
Usage:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--item |
text | N/A | Sentinel.UNSET |
--help |
boolean | Show this message and exit. | False |
skillmeat memory module show¶
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--json |
boolean | N/A | False |
--help |
boolean | Show this message and exit. | False |
skillmeat memory module update¶
Usage:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--help |
boolean | Show this message and exit. | False |
skillmeat memory pack generate¶
Usage:
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:
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 |
skillmeat memory search¶
Usage:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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 |
skillmeat search¶
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:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--output, -o |
path | Output file path (default: |
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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
Usage:
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:
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:
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:
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:
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:
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
Usage:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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 |