@skill-map/cli 0.70.0 → 0.72.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 (29) hide show
  1. package/dist/cli/tutorial/sm-tutorial/SKILL.md +2 -2
  2. package/dist/cli/tutorial/sm-tutorial/fixtures-data/manifest.json +1 -0
  3. package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/codex/shared/CLAUDE.md +1 -0
  4. package/dist/cli/tutorial/sm-tutorial/references/_core.md +27 -20
  5. package/dist/cli/tutorial/sm-tutorial/references/_manifest.json +1 -1
  6. package/dist/cli/tutorial/sm-tutorial/references/_manifest.yml +3 -3
  7. package/dist/cli/tutorial/sm-tutorial/references/fixtures.md +4 -1
  8. package/dist/cli/tutorial/sm-tutorial/references/part-authoring.md +0 -7
  9. package/dist/cli/tutorial/sm-tutorial/references/part-basic-daily.md +45 -22
  10. package/dist/cli/tutorial/sm-tutorial/references/part-basic-fundamentals.md +6 -13
  11. package/dist/cli/tutorial/sm-tutorial/references/part-basic-kickoff.md +19 -38
  12. package/dist/cli/tutorial/sm-tutorial/references/part-cli.md +0 -4
  13. package/dist/cli/tutorial/sm-tutorial/references/part-daily-loop.md +0 -17
  14. package/dist/cli/tutorial/sm-tutorial/references/part-fundamentals.md +0 -4
  15. package/dist/cli/tutorial/sm-tutorial/references/part-mcp.md +4 -14
  16. package/dist/cli/tutorial/sm-tutorial/references/part-plugins.md +0 -8
  17. package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +5 -25
  18. package/dist/cli/tutorial/sm-tutorial/references/part-settings.md +2 -10
  19. package/dist/cli/tutorial/sm-tutorial/scripts/fixtures.js +6 -3
  20. package/dist/cli.js +471 -241
  21. package/dist/index.js +109 -14
  22. package/dist/kernel/index.js +109 -14
  23. package/dist/ui/chunk-GKN3HN4R.js +3 -0
  24. package/dist/ui/index.html +1 -1
  25. package/dist/ui/{main-K4O6LCIJ.js → main-Z2OYMXNS.js} +1 -1
  26. package/package.json +2 -2
  27. package/dist/ui/chunk-RJUHQQOF.js +0 -3
  28. /package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/providers/agent-skills/shared/{CLAUDE.md → README.md} +0 -0
  29. /package/dist/cli/tutorial/sm-tutorial/fixtures-data/sets/portfolio/{shared → providers/claude/shared}/CLAUDE.md +0 -0
@@ -45,10 +45,6 @@ The chapters grow the harness from there.
45
45
 
46
46
  ## Chapter `kickoff` - Start the portfolio (~2 min)
47
47
 
48
- **Context**: same `sm init` the tester learned in the prologue, but
49
- now on a real project. The map will show the project's harness, not
50
- throwaway demo nodes.
51
-
52
48
  If the prologue (`fundamentals`) ran first in this directory, the
53
49
  demo fixture (`demo-agent`, `demo-skill`, `notes/…`) is still on
54
50
  disk. The orchestrator's `portfolio-init` already cleared it during
@@ -90,12 +86,6 @@ Wait for confirmation. Mark `kickoff`: done.
90
86
 
91
87
  ## Chapter `manual` - The handbook (AGENTS.md) and CLAUDE.md (~2 min)
92
88
 
93
- **Context**: the dogfood beat. Real Claude Code projects can
94
- reference the generic `AGENTS.md` from their `CLAUDE.md` (this very
95
- repo does). That one-line pointer is a real `references` link (the
96
- `.md` extension makes `@AGENTS.md` a file pointer), the tester's first
97
- connector on the real project.
98
-
99
89
  Tell the tester to create the file themselves (it is their project's
100
90
  file, Inviolable rule #2). Backstage, get the content:
101
91
  `node .claude/skills/sm-tutorial/scripts/fixtures.js cat portfolio --file "CLAUDE.md" --provider <provider> --lang <lang>`,
@@ -147,11 +137,6 @@ Wait for confirmation. Mark `first-agent`: done.
147
137
 
148
138
  ## Chapter `real-kinds` - The real kinds in context (~2 min)
149
139
 
150
- **Context**: the prologue showed the four kinds on abstract demo
151
- nodes. Now name them on the real project, and add the two markdown
152
- docs the harness references later (the style guide and the deploy
153
- runbook), so the Daily Loop's maintenance beats have something to point at.
154
-
155
140
  Lay the two markdown docs the harness references later (their content
156
141
  + translation live in `fixtures-data/`). Backstage (silent):
157
142
 
@@ -181,8 +166,6 @@ Wait for confirmation. Mark `real-kinds`: done.
181
166
 
182
167
  ## Chapter `check-links` - The link checker (~3 min)
183
168
 
184
- **Context**: the harness needs a guard that runs before publishing, a skill that checks the site's internal links resolve before it ships. We only create the `skill` node here; the `publish` command in the next chapter is its caller.
185
-
186
169
  Lay the `check-links` skill (its content + translation live in
187
170
  `fixtures-data/`; this kind exists on every provider, so no skip).
188
171
  Backstage (silent):
@@ -203,9 +186,7 @@ Wait for confirmation. Mark `check-links`: done.
203
186
 
204
187
  ## Chapter `publish` - The publish command (~4 min)
205
188
 
206
- **Context**: this is the chapter where the graph comes alive. The `/publish` command ties three pieces together in one body: it invokes the link checker, mentions the content editor, and references the deploy runbook. Three connectors light up from a single new node, one per link syntax.
207
-
208
- Tell the tester to create the file themselves (it is their project's file, Inviolable rule #2). Substitute `<provider_dir>` per `_core.md` in the path you give them. Backstage, get the content: `node .claude/skills/sm-tutorial/scripts/fixtures.js cat harness --file "__PROVIDER__/commands/publish.md" --provider <provider> --lang <lang>`, then render it as a **top-level fenced code block**: at column 0, NOT inside the `> ` blockquote and with NO leading indentation, so the tester's copy keeps every line flush left. The frontmatter fences (`---`) MUST land on column 0. If the block is rendered (or pasted) indented, the opening and closing `---` shift off column 0, the YAML never parses, and the `publish` node loads body-only without its `name` / `description` (`sm check` then warns `frontmatter-malformed`). Present the block below exactly as written.
189
+ Tell the tester to create the file themselves (it is their project's file, Inviolable rule #2). Substitute `<provider_dir>` per `_core.md` in the path you give them. Backstage, get the content: `node .claude/skills/sm-tutorial/scripts/fixtures.js cat harness --file "__PROVIDER__/commands/publish.md" --provider <provider> --lang <lang>`, then render it as a **top-level fenced code block**: at column 0, NOT inside the `> ` blockquote and with NO leading indentation, so the tester's copy keeps every line flush left. The frontmatter fences (`---`) MUST land on column 0. If the block is rendered (or pasted) indented, the opening and closing `---` shift off column 0, the YAML never parses, and the `publish` node loads body-only without its `name` / `description` (`sm check` then warns `frontmatter-malformed`). Present the block below exactly as written, line for line: never soft-wrap, and never let a newline fall inside a `[text](path)` link (a break inside the `(path)`, e.g. `(../../docs/DEPLOY.md)`, splits it and the link stops resolving). See `_core.md` §Language mirroring + fixture content.
209
190
 
210
191
  > Create `.claude/commands/publish.md` with exactly this content (the first line is `---`, nothing before it):
211
192
 
@@ -253,8 +234,6 @@ Wait for confirmation. You MAY use `Read` on the file afterwards to verify it la
253
234
 
254
235
  ## Chapter `links` - The handbook becomes the hub (~4 min)
255
236
 
256
- **Context**: the handbook (`AGENTS.md`) has been a lonely node since the start of this part. Here it becomes the hub: we add two bullets so it mentions the content editor and invokes the publish command. We also give the content editor a reference to the style guide it follows. Several connectors land, and we recap the three link kinds and which syntax produced each.
257
-
258
237
  Apply both edits (their content + translation live in `fixtures-data/`).
259
238
  The first appends the two hub bullets to `AGENTS.md`; the second adds
260
239
  the style-guide reference line to the content-editor. Backstage (silent):
@@ -325,9 +304,10 @@ Tell the tester:
325
304
  >
326
305
  > **IMPORTANT:** why does confidence matter? It mirrors how the runtime itself
327
306
  > resolves a reference: a deterministic name-and-path lookup, no guessing
328
- > and no scanning the tree for a file under some other extension. That is
329
- > cheaper and it does not fail, so the agent spends fewer tokens and less
330
- > time, the same reason a clean, well-named harness is worth keeping.
307
+ > and no scanning the tree for a file under some other extension. A link that
308
+ > does not resolve sends the agent guessing and retrying, which burns time and
309
+ > tokens; a deterministic one does not fail and resolves first try, the same
310
+ > reason a clean, well-named harness is worth keeping.
331
311
  >
332
312
  > Do you see every badge reading 1.00 in the Inspector?
333
313
 
@@ -22,9 +22,6 @@ stop, do not try to re-init mid-chapter.
22
22
 
23
23
  ## Step `settings-1-layers` - the config layers (~3 min)
24
24
 
25
- **Context**: where settings live and how `sm` resolves a value
26
- when more than one place sets it.
27
-
28
25
  > `sm` resolves every setting through a stack of **layers**, each
29
26
  > one overriding the layer below it:
30
27
  >
@@ -74,9 +71,6 @@ Mark `settings-1-layers: done`.
74
71
 
75
72
  ## Step `settings-2-resolve` - read, resolve, and set a value (~3 min)
76
73
 
77
- **Context**: the four config verbs (`get`, `show`, `set`, `reset`)
78
- and how `show --source` reveals which layer won.
79
-
80
74
  > Read a single setting. We'll use `scan.maxNodes`, the cap on how
81
75
  > many nodes a scan walks:
82
76
 
@@ -123,10 +117,8 @@ Mark `settings-2-resolve: done`.
123
117
 
124
118
  ## Step `settings-3-lens` - the active provider lens (~2 min)
125
119
 
126
- **Context**: the single most consequential setting, the lens that
127
- decides which provider types the project's files. It auto-detects and
128
- never touches your `.md` files. (Agent: substitute `<provider>` with
129
- `tutorial.provider`, the lens this run was scaffolded for.)
120
+ (Agent: substitute `<provider>` with `tutorial.provider`, the lens
121
+ this run was scaffolded for.)
130
122
 
131
123
  > One setting earns its own step: the **active provider lens**. A
132
124
  > skill-map project reads its files through exactly **one** provider
@@ -78,7 +78,10 @@ function writeFileEnsuring(abs, content) {
78
78
  * tier, then the per-provider overlay (`providers/<provider>/{shared,<lang>}/`).
79
79
  * The overlay carries the skill-shaped variants of nodes a lens renders
80
80
  * differently (e.g. the `content-editor` agent becomes a skill on
81
- * agent-skills); claude declares no overlay because the base IS its shape.
81
+ * agent-skills). claude is mostly the base shape, but it still carries a tiny
82
+ * overlay for the entry-pointer file: the portfolio root pointer is `CLAUDE.md`
83
+ * (claude/codex overlays) vs `README.md` (agent-skills / antigravity), so it
84
+ * cannot live in the universal base `shared/` tier.
82
85
  */
83
86
  function laySet(manifest, set, o, only = null) {
84
87
  const { kinds } = pdirAndKinds(o);
@@ -297,5 +300,5 @@ function main() {
297
300
  }
298
301
 
299
302
  main();
300
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9e366749-efd9-5bc5-bba4-41147eabf625")}catch(e){}}();
301
- //# debugId=9e366749-efd9-5bc5-bba4-41147eabf625
303
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b7c7dad8-e6ce-5918-a25b-41b4e2d13a4c")}catch(e){}}();
304
+ //# debugId=b7c7dad8-e6ce-5918-a25b-41b4e2d13a4c