pavel 1ar.ionov

craft-cli 0.9.0: a skills library in Craft

Keep your agent skills in Craft and pick the ones relevant to a request. Sync published skills and their supporting files to a local folder or GitHub.

2 min read

craft-cli 0.9.0 is out. Release on GitHub.

You can now keep an agent skills library in a Craft document. The document holds a collection of skills and can include an editable introduction. Craft remains the source; local folders and GitHub are optional copies.

A shared library supplies the skills an agent needs for the current request.

Pick skills for a request

Ask your agent to prepare the collection using the bundled craft-cli skill, then bind the document:

craft lib setup --document <documentId> --collection <collectionId>
craft lib pick "prepare monthly invoices" --published --max-output 3 --json

The picker reads the eligible skill names and descriptions, then selects the relevant skills. It uses keywords by default. Add --jev to send the candidate descriptions and request to Jev for selection with JEV_API_KEY or TYPESAFE_API_KEY. --published filters the collection before selection. --max-output limits the number of skills returned.

Descriptions are enough for discovery. Load the selected instructions when needed. References, scripts and attachments load on demand. Codex and Claude Code can call the same picker through a prompt hook.

Keep Craft as the source

A local snapshot supports fast reads and offline use after refresh. API mode reads from Craft directly. Both use the same collection shape, validation and output.

Sync copies all published skills from the chosen Craft collection to a local folder or GitHub. Each skill gets its own folder with its instructions and supporting files: references, scripts and assets. Choose a local folder such as ~/dev/skills, or configure a GitHub repository, branch and destination path. GitHub sync works directly without a local checkout. It opens a pull request by default; direct publication is an explicit option. Sync checks the files it manages and reports conflicts before writing. An unchanged sync writes nothing.

See the setup and command reference for the collection shape, source settings and sync options.