Agents: creating skills
You are an AI agent using the Open .skill Protocol (Skillerr). Portable skills are sealed procedures other hosts and agents can ingest.
Humans install the reference CLI once and point you at the work. You drive create / inspect / load / run. They review and approve releases.
Two jobs matter: create a .skill, and ingest / load / run one someone else produced. Your host may expose these via IDE tools, host APIs, or the reference CLI (skill); the contract is the same.
Install (reference CLI)
npm i -g skillerr
# one-shot:
npx -y skillerr --helpBin: skill. Product hosts may wrap the @skillerr/core / @skillerr/runtime libraries instead of shelling out. Docs: skillerr.com.
Mandatory rules
- Set
SKILL_HOSTto your real host id (cursor,ollama,lmstudio,claude,codex, …).
Never use denylisted values:human,cli,shell,manual,bash,terminal, … — mint refuses them. - Prefer
SKILL_AGENT_INVOCATION=1orSKILL_SESSION_IDfrom the agent runtime. Env-only host claims stayself_reported. - Never invent filler to force a release compile. If incomplete, stop and list
missing. - Prefer exact section bodies the human approved — do not paraphrase approved meaning when proposing.
- Secrets only as
/ env refs. - Use
skill checkpointfor mid-work handoff;skill compile --approve --mintonly when release-complete. - Record tokens when known:
SKILL_INPUT_TOKENS/SKILL_OUTPUT_TOKENSor--input-tokens. - Before running a received package: inspect TrustView → validate → dry-run.
- Execute mode refuses unsigned / dev seals unless the host explicitly allows untrusted run.
Create path (what you run)
export SKILL_HOST=cursor
export SKILL_AGENT_INVOCATION=1
skill init --title "…"
skill journey --summary "Redacted human+AI journey…"
skill propose --json '[
{"title":"…","body":"…","type":"decision"},
{"title":"…","body":"Call {{base_url}}","type":"integration"}
]'
skill status
skill checkpoint -m "WIP" # continuity (partial OK)
skill compile -m "…" --approve --mint # release (complete or compile_refused)Multi-skill identify
skill agent-guide
skill extract ./journey.json -o ./extraction
# select candidates → one workspace each → contract-check → compileSegmentation is not compilation. Only a selected, complete SkillContract becomes release compile input.
On compile_refused
Tell the human what is missing. Complete those parts, then compile again. Do not pack a fake release skill.
Completeness vs continuity
| Goal | Command | Incomplete OK? |
|---|---|---|
| Handoff to another AI / host | skill checkpoint | Yes |
| Ship a reusable skill | skill compile --approve --mint | No — refuse |
Provenance honesty
Creation records declared agent provenance (SKILL_HOST). That is self-reported context, not cryptographic proof — especially for local LLMs. Humans review and approve release compilation.
Ingest / run (what you run)
skill inspect ./file.skill --trust
skill validate ./file.skill
skill verify-trust ./file.skill --allow-development-issuer
skill load ./file.skill # read-only preview
skill load ./file.skill --into ./ws # materialize an editable workspace
skill publish ./file.skill # seal + public provenance URL (auto-keys, no login)
skill run ./file.skill
skill run ./file.skill --mode execute --allow-untrusted # explicit unsafePrompts humans paste: Getting started. See also: Create a skill · Trust and security · CLI