pavel 1ar.ionov

craft-cli 0.3.0: demand-loaded skills and media analysis

craft-cli now has demand-loaded skills, local skill discovery, and a bundled media analysis workflow that writes results back into Craft.

2 min read
craft-cli 0.3.0: demand-loaded skills and media analysis

craft-cli 0.3.0 is out. Release on GitHub.

The big addition is craft skills: a demand-loaded automation layer for agents working with Craft. A skill is a file-first folder with a manifest.json, an agent-facing SKILL.md, runnable scripts, examples, and tests. The CLI discovers bundled skills in the repo and explicit local skills in ~/.craft-cli/skills, then exposes them through search, validation, and a structured runner.

This keeps the agent’s context small. It can search for the right capability when it needs it, inspect one skill, and run that skill as a subprocess. Skill code does not write to Craft directly. It returns structured JSON, and craft-cli applies the Craft writes.

craft-cli skills explained as demand-loaded automations that discover relevant tools, run file-first, and keep results in Craft.
Skills are demand-loaded automations: discover only what is relevant, run as structured subprocesses, and write useful results back into Craft.
A short overview of skills, the media analysis workflow, and the commands exposed in 0.3.0.

First bundled skill: media analysis

0.3.0 ships with media-analyze, also available through the curated alias:

craft media analyze <blockId>

The workflow fetches a Craft block or document, finds media, downloads it locally, extracts metadata, transcribes audio when present, samples frames for video, sends a generic analysis request through OpenAI, and writes a visible run ledger back into Craft under the source block.

The result is not just terminal output. craft-cli stores the analysis, transcript, contact sheet reference, metadata, status, and cost/model notes back in Craft so the work remains attached to the source material.

V1 is deliberately conservative: bundled reviewed skills first, explicit local skills allowed, no remote community install flow, OpenAI only, and a default per-run cap of €1 unless the caller opts into more.

Commands

craft skills ls
craft skills search media
craft skills show media-analyze
craft skills validate media-analyze
craft skills run media-analyze analyze --block-id <blockId>
craft media analyze <blockId> --estimate

Upgrade

cd ~/dev/craft-cli
git pull
./install.sh
craft skills search media
craft media analyze <blockId> --estimate

This release also includes the recent agent-first controls: craft source, craft doctor, craft agent-context, craft which, JSON --select, broader --dry-run previews, and shorter health-check timeouts.