cyberine
UsageRun recipes

Skills — Claude-Code-compatible SKILL.md

cyberine discovers SKILL.md files in the SAME format Claude Code uses, so existing skills and templates transfer unchanged (unknown frontmatter keys like version / tools are ignored):

mkdir -p ~/.cyberine/skills/hello                      # global skill (or <cwd>/.cyberine/skills/<id> for a project skill)
cat > ~/.cyberine/skills/hello/SKILL.md <<'EOF'
---
name: hello
description: a friendly greeting skill
user-invocable: true
---
Greet the user warmly and summarize the repo.
EOF
cyberine skill list            # id, scope (global/project), description
cyberine skill show hello      # full frontmatter + instruction body
cyberine skill propose         # print draft proposals found in recurring successful winners
cyberine skill propose --min-runs 3 --json  # structured proposals requiring at least 3 runs
cyberine skill install autopilot            # copy plugin/skills/autopilot to ~/.claude/skills/cyberine-autopilot (cyberine-autopilot is accepted too)
cyberine skill install run --dev            # symlink instead of copy (source edits stay live)
cyberine skill install run --force          # overwrite an existing, differing target
cyberine skill install run --upgrade        # same as --force, without the "already exists" error framing — the recipe for picking up a package upgrade

Discovery is one level deep: <CYBERINE_HOME>/skills/<id>/SKILL.md (global) + <cwd>/.cyberine/skills/<id>/SKILL.md (project; project overrides global on the same id). discoverSkills is best-effort — a malformed SKILL.md is skipped, never fatal.

cyberine skill propose backfills the current project's run index, scans completed runs across the global registry, and groups similar winner procedures by task kind and keyword overlap. Each result is a PROPOSED markdown draft with source-run evidence and adoption: manual-review-required. It only prints proposals: it does not create, register, or adopt a skill. --min-runs N sets the minimum distinct supporting runs (default 2, minimum 2), and --json prints the structured proposal objects including their markdown drafts.

cyberine skill install <id> is the single-skill fallback for a harness without plugin support: cyberine plugin install is the primary path and installs every skill at once as /cyberine:<id>. It copies ONE bundled skill, plugin/skills/<id>/, to ~/.claude/skills/cyberine-<id>/; <id> is the plugin directory name (run, plan, ...) with or without the cyberine- prefix. With no <id> it refuses and lists the bundled ids. The legacy skills/ rollback tree, the cyberine-install: skip marker and the install-everything copy loop were removed one release after the plugin cutover (k5pnj, 2026-09-25). Default mode copies the skill tree; a byte-identical copy already at the target prints already installed and exits clean; a copy that DIFFERS needs --force or --upgrade to overwrite (--upgrade is the same overwrite, framed for a routine package-upgrade rather than an error); --dev symlinks instead of copying so edits to the package source are reflected immediately, and a target already correctly linked (dev) is left alone and reported as linked (dev) regardless of --force/--upgrade. On success it prints the installed slash names and a reminder to restart Claude Code (or /reload). The target base can be overridden with CYBERINE_SKILLS_DIR (useful for testing: CYBERINE_SKILLS_DIR=/tmp/test-skills cyberine skill install).