@skill-map/cli 0.35.0 → 0.37.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:
@@ -965,11 +967,21 @@ Tell the tester:
965
967
  >
966
968
  > Fijate también que los conectores tienen distinta transparencia.
967
969
  > Skill-map estima qué tan seguro está de cada conexión: un
968
- > `[text](file.md)` que apunta a un archivo concreto (95% de
969
- > confianza) se ve sólido, mientras que un `@handle` suelto sin
970
- > extensión (50%, ambiguo) se ve translúcido. La opacidad cuenta
971
- > esa historia de un vistazo: cuanto más sólido, más confiable es
972
- > la inferencia.
970
+ > `[text](file.md)` que apunta a un archivo concreto (1.00 de
971
+ > confianza, ahora que el target existe) se ve sólido, mientras que
972
+ > un `@handle` que no resuelve a ningún nodo se queda en 0.5
973
+ > (ambiguo) y se ve translúcido. La opacidad cuenta esa historia de
974
+ > un vistazo: cuanto más sólido, más confiable es la inferencia, y
975
+ > el badge numérico arriba del conector lo dice explícito.
976
+ >
977
+ > 🆕 Mirá también las cards de los nodos: ahora cada nodo muestra
978
+ > dos pequeñas chips abajo a la izquierda, ↑ y ↓, que cuentan los
979
+ > links entrantes y salientes. `notes/todo` ahora marca 0↑ / 4↓
980
+ > (es el hub que apunta a cuatro nodos), y los cuatro nodos
981
+ > apuntados muestran 1↑ cada uno. Pasale el mouse a una chip y se
982
+ > abre un tooltip con el desglose por kind (`mentions`, `invokes`,
983
+ > `references`). Es la misma info que el grafo, resumida en la
984
+ > card por si trabajás desde la list view.
973
985
  >
974
986
  > Confirm. If a connector is missing, refresh the browser and tell
975
987
  > me.
@@ -1094,21 +1106,39 @@ Mark `6-live-ignore: done`.
1094
1106
  > 🔀 **Multi-provider**: this demo ran with the
1095
1107
  > `<provider>` provider (base dir `<provider_dir>`). Skill-map
1096
1108
  > 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.
1109
+ > the open agent-skills standard (also used by Google's Antigravity
1110
+ > CLI, which retired Gemini CLI in May 2026) lives under
1111
+ > `.agents/skills/` (kind: skill), OpenAI Codex lives under
1112
+ > `.codex/agents/*.toml` (TOML sub-agents), and the `antigravity`
1113
+ > lens is metadata-only (no kinds of its own; selecting it just
1114
+ > tags the project as Antigravity-flavoured). Drop a `.md` (or
1115
+ > `.toml` for Codex) in any of those and the same watcher picks it
1116
+ > up, the same connectors light up, the same rules run.
1103
1117
  >
1104
1118
  > 💡 **Tip avanzado (no toques si no querés rescanear)**: en
1105
1119
  > 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/`).
1120
+ > selecciona qué lente aplica a TODO el grafo (Claude / Antigravity
1121
+ > / Codex / Cursor / agent-skills). Cambiarlo limpia el scan
1122
+ > persistido y rearma el grafo desde cero bajo el nuevo lente, así
1123
+ > que sirve cuando tu proyecto migra de runtime. Por default
1124
+ > skill-map autodetecta el lente correcto al primer scan (en este
1125
+ > caso, `claude` porque hay `.claude/`); si tu repo tiene markers
1126
+ > ambiguos (`.claude/` + `.codex/` al mismo tiempo) `sm scan` te
1127
+ > pregunta cuál usar, o aborta con exit 2 si pasás `--yes` y todavía
1128
+ > está ambiguo. El lente `antigravity` no se auto-detecta (Google
1129
+ > adoptó el open standard sin marker propio); seleccionarlo es
1130
+ > manual.
1131
+ >
1132
+ > 🛡️ **Red de seguridad**: si en algún momento desactivás el bundle
1133
+ > al que apunta el lente activo (por ejemplo `sm plugins disable
1134
+ > claude` con `activeProvider: claude`), el próximo `sm scan` te
1135
+ > avisa con un warning explícito ("the active lens points at a
1136
+ > disabled bundle") y te ofrece los dos arreglos: reactivar el
1137
+ > bundle o cambiar el lente. Lo mismo si la DB local quedó vieja
1138
+ > respecto del binario, el open de SQLite detecta el skew de
1139
+ > versiones y te dice qué correr para refrescarla. Tip: si ves uno
1140
+ > de esos warnings durante el tutorial, NO los ignores, son la
1141
+ > señal de que el grafo no refleja lo que vos esperás.
1112
1142
  >
1113
1143
  > If you want, **we can keep going deeper**: I'll walk you through
1114
1144
  > the CLI verbs and flags (`list`, `graph`, `export`, `orphans`,
@@ -1228,6 +1258,17 @@ We'll plant one and watch it surface, that's the easiest way to
1228
1258
  internalise that it is an **issue** on a node, NOT a graph
1229
1259
  connector and NOT the same thing as an "orphan".
1230
1260
 
1261
+ > ℹ️ `broken-ref` is one of ~16 built-in rules. Others surface
1262
+ > different families: `core/reserved-name` (a file shadows a vendor
1263
+ > built-in like `/help`), `core/self-loop` (a node links to itself),
1264
+ > `core/redundant-target-reference` (two surfaces in the same body
1265
+ > point at the same target), `core/signal-collision` (two extractors
1266
+ > detected the SAME byte range with different interpretations, the
1267
+ > resolver picked one and the warning explains who lost and why).
1268
+ > Same `sm check --analyzers <id>` pattern works for any of them.
1269
+ > We will not plant fixtures for the rest, the broken-ref demo
1270
+ > covers the mechanics.
1271
+
1231
1272
  Ask the tester to **append one bullet** to `notes/todo.md`:
1232
1273
 
1233
1274
  ```markdown
@@ -1399,6 +1440,28 @@ the id to `disable` / `enable`. Per-extension toggles only work on
1399
1440
  extension-granularity bundles like `core`; the `claude` bundle is
1400
1441
  bundle-granularity and only accepts the bundle id.
1401
1442
 
1443
+ **Multiple ids in one call**: both verbs accept any number of ids
1444
+ in a single invocation, e.g. `sm plugins disable antigravity openai
1445
+ agent-skills` or `sm plugins enable claude core/external-url-counter`.
1446
+ Batches are all-or-nothing: if any id is unknown or
1447
+ granularity-mismatched the entire call aborts before any
1448
+ `config_plugins` write, so the user never lands in a partial state.
1449
+ Repeated ids are deduped; locked plugins inside a batch are
1450
+ silently skipped (matching `--all` semantics).
1451
+
1452
+ ### Reserved names (e.g. `commands/help.md`)
1453
+
1454
+ If the tester ever names a file after a built-in (`/help`,
1455
+ `/clear`, `/init`, `/agents`, `/model`, or one of the documented
1456
+ agent reservations like `general-purpose`), `sm check` surfaces a
1457
+ `reserved-name` warning. The vendor runtime ignores user-owned
1458
+ files that shadow its built-ins, so the warning is not a bug,
1459
+ it's skill-map telling the operator "Claude will never invoke this
1460
+ file; pick another name". Incoming links to the shadowed file
1461
+ resolve at confidence `0.1` instead of `1.0`, so the graph also
1462
+ visually de-emphasises them. Rename the file and the warning
1463
+ clears on the next scan.
1464
+
1402
1465
  ### `sm sidecar annotate` vs `sm bump` vs `sm sidecar refresh`
1403
1466
 
1404
1467
  - `sm sidecar annotate` is the scaffold verb (creates a fresh
@@ -1432,7 +1495,7 @@ sm tutorial master
1432
1495
 
1433
1496
  > That drops `sm-master.md` in the cwd. Then load it from your
1434
1497
  > agent (e.g. `ejecutá @sm-master.md` in Claude Code, or the
1435
- > equivalent `@`-mention in Gemini CLI) and the deep-dive starts.
1498
+ > equivalent `@`-mention in Antigravity CLI) and the deep-dive starts.
1436
1499
  >
1437
1500
  > To delete everything THIS tutorial left behind, if the cwd was a
1438
1501
  > dedicated dir:
@@ -1472,9 +1535,9 @@ anything**:
1472
1535
 
1473
1536
  2. If the cwd matches, read `tutorial.provider` from the yaml and
1474
1537
  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:
1538
+ actually present, since agent-skills / Antigravity skip some).
1539
+ Then show the tester the exact list of paths you'll delete and
1540
+ ask for an explicit typed confirmation:
1478
1541
 
1479
1542
  > Start over will delete these paths from `<cwd>`:
1480
1543
  >
@@ -1483,9 +1546,9 @@ anything**:
1483
1546
  > findings.md
1484
1547
  > .skillmapignore
1485
1548
  > .skill-map/
1486
- > <provider_dir>/agents/demo-agent.md (claude, gemini)
1549
+ > <provider_dir>/agents/demo-agent.md (claude only)
1487
1550
  > <provider_dir>/commands/demo-command.md (claude only)
1488
- > <provider_dir>/skills/demo-skill/ (all three)
1551
+ > <provider_dir>/skills/demo-skill/ (both providers)
1489
1552
  > notes/todo.md
1490
1553
  > notes/demo-guideline.md
1491
1554
  > notes/private-credentials.md