@skill-map/cli 0.53.6 → 0.55.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/dist/cli/tutorial/sm-tutorial/SKILL.md +22 -24
- package/dist/cli/tutorial/sm-tutorial/references/_core.md +8 -7
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +21 -42
- package/dist/cli/tutorial/sm-tutorial/references/fixtures.md +15 -7
- package/dist/cli/tutorial/sm-tutorial/references/part-authoring.md +2 -2
- package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +1 -1
- package/dist/cli/tutorial/sm-tutorial/references/part-connect-harness.md +9 -10
- package/dist/cli/tutorial/sm-tutorial/references/part-daily-loop.md +563 -0
- package/dist/cli/tutorial/sm-tutorial/references/part-mcp.md +5 -1
- package/dist/cli/tutorial/sm-tutorial/references/part-plugins.md +7 -7
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +24 -12
- package/dist/cli/tutorial/sm-tutorial/references/part-settings.md +2 -2
- package/dist/cli.js +1019 -718
- package/dist/index.js +129 -15
- package/dist/kernel/index.d.ts +209 -89
- package/dist/kernel/index.js +129 -15
- package/dist/migrations/001_initial.sql +6 -1
- package/dist/ui/chunk-CN6IOM67.js +2 -0
- package/dist/ui/chunk-HPKRDGLH.js +123 -0
- package/dist/ui/{chunk-NBXEOYS4.js → chunk-LREXXX7T.js} +1 -1
- package/dist/ui/{chunk-7OJPO3XD.js → chunk-RGB5FBZL.js} +31 -30
- package/dist/ui/{chunk-4CXAL43H.js → chunk-XAM6VKXM.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/ui/{main-O4DGYJ62.js → main-7YXBWYHE.js} +3 -3
- package/dist/ui/{styles-L6FZYH7X.css → styles-HRJG67XW.css} +1 -1
- package/migrations/001_initial.sql +6 -1
- package/package.json +2 -2
- package/dist/cli/tutorial/sm-tutorial/references/part-live-site.md +0 -155
- package/dist/cli/tutorial/sm-tutorial/references/part-maintain.md +0 -284
- package/dist/cli/tutorial/sm-tutorial/references/part-run-harness.md +0 -181
- package/dist/ui/chunk-HWQTV6ZL.js +0 -2
- package/dist/ui/chunk-PRP3JSUU.js +0 -123
|
@@ -11,7 +11,7 @@ description: |
|
|
|
11
11
|
`tutorial-state.yml` for pause/resume. Triggers: "tutorial",
|
|
12
12
|
"sm-tutorial", "tutorial me", "run the tutorial", "ejecuta el
|
|
13
13
|
tutorial", "test skill-map", "advanced tutorial", "go deeper",
|
|
14
|
-
"tutorial avanzado"
|
|
14
|
+
"tutorial avanzado".
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# sm-tutorial: the skill-map book
|
|
@@ -44,7 +44,7 @@ prefix when a part spans several files: `settings-*` →
|
|
|
44
44
|
> For the tester this is a single guided session, never a course
|
|
45
45
|
> catalogue. Refer to a chapter by its tester-facing `section.chapter`
|
|
46
46
|
> number plus its friendly title (`_core.md` §Numbering); never expose
|
|
47
|
-
> the internal `order` index ("Part
|
|
47
|
+
> the internal `order` index ("Part 4", off by one from the menu), a
|
|
48
48
|
> raw "chapter id", or tour jargon ("the settings tour").
|
|
49
49
|
|
|
50
50
|
## Pre-flight (run once, silent on success)
|
|
@@ -201,9 +201,9 @@ set: `<provider_dir>/agents/demo-agent.md`,
|
|
|
201
201
|
`notes/private-credentials.md`. This is the
|
|
202
202
|
single source for that list. Four entry points delete exactly this set
|
|
203
203
|
when the prologue ran first in the dir: `portfolio-init`, the campaign
|
|
204
|
-
`seed` fast-forward, and `backstage-init` (Part
|
|
204
|
+
`seed` fast-forward, and `backstage-init` (Part 4), each so the part's
|
|
205
205
|
own fixture starts from a clean slate, plus start-over (§Menu, resume,
|
|
206
|
-
wrap-up). Part
|
|
206
|
+
wrap-up). Part 5 `cli` is the inverse
|
|
207
207
|
consumer: its `prologue-built` seed *lays* this fixture (the
|
|
208
208
|
connector-chapter subset, without `notes/private-credentials.md`)
|
|
209
209
|
instead of deleting it, see `fixtures.md` §Seed snapshots. Keep the list
|
|
@@ -286,6 +286,8 @@ tutorial:
|
|
|
286
286
|
provider: "<claude | agent-skills | antigravity>"
|
|
287
287
|
tester:
|
|
288
288
|
level: 2
|
|
289
|
+
# site_identity: { name, tagline } is added by the daily-loop `setup`
|
|
290
|
+
# chapter when the tester names their portfolio; absent until then.
|
|
289
291
|
parts: {} # filled in as the tester picks parts from the menu
|
|
290
292
|
findings_file: "./findings.md"
|
|
291
293
|
```
|
|
@@ -335,7 +337,7 @@ When a part begins, honour its `preflight` from the manifest:
|
|
|
335
337
|
`preflight: seed` to fast-forward into them directly, see the `seed`
|
|
336
338
|
case below; `portfolio-init` is just Part 1's flavour of that,
|
|
337
339
|
handling the Part 0 to Part 1 transition.)
|
|
338
|
-
- **`backstage-init`** (Part
|
|
340
|
+
- **`backstage-init`** (Part 4 `extend`): the part teaches plugins on
|
|
339
341
|
its own **master fixture**, distinct from both the demo and the
|
|
340
342
|
portfolio, so on entry make the master fixture the only one on disk.
|
|
341
343
|
Silently, with no narration: (1) clear whatever prior-part fixture is
|
|
@@ -355,10 +357,10 @@ When a part begins, honour its `preflight` from the manifest:
|
|
|
355
357
|
`Write` the part's fixture (read `references/fixtures.md` for the
|
|
356
358
|
verbatim `master-agent` / `master-skill` / `notes/ideas` files; skip
|
|
357
359
|
kinds the provider doesn't claim). If nothing needed clearing and the
|
|
358
|
-
dir was already initialised with the master fixture in place (Part
|
|
360
|
+
dir was already initialised with the master fixture in place (Part 4
|
|
359
361
|
re-entry), that is fine: skip the init and just ensure the fixture
|
|
360
362
|
files are present.
|
|
361
|
-
- **`seed: prologue-built`** (Part
|
|
363
|
+
- **`seed: prologue-built`** (Part 5 `cli`): the part reads the **Part 0
|
|
362
364
|
demo fixture**, NOT the cumulative portfolio, so on entry make that
|
|
363
365
|
fixture the one on disk. Read the state, then:
|
|
364
366
|
- Demo fixture already present (the tester came straight from the
|
|
@@ -371,21 +373,13 @@ When a part begins, honour its `preflight` from the manifest:
|
|
|
371
373
|
lay the `prologue-built` snapshot from `fixtures.md` (§Seed
|
|
372
374
|
snapshots), `sm init`, `sm scan`.
|
|
373
375
|
- Nothing there → lay the snapshot, `sm init`, `sm scan`.
|
|
374
|
-
- **`seed`** (the campaign parts `connect-harness`
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
376
|
+
- **`seed`** (the campaign parts `connect-harness` and `daily-loop`):
|
|
377
|
+
the part builds on the accumulating portfolio harness, but the tester
|
|
378
|
+
may have jumped straight here from the menu. On entry, read the state
|
|
379
|
+
file:
|
|
378
380
|
- If every predecessor campaign part up the `prereq` chain is `done`
|
|
379
381
|
→ reuse the accumulated state; an `sm scan` to refresh is enough,
|
|
380
|
-
nothing to lay.
|
|
381
|
-
after `extend` (Part 6) and `cli` (Part 7), which both replace the
|
|
382
|
-
portfolio on disk with their own master / demo fixture, so its
|
|
383
|
-
accumulated state cannot be trusted to still be the portfolio.
|
|
384
|
-
`mcp` therefore ALWAYS re-lays its `harness-connected` snapshot on
|
|
385
|
-
entry (clearing a master / demo fixture first if one is present,
|
|
386
|
-
the same clears the `backstage-init` and `prologue-built` cases
|
|
387
|
-
do), then `sm init` if `.skill-map/` is missing and `sm scan`,
|
|
388
|
-
exactly like the fast-forward branch below.
|
|
382
|
+
nothing to lay.
|
|
389
383
|
- Else → **fast-forward, silently** (backstage, do not narrate the
|
|
390
384
|
plumbing): first, if the prologue ran first in this dir, clear the
|
|
391
385
|
full Part 0 demo fixture set (§Fixture and state templates) so the
|
|
@@ -423,16 +417,20 @@ All three are specified in `_core.md`:
|
|
|
423
417
|
- **Routing + menu**: §Routing + menu. The session always starts at
|
|
424
418
|
the **numbered start menu** (Part 0 is option 1, the recommended
|
|
425
419
|
first pick); the menu (the ToC from `_manifest.yml`, numbered,
|
|
426
|
-
completed parts ticked, `planned` parts hidden
|
|
427
|
-
seedless parts, none today since
|
|
428
|
-
entry point on the first
|
|
420
|
+
completed parts ticked, `planned` parts hidden (so `mcp` stays out of
|
|
421
|
+
the menu), `prereq` gating only seedless parts, none today since
|
|
422
|
+
`cli` now self-seeds) is the entry point on the first
|
|
429
423
|
invocation and after every part closes / on resume. Render it with
|
|
430
424
|
the format in `_core.md` §Menu format.
|
|
431
425
|
- **Resume / restart**: §Resume / restart. On start-over, the exact
|
|
432
426
|
wipe list is whatever the tester's parts actually created:
|
|
433
427
|
`tutorial-state.yml`, `findings.md`, `.skillmapignore`,
|
|
434
428
|
`.skill-map/`, the full Part 0 demo fixture set (§Fixture and state
|
|
435
|
-
templates), the
|
|
429
|
+
templates), the portfolio fixture if any campaign part ran (see
|
|
430
|
+
`fixtures.md` §Portfolio fixture + §Seed snapshots, including the Daily
|
|
431
|
+
Loop's own additions: `docs/draft.md`, `public/style.css` and the
|
|
432
|
+
generated pages, the renamed `new-page` command, `AGENTS.sm`, and
|
|
433
|
+
`.skill-map/settings.local.json`), the Part 4 fixture if `extend` ran
|
|
436
434
|
(`<provider_dir>/agents/master-agent.md`,
|
|
437
435
|
`<provider_dir>/skills/master-skill/`, `notes/ideas.md`,
|
|
438
436
|
`.skill-map/plugins/`), `link-validation/` if the CLI part ran,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Core conventions (shared by every part)
|
|
2
2
|
|
|
3
|
-
This file is the single home for the conventions
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
This file is the single home for the conventions shared by every part
|
|
4
|
+
of the tutorial. The orchestrator `SKILL.md` loads it once; every
|
|
5
|
+
`part-*.md` step library assumes it. Do NOT restate these rules inside
|
|
6
|
+
a part file.
|
|
7
7
|
|
|
8
8
|
The tutorial is **one book**: an ordered sequence of **chapters
|
|
9
9
|
grouped in parts**, listed in `_manifest.yml`. A chapter is the
|
|
@@ -20,7 +20,8 @@ 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 5 the CLI deep-dive; `mcp` at Part 6 is parked / hidden). Use it
|
|
24
|
+
in `**Context**:` blocks and author
|
|
24
25
|
notes; NEVER say it to the tester, it is off by one from what they
|
|
25
26
|
see.
|
|
26
27
|
- **Tester-facing (`S.N`)**: every part is a **section** numbered by
|
|
@@ -318,11 +319,11 @@ For every chapter:
|
|
|
318
319
|
§Menu format).
|
|
319
320
|
- **Which parts to list**: parts in `order`, `status: active` only
|
|
320
321
|
(`planned` parts are hidden). A part with a `seed` (the campaign
|
|
321
|
-
parts plus
|
|
322
|
+
parts plus `cli`) is always shown, even out of order, its
|
|
322
323
|
`preflight: seed` fast-forwards the project into it (SKILL.md
|
|
323
324
|
§Entering a part). A part with a `prereq` but NO `seed` would be
|
|
324
325
|
shown only once its `prereq` is `done`; no active part is in that
|
|
325
|
-
state today (
|
|
326
|
+
state today (`cli` used to be, now it self-seeds).
|
|
326
327
|
- **After the tester picks**: walk that part; when it ends, run
|
|
327
328
|
§Closing a part (a tester-facing close, then this menu).
|
|
328
329
|
- **Adding content** is data-only: a new chapter in a part (or a new
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
# seed which snapshot to fast-forward to when this part is
|
|
21
21
|
# entered out of order (see fixtures.md §Seed snapshot:*).
|
|
22
22
|
# Campaign parts use a cumulative portfolio snapshot;
|
|
23
|
-
#
|
|
23
|
+
# `cli` uses the standalone `prologue-built` demo.
|
|
24
24
|
# prereq recommended predecessor. Gates the menu ONLY for a part
|
|
25
25
|
# with NO `seed`; a seedable part is always shown (its
|
|
26
26
|
# seed bridges the gap, predecessors get marked `skipped`).
|
|
@@ -51,7 +51,7 @@ parts:
|
|
|
51
51
|
- id: ignore ; title: "Silence a file via .skillmapignore" ; est_min: 2
|
|
52
52
|
|
|
53
53
|
- id: extend
|
|
54
|
-
order:
|
|
54
|
+
order: 4
|
|
55
55
|
title: "Extend skill-map for the site"
|
|
56
56
|
# Spans three chapter libraries; dispatch by chapter-id prefix:
|
|
57
57
|
# settings-* -> part-settings.md
|
|
@@ -81,7 +81,7 @@ parts:
|
|
|
81
81
|
- id: authoring-6-upgrade ; title: "Try `sm plugins upgrade`" ; est_min: 2
|
|
82
82
|
|
|
83
83
|
- id: cli
|
|
84
|
-
order:
|
|
84
|
+
order: 5
|
|
85
85
|
title: "The CLI in depth"
|
|
86
86
|
step_file: part-cli.md
|
|
87
87
|
pace: auto-advance
|
|
@@ -132,59 +132,38 @@ parts:
|
|
|
132
132
|
- id: links ; title: "Mentions (@) and references between assets" ; est_min: 3
|
|
133
133
|
- id: confidence ; title: "Connector confidence (opacity = certainty)" ; est_min: 2
|
|
134
134
|
|
|
135
|
-
- id:
|
|
135
|
+
- id: daily-loop
|
|
136
136
|
order: 3
|
|
137
|
-
title: "
|
|
138
|
-
step_file: part-
|
|
139
|
-
pace: auto-advance
|
|
140
|
-
preflight: seed
|
|
141
|
-
seed: harness-connected # fast-forward to here if the earlier parts are not done
|
|
142
|
-
prereq: connect-harness
|
|
143
|
-
status: active
|
|
144
|
-
chapters:
|
|
145
|
-
- id: generate ; title: "The agent generates the HTML in public/" ; est_min: 3
|
|
146
|
-
- id: serve ; title: "node server.js: your portfolio, live next to the graph" ; est_min: 3
|
|
147
|
-
- id: editor-live ; title: "Let the content-editor agent write a posts page (optional)" ; est_min: 3
|
|
148
|
-
|
|
149
|
-
- id: maintain
|
|
150
|
-
order: 4
|
|
151
|
-
title: "Maintain the harness"
|
|
152
|
-
step_file: part-maintain.md
|
|
137
|
+
title: "The daily loop (add, improve, publish)" # the campaign finale
|
|
138
|
+
step_file: part-daily-loop.md
|
|
153
139
|
pace: auto-advance
|
|
154
140
|
preflight: seed
|
|
155
141
|
seed: harness-connected # fast-forward to here if the earlier parts are not done
|
|
156
142
|
prereq: connect-harness
|
|
143
|
+
fixture: portfolio # reuses the wired harness; lays the pretty site (style.css + pages) as taught steps
|
|
157
144
|
status: active
|
|
158
145
|
chapters:
|
|
159
|
-
- id:
|
|
160
|
-
- id:
|
|
161
|
-
- id:
|
|
162
|
-
- id:
|
|
163
|
-
- id:
|
|
146
|
+
- id: setup ; title: "Make it yours, make it presentable" ; est_min: 3
|
|
147
|
+
- id: add-page ; title: "Add a page with your agent" ; est_min: 4
|
|
148
|
+
- id: orphan-draft ; title: "A page nobody links to yet" ; est_min: 2
|
|
149
|
+
- id: wire-and-improve ; title: "Wire the draft in" ; est_min: 3
|
|
150
|
+
- id: broken-ref ; title: "A rename breaks a link" ; est_min: 4
|
|
151
|
+
- id: reserved ; title: "A reserved name collides" ; est_min: 2
|
|
152
|
+
- id: publish ; title: "Ship it: run /publish for real" ; est_min: 4
|
|
153
|
+
- id: sidecar ; title: "Annotate the handbook (.sm and consent)" ; est_min: 3
|
|
154
|
+
- id: golive ; title: "Your portfolio, live next to the graph" ; est_min: 3
|
|
164
155
|
|
|
156
|
+
# ----- parked: MCP returns later as its own iteration (body kept in part-mcp.md) -----
|
|
165
157
|
- id: mcp
|
|
166
|
-
order:
|
|
167
|
-
title: "MCP"
|
|
158
|
+
order: 6
|
|
159
|
+
title: "MCP"
|
|
168
160
|
step_file: part-mcp.md
|
|
169
161
|
pace: auto-advance
|
|
170
162
|
preflight: seed
|
|
171
|
-
seed: harness-connected
|
|
163
|
+
seed: harness-connected
|
|
172
164
|
prereq: connect-harness
|
|
173
|
-
status:
|
|
165
|
+
status: planned # temporarily disabled, hidden from the menu. Body exists; re-enable when MCP returns.
|
|
174
166
|
chapters:
|
|
175
167
|
- id: mcp-node ; title: "content-editor declares an MCP tool; the mcp:// node appears" ; est_min: 3
|
|
176
168
|
|
|
177
|
-
- id: live-site
|
|
178
|
-
order: 5
|
|
179
|
-
title: "Ship the site (the full publish pipeline)" # the finale / climax
|
|
180
|
-
step_file: part-live-site.md
|
|
181
|
-
pace: auto-advance
|
|
182
|
-
preflight: seed
|
|
183
|
-
seed: harness-connected # fast-forward to here if the earlier parts are not done
|
|
184
|
-
prereq: connect-harness
|
|
185
|
-
status: active
|
|
186
|
-
chapters:
|
|
187
|
-
- id: pipeline ; title: "Run /publish end to end (check-links, brief, deploy runbook)" ; est_min: 4
|
|
188
|
-
- id: golive ; title: "Ship it: the richer site live next to the full graph" ; est_min: 3
|
|
189
|
-
|
|
190
169
|
findings_file: "./findings.md"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Fixture templates
|
|
2
2
|
|
|
3
3
|
Fixtures the orchestrator lays for the auto-fixtured parts. Two full
|
|
4
|
-
templates live here: the **master fixture** (Part
|
|
4
|
+
templates live here: the **master fixture** (Part 4, "Extend
|
|
5
5
|
skill-map", `backstage-init`) right below, and the **portfolio
|
|
6
6
|
fixture** (Part 1, "The project from zero", `portfolio-init`) at the
|
|
7
7
|
end of this file. The **Part 0 demo fixture** is not templated here:
|
|
@@ -18,7 +18,7 @@ context for. Holds for every command fixture wherever it is defined
|
|
|
18
18
|
(today: the prologue `demo-command`, the `publish` command, and the
|
|
19
19
|
`reserved` chapter's `init`).
|
|
20
20
|
|
|
21
|
-
## Master fixture (Part
|
|
21
|
+
## Master fixture (Part 4): layout (per provider)
|
|
22
22
|
|
|
23
23
|
Per §Provider detection in `SKILL.md`, the `<provider_dir>`
|
|
24
24
|
placeholder resolves to `.claude/` or `.agents/skills/` depending
|
|
@@ -130,7 +130,7 @@ Per finding:
|
|
|
130
130
|
Laid backstage before the tester's `sm init` in Part 1. The Express
|
|
131
131
|
skeleton (`server.js`, `package.json`, `public/index.html`) is plain
|
|
132
132
|
scaffolding, not `.md`, so the scan ignores it; it makes the project
|
|
133
|
-
real and runnable (Part 3 runs
|
|
133
|
+
real and runnable (the daily loop, Part 3, runs and ships it). The one boot node is the
|
|
134
134
|
handbook `AGENTS.md`. On `agent-skills` / Antigravity (no `agent`
|
|
135
135
|
kind) the harness still works: the agent member is created as a skill
|
|
136
136
|
in a later chapter.
|
|
@@ -148,6 +148,14 @@ Layout:
|
|
|
148
148
|
└── package.json
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
+
The daily loop (Part 3) grows this further as taught steps, all Layer 2
|
|
152
|
+
or loose notes (not part of the harness graph): `public/style.css` plus
|
|
153
|
+
the generated pages (`index.html` rewritten, `about.html`,
|
|
154
|
+
`projects.html`, `posts.html`), `docs/draft.md`, the renamed `new-page`
|
|
155
|
+
command, `AGENTS.sm`, and `.skill-map/settings.local.json`. The
|
|
156
|
+
start-over wipe and the `extend` / `cli` clears account for them via
|
|
157
|
+
this section.
|
|
158
|
+
|
|
151
159
|
### File: `AGENTS.md` (kind: markdown, the boot node)
|
|
152
160
|
|
|
153
161
|
No frontmatter: a real handbook is plain prose (this repo's own
|
|
@@ -208,7 +216,7 @@ Append to the universal `.skillmapignore` (written in pre-flight, see
|
|
|
208
216
|
## Seed snapshots (for `preflight: seed`)
|
|
209
217
|
|
|
210
218
|
When the orchestrator enters a seedable part out of order (the campaign
|
|
211
|
-
parts when their predecessors are not `done`, or Part
|
|
219
|
+
parts when their predecessors are not `done`, or Part 5 `cli` when the
|
|
212
220
|
demo fixture is not the one on disk), it fast-forwards the project by
|
|
213
221
|
laying the snapshot below, then `sm init` (if `.skill-map/` is missing) +
|
|
214
222
|
`sm scan`. These are **checklists, not content**: each row names a file
|
|
@@ -231,7 +239,7 @@ any cross-links:
|
|
|
231
239
|
3. `<provider_dir>/agents/content-editor.md` <- part-project-kickoff.md, chapter `first-agent`.
|
|
232
240
|
4. `docs/STYLE.md` and `docs/DEPLOY.md` <- part-project-kickoff.md, chapter `real-kinds`.
|
|
233
241
|
|
|
234
|
-
### Seed snapshot: `harness-connected` (start of
|
|
242
|
+
### Seed snapshot: `harness-connected` (start of the daily-loop part)
|
|
235
243
|
|
|
236
244
|
Everything in `harness-built`, PLUS the Part 2 wiring:
|
|
237
245
|
|
|
@@ -243,12 +251,12 @@ Everything in `harness-built`, PLUS the Part 2 wiring:
|
|
|
243
251
|
After laying a campaign snapshot the map matches the state a tester would
|
|
244
252
|
have at the END of the part just before the one being entered.
|
|
245
253
|
|
|
246
|
-
### Seed snapshot: `prologue-built` (Part
|
|
254
|
+
### Seed snapshot: `prologue-built` (Part 5 `cli`)
|
|
247
255
|
|
|
248
256
|
NOT cumulative and NOT the portfolio: this is the **Part 0 demo
|
|
249
257
|
fixture**, the six standalone demo nodes with `notes/todo` wired as the
|
|
250
258
|
hub, the clean state (`✓ No issues`) at the end of the prologue's
|
|
251
|
-
connector chapters. Part
|
|
259
|
+
connector chapters. Part 5 only reads it. Because it is a different
|
|
252
260
|
fixture from the portfolio, entry first resets any portfolio on disk
|
|
253
261
|
(see SKILL.md §Entering a part, the `cli` case).
|
|
254
262
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Part
|
|
1
|
+
# Part 4 (c): Extend skill-map - build plugins (step library, `authoring-*` ids)
|
|
2
2
|
|
|
3
|
-
Step bodies for the plugin-authoring chapters of Part
|
|
3
|
+
Step bodies for the plugin-authoring chapters of Part 4.
|
|
4
4
|
The SKILL.md orchestrator dispatches each `authoring-*` chapter id
|
|
5
5
|
here; `settings-*` ids it dispatches to `part-settings.md`.
|
|
6
6
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Part
|
|
1
|
+
# Part 5: 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
|
|
|
@@ -18,14 +18,13 @@ description: |
|
|
|
18
18
|
|
|
19
19
|
# check-links
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
the given root, follows every internal link, and reports the ones that
|
|
23
|
-
point at a file that does not exist.
|
|
21
|
+
The last gate before the site goes out.
|
|
24
22
|
|
|
25
23
|
## Steps
|
|
26
|
-
1.
|
|
27
|
-
2.
|
|
28
|
-
3.
|
|
24
|
+
1. List every HTML file under `public/`.
|
|
25
|
+
2. For each page, collect its internal links (every `href` to `/` or to a `.html` file).
|
|
26
|
+
3. Check the target exists under `public/` (treat `/` as `public/index.html`).
|
|
27
|
+
4. Report any link whose target is missing; if none, report "0 broken links".
|
|
29
28
|
```
|
|
30
29
|
|
|
31
30
|
Tell the tester:
|
|
@@ -63,9 +62,9 @@ description: |
|
|
|
63
62
|
The one command you run when the site is ready to go out.
|
|
64
63
|
|
|
65
64
|
## Steps
|
|
66
|
-
1. Run /check-links on the
|
|
67
|
-
2. If
|
|
68
|
-
3. Follow the [deploy runbook](../../docs/DEPLOY.md)
|
|
65
|
+
1. Run /check-links on the pages in public/. If it reports broken links, stop and fix them first.
|
|
66
|
+
2. If a page needs a content fix, brief @content-editor with the change.
|
|
67
|
+
3. Follow the [deploy runbook](../../docs/DEPLOY.md): regenerate pages, run the link check, start the server.
|
|
69
68
|
```
|
|
70
69
|
|
|
71
70
|
Continue the tester message:
|
|
@@ -107,7 +106,7 @@ Apply both edits with `Edit` (do not rewrite the files).
|
|
|
107
106
|
- When the site is ready to go out, run /publish.
|
|
108
107
|
```
|
|
109
108
|
|
|
110
|
-
**Edit `.claude/agents/content-editor.md`**: add this line
|
|
109
|
+
**Edit `.claude/agents/content-editor.md`**: add this line at the end of the body, after the `Rules:` line (substitute `<provider_dir>` per `_core.md`):
|
|
111
110
|
|
|
112
111
|
```markdown
|
|
113
112
|
Every page follows the [style guide](../../docs/STYLE.md).
|