@elevasis/sdk 1.22.0 → 1.23.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 (41) hide show
  1. package/dist/cli.cjs +980 -42
  2. package/dist/index.d.ts +1221 -220
  3. package/dist/index.js +390 -15
  4. package/dist/test-utils/index.d.ts +964 -211
  5. package/dist/test-utils/index.js +257 -14
  6. package/dist/worker/index.js +122 -14
  7. package/package.json +3 -3
  8. package/reference/claude-config/rules/operations.md +3 -3
  9. package/reference/claude-config/rules/organization-model.md +88 -85
  10. package/reference/claude-config/rules/organization-os.md +104 -104
  11. package/reference/claude-config/rules/vibe.md +235 -235
  12. package/reference/claude-config/skills/om/SKILL.md +324 -0
  13. package/reference/claude-config/skills/{knowledge → om}/operations/customers.md +110 -109
  14. package/reference/claude-config/skills/{knowledge → om}/operations/features.md +77 -76
  15. package/reference/claude-config/skills/{knowledge → om}/operations/goals.md +119 -118
  16. package/reference/claude-config/skills/{knowledge → om}/operations/identity.md +94 -93
  17. package/reference/claude-config/skills/{knowledge → om}/operations/labels.md +94 -94
  18. package/reference/claude-config/skills/{knowledge → om}/operations/offerings.md +110 -109
  19. package/reference/claude-config/skills/{knowledge → om}/operations/roles.md +100 -99
  20. package/reference/claude-config/skills/{knowledge → om}/operations/techStack.md +30 -30
  21. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  22. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  23. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  24. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  25. package/reference/claude-config/skills/tutorial/technical.md +1303 -1303
  26. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  27. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +7 -4
  28. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +52 -0
  29. package/reference/examples/organization-model.ts +26 -2
  30. package/reference/scaffold/core/organization-model.mdx +16 -11
  31. package/reference/scaffold/recipes/add-a-feature.md +28 -26
  32. package/reference/scaffold/recipes/add-a-resource.md +26 -16
  33. package/reference/scaffold/recipes/customize-organization-model.md +5 -3
  34. package/reference/scaffold/recipes/extend-lead-gen.md +9 -9
  35. package/reference/scaffold/recipes/index.md +1 -1
  36. package/reference/scaffold/recipes/query-the-knowledge-graph.md +189 -185
  37. package/reference/scaffold/reference/contracts.md +139 -101
  38. package/reference/scaffold/reference/glossary.md +74 -72
  39. package/reference/claude-config/skills/knowledge/SKILL.md +0 -345
  40. /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-a.md +0 -0
  41. /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-b.md +0 -0
@@ -1,259 +1,259 @@
1
- ---
2
- name: tutorial
3
- description: |
4
- Persona-aware onboarding tutorial that forks into a vibe-coder track (zero technical
5
- vocabulary, agent does all the work) or a technical track (full SDK depth, code-first).
6
- On first invocation, asks one gate question to determine the user's track and persists the
7
- choice to .claude/memory/profile.md. Subsequent invocations skip the question and display
8
- the track menu with current progress markers. Supports /tutorial switch (flip track) and
9
- /tutorial status (display-only).
10
- argument-hint: "[switch | status]"
11
- context: fork
12
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
13
- ---
14
-
15
- # Tutorial
16
-
17
- Persona-aware onboarding. Forks at first invocation into a **vibe-coder track** (non-technical,
18
- agent handles everything silently) or a **technical track** (developer-focused, full SDK depth).
19
-
20
- **Usage:** `/tutorial` | `/tutorial switch` | `/tutorial status`
21
-
22
- ---
23
-
24
- ## Architecture Note
25
-
26
- `profile.md` is read at session start alongside `.claude/rules/agent-start-here.md`. The rules
27
- layer uses the track choice to adjust tone, vocabulary, and tool-call visibility project-wide.
28
- This router does not enforce that tone -- it only writes profile.md and loads the right track
29
- file. The project-wide tone effect is handled by the rules layer reading profile.md on each
30
- session start.
31
-
32
- Track separation is explicit:
33
-
34
- - The vibe-coder track teaches the underlying coordination idea through business language only:
35
- business profile, saved progress, automations, dashboard, and reports. Do not name the technical
36
- pattern in vibe-coder menus, lessons, prompts, or progress labels.
37
- - The technical track may name OM spine vocabulary and can point developers at
38
- `node_modules/@elevasis/sdk/reference/spine/spine-primer.md` when lessons discuss shared stage,
39
- status, or catalog vocabularies.
40
-
41
- ---
42
-
43
- ## Step 1: Parse the Argument
44
-
45
- Check whether the invocation included an argument:
46
-
47
- - `/tutorial switch` -- go to [Switch Track](#switch-track)
48
- - `/tutorial status` -- go to [Status Display](#status-display) (no prompt afterward)
49
- - `/tutorial` (no argument) -- continue to Step 2
50
-
51
- ---
52
-
53
- ## Step 2: Check for Existing Profile
54
-
55
- Read `.claude/memory/profile.md`.
56
-
57
- - **File does not exist (first invocation):** go to [First Invocation](#first-invocation)
58
- - **File exists:** go to [Returning Invocation](#returning-invocation)
59
-
60
- ---
61
-
62
- ## First Invocation
63
-
64
- ### Ask the Gate Question
65
-
66
- Print verbatim:
67
-
68
- > "Are you here to **build automations by describing what you want** (and I handle the technical
69
- > side), or are you a **developer** who'll edit code directly?"
70
-
71
- Wait for the user's answer. Accept natural-language replies -- map to one of two tracks:
72
-
73
- | User says (examples) | Track |
74
- | ---------------------------------------------------------------- | ------------ |
75
- | "describe what I want", "non-technical", "you handle it", "vibe" | `vibe-coder` |
76
- | "developer", "edit code", "technical", "build myself", "code" | `technical` |
77
-
78
- If the answer is ambiguous, ask once: "Just to confirm -- do you want me to handle the technical
79
- side, or will you be editing code directly?"
80
-
81
- ### Persist the Profile
82
-
83
- Write `.claude/memory/profile.md` using the template below. Select the tone-implications block
84
- that matches the chosen track.
85
-
86
- **For vibe-coder track:**
87
-
88
- ```markdown
89
- # Project Profile
90
-
91
- **Track:** vibe-coder
92
- **Selected at:** YYYY-MM-DD
93
- **Switch tracks:** Run `/tutorial switch` to change.
94
-
95
- ## Tone Implications
96
-
97
- In this project, always:
98
- - Say "automation" instead of workflow / agent / resource
99
- - Say "the information your automation needs" instead of schema / Zod / type
100
- - Say "make it live" or "publish" instead of deploy
101
- - Say "your business profile" instead of organization model / config
102
- - Say "account connection" instead of credential
103
- - Say "your dashboard" or "your map" instead of Operations / Command Center / Command View
104
- - Say "your approval queue" instead of HITL / approval gate
105
- - Never mention repo / monorepo / git
106
- - Never mention TypeScript / pnpm / CLI
107
- - Say "the tool the automation uses" instead of adapter / platform tool
108
- - Say "updating your profile together" instead of /knowledge ceremony
109
- - Run slash commands silently on the user's behalf -- never expose command names or code
110
- ```
111
-
112
- **For technical track:**
113
-
114
- ```markdown
115
- # Project Profile
116
-
117
- **Track:** technical
118
- **Selected at:** YYYY-MM-DD
119
- **Switch tracks:** Run `/tutorial switch` to change.
120
-
121
- ## Tone Implications
122
-
123
- Code-first communication. Use current command names, SDK terminology, and OM spine vocabulary
124
- without hand-holding. No vocabulary substitutions. Slash commands may be surfaced directly. Full
125
- technical depth.
126
- ```
127
-
128
- ### Initialize Progress File
129
-
130
- Read `.claude/memory/tutorial-progress.md`.
131
-
132
- - If the file does not exist, read `.claude/skills/tutorial/progress-template.md` and write its
133
- contents verbatim to `.claude/memory/tutorial-progress.md`. If `progress-template.md` is also
134
- missing (sibling agent has not yet created it), write a minimal stub:
135
-
136
- ```markdown
137
- # Tutorial Progress
138
-
139
- **Vibe-coder track**
140
-
141
- - [ ] 1 Welcome
142
- - [ ] 2 How to talk to me
143
- - [ ] 3 Your business profile
144
- - [ ] 4 Your first automation
145
- - [ ] 5 Your dashboard
146
- - [ ] 6 Your approval queue
147
- - [ ] 7 Changing things later
148
- - [ ] 8 When things go wrong
149
-
150
- **Technical track**
151
-
152
- - [ ] 1 What is this workspace
153
- - [ ] 2 The skill layer
154
- - [ ] 3 The vibe layer
155
- - [ ] 4 Echo workflow tour
156
- - [ ] 5 Custom workflow with schemas
157
- - [ ] 6 Platform tools and credentials
158
- - [ ] 7 Multi-step and conditionals
159
- - [ ] 8 Going to production
160
- - [ ] 9 /knowledge ceremony
161
- - [ ] 10 Features and labels
162
- - [ ] 11 Entity extensions
163
- - [ ] 12 HITL
164
- - [ ] 13 Schedules
165
- - [ ] 14 Notifications + integrations
166
- - [ ] 15 Error handling
167
- - [ ] 16 LLM and agents
168
- - [ ] 17 Composition
169
- - [ ] 18 Rules, memory, scaffold registry, OM spine
170
- - [ ] 19 Template lifecycle and /git-sync
171
- ```
172
-
173
- - If the file already exists, leave it unchanged.
174
-
175
- ### Load Track and Show Menu
176
-
177
- Read the matching track file:
178
-
179
- - `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
180
- - `technical` track: `.claude/skills/tutorial/technical.md`
181
-
182
- Read `.claude/memory/tutorial-progress.md` and apply progress markers to the menu (see
183
- [Progress Markers](#progress-markers)). Display the menu. Prompt: "Pick a number to start."
184
-
185
- ---
186
-
187
- ## Returning Invocation
188
-
189
- Read `.claude/memory/profile.md` and extract the **Track** field.
190
-
191
- Read `.claude/memory/tutorial-progress.md`.
192
-
193
- Load the matching track file:
194
-
195
- - `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
196
- - `technical` track: `.claude/skills/tutorial/technical.md`
197
-
198
- Apply progress markers to the menu (see [Progress Markers](#progress-markers)). Display the
199
- menu. Prompt: "Pick a number to continue, or type a number to jump to any lesson."
200
-
201
- Wait for the user to pick a number, then follow that lesson's instructions from the track file.
202
-
203
- ---
204
-
205
- ## Progress Markers
206
-
207
- When rendering any menu, annotate each item using the markers from `tutorial-progress.md`:
208
-
209
- | Marker in progress file | Menu display |
210
- | ----------------------- | ------------ |
211
- | `[ ]` | `[ ]` |
212
- | `[>]` | `[>]` |
213
- | `[x] YYYY-MM-DD` | `[x]` |
214
-
215
- Read the progress file, match items by lesson number and track section, and substitute the
216
- marker inline. Items with no matching entry display `[ ]`.
217
-
218
- ---
219
-
220
- ## Switch Track
221
-
222
- Print:
223
-
224
- > "You're currently on the **{current-track}** track. Switching will show you the
225
- > **{other-track}** menu. Your progress for each track is saved separately and will not be lost.
226
- > Switch?"
227
-
228
- Wait for confirmation. On yes:
229
-
230
- 1. Read `.claude/memory/profile.md`.
231
- 2. Update the **Track** field to the other track name.
232
- 3. Update the **Selected at** date to today.
233
- 4. Replace the Tone Implications block with the block for the new track (see [First Invocation](#first-invocation) for both blocks).
234
- 5. Write the updated profile.md.
235
- 6. Load the new track file and display the menu with current progress markers.
236
- 7. Prompt: "Pick a number to start, or press Enter to begin at lesson 1."
237
-
238
- On no: print "No change made." and stop.
239
-
240
- Do not modify `tutorial-progress.md` -- it tracks per-track progress independently.
241
-
242
- ---
243
-
244
- ## Status Display
245
-
246
- Same as [Returning Invocation](#returning-invocation) but do not show a number-prompt afterward.
247
- If no profile exists yet, print:
248
-
249
- > "No track selected yet. Run `/tutorial` to get started."
250
-
251
- ---
252
-
253
- ## Error States
254
-
255
- - **Track file missing** (`vibe-coder.md` or `technical.md` not found): print "Track content
256
- file is not yet available. It may still be generating -- try again in a moment." Do not
257
- attempt to generate the content; it belongs to the sibling track files.
258
- - **progress-template.md missing**: write the minimal stub documented in [First Invocation](#first-invocation). Do not fail.
259
- - **profile.md malformed**: treat as missing and run the gate question again.
1
+ ---
2
+ name: tutorial
3
+ description: |
4
+ Persona-aware onboarding tutorial that forks into a vibe-coder track (zero technical
5
+ vocabulary, agent does all the work) or a technical track (full SDK depth, code-first).
6
+ On first invocation, asks one gate question to determine the user's track and persists the
7
+ choice to .claude/memory/profile.md. Subsequent invocations skip the question and display
8
+ the track menu with current progress markers. Supports /tutorial switch (flip track) and
9
+ /tutorial status (display-only).
10
+ argument-hint: "[switch | status]"
11
+ context: fork
12
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
13
+ ---
14
+
15
+ # Tutorial
16
+
17
+ Persona-aware onboarding. Forks at first invocation into a **vibe-coder track** (non-technical,
18
+ agent handles everything silently) or a **technical track** (developer-focused, full SDK depth).
19
+
20
+ **Usage:** `/tutorial` | `/tutorial switch` | `/tutorial status`
21
+
22
+ ---
23
+
24
+ ## Architecture Note
25
+
26
+ `profile.md` is read at session start alongside `.claude/rules/agent-start-here.md`. The rules
27
+ layer uses the track choice to adjust tone, vocabulary, and tool-call visibility project-wide.
28
+ This router does not enforce that tone -- it only writes profile.md and loads the right track
29
+ file. The project-wide tone effect is handled by the rules layer reading profile.md on each
30
+ session start.
31
+
32
+ Track separation is explicit:
33
+
34
+ - The vibe-coder track teaches the underlying coordination idea through business language only:
35
+ business profile, saved progress, automations, dashboard, and reports. Do not name the technical
36
+ pattern in vibe-coder menus, lessons, prompts, or progress labels.
37
+ - The technical track may name OM spine vocabulary and can point developers at
38
+ `node_modules/@elevasis/sdk/reference/spine/spine-primer.md` when lessons discuss shared stage,
39
+ status, or catalog vocabularies.
40
+
41
+ ---
42
+
43
+ ## Step 1: Parse the Argument
44
+
45
+ Check whether the invocation included an argument:
46
+
47
+ - `/tutorial switch` -- go to [Switch Track](#switch-track)
48
+ - `/tutorial status` -- go to [Status Display](#status-display) (no prompt afterward)
49
+ - `/tutorial` (no argument) -- continue to Step 2
50
+
51
+ ---
52
+
53
+ ## Step 2: Check for Existing Profile
54
+
55
+ Read `.claude/memory/profile.md`.
56
+
57
+ - **File does not exist (first invocation):** go to [First Invocation](#first-invocation)
58
+ - **File exists:** go to [Returning Invocation](#returning-invocation)
59
+
60
+ ---
61
+
62
+ ## First Invocation
63
+
64
+ ### Ask the Gate Question
65
+
66
+ Print verbatim:
67
+
68
+ > "Are you here to **build automations by describing what you want** (and I handle the technical
69
+ > side), or are you a **developer** who'll edit code directly?"
70
+
71
+ Wait for the user's answer. Accept natural-language replies -- map to one of two tracks:
72
+
73
+ | User says (examples) | Track |
74
+ | ---------------------------------------------------------------- | ------------ |
75
+ | "describe what I want", "non-technical", "you handle it", "vibe" | `vibe-coder` |
76
+ | "developer", "edit code", "technical", "build myself", "code" | `technical` |
77
+
78
+ If the answer is ambiguous, ask once: "Just to confirm -- do you want me to handle the technical
79
+ side, or will you be editing code directly?"
80
+
81
+ ### Persist the Profile
82
+
83
+ Write `.claude/memory/profile.md` using the template below. Select the tone-implications block
84
+ that matches the chosen track.
85
+
86
+ **For vibe-coder track:**
87
+
88
+ ```markdown
89
+ # Project Profile
90
+
91
+ **Track:** vibe-coder
92
+ **Selected at:** YYYY-MM-DD
93
+ **Switch tracks:** Run `/tutorial switch` to change.
94
+
95
+ ## Tone Implications
96
+
97
+ In this project, always:
98
+ - Say "automation" instead of workflow / agent / resource
99
+ - Say "the information your automation needs" instead of schema / Zod / type
100
+ - Say "make it live" or "publish" instead of deploy
101
+ - Say "your business profile" instead of organization model / config
102
+ - Say "account connection" instead of credential
103
+ - Say "your dashboard" or "your map" instead of Operations / Command Center / Command View
104
+ - Say "your approval queue" instead of HITL / approval gate
105
+ - Never mention repo / monorepo / git
106
+ - Never mention TypeScript / pnpm / CLI
107
+ - Say "the tool the automation uses" instead of adapter / platform tool
108
+ - Say "updating your profile together" instead of /om ceremony
109
+ - Run slash commands silently on the user's behalf -- never expose command names or code
110
+ ```
111
+
112
+ **For technical track:**
113
+
114
+ ```markdown
115
+ # Project Profile
116
+
117
+ **Track:** technical
118
+ **Selected at:** YYYY-MM-DD
119
+ **Switch tracks:** Run `/tutorial switch` to change.
120
+
121
+ ## Tone Implications
122
+
123
+ Code-first communication. Use current command names, SDK terminology, and OM spine vocabulary
124
+ without hand-holding. No vocabulary substitutions. Slash commands may be surfaced directly. Full
125
+ technical depth.
126
+ ```
127
+
128
+ ### Initialize Progress File
129
+
130
+ Read `.claude/memory/tutorial-progress.md`.
131
+
132
+ - If the file does not exist, read `.claude/skills/tutorial/progress-template.md` and write its
133
+ contents verbatim to `.claude/memory/tutorial-progress.md`. If `progress-template.md` is also
134
+ missing (sibling agent has not yet created it), write a minimal stub:
135
+
136
+ ```markdown
137
+ # Tutorial Progress
138
+
139
+ **Vibe-coder track**
140
+
141
+ - [ ] 1 Welcome
142
+ - [ ] 2 How to talk to me
143
+ - [ ] 3 Your business profile
144
+ - [ ] 4 Your first automation
145
+ - [ ] 5 Your dashboard
146
+ - [ ] 6 Your approval queue
147
+ - [ ] 7 Changing things later
148
+ - [ ] 8 When things go wrong
149
+
150
+ **Technical track**
151
+
152
+ - [ ] 1 What is this workspace
153
+ - [ ] 2 The skill layer
154
+ - [ ] 3 The vibe layer
155
+ - [ ] 4 Echo workflow tour
156
+ - [ ] 5 Custom workflow with schemas
157
+ - [ ] 6 Platform tools and credentials
158
+ - [ ] 7 Multi-step and conditionals
159
+ - [ ] 8 Going to production
160
+ - [ ] 9 /om ceremony
161
+ - [ ] 10 Features and labels
162
+ - [ ] 11 Entity extensions
163
+ - [ ] 12 HITL
164
+ - [ ] 13 Schedules
165
+ - [ ] 14 Notifications + integrations
166
+ - [ ] 15 Error handling
167
+ - [ ] 16 LLM and agents
168
+ - [ ] 17 Composition
169
+ - [ ] 18 Rules, memory, scaffold registry, OM spine
170
+ - [ ] 19 Template lifecycle and /git-sync
171
+ ```
172
+
173
+ - If the file already exists, leave it unchanged.
174
+
175
+ ### Load Track and Show Menu
176
+
177
+ Read the matching track file:
178
+
179
+ - `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
180
+ - `technical` track: `.claude/skills/tutorial/technical.md`
181
+
182
+ Read `.claude/memory/tutorial-progress.md` and apply progress markers to the menu (see
183
+ [Progress Markers](#progress-markers)). Display the menu. Prompt: "Pick a number to start."
184
+
185
+ ---
186
+
187
+ ## Returning Invocation
188
+
189
+ Read `.claude/memory/profile.md` and extract the **Track** field.
190
+
191
+ Read `.claude/memory/tutorial-progress.md`.
192
+
193
+ Load the matching track file:
194
+
195
+ - `vibe-coder` track: `.claude/skills/tutorial/vibe-coder.md`
196
+ - `technical` track: `.claude/skills/tutorial/technical.md`
197
+
198
+ Apply progress markers to the menu (see [Progress Markers](#progress-markers)). Display the
199
+ menu. Prompt: "Pick a number to continue, or type a number to jump to any lesson."
200
+
201
+ Wait for the user to pick a number, then follow that lesson's instructions from the track file.
202
+
203
+ ---
204
+
205
+ ## Progress Markers
206
+
207
+ When rendering any menu, annotate each item using the markers from `tutorial-progress.md`:
208
+
209
+ | Marker in progress file | Menu display |
210
+ | ----------------------- | ------------ |
211
+ | `[ ]` | `[ ]` |
212
+ | `[>]` | `[>]` |
213
+ | `[x] YYYY-MM-DD` | `[x]` |
214
+
215
+ Read the progress file, match items by lesson number and track section, and substitute the
216
+ marker inline. Items with no matching entry display `[ ]`.
217
+
218
+ ---
219
+
220
+ ## Switch Track
221
+
222
+ Print:
223
+
224
+ > "You're currently on the **{current-track}** track. Switching will show you the
225
+ > **{other-track}** menu. Your progress for each track is saved separately and will not be lost.
226
+ > Switch?"
227
+
228
+ Wait for confirmation. On yes:
229
+
230
+ 1. Read `.claude/memory/profile.md`.
231
+ 2. Update the **Track** field to the other track name.
232
+ 3. Update the **Selected at** date to today.
233
+ 4. Replace the Tone Implications block with the block for the new track (see [First Invocation](#first-invocation) for both blocks).
234
+ 5. Write the updated profile.md.
235
+ 6. Load the new track file and display the menu with current progress markers.
236
+ 7. Prompt: "Pick a number to start, or press Enter to begin at lesson 1."
237
+
238
+ On no: print "No change made." and stop.
239
+
240
+ Do not modify `tutorial-progress.md` -- it tracks per-track progress independently.
241
+
242
+ ---
243
+
244
+ ## Status Display
245
+
246
+ Same as [Returning Invocation](#returning-invocation) but do not show a number-prompt afterward.
247
+ If no profile exists yet, print:
248
+
249
+ > "No track selected yet. Run `/tutorial` to get started."
250
+
251
+ ---
252
+
253
+ ## Error States
254
+
255
+ - **Track file missing** (`vibe-coder.md` or `technical.md` not found): print "Track content
256
+ file is not yet available. It may still be generating -- try again in a moment." Do not
257
+ attempt to generate the content; it belongs to the sibling track files.
258
+ - **progress-template.md missing**: write the minimal stub documented in [First Invocation](#first-invocation). Do not fail.
259
+ - **profile.md malformed**: treat as missing and run the gate question again.
@@ -1,74 +1,74 @@
1
- # Tutorial Progress
2
-
3
- This file lives at `.claude/memory/tutorial-progress.md` once `/tutorial` runs for the first time.
4
- It tracks per-track progress separately so users can switch tracks without losing state.
5
-
6
- **Started:** {YYYY-MM-DD}
7
- **Last session:** {YYYY-MM-DD}
8
-
9
- ---
10
-
11
- ## Vibe-Coder Track
12
-
13
- ```
14
- Your Tutorial
15
- ==============
16
- 1 Welcome -- what this place does for you [ ]
17
- 2 How to talk to me [ ]
18
- 3 Your business profile [ ]
19
- 4 Your first automation [ ]
20
- 5 Your dashboard -- where everything lives [ ]
21
- 6 Your approval queue -- signing off on things [ ]
22
- 7 Changing things later [ ]
23
- 8 When things go wrong [ ]
24
- ```
25
-
26
- ---
27
-
28
- ## Technical Track
29
-
30
- ```
31
- SECTION A -- The workspace (3 items)
32
- 1 What is this workspace [ ]
33
- 2 The skill layer -- slash commands you'll use [ ]
34
- 3 The vibe layer -- ambient intent classification [ ]
35
-
36
- SECTION B -- Build your first thing (5 items)
37
- 4 Echo workflow tour [ ]
38
- 5 Custom workflow with schemas [ ]
39
- 6 Platform tools and credentials [ ]
40
- 7 Multi-step and conditionals [ ]
41
- 8 Going to production [ ]
42
-
43
- SECTION C -- The Organization Model (3 items)
44
- 9 /knowledge ceremony -- identity, customers, [ ]
45
- offerings via the layered flow
46
- 10 Features and labels [ ]
47
- 11 Entity extensions -- BaseProject, BaseDeal [ ]
48
-
49
- SECTION D -- Modules (load on demand) (6 items)
50
- 12 HITL [ ]
51
- 13 Schedules [ ]
52
- 14 Notifications + integrations [ ]
53
- 15 Error handling [ ]
54
- 16 LLM and agents [ ]
55
- 17 Composition (execution.trigger) [ ]
56
-
57
- SECTION E -- Power user (2 items)
58
- 18 Rules, memory, scaffold registry [ ]
59
- 19 Template lifecycle and /git-sync [ ]
60
- ```
61
-
62
- ---
63
-
64
- ## Completed Lessons
65
-
66
- | Track | Item | Title | Completed | Duration |
67
- | ---------- | ---- | ----- | --------- | -------- |
68
- | _none yet_ | | | | |
69
-
70
- ---
71
-
72
- ## Capability Observations
73
-
74
- (The teaching agent jots brief notes here, e.g. "user navigated Command Center confidently" or "user wanted code shown in lesson 4 -- flagged as candidate for /tutorial switch")
1
+ # Tutorial Progress
2
+
3
+ This file lives at `.claude/memory/tutorial-progress.md` once `/tutorial` runs for the first time.
4
+ It tracks per-track progress separately so users can switch tracks without losing state.
5
+
6
+ **Started:** {YYYY-MM-DD}
7
+ **Last session:** {YYYY-MM-DD}
8
+
9
+ ---
10
+
11
+ ## Vibe-Coder Track
12
+
13
+ ```
14
+ Your Tutorial
15
+ ==============
16
+ 1 Welcome -- what this place does for you [ ]
17
+ 2 How to talk to me [ ]
18
+ 3 Your business profile [ ]
19
+ 4 Your first automation [ ]
20
+ 5 Your dashboard -- where everything lives [ ]
21
+ 6 Your approval queue -- signing off on things [ ]
22
+ 7 Changing things later [ ]
23
+ 8 When things go wrong [ ]
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Technical Track
29
+
30
+ ```
31
+ SECTION A -- The workspace (3 items)
32
+ 1 What is this workspace [ ]
33
+ 2 The skill layer -- slash commands you'll use [ ]
34
+ 3 The vibe layer -- ambient intent classification [ ]
35
+
36
+ SECTION B -- Build your first thing (5 items)
37
+ 4 Echo workflow tour [ ]
38
+ 5 Custom workflow with schemas [ ]
39
+ 6 Platform tools and credentials [ ]
40
+ 7 Multi-step and conditionals [ ]
41
+ 8 Going to production [ ]
42
+
43
+ SECTION C -- The Organization Model (3 items)
44
+ 9 /om ceremony -- identity, customers, [ ]
45
+ offerings via the layered flow
46
+ 10 Features and labels [ ]
47
+ 11 Entity extensions -- BaseProject, BaseDeal [ ]
48
+
49
+ SECTION D -- Modules (load on demand) (6 items)
50
+ 12 HITL [ ]
51
+ 13 Schedules [ ]
52
+ 14 Notifications + integrations [ ]
53
+ 15 Error handling [ ]
54
+ 16 LLM and agents [ ]
55
+ 17 Composition (execution.trigger) [ ]
56
+
57
+ SECTION E -- Power user (2 items)
58
+ 18 Rules, memory, scaffold registry [ ]
59
+ 19 Template lifecycle and /git-sync [ ]
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Completed Lessons
65
+
66
+ | Track | Item | Title | Completed | Duration |
67
+ | ---------- | ---- | ----- | --------- | -------- |
68
+ | _none yet_ | | | | |
69
+
70
+ ---
71
+
72
+ ## Capability Observations
73
+
74
+ (The teaching agent jots brief notes here, e.g. "user navigated Command Center confidently" or "user wanted code shown in lesson 4 -- flagged as candidate for /tutorial switch")