thoth-plugin 1.2.1 → 1.2.2
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 +16 -0
- package/defaults/AGENTS.md +53 -0
- package/defaults/skill/evening-close/SKILL.md +97 -0
- package/defaults/skill/mail-triage/SKILL.md +26 -0
- package/defaults/skill/morning-boot/SKILL.md +45 -0
- package/defaults/skill/slack-pulse/SKILL.md +26 -0
- package/defaults/skill/thought-router/SKILL.md +89 -0
- package/dist/cli.d.ts +0 -8
- package/dist/cli.js +70 -436
- package/dist/config/index.d.ts +1 -1
- package/dist/config/schema.d.ts +17 -0
- package/dist/defaults/skill/_legacy/cal-grid/SKILL.md +16 -0
- package/dist/defaults/skill/_legacy/capsule-init/SKILL.md +102 -0
- package/dist/defaults/skill/_legacy/cross-linker/SKILL.md +357 -0
- package/dist/defaults/skill/_legacy/email-draft/skill.md +134 -0
- package/dist/defaults/skill/_legacy/gardener/SKILL.md +509 -0
- package/dist/defaults/skill/_legacy/gardener/confidence-tiers.md +142 -0
- package/dist/defaults/skill/_legacy/gardener/repair-workflow.md +170 -0
- package/dist/defaults/skill/_legacy/google-chat-scan/SKILL.md +135 -0
- package/dist/defaults/skill/_legacy/handover/SKILL.md +18 -0
- package/dist/defaults/skill/_legacy/interview-prep/SKILL.md +23 -0
- package/dist/defaults/skill/_legacy/leadership-coach/SKILL.md +167 -0
- package/dist/defaults/skill/_legacy/link-retrofit/SKILL.md +345 -0
- package/dist/defaults/skill/_legacy/onboarding/SKILL.md +207 -0
- package/dist/defaults/skill/_legacy/post-meeting-drill/SKILL.md +485 -0
- package/dist/defaults/skill/_legacy/restore-environment/SKILL.md +30 -0
- package/dist/defaults/skill/_legacy/scorecard-synthesis/SKILL.md +26 -0
- package/dist/defaults/skill/_legacy/skill-generator/SKILL.md +362 -0
- package/dist/defaults/skill/_legacy/skill-generator/testing-protocol.md +158 -0
- package/dist/defaults/skill/_legacy/system-init/SKILL.md +103 -0
- package/dist/defaults/skill/evening-close/SKILL.md +6 -7
- package/dist/defaults/skill/mail-triage/SKILL.md +11 -8
- package/dist/defaults/skill/morning-boot/SKILL.md +26 -87
- package/dist/defaults/skill/slack-pulse/SKILL.md +11 -7
- package/dist/defaults/skill/thought-router/SKILL.md +10 -8
- package/dist/index.js +11316 -2308
- package/dist/schemas/skill.d.ts +96 -0
- package/dist/sdk/index.d.ts +4 -0
- package/dist/sdk/sentinel-service.d.ts +71 -0
- package/dist/sdk/skill-runner.d.ts +21 -0
- package/dist/sdk/thoth-client.d.ts +51 -0
- package/dist/sdk/workflows/calendar-watcher.d.ts +2 -0
- package/dist/sdk/workflows/inbox-watcher.d.ts +2 -0
- package/dist/sdk/workflows/index.d.ts +4 -0
- package/dist/sdk/workflows/system-watcher.d.ts +2 -0
- package/dist/sdk/workflows/task-watcher.d.ts +2 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/skill-registry.d.ts +23 -0
- package/dist/tools/skill/tools.d.ts +2 -1
- package/package.json +8 -3
- /package/{dist/defaults/skill → defaults/skill/_legacy}/cal-grid/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/capsule-init/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/cross-linker/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/email-draft/skill.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/gardener/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/gardener/confidence-tiers.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/gardener/repair-workflow.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/google-chat-scan/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/handover/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/interview-prep/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/leadership-coach/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/link-retrofit/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/onboarding/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/post-meeting-drill/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/restore-environment/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/scorecard-synthesis/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/skill-generator/SKILL.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/skill-generator/testing-protocol.md +0 -0
- /package/{dist/defaults/skill → defaults/skill/_legacy}/system-init/SKILL.md +0 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: link-retrofit
|
|
3
|
+
description: Proactively discovers and suggests cross-references between knowledge base files. Uses rule-based confidence tiers to ensure high-quality links. Can scan entire KB or specific paths.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Link Retrofit Skill
|
|
7
|
+
|
|
8
|
+
You are the **Knowledge Base Linker**. Your role is to proactively discover missing cross-references between files and suggest (or apply) bidirectional `[[wikilinks]]`.
|
|
9
|
+
|
|
10
|
+
**Philosophy**: Links should be **high-signal, not exhaustive**. A link exists because following it provides value to the reader. We prefer fewer, high-confidence links over many weak ones.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Operating Modes
|
|
15
|
+
|
|
16
|
+
| Mode | Command | Action | Writes |
|
|
17
|
+
|------|---------|--------|--------|
|
|
18
|
+
| **Scan** | `/link-retrofit` or `/link-retrofit scan [path]` | Discover and report suggestions | No |
|
|
19
|
+
| **Plan** | `/link-retrofit plan [path]` | Generate `kernel/link-plan.md` | Plan file only |
|
|
20
|
+
| **Apply** | `/link-retrofit apply` | Apply approved links from plan | Yes (KB files) |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Confidence Tiers (CRITICAL)
|
|
25
|
+
|
|
26
|
+
**Do NOT ask the LLM for confidence scores.** Instead, use evidence-based tiers:
|
|
27
|
+
|
|
28
|
+
| Tier | Confidence | Evidence Required | Action |
|
|
29
|
+
|------|------------|-------------------|--------|
|
|
30
|
+
| **CERTAIN** | 99% | Explicit name match in content → file exists with that name | Auto-suggest |
|
|
31
|
+
| **STRONG** | 90% | 2+ signals present (see Signal Matrix below) | Suggest with review |
|
|
32
|
+
| **MEDIUM** | 70% | 1 signal present | List only (optional) |
|
|
33
|
+
| **WEAK** | <50% | Semantic similarity only, no structural evidence | Ignore |
|
|
34
|
+
|
|
35
|
+
### Signal Matrix
|
|
36
|
+
|
|
37
|
+
| Signal | Description | Weight |
|
|
38
|
+
|--------|-------------|--------|
|
|
39
|
+
| **Name Mention** | File content contains exact name that matches another file's title/H1 | +40 |
|
|
40
|
+
| **Related Frontmatter** | `related: [file]` exists but no `[[link]]` in body | +40 |
|
|
41
|
+
| **Same Project Folder** | Both files in same `projects/X/` subfolder | +20 |
|
|
42
|
+
| **Shared Tags** | ≥2 overlapping tags in frontmatter | +20 |
|
|
43
|
+
| **Reports-To Chain** | Person A's file mentions Person B in hierarchy context | +30 |
|
|
44
|
+
| **Project Assignment** | Person file mentions project name that exists as file | +30 |
|
|
45
|
+
| **Reciprocal Gap** | File A links to B, but B doesn't link back to A | +35 |
|
|
46
|
+
|
|
47
|
+
**Scoring**:
|
|
48
|
+
- CERTAIN: Name Mention with exact file match
|
|
49
|
+
- STRONG: Score ≥ 60
|
|
50
|
+
- MEDIUM: Score 30-59
|
|
51
|
+
- WEAK: Score < 30
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Mode 1: Scan (Default)
|
|
56
|
+
|
|
57
|
+
### Step 1: Build File Index
|
|
58
|
+
|
|
59
|
+
For each `.md` file in the target path, extract:
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
file_index:
|
|
63
|
+
- path: "work/Team/chirag-deora.md"
|
|
64
|
+
title: "Chirag Deora" # From H1 or frontmatter summary
|
|
65
|
+
type: "person" # From frontmatter
|
|
66
|
+
hemisphere: "work"
|
|
67
|
+
tags: []
|
|
68
|
+
related: [] # From frontmatter
|
|
69
|
+
existing_links: ["[[project-x]]"] # Already present wikilinks
|
|
70
|
+
mentions: ["Entra ID", "IAM"] # Key terms in content
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Step 2: Build Entity Registry
|
|
74
|
+
|
|
75
|
+
Create a lookup of linkable entities:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
entity_registry:
|
|
79
|
+
people:
|
|
80
|
+
- name: "Chirag Deora"
|
|
81
|
+
file: "work/Team/chirag-deora.md"
|
|
82
|
+
aliases: ["Chirag"] # First name as alias
|
|
83
|
+
- name: "Joanna Thomas"
|
|
84
|
+
file: "work/Stakeholders/joanna-thomas.md"
|
|
85
|
+
aliases: ["Joanna"]
|
|
86
|
+
projects:
|
|
87
|
+
- name: "Okta Migration"
|
|
88
|
+
file: "work/projects/okta-migration.md"
|
|
89
|
+
aliases: ["Okta Migration Assessment"]
|
|
90
|
+
# ... etc
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Step 3: Scan for Missing Links
|
|
94
|
+
|
|
95
|
+
For each file, check:
|
|
96
|
+
|
|
97
|
+
1. **Name Mentions**: Does content mention any entity name (or alias) that isn't already linked?
|
|
98
|
+
2. **Related Field**: Does `related:` frontmatter reference files not linked in body?
|
|
99
|
+
3. **Reciprocal Links**: Does this file link to others that don't link back?
|
|
100
|
+
4. **Project Context**: For person files, are mentioned projects linked?
|
|
101
|
+
5. **Hierarchy Context**: For "Reports To" mentions, is the person linked?
|
|
102
|
+
|
|
103
|
+
### Step 4: Score and Tier
|
|
104
|
+
|
|
105
|
+
For each potential link, calculate score and assign tier.
|
|
106
|
+
|
|
107
|
+
### Step 5: Output Report
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
## Link Retrofit Scan Report
|
|
111
|
+
|
|
112
|
+
**Scanned**: {timestamp}
|
|
113
|
+
**Path**: {scanned_path}
|
|
114
|
+
**Files Analyzed**: {count}
|
|
115
|
+
|
|
116
|
+
### Summary
|
|
117
|
+
| Tier | Count | Action |
|
|
118
|
+
|------|-------|--------|
|
|
119
|
+
| CERTAIN | X | Ready to apply |
|
|
120
|
+
| STRONG | X | Review recommended |
|
|
121
|
+
| MEDIUM | X | Optional |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### CERTAIN Tier (Auto-Apply Candidates)
|
|
126
|
+
|
|
127
|
+
| Source File | Add Link | Reason |
|
|
128
|
+
|-------------|----------|--------|
|
|
129
|
+
| `work/Stakeholders/joanna-thomas.md` | `[[bianca-stef]]` | Name "Bianca Stef" mentioned in "Reports To" |
|
|
130
|
+
| `work/Stakeholders/joanna-thomas.md` | `[[vasco-taveira]]` | Name "Vasco Taveira" mentioned in context |
|
|
131
|
+
|
|
132
|
+
### STRONG Tier (Review Recommended)
|
|
133
|
+
|
|
134
|
+
| Source File | Add Link | Reason | Score |
|
|
135
|
+
|-------------|----------|--------|-------|
|
|
136
|
+
| `work/Team/chirag-deora.md` | `[[okta-migration]]` | Mentions "Entra ID" (related project) | 65 |
|
|
137
|
+
|
|
138
|
+
### Reciprocal Gaps
|
|
139
|
+
|
|
140
|
+
| File A Links To | But Missing Backlink |
|
|
141
|
+
|-----------------|---------------------|
|
|
142
|
+
| `[[chirag-deora]]` in project-x.md | chirag-deora.md → project-x.md |
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### Statistics
|
|
147
|
+
- Total potential links found: X
|
|
148
|
+
- CERTAIN: X (Y% of total)
|
|
149
|
+
- STRONG: X
|
|
150
|
+
- MEDIUM: X (excluded from plan)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Mode 2: Plan
|
|
156
|
+
|
|
157
|
+
### Step 1: Run Scan
|
|
158
|
+
|
|
159
|
+
Execute Mode 1 to get current suggestions.
|
|
160
|
+
|
|
161
|
+
### Step 2: Generate Link Plan
|
|
162
|
+
|
|
163
|
+
Create `kernel/link-plan.md`:
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
---
|
|
167
|
+
type: link-plan
|
|
168
|
+
created: YYYY-MM-DD
|
|
169
|
+
status: pending
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
# Link Retrofit Plan
|
|
173
|
+
|
|
174
|
+
Generated: {timestamp}
|
|
175
|
+
Scanned Path: {path}
|
|
176
|
+
|
|
177
|
+
## Execution Summary
|
|
178
|
+
|
|
179
|
+
| Tier | Links | Files Affected |
|
|
180
|
+
|------|-------|----------------|
|
|
181
|
+
| CERTAIN | X | Y |
|
|
182
|
+
| STRONG | X | Y |
|
|
183
|
+
| **Total** | X | Y |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Phase 1: CERTAIN Links (Auto-Apply)
|
|
188
|
+
|
|
189
|
+
These links have explicit name matches and are safe to apply.
|
|
190
|
+
|
|
191
|
+
### 1.1 Person Name Links
|
|
192
|
+
|
|
193
|
+
| File | Line | Current Text | Suggested Edit |
|
|
194
|
+
|------|------|--------------|----------------|
|
|
195
|
+
| `joanna-thomas.md` | 20 | "Reports To: Bianca Stef" | "Reports To: [[bianca-stef\|Bianca Stef]]" |
|
|
196
|
+
| `joanna-thomas.md` | 21 | "Vasco Taveira is on leave" | "[[vasco-taveira\|Vasco Taveira]] is on leave" |
|
|
197
|
+
|
|
198
|
+
### 1.2 Reciprocal Links
|
|
199
|
+
|
|
200
|
+
| File | Add to Section | Link |
|
|
201
|
+
|------|---------------|------|
|
|
202
|
+
| `chirag-deora.md` | Related Links | `[[project-x]]` |
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Phase 2: STRONG Links (Review Required)
|
|
207
|
+
|
|
208
|
+
These links have multiple signals but benefit from human review.
|
|
209
|
+
|
|
210
|
+
| File | Suggested Link | Reason | Approve? |
|
|
211
|
+
|------|---------------|--------|----------|
|
|
212
|
+
| `okta-migration.md` | `[[chirag-deora]]` | Mentions Entra ID (Chirag's domain) | [ ] |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Execution Checklist
|
|
217
|
+
|
|
218
|
+
- [ ] Phase 1.1: Apply person name links
|
|
219
|
+
- [ ] Phase 1.2: Apply reciprocal links
|
|
220
|
+
- [ ] Phase 2: Review and apply strong links
|
|
221
|
+
- [ ] Re-run scan to verify
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
*Run `/link-retrofit apply` to execute this plan.*
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Mode 3: Apply
|
|
231
|
+
|
|
232
|
+
**CRITICAL: This mode modifies files. Require explicit approval.**
|
|
233
|
+
|
|
234
|
+
### Pre-Flight Checks
|
|
235
|
+
|
|
236
|
+
1. Verify `kernel/link-plan.md` exists and is recent (< 24 hours)
|
|
237
|
+
2. If no plan exists, prompt: "Run `/link-retrofit plan` first"
|
|
238
|
+
3. Confirm user wants to proceed
|
|
239
|
+
|
|
240
|
+
### Execution Protocol
|
|
241
|
+
|
|
242
|
+
#### For Each Link in Plan:
|
|
243
|
+
|
|
244
|
+
1. **Read** the source file
|
|
245
|
+
2. **Locate** the text to modify (use line number from plan)
|
|
246
|
+
3. **Show** the proposed edit:
|
|
247
|
+
```
|
|
248
|
+
File: work/Stakeholders/joanna-thomas.md
|
|
249
|
+
Line 20: "Reports To: Bianca Stef"
|
|
250
|
+
→ "Reports To: [[bianca-stef|Bianca Stef]]"
|
|
251
|
+
```
|
|
252
|
+
4. **Batch by tier**:
|
|
253
|
+
- CERTAIN: "Apply all X CERTAIN links? (yes/no)"
|
|
254
|
+
- STRONG: Show each, ask individually
|
|
255
|
+
|
|
256
|
+
#### Link Insertion Rules
|
|
257
|
+
|
|
258
|
+
**For name mentions in prose**:
|
|
259
|
+
```markdown
|
|
260
|
+
# Before
|
|
261
|
+
Reports To: Bianca Stef
|
|
262
|
+
|
|
263
|
+
# After
|
|
264
|
+
Reports To: [[bianca-stef|Bianca Stef]]
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**For adding related links section** (if no existing links):
|
|
268
|
+
```markdown
|
|
269
|
+
# Add at end of file, before any --- separator
|
|
270
|
+
|
|
271
|
+
## Related
|
|
272
|
+
|
|
273
|
+
- [[linked-file]]
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**For reciprocal links**:
|
|
277
|
+
Add to the "Related" section, or create one if missing.
|
|
278
|
+
|
|
279
|
+
### Post-Execution
|
|
280
|
+
|
|
281
|
+
1. Log changes to `kernel/memory/link-retrofit-log.md`
|
|
282
|
+
2. Update `kernel/link-plan.md` status to `completed`
|
|
283
|
+
3. Report summary: "Applied X links across Y files"
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Technical Constraints
|
|
288
|
+
|
|
289
|
+
### Safety Rules
|
|
290
|
+
|
|
291
|
+
1. **NEVER** modify content meaning — only add link syntax around existing text
|
|
292
|
+
2. **NEVER** add links inside code blocks or frontmatter
|
|
293
|
+
3. **NEVER** create duplicate links (check if link already exists)
|
|
294
|
+
4. **ALWAYS** use aliased links for names: `[[file-name|Display Name]]`
|
|
295
|
+
5. **ALWAYS** preserve original text when wrapping with link
|
|
296
|
+
|
|
297
|
+
### Entity Matching Rules
|
|
298
|
+
|
|
299
|
+
**Exact Match Required for CERTAIN**:
|
|
300
|
+
- "Chirag Deora" → `chirag-deora.md` ✓
|
|
301
|
+
- "Chirag" alone → Only if unambiguous (no other Chirag exists)
|
|
302
|
+
- "CD" or initials → Never auto-link
|
|
303
|
+
|
|
304
|
+
**Case Sensitivity**:
|
|
305
|
+
- Match is case-insensitive for detection
|
|
306
|
+
- Preserve original case in display text
|
|
307
|
+
|
|
308
|
+
**Avoid False Positives**:
|
|
309
|
+
- Skip common words that happen to be names (e.g., "Will" as future tense vs person)
|
|
310
|
+
- Skip mentions inside quotes that might be external references
|
|
311
|
+
- Skip mentions in "Example:" or template sections
|
|
312
|
+
|
|
313
|
+
### File Types to Process
|
|
314
|
+
|
|
315
|
+
| Include | Exclude |
|
|
316
|
+
|---------|---------|
|
|
317
|
+
| `work/**/*.md` | `**/templates/**` |
|
|
318
|
+
| `life/**/*.md` | `**/Archive/**` |
|
|
319
|
+
| `coding/**/*.md` | `**/_index.md` |
|
|
320
|
+
| `kernel/knowledge/**/*.md` | `**/README.md` |
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Integration with Gardener
|
|
325
|
+
|
|
326
|
+
This skill complements `/gardener`:
|
|
327
|
+
|
|
328
|
+
| Gardener | Link Retrofit |
|
|
329
|
+
|----------|---------------|
|
|
330
|
+
| Finds **broken** links | Finds **missing** links |
|
|
331
|
+
| Reactive (fix problems) | Proactive (add value) |
|
|
332
|
+
| Structural integrity | Semantic connectivity |
|
|
333
|
+
|
|
334
|
+
**Recommended workflow**:
|
|
335
|
+
1. Run `/gardener check` — fix broken links first
|
|
336
|
+
2. Run `/link-retrofit scan` — discover missing links
|
|
337
|
+
3. Run `/link-retrofit plan` — generate plan
|
|
338
|
+
4. Run `/link-retrofit apply` — apply with approval
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Example Session
|
|
343
|
+
|
|
344
|
+
```
|
|
345
|
+
User: /link-retrofit scan work/Stakeholders/
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: onboarding
|
|
3
|
+
description: Structured onboarding for new domains using breadth-before-depth discovery
|
|
4
|
+
triggers:
|
|
5
|
+
- "Let's onboard"
|
|
6
|
+
- "New domain"
|
|
7
|
+
- "Help me set up"
|
|
8
|
+
- "Onboard my"
|
|
9
|
+
- "Learn about my"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Onboarding Skill
|
|
13
|
+
|
|
14
|
+
You are entering **Onboarding Mode**. Your role is to systematically learn about a new domain of Zeus's life while avoiding the depth trap.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Philosophy
|
|
19
|
+
|
|
20
|
+
1. **Breadth before depth** — Map the landscape before diving deep
|
|
21
|
+
2. **Step back pattern** — After 5-10 minutes on any topic, ask "What else?"
|
|
22
|
+
3. **Prevent premature action** — Focus on understanding, not doing
|
|
23
|
+
4. **Structured but conversational** — Have a framework, follow Zeus's energy
|
|
24
|
+
5. **Persist as you go** — Create knowledge files for important entities discovered
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Protocol
|
|
29
|
+
|
|
30
|
+
### Phase 1: Orient (Start Here)
|
|
31
|
+
|
|
32
|
+
Ask these questions before anything else:
|
|
33
|
+
|
|
34
|
+
1. **Domain**: What domain are we onboarding? (work, life, specific project, specific area)
|
|
35
|
+
2. **Goal**: What's the goal of this onboarding? (understand context, set up tracking, prepare for something)
|
|
36
|
+
3. **Sources**: What systems/data sources are available? (email, calendar, documents, nothing yet)
|
|
37
|
+
|
|
38
|
+
**Output**: Clear understanding of scope and available data.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### Phase 2: Scan (If Data Sources Available)
|
|
43
|
+
|
|
44
|
+
If Zeus has connected email, calendar, or documents:
|
|
45
|
+
|
|
46
|
+
1. Fire parallel background agents to scan:
|
|
47
|
+
```
|
|
48
|
+
background_task(agent="general", prompt="Scan recent emails for people, projects, recurring themes...")
|
|
49
|
+
background_task(agent="general", prompt="Scan calendar for meetings, recurring events, key people...")
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
2. Synthesize findings:
|
|
53
|
+
- Key people mentioned
|
|
54
|
+
- Active projects/areas
|
|
55
|
+
- Recurring themes
|
|
56
|
+
- Open items/commitments
|
|
57
|
+
|
|
58
|
+
**Output**: Data-driven overview of the domain landscape.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### Phase 3: Discover (Interview Mode)
|
|
63
|
+
|
|
64
|
+
Ask clarifying questions about what you found (or start here if no data sources):
|
|
65
|
+
|
|
66
|
+
| Area | Questions |
|
|
67
|
+
|------|-----------|
|
|
68
|
+
| **People** | Who are the key people? (just names for now — we'll go deeper later) |
|
|
69
|
+
| **Projects/Areas** | What are the main projects or areas of focus? |
|
|
70
|
+
| **Challenges** | What's the biggest challenge or pain point right now? |
|
|
71
|
+
| **Success** | What does success look like? What are you optimizing for? |
|
|
72
|
+
| **Gaps** | What's not working? What falls through the cracks? |
|
|
73
|
+
|
|
74
|
+
**Key rule**: Collect NAMES and TOPICS first. Don't drill into any one area yet.
|
|
75
|
+
|
|
76
|
+
**Output**: List of people, projects, challenges, and goals.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### Phase 4: Step Back (CRITICAL)
|
|
81
|
+
|
|
82
|
+
After covering one area for 5-10 minutes, ALWAYS ask one of these:
|
|
83
|
+
|
|
84
|
+
- "We've covered [X]. Before going deeper, are there other areas we should map out?"
|
|
85
|
+
- "What else is on your mind that we haven't touched?"
|
|
86
|
+
- "Is there anything blocking you that we should address first?"
|
|
87
|
+
- "Are there other people or projects I should know about before we continue?"
|
|
88
|
+
|
|
89
|
+
**NEVER** dive deep into one entity without first mapping the full landscape.
|
|
90
|
+
|
|
91
|
+
**Anti-Pattern Detection**: If you've been discussing one project or person for more than 5 minutes and haven't asked about others, STOP and ask.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### Phase 5: Deepen (Only After Breadth)
|
|
96
|
+
|
|
97
|
+
Once the landscape is mapped, ask Zeus which area to explore first:
|
|
98
|
+
|
|
99
|
+
- "We've identified [projects A, B, C] and [people X, Y, Z]. Which would you like to detail first?"
|
|
100
|
+
- "What's most urgent or important to capture deeply?"
|
|
101
|
+
|
|
102
|
+
For each entity Zeus prioritizes:
|
|
103
|
+
|
|
104
|
+
1. Create a knowledge file using appropriate template
|
|
105
|
+
2. Capture key details, relationships, status
|
|
106
|
+
3. Add to relevant `_index.md`
|
|
107
|
+
4. Create bidirectional links to related entities
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### Phase 6: Close
|
|
112
|
+
|
|
113
|
+
Before ending the onboarding session:
|
|
114
|
+
|
|
115
|
+
1. **Summarize** what was learned:
|
|
116
|
+
- Domain scope
|
|
117
|
+
- Key entities created
|
|
118
|
+
- Relationships mapped
|
|
119
|
+
|
|
120
|
+
2. **Identify gaps** to fill later:
|
|
121
|
+
- "We didn't get to [X, Y, Z]. Should we schedule follow-up?"
|
|
122
|
+
- "I'm missing context on [A, B]. Can we cover that next time?"
|
|
123
|
+
|
|
124
|
+
3. **Set expectations**:
|
|
125
|
+
- "I'll continue learning as we interact. Correct me when I'm wrong."
|
|
126
|
+
- "Mention new people or projects as they come up — I'll capture them."
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Anti-Pattern: The Depth Trap
|
|
131
|
+
|
|
132
|
+
### WRONG
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
Zeus: "Let's onboard my work"
|
|
136
|
+
Thoth: "Tell me about Project Alpha"
|
|
137
|
+
Zeus: [explains Project Alpha for 20 minutes]
|
|
138
|
+
Thoth: [asks more Project Alpha questions]
|
|
139
|
+
[30 minutes later, deep in Project Alpha details]
|
|
140
|
+
[Never asked about other projects, colleagues, goals]
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### RIGHT
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
Zeus: "Let's onboard my work"
|
|
147
|
+
Thoth: "Before we dive deep, let me understand the landscape.
|
|
148
|
+
Who are the key people you work with?"
|
|
149
|
+
Zeus: [lists 5 people]
|
|
150
|
+
Thoth: "And what are the main projects or areas you're focused on?"
|
|
151
|
+
Zeus: [lists 3 projects]
|
|
152
|
+
Thoth: "Got it. What's your biggest challenge right now?"
|
|
153
|
+
Zeus: [explains challenge]
|
|
154
|
+
Thoth: "Before we go deeper on any of these, is there anything
|
|
155
|
+
else I should know about — other projects, people, or
|
|
156
|
+
responsibilities?"
|
|
157
|
+
Zeus: [adds 2 more things]
|
|
158
|
+
Thoth: "Now, which of these would you like to detail first?"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Knowledge Creation During Onboarding
|
|
164
|
+
|
|
165
|
+
As you discover entities, create files:
|
|
166
|
+
|
|
167
|
+
| Entity Type | Template | Location |
|
|
168
|
+
|-------------|----------|----------|
|
|
169
|
+
| Person (work) | `kernel/templates/person.md` | `work/people/` |
|
|
170
|
+
| Person (life) | `kernel/templates/person.md` | `life/people/` |
|
|
171
|
+
| Project | `kernel/templates/project.md` | `{hemisphere}/projects/` |
|
|
172
|
+
| Area/Topic | Create overview file | Appropriate folder |
|
|
173
|
+
|
|
174
|
+
**Rules**:
|
|
175
|
+
- Check if entity already exists before creating (grep for name)
|
|
176
|
+
- Add to `_index.md` immediately after creation
|
|
177
|
+
- Create bidirectional links between related entities
|
|
178
|
+
- Use frontmatter with appropriate type, hemisphere, tags
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Verification Checklist
|
|
183
|
+
|
|
184
|
+
Before ending onboarding session:
|
|
185
|
+
|
|
186
|
+
- [ ] Asked about multiple areas (people, projects, challenges, goals)
|
|
187
|
+
- [ ] Used step-back pattern at least once
|
|
188
|
+
- [ ] Didn't spend more than 10 minutes on any single entity before mapping others
|
|
189
|
+
- [ ] Created knowledge files for key entities
|
|
190
|
+
- [ ] Updated relevant `_index.md` files
|
|
191
|
+
- [ ] Identified gaps for follow-up
|
|
192
|
+
- [ ] Zeus knows what to expect going forward
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Quick Reference
|
|
197
|
+
|
|
198
|
+
| Trigger | Action |
|
|
199
|
+
|---------|--------|
|
|
200
|
+
| "Let's onboard my work" | Start Phase 1 with work domain |
|
|
201
|
+
| "Help me set up life tracking" | Start Phase 1 with life domain |
|
|
202
|
+
| "New project: X" | Orient on project X specifically |
|
|
203
|
+
| "Learn about my team" | Focus on people discovery |
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
*Onboarding Skill v1.0 | Part of Thoth Knowledge Management System*
|