@skill-map/cli 0.52.0 → 0.53.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.
Files changed (50) hide show
  1. package/dist/cli/tutorial/sm-tutorial/SKILL.md +239 -1659
  2. package/dist/cli/tutorial/sm-tutorial/references/_core.md +332 -0
  3. package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +175 -0
  4. package/dist/cli/tutorial/sm-tutorial/references/fixtures.md +251 -0
  5. package/dist/cli/tutorial/{sm-master/references/tour-authoring.md → sm-tutorial/references/part-authoring.md} +14 -15
  6. package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +267 -0
  7. package/dist/cli/tutorial/sm-tutorial/references/part-connect-harness.md +180 -0
  8. package/dist/cli/tutorial/sm-tutorial/references/part-fundamentals.md +424 -0
  9. package/dist/cli/tutorial/sm-tutorial/references/part-live-site.md +156 -0
  10. package/dist/cli/tutorial/sm-tutorial/references/part-maintain.md +286 -0
  11. package/dist/cli/tutorial/sm-tutorial/references/part-mcp.md +78 -0
  12. package/dist/cli/tutorial/{sm-master/references/tour-plugins.md → sm-tutorial/references/part-plugins.md} +11 -11
  13. package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +186 -0
  14. package/dist/cli/tutorial/{sm-master/references/tour-settings.md → sm-tutorial/references/part-settings.md} +22 -24
  15. package/dist/cli.js +1213 -550
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.js +334 -207
  18. package/dist/kernel/index.d.ts +320 -15
  19. package/dist/kernel/index.js +334 -207
  20. package/dist/migrations/001_initial.sql +36 -0
  21. package/dist/ui/chunk-EQ72PEHT.js +1 -0
  22. package/dist/ui/chunk-GBKHMJ4B.js +1110 -0
  23. package/dist/ui/chunk-GEI6INVH.js +515 -0
  24. package/dist/ui/chunk-JXRIGHET.js +552 -0
  25. package/dist/ui/{chunk-WQMZOINB.js → chunk-K2MAVAHG.js} +1 -1
  26. package/dist/ui/{chunk-BV323KTK.js → chunk-KHARMPTZ.js} +1 -1
  27. package/dist/ui/chunk-L4NIF75A.js +2 -0
  28. package/dist/ui/chunk-LCOYSPKE.js +1 -0
  29. package/dist/ui/chunk-OFDQMBSJ.js +1 -0
  30. package/dist/ui/chunk-P2DAPRK7.js +2 -0
  31. package/dist/ui/chunk-Q2A6FWC7.js +4 -0
  32. package/dist/ui/{chunk-ZNDMBION.js → chunk-TXTY24G4.js} +28 -30
  33. package/dist/ui/chunk-UBQUCSQ4.js +1 -0
  34. package/dist/ui/chunk-WFLPMCK4.js +392 -0
  35. package/dist/ui/chunk-YQFIXHKM.js +123 -0
  36. package/dist/ui/index.html +2 -2
  37. package/dist/ui/{main-2DWVSRRX.js → main-OYITFJ7B.js} +3 -3
  38. package/dist/ui/{styles-QBTVKEVX.css → styles-Q4NCOJQY.css} +1 -1
  39. package/migrations/001_initial.sql +36 -0
  40. package/package.json +10 -8
  41. package/dist/cli/tutorial/sm-master/SKILL.md +0 -688
  42. package/dist/cli/tutorial/sm-master/references/fixture-templates.md +0 -212
  43. package/dist/ui/chunk-5MCXQKRN.js +0 -1066
  44. package/dist/ui/chunk-6B5EAHIM.js +0 -1110
  45. package/dist/ui/chunk-AEA5GIA7.js +0 -1
  46. package/dist/ui/chunk-AQN27TN2.js +0 -123
  47. package/dist/ui/chunk-CAJ7ZI44.js +0 -1
  48. package/dist/ui/chunk-E2XO4JVD.js +0 -1
  49. package/dist/ui/chunk-VJ57LHDR.js +0 -4
  50. package/dist/ui/chunk-WMGW2UAL.js +0 -2
@@ -0,0 +1,186 @@
1
+ # Part 1: The project from zero (step library, `kickoff-*` ids)
2
+
3
+ The campaign turns real here. After the abstract prologue, the tester
4
+ starts an actual project: a tiny personal **portfolio website**,
5
+ fully static, served by a ~15-line Express server, plus the
6
+ `.claude/` **harness** that maintains it. skill-map maps the harness
7
+ (the `.md` assets and how they reference each other); the site itself
8
+ is plain HTML the harness produces (Part 5 generates it and runs the
9
+ server). `pace: per-step`, `preflight: portfolio-init`. Shared
10
+ conventions live in `_core.md`.
11
+
12
+ The orchestrator's `portfolio-init` pre-flight (backstage, silent)
13
+ has already laid the bare project skeleton before the tester runs
14
+ `sm init`: `server.js`, `package.json`, `public/index.html` (none of
15
+ which are `.md`, so the scan ignores them), the portfolio
16
+ `.skillmapignore`, and the handbook `AGENTS.md` (the one boot node).
17
+ The chapters grow the harness from there.
18
+
19
+ ## Chapter `kickoff` - Start the portfolio (~2 min)
20
+
21
+ **Context**: same `sm init` the tester learned in the prologue, but
22
+ now on a real project. The map will show the project's harness, not
23
+ throwaway demo nodes.
24
+
25
+ If the prologue (`fundamentals`) ran first in this directory, the
26
+ demo fixture (`demo-agent`, `demo-skill`, `notes/…`) is still on
27
+ disk. The orchestrator's `portfolio-init` already cleared it during
28
+ pre-flight, so the tester sees only the portfolio. If anything demo
29
+ lingers, mention it once and move on.
30
+
31
+ ```bash
32
+ sm init
33
+ sm
34
+ ```
35
+
36
+ Tell the tester:
37
+
38
+ > This is a real project now: a small **portfolio website**. It's
39
+ > static HTML served by a tiny Express server (`server.js`), and the
40
+ > `.claude/` folder is the **harness** (the helpers that maintain the
41
+ > site). skill-map maps that harness.
42
+ >
43
+ > Open the URL `sm` printed. You'll see **one node**: `AGENTS.md`,
44
+ > the project's handbook (the operating manual for the site).
45
+ > `server.js`, `package.json` and the HTML under `public/` are not
46
+ > `.md`, so skill-map leaves them out, it maps the harness, not the
47
+ > served files.
48
+ >
49
+ > See the handbook node? Then we start building.
50
+
51
+ Wait for confirmation. Mark `kickoff`: done.
52
+
53
+ ## Chapter `manual` - The handbook and CLAUDE.md (~2 min)
54
+
55
+ **Context**: the dogfood beat. Real Claude Code projects keep a
56
+ `CLAUDE.md` that just points at `AGENTS.md` (this very repo does).
57
+ That one-line pointer is a real `mentions` link, the tester's first
58
+ connector on the real project.
59
+
60
+ Tell the tester to create the file themselves (it is their project's
61
+ file, Inviolable rule #2):
62
+
63
+ > Create a file called `CLAUDE.md` at the project root with exactly
64
+ > this content:
65
+ >
66
+ > ```markdown
67
+ > @AGENTS.md
68
+ > ```
69
+ >
70
+ > Save it. Watch the map: a new `CLAUDE.md` node appears, with a
71
+ > `mentions` connector pointing at `AGENTS.md`. The `@name` token is
72
+ > the same mention syntax from the prologue, now doing real work: it
73
+ > tells anyone (and skill-map) that `CLAUDE.md` defers to the
74
+ > handbook. This is exactly how this tool's own repo is wired.
75
+ >
76
+ > Did the connector light up?
77
+
78
+ Wait for confirmation. Mark `manual`: done.
79
+
80
+ ## Chapter `first-agent` - The first harness agent (~2 min)
81
+
82
+ **Context**: the harness's job is content creation. Its first member
83
+ is `content-editor`, an agent that writes the site's HTML pages. Here
84
+ we only create it (the cross-references come in the next part).
85
+
86
+ `Write` `.claude/agents/content-editor.md` (substitute
87
+ `<provider_dir>` per `_core.md`; on `agent-skills` / Antigravity,
88
+ which has no `agent` kind, create a `skill` instead and adjust the
89
+ prose):
90
+
91
+ ```markdown
92
+ ---
93
+ name: content-editor
94
+ description: |
95
+ Writes and edits the portfolio's pages. Reads a brief, follows the
96
+ style guide, and emits the HTML into public/.
97
+ tools: [Read, Write]
98
+ model: sonnet
99
+ ---
100
+
101
+ # content-editor
102
+
103
+ Turns a short brief into a finished portfolio page. Follows the
104
+ conventions in the style guide and writes the result as static HTML
105
+ under public/.
106
+
107
+ Rules:
108
+ - One page per file under public/.
109
+ - Keep the markup plain; no framework, no client JS.
110
+ ```
111
+
112
+ Tell the tester:
113
+
114
+ > I added the first real member of your harness: an agent called
115
+ > `content-editor` (its job is to write the site's pages). A new
116
+ > `agent` node appeared on the map. Right now it stands alone; in the
117
+ > next part we wire it to the handbook and the style guide.
118
+ >
119
+ > See the new agent node?
120
+
121
+ Wait for confirmation. Mark `first-agent`: done.
122
+
123
+ ## Chapter `real-kinds` - The real kinds in context (~2 min)
124
+
125
+ **Context**: the prologue showed the four kinds on abstract demo
126
+ nodes. Now name them on the real project, and add the two markdown
127
+ docs the harness references later (the style guide and the deploy
128
+ runbook), so Part 3's maintenance beats have something to point at.
129
+
130
+ `Write` two docs (markdown kind):
131
+
132
+ `docs/STYLE.md`:
133
+ ```markdown
134
+ ---
135
+ name: style-guide
136
+ description: |
137
+ Writing and markup conventions every portfolio page follows.
138
+ tags: [docs, portfolio]
139
+ ---
140
+
141
+ # Style guide
142
+
143
+ - Short, plain sentences. No marketing fluff.
144
+ - One H1 per page; sections under H2.
145
+ - Every page links back to the home page.
146
+ ```
147
+
148
+ `docs/DEPLOY.md`:
149
+ ```markdown
150
+ ---
151
+ name: deploy-runbook
152
+ description: |
153
+ How the portfolio gets published once the pages are written.
154
+ tags: [docs, portfolio]
155
+ ---
156
+
157
+ # Deploy runbook
158
+
159
+ 1. Generate the pages into public/.
160
+ 2. Run the link check.
161
+ 3. Start the server: `node server.js`.
162
+ ```
163
+
164
+ Tell the tester:
165
+
166
+ > Two more nodes joined the map, both `markdown` (the catch-all kind
167
+ > for `.md` files that are not an agent, skill, or command):
168
+ > `docs/STYLE.md` (the style guide) and `docs/DEPLOY.md` (the deploy
169
+ > runbook). So now you have the real four kinds in front of you:
170
+ >
171
+ > - **agent**: `content-editor` (does work on your behalf).
172
+ > - **markdown**: `AGENTS.md`, `CLAUDE.md`, the two docs (plain notes
173
+ > and manuals).
174
+ > - **skill** and **command**: coming in the next part, when we add
175
+ > the link checker and the publish command and wire everything
176
+ > together.
177
+ >
178
+ > Your handbook now has a real harness around it. Next we connect it:
179
+ > the agent reaching the style guide, the command invoking the
180
+ > skill, the whole graph lighting up.
181
+ >
182
+ > Ready to connect the harness?
183
+
184
+ Wait for confirmation. Mark `real-kinds`: done. This closes Part 1;
185
+ the orchestrator returns to the ToC menu (Part 2, "Connect the
186
+ harness", is next on the spine).
@@ -1,28 +1,26 @@
1
- # Tour: settings + slots (step library, `settings-*` ids)
1
+ # Parte 6 (a): Extender skill-map - settings (step library, `settings-*` ids)
2
2
 
3
- Step bodies for two tours: option 1 (`settings`, runs
4
- `settings-1-layers`, `settings-2-resolve`, and `settings-3-lens`)
5
- and the single shared step `settings-6-contributions` borrowed by
6
- option 3 (`build-and-configure`). The SKILL.md orchestrator
7
- dispatches each `settings-*` id here; `authoring-*` ids it
8
- dispatches to `tour-authoring.md`.
3
+ Step bodies for the settings chapters of Part 6 (config layers, the
4
+ `sm config` verbs, the active provider lens), plus the shared step
5
+ `settings-6-contributions` that the plugin-authoring chapters reuse.
6
+ The SKILL.md orchestrator dispatches each `settings-*` chapter id
7
+ here; `authoring-*` ids it dispatches to `part-authoring.md`.
9
8
 
10
9
  The `.sm` consent gate (companion files, `allowEditSmFiles`,
11
- `sm sidecar annotate`) is covered end to end in the basic
12
- `sm-tutorial`, so this tour does NOT repeat it; it focuses on the
13
- config layer system and the `sm config` verbs, which the basic
14
- tutorial does not teach.
10
+ `sm sidecar annotate`) is covered elsewhere in this tutorial, so
11
+ these chapters do NOT repeat it; they focus on the config layer
12
+ system and the `sm config` verbs.
15
13
 
16
14
  ## Precondition check
17
15
 
18
- Same as the authoring step library: `.skill-map/` must exist in
19
- the cwd (pre-flight step 4 of `SKILL.md` ran `sm init --no-scan`
20
- and appended the master-tutorial's internal entries to
16
+ Same as the authoring chapters: `.skill-map/` must exist in the
17
+ cwd (the orchestrator's backstage-init pre-flight ran `sm init
18
+ --no-scan` and appended the tutorial's internal entries to
21
19
  `.skillmapignore`, so this is the expected state). If
22
20
  `.skill-map/` is missing, surface the bootstrap mismatch and
23
- stop, do not try to re-init mid-tour.
21
+ stop, do not try to re-init mid-chapter.
24
22
 
25
- ## Step `settings-1-layers` the config layers (~3 min)
23
+ ## Step `settings-1-layers` - the config layers (~3 min)
26
24
 
27
25
  **Context**: where settings live and how `sm` resolves a value
28
26
  when more than one place sets it.
@@ -74,7 +72,7 @@ in this list too.
74
72
 
75
73
  Mark `settings-1-layers: done`.
76
74
 
77
- ## Step `settings-2-resolve` read, resolve, and set a value (~3 min)
75
+ ## Step `settings-2-resolve` - read, resolve, and set a value (~3 min)
78
76
 
79
77
  **Context**: the four config verbs (`get`, `show`, `set`, `reset`)
80
78
  and how `show --source` reveals which layer won.
@@ -123,7 +121,7 @@ catalog is closed.)
123
121
 
124
122
  Mark `settings-2-resolve: done`.
125
123
 
126
- ## Step `settings-3-lens` the active provider lens (~4 min)
124
+ ## Step `settings-3-lens` - the active provider lens (~4 min)
127
125
 
128
126
  **Context**: the single most consequential setting, the lens that
129
127
  decides which provider types the project's files. It is reversible
@@ -188,14 +186,14 @@ Back where you started, nothing lost.
188
186
 
189
187
  Mark `settings-3-lens: done`.
190
188
 
191
- ## Step `settings-6-contributions` watch contributions land (~2 min)
189
+ ## Step `settings-6-contributions` - watch contributions land (~2 min)
192
190
 
193
191
  > Last step. Let's watch a contribution land on a node card live.
194
192
  > The fixture's `master-agent` declares `tools: [Read, Bash,
195
193
  > Edit]`, which the `core/tools-counter` extractor picks up.
196
194
 
197
195
  If the tester does not have `sm` running, ask them to launch it
198
- in their second terminal (same drill as the basic tutorial:
196
+ in their second terminal (same drill as the fundamentals part:
199
197
  `sm`, copy the link from the output, open the browser, arrange
200
198
  the screen). If `sm` is still running, leave it.
201
199
 
@@ -214,18 +212,18 @@ Once the UI is open, ask the tester to:
214
212
  > `card.footer.left`, the renderer is `NodeCounter` (same one your
215
213
  > scaffold uses), the payload was `{ value: 3 }`.
216
214
 
217
- If the `demo-highlight` plugin from the earlier authoring steps
218
- of this tour is still installed, point the tester at the
215
+ If the `demo-highlight` plugin from the earlier authoring chapters
216
+ of this part is still installed, point the tester at the
219
217
  contribution it emits too:
220
218
 
221
- > The `demo-highlight` you scaffolded earlier in this tour also
219
+ > The `demo-highlight` you scaffolded earlier in this part also
222
220
  > shows up: its chip lands on every node that has a TODO / FIXME
223
221
  > / XXX in its body. Click `notes/ideas` to find it.
224
222
 
225
223
  Have the tester change `master-agent`'s `tools` array (add or
226
224
  remove one tool), save, and watch the chip refresh.
227
225
 
228
- > Same flow as the basic tutorial's live UI: edit the markdown,
226
+ > Same flow as the fundamentals part's live UI: edit the markdown,
229
227
  > watch the UI refresh. The difference is that the value flowed
230
228
  > through a plugin (`core/tools-counter`) and landed in a specific
231
229
  > slot (`card.footer.left`). You now know the full path from `.md`