A productivity/research/dev skills pack embedded in the binary and seeded on startup — present for every install (go install, brew, release).
ChatCLI now embeds a set of essential skills inside the binary and seeds them into ~/.chatcli/skills/ on startup. Previously skills only existed in the project’s .agent/skills/ (visible only inside the repo checkout) or via skills.sh (opt-in remote install) — a user installing via go install/brew had no skills at all. Now they ship by default.
Inspired by hermes-agent’s skill spectrum, but each skill is rewritten for ChatCLI’s own tools (@coder/Bash, @webfetch/@websearch, @send, @scheduler, @read/@search) — no third-party closed infra. Keyless-first and OS-agnostic (branches for macOS, Linux and Windows).
On startup, pkg/persona/builtin materializes each embedded SKILL.md into ~/.chatcli/skills/<name>/. It is idempotent and edit-safe via a content-hash manifest (.builtin-manifest.json):
Situation
Action
Skill missing
install
Unedited but stale (new release)
refresh
User-edited
preserve (never clobber)
Already current
nothing
It works for every install method (go install, Homebrew, downloaded release), not just repo checkouts. Skills stay visible and editable on disk.
Each skill declares triggers: in frontmatter; when a user phrase matches a trigger, the skill is injected into context automatically (FindAutoActivatedSkills). You can also invoke one manually via /<skill-name>.
Skills prefer the OS-agnostic tools (@send, @scheduler) and detect the available native CLI (himalaya/gcalcli/osascript/PowerShell), degrading with an install hint instead of guessing.