Customization Model - alexherrero/crickets GitHub Wiki
What a crickets customization is made of: the primitive kinds, and how plugins compose.
A crickets customization is a primitive โ a skill, command, agent, hook, or snippet โ described by a YAML manifest. Primitives that belong together live in one plugin, and the plugin is the unit you install. You author one primitive per file; its frontmatter says what kind it is and which hosts it runs on.
A primitive's kind field decides both what it does and where you author it โ src/<group>/<kind-dir>/<name>. The generator discovers it by walking that subdir, and a per-group group.yaml describes the plugin around it. Seven kinds ship today; the schema reserves four more (mcp-server, status-line, workflow, settings-fragment) with no instance yet.
| Kind | What it is |
|---|---|
skill |
an agent-invoked helper โ the model triggers it on a context match. |
command |
a user-typed /slash command. |
agent |
a sub-agent for fan-out work. |
hook |
a script the host runs at a session event. |
snippet |
a standing instruction fragment. |
output-style |
a host output style (e.g. terse). |
rule |
a standing rule fragment (e.g. edit-over-write). |
Plugins compose two ways. A plugin requires: another when it hard-depends on it โ it is then integrated, not standalone. A plugin enhances: another when it augments it only if both are installed โ the dependency is soft, and the enhancement is skipped when the target is absent.
-
Plugins โ the unit primitives ship in. Each
src/<group>/is one plugin;group.yaml'srequires:/enhances:are where one plugin's relationship to another is declared. -
Build & distribution โ what reads these manifests. The generator switches on
kindandsupported_hoststo emit each plugin. -
Host adapters โ where a primitive's
supported_hosts+kindresolve to a real destination. The model declares intent; the adapter places the artifact.
Detail:
- Customization types โ the full primitive catalogue, kind by kind.
-
Manifest schema โ every frontmatter and
group.yamlfield, and when each is required. - Add a skill ยท Add a plugin ยท Modify a plugin โ the authoring how-tos.
Architecture ยท Reference ยท Home