mind-cli 0.9.0

A manager for agent tooling (skills, agents, rules, tools) that melds arbitrary git repos and links items into your agent directories.
# Cross-harness lobes

Linking installed items into agent homes other than Claude's (`~/.claude`), so a
melded skill or agent is discovered by Codex CLI, Gemini CLI, and Antigravity as
well.

## Motivation

The `SKILL.md` "Agent Skills" format and the markdown-with-frontmatter subagent
format became cross-tool conventions (maintained at agentskills.io; the
instruction-file side, `AGENTS.md`, moved to the Linux Foundation's AAIF). Several
harnesses now discover skills and agents from the same on-disk shapes mind
already produces. So mind can link into those homes with no layout transform; the
only new machinery is choosing which homes get which kinds.

## Layout compatibility

mind links a skill as `<lobe>/skills/<name>` and an agent as
`<lobe>/agents/<name>.md`, where the lobe is the parent of `skills/` / `agents/`
(see storage.md STO-2). Those are exactly the cross-tool conventions:

| Harness | Skills dir | Agents dir | mind lobe (parent) |
|---------|------------|------------|--------------------|
| Claude Code | `~/.claude/skills/<n>/SKILL.md` | `~/.claude/agents/<n>.md` | `~/.claude` |
| Gemini CLI | `~/.gemini/skills/` (or `~/.agents/skills/` alias) | `~/.gemini/agents/*.md` | `~/.gemini` |
| Codex CLI | `~/.agents/skills/` (native user path; `$CODEX_HOME` toggles, not discovery) | (subagents) | `~/.agents` |
| Antigravity (IDE) | `~/.gemini/config/skills/` | - | `~/.gemini/config` |

`~/.agents/` is the emerging vendor-neutral alias: Codex reads it as its user
skills path, Gemini reads it as a higher-precedence alias, and the standard
installer targets it. One `~/.agents` lobe therefore serves multiple harnesses.

Footgun to preserve in the preset table: the Antigravity *CLI* (distinct from the
IDE) uses `~/.gemini/antigravity-cli/skills/` for global and `<root>/.agent/skills/`
(singular `.agent`) for project scope - not the IDE's `~/.gemini/config/skills/`.

`rules` (`rules/<name>.md`) have no cross-tool directory equivalent: the analog is
a single concatenated context file (`AGENTS.md` / `GEMINI.md`), not a directory of
per-rule files. Rules stay Claude-only here; an `AGENTS.md`-writer is out of scope.

## Requirements

- `HARN-1` A lobe may carry a `kinds` filter (a subset of `skill`, `agent`,
  `rule`, `tool`). Only items of a listed kind are linked into that lobe; an absent
  filter means all kinds (the current behavior, so existing config is unchanged).
  Linking an item into a lobe whose `kinds` excludes its kind is a no-op for that
  lobe, not an error.
- `HARN-2` An item's manifest `links` (STO-21) records only the lobes that
  actually received a link, i.e. lobes whose `kinds` admit the item's kind.
  `forget`, `upgrade`, and `introspect` operate on the recorded links, so a
  `kinds`-filtered lobe is never expected to hold a link it was never given.
- `HARN-3` Skills and agents are linked into a non-Claude lobe with no content
  transform: the layouts (`skills/<n>/SKILL.md`, `agents/<n>.md`) already match the
  cross-tool conventions. Rules are Claude-only and are never linked into a lobe
  added via a non-Claude preset.
- `HARN-4` `config lobes add --preset <name>` adds a lobe with the preset's parent
  path and `kinds`. Presets: `gemini` (`~/.gemini`, skill+agent), `codex`
  (`~/.agents`, skill), `antigravity` (`~/.gemini/config`, skill), `antigravity-cli`
  (`~/.gemini/antigravity-cli`, skill), `universal` (`~/.agents`, skill). A preset
  honors the `CLAUDE_HOME`-style overrides where applicable and resolves `~`/relative
  paths to absolute (STO-16).
- `HARN-5` Adding non-Claude lobes is opt-in by auto-detect-and-prompt: a setup
  path detects which known harness dirs exist on the machine and offers to add the
  matching presets, but never adds one without confirmation. The default lobe set
  is unchanged (`~/.claude` only, STO-14/STO-15); detection never mutates config on
  its own.
- `HARN-6` mind links the skill/agent files verbatim. Frontmatter portability
  across harnesses (e.g. Gemini's `mcp_*` tool-permission wildcards vs Claude's
  `tools:` schema) is the author's responsibility; mind does not rewrite
  frontmatter to fit a target harness. This is an explicit non-goal.

## Documentation map

Places that explain lobes / agent homes and reference this feature.

- `spec/storage.md` (STO-2, STO-14): note the `kinds` filter on a lobe and that
  the skill/agent layouts double as the cross-tool conventions. `spec/cli.md`: the
  `config lobes add --preset` flag and the auto-detect-and-prompt behavior, under
  the existing `config lobes` section (CLI-110..113).
- `docs/src/configuration.md` "Agent homes (lobes)": the canonical user-facing
  explanation. Add the preset list with the per-harness path table, the `kinds`
  filter, and the auto-detect prompt. This is the primary doc; others point here.
- `docs/src/commands.md`: extend the `config lobes` row with `--preset` and the
  detected-home prompt.
- `docs/src/quickstart.md` and `README.md`: the "install one into each agent home"
  lines should mention that homes can be Gemini/Codex/Antigravity, not just Claude.
- `docs/src/introduction.md` (mental model) and `docs/src/troubleshooting.md`: a
  note on cross-harness homes and the rules-are-Claude-only / frontmatter-portability
  caveats (HARN-3, HARN-6).
- `docs/landing/index.html`: the landing page, if lobes/agent homes are described
  there.
- `examples/multi-lobe/`: extend (or add a sibling example) to show a non-Claude
  preset lobe with a `kinds` filter.
- Generated artifacts (regenerate, do not hand-edit): the man page and shell
  completions (CLI-120, CLI-121) from the clap surface in `src/cli.rs`; the mdBook
  under `docs/book/` from `docs/src/`. `CHANGELOG.md` gets an entry at release.
- Project meta: `CLAUDE.md` and the root doc comment in `src/paths.rs` describe
  `Paths::agent_homes` and the default `~/.claude`; update both to mention the
  `kinds` filter and presets.