thoth-plugin 1.1.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.
- package/README.md +84 -0
- package/dist/agents/archivist.d.ts +2 -0
- package/dist/agents/chronicler.d.ts +2 -0
- package/dist/agents/coach.d.ts +2 -0
- package/dist/agents/code-master.d.ts +2 -0
- package/dist/agents/diplomat.d.ts +2 -0
- package/dist/agents/index.d.ts +12 -0
- package/dist/agents/life-master.d.ts +2 -0
- package/dist/agents/scribe.d.ts +2 -0
- package/dist/agents/sentinel.d.ts +2 -0
- package/dist/agents/thoth.d.ts +37 -0
- package/dist/agents/work-master.d.ts +2 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.js +220 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/schema.d.ts +99 -0
- package/dist/defaults/AGENTS.md +53 -0
- package/dist/defaults/skill/cal-grid/SKILL.md +16 -0
- package/dist/defaults/skill/capsule-init/SKILL.md +102 -0
- package/dist/defaults/skill/cross-linker/SKILL.md +357 -0
- package/dist/defaults/skill/evening-close/SKILL.md +91 -0
- package/dist/defaults/skill/gardener/SKILL.md +248 -0
- package/dist/defaults/skill/gardener/confidence-tiers.md +142 -0
- package/dist/defaults/skill/gardener/repair-workflow.md +170 -0
- package/dist/defaults/skill/google-chat-scan/SKILL.md +135 -0
- package/dist/defaults/skill/handover/SKILL.md +18 -0
- package/dist/defaults/skill/interview-prep/SKILL.md +23 -0
- package/dist/defaults/skill/leadership-coach/SKILL.md +160 -0
- package/dist/defaults/skill/link-retrofit/SKILL.md +345 -0
- package/dist/defaults/skill/mail-triage/SKILL.md +16 -0
- package/dist/defaults/skill/morning-boot/SKILL.md +98 -0
- package/dist/defaults/skill/post-meeting-drill/SKILL.md +479 -0
- package/dist/defaults/skill/restore-environment/SKILL.md +30 -0
- package/dist/defaults/skill/scorecard-synthesis/SKILL.md +26 -0
- package/dist/defaults/skill/skill-generator/SKILL.md +240 -0
- package/dist/defaults/skill/skill-generator/testing-protocol.md +158 -0
- package/dist/defaults/skill/slack-pulse/SKILL.md +16 -0
- package/dist/defaults/skill/system-init/SKILL.md +103 -0
- package/dist/defaults/skill/thought-router/SKILL.md +80 -0
- package/dist/hooks/context-aperture.d.ts +37 -0
- package/dist/hooks/context-aperture.test.d.ts +1 -0
- package/dist/hooks/directory-agents-injector/constants.d.ts +6 -0
- package/dist/hooks/directory-agents-injector/index.d.ts +21 -0
- package/dist/hooks/directory-agents-injector/storage.d.ts +8 -0
- package/dist/hooks/directory-agents-injector/types.d.ts +24 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/permission-enforcer.d.ts +15 -0
- package/dist/hooks/permission-enforcer.test.d.ts +1 -0
- package/dist/hooks/temporal-awareness.d.ts +31 -0
- package/dist/hooks/temporal-awareness.test.d.ts +1 -0
- package/dist/hooks/trust-level-tracker.d.ts +58 -0
- package/dist/hooks/trust-level-tracker.test.d.ts +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +31196 -0
- package/dist/shared/index.d.ts +21 -0
- package/dist/shared-hooks/background-agent/index.d.ts +2 -0
- package/dist/shared-hooks/background-agent/manager.d.ts +39 -0
- package/dist/shared-hooks/background-agent/types.d.ts +30 -0
- package/dist/shared-hooks/background-notification/index.d.ts +12 -0
- package/dist/shared-hooks/background-notification/types.d.ts +4 -0
- package/dist/shared-hooks/context-window-monitor.d.ts +18 -0
- package/dist/shared-hooks/index.d.ts +7 -0
- package/dist/shared-hooks/session-recovery/constants.d.ts +6 -0
- package/dist/shared-hooks/session-recovery/index.d.ts +21 -0
- package/dist/shared-hooks/session-recovery/storage.d.ts +19 -0
- package/dist/shared-hooks/session-recovery/types.d.ts +90 -0
- package/dist/shared-hooks/todo-continuation-enforcer.d.ts +12 -0
- package/dist/shared-hooks/utils/constants.d.ts +6 -0
- package/dist/shared-hooks/utils/index.d.ts +5 -0
- package/dist/shared-hooks/utils/logger.d.ts +2 -0
- package/dist/shared-hooks/utils/message-storage.d.ts +6 -0
- package/dist/shared-hooks/utils/session-state.d.ts +4 -0
- package/dist/shared-hooks/utils/types.d.ts +141 -0
- package/dist/specialization/boot-sequences.d.ts +19 -0
- package/dist/specialization/detector.d.ts +20 -0
- package/dist/specialization/index.d.ts +10 -0
- package/dist/specialization/prompt-builder.d.ts +30 -0
- package/dist/specialization/prompt-sections.d.ts +19 -0
- package/dist/specialization/types.d.ts +86 -0
- package/dist/thoth-plugin.schema.json +7 -0
- package/dist/tools/background-task/constants.d.ts +3 -0
- package/dist/tools/background-task/index.d.ts +2 -0
- package/dist/tools/background-task/tools.d.ts +7 -0
- package/dist/tools/background-task/types.d.ts +14 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/skill/index.d.ts +2 -0
- package/dist/tools/skill/tools.d.ts +2 -0
- package/dist/tools/skill/types.d.ts +37 -0
- package/package.json +54 -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,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mail-triage
|
|
3
|
+
description: Exhaustive Gmail inbox triage using the Thoth standard protocol. Drains ALL inbox items and returns an executive dashboard.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Mail Triage Skill
|
|
7
|
+
|
|
8
|
+
You are the Lead Triage Specialist for Zeus's Chief of Staff.
|
|
9
|
+
|
|
10
|
+
## Protocol Execution
|
|
11
|
+
|
|
12
|
+
1. **Read Master Instructions**: Load the full protocol from `kernel/Agents/mail-triage.md`.
|
|
13
|
+
2. **Execute**: Follow the protocol exactly as defined in the master file.
|
|
14
|
+
3. **Synthesize**: Provide the high-resolution executive report and the required raw data block.
|
|
15
|
+
|
|
16
|
+
**MANDATORY**: Ensure the output includes the `## SCAN_DATA_START` and `## SCAN_DATA_END` markers as specified in the master instructions.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: morning-boot
|
|
3
|
+
description: The master orchestrator for your morning routine. Parallelizes scans and synthesizes the Daily Log.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Morning Boot Skill
|
|
7
|
+
|
|
8
|
+
You are the **Daily Operations Orchestrator**. Your goal is to gather all context, synthesize it, and create the user's "Living Document" for the day.
|
|
9
|
+
|
|
10
|
+
## Protocol Execution
|
|
11
|
+
|
|
12
|
+
### Step 1: Initialize
|
|
13
|
+
|
|
14
|
+
1. **Temporal Grounding**:
|
|
15
|
+
- Check `<omo-env>` for Current Date/Time and Timezone.
|
|
16
|
+
- Calculate `DayOfWeek`, `WeekNumber`, and `Quarter`.
|
|
17
|
+
- Identify the **Operational Mode**:
|
|
18
|
+
- Monday = Launch Mode (planning, alignment)
|
|
19
|
+
- Tuesday-Thursday = Execution Mode (deep work)
|
|
20
|
+
- Friday = Closure Mode (wrap up, delegate)
|
|
21
|
+
- Weekend = Sanctuary Mode (restoration)
|
|
22
|
+
|
|
23
|
+
2. **Load Context**:
|
|
24
|
+
- Read `kernel/state/trust.md` for current trust level.
|
|
25
|
+
- Read `work/MASTER.md` for work hemisphere overview.
|
|
26
|
+
- Check `work/inbox/` for pending items.
|
|
27
|
+
|
|
28
|
+
### Step 2: Parallel Scans (High Throughput)
|
|
29
|
+
|
|
30
|
+
Launch three simultaneous `background_task` calls for parallel execution.
|
|
31
|
+
|
|
32
|
+
**Agent A: Email Scan**
|
|
33
|
+
```
|
|
34
|
+
background_task(
|
|
35
|
+
agent="general",
|
|
36
|
+
description="Email triage scan",
|
|
37
|
+
prompt="Scan recent emails using google-workspace tools. Categorize by: URGENT (needs response today), ACTION (needs response this week), FYI (informational). Return structured report with sender, subject, category, and recommended action."
|
|
38
|
+
)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Agent B: Calendar Scan**
|
|
42
|
+
```
|
|
43
|
+
background_task(
|
|
44
|
+
agent="general",
|
|
45
|
+
description="Calendar analysis",
|
|
46
|
+
prompt="Analyze today's calendar using google-workspace tools. For each meeting: identify prep required, key attendees, and time blocks. Flag any conflicts or back-to-back meetings. Return structured report."
|
|
47
|
+
)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Agent C: Slack Scan**
|
|
51
|
+
```
|
|
52
|
+
background_task(
|
|
53
|
+
agent="general",
|
|
54
|
+
description="Slack pulse check",
|
|
55
|
+
prompt="Scan recent Slack messages using slack tools. Identify: DMs needing response, channel mentions, threads requiring input. Categorize by urgency. Return structured report."
|
|
56
|
+
)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 3: Synthesis (The Master Plan)
|
|
60
|
+
|
|
61
|
+
Once all three background tasks complete (system will notify):
|
|
62
|
+
|
|
63
|
+
1. **Collect Results**: Use `background_output` to retrieve each scan's results.
|
|
64
|
+
|
|
65
|
+
2. **Merge & Prioritize**:
|
|
66
|
+
- Combine Email ACTIONs, Slack RESPONDs, and Calendar PREP REQUIRED.
|
|
67
|
+
- Apply the **Executive Filter**: What is the #1 priority? What are the Top 3?
|
|
68
|
+
- Consider biological mode (high-cognitive morning = protect for deep work).
|
|
69
|
+
|
|
70
|
+
3. **Save Scan Outputs**:
|
|
71
|
+
- Create folder `work/operations/daily-log/YYYY-MM-DD/` (if not exists).
|
|
72
|
+
- Save each scan result to its own file:
|
|
73
|
+
- `cal-grid.md` - Calendar scan with SCAN_DATA_START/END blocks
|
|
74
|
+
- `mail-triage.md` - Email scan with SCAN_DATA_START/END blocks
|
|
75
|
+
- `slack-pulse.md` - Slack scan with SCAN_DATA_START/END blocks
|
|
76
|
+
|
|
77
|
+
4. **Generate Daily Log**:
|
|
78
|
+
- Use template from `work/operations/daily-log/TEMPLATE-daily-log.md`.
|
|
79
|
+
- Populate all sections (Priorities, Team Focus, Calendar, Pending Responses).
|
|
80
|
+
- Save synthesized `daily-log.md` to the same folder.
|
|
81
|
+
|
|
82
|
+
### Step 4: Finalize
|
|
83
|
+
|
|
84
|
+
1. **Summarize** today's plan to the user in chat.
|
|
85
|
+
2. **Suggest Complexity Budget** based on meeting load:
|
|
86
|
+
- Light day (0-2 meetings): 2-3 Heavy tasks
|
|
87
|
+
- Medium day (3-4 meetings): 1-2 Heavy tasks
|
|
88
|
+
- Heavy day (5+ meetings): Focus on meetings, 1 Light task max
|
|
89
|
+
3. **Identify Time Blocks** for deep work based on calendar gaps.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Technical Constraints
|
|
94
|
+
|
|
95
|
+
- **Trust Level**: This skill requires Trust Level 2+ for email/calendar access.
|
|
96
|
+
- **Parallel Execution**: Use `background_task` for concurrent scans, not sequential `task` calls.
|
|
97
|
+
- **Verification**: If a scan returns no data or fails, notify user and offer sequential fallback.
|
|
98
|
+
- **Privacy**: Never store raw email/message content in logs - only summaries and action items.
|