From 06da92e3f936ee08e24e564f9d67dad73083c964 Mon Sep 17 00:00:00 2001 From: datarian Date: Sun, 14 Jun 2026 21:39:43 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20wire=20Gemini=20CLI=20=E2=80=94=20GEMIN?= =?UTF-8?q?I.md=20symlink=20+=20native=20.agents/skills?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gemini CLI reads `.agents/skills/` natively (documented workspace-skills alias), so no skills symlink is needed — and one would risk double-discovery. The only gap is the context file: Gemini's default is GEMINI.md, not AGENTS.md. - Add `GEMINI.md` symlink -> `AGENTS.md` (zero-config; Gemini reads GEMINI.md by default), matching the CLAUDE.md pattern. Makes the "CLAUDE.md and GEMINI.md are symlinks to AGENTS.md" claim true. - README: Gemini row -> reads `.agents/skills/` natively + GEMINI.md supplies instructions; note `/skills` enable if a build doesn't auto-enable. - AGENTS.md: group Pi + Cursor + Gemini as native `.agents/skills/` readers. Co-Authored-By: Claude Opus 4.8 --- AGENTS.md | 8 ++++---- GEMINI.md | 1 + README.md | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) create mode 120000 GEMINI.md diff --git a/AGENTS.md b/AGENTS.md index b072980..0b672a8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,10 +32,10 @@ across Claude Code, Gemini CLI, Cursor, and Pi. market analysis, strategy, content generation, PDF render, content/design review) and `swiss-tech-resume-setup`. The two review skills (`resume-content-review`, `resume-design-review`) declare `context: fork` so they review with fresh eyes. -- **Pi and Cursor read `.agents/skills/` natively** (no config — just open/run in a clone). - **Claude Code** uses the `.claude/skills/` symlink into `.agents/skills/` (plus the plugin - manifest). **Gemini CLI** needs a `.gemini/skills/` symlink into `.agents/skills/` (adapter - pending). Either way, edit skills only in `.agents/skills/` — never through a symlink. +- **Pi, Cursor, and Gemini CLI read `.agents/skills/` natively** (no config — just open/run in + a clone; Gemini treats `.agents/skills/` as a workspace-skills alias). **Claude Code** uses + the `.claude/skills/` symlink into `.agents/skills/` (plus the plugin manifest). Edit skills + only in `.agents/skills/` — never through a symlink. - `.claude-plugin/` - Claude Code plugin + marketplace manifests (points `skills` at `.agents/skills/`). - `docs/PERSONAL_PROFILE.md` - **Primary data source** (private, gitignored). Built and diff --git a/GEMINI.md b/GEMINI.md new file mode 120000 index 0000000..47dc3e3 --- /dev/null +++ b/GEMINI.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/README.md b/README.md index c1a8c57..ce74849 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,7 @@ cd CV |-------|-----------------| | **Claude Code** | Install as a plugin (above), or run in a clone — skills resolve via `.claude/skills/` (symlink) and the plugin manifest. | | **Pi** | Run `pi` inside the clone — skills under `.agents/skills/` are auto-discovered (no config). Or install remotely: `pi install git:github.com/datarian/CV` (the root `package.json` declares `pi.skills`). | -| **Gemini CLI** | Symlink `.gemini/skills → ../.agents/skills` and point Gemini at `AGENTS.md` via `.gemini/settings.json`. *(adapter pending)* | +| **Gemini CLI** | Run `gemini` inside the clone — `.agents/skills/` is read natively (workspace-skills alias), and `GEMINI.md` (a symlink to `AGENTS.md`) supplies the instructions. Enable skills with `/skills` if your Gemini build doesn't auto-enable them. | | **Cursor** | Open the clone in Cursor — `.agents/skills/` and `AGENTS.md` are both read natively (no config). | Then ask the same things you would in Claude Code (e.g. *"Build me a Swiss-market resume for