@skill-map/cli 0.68.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 +14 -15
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/manifest.json +0 -3
- package/dist/cli/tutorial/sm-tutorial/references/_core.md +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.json +30 -56
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +11 -35
- 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 +25 -51
- package/dist/cli/tutorial/sm-tutorial/references/part-basic-fundamentals.md +20 -19
- package/dist/cli/tutorial/sm-tutorial/references/part-basic-kickoff.md +150 -5
- package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/part-daily-loop.md +41 -73
- package/dist/cli/tutorial/sm-tutorial/references/part-fundamentals.md +25 -29
- package/dist/cli/tutorial/sm-tutorial/references/part-plugins.md +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +170 -13
- package/dist/cli/tutorial/sm-tutorial/references/part-settings.md +2 -2
- package/dist/cli/tutorial/sm-tutorial/scripts/state.js +4 -4
- package/dist/cli.js +12 -11
- package/dist/index.js +3 -3
- package/dist/kernel/index.js +3 -3
- package/dist/ui/{chunk-4F53HBGG.js → chunk-22EQLC23.js} +1 -1
- package/dist/ui/chunk-TLMV4LOQ.js +3 -0
- package/dist/ui/index.html +1 -1
- package/dist/ui/{main-ZYRIR6DB.js → main-R7BIU4HU.js} +3 -3
- package/package.json +2 -2
- package/dist/cli/tutorial/sm-tutorial/references/part-basic-connect.md +0 -166
- package/dist/cli/tutorial/sm-tutorial/references/part-connect-harness.md +0 -175
- package/dist/ui/chunk-BJUBDHJR.js +0 -3
- /package/dist/ui/{chunk-3GDWM5VM.js → chunk-K3ZRQNN5.js} +0 -0
|
@@ -6,9 +6,12 @@ actual project: a tiny personal **portfolio website**, fully static, served by a
|
|
|
6
6
|
~15-line Express server, plus the `.agents/skills/` **harness** that maintains
|
|
7
7
|
it. skill-map maps the harness (the `.md` assets and how they reference each
|
|
8
8
|
other); the site itself is plain HTML the harness produces (the daily loop, Part
|
|
9
|
-
|
|
10
|
-
and they connect by **markdown references** (`[text](path)`).
|
|
11
|
-
|
|
9
|
+
2, runs and ships it). This lens authors only **skills** and **markdown notes**,
|
|
10
|
+
and they connect by **markdown references** (`[text](path)`). This part runs end
|
|
11
|
+
to end: it boots the project and grows its harness members (the `kickoff` to
|
|
12
|
+
`real-kinds` chapters), then wires them into a connected graph (the `check-links`
|
|
13
|
+
to `confidence` chapters). `pace: per-step`, `preflight: portfolio-init`. Shared
|
|
14
|
+
conventions live in `_core.md`. Narrate with
|
|
12
15
|
`<provider_dir>` = `.agents/skills`.
|
|
13
16
|
|
|
14
17
|
The orchestrator's `portfolio-init` pre-flight (backstage, silent) has already
|
|
@@ -94,7 +97,7 @@ Tell the tester:
|
|
|
94
97
|
|
|
95
98
|
> I added the first real member of your harness: a skill called `content-editor`
|
|
96
99
|
> (its job is to write the site's pages). A new `skill` node appeared on the map.
|
|
97
|
-
> Right now it stands alone; in
|
|
100
|
+
> Right now it stands alone; later in this part we wire it to the handbook and the
|
|
98
101
|
> style guide.
|
|
99
102
|
>
|
|
100
103
|
> 💡 Tip: I create these harness files for you. If you'd like to see what's
|
|
@@ -135,6 +138,148 @@ Tell the tester:
|
|
|
135
138
|
>
|
|
136
139
|
> See the skill and the docs in the map?
|
|
137
140
|
|
|
138
|
-
Wait for confirmation. Mark `real-kinds`: done.
|
|
141
|
+
Wait for confirmation. Mark `real-kinds`: done.
|
|
142
|
+
|
|
143
|
+
## Chapter `check-links` - The link checker (~3 min)
|
|
144
|
+
|
|
145
|
+
**Context**: the harness needs a guard that runs before publishing, a skill that
|
|
146
|
+
checks the site's internal links resolve before it ships. We only create the
|
|
147
|
+
`skill` node here; the `publish` skill in the next chapter is what calls it.
|
|
148
|
+
|
|
149
|
+
Lay the `check-links` skill (content lives in `fixtures-data/`). Backstage
|
|
150
|
+
(silent):
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js lay harness --only "__PROVIDER__/skills/check-links/SKILL.md" --provider <provider> --lang <lang>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Tell the tester:
|
|
157
|
+
|
|
158
|
+
> So I added that guard: a skill called `check-links`. A new `skill` node
|
|
159
|
+
> appeared on the **Map**, alone for now; the next chapter gives it a caller.
|
|
160
|
+
>
|
|
161
|
+
> See the new skill node?
|
|
162
|
+
|
|
163
|
+
Wait for confirmation. Mark `check-links`: done.
|
|
164
|
+
|
|
165
|
+
## Chapter `publish` - The publish skill (~4 min)
|
|
166
|
+
|
|
167
|
+
**Context**: the chapter where the graph comes alive. The `publish` skill ties
|
|
168
|
+
three pieces together in one body: it points at the link checker, at the content
|
|
169
|
+
editor, and at the deploy runbook. On this lens all three are **markdown
|
|
170
|
+
references**, so three reference arrows light up from a single new node.
|
|
171
|
+
|
|
172
|
+
Tell the tester to create the file themselves (Inviolable rule #2). Render the
|
|
173
|
+
block as a **top-level fenced code block** at column 0, NOT inside the `> `
|
|
174
|
+
blockquote, so the frontmatter fences (`---`) land on column 0 (indented fences
|
|
175
|
+
never parse, and `sm check` then warns `frontmatter-malformed`).
|
|
176
|
+
|
|
177
|
+
> Create `<provider_dir>/publish/SKILL.md` with exactly this content (the first
|
|
178
|
+
> line is `---`, nothing before it):
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
---
|
|
182
|
+
name: publish
|
|
183
|
+
description: |
|
|
184
|
+
Publishes the portfolio: runs the link check, hands off to the
|
|
185
|
+
content editor for any last fixes, then follows the deploy runbook.
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
# publish
|
|
189
|
+
|
|
190
|
+
The one skill you run when the site is ready to go out.
|
|
191
|
+
|
|
192
|
+
## Steps
|
|
193
|
+
1. Run the [check-links](../check-links/SKILL.md) skill on the pages in public/. If it reports broken links, stop and fix them first.
|
|
194
|
+
2. If a page needs a content fix, hand the change to [content-editor](../content-editor/SKILL.md).
|
|
195
|
+
3. Follow the [deploy runbook](../../../docs/DEPLOY.md): regenerate pages, run the link check, start the server.
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Continue the tester message:
|
|
199
|
+
|
|
200
|
+
> Save it. Watch the **Map**: **three** new arrows light up at once from the new
|
|
201
|
+
> `publish` node, all of them `references` (the open standard's one connector),
|
|
202
|
+
> each landing on a real file:
|
|
203
|
+
>
|
|
204
|
+
> - `publish -> check-links` (the `[check-links](../check-links/SKILL.md)` link)
|
|
205
|
+
> - `publish -> content-editor` (the `[content-editor](../content-editor/SKILL.md)` link)
|
|
206
|
+
> - `publish -> docs/DEPLOY.md` (the `[deploy runbook](../../../docs/DEPLOY.md)` link)
|
|
207
|
+
>
|
|
208
|
+
> One node, three connectors, all references. On a vendor lens (claude/codex) the
|
|
209
|
+
> first two would be a `/`-invoke and an `@`-mention; the open standard wires
|
|
210
|
+
> everything with file links, and that is all this lens emits. The harness is
|
|
211
|
+
> starting to look like a real graph.
|
|
212
|
+
>
|
|
213
|
+
> 💡 Tip: to tidy the layout, click **Re-arrange layout** in the map toolbar.
|
|
214
|
+
>
|
|
215
|
+
> Did the three arrows appear?
|
|
216
|
+
|
|
217
|
+
Wait for confirmation. You MAY `Read` the file to verify the `---` fences are
|
|
218
|
+
flush at column 0 (if `sm check` flags `frontmatter-malformed`, the fences got
|
|
219
|
+
indented on paste, re-align every line flush left). Mark `publish`: done.
|
|
220
|
+
|
|
221
|
+
## Chapter `links` - The handbook becomes the hub (~4 min)
|
|
222
|
+
|
|
223
|
+
**Context**: the handbook (`AGENTS.md`) has been a lonely node since the start of
|
|
224
|
+
this part. Here it becomes the hub: two bullets point it at the content editor
|
|
225
|
+
and the publish skill. We also give the content editor a reference to the style guide it follows.
|
|
226
|
+
|
|
227
|
+
Apply both edits (content lives in `fixtures-data/`). The first appends two hub
|
|
228
|
+
bullets (markdown links) to `AGENTS.md`; the second adds the style-guide
|
|
229
|
+
reference to the content-editor skill. Backstage (silent):
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js edit agents-hub --provider <provider> --lang <lang>
|
|
233
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js edit content-editor-style --provider <provider> --lang <lang>
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Tell the tester:
|
|
237
|
+
|
|
238
|
+
> Two edits, and the **Map** fills in. Your handbook (`AGENTS.md`) is now the hub:
|
|
239
|
+
> it points at the content editor and at the publish skill. And the content
|
|
240
|
+
> editor now reaches the style guide it follows. New arrows, all `references`:
|
|
241
|
+
>
|
|
242
|
+
> - `AGENTS.md -> content-editor` (a `[content-editor](...)` link)
|
|
243
|
+
> - `AGENTS.md -> publish` (a `[publish](...)` link)
|
|
244
|
+
> - `content-editor -> docs/STYLE.md` (a `[style guide](...)` link)
|
|
245
|
+
>
|
|
246
|
+
> The whole harness is wired end to end now: the handbook reaches the work, the
|
|
247
|
+
> work reaches the docs, and `publish` pulls the publish flow together, every
|
|
248
|
+
> connection a markdown reference, the one link the open standard documents.
|
|
249
|
+
>
|
|
250
|
+
> Did the new arrows light up?
|
|
251
|
+
|
|
252
|
+
Wait for confirmation. You MAY `Read` the two files to verify. Mark `links`: done.
|
|
253
|
+
|
|
254
|
+
## Chapter `confidence` - How sure is each link (~3 min)
|
|
255
|
+
|
|
256
|
+
No file edits, pure observation.
|
|
257
|
+
|
|
258
|
+
Tell the tester:
|
|
259
|
+
|
|
260
|
+
> Last beat of this part: how sure is skill-map about each connection? It records
|
|
261
|
+
> a **confidence** for every link and draws it as opacity: a link that resolves
|
|
262
|
+
> to a real file is solid (**1.00**), one that does not lands fainter, so a glance
|
|
263
|
+
> at the **Map** separates solid wiring from problem links.
|
|
264
|
+
>
|
|
265
|
+
> Open the Inspector for the `publish` node (click it). Scroll to the
|
|
266
|
+
> **Connections** panel and read the **Outgoing** rows. Each shows the link kind
|
|
267
|
+
> (`references`, the only kind here) and a confidence badge, every one reads
|
|
268
|
+
> **1.00**, because each link lands on a file that exists on disk.
|
|
269
|
+
>
|
|
270
|
+
> Your whole harness reads solid because every link resolves. So what does a link
|
|
271
|
+
> that does NOT resolve look like? You met one in the prologue: the
|
|
272
|
+
> `demo-guideline` link had no `.md`, so it pointed at a path that did not exist,
|
|
273
|
+
> skill-map drew no arrow and flagged it as a **broken reference**, confidence
|
|
274
|
+
> knocked to **0.50**. Adding `.md` turned it into a link that landed on the real
|
|
275
|
+
> file, and it drew a solid arrow at **1.00**.
|
|
276
|
+
>
|
|
277
|
+
> **IMPORTANT:** why does confidence matter? It mirrors how an agent resolves a
|
|
278
|
+
> reference, a deterministic name-and-path lookup, no guessing. That is cheaper
|
|
279
|
+
> and does not fail, the same reason a clean, well-named harness is worth keeping.
|
|
280
|
+
>
|
|
281
|
+
> Do you see every badge reading 1.00 in the Inspector?
|
|
282
|
+
|
|
283
|
+
Wait for confirmation. Mark `confidence`: done. Last chapter of the part: apply
|
|
139
284
|
§Closing a part (name the part by its title, route back to the menu; do NOT lead
|
|
140
285
|
into the next part from here).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Part
|
|
1
|
+
# Part 4: The CLI in depth - step library
|
|
2
2
|
|
|
3
3
|
The deep-dive into the rest of the CLI: browsing verbs, ASCII graph + export, broken-ref issues, the `.sm` annotation consent prompt, and validating links to folders outside the scan scope. `pace: auto-advance` (walk straight into the next chapter's Announcement once one is marked done) and `preflight: seed` with the `prologue-built` snapshot: it self-seeds its own copy of the Part 0 demo fixture, so it works even if the campaign already replaced that fixture with the portfolio (see SKILL.md §Entering a part, the `cli` case). Shared conventions (tone, provider detection / substitution, the `> ` rendering rule, the per-step cycle) live in `_core.md`; do not restate them here.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Part
|
|
1
|
+
# Part 2: The daily loop (step library, `daily-loop`)
|
|
2
2
|
|
|
3
3
|
The campaign's payoff and finale fused into one part: the tester operates the
|
|
4
4
|
harness they built the way they would on any normal day, **for real**. Three
|
|
@@ -62,9 +62,9 @@ broken-reference markers, and confidence live.
|
|
|
62
62
|
## Chapter `setup` - Make it yours and bring it up (~5 min)
|
|
63
63
|
|
|
64
64
|
**Context**: the harness is wired (you built it in the earlier parts). Now you
|
|
65
|
-
put it to work on a real day. First, make the site yours
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
put it to work on a real day. First, make the site yours, about whatever you
|
|
66
|
+
like, then serve it and open it in the browser, the early payoff before the
|
|
67
|
+
daily loop fills it with pages. The honest beat: the HTML
|
|
68
68
|
and CSS are Layer 2 (the harness's output); skill-map maps the harness (Layer 1,
|
|
69
69
|
the `.md` files), so the site landing on disk does NOT move the graph, and that
|
|
70
70
|
is correct, not a bug. The tester runs the serve commands themselves (one of the
|
|
@@ -72,10 +72,11 @@ few non-`sm` beats); guide them, do not run them.
|
|
|
72
72
|
|
|
73
73
|
**Preparation**:
|
|
74
74
|
|
|
75
|
-
1. Ask the tester
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
web"). Persist
|
|
75
|
+
1. Ask the tester the two questions straight, with no "before we build, let's
|
|
76
|
+
make it yours" lead-in: what the site should be called (their name or a
|
|
77
|
+
title) and one line about what it is for. Keep it light; if they do not care,
|
|
78
|
+
offer defaults ("My Portfolio" / "Small, sturdy things on the web"). Persist
|
|
79
|
+
both with
|
|
79
80
|
`node .claude/skills/sm-tutorial/scripts/state.js set-identity --name "<name>" --tagline "<tagline>"`
|
|
80
81
|
(it writes `tester.site_identity` into `tutorial-state.json`).
|
|
81
82
|
2. Backstage, `Write` `public/style.css` exactly as below (Layer 2, ignored by
|
|
@@ -208,12 +209,6 @@ node server.js
|
|
|
208
209
|
> Open `http://localhost:3000`: there is your site, named after you, with a
|
|
209
210
|
> clean layout. Click **About** and back to **Home**.
|
|
210
211
|
>
|
|
211
|
-
> Now glance at the Map: it did not move. Everything you watched grow on the
|
|
212
|
-
> canvas is your harness, the `.md` files and how they reference each other
|
|
213
|
-
> (Layer 1). The pages and the stylesheet are Layer 2, what the harness
|
|
214
|
-
> produces, and skill-map maps the harness, not its output. Two layers, one
|
|
215
|
-
> project.
|
|
216
|
-
>
|
|
217
212
|
> Does the site load and look clean?
|
|
218
213
|
|
|
219
214
|
Wait for confirmation. If `node server.js` reports `Cannot find module
|
|
@@ -224,11 +219,6 @@ project root and Node is on PATH. Mark `setup`: done. Auto-advance to
|
|
|
224
219
|
|
|
225
220
|
## Chapter `add-page` - Add a page with your agent (~4 min)
|
|
226
221
|
|
|
227
|
-
**Context**: the daily move. You want a new page, so you ask your
|
|
228
|
-
`content-editor` to write it. This is the first time it runs **for real** (no
|
|
229
|
-
more playing the agent). It reads `docs/STYLE.md` and the shared stylesheet and
|
|
230
|
-
writes a new page into `public/`. The graph does not move (HTML is Layer 2).
|
|
231
|
-
|
|
232
222
|
**Preparation**: none until the tester asks.
|
|
233
223
|
|
|
234
224
|
Tell the tester:
|
|
@@ -269,14 +259,18 @@ Wait for confirmation. Mark `add-page`: done. Auto-advance to `broken-ref`.
|
|
|
269
259
|
|
|
270
260
|
## Chapter `broken-ref` - A rename breaks a link (~4 min)
|
|
271
261
|
|
|
272
|
-
**Context**:
|
|
273
|
-
|
|
274
|
-
|
|
262
|
+
**Context**: the daily safety net, and where skill-map earns its keep: rename and
|
|
263
|
+
move things freely, and skill-map shows you exactly what you forgot to update
|
|
264
|
+
before it ships broken.
|
|
275
265
|
|
|
276
266
|
**Preparation**: none (the tester drives). Everything here is watched live on
|
|
277
267
|
the Map; no `sm` commands.
|
|
278
268
|
|
|
279
|
-
Tell the tester to rename the deploy runbook
|
|
269
|
+
Tell the tester to free the third terminal, then rename the deploy runbook
|
|
270
|
+
themselves (their file):
|
|
271
|
+
|
|
272
|
+
> In your **third terminal** (the one running `node server.js`), press
|
|
273
|
+
> **Ctrl+C** to stop the site server, then rename the deploy runbook there:
|
|
280
274
|
|
|
281
275
|
```bash
|
|
282
276
|
mv docs/DEPLOY.md docs/DEPLOYMENT.md
|
|
@@ -293,9 +287,7 @@ mv docs/DEPLOY.md docs/DEPLOYMENT.md
|
|
|
293
287
|
> point the deploy-runbook link at `docs/DEPLOYMENT.md` (the new name). Save.
|
|
294
288
|
>
|
|
295
289
|
> Watch the **Map** again: the arrow snaps back, solid, and the red marker
|
|
296
|
-
> clears, all live, no command to run.
|
|
297
|
-
> move things freely, and skill-map shows you exactly what you forgot to update
|
|
298
|
-
> before it ships broken.
|
|
290
|
+
> clears, all live, no command to run.
|
|
299
291
|
>
|
|
300
292
|
> Did the broken marker appear and then clear?
|
|
301
293
|
|
|
@@ -305,10 +297,6 @@ done. Auto-advance to `reserved`.
|
|
|
305
297
|
|
|
306
298
|
## Chapter `reserved` - A reserved name collides (~2 min)
|
|
307
299
|
|
|
308
|
-
**Context**: you add a quick command to scaffold new pages and, without
|
|
309
|
-
thinking, name it `init`, a name Claude Code already owns for its own slash
|
|
310
|
-
command. skill-map warns you before the runtime silently ignores your file.
|
|
311
|
-
|
|
312
300
|
**Preparation**: `Write` `.claude/commands/init.md`:
|
|
313
301
|
```markdown
|
|
314
302
|
---
|
|
@@ -333,14 +321,12 @@ The watcher picks up the new command. Tell the tester:
|
|
|
333
321
|
> Rename it to `new-page`: first rename the file `.claude/commands/init.md` to
|
|
334
322
|
> `.claude/commands/new-page.md`. Then open it in your text editor / IDE and, at
|
|
335
323
|
> the top, where the frontmatter says `name: init`, change it to
|
|
336
|
-
> `name: new-page
|
|
337
|
-
> plain title, never `# /new-page`). Save.
|
|
324
|
+
> `name: new-page`. Save.
|
|
338
325
|
>
|
|
339
326
|
> Watch the **Map** again: the warning clears and the node is now `new-page`,
|
|
340
|
-
> all live.
|
|
341
|
-
>
|
|
342
|
-
>
|
|
343
|
-
> `new-page` is yours and the runtime will actually run it.
|
|
327
|
+
> all live. What cleared it was changing `frontmatter.name` (not just the
|
|
328
|
+
> filename), the reserved check looks at the name. Now `new-page` is yours and
|
|
329
|
+
> the runtime will run it.
|
|
344
330
|
>
|
|
345
331
|
> Did the warning clear after the rename?
|
|
346
332
|
|
|
@@ -352,12 +338,6 @@ Wait for confirmation. Mark `reserved`: done. Auto-advance to `publish`.
|
|
|
352
338
|
|
|
353
339
|
## Chapter `publish` - Ship it: run /publish for real (~4 min)
|
|
354
340
|
|
|
355
|
-
**Context**: the harness is not a picture, it is a set of instructions, and
|
|
356
|
-
`/publish` ties them together. You run it **for real** now: it invokes the link
|
|
357
|
-
checker over your pages, briefs the `content-editor` if anything needs a fix,
|
|
358
|
-
then follows the deploy runbook. This is the same Layer 1 / Layer 2 split, the
|
|
359
|
-
pages are output, so the Map stays put while the pipeline runs.
|
|
360
|
-
|
|
361
341
|
**Preparation**: make sure the pages exist (`index`, `about`, `projects` from the
|
|
362
342
|
earlier chapters; lay any that are missing from the templates in `setup`). When the tester asks to publish, **execute the publish flow for real**
|
|
363
343
|
by following `.claude/commands/publish.md`: run the `check-links` logic over
|
|
@@ -370,7 +350,9 @@ Tell the tester:
|
|
|
370
350
|
> The site is ready. Tell me to publish (or type `/publish`) and I'll run your
|
|
371
351
|
> publish command for real: I follow its steps, run the link check across your
|
|
372
352
|
> pages, fix anything through the `content-editor`, and walk the deploy runbook,
|
|
373
|
-
> exactly what the command says to do.
|
|
353
|
+
> exactly what the command says to do. (You can read the command's content
|
|
354
|
+
> anytime by clicking the `publish` node on the Map, then opening its **Body**
|
|
355
|
+
> section.)
|
|
374
356
|
|
|
375
357
|
After running the flow, report what actually happened (keep the promises
|
|
376
358
|
conditional on the real result):
|
|
@@ -385,9 +367,6 @@ conditional on the real result):
|
|
|
385
367
|
> regenerate the pages (done), run the link check (done), start the server
|
|
386
368
|
> (next chapter).
|
|
387
369
|
>
|
|
388
|
-
> And the Map did not move while the pipeline ran: the pages are Layer 2 output;
|
|
389
|
-
> the harness on the canvas is Layer 1, and that is what skill-map maps.
|
|
390
|
-
>
|
|
391
370
|
> As you saw in the lines just above, I did not report anything odd: the link
|
|
392
371
|
> check came back clean and `/publish` is wired correctly across your pages.
|
|
393
372
|
> Shall we continue?
|
|
@@ -396,46 +375,35 @@ Wait for confirmation. Mark `publish`: done. Auto-advance to `stability`.
|
|
|
396
375
|
|
|
397
376
|
## Chapter `stability` - Set a node's stability (and the `.sm` sidecar) (~3 min)
|
|
398
377
|
|
|
399
|
-
**Context**: real maintenance includes marking how mature each piece is. skill-map
|
|
400
|
-
lets you tag a node's **stability** (`experimental` / `stable` / `deprecated`)
|
|
401
|
-
from the inspector. That is skill-map's own metadata, so it lands in a co-located
|
|
402
|
-
**`.sm` sidecar** next to the file (the vendor file stays untouched), and the
|
|
403
|
-
first `.sm` write asks for your consent. Good moment now that the site shipped:
|
|
404
|
-
mark the handbook as the stable core it is.
|
|
405
|
-
|
|
406
378
|
**Preparation**: none for a first-time tester. (If re-entering a dir where the
|
|
407
379
|
sidecar already exists, reset consent first with `rm -f AGENTS.sm
|
|
408
380
|
.skill-map/settings.local.json` so the consent prompt shows again.)
|
|
409
381
|
|
|
410
382
|
Tell the tester:
|
|
411
383
|
|
|
412
|
-
> Your harness shipped, so let's
|
|
413
|
-
>
|
|
414
|
-
>
|
|
415
|
-
> `stable` from the list.
|
|
384
|
+
> Your harness shipped, so let's set its **stability**. Open the Inspector for
|
|
385
|
+
> the `AGENTS` node (click it on the **Map**) and click the **Set stability**
|
|
386
|
+
> button. Pick any of `experimental` / `stable` / `deprecated` from the list.
|
|
416
387
|
>
|
|
417
388
|
> The first time skill-map writes its own metadata it asks for **consent**:
|
|
418
|
-
> confirm it in the dialog that pops up. Two things happen at once: a
|
|
419
|
-
> badge appears on the `AGENTS` node, and skill-map
|
|
420
|
-
> (`AGENTS.sm`) right next to the handbook to
|
|
421
|
-
> itself is never touched. Your consent is
|
|
422
|
-
> will not ask again.
|
|
389
|
+
> confirm it in the dialog that pops up. Two things happen at once: a stability
|
|
390
|
+
> badge for the stage you picked appears on the `AGENTS` node, and skill-map
|
|
391
|
+
> creates a **`.sm` sidecar file** (`AGENTS.sm`) right next to the handbook to
|
|
392
|
+
> hold that metadata, your `AGENTS.md` itself is never touched. Your consent is
|
|
393
|
+
> remembered for the project, so it will not ask again.
|
|
423
394
|
>
|
|
424
395
|
> That sidecar is where skill-map keeps what it knows about a node that does not
|
|
425
|
-
> belong in the vendor file (stability, version, tags).
|
|
426
|
-
> one, by clicking, no command needed.
|
|
396
|
+
> belong in the vendor file (stability, version, tags).
|
|
427
397
|
>
|
|
428
|
-
> See the
|
|
398
|
+
> See the new stability badge on the handbook?
|
|
429
399
|
|
|
430
400
|
Wait for confirmation. Mark `stability`: done. Auto-advance to `golive`.
|
|
431
401
|
|
|
432
|
-
## Chapter `golive` - Your
|
|
402
|
+
## Chapter `golive` - Your website, live next to the graph (~3 min)
|
|
433
403
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
themselves; guide them, do not run it for them. `npm install` is idempotent, so
|
|
438
|
-
it is safe whether or not they ran it in `setup`.
|
|
404
|
+
One of the few chapters where the tester runs non-`sm` commands themselves;
|
|
405
|
+
guide them, do not run it for them. `npm install` is idempotent, so it is safe
|
|
406
|
+
whether or not they ran it in `setup`.
|
|
439
407
|
|
|
440
408
|
**Preparation**: none. `server.js` / `package.json` exist from the kickoff; the
|
|
441
409
|
pages exist from the earlier chapters.
|
|
@@ -451,7 +419,7 @@ node server.js
|
|
|
451
419
|
> Open `http://localhost:3000` and click through Home, About, and Projects, the
|
|
452
420
|
> pages your harness produced and shipped through the publish flow you just ran.
|
|
453
421
|
>
|
|
454
|
-
> Now take it in at once. On one side, your real running
|
|
422
|
+
> Now take it in at once. On one side, your real running website, named after
|
|
455
423
|
> you, that you could deploy as-is. On the other, the skill-map graph of the
|
|
456
424
|
> harness that built it: the handbook, the content-editor, the style guide, the
|
|
457
425
|
> publish command, the link checker, the deploy runbook, all wired together. You
|
|
@@ -466,7 +434,7 @@ Wait for confirmation. The tester runs the commands; do not run them. If
|
|
|
466
434
|
server with Ctrl+C and apply the ports edge case.
|
|
467
435
|
|
|
468
436
|
This is the campaign finale. Congratulate them plainly: they went from an empty
|
|
469
|
-
directory to a real, running
|
|
437
|
+
directory to a real, running website plus a complete map of its harness. Then
|
|
470
438
|
invite them to keep going on their own:
|
|
471
439
|
|
|
472
440
|
> And this site is yours to keep playing with: add more pages, refine the style
|
|
@@ -152,14 +152,10 @@ Tell the tester:
|
|
|
152
152
|
> (That is also why `@demo-agent` drew fine: an `@name` mention
|
|
153
153
|
> resolves when an agent by that name really exists.)
|
|
154
154
|
>
|
|
155
|
-
>
|
|
156
|
-
>
|
|
157
|
-
>
|
|
158
|
-
>
|
|
159
|
-
> simple, a reference
|
|
160
|
-
> that resolves draws a solid arrow, a reference that points at
|
|
161
|
-
> nothing is not drawn at all and gets flagged instead. The exact
|
|
162
|
-
> per-link numbers live in the inspector, next chapter.
|
|
155
|
+
> 💡 Tip: if all these changes left the nodes crowded together, the
|
|
156
|
+
> map toolbar has a **Re-arrange layout** button: it tidies the
|
|
157
|
+
> layout so everything reads better. If you've moved nodes by hand it
|
|
158
|
+
> asks for confirmation first, otherwise it just re-arranges.
|
|
163
159
|
>
|
|
164
160
|
> Confirm when you see the four arrows plus the broken-reference
|
|
165
161
|
> marker on the hub. If an arrow is missing, refresh the browser and
|
|
@@ -171,12 +167,6 @@ Expected: four drawn arrows plus one `core/reference-broken` error on `notes/tod
|
|
|
171
167
|
|
|
172
168
|
The canvas only draws the resolved arrows; the full per-link breakdown, including the broken one that never drew, lives in the Inspector. Open it on the hub so the tester registers the surface before the `edit-link` chapter changes topology.
|
|
173
169
|
|
|
174
|
-
> 💡 Tip: if all these changes left the nodes crowded together, the
|
|
175
|
-
> map toolbar has a **Re-arrange layout** button (tooltip "Re-arrange
|
|
176
|
-
> the visible nodes"): it tidies the layout so everything reads
|
|
177
|
-
> better. If you've moved nodes by hand it asks for confirmation
|
|
178
|
-
> first, otherwise it just re-arranges.
|
|
179
|
-
>
|
|
180
170
|
> 🆕 Open the Inspector for **Demo TODO list** (click the node on
|
|
181
171
|
> the map). Find the **Connections** section: it has two sections,
|
|
182
172
|
> **Outgoing** and **Incoming**.
|
|
@@ -187,7 +177,7 @@ The canvas only draws the resolved arrows; the full per-link breakdown, includin
|
|
|
187
177
|
> confidence: the numeric value. Here you'll see the contrast, the
|
|
188
178
|
> `references` to `demo-guideline2` reads `1.00` (resolved), while the
|
|
189
179
|
> `mentions` to `demo-guideline` reads `0.50` and is marked broken,
|
|
190
|
-
> that 0.5 is the broken-reference penalty, not
|
|
180
|
+
> that 0.5 is the broken-reference penalty, not "half sure".
|
|
191
181
|
>
|
|
192
182
|
> Now open the Inspector for a couple of the nodes to read their
|
|
193
183
|
> Incoming count. The four resolved nodes (`demo-agent`,
|
|
@@ -196,6 +186,11 @@ The canvas only draws the resolved arrows; the full per-link breakdown, includin
|
|
|
196
186
|
> mention never landed on it, so nothing points in. Five outgoing
|
|
197
187
|
> links on the hub, but only four of them reach a node.
|
|
198
188
|
>
|
|
189
|
+
> 💡 Tip: skill-map draws each connector's **confidence** as opacity.
|
|
190
|
+
> Every arrow here is solid (1.00) because it lands on a real node; a
|
|
191
|
+
> reference that points at nothing is flagged instead of drawn. The
|
|
192
|
+
> fainter, partial case shows up later in the campaign.
|
|
193
|
+
>
|
|
199
194
|
> Let me know when you see it.
|
|
200
195
|
|
|
201
196
|
Mark `inspector`: done.
|
|
@@ -252,18 +247,20 @@ action itself.
|
|
|
252
247
|
> Tell me when the tree is open.
|
|
253
248
|
|
|
254
249
|
> At the top of that sidebar there's a search box (placeholder
|
|
255
|
-
> `Search…`). Type `guideline`. Watch
|
|
256
|
-
>
|
|
257
|
-
>
|
|
258
|
-
>
|
|
259
|
-
>
|
|
250
|
+
> `Search…`). Type `guideline`. Watch the tree narrow down to the
|
|
251
|
+
> two guideline nodes (`demo-guideline` and `demo-guideline2`). The
|
|
252
|
+
> search matches a node's name, path, or description, and filters
|
|
253
|
+
> live as you type, no Enter needed. The **Map** stays put: by
|
|
254
|
+
> default the search filters only the files list, not the map (the
|
|
255
|
+
> tip below changes that).
|
|
260
256
|
>
|
|
261
|
-
> Now clear the box. All six nodes come back
|
|
262
|
-
>
|
|
257
|
+
> Now clear the box. All six nodes come back in the tree. Confirm you
|
|
258
|
+
> saw it filter and then restore.
|
|
263
259
|
|
|
264
|
-
> Last one. In the tree, find the **Demo TODO
|
|
265
|
-
>
|
|
266
|
-
>
|
|
260
|
+
> Last one. In the tree, find the `notes/todo` row (the **Demo TODO
|
|
261
|
+
> list** hub, the tree labels rows by file name): at its right edge
|
|
262
|
+
> there's a small **sitemap** icon (its tooltip reads "Isolate this
|
|
263
|
+
> node and its direct links on the map"). Click it.
|
|
267
264
|
>
|
|
268
265
|
> The Map collapses to **Demo TODO list** plus only the nodes it
|
|
269
266
|
> draws an arrow to (`demo-command`, `demo-skill`,
|
|
@@ -276,10 +273,9 @@ action itself.
|
|
|
276
273
|
>
|
|
277
274
|
> 💡 Tip: remember the search box from a moment ago? The map-icon
|
|
278
275
|
> button right next to it controls whether the search also filters
|
|
279
|
-
> the **Map**. It's
|
|
280
|
-
>
|
|
281
|
-
>
|
|
282
|
-
> in place.
|
|
276
|
+
> the **Map**. It's off by default, which is why the **Map** stayed
|
|
277
|
+
> put while only the tree narrowed when you searched `guideline`.
|
|
278
|
+
> Click it on if you want a search to filter the map too.
|
|
283
279
|
>
|
|
284
280
|
> Did the map isolate and then restore?
|
|
285
281
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Part
|
|
1
|
+
# Part 3 (b): Extend skill-map - plugins (step library, `tour-*` ids)
|
|
2
2
|
|
|
3
3
|
Guided tour of the **built-in plugins** that ship with `sm`. Three
|
|
4
4
|
steps: a quick mental model of what plugins are plus a peek at
|