@skill-map/cli 0.35.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # skill-map
2
2
 
3
- Map, inspect, and manage collections of interrelated Markdown files, skills, agents, commands, hooks, and notes that compose AI-agent ecosystems (Claude Code, Codex, Gemini, Copilot, docs sites).
3
+ Map, inspect, and manage collections of interrelated Markdown files, skills, agents, commands, hooks, and notes that compose AI-agent ecosystems (Claude Code, Codex, Antigravity, Copilot, docs sites).
4
4
 
5
5
  **Status**: pre-1.0, active development. Steps 0a–9 are complete (spec, kernel, plugin loader, full CLI surface, plugin author UX). Step 14 (Full Web UI) is in progress with sub-steps 14.1–14.4 closed (Hono BFF + REST + WebSocket broadcaster + reactive UI); 14.5–14.7 (polish + bundle budgets + responsive scope) still pending. The full deterministic scan, check, history, orphans, plugin authoring, and `sm serve` are live; the optional LLM layer (Phase B / `v0.8.0`) lands after Step 14 closes. See [`ROADMAP.md`](../ROADMAP.md) for the canonical completeness marker and full execution plan. Releases follow the standard changeset flow.
6
6
 
@@ -116,7 +116,7 @@ must internalise before talking to the tester:
116
116
  styled left bar): emit tester-facing messages with `> ` on
117
117
  every line, including blank lines inside a multi-paragraph
118
118
  block.
119
- - `provider != claude` (Gemini CLI, agent-skills, any other
119
+ - `provider != claude` (Antigravity CLI, agent-skills, any other
120
120
  host, most non-Claude renderers show `>` as a literal
121
121
  character): emit **plain prose**, NO `> ` prefix anywhere.
122
122
  Sample messages in this SKILL are written in the Claude variant
@@ -191,8 +191,7 @@ Same logic as `sm-tutorial`'s §Provider detection. Recap:
191
191
  | Provider | Base dir | Kinds claimed | Env-var signal |
192
192
  |----------------|-----------------------|------------------------------|-------------------------------------------------|
193
193
  | `claude` | `.claude/` | `agent`, `command`, `skill` | `CLAUDECODE=1` OR `AI_AGENT` starts with `claude-code` |
194
- | `gemini` | `.gemini/` | `agent`, `skill` | `GEMINI_CLI=1` OR `AI_AGENT` starts with `gemini` |
195
- | `agent-skills` | `.agents/skills/` | `skill` only | no formal env yet, opt-in if the tester asks |
194
+ | `agent-skills` | `.agents/skills/` | `skill` only (also the on-disk home for Google's Antigravity CLI, which replaced the Gemini CLI on 2026-05-19 and adopted this open standard) | no formal env yet, opt-in if the tester asks |
196
195
 
197
196
  **During pre-flight**, inspect the env, pick the provider, and
198
197
  persist it into `master-state.yml.master.provider`. Fallback to
@@ -203,14 +202,13 @@ host-dependent rendering rule).
203
202
  **Global substitution rule**: wherever this file (or any tour
204
203
  file under `references/tour-*.md`) says `.claude/<…>`, swap it
205
204
  for the detected `<provider_dir>`. Skip any fixture file or step
206
- whose kind is not in the provider's supported set (`gemini`: skip
207
- the `master-command`-style stub if a tour references one;
208
- `agent-skills`: only the skill + the markdown note are valid).
205
+ whose kind is not in the provider's supported set (`agent-skills`
206
+ / Antigravity: only the skill + the markdown note are valid).
209
207
 
210
208
  **Reality check (don't mention)**: this skill ships at
211
209
  `.claude/skills/sm-master/`, so in practice Claude Code is the
212
210
  only host today. The detection wiring is here so mirrored skills
213
- in `.gemini/skills/` / `.agents/skills/` reuse it as-is.
211
+ in `.agents/skills/` reuse it as-is.
214
212
 
215
213
  ## Pre-flight
216
214
 
@@ -344,8 +342,8 @@ nodes are enough. Read `references/fixture-templates.md` for the
344
342
  verbatim layout and file contents, then write each file to the cwd
345
343
  under the detected `<provider_dir>` (per §Provider detection).
346
344
  **Skip files whose kind is not in the provider's supported set**:
347
- on `gemini` keep agent + skill + note; on `agent-skills` keep only
348
- skill + note (no agent kind there). Translate the natural-language
345
+ on `agent-skills` / Antigravity keep only skill + note (no agent
346
+ kind there). Translate the natural-language
349
347
  prose to the tester's language; keep paths, frontmatter keys,
350
348
  identifiers, and link targets in English.
351
349
 
@@ -392,7 +390,7 @@ Read the `## State YAML` block at the bottom of
392
390
  `references/fixture-templates.md` and write it to
393
391
  `<cwd>/master-state.yml`. Substitute the four placeholders:
394
392
  `<ISO-8601 now>`, `<output of pwd>`, `<output of sm version>`,
395
- and the resolved `provider` (`claude` / `gemini` / `agent-skills`).
393
+ and the resolved `provider` (`claude` / `agent-skills` / `antigravity`).
396
394
 
397
395
  ## Menu
398
396
 
@@ -644,8 +642,8 @@ anything**:
644
642
 
645
643
  2. If the cwd matches, read `master.provider` from the yaml and
646
644
  use it to compute `<provider_dir>` plus the subset of files
647
- actually created (gemini and agent-skills drop some). Show the
648
- resolved list to the tester and ask for the literal
645
+ actually created (agent-skills / Antigravity drop some). Show
646
+ the resolved list to the tester and ask for the literal
649
647
  `yes, wipe` confirmation:
650
648
 
651
649
  > Start over will delete these paths from `<cwd>`:
@@ -655,8 +653,8 @@ anything**:
655
653
  > findings.md
656
654
  > .skillmapignore
657
655
  > .skill-map/
658
- > <provider_dir>/agents/master-agent.md (claude, gemini)
659
- > <provider_dir>/skills/master-skill/ (all three)
656
+ > <provider_dir>/agents/master-agent.md (claude only)
657
+ > <provider_dir>/skills/master-skill/ (both providers)
660
658
  > .skill-map/plugins/ (if any tour created some)
661
659
  > notes/ideas.md
662
660
  > ```
@@ -7,21 +7,22 @@ cwd at boot, plus the initial `master-state.yml` template.
7
7
  ## Fixture layout (per provider)
8
8
 
9
9
  Per §Provider detection in `SKILL.md`, the `<provider_dir>`
10
- placeholder resolves to `.claude/`, `.gemini/`, or
11
- `.agents/skills/` depending on the detected runtime. Drop any
12
- file whose kind is not in the provider's supported set: on
13
- `gemini` the agent + skill + note are valid; on `agent-skills`
14
- only the skill + note are valid; on `claude` (default) all
15
- three apply.
10
+ placeholder resolves to `.claude/` or `.agents/skills/` depending
11
+ on the detected runtime (Google's Antigravity CLI, which replaced
12
+ Gemini CLI on 2026-05-19, adopted the same open standard as
13
+ `agent-skills`, so both share the `.agents/skills/` layout). Drop
14
+ any file whose kind is not in the provider's supported set: on
15
+ `agent-skills` / Antigravity only the skill + note are valid;
16
+ on `claude` (default) all three apply.
16
17
 
17
18
  Canonical layout (substitute `<provider_dir>` per detection):
18
19
 
19
20
  ```
20
21
  <cwd>/
21
22
  ├── <provider_dir>/
22
- │ ├── agents/ (claude, gemini)
23
+ │ ├── agents/ (claude only)
23
24
  │ │ └── master-agent.md
24
- │ └── skills/ (all three)
25
+ │ └── skills/ (both providers)
25
26
  │ └── master-skill/
26
27
  │ └── SKILL.md
27
28
  ├── notes/
@@ -138,7 +139,7 @@ master:
138
139
  started_at: "<ISO-8601 now>"
139
140
  cwd: "<output of pwd>"
140
141
  sm_version: "<output of sm version>"
141
- provider: "<claude | gemini | agent-skills>" # filled from §Provider detection
142
+ provider: "<claude | agent-skills | antigravity>" # filled from §Provider detection
142
143
  tours:
143
144
  # Add a new tour by appending another entry here, mirroring the
144
145
  # shape below: status, estimated_min, and a steps[] array whose
@@ -70,7 +70,7 @@ Mark `tour-1-intro: done`.
70
70
  > Decides what kind each `.md` file is. The `claude` provider,
71
71
  > for instance, walks `.claude/` and types each file it finds
72
72
  > (agent, command, or skill).
73
- > Examples: `claude`, `gemini`, `agent-skills`.
73
+ > Examples: `claude`, `antigravity`, `openai`, `agent-skills`.
74
74
  >
75
75
  > 🔍 **extractor**
76
76
  > Reads a node's body and emits structured findings (links,
@@ -176,8 +176,8 @@ Mark `tour-3-explore: done`.
176
176
  > All set. You now know:
177
177
  >
178
178
  > - What plugins, extensions, bundles, and the six kinds are.
179
- > - Four bundles ship pre-installed (`claude`, `gemini`,
180
- > `agent-skills`, `core`).
179
+ > - Five bundles ship pre-installed (`claude`, `antigravity`,
180
+ > `openai`, `agent-skills`, `core`).
181
181
  > - How to list, inspect, diagnose, and toggle extensions from
182
182
  > the CLI (and the same lives in the UI).
183
183
  >
@@ -112,7 +112,7 @@ optional second phase (~20-30 min) covering the rest of the CLI.
112
112
  a styled left bar): emit tester-facing messages with `> `
113
113
  prefix on every line, including blank lines inside a
114
114
  multi-paragraph block (the standard Markdown blockquote shape).
115
- - `provider != claude` (Gemini CLI, agent-skills, any other
115
+ - `provider != claude` (Antigravity CLI, agent-skills, any other
116
116
  host: most non-Claude renderers show `>` as a literal
117
117
  character and the visual styling is lost): emit **plain
118
118
  prose**, NO `> ` prefix anywhere.
@@ -214,9 +214,9 @@ its own on-disk convention:
214
214
  | Provider | Base dir | Kinds it claims | Detect via env var(s) |
215
215
  |----------------|-----------------------|--------------------------------|------------------------------------------------|
216
216
  | `claude` | `.claude/` | `agent`, `command`, `skill` | `CLAUDECODE=1` OR `AI_AGENT` starts with `claude-code` |
217
- | `gemini` | `.gemini/` | `agent`, `skill` | `GEMINI_CLI=1` OR `AI_AGENT` starts with `gemini` (any equivalent vendor var) |
217
+ | `antigravity` | none (metadata-only) | none — Antigravity adopted the open standard, skills land under `.agents/skills/` and route through `agent-skills` | no formal env detection yet; Antigravity CLI replaced Gemini CLI on 2026-05-19 and reuses the open-standard layout, so detection collapses into the `agent-skills` row |
218
218
  | `openai` | `.codex/` | `agent` (`.codex/agents/*.toml`) | no formal env detection yet; the OpenAI Codex CLI does not host this tutorial today (this SKILL.md lives under `.claude/skills/`), so the row is informational. Add when `.codex/skills/<name>/SKILL.md` mirroring lands. |
219
- | `agent-skills` | `.agents/skills/` | `skill` only (vendor-neutral) | no formal env yet; treat as opt-in if the tester says so |
219
+ | `agent-skills` | `.agents/skills/` | `skill` only (vendor-neutral, also the on-disk home for Antigravity skills) | no formal env yet; treat as opt-in if the tester says so |
220
220
 
221
221
  **Decision logic, applied silently during pre-flight**:
222
222
 
@@ -224,24 +224,29 @@ its own on-disk convention:
224
224
  2. If a Claude-flavoured var is present → `provider = claude`,
225
225
  `<provider_dir> = .claude`, supported kinds = `{agent, command,
226
226
  skill}`.
227
- 3. Else if a Gemini-flavoured var is present `provider = gemini`,
228
- `<provider_dir> = .gemini`, supported kinds = `{agent, skill}`.
227
+ 3. Else if the tester says they use Antigravity OR agent-skills
228
+ (no env var, opt-in) `provider = agent-skills`,
229
+ `<provider_dir> = .agents`, supported kinds = `{skill}`. The
230
+ `antigravity` lens is the same fixture (Google adopted the open
231
+ standard); offer it as a manual `sm config set activeProvider
232
+ antigravity` after the fixture is created if the tester wants
233
+ Antigravity-flavoured lens identity in the UI.
229
234
  4. Else → **fallback to claude** AND surface one short message
230
235
  to the tester so they can correct course (render with `> ` if
231
236
  the fallback turns out to actually be Claude, plain prose if
232
- they correct you to Gemini or agent-skills):
237
+ they correct you to agent-skills / Antigravity):
233
238
 
234
239
  > Heads up: I couldn't detect which agent runtime is hosting
235
240
  > me, so I'll demo skill-map's Claude provider (`.claude/`).
236
- > If you actually use Gemini or agent-skills, tell me and I
237
- > swap the fixture to `.gemini/` or `.agents/skills/`.
241
+ > If you actually use Antigravity or agent-skills, tell me and
242
+ > I swap the fixture to `.agents/skills/`.
238
243
 
239
244
  **Reality check (do not mention to the tester unless asked)**:
240
245
  this SKILL.md lives at `.claude/skills/sm-tutorial/SKILL.md`, so
241
246
  in practice only Claude Code loads it today. The detection logic
242
247
  is wired so that the day mirrored skills land at
243
- `.gemini/skills/sm-tutorial/` and `.agents/skills/sm-tutorial/`,
244
- they reuse this same body and the fixture follows automatically.
248
+ `.agents/skills/sm-tutorial/`, they reuse this same body and the
249
+ fixture follows automatically.
245
250
 
246
251
  ### Global substitution rule
247
252
 
@@ -251,11 +256,9 @@ because that is the 100% case today. **Wherever you see
251
256
  the fixture, when showing the tester commands, when computing the
252
257
  expected node count, and when listing files for the start-over
253
258
  wipe.** Also: **skip any sub-step whose kind is not in the
254
- provider's supported set** (e.g. on `gemini`, skip the
255
- `demo-command` file in Step 3 and the `notes/todo → demo-command`
256
- connector in Step 5; on `agent-skills`, skip both `demo-agent`
257
- and `demo-command` and demo only the skill + the two markdown
258
- notes plus the connectors that target them).
259
+ provider's supported set** (e.g. on `agent-skills` / Antigravity,
260
+ skip both `demo-agent` and `demo-command` and demo only the skill
261
+ plus the two markdown notes plus the connectors that target them).
259
262
 
260
263
  Persist `provider` into `tutorial-state.yml` (top-level
261
264
  `provider: <id>` field) so a resumed session does not have to
@@ -551,7 +554,7 @@ tutorial:
551
554
  started_at: "<ISO-8601 now>"
552
555
  cwd: "<output of pwd>"
553
556
  sm_version: "<output of sm version>"
554
- provider: "<claude | gemini | agent-skills>" # filled from §Provider detection
557
+ provider: "<claude | agent-skills | antigravity>" # filled from §Provider detection
555
558
  tester:
556
559
  level: 2 # default; only asked if they advance into the deep-dive
557
560
  route:
@@ -763,9 +766,9 @@ hub in Step 5 will point at via a real `references` link.
763
766
  Create these four files (with `Write`), exactly in this order.
764
767
  Per §Provider detection, **substitute `.claude/` with the
765
768
  detected `<provider_dir>` and skip files whose kind is not in the
766
- provider's supported set** (`gemini`: skip `demo-command`, three
767
- new nodes land; `agent-skills`: skip both `demo-agent` and
768
- `demo-command`, only the skill + the two markdown notes remain).
769
+ provider's supported set** (`agent-skills` / Antigravity: skip
770
+ both `demo-agent` and `demo-command`, only the skill + the two
771
+ markdown notes remain).
769
772
  Adjust the node count, the "four new nodes" message, and the file
770
773
  list shown to the tester in the sample below accordingly:
771
774
 
@@ -930,10 +933,9 @@ because both the command and the skill are addressed by slash).
930
933
  Apply with `Edit` on `notes/todo.md` (do not rewrite the file).
931
934
  Per §Provider detection, **substitute `.claude/` with the detected
932
935
  `<provider_dir>` and drop any bullet whose target node was not
933
- created in Step 3** (on `gemini` there is no command → skip the
934
- `/demo-command` bullet, three connectors land; on `agent-skills`
935
- there is no agent and no command → skip the `@demo-agent` and
936
- `/demo-command` bullets, two connectors land).
936
+ created in Step 3** (on `agent-skills` / Antigravity there is no
937
+ agent and no command skip the `@demo-agent` and `/demo-command`
938
+ bullets, two connectors land).
937
939
 
938
940
  **Edit `notes/todo.md`**: append these bullets after the
939
941
  `# Pending` heading:
@@ -1094,21 +1096,25 @@ Mark `6-live-ignore: done`.
1094
1096
  > 🔀 **Multi-provider**: this demo ran with the
1095
1097
  > `<provider>` provider (base dir `<provider_dir>`). Skill-map
1096
1098
  > walks three other built-in conventions with identical mechanics:
1097
- > Gemini lives under `.gemini/` (kinds: agent + skill), OpenAI
1098
- > Codex lives under `.codex/agents/*.toml` (TOML sub-agents), and
1099
- > the open agent-skills standard lives under `.agents/skills/`
1100
- > (kind: skill). Drop a `.md` (or `.toml` for Codex) in any of
1101
- > those and the same watcher picks it up, the same connectors
1102
- > light up, the same rules run.
1099
+ > the open agent-skills standard (also used by Google's Antigravity
1100
+ > CLI, which retired Gemini CLI in May 2026) lives under
1101
+ > `.agents/skills/` (kind: skill), OpenAI Codex lives under
1102
+ > `.codex/agents/*.toml` (TOML sub-agents), and the `antigravity`
1103
+ > lens is metadata-only (no kinds of its own; selecting it just
1104
+ > tags the project as Antigravity-flavoured). Drop a `.md` (or
1105
+ > `.toml` for Codex) in any of those and the same watcher picks it
1106
+ > up, the same connectors light up, the same rules run.
1103
1107
  >
1104
1108
  > 💡 **Tip avanzado (no toques si no querés rescanear)**: en
1105
1109
  > Settings → Project hay un dropdown **Active provider** que
1106
- > selecciona qué lente aplica a TODO el grafo (Claude / Gemini /
1107
- > Codex / Cursor). Cambiarlo limpia el scan persistido y rearma
1108
- > el grafo desde cero bajo el nuevo lente, así que sirve cuando
1109
- > tu proyecto migra de runtime. Por default skill-map autodetecta
1110
- > el lente correcto al primer scan (en este caso, `claude`
1111
- > porque hay `.claude/`).
1110
+ > selecciona qué lente aplica a TODO el grafo (Claude / Antigravity
1111
+ > / Codex / Cursor / agent-skills). Cambiarlo limpia el scan
1112
+ > persistido y rearma el grafo desde cero bajo el nuevo lente, así
1113
+ > que sirve cuando tu proyecto migra de runtime. Por default
1114
+ > skill-map autodetecta el lente correcto al primer scan (en este
1115
+ > caso, `claude` porque hay `.claude/`). El lente `antigravity` no
1116
+ > se auto-detecta (Google adoptó el open standard sin marker
1117
+ > propio); seleccionarlo es manual.
1112
1118
  >
1113
1119
  > If you want, **we can keep going deeper**: I'll walk you through
1114
1120
  > the CLI verbs and flags (`list`, `graph`, `export`, `orphans`,
@@ -1432,7 +1438,7 @@ sm tutorial master
1432
1438
 
1433
1439
  > That drops `sm-master.md` in the cwd. Then load it from your
1434
1440
  > agent (e.g. `ejecutá @sm-master.md` in Claude Code, or the
1435
- > equivalent `@`-mention in Gemini CLI) and the deep-dive starts.
1441
+ > equivalent `@`-mention in Antigravity CLI) and the deep-dive starts.
1436
1442
  >
1437
1443
  > To delete everything THIS tutorial left behind, if the cwd was a
1438
1444
  > dedicated dir:
@@ -1472,9 +1478,9 @@ anything**:
1472
1478
 
1473
1479
  2. If the cwd matches, read `tutorial.provider` from the yaml and
1474
1480
  use it to compute `<provider_dir>` (and the subset of files
1475
- actually present, since gemini and agent-skills skip some). Then
1476
- show the tester the exact list of paths you'll delete and ask
1477
- for an explicit typed confirmation:
1481
+ actually present, since agent-skills / Antigravity skip some).
1482
+ Then show the tester the exact list of paths you'll delete and
1483
+ ask for an explicit typed confirmation:
1478
1484
 
1479
1485
  > Start over will delete these paths from `<cwd>`:
1480
1486
  >
@@ -1483,9 +1489,9 @@ anything**:
1483
1489
  > findings.md
1484
1490
  > .skillmapignore
1485
1491
  > .skill-map/
1486
- > <provider_dir>/agents/demo-agent.md (claude, gemini)
1492
+ > <provider_dir>/agents/demo-agent.md (claude only)
1487
1493
  > <provider_dir>/commands/demo-command.md (claude only)
1488
- > <provider_dir>/skills/demo-skill/ (all three)
1494
+ > <provider_dir>/skills/demo-skill/ (both providers)
1489
1495
  > notes/todo.md
1490
1496
  > notes/demo-guideline.md
1491
1497
  > notes/private-credentials.md