-
Notifications
You must be signed in to change notification settings - Fork 0
Per Host Paths
Where each kind lands in each host at install time. The installer reads each customization's supported_hosts and dispatches to the rows below.
| Kind | Claude Code | Antigravity |
|---|---|---|
skill |
.claude/skills/<name>/SKILL.md |
.agents/skills/<name>/SKILL.md |
command |
.claude/commands/<name>.md |
(n/a — use workflow instead) |
agent |
.claude/agents/<name>.md |
.agents/skills/<name>/SKILL.md (sub-agent-as-skill) |
hook |
.claude/hooks/<name> + .claude/settings.json merge |
(n/a — Antigravity hooks are SDK Python decorators, no file-based surface; see Known gaps in Compatibility) |
mcp-server |
.claude/settings.json merge OR .claude/mcp-servers/
|
TBD |
status-line |
.claude/settings.json merge |
(n/a) |
output-style |
.claude/output-styles/<name>.md |
(n/a) |
workflow |
(n/a) | .agents/workflows/<name>.md |
rule |
(n/a) | .agents/rules/<name>.md |
snippet |
(dropped) — Claude Code has no instruction-file primitive in the plugin surface |
<plugin>/rules/<name>.md (emitted as an Antigravity rules/ file) |
settings-fragment |
merge into .claude/settings.json
|
TBD |
plugin |
(n/a — Antigravity-specific bundle format) |
~/.gemini/config/plugins/<name>/plugin.json + <name>/skills/<skill>/SKILL.md (user-global) |
scripts/ (group asset, not a kind) |
<plugin>/scripts/ |
<plugin>/scripts/ |
Note
scripts/ is a group-level asset dir, not a discovered kind. A src/<group>/scripts/ directory of verbatim helper scripts (e.g. cross-review.sh, capability_probe.py) is copied wholesale (excluding __pycache__) into the emitted plugin at dist/<host>/plugins/<group>/scripts/ — host-agnostic, both hosts identically. Primitives reference a bundled script via the host plugin-root path (${CLAUDE_PLUGIN_ROOT}/scripts/<name> on Claude Code). See src/SCHEMA.md § Group-level assets.
Important
Antigravity 2.0 / agy uses .agents/ (plural) for project-local discovery, NOT .agent/ (singular like Antigravity 1.x). Confirmed via agy v1.0.2 binary inspection: {workspace}/.agents/skills/{skill_name}/SKILL.md. Crickets v1.2.0 (paired with agentm v3.2.0) updates the installer dispatch from .agent/ → .agents/ for the antigravity host slug. This is a breaking change for users with crickets v1.0.x installed against Antigravity 1.x's .agent/ convention — re-run bash install.sh --update <target-project> to migrate; the installer wipes the old .agent/ dir on update (or operators can manually mv .agent .agents in their target project). See ADR 0011 for the host-evolution rationale + the 2026-06-18 Gemini-CLI sunset context.
Note
Gemini CLI host removed in v0.9.0 per ROADMAP item #15. Standalone Gemini CLI is no longer a supported host; the legacy 3-column table is preserved in the v0.8.x and earlier wiki history. Antigravity 2.0 + Antigravity CLI (which replaced Gemini CLI on 2026-05-19) stay as a single first-class host under the antigravity slug. See ADR 0006 for the original host-scope-reduction rationale + ADR 0011 for the 2.0 host support decision.
- Locked rows reflect the host's documented or de-facto convention as of toolkit v1.2.0.
-
TBD entries are paths the installer doesn't dispatch to yet because the host's surface isn't formalized in public docs (Antigravity's
mcp-server+settings-fragmentconventions). The Antigravity hook row is (n/a) not TBD — confirmed in v1.2.0 research that Antigravity has no file-based hook surface; see Known gaps in Compatibility.
When a TBD path is encountered, the installer logs a warning and skips that host for that customization. The manifest still validates — supported_hosts: [antigravity] for a mcp-server is allowed; the installer just can't deliver yet.
Revisit triggers (tracked in agentm/.harness/FOLLOWUPS.md):
- Antigravity publishes formal docs on MCP server conventions and/or
settings.jsonmerge semantics. - Google ships a comparable file-based hook surface in agy / Antigravity 2.x (today: Python SDK decorators only).
- The
kind: workflow+kind: ruleAntigravity path conventions get explicit documentation (currently inferred from Antigravity 1.x.agent/+ agy 2.0.agents/plural pattern; not directly confirmed in agy binary strings for workflows/rules specifically).
For each customization the installer encounters:
- Read
kind+supported_hostsfrom frontmatter. - For each host in
supported_hosts:- Look up the (kind, host) cell in the table above.
- If the cell is a path: copy source to that path (creating parent dirs as needed). Use
cp_managed_dirsemantics — wipe-and-recreate on--update, skip-if-exists otherwise. - If the cell is "(n/a)": skip silently. The customization simply isn't installable on that host.
- If the cell is TBD: log a warning and skip.
Both follow the same dispatch table. Source paths differ:
-
Standalone primitive:
crickets/<kind-subdir>/<name>/→ destination per table. -
Inside a bundle:
crickets/bundles/<bundle>/<kind-subdir>/<name>/→ same destination per table (the bundle structure is invisible at the destination — the inner primitive lands at the same path it would as a standalone).
This means a bundle's primitives can collide at the destination with standalone primitives of the same name. v0.1.0 has no such collision (one bundle with one inner skill, three standalone skills with unique names); future versions may need a collision policy. Tracked as an open question.
- Customization Types — what each kind means.
- Manifest Schema — frontmatter required to participate in dispatch.
- Install crickets plugins — how plugins get installed.
- Add a Skill — the most common dispatch path walked through.
🔧 How-to
- Plugin anatomy
- Repo layout
- Compatibility
- CI gates
- Troubleshooting
- Customization Types
- Manifest Schema
- Per-Host Paths
- Hooks
- Evaluator
- Antigravity Limitations
- Wiki Watch Config
- Style-learning loop
- Modify a plugin
- Add a skill
- Add a plugin
- Named plans
- Coordinator roles (pending)
- Obsidian vault backend (pending)
- GitHub Projects
- Testing Conventions
- Releasing Conventions
- Design Docs