@skill-map/cli 0.60.4 → 0.61.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/README.md +1 -1
- package/dist/cli/tutorial/sm-tutorial/SKILL.md +161 -266
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/agents-hub/en/agents-hub.md +2 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/agents-hub/es/agents-hub.md +2 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/content-editor-style/en/content-editor-style.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/content-editor-style/es/content-editor-style.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/en/todo-bullet-agent.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/en/todo-bullet-command.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/en/todo-bullet-guideline.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/en/todo-bullet-guideline2.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/en/todo-bullet-skill.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/es/todo-bullet-agent.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/es/todo-bullet-command.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/es/todo-bullet-guideline.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/es/todo-bullet-guideline2.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/edits/todo-connectors/es/todo-bullet-skill.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/manifest.json +85 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/cli-external/en/link-validation/hijoA/note-with-external-link.md +10 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/cli-external/en/link-validation/hijoB/spec.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/cli-external/es/link-validation/hijoA/note-with-external-link.md +10 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/cli-external/es/link-validation/hijoB/spec.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/en/__PROVIDER__/commands/publish.md +15 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/en/__PROVIDER__/skills/check-links/SKILL.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/es/__PROVIDER__/commands/publish.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/harness/es/__PROVIDER__/skills/check-links/SKILL.md +17 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/en/__PROVIDER__/agents/master-agent.md +14 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/en/__PROVIDER__/skills/master-skill/SKILL.md +18 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/en/notes/ideas.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/es/__PROVIDER__/agents/master-agent.md +15 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/es/__PROVIDER__/skills/master-skill/SKILL.md +18 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/master/es/notes/ideas.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/en/AGENTS.md +6 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/en/__PROVIDER__/agents/content-editor.md +21 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/en/docs/DEPLOY.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/en/docs/STYLE.md +20 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/en/public/index.html +5 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/es/AGENTS.md +7 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/es/__PROVIDER__/agents/content-editor.md +21 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/es/docs/DEPLOY.md +12 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/es/docs/STYLE.md +21 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/es/public/index.html +5 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/shared/CLAUDE.md +1 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/shared/package.json +6 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/shared/server.js +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/en/__PROVIDER__/agents/demo-agent.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/en/__PROVIDER__/commands/demo-command.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/en/__PROVIDER__/skills/demo-skill/SKILL.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/en/notes/demo-guideline.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/en/notes/demo-guideline2.md +12 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/en/notes/private-credentials.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/en/notes/todo.md +9 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/es/__PROVIDER__/agents/demo-agent.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/es/__PROVIDER__/commands/demo-command.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/es/__PROVIDER__/skills/demo-skill/SKILL.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/es/notes/demo-guideline.md +16 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/es/notes/demo-guideline2.md +13 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/es/notes/private-credentials.md +11 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/prologue/es/notes/todo.md +9 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/universal/en/findings.md +10 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/universal/es/findings.md +10 -0
- package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/universal/shared/.skillmapignore +28 -0
- package/dist/cli/tutorial/sm-tutorial/references/_core.md +60 -40
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.json +304 -0
- package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +4 -5
- package/dist/cli/tutorial/sm-tutorial/references/fixtures.md +93 -271
- package/dist/cli/tutorial/sm-tutorial/references/part-authoring.md +1 -2
- package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +7 -30
- package/dist/cli/tutorial/sm-tutorial/references/part-connect-harness.md +21 -40
- package/dist/cli/tutorial/sm-tutorial/references/part-daily-loop.md +107 -194
- package/dist/cli/tutorial/sm-tutorial/references/part-fundamentals.md +58 -143
- package/dist/cli/tutorial/sm-tutorial/references/part-plugins.md +2 -3
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +22 -69
- package/dist/cli/tutorial/sm-tutorial/scripts/fixtures.js +238 -0
- package/dist/cli/tutorial/sm-tutorial/scripts/lib/args.js +29 -0
- package/dist/cli/tutorial/sm-tutorial/scripts/lib/fixtures-manifest.js +32 -0
- package/dist/cli/tutorial/sm-tutorial/scripts/lib/io.js +37 -0
- package/dist/cli/tutorial/sm-tutorial/scripts/lib/manifest.js +24 -0
- package/dist/cli/tutorial/sm-tutorial/scripts/lib/paths.js +68 -0
- package/dist/cli/tutorial/sm-tutorial/scripts/state.js +262 -0
- package/dist/cli.js +7 -8
- package/dist/index.js +6 -4
- package/dist/kernel/index.js +6 -4
- package/dist/ui/chunk-DG3EAGXB.js +3 -0
- package/dist/ui/index.html +1 -1
- package/dist/ui/{main-VJJVD754.js → main-32BO6UKY.js} +1 -1
- package/package.json +5 -3
- package/dist/ui/chunk-DDDCORVR.js +0 -3
|
@@ -6,7 +6,7 @@ The live-UI prologue: the tester runs `sm init`, opens the browser, and watches
|
|
|
6
6
|
|
|
7
7
|
Agent background (do NOT render this as a separate context paragraph; the tester-facing version is folded into the message below): `sm init` creates a hidden `.skill-map/` folder in the cwd holding the database where skill-map stores what it learns about the project, and runs an initial scan (mandatory first step). Typing `sm` alone (no arguments) in an initialised dir then starts the UI server with the watcher built in (it is just an alias of `sm serve` with all defaults; the moment you need any flag you write `sm serve --flag ...` explicitly). One process, one terminal: it boots the server, scans the `.md` files, detects changes, and pushes events over WebSocket to the live UI. The next chapters all run against this same `sm` session, you boot it here and keep it alive through the `ignore` chapter.
|
|
8
8
|
|
|
9
|
-
Expected: `.skill-map/skill-map.db` appears (plus config files), and the initial scan reports a small node / link count from the demo-agent fixture. `sm init` runs and exits; `sm` then starts the UI server and stays running. (Agent context, do not narrate: pre-flight's `.skillmapignore` keeps the tutorial's own files, `sm-tutorial.md` / `findings.md` / `tutorial-state.
|
|
9
|
+
Expected: `.skill-map/skill-map.db` appears (plus config files), and the initial scan reports a small node / link count from the demo-agent fixture. `sm init` runs and exits; `sm` then starts the UI server and stays running. (Agent context, do not narrate: pre-flight's `.skillmapignore` keeps the tutorial's own files, `sm-tutorial.md` / `findings.md` / `tutorial-state.json`, out of the scan; `sm init` leaves that file alone since it only writes when absent.)
|
|
10
10
|
|
|
11
11
|
Give the tester the whole flow in ONE message with ONE confirmation, do NOT pause for the `sm init` output separately. Order matters: **lead with the browser setup**, then explain what the two commands do as you hand them over, then the command block, then the URL. Do NOT print the command block or an explanation paragraph before the browser instruction. Don't hardcode the URL, the verb logs the bound `http://host:port` after listen. Tell the tester:
|
|
12
12
|
|
|
@@ -36,114 +36,28 @@ Wait for confirmation. Mark `init`: done.
|
|
|
36
36
|
|
|
37
37
|
## Chapter `kinds` - The other kinds appear (~1 min)
|
|
38
38
|
|
|
39
|
-
Leave the browser open and the terminal with `sm` running. You create five more nodes **without any cross-fixture links** yet, pure standalone nodes, so the tester sees five new
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
Example skill that walks a file and returns a Markdown report.
|
|
49
|
-
Showcases the `skill` kind in the demo map.
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
# demo-skill
|
|
53
|
-
|
|
54
|
-
This skill walks a file and returns a report. Will be wired up
|
|
55
|
-
to the rest of the demo fixture in the next sub-step.
|
|
56
|
-
|
|
57
|
-
## Steps
|
|
58
|
-
1. Read the `target`.
|
|
59
|
-
2. Validate the frontmatter against the schemas.
|
|
60
|
-
3. Generate the report.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
2. `.claude/commands/demo-command.md` (kind: command):
|
|
64
|
-
```markdown
|
|
65
|
-
---
|
|
66
|
-
name: demo-command
|
|
67
|
-
description: |
|
|
68
|
-
Example slash command that wraps the demo-skill. Showcases the
|
|
69
|
-
`command` kind.
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
# demo-command
|
|
73
|
-
|
|
74
|
-
Quick entry point for running the demo flow on a target file.
|
|
75
|
-
Connectors land in the next sub-step.
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
3. `notes/todo.md`, classified as `kind: markdown` today
|
|
79
|
-
(the catch-all for `.md` files outside the
|
|
80
|
-
skill / agent / command folders):
|
|
81
|
-
```markdown
|
|
82
|
-
---
|
|
83
|
-
name: Demo TODO list
|
|
84
|
-
description: |
|
|
85
|
-
Live list of things to review in the demo. Will become the
|
|
86
|
-
hub that points to the rest of the fixture in the next
|
|
87
|
-
sub-step.
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
# Pending
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
4. `notes/demo-guideline.md`, second `kind: markdown` node, reached
|
|
94
|
-
in the `connectors` chapter by a bare `@`-mention that resolves to
|
|
95
|
-
no agent, so it surfaces as a broken reference instead of a drawn
|
|
96
|
-
connector:
|
|
97
|
-
```markdown
|
|
98
|
-
---
|
|
99
|
-
name: demo-guideline
|
|
100
|
-
description: |
|
|
101
|
-
Static reference notes the rest of the demo points at. The hub
|
|
102
|
-
reaches it with a bare `@`-mention, which resolves to no agent,
|
|
103
|
-
so skill-map flags it as a broken reference (0.50) instead of
|
|
104
|
-
drawing an arrow.
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
# Demo Guideline
|
|
108
|
-
|
|
109
|
-
Conventions the demo fixture follows:
|
|
110
|
-
|
|
111
|
-
- Names match the file basename.
|
|
112
|
-
- Frontmatter `description` is short and human-readable.
|
|
113
|
-
- Body stays minimal, only what's needed to teach the kind.
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
5. `notes/demo-guideline2.md`, a sibling `markdown` node identical
|
|
117
|
-
to `demo-guideline`, reached by the same handle plus a `.md`
|
|
118
|
-
extension (`@demo-guideline2.md`), which makes it a file reference
|
|
119
|
-
that resolves to this node and lands at full confidence:
|
|
120
|
-
```markdown
|
|
121
|
-
---
|
|
122
|
-
name: demo-guideline2
|
|
123
|
-
description: |
|
|
124
|
-
Sibling of demo-guideline. The hub reaches it with an
|
|
125
|
-
`@`-mention that carries the `.md` extension, so the link
|
|
126
|
-
resolves to this file and lands certain (1.00).
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
# Demo Guideline 2
|
|
130
|
-
|
|
131
|
-
Same conventions as demo-guideline; it exists so the hub can
|
|
132
|
-
reach it with a resolved reference instead of a bare mention.
|
|
133
|
-
```
|
|
39
|
+
Leave the browser open and the terminal with `sm` running. You create five more nodes **without any cross-fixture links** yet, pure standalone nodes, so the tester sees five new nodes pop in. Three new **kinds** show up in this step (skill, command, markdown); the last two files are sibling `markdown` notes (`demo-guideline`, `demo-guideline2`) the hub in the `connectors` chapter reaches two ways, a bare mention that resolves to nothing (which lands as a broken reference, no arrow drawn) and the same handle plus `.md` that resolves to a real file (a solid arrow).
|
|
40
|
+
|
|
41
|
+
Lay these five files in one go (their content + translation live in `fixtures-data/`). The script resolves `__PROVIDER__` and auto-skips kinds the provider does not claim (`agent-skills` / Antigravity: both `demo-agent` and `demo-command` fold away, only the skill + the three markdown notes remain), so read the actual node count from the summary's `nodeCount`. Backstage (silent):
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js lay prologue --only "__PROVIDER__/skills/demo-skill/SKILL.md,__PROVIDER__/commands/demo-command.md,notes/todo.md,notes/demo-guideline.md,notes/demo-guideline2.md" --provider <provider> --lang <lang>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Adjust the node count, the "five new nodes" message, and the file list shown to the tester in the sample below to match the laid set.
|
|
134
48
|
|
|
135
49
|
Tell the tester:
|
|
136
50
|
|
|
137
51
|
> Look at the browser. Five new nodes should have popped in:
|
|
138
52
|
> `demo-skill`, `demo-command`, **Demo TODO list**, `demo-guideline`,
|
|
139
53
|
> and `demo-guideline2`.
|
|
140
|
-
> Six total now, **still unconnected**: they're floating
|
|
54
|
+
> Six total now, **still unconnected**: they're floating nodes.
|
|
141
55
|
> The viewport auto-fits whenever a node is added or removed, so
|
|
142
56
|
> all six should be visible without panning.
|
|
143
57
|
>
|
|
144
58
|
> What I just did behind the scenes: I created five new files in
|
|
145
59
|
> your project, and the watcher picked them up on its own, that's
|
|
146
|
-
> why five new
|
|
60
|
+
> why five new nodes appeared without you running anything:
|
|
147
61
|
>
|
|
148
62
|
> - `.claude/skills/demo-skill/SKILL.md` (kind: skill)
|
|
149
63
|
> - `.claude/commands/demo-command.md` (kind: command)
|
|
@@ -195,25 +109,20 @@ You edit `notes/todo.md` so it becomes the **hub** that points to each of the ot
|
|
|
195
109
|
|
|
196
110
|
Five bullets, three kinds: `invokes` and `mentions` each appear twice, `references` once. The last two bullets are the resolution lesson: a bare `@demo-guideline` mention (which resolves to no agent, so it lands as a broken reference and draws no arrow) next to `@demo-guideline2.md`, the same handle shape plus a `.md` extension that points at a real sibling file (so it resolves and draws a solid arrow). Two separate nodes, one broken and one resolved. Five bullets but only four arrows on the canvas.
|
|
197
111
|
|
|
198
|
-
Apply
|
|
112
|
+
Apply the hub bullets (their content + translation live in `fixtures-data/`). The edit appends after the `# Pending` heading; the script drops any bullet whose target kind the provider does not claim (on `agent-skills` / Antigravity there is no agent and no command → the `@demo-agent` and `/demo-command` bullets fold away; the two guideline bullets stay, so the resolution contrast, broken mention 0.50 (no arrow drawn) vs resolved reference 1.00 (solid arrow), is intact on those providers too). Backstage (silent):
|
|
199
113
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
```markdown
|
|
203
|
-
- [ ] Brief @demo-agent on the rough edges.
|
|
204
|
-
- [ ] Run /demo-command before publishing.
|
|
205
|
-
- [ ] Trigger /demo-skill when the input lands.
|
|
206
|
-
- [ ] Ping @demo-guideline if the conventions change.
|
|
207
|
-
- [ ] Ping @demo-guideline2.md if the conventions change.
|
|
114
|
+
```
|
|
115
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js edit todo-connectors --provider <provider> --lang <lang>
|
|
208
116
|
```
|
|
209
117
|
|
|
210
118
|
Tell the tester:
|
|
211
119
|
|
|
212
|
-
> Look at the magic again. **Demo TODO list** is now the hub.
|
|
213
|
-
>
|
|
214
|
-
>
|
|
120
|
+
> Look at the magic again. **Demo TODO list** is now the hub. I added
|
|
121
|
+
> five linking bullets to it (open `notes/todo.md` in your editor to
|
|
122
|
+
> see them), and **four arrows** light up between it and the other
|
|
123
|
+
> nodes, each coloured by the link kind it carries:
|
|
215
124
|
>
|
|
216
|
-
> - `Demo TODO list → demo-agent` (kind: `mentions`, the
|
|
125
|
+
> - `Demo TODO list → demo-agent` (kind: `mentions`, the `@name` mention resolves to a real agent)
|
|
217
126
|
> - `Demo TODO list → demo-command` (kind: `invokes`)
|
|
218
127
|
> - `Demo TODO list → demo-skill` (kind: `invokes`)
|
|
219
128
|
> - `Demo TODO list → demo-guideline2` (kind: `references`, the `@` handle with a `.md` extension)
|
|
@@ -224,17 +133,17 @@ Tell the tester:
|
|
|
224
133
|
> extension turns the name drop into a file pointer.
|
|
225
134
|
>
|
|
226
135
|
> So why four arrows for five bullets? The fifth bullet,
|
|
227
|
-
> `@demo-guideline`, is a
|
|
228
|
-
>
|
|
229
|
-
>
|
|
230
|
-
>
|
|
136
|
+
> `@demo-guideline`, is a reference skill-map cannot resolve: an
|
|
137
|
+
> `@name` mention points at an *agent* with that name, and there is no
|
|
138
|
+
> agent called `demo-guideline` (it is a note), so the reference lands
|
|
139
|
+
> on nothing. skill-map draws no arrow and instead flags the hub with a
|
|
231
140
|
> **broken reference**, a red error marker on the **Demo TODO list**
|
|
232
141
|
> card. Compare it with the bullet right after: `@demo-guideline2.md`
|
|
233
|
-
> adds the `.md`,
|
|
234
|
-
> `demo-guideline2.md` node
|
|
235
|
-
>
|
|
236
|
-
> (That is also why `@demo-agent` drew fine:
|
|
237
|
-
>
|
|
142
|
+
> adds the `.md`, which makes it point at the **file** instead, so
|
|
143
|
+
> skill-map finds the real `demo-guideline2.md` node and draws a solid
|
|
144
|
+
> arrow. Same name, one `.md` apart: one resolves, the other does not.
|
|
145
|
+
> (That is also why `@demo-agent` drew fine: an `@name` mention
|
|
146
|
+
> resolves when an agent by that name really exists.)
|
|
238
147
|
>
|
|
239
148
|
> One word on solidity: skill-map draws each connector's
|
|
240
149
|
> **confidence** as opacity, and every arrow you see here is fully
|
|
@@ -249,7 +158,7 @@ Tell the tester:
|
|
|
249
158
|
> marker on the hub. If an arrow is missing, refresh the browser and
|
|
250
159
|
> let me know.
|
|
251
160
|
|
|
252
|
-
Expected: four drawn arrows plus one `core/reference-broken` error on `notes/todo.md` for the unresolved `@demo-guideline` mention (the
|
|
161
|
+
Expected: four drawn arrows plus one `core/reference-broken` error on `notes/todo.md` for the unresolved `@demo-guideline` mention (the broken-reference preview; the tester resolves it by hand in the `edit-link` chapter by adding `.md`, and the campaign and CLI parts re-seed their own pristine copy from `prologue-built`). If an arrow is missing, do not advance, the next chapter inspects the same hub edit. Mark `connectors`: done.
|
|
253
162
|
|
|
254
163
|
## Chapter `inspector` - The inspector and connections (~1 min)
|
|
255
164
|
|
|
@@ -262,8 +171,8 @@ The canvas only draws the resolved arrows; the full per-link breakdown, includin
|
|
|
262
171
|
> first, otherwise it just re-arranges.
|
|
263
172
|
>
|
|
264
173
|
> 🆕 Open the Inspector for **Demo TODO list** (click the node on
|
|
265
|
-
> the map).
|
|
266
|
-
>
|
|
174
|
+
> the map). Find the **Connections** section: it has two sections,
|
|
175
|
+
> **Outgoing** and **Incoming**.
|
|
267
176
|
> Demo TODO list lists **5 links** under Outgoing (the canvas drew
|
|
268
177
|
> four arrows, but the data keeps the broken `@demo-guideline` mention
|
|
269
178
|
> as a fifth row) and 0 under Incoming. Each row shows the link kind
|
|
@@ -286,7 +195,7 @@ Mark `inspector`: done.
|
|
|
286
195
|
|
|
287
196
|
## Chapter `edit-link` - Edit a link, the topology changes (~3 min)
|
|
288
197
|
|
|
289
|
-
**Context**: the `first-edit` chapter had the tester edit a scalar (`description`) and watch the inspector card refresh. This chapter raises the bar: edit
|
|
198
|
+
**Context**: the `first-edit` chapter had the tester edit a scalar (`description`) and watch the inspector card refresh. This chapter raises the bar: edit Markdown links and watch the MAP TOPOLOGY change both ways, a connector disappears when you remove a link, and a new one appears (clearing the broken-reference error) when you fix the unresolved one.
|
|
290
199
|
|
|
291
200
|
The server has been live since the `init` chapter, leave it running; this chapter and the next two (the workspace tour, then `.skillmapignore`) reuse it.
|
|
292
201
|
|
|
@@ -297,8 +206,24 @@ The server has been live since the `init` chapter, leave it running; this chapte
|
|
|
297
206
|
> Expected: the `Demo TODO list → demo-agent` connector (kind:
|
|
298
207
|
> `mentions`) disappears in real time. The two nodes stay in the
|
|
299
208
|
> **Map**; only the edge goes.
|
|
209
|
+
>
|
|
210
|
+
> Tell me when the connector is gone.
|
|
300
211
|
|
|
301
|
-
|
|
212
|
+
Once they confirm, the second edit fixes the broken reference. Tell the tester:
|
|
213
|
+
|
|
214
|
+
> Now the other direction, fix the broken link. Edit `notes/todo.md`
|
|
215
|
+
> again and add the `.md` extension to the `@demo-guideline` bullet so
|
|
216
|
+
> it reads `@demo-guideline.md`. Save.
|
|
217
|
+
>
|
|
218
|
+
> Expected: a NEW arrow appears, `Demo TODO list → demo-guideline`
|
|
219
|
+
> (kind: `references`), and the red broken-reference marker on the hub
|
|
220
|
+
> clears. The `.md` turned the unresolved mention into a file
|
|
221
|
+
> reference that lands on the real `demo-guideline.md`, the same fix
|
|
222
|
+
> you saw side by side in the connectors chapter, now done by hand.
|
|
223
|
+
>
|
|
224
|
+
> Confirm when the new arrow is in and the red marker is gone.
|
|
225
|
+
|
|
226
|
+
You verify by reading `notes/todo.md` to confirm both edits landed (the `@demo-agent` bullet gone, `@demo-guideline` now `@demo-guideline.md`); the prologue's broken reference is now resolved. (On `agent-skills`, where the `@demo-agent` bullet was never created in the `connectors` chapter, ask the tester to remove the only bullet they did add for the first edit; the `.md` fix on `@demo-guideline` is identical.) Once they confirm, leave the server running, the next chapter reuses it. Mark `edit-link`: done.
|
|
302
227
|
|
|
303
228
|
## Chapter `workspace` - Navigate the workspace (files, search, isolate) (~2 min)
|
|
304
229
|
|
|
@@ -306,7 +231,11 @@ You verify by reading `notes/todo.md` to confirm the change was applied. (On `ag
|
|
|
306
231
|
|
|
307
232
|
Per §Provider detection, on `agent-skills` / Antigravity the fixture has fewer nodes (`demo-skill` plus the two `notes/` files), so swap the node names below for ones that exist in that set; the gestures are identical.
|
|
308
233
|
|
|
309
|
-
|
|
234
|
+
Walk the three tester actions below one at a time (open the Files
|
|
235
|
+
panel, then search, then isolate); each ends with its own
|
|
236
|
+
confirmation, so present one and wait for the tester before the next.
|
|
237
|
+
Do NOT prepend an intro line to a block, each already opens with the
|
|
238
|
+
action itself.
|
|
310
239
|
|
|
311
240
|
> Open the **Files** panel. It sits collapsed against the left edge
|
|
312
241
|
> by default: click the expand handle there (the `>` arrow, its
|
|
@@ -317,8 +246,6 @@ Per §Provider detection, on `agent-skills` / Antigravity the fixture has fewer
|
|
|
317
246
|
>
|
|
318
247
|
> Tell me when the tree is open.
|
|
319
248
|
|
|
320
|
-
**Beat 2, search (tester does this).**
|
|
321
|
-
|
|
322
249
|
> At the top of that sidebar there's a search box (placeholder
|
|
323
250
|
> `Search…`). Type `guideline`. Watch both halves at once: the tree
|
|
324
251
|
> narrows down to the two guideline nodes (`demo-guideline` and
|
|
@@ -329,8 +256,6 @@ Per §Provider detection, on `agent-skills` / Antigravity the fixture has fewer
|
|
|
329
256
|
> Now clear the box. All six nodes come back, in both the tree and
|
|
330
257
|
> the Map. Confirm you saw it filter and then restore.
|
|
331
258
|
|
|
332
|
-
**Beat 3, isolate (tester does this).**
|
|
333
|
-
|
|
334
259
|
> Last one. In the tree, find the **Demo TODO list** row: at its
|
|
335
260
|
> right edge there's a small **sitemap** icon (its tooltip reads
|
|
336
261
|
> "Isolate this node and its direct links on the map"). Click it.
|
|
@@ -363,20 +288,10 @@ Earlier chapters showed the watcher picking up new files and edits (yours and th
|
|
|
363
288
|
|
|
364
289
|
**The agent seeds the file (no tester action, no separate pause).**
|
|
365
290
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
```markdown
|
|
369
|
-
---
|
|
370
|
-
name: private-credentials
|
|
371
|
-
description: |
|
|
372
|
-
Personal API tokens, exists in the repo but should not show
|
|
373
|
-
up in skill-map's map. Demonstrates the .skillmapignore
|
|
374
|
-
flow.
|
|
375
|
-
---
|
|
291
|
+
Lay `notes/private-credentials.md`, kind `markdown`, which simulates a file the tester would never want surfacing publicly (its content + translation live in `fixtures-data/`). Backstage (silent):
|
|
376
292
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
API_TOKEN: example-not-real
|
|
293
|
+
```
|
|
294
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js lay prologue --only "notes/private-credentials.md" --provider <provider> --lang <lang>
|
|
380
295
|
```
|
|
381
296
|
|
|
382
297
|
It lands in the map as a seventh node (`notes/private-credentials`); the watcher sees it like any other `.md`. Do NOT pause to confirm the appearance, it folds into the single vanish confirmation at the end of this step.
|
|
@@ -17,7 +17,7 @@ Before announcing the first step, verify the fixture is initialised
|
|
|
17
17
|
`backstage-init` preflight ran `sm init --no-scan` to provision it;
|
|
18
18
|
the universal `.skillmapignore` from pre-flight keeps the tutorial's
|
|
19
19
|
own files out of the scan. If any of that is missing, surface the
|
|
20
|
-
bootstrap mismatch ("tutorial-state.
|
|
20
|
+
bootstrap mismatch ("tutorial-state.json says we are running, but
|
|
21
21
|
the bootstrap is missing. Re-run the tutorial from an empty dir or
|
|
22
22
|
restore the files.") and stop.
|
|
23
23
|
|
|
@@ -189,8 +189,7 @@ Mark `tour-3-explore: done`.
|
|
|
189
189
|
>
|
|
190
190
|
> Anything weird worth logging? If not, back to the menu.
|
|
191
191
|
|
|
192
|
-
Mark the
|
|
193
|
-
matching harness task, return to the menu in `SKILL.md`.
|
|
192
|
+
Mark the chapters done (rule #4) and return to the menu in `SKILL.md`.
|
|
194
193
|
|
|
195
194
|
## Reference: how `sm` decides what to load
|
|
196
195
|
|
|
@@ -65,16 +65,18 @@ Tell the tester:
|
|
|
65
65
|
|
|
66
66
|
Wait for confirmation. Mark `kickoff`: done.
|
|
67
67
|
|
|
68
|
-
## Chapter `manual` - The handbook and CLAUDE.md (~2 min)
|
|
68
|
+
## Chapter `manual` - The handbook (AGENTS.md) and CLAUDE.md (~2 min)
|
|
69
69
|
|
|
70
70
|
**Context**: the dogfood beat. Real Claude Code projects can
|
|
71
71
|
reference the generic `AGENTS.md` from their `CLAUDE.md` (this very
|
|
72
72
|
repo does). That one-line pointer is a real `references` link (the
|
|
73
|
-
`.md` extension makes `@AGENTS.md` a file pointer,
|
|
74
|
-
|
|
73
|
+
`.md` extension makes `@AGENTS.md` a file pointer), the tester's first
|
|
74
|
+
connector on the real project.
|
|
75
75
|
|
|
76
76
|
Tell the tester to create the file themselves (it is their project's
|
|
77
|
-
file, Inviolable rule #2):
|
|
77
|
+
file, Inviolable rule #2). Backstage, get the content:
|
|
78
|
+
`node .claude/skills/sm-tutorial/scripts/fixtures.js cat portfolio --file "CLAUDE.md" --provider <provider> --lang <lang>`,
|
|
79
|
+
then render it in the fenced block the tester copies:
|
|
78
80
|
|
|
79
81
|
> Create a file called `CLAUDE.md` at the project root with exactly
|
|
80
82
|
> this content:
|
|
@@ -87,7 +89,7 @@ file, Inviolable rule #2):
|
|
|
87
89
|
> `references` connector pointing at `AGENTS.md`, solid at 1.00.
|
|
88
90
|
> Because `@AGENTS.md` carries the `.md` extension, skill-map reads it
|
|
89
91
|
> as a file pointer (the same `@name.md` reference you met in the
|
|
90
|
-
> prologue
|
|
92
|
+
> prologue), and since the handbook is right there
|
|
91
93
|
> the link resolves with full confidence. It tells anyone (and
|
|
92
94
|
> skill-map) that `CLAUDE.md` defers to the handbook. This is exactly
|
|
93
95
|
> how this tool's own repo is wired.
|
|
@@ -98,33 +100,13 @@ Wait for confirmation. Mark `manual`: done.
|
|
|
98
100
|
|
|
99
101
|
## Chapter `first-agent` - The first harness agent (~2 min)
|
|
100
102
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
which has no `agent` kind,
|
|
104
|
-
prose):
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
name: content-editor
|
|
109
|
-
description: |
|
|
110
|
-
Writes and edits the portfolio's pages. Reads a brief, follows the
|
|
111
|
-
style guide, and emits the HTML into public/.
|
|
112
|
-
tools: [Read, Write]
|
|
113
|
-
model: sonnet
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
# content-editor
|
|
117
|
-
|
|
118
|
-
Turns a short brief into a finished portfolio page.
|
|
119
|
-
|
|
120
|
-
## How to write a page
|
|
121
|
-
1. Read the style guide and the shared stylesheet in public/.
|
|
122
|
-
2. Write one HTML file under public/, named after the page (a projects page becomes `public/projects.html`).
|
|
123
|
-
3. Start from `<!doctype html>`, link the stylesheet with `<link rel="stylesheet" href="/style.css">`, and set a `<title>`.
|
|
124
|
-
4. Use one `<h1>`, group sections under `<h2>`, and reuse the shared header, nav, and footer so every page matches.
|
|
125
|
-
5. Add a link back to Home, and link the new page from the home nav.
|
|
126
|
-
|
|
127
|
-
Rules: plain static HTML, no framework, no client JS, one page per file.
|
|
103
|
+
Lay the first harness agent (its content + translation live in
|
|
104
|
+
`fixtures-data/`). The script resolves `__PROVIDER__`; on
|
|
105
|
+
`agent-skills` / Antigravity, which has no `agent` kind, adjust the
|
|
106
|
+
prose to the skill the set lays there. Backstage (silent):
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js lay portfolio --only "__PROVIDER__/agents/content-editor.md" --provider <provider> --lang <lang>
|
|
128
110
|
```
|
|
129
111
|
|
|
130
112
|
Tell the tester:
|
|
@@ -134,6 +116,11 @@ Tell the tester:
|
|
|
134
116
|
> `agent` node appeared on the map. Right now it stands alone; in the
|
|
135
117
|
> next part we wire it to the handbook and the style guide.
|
|
136
118
|
>
|
|
119
|
+
> 💡 Tip: I create these harness files for you. If you'd like to see
|
|
120
|
+
> what's inside, open `<provider_dir>/agents/content-editor.md` in your
|
|
121
|
+
> editor, and feel free to peek at the files I add in the coming
|
|
122
|
+
> chapters too.
|
|
123
|
+
>
|
|
137
124
|
> See the new agent node?
|
|
138
125
|
|
|
139
126
|
Wait for confirmation. Mark `first-agent`: done.
|
|
@@ -145,45 +132,11 @@ nodes. Now name them on the real project, and add the two markdown
|
|
|
145
132
|
docs the harness references later (the style guide and the deploy
|
|
146
133
|
runbook), so the Daily Loop's maintenance beats have something to point at.
|
|
147
134
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
`docs/STYLE.md`:
|
|
151
|
-
```markdown
|
|
152
|
-
---
|
|
153
|
-
name: style-guide
|
|
154
|
-
description: |
|
|
155
|
-
Writing and markup conventions every portfolio page follows.
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
# Style guide
|
|
135
|
+
Lay the two markdown docs the harness references later (their content
|
|
136
|
+
+ translation live in `fixtures-data/`). Backstage (silent):
|
|
159
137
|
|
|
160
|
-
## Voice
|
|
161
|
-
- Short, plain sentences. No marketing fluff.
|
|
162
|
-
|
|
163
|
-
## Structure
|
|
164
|
-
- One H1 per page; sections under H2.
|
|
165
|
-
- Every page shares the same header, nav, and footer.
|
|
166
|
-
- Every page links back to Home.
|
|
167
|
-
|
|
168
|
-
## Markup
|
|
169
|
-
- Plain static HTML: no framework, no client JS.
|
|
170
|
-
- Link the shared stylesheet `/style.css` in every page head.
|
|
171
|
-
- Use semantic tags: header, nav, main, footer.
|
|
172
138
|
```
|
|
173
|
-
|
|
174
|
-
`docs/DEPLOY.md`:
|
|
175
|
-
```markdown
|
|
176
|
-
---
|
|
177
|
-
name: deploy-runbook
|
|
178
|
-
description: |
|
|
179
|
-
How the portfolio gets published once the pages are written.
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
# Deploy runbook
|
|
183
|
-
|
|
184
|
-
1. Generate or update the pages in public/.
|
|
185
|
-
2. Run the link check and fix anything it reports.
|
|
186
|
-
3. Start the server with `node server.js`, then open the site in your browser.
|
|
139
|
+
node .claude/skills/sm-tutorial/scripts/fixtures.js lay portfolio --only "docs/STYLE.md,docs/DEPLOY.md" --provider <provider> --lang <lang>
|
|
187
140
|
```
|
|
188
141
|
|
|
189
142
|
Tell the tester:
|