@skill-map/cli 0.67.0 → 0.68.1
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/dist/cli/tutorial/sm-tutorial/SKILL.md +30 -23
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/agents-hub/providers/agent-skills/en/agents-hub.md +2 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/agents-hub/providers/agent-skills/es/agents-hub.md +2 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/content-editor-style/providers/agent-skills/en/content-editor-style.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/content-editor-style/providers/agent-skills/es/content-editor-style.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/providers/agent-skills/en/todo-bullet-guideline.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/providers/agent-skills/en/todo-bullet-guideline2.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/providers/agent-skills/en/todo-bullet-skill.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/providers/agent-skills/es/todo-bullet-guideline.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/providers/agent-skills/es/todo-bullet-guideline2.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/providers/agent-skills/es/todo-bullet-skill.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/manifest.json +9 -4
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/providers/agent-skills/en/__PROVIDER__/skills/publish/SKILL.md +15 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/providers/agent-skills/es/__PROVIDER__/skills/publish/SKILL.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/providers/codex/en/__PROVIDER__/skills/publish/SKILL.md +15 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/providers/codex/es/__PROVIDER__/skills/publish/SKILL.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/providers/agent-skills/en/__PROVIDER__/skills/master-agent/SKILL.md +13 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/providers/agent-skills/es/__PROVIDER__/skills/master-agent/SKILL.md +14 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/providers/codex/en/.codex/agents/master-agent.toml +10 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/providers/codex/es/.codex/agents/master-agent.toml +10 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/agent-skills/en/AGENTS.md +7 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/agent-skills/en/__PROVIDER__/skills/content-editor/SKILL.md +20 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/agent-skills/es/AGENTS.md +7 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/agent-skills/es/__PROVIDER__/skills/content-editor/SKILL.md +20 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/agent-skills/shared/CLAUDE.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/codex/en/.codex/agents/content-editor.toml +19 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/codex/es/.codex/agents/content-editor.toml +19 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/providers/codex/en/.codex/agents/demo-agent.toml +13 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/providers/codex/en/__PROVIDER__/skills/demo-command/SKILL.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/providers/codex/es/.codex/agents/demo-agent.toml +13 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/providers/codex/es/__PROVIDER__/skills/demo-command/SKILL.md +12 -0
- package/dist/cli/tutorial/sm-tutorial/references/_core.md +102 -49
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.json +168 -20
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +85 -19
- package/dist/cli/tutorial/sm-tutorial/references/fixtures.md +6 -7
- package/dist/cli/tutorial/sm-tutorial/references/part-authoring.md +2 -2
- package/dist/cli/tutorial/sm-tutorial/references/part-basic-daily.md +241 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-basic-fundamentals.md +351 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-basic-kickoff.md +285 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/part-daily-loop.md +62 -99
- package/dist/cli/tutorial/sm-tutorial/references/part-fundamentals.md +35 -34
- package/dist/cli/tutorial/sm-tutorial/references/part-mcp.md +3 -6
- package/dist/cli/tutorial/sm-tutorial/references/part-plugins.md +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +198 -26
- package/dist/cli/tutorial/sm-tutorial/references/part-settings.md +19 -15
- package/dist/cli/tutorial/sm-tutorial/scripts/fixtures.js +85 -22
- package/dist/cli/tutorial/sm-tutorial/scripts/lib/paths.js +74 -4
- package/dist/cli/tutorial/sm-tutorial/scripts/state.js +22 -6
- package/dist/cli.js +409 -168
- package/dist/conformance/index.js +42 -2
- package/dist/index.js +43 -30
- package/dist/kernel/index.d.ts +28 -5
- package/dist/kernel/index.js +43 -30
- package/dist/ui/chunk-22EQLC23.js +1845 -0
- package/dist/ui/chunk-3ANNEMV4.js +499 -0
- package/dist/ui/{chunk-5BJGO7GH.js → chunk-3U4QZKU2.js} +4 -4
- package/dist/ui/chunk-3ZAHOYQ7.js +1 -0
- package/dist/ui/{chunk-56CBK7LB.js → chunk-6FGV5O5J.js} +1 -1
- package/dist/ui/chunk-7WMT2LX4.js +1 -0
- package/dist/ui/{chunk-276RLZR4.js → chunk-BSIR3ADF.js} +14 -14
- package/dist/ui/{chunk-FC22ZJQZ.js → chunk-CG25RHMO.js} +1 -1
- package/dist/ui/chunk-EFSC6SOL.js +3 -0
- package/dist/ui/chunk-EJVWTBMV.js +4 -0
- package/dist/ui/chunk-EZI3BXQN.js +1 -0
- package/dist/ui/{chunk-JZ2YF7EL.js → chunk-GUPPOK7U.js} +8 -8
- package/dist/ui/{chunk-CJURGJTN.js → chunk-HLALESGR.js} +1 -1
- package/dist/ui/chunk-I3I4KHR5.js +2 -0
- package/dist/ui/{chunk-BOVJVOLH.js → chunk-I6ED2OW7.js} +1 -1
- package/dist/ui/chunk-JKPG5PO7.js +375 -0
- package/dist/ui/chunk-K3ZRQNN5.js +2 -0
- package/dist/ui/chunk-KHDWXSGR.js +1 -0
- package/dist/ui/{chunk-HEK4PH5A.js → chunk-KMHXNOFZ.js} +1 -1
- package/dist/ui/chunk-KWT7E2RJ.js +16 -0
- package/dist/ui/{chunk-WHZVGOS3.js → chunk-MQSU6EFZ.js} +1 -1
- package/dist/ui/{chunk-43S72FTV.js → chunk-OGEE252A.js} +1 -1
- package/dist/ui/{chunk-J4J42HJ4.js → chunk-PU5OP5RN.js} +1 -1
- package/dist/ui/{chunk-UTRZTB6V.js → chunk-QVG7J2MP.js} +1 -1
- package/dist/ui/chunk-TLMV4LOQ.js +3 -0
- package/dist/ui/chunk-TQBXK5JN.js +1 -0
- package/dist/ui/chunk-Z7SOKILO.js +2 -0
- package/dist/ui/{chunk-WCABR6TI.js → chunk-ZRJ5ZCFR.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/ui/main-R7BIU4HU.js +4 -0
- package/dist/ui/styles-VEGETYWD.css +1 -0
- package/package.json +17 -18
- package/dist/cli/tutorial/sm-tutorial/references/part-connect-harness.md +0 -173
- package/dist/ui/chunk-34ZZDYNQ.js +0 -1
- package/dist/ui/chunk-444BFYGR.js +0 -3
- package/dist/ui/chunk-44VNNUSQ.js +0 -2
- package/dist/ui/chunk-4SG4352Z.js +0 -7
- package/dist/ui/chunk-5ITZXW3A.js +0 -1
- package/dist/ui/chunk-7ANZW2OI.js +0 -499
- package/dist/ui/chunk-BJ6X6WBO.js +0 -4
- package/dist/ui/chunk-CZSLV6YD.js +0 -1
- package/dist/ui/chunk-DLYJHLJX.js +0 -2
- package/dist/ui/chunk-LGFABCIA.js +0 -16
- package/dist/ui/chunk-LPDD2DHE.js +0 -369
- package/dist/ui/chunk-P3SNMV4X.js +0 -2
- package/dist/ui/chunk-S4S5ZMXJ.js +0 -3
- package/dist/ui/chunk-VHEFRMK3.js +0 -1
- package/dist/ui/chunk-X6TRIDBI.js +0 -1845
- package/dist/ui/main-V77F2KZX.js +0 -4
- package/dist/ui/styles-I4ULXD3V.css +0 -1
- /package/dist/ui/{chunk-Y2Z26SRI.js → chunk-5RNLC6V4.js} +0 -0
|
@@ -20,7 +20,7 @@ Two numbering systems coexist; keep them apart:
|
|
|
20
20
|
|
|
21
21
|
- **Internal (authoring only)**: the `order` field in `_manifest.yml`
|
|
22
22
|
and the `# Part N` file headers, 0-based (Part 0 the prologue …
|
|
23
|
-
Part
|
|
23
|
+
Part 4 the CLI deep-dive; `mcp` at Part 5 is parked / hidden). Use it
|
|
24
24
|
in `**Context**:` blocks and author
|
|
25
25
|
notes; NEVER say it to the tester, it is off by one from what they
|
|
26
26
|
see.
|
|
@@ -251,54 +251,103 @@ first kind quoted, the second kind never.
|
|
|
251
251
|
command blocks assume the second terminal is anchored to the
|
|
252
252
|
fixture folder.
|
|
253
253
|
|
|
254
|
-
## Provider detection
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
| Provider |
|
|
260
|
-
|
|
261
|
-
| `claude` | `.claude/`
|
|
262
|
-
| `
|
|
263
|
-
| `
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
254
|
+
## Provider detection (and the track it selects)
|
|
255
|
+
|
|
256
|
+
A skill-map project reads its files through exactly ONE active lens
|
|
257
|
+
(provider). The built-in providers and what each claims:
|
|
258
|
+
|
|
259
|
+
| Provider | Asset layout | Kinds | Connectors that form | Marker | Stability | Track |
|
|
260
|
+
|----------------|-------------------------------------------|--------------------------------|--------------------------------|--------------------|------------------|---------|
|
|
261
|
+
| `claude` | `.claude/` (agents, commands, skills) | agent, command, skill, markdown| `/` invokes, `@` mentions, refs| `.claude/` | stable | rich |
|
|
262
|
+
| `codex` | `.codex/agents/*.toml` + `.agents/skills/`| agent (TOML), skill, markdown | `/` invokes, `@` mentions, refs| `.codex/` | beta | rich |
|
|
263
|
+
| `antigravity` | `.agents/skills/` | skill, markdown | `/` invokes, refs | `.agent/workflows/`| beta | basic |
|
|
264
|
+
| `agent-skills` | `.agents/skills/` | skill, markdown | refs only | `.agents/` | stable (default) | basic |
|
|
265
|
+
|
|
266
|
+
`core/markdown` classifies every orphan `.md` under whatever lens is
|
|
267
|
+
active; it is the universal base, never a selectable lens.
|
|
268
|
+
|
|
269
|
+
**Two tracks, by capability** (the axis is "does the lens have an
|
|
270
|
+
`agent` kind?"):
|
|
271
|
+
|
|
272
|
+
- **rich** (`claude`, `codex`): agents + skills (+ commands on claude),
|
|
273
|
+
wired with `/` invocations and `@` mentions plus markdown references.
|
|
274
|
+
- **basic** (`agent-skills`, `antigravity`): the open-standard family,
|
|
275
|
+
`skill` + `markdown` only, wired with **markdown references**
|
|
276
|
+
(`[text](path)`), the one connection the Agent Skills standard
|
|
277
|
+
documents. No `@`. `/` invocation is an Antigravity-only bonus, it is
|
|
278
|
+
NOT part of the neutral standard, so under the `agent-skills` lens only
|
|
279
|
+
references form.
|
|
280
|
+
|
|
281
|
+
Why references and not slash on the open standard: the Agent Skills
|
|
282
|
+
spec (agentskills.io) activates a skill by its `description` and
|
|
283
|
+
connects files by relative markdown links; it has no `/`-invocation
|
|
284
|
+
syntax. claude/codex add `/` and `@` as vendor features on top.
|
|
285
|
+
|
|
286
|
+
**Decision logic, applied silently at pre-flight:**
|
|
287
|
+
|
|
288
|
+
1. The provider is the lens the scaffold set up. Check the vendor markers
|
|
289
|
+
FIRST (they ride on top of the shared `.agents/skills/` skill home), then
|
|
290
|
+
the skill home itself:
|
|
291
|
+
- a `.codex/` dir present (the marker `sm tutorial --for codex` drops) →
|
|
292
|
+
`provider = codex`, `track = rich`.
|
|
293
|
+
- else a `.agent/workflows/` dir present → `provider = antigravity`,
|
|
294
|
+
`track = basic`.
|
|
295
|
+
- else skill under `.claude/skills/sm-tutorial/` → `provider = claude`,
|
|
296
|
+
`<provider_dir> = .claude`, `track = rich`.
|
|
297
|
+
- else skill under `.agents/skills/sm-tutorial/` → `provider = agent-skills`,
|
|
298
|
+
`<provider_dir> = .agents/skills`, `track = basic`.
|
|
299
|
+
**Lens ambiguity for codex / antigravity**: both adopt the open
|
|
300
|
+
`.agents/skills/` layout, so their own marker (`.codex/` or
|
|
301
|
+
`.agent/workflows/`) coexists with the `agent-skills` marker (`.agents/`)
|
|
302
|
+
and a plain `sm scan --yes` reports the lens as ambiguous. For those two,
|
|
303
|
+
set it explicitly once before the first scan, `sm config set
|
|
304
|
+
activeProvider <codex|antigravity> --yes`, then the book runs unchanged
|
|
305
|
+
(the fixture engine renders the right shape: codex its TOML agents +
|
|
306
|
+
command-as-skill, antigravity reuses the `agent-skills` overlays).
|
|
307
|
+
2. `state.js init --provider <p>` persists `provider` plus the derived
|
|
308
|
+
`track`, so a resumed session never re-detects.
|
|
309
|
+
3. Render only the parts whose `track` is `tutorial.track` (or `both`).
|
|
310
|
+
Never offer a rich-only part under the basic track, or vice versa.
|
|
285
311
|
|
|
286
312
|
**Global substitution rule**: the fixture scripts do the file-level
|
|
287
313
|
work. You pass `--provider <p>` (the value persisted in
|
|
288
314
|
`tutorial.provider`) and `--lang <l>`, and they resolve the
|
|
289
|
-
`__PROVIDER__` path token, skip files whose kind the provider does
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
315
|
+
`__PROVIDER__` path token, skip files whose kind the provider does not
|
|
316
|
+
claim, lay any per-provider skill overlay (the open standard renders an
|
|
317
|
+
agent/command as a `skill`), and report the adjusted `nodeCount` plus
|
|
318
|
+
the `skipped` list. Narrate with `<provider_dir>` resolved to the value
|
|
319
|
+
above, never a hard-coded `.claude/`.
|
|
320
|
+
|
|
321
|
+
**Reality check (don't mention to the tester)**: the source skill ships
|
|
322
|
+
at `.claude/skills/sm-tutorial/` (this repo is itself a Claude project);
|
|
323
|
+
`sm tutorial` materializes it under `.claude/skills/` (rich) or
|
|
324
|
+
`.agents/skills/` (basic). Both are real, walkable books.
|
|
325
|
+
|
|
326
|
+
### Rendering the rich book on Codex
|
|
327
|
+
|
|
328
|
+
The rich track has two lenses, `claude` and `codex`. They teach the SAME
|
|
329
|
+
lessons with the SAME connectors (`/` invocations, `@` mentions, markdown
|
|
330
|
+
references all resolve on both), so the rich part bodies are written in the
|
|
331
|
+
`claude` shape; when `tutorial.provider == codex`, apply these substitutions:
|
|
332
|
+
|
|
333
|
+
- **Agents are TOML.** A Codex agent is a single `.codex/agents/<name>.toml`
|
|
334
|
+
file (the prompt lives in its `developer_instructions` field), NOT a
|
|
335
|
+
`.claude/agents/<name>.md`. The fixtures lay them, so when a chapter says
|
|
336
|
+
"open the agent file" point at the `.toml`; a chapter that has the tester
|
|
337
|
+
read or tweak an agent works on the TOML frontmatter / `developer_instructions`.
|
|
338
|
+
- **No `command` kind.** Where the claude book authors a `command` (the
|
|
339
|
+
`/publish` command, the reserved-name chapter's `init` command), Codex uses a
|
|
340
|
+
**skill** at `.agents/skills/<name>/SKILL.md`. The body is identical (same
|
|
341
|
+
`/check-links` + `@content-editor` + deploy reference); only the kind and path
|
|
342
|
+
change. `cat <set> --file … --provider codex` already returns the Codex skill
|
|
343
|
+
body, so the create-the-file block stays a copy-paste. The reserved-name beat
|
|
344
|
+
uses a skill named with a reserved verb (Codex inherits the open-standard
|
|
345
|
+
`COMMONS_RESERVED_NAMES`, e.g. `config`), exactly like the basic track's
|
|
346
|
+
`reserved` chapter, on a skill instead of a command.
|
|
347
|
+
- **Skills** live under `.agents/skills/<name>/SKILL.md` (the open layout Codex
|
|
348
|
+
adopted), same as the basic family.
|
|
349
|
+
- Everything else (the `@`/`/` syntax, the confidence numbers, the hub, the
|
|
350
|
+
broken-reference contrast) is identical to claude; the graph topology matches.
|
|
302
351
|
|
|
303
352
|
## Per-step cycle (inside a chapter)
|
|
304
353
|
|
|
@@ -357,10 +406,14 @@ For every chapter:
|
|
|
357
406
|
parts with a `✓` in their description line, not on the title (see
|
|
358
407
|
§Menu format).
|
|
359
408
|
- **Which parts to list**: parts in `order`, `status: active` only
|
|
360
|
-
(`planned` parts are hidden)
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
409
|
+
(`planned` parts are hidden), AND **matching the active track**, a
|
|
410
|
+
part whose `track` is `tutorial.track` (`rich` or `basic`) or `both`.
|
|
411
|
+
The rich and basic campaigns share titles and `order`, so the track
|
|
412
|
+
filter is what keeps the menu showing exactly ONE book, never both;
|
|
413
|
+
list a part once, by the track the session resolved at pre-flight.
|
|
414
|
+
A part with a `seed` (the campaign parts plus `cli`) is always shown,
|
|
415
|
+
even out of order, its `preflight: seed` fast-forwards the project
|
|
416
|
+
into it (SKILL.md §Entering a part). A part with a `prereq` but NO `seed` would be
|
|
364
417
|
shown only once its `prereq` is `done`; no active part is in that
|
|
365
418
|
state today (`cli` used to be, now it self-seeds).
|
|
366
419
|
- **After the tester picks**: walk that part; when it ends, run
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"seed": null,
|
|
10
10
|
"prereq": null,
|
|
11
11
|
"pace": "per-step",
|
|
12
|
+
"track": "rich",
|
|
12
13
|
"chapters": [
|
|
13
14
|
{
|
|
14
15
|
"id": "init",
|
|
@@ -52,6 +53,59 @@
|
|
|
52
53
|
}
|
|
53
54
|
]
|
|
54
55
|
},
|
|
56
|
+
{
|
|
57
|
+
"id": "basic-fundamentals",
|
|
58
|
+
"order": 0,
|
|
59
|
+
"title": "The live map (prologue)",
|
|
60
|
+
"status": "active",
|
|
61
|
+
"preflight": "taught-init",
|
|
62
|
+
"seed": null,
|
|
63
|
+
"prereq": null,
|
|
64
|
+
"pace": "per-step",
|
|
65
|
+
"track": "basic",
|
|
66
|
+
"chapters": [
|
|
67
|
+
{
|
|
68
|
+
"id": "init",
|
|
69
|
+
"title": "Your first node (sm init, sm, the UI)",
|
|
70
|
+
"est_min": 2
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "kinds",
|
|
74
|
+
"title": "Skills and notes appear",
|
|
75
|
+
"est_min": 1
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "first-edit",
|
|
79
|
+
"title": "Your first edit (the watcher reacts)",
|
|
80
|
+
"est_min": 1
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "connectors",
|
|
84
|
+
"title": "Connect with references (markdown links)",
|
|
85
|
+
"est_min": 2
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "inspector",
|
|
89
|
+
"title": "The inspector and connections",
|
|
90
|
+
"est_min": 1
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "edit-link",
|
|
94
|
+
"title": "Edit a link, the topology changes",
|
|
95
|
+
"est_min": 3
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "workspace",
|
|
99
|
+
"title": "Navigate the workspace (files, search, isolate)",
|
|
100
|
+
"est_min": 2
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "ignore",
|
|
104
|
+
"title": "Silence a file via .skillmapignore",
|
|
105
|
+
"est_min": 2
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
55
109
|
{
|
|
56
110
|
"id": "project-kickoff",
|
|
57
111
|
"order": 1,
|
|
@@ -61,6 +115,7 @@
|
|
|
61
115
|
"seed": null,
|
|
62
116
|
"prereq": null,
|
|
63
117
|
"pace": "per-step",
|
|
118
|
+
"track": "rich",
|
|
64
119
|
"chapters": [
|
|
65
120
|
{
|
|
66
121
|
"id": "kickoff",
|
|
@@ -81,19 +136,7 @@
|
|
|
81
136
|
"id": "real-kinds",
|
|
82
137
|
"title": "The real kinds in context",
|
|
83
138
|
"est_min": 2
|
|
84
|
-
}
|
|
85
|
-
]
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"id": "connect-harness",
|
|
89
|
-
"order": 2,
|
|
90
|
-
"title": "Connect the harness",
|
|
91
|
-
"status": "active",
|
|
92
|
-
"preflight": "seed",
|
|
93
|
-
"seed": "harness-built",
|
|
94
|
-
"prereq": "project-kickoff",
|
|
95
|
-
"pace": "auto-advance",
|
|
96
|
-
"chapters": [
|
|
139
|
+
},
|
|
97
140
|
{
|
|
98
141
|
"id": "check-links",
|
|
99
142
|
"title": "The check-links skill",
|
|
@@ -116,15 +159,69 @@
|
|
|
116
159
|
}
|
|
117
160
|
]
|
|
118
161
|
},
|
|
162
|
+
{
|
|
163
|
+
"id": "basic-kickoff",
|
|
164
|
+
"order": 1,
|
|
165
|
+
"title": "The project from zero",
|
|
166
|
+
"status": "active",
|
|
167
|
+
"preflight": "portfolio-init",
|
|
168
|
+
"seed": null,
|
|
169
|
+
"prereq": null,
|
|
170
|
+
"pace": "per-step",
|
|
171
|
+
"track": "basic",
|
|
172
|
+
"chapters": [
|
|
173
|
+
{
|
|
174
|
+
"id": "kickoff",
|
|
175
|
+
"title": "Start the portfolio (sm init on the real skeleton)",
|
|
176
|
+
"est_min": 2
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"id": "manual",
|
|
180
|
+
"title": "The handbook (AGENTS.md) and an entry pointer",
|
|
181
|
+
"est_min": 2
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"id": "first-skill",
|
|
185
|
+
"title": "The first harness skill (content-editor)",
|
|
186
|
+
"est_min": 2
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"id": "real-kinds",
|
|
190
|
+
"title": "The kinds in context",
|
|
191
|
+
"est_min": 2
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"id": "check-links",
|
|
195
|
+
"title": "The link checker",
|
|
196
|
+
"est_min": 3
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"id": "publish",
|
|
200
|
+
"title": "The publish skill references the harness",
|
|
201
|
+
"est_min": 4
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"id": "links",
|
|
205
|
+
"title": "The handbook becomes the hub (references)",
|
|
206
|
+
"est_min": 4
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": "confidence",
|
|
210
|
+
"title": "Connector confidence (opacity = certainty)",
|
|
211
|
+
"est_min": 3
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
},
|
|
119
215
|
{
|
|
120
216
|
"id": "daily-loop",
|
|
121
|
-
"order":
|
|
217
|
+
"order": 2,
|
|
122
218
|
"title": "The daily loop (add, improve, publish)",
|
|
123
219
|
"status": "active",
|
|
124
220
|
"preflight": "seed",
|
|
125
221
|
"seed": "harness-connected",
|
|
126
|
-
"prereq": "
|
|
222
|
+
"prereq": "project-kickoff",
|
|
127
223
|
"pace": "auto-advance",
|
|
224
|
+
"track": "rich",
|
|
128
225
|
"chapters": [
|
|
129
226
|
{
|
|
130
227
|
"id": "setup",
|
|
@@ -158,20 +255,69 @@
|
|
|
158
255
|
},
|
|
159
256
|
{
|
|
160
257
|
"id": "golive",
|
|
161
|
-
"title": "Your
|
|
258
|
+
"title": "Your website, live next to the graph",
|
|
259
|
+
"est_min": 3
|
|
260
|
+
}
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"id": "basic-daily",
|
|
265
|
+
"order": 2,
|
|
266
|
+
"title": "The daily loop (add, improve, publish)",
|
|
267
|
+
"status": "active",
|
|
268
|
+
"preflight": "seed",
|
|
269
|
+
"seed": "harness-connected",
|
|
270
|
+
"prereq": "basic-kickoff",
|
|
271
|
+
"pace": "auto-advance",
|
|
272
|
+
"track": "basic",
|
|
273
|
+
"chapters": [
|
|
274
|
+
{
|
|
275
|
+
"id": "setup",
|
|
276
|
+
"title": "Make it yours and bring it up",
|
|
277
|
+
"est_min": 5
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"id": "add-page",
|
|
281
|
+
"title": "Add a page with your skill",
|
|
282
|
+
"est_min": 4
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"id": "broken-ref",
|
|
286
|
+
"title": "A rename breaks a link",
|
|
287
|
+
"est_min": 4
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"id": "reserved",
|
|
291
|
+
"title": "A reserved name collides",
|
|
292
|
+
"est_min": 2
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"id": "publish",
|
|
296
|
+
"title": "Ship it: run the publish skill for real",
|
|
297
|
+
"est_min": 4
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"id": "stability",
|
|
301
|
+
"title": "Set a node's stability (and the `.sm` sidecar)",
|
|
302
|
+
"est_min": 3
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"id": "golive",
|
|
306
|
+
"title": "Your website, live next to the graph",
|
|
162
307
|
"est_min": 3
|
|
163
308
|
}
|
|
164
309
|
]
|
|
165
310
|
},
|
|
166
311
|
{
|
|
167
312
|
"id": "extend",
|
|
168
|
-
"order":
|
|
313
|
+
"order": 3,
|
|
169
314
|
"title": "Extend skill-map for the site",
|
|
170
315
|
"status": "active",
|
|
171
316
|
"preflight": "backstage-init",
|
|
172
317
|
"seed": null,
|
|
173
318
|
"prereq": null,
|
|
174
319
|
"pace": "auto-advance",
|
|
320
|
+
"track": "both",
|
|
175
321
|
"chapters": [
|
|
176
322
|
{
|
|
177
323
|
"id": "settings-1-layers",
|
|
@@ -232,13 +378,14 @@
|
|
|
232
378
|
},
|
|
233
379
|
{
|
|
234
380
|
"id": "cli",
|
|
235
|
-
"order":
|
|
381
|
+
"order": 4,
|
|
236
382
|
"title": "The CLI in depth",
|
|
237
383
|
"status": "active",
|
|
238
384
|
"preflight": "seed",
|
|
239
385
|
"seed": "prologue-built",
|
|
240
386
|
"prereq": "fundamentals",
|
|
241
387
|
"pace": "auto-advance",
|
|
388
|
+
"track": "both",
|
|
242
389
|
"chapters": [
|
|
243
390
|
{
|
|
244
391
|
"id": "browse",
|
|
@@ -269,13 +416,14 @@
|
|
|
269
416
|
},
|
|
270
417
|
{
|
|
271
418
|
"id": "mcp",
|
|
272
|
-
"order":
|
|
419
|
+
"order": 5,
|
|
273
420
|
"title": "MCP",
|
|
274
421
|
"status": "planned",
|
|
275
422
|
"preflight": "seed",
|
|
276
423
|
"seed": "harness-connected",
|
|
277
|
-
"prereq": "
|
|
424
|
+
"prereq": "project-kickoff",
|
|
278
425
|
"pace": "auto-advance",
|
|
426
|
+
"track": "rich",
|
|
279
427
|
"chapters": [
|
|
280
428
|
{
|
|
281
429
|
"id": "mcp-node",
|
|
@@ -27,6 +27,14 @@
|
|
|
27
27
|
# fixture which fixture this part lays (see fixtures.md / the
|
|
28
28
|
# part body); `inline` means the chapters lay it as a
|
|
29
29
|
# taught step.
|
|
30
|
+
# track which capability track shows this part (see _core.md
|
|
31
|
+
# §Provider detection): `rich` (claude/codex: agent +
|
|
32
|
+
# command + slash + `@`), `basic` (the open-standard
|
|
33
|
+
# family agent-skills/antigravity: skill + markdown,
|
|
34
|
+
# connected by markdown references), or `both` (renders
|
|
35
|
+
# lens-aware, slash/`@` on rich, references on basic).
|
|
36
|
+
# The menu shows only parts whose track is the resolved
|
|
37
|
+
# `tutorial.track` or `both`.
|
|
30
38
|
# status active (default, shown) | planned (no body yet, hidden).
|
|
31
39
|
|
|
32
40
|
parts:
|
|
@@ -39,6 +47,7 @@ parts:
|
|
|
39
47
|
pace: per-step
|
|
40
48
|
preflight: taught-init
|
|
41
49
|
fixture: inline # the chapters lay the basics fixture as taught steps
|
|
50
|
+
track: rich # claude/codex prologue: agent/command kinds, slash + @ connectors
|
|
42
51
|
status: active
|
|
43
52
|
chapters:
|
|
44
53
|
- id: init ; title: "Your first node (sm init, sm, the UI)" ; est_min: 2
|
|
@@ -50,8 +59,27 @@ parts:
|
|
|
50
59
|
- id: workspace ; title: "Navigate the workspace (files, search, isolate)" ; est_min: 2
|
|
51
60
|
- id: ignore ; title: "Silence a file via .skillmapignore" ; est_min: 2
|
|
52
61
|
|
|
62
|
+
- id: basic-fundamentals
|
|
63
|
+
order: 0
|
|
64
|
+
title: "The live map (prologue)"
|
|
65
|
+
step_file: part-basic-fundamentals.md
|
|
66
|
+
pace: per-step
|
|
67
|
+
preflight: taught-init # same flavour as `fundamentals`; the boot node is demo-skill on the basic track
|
|
68
|
+
fixture: inline # the chapters lay the basics fixture (skill + markdown only) as taught steps
|
|
69
|
+
track: basic # open-standard family: skill + markdown, connected by markdown references
|
|
70
|
+
status: active
|
|
71
|
+
chapters:
|
|
72
|
+
- id: init ; title: "Your first node (sm init, sm, the UI)" ; est_min: 2
|
|
73
|
+
- id: kinds ; title: "Skills and notes appear" ; est_min: 1
|
|
74
|
+
- id: first-edit ; title: "Your first edit (the watcher reacts)" ; est_min: 1
|
|
75
|
+
- id: connectors ; title: "Connect with references (markdown links)" ; est_min: 2
|
|
76
|
+
- id: inspector ; title: "The inspector and connections" ; est_min: 1
|
|
77
|
+
- id: edit-link ; title: "Edit a link, the topology changes" ; est_min: 3
|
|
78
|
+
- id: workspace ; title: "Navigate the workspace (files, search, isolate)" ; est_min: 2
|
|
79
|
+
- id: ignore ; title: "Silence a file via .skillmapignore" ; est_min: 2
|
|
80
|
+
|
|
53
81
|
- id: extend
|
|
54
|
-
order:
|
|
82
|
+
order: 3
|
|
55
83
|
title: "Extend skill-map for the site"
|
|
56
84
|
# Spans three chapter libraries; dispatch by chapter-id prefix:
|
|
57
85
|
# settings-* -> part-settings.md
|
|
@@ -64,6 +92,7 @@ parts:
|
|
|
64
92
|
pace: auto-advance
|
|
65
93
|
preflight: backstage-init # lays the fixture below + sm init --no-scan
|
|
66
94
|
fixture: master # master-agent / master-skill / notes/ideas (fixtures.md)
|
|
95
|
+
track: both # settings / plugins / authoring are lens-agnostic
|
|
67
96
|
status: active
|
|
68
97
|
chapters:
|
|
69
98
|
- id: settings-1-layers ; title: "The config layers and `sm config list`" ; est_min: 3
|
|
@@ -79,13 +108,14 @@ parts:
|
|
|
79
108
|
- id: authoring-5-doctor-author ; title: "Catch a manifest mistake with `sm plugins doctor`" ; est_min: 2
|
|
80
109
|
|
|
81
110
|
- id: cli
|
|
82
|
-
order:
|
|
111
|
+
order: 4
|
|
83
112
|
title: "The CLI in depth"
|
|
84
113
|
step_file: part-cli.md
|
|
85
114
|
pace: auto-advance
|
|
86
115
|
preflight: seed # self-seeds the Part 0 demo fixture
|
|
87
116
|
seed: prologue-built # the prologue demo fixture (not the cumulative portfolio)
|
|
88
117
|
prereq: fundamentals # recommended predecessor; cli self-seeds, so it is always shown
|
|
118
|
+
track: both # CLI verbs are lens-agnostic; prose notes lens-specific node counts
|
|
89
119
|
status: active
|
|
90
120
|
chapters:
|
|
91
121
|
- id: browse ; title: "list / show / check" ; est_min: 3
|
|
@@ -108,37 +138,28 @@ parts:
|
|
|
108
138
|
pace: per-step
|
|
109
139
|
preflight: portfolio-init # lays the Express skeleton + AGENTS.md; clears the prologue demo fixture if present
|
|
110
140
|
fixture: portfolio
|
|
141
|
+
track: rich # uses the agent kind; basic track has its own counterpart
|
|
111
142
|
status: active
|
|
112
143
|
chapters:
|
|
113
144
|
- id: kickoff ; title: "Start the portfolio (sm init on the real skeleton)" ; est_min: 2
|
|
114
145
|
- id: manual ; title: "The handbook (AGENTS.md) and CLAUDE.md" ; est_min: 2
|
|
115
146
|
- id: first-agent ; title: "The first harness agent (content-editor)" ; est_min: 2
|
|
116
147
|
- id: real-kinds ; title: "The real kinds in context" ; est_min: 2
|
|
117
|
-
|
|
118
|
-
- id: connect-harness
|
|
119
|
-
order: 2
|
|
120
|
-
title: "Connect the harness"
|
|
121
|
-
step_file: part-connect-harness.md
|
|
122
|
-
pace: auto-advance
|
|
123
|
-
preflight: seed
|
|
124
|
-
seed: harness-built # fast-forward to here if project-kickoff is not done
|
|
125
|
-
prereq: project-kickoff
|
|
126
|
-
status: active
|
|
127
|
-
chapters:
|
|
128
148
|
- id: check-links ; title: "The check-links skill" ; est_min: 2
|
|
129
149
|
- id: publish ; title: "The /publish command invokes the skill" ; est_min: 3
|
|
130
150
|
- id: links ; title: "Mentions (@) and references between assets" ; est_min: 3
|
|
131
151
|
- id: confidence ; title: "Connector confidence (opacity = certainty)" ; est_min: 2
|
|
132
152
|
|
|
133
153
|
- id: daily-loop
|
|
134
|
-
order:
|
|
154
|
+
order: 2
|
|
135
155
|
title: "The daily loop (add, improve, publish)" # the campaign finale
|
|
136
156
|
step_file: part-daily-loop.md
|
|
137
157
|
pace: auto-advance
|
|
138
158
|
preflight: seed
|
|
139
|
-
seed: harness-connected # fast-forward to here if
|
|
140
|
-
prereq:
|
|
159
|
+
seed: harness-connected # fast-forward to here if project-kickoff is not done
|
|
160
|
+
prereq: project-kickoff
|
|
141
161
|
fixture: portfolio # reuses the wired harness; lays the pretty site (style.css + pages) as taught steps
|
|
162
|
+
track: rich # agent-driven page add + reserved command; basic track has its own counterpart
|
|
142
163
|
status: active
|
|
143
164
|
chapters:
|
|
144
165
|
- id: setup ; title: "Make it yours and bring it up" ; est_min: 5
|
|
@@ -147,17 +168,62 @@ parts:
|
|
|
147
168
|
- id: reserved ; title: "A reserved name collides" ; est_min: 2
|
|
148
169
|
- id: publish ; title: "Ship it: run /publish for real" ; est_min: 4
|
|
149
170
|
- id: stability ; title: "Set a node's stability (and the `.sm` sidecar)" ; est_min: 3
|
|
150
|
-
- id: golive ; title: "Your
|
|
171
|
+
- id: golive ; title: "Your website, live next to the graph" ; est_min: 3
|
|
172
|
+
|
|
173
|
+
# ----- the basic-track campaign (open-standard family: agent-skills / antigravity) -----
|
|
174
|
+
# Mirrors the rich campaign arc with skill + markdown only, connected by
|
|
175
|
+
# markdown references. Same fixtures (portfolio / harness) laid under the
|
|
176
|
+
# basic provider, which renders the agent/command nodes as skills.
|
|
177
|
+
|
|
178
|
+
- id: basic-kickoff
|
|
179
|
+
order: 1
|
|
180
|
+
title: "The project from zero"
|
|
181
|
+
step_file: part-basic-kickoff.md
|
|
182
|
+
pace: per-step
|
|
183
|
+
preflight: portfolio-init
|
|
184
|
+
fixture: portfolio
|
|
185
|
+
track: basic
|
|
186
|
+
status: active
|
|
187
|
+
chapters:
|
|
188
|
+
- id: kickoff ; title: "Start the portfolio (sm init on the real skeleton)" ; est_min: 2
|
|
189
|
+
- id: manual ; title: "The handbook (AGENTS.md) and an entry pointer" ; est_min: 2
|
|
190
|
+
- id: first-skill ; title: "The first harness skill (content-editor)" ; est_min: 2
|
|
191
|
+
- id: real-kinds ; title: "The kinds in context" ; est_min: 2
|
|
192
|
+
- id: check-links ; title: "The link checker" ; est_min: 3
|
|
193
|
+
- id: publish ; title: "The publish skill references the harness" ; est_min: 4
|
|
194
|
+
- id: links ; title: "The handbook becomes the hub (references)" ; est_min: 4
|
|
195
|
+
- id: confidence ; title: "Connector confidence (opacity = certainty)" ; est_min: 3
|
|
196
|
+
|
|
197
|
+
- id: basic-daily
|
|
198
|
+
order: 2
|
|
199
|
+
title: "The daily loop (add, improve, publish)"
|
|
200
|
+
step_file: part-basic-daily.md
|
|
201
|
+
pace: auto-advance
|
|
202
|
+
preflight: seed
|
|
203
|
+
seed: harness-connected
|
|
204
|
+
prereq: basic-kickoff
|
|
205
|
+
fixture: portfolio
|
|
206
|
+
track: basic
|
|
207
|
+
status: active
|
|
208
|
+
chapters:
|
|
209
|
+
- id: setup ; title: "Make it yours and bring it up" ; est_min: 5
|
|
210
|
+
- id: add-page ; title: "Add a page with your skill" ; est_min: 4
|
|
211
|
+
- id: broken-ref ; title: "A rename breaks a link" ; est_min: 4
|
|
212
|
+
- id: reserved ; title: "A reserved name collides" ; est_min: 2
|
|
213
|
+
- id: publish ; title: "Ship it: run the publish skill for real" ; est_min: 4
|
|
214
|
+
- id: stability ; title: "Set a node's stability (and the `.sm` sidecar)" ; est_min: 3
|
|
215
|
+
- id: golive ; title: "Your website, live next to the graph" ; est_min: 3
|
|
151
216
|
|
|
152
217
|
# ----- parked: MCP returns later as its own iteration (body kept in part-mcp.md) -----
|
|
153
218
|
- id: mcp
|
|
154
|
-
order:
|
|
219
|
+
order: 5
|
|
155
220
|
title: "MCP"
|
|
156
221
|
step_file: part-mcp.md
|
|
157
222
|
pace: auto-advance
|
|
158
223
|
preflight: seed
|
|
159
224
|
seed: harness-connected
|
|
160
|
-
prereq:
|
|
225
|
+
prereq: project-kickoff
|
|
226
|
+
track: rich # MCP tool declaration sits on an agent/command body
|
|
161
227
|
status: planned # temporarily disabled, hidden from the menu. Body exists; re-enable when MCP returns.
|
|
162
228
|
chapters:
|
|
163
229
|
- id: mcp-node ; title: "content-editor declares an MCP tool; the mcp:// node appears" ; est_min: 3
|
|
@@ -38,10 +38,10 @@ fixtures-data/
|
|
|
38
38
|
|---|---|---|
|
|
39
39
|
| `universal` | `.skillmapignore`, `findings.md` | pre-flight |
|
|
40
40
|
| `prologue` | the seven Part 0 demo nodes | Part 0 (progressive, `--only`), `prologue-built` seed |
|
|
41
|
-
| `portfolio` | Express skeleton, handbook, `content-editor`, `docs/STYLE` + `DEPLOY` | Part 1 (`--only` boot, chapters lay the rest), `harness
|
|
42
|
-
| `harness` | `check-links` skill, `publish` command | Part
|
|
43
|
-
| `master` | `master-agent`, `master-skill`, `notes/ideas` | Part
|
|
44
|
-
| `cli-external` | `link-validation/hijoA` + `hijoB` | Part
|
|
41
|
+
| `portfolio` | Express skeleton, handbook, `content-editor`, `docs/STYLE` + `DEPLOY` | Part 1 (`--only` boot, chapters lay the rest), `harness-connected` seed |
|
|
42
|
+
| `harness` | `check-links` skill, `publish` command | Part 1 connect chapters, `harness-connected` seed |
|
|
43
|
+
| `master` | `master-agent`, `master-skill`, `notes/ideas` | Part 3 `backstage-init` |
|
|
44
|
+
| `cli-external` | `link-validation/hijoA` + `hijoB` | Part 4 `reference-paths` |
|
|
45
45
|
|
|
46
46
|
## Edits (append fragments)
|
|
47
47
|
|
|
@@ -62,9 +62,8 @@ entered out of order.
|
|
|
62
62
|
|
|
63
63
|
| Seed | Lays | Edits | Drops |
|
|
64
64
|
|---|---|---|---|
|
|
65
|
-
| `prologue-built` (Part
|
|
66
|
-
| `harness-
|
|
67
|
-
| `harness-connected` (Part 3) | `portfolio` + `harness` | `agents-hub`, `content-editor-style` | , |
|
|
65
|
+
| `prologue-built` (Part 4) | `prologue` | `todo-connectors` | `notes/private-credentials.md` |
|
|
66
|
+
| `harness-connected` (Part 2) | `portfolio` + `harness` | `agents-hub`, `content-editor-style` | , |
|
|
68
67
|
|
|
69
68
|
## Footprints (what `clear` and `wipe` remove)
|
|
70
69
|
|