Skip to main content

CMDOP Skill Framework - decorator-based CLI for CMDOP skills

Project description

cmdop-skill

Decorator-based CLI framework for CMDOP skills + dev toolchain.

Install

pip install cmdop-skill

Quick Start

from cmdop_skill import Skill, Arg

skill = Skill(name="my-skill", description="Does things", version="1.0.0")

@skill.command
async def greet(name: str = Arg(help="Who to greet", required=True)) -> dict:
    """Say hello."""
    return {"message": f"Hello, {name}!"}

if __name__ == "__main__":
    skill.run()

Framework Features

  • @skill.command — turn async/sync functions into CLI subcommands
  • Arg() — declarative arguments with help, required, default, choices
  • @skill.setup / @skill.teardown — lifecycle hooks
  • TestClient — test harness for skills
  • Auto src/ pathsrc/ is added to sys.path automatically
  • JSON output — all commands return {"ok": true, ...} by default

CLI Commands

cmdop-skill --help
Command Description
publish Publish skill to the CMDOP marketplace
list List your published skills
install <path> Symlink skill into system skills directory
uninstall <name> Remove skill from system skills directory
run <path> <prompt> Run skill via cmdop SDK
test <path> Run pytest in skill directory

install / uninstall

cmdop-skill install ./skills/email-macos
# ✓ Installed email-macos → ~/Library/Application Support/cmdop/skills/email-macos (symlink)

cmdop-skill uninstall email-macos
# ✓ Uninstalled email-macos

run

cmdop-skill run ./skills/email-macos "list my email accounts"
# ✓ Done (2.3s, 1234 tokens)

cmdop-skill run ./skills/email-macos "send test" --machine my-mac --model gpt-4o --json

test

cmdop-skill test ./skills/email-macos
cmdop-skill test ./skills/email-macos --args "-v -k test_send"

publish

cmdop-skill publish --api-key cmdop_xxx
cmdop-skill publish --json              # CI mode

Development

make install          # pip install -e .
make install-local    # use local cmdop package (editable)
make test             # pytest tests/ -v
make lint             # ruff check src/

API

Export Description
Skill Main class — registers commands, runs CLI
Arg Argument descriptor with metadata
TestClient Test harness — client.run("command", "--flag", "value")
generate_manifest Generate skill.md manifest
publish_skill Programmatic publish to marketplace
json_output / wrap_result / format_error Output formatting helpers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmdop_skill-2026.3.4.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cmdop_skill-2026.3.4-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file cmdop_skill-2026.3.4.tar.gz.

File metadata

  • Download URL: cmdop_skill-2026.3.4.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for cmdop_skill-2026.3.4.tar.gz
Algorithm Hash digest
SHA256 40fa600aa430e8fbe70ae5e3604ccd0988fb591ee00bbd078963c6cef312ef59
MD5 de578f09101a40b31c6a4cac8a8b6270
BLAKE2b-256 b3410f5d673eb0e073a9d7c49023f2557d5f20f2436765746f820c37214699a5

See more details on using hashes here.

File details

Details for the file cmdop_skill-2026.3.4-py3-none-any.whl.

File metadata

  • Download URL: cmdop_skill-2026.3.4-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for cmdop_skill-2026.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0d6fe906f5474459bc22804a26d608dd8af4adc464a39c306a3ce542b3b1177e
MD5 cf9cfbe7277db830b04de9262f83c9c7
BLAKE2b-256 fa69107600f3e30a058807ec73f7740c74c5a5353799b9154ae566cc787a83a9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page