Skip to Content
DocsSkillsAuthor a Skill

Author a Skill

Three commands take a Cmdop Skill from nothing to a publishable artifact: cmdop skill create generates the project, cmdop skill check --strict validates it, and cmdop skill pack writes a deterministic ZIP with a digest that identifies it. All three run offline and none executes your Skill’s code.

1. Create the project

cmdop skill create release-check \ --description "Review release readiness"

The description is not decoration — it is how the agent decides when to reach for this Skill. Write it as a trigger: what situation should invoke this?

You get a project with a root SKILL.md holding the Skill’s identity and its instructions. Edit that file; it is the Skill.

The default kind is instructions-only, which is what you want unless the Skill must run code:

cmdop skill create release-check --kind prompt # instructions (default) cmdop skill create release-check --kind python cmdop skill create release-check --kind node

Python and Node projects add a runtime manifest — see Skill project format. They also depend on an isolation runtime that is not shipped yet, so an instructions Skill is the one that works end to end today. See Runtime status.

create will not overwrite an existing destination.

2. Validate it

cmdop skill check ./release-check --strict

check reads the project’s files and validates the declared contract without executing anything. --strict makes warnings blocking, and --json gives machine-readable output for CI.

Run it with --strict from the start, because packing requires a warning-free strict check anyway.

3. Pack it

cmdop skill pack ./release-check

pack runs strict validation itself, then writes a deterministic ZIP into the project’s dist/ directory and prints a logical sha256: digest.

That digest is the artifact’s identity. It covers the Skill’s canonical metadata and the uncompressed file bytes — not the output path, file timestamps, umask, or ZIP metadata. Two people packing the same project get the same digest, which is what makes a published artifact verifiable.

Two things that will stop you:

  • A warning-free --strict check is a precondition. Packing a project that only passes non-strict validation fails.
  • pack will not overwrite an existing artifact. Move or remove the old one.

What comes next

Packing does not publish, install, or make anything runnable. Those are separate stages with separate owners:

For the full hands-on walkthrough, see Write your first Skill.

Common questions

How do I author a Cmdop Skill?

Run cmdop skill create, edit the generated SKILL.md, validate with cmdop skill check --strict, and package with cmdop skill pack. Those steps are local and offline.

Does authoring a Skill run code?

No. create, check, and pack validate and package the project. They do not execute the Skill, install dependencies, or reach the network.

Which Skill kind should I start with?

Start with an instructions Skill, the default prompt kind. Instruction Skills work end to end today; Python and Node projects can be authored and packed, but their execution waits on the isolation runtime.

Last updated on