thoth-plugin 1.2.4 → 1.2.6
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 +17 -1
- package/defaults/skill/cal-grid/SKILL.md +168 -0
- package/defaults/skill/cal-grid/cal-grid-template.md +106 -0
- package/defaults/skill/context-discovery/SKILL.md +253 -0
- package/defaults/skill/context-discovery/discovery.prose +143 -0
- package/defaults/skill/context-onboarding/SKILL.md +370 -0
- package/{dist/defaults/skill/_legacy/email-draft/skill.md → defaults/skill/email-draft/SKILL.md} +33 -30
- package/defaults/skill/evening-close/SKILL.md +93 -61
- package/defaults/skill/evening-close/evening-close-template.md +42 -0
- package/{dist/defaults/skill/_legacy → defaults/skill}/gardener/SKILL.md +3 -3
- package/{dist/defaults/skill/_legacy → defaults/skill}/google-chat-scan/SKILL.md +7 -0
- package/{dist/defaults/skill/_legacy → defaults/skill}/leadership-coach/SKILL.md +9 -8
- package/defaults/skill/mail-triage/SKILL.md +272 -15
- package/defaults/skill/mail-triage/mail-triage-template.md +90 -0
- package/defaults/skill/morning-boot/SKILL.md +214 -25
- package/defaults/skill/morning-boot/daily-log-template.md +98 -0
- package/defaults/skill/morning-boot/morning-boot.prose +98 -0
- package/defaults/skill/{_legacy/onboarding → onboarding}/SKILL.md +7 -6
- package/defaults/skill/open-prose/SKILL.md +373 -0
- package/defaults/skill/open-prose/antipatterns.md +852 -0
- package/defaults/skill/open-prose/docs.md +2676 -0
- package/defaults/skill/open-prose/patterns.md +610 -0
- package/defaults/skill/open-prose/prose.md +950 -0
- package/{dist/defaults/skill/_legacy → defaults/skill}/post-meeting-drill/SKILL.md +90 -95
- package/defaults/skill/post-meeting-drill/examples.md +130 -0
- package/defaults/skill/post-meeting-drill/post-meeting-drill-template.md +111 -0
- package/defaults/skill/skill-generator/SKILL.md +217 -0
- package/defaults/skill/skill-generator/skill-template.md +163 -0
- package/defaults/skill/slack-pulse/SKILL.md +211 -14
- package/defaults/skill/slack-pulse/slack-pulse-template.md +98 -0
- package/defaults/skill/slack-write/skill.md +184 -0
- package/defaults/skill/thought-router/SKILL.md +12 -9
- package/dist/cli.js +137 -3
- package/dist/config/schema.d.ts +0 -2
- package/dist/defaults/skill/cal-grid/SKILL.md +168 -0
- package/dist/defaults/skill/cal-grid/cal-grid-template.md +106 -0
- package/dist/defaults/skill/context-discovery/SKILL.md +253 -0
- package/dist/defaults/skill/context-discovery/discovery.prose +143 -0
- package/dist/defaults/skill/context-onboarding/SKILL.md +370 -0
- package/{defaults/skill/_legacy/email-draft/skill.md → dist/defaults/skill/email-draft/SKILL.md} +33 -30
- package/dist/defaults/skill/evening-close/SKILL.md +93 -61
- package/dist/defaults/skill/evening-close/evening-close-template.md +42 -0
- package/{defaults/skill/_legacy → dist/defaults/skill}/gardener/SKILL.md +3 -3
- package/{defaults/skill/_legacy → dist/defaults/skill}/google-chat-scan/SKILL.md +7 -0
- package/{defaults/skill/_legacy → dist/defaults/skill}/leadership-coach/SKILL.md +9 -8
- package/dist/defaults/skill/mail-triage/SKILL.md +272 -15
- package/dist/defaults/skill/mail-triage/mail-triage-template.md +90 -0
- package/dist/defaults/skill/morning-boot/SKILL.md +214 -25
- package/dist/defaults/skill/morning-boot/daily-log-template.md +98 -0
- package/dist/defaults/skill/morning-boot/morning-boot.prose +98 -0
- package/dist/defaults/skill/{_legacy/onboarding → onboarding}/SKILL.md +7 -6
- package/dist/defaults/skill/open-prose/SKILL.md +373 -0
- package/dist/defaults/skill/open-prose/antipatterns.md +852 -0
- package/dist/defaults/skill/open-prose/docs.md +2676 -0
- package/dist/defaults/skill/open-prose/patterns.md +610 -0
- package/dist/defaults/skill/open-prose/prose.md +950 -0
- package/{defaults/skill/_legacy → dist/defaults/skill}/post-meeting-drill/SKILL.md +90 -95
- package/dist/defaults/skill/post-meeting-drill/examples.md +130 -0
- package/dist/defaults/skill/post-meeting-drill/post-meeting-drill-template.md +111 -0
- package/dist/defaults/skill/skill-generator/SKILL.md +217 -0
- package/dist/defaults/skill/skill-generator/skill-template.md +163 -0
- package/dist/defaults/skill/slack-pulse/SKILL.md +211 -14
- package/dist/defaults/skill/slack-pulse/slack-pulse-template.md +98 -0
- package/dist/defaults/skill/slack-write/skill.md +184 -0
- package/dist/defaults/skill/thought-router/SKILL.md +12 -9
- package/dist/hooks/index.d.ts +0 -1
- package/dist/index.js +14 -201
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/sentinel-service.d.ts +0 -1
- package/dist/sdk/test-harness.d.ts +90 -0
- package/dist/shared/index.d.ts +0 -1
- package/dist/specialization/prompt-sections.d.ts +1 -1
- package/package.json +1 -1
- package/defaults/skill/_legacy/cal-grid/SKILL.md +0 -16
- package/defaults/skill/_legacy/skill-generator/SKILL.md +0 -362
- package/dist/defaults/skill/_legacy/cal-grid/SKILL.md +0 -16
- package/dist/defaults/skill/_legacy/skill-generator/SKILL.md +0 -362
- package/dist/hooks/temporal-awareness.d.ts +0 -31
- package/dist/hooks/temporal-awareness.test.d.ts +0 -1
- /package/defaults/skill/{_legacy/capsule-init → capsule-init}/SKILL.md +0 -0
- /package/defaults/skill/{_legacy/cross-linker → cross-linker}/SKILL.md +0 -0
- /package/defaults/skill/{_legacy/gardener → gardener}/confidence-tiers.md +0 -0
- /package/defaults/skill/{_legacy/gardener → gardener}/repair-workflow.md +0 -0
- /package/defaults/skill/{_legacy/handover → handover}/SKILL.md +0 -0
- /package/defaults/skill/{_legacy/interview-prep → interview-prep}/SKILL.md +0 -0
- /package/defaults/skill/{_legacy/link-retrofit → link-retrofit}/SKILL.md +0 -0
- /package/defaults/skill/{_legacy/restore-environment → restore-environment}/SKILL.md +0 -0
- /package/defaults/skill/{_legacy/scorecard-synthesis → scorecard-synthesis}/SKILL.md +0 -0
- /package/defaults/skill/{_legacy/skill-generator → skill-generator}/testing-protocol.md +0 -0
- /package/defaults/skill/{_legacy/system-init → system-init}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/capsule-init → capsule-init}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/cross-linker → cross-linker}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/gardener → gardener}/confidence-tiers.md +0 -0
- /package/dist/defaults/skill/{_legacy/gardener → gardener}/repair-workflow.md +0 -0
- /package/dist/defaults/skill/{_legacy/handover → handover}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/interview-prep → interview-prep}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/link-retrofit → link-retrofit}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/restore-environment → restore-environment}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/scorecard-synthesis → scorecard-synthesis}/SKILL.md +0 -0
- /package/dist/defaults/skill/{_legacy/skill-generator → skill-generator}/testing-protocol.md +0 -0
- /package/dist/defaults/skill/{_legacy/system-init → system-init}/SKILL.md +0 -0
|
@@ -1,42 +1,231 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: morning-boot
|
|
3
|
-
|
|
4
|
-
description: Operational mode (e.g. 'deep-work', 'maintenance')
|
|
3
|
+
description: The master orchestrator for your morning routine. Parallelizes scans across email, calendar, and Slack, then synthesizes into a daily briefing.
|
|
5
4
|
triggers:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type: markdown
|
|
9
|
-
required: false
|
|
10
|
-
default: auto
|
|
11
|
-
output:
|
|
5
|
+
template: daily-log-template.md
|
|
6
|
+
created: 2026-01-09
|
|
12
7
|
updated: 2026-01-09
|
|
13
8
|
---
|
|
14
9
|
|
|
10
|
+
<!--
|
|
11
|
+
ARCHITECTURE REFERENCE — READ BEFORE MODIFYING
|
|
12
|
+
|
|
13
|
+
This skill follows the Skill Architecture pattern documented in:
|
|
14
|
+
docs/concepts/skill-architecture.md
|
|
15
|
+
|
|
16
|
+
Key concepts:
|
|
17
|
+
- Skills are modular context units (workflow + template + orchestration)
|
|
18
|
+
- Subagents invoke skills as context templates
|
|
19
|
+
- Templates ensure consistent output quality
|
|
20
|
+
- Synthesis happens in main session (not subagent) for full context access
|
|
21
|
+
- Nesting enables context discovery chains
|
|
22
|
+
|
|
23
|
+
DO NOT modify this skill without reading the architecture doc first.
|
|
24
|
+
-->
|
|
25
|
+
|
|
15
26
|
# Morning Boot Skill
|
|
16
27
|
|
|
17
|
-
You are the **Daily Operations Orchestrator**.
|
|
28
|
+
You are the **Daily Operations Orchestrator**. Coordinate parallel scans, synthesize results with full session context, and produce the daily briefing.
|
|
29
|
+
|
|
30
|
+
---
|
|
18
31
|
|
|
19
|
-
##
|
|
32
|
+
## Architecture
|
|
20
33
|
|
|
21
|
-
|
|
34
|
+
```
|
|
35
|
+
Main Session (Thoth)
|
|
36
|
+
│
|
|
37
|
+
├─▶ SKILL.md (this file)
|
|
38
|
+
│ │
|
|
39
|
+
│ ├── Phase 1: Context Discovery
|
|
40
|
+
│ │
|
|
41
|
+
│ ├── Phase 2: Execute OpenProse VM
|
|
42
|
+
│ │ └── morning-boot.prose
|
|
43
|
+
│ │ └── parallel:
|
|
44
|
+
│ │ ├── email_scanner → mail-triage skill → email summary
|
|
45
|
+
│ │ ├── calendar_scanner → cal-grid skill → calendar summary
|
|
46
|
+
│ │ └── slack_scanner → slack-pulse skill → slack summary
|
|
47
|
+
│ │
|
|
48
|
+
│ ├── Phase 3: Synthesize (YOU do this, with full context)
|
|
49
|
+
│ │ └── Use daily-log-template.md
|
|
50
|
+
│ │
|
|
51
|
+
│ ├── Phase 4: Persist outputs
|
|
52
|
+
│ │
|
|
53
|
+
│ └── Phase 5: Present to user
|
|
54
|
+
│
|
|
55
|
+
└── Back to Main Session
|
|
56
|
+
```
|
|
22
57
|
|
|
23
|
-
**
|
|
58
|
+
**Key insight:** Subagents do the heavy scanning (keeps main context clean). YOU do the synthesis (you have full context: spillover, projects, commitments).
|
|
59
|
+
|
|
60
|
+
---
|
|
24
61
|
|
|
25
|
-
|
|
26
|
-
2. Workflow name: `"morning-boot"`
|
|
62
|
+
## Phase 1: Context Discovery
|
|
27
63
|
|
|
28
|
-
|
|
29
|
-
|
|
64
|
+
**Step 1.1 — Get Identity:**
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
skill({ name: "context-discovery" })
|
|
30
68
|
```
|
|
31
69
|
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
70
|
+
Store:
|
|
71
|
+
- `EMAIL` — User's work email
|
|
72
|
+
- `KB_ROOT` — Knowledge base path
|
|
73
|
+
|
|
74
|
+
**If discovery fails:** Stop and report. User needs to run `thoth link`.
|
|
75
|
+
|
|
76
|
+
**Step 1.2 — Determine output path:**
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
OUTPUT_DIR = {KB_ROOT}/work/operations/daily-log/{YYYY-MM-DD}/
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Create the directory if it doesn't exist.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Phase 2: Execute OpenProse Workflow
|
|
87
|
+
|
|
88
|
+
Load and embody the OpenProse VM. Execute `morning-boot.prose`.
|
|
89
|
+
|
|
90
|
+
The .prose file spawns three scanner agents in parallel:
|
|
91
|
+
- `email_scanner` → invokes `mail-triage` skill
|
|
92
|
+
- `calendar_scanner` → invokes `cal-grid` skill
|
|
93
|
+
- `slack_scanner` → invokes `slack-pulse` skill
|
|
94
|
+
|
|
95
|
+
Each skill:
|
|
96
|
+
- Handles its own context discovery
|
|
97
|
+
- Reads its own config files
|
|
98
|
+
- Uses its own template for output format
|
|
99
|
+
- Returns a structured summary
|
|
100
|
+
|
|
101
|
+
**Receive back:** `{ email, calendar, slack }` — summaries from all three scanners.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Phase 3: Synthesize Daily Briefing
|
|
106
|
+
|
|
107
|
+
**YOU do this step** — not a subagent. You have the full session context.
|
|
108
|
+
|
|
109
|
+
**Step 3.1 — Load template:**
|
|
110
|
+
|
|
111
|
+
Read `daily-log-template.md` from this skill folder.
|
|
112
|
+
|
|
113
|
+
**Step 3.2 — Gather additional context:**
|
|
114
|
+
|
|
115
|
+
Check for spillover and commitments:
|
|
116
|
+
- Read `{KB_ROOT}/work/dashboard.md` for current priorities
|
|
117
|
+
- Read previous day's `daily-log.md` for unfinished items
|
|
118
|
+
- Cross-reference with known projects and commitments
|
|
119
|
+
|
|
120
|
+
**Step 3.3 — Apply synthesis logic:**
|
|
121
|
+
|
|
122
|
+
| Input | Analysis |
|
|
123
|
+
|-------|----------|
|
|
124
|
+
| Email ACTION items | → Pending responses (email) |
|
|
125
|
+
| Calendar meetings | → Meeting load, complexity budget |
|
|
126
|
+
| Calendar focus blocks | → Deep work windows |
|
|
127
|
+
| Slack RESPOND items | → Pending responses (slack) |
|
|
128
|
+
| Meeting notes detected | → Handoff count for post-meeting-drill |
|
|
129
|
+
| Spillover from yesterday | → Carry forward or reprioritize |
|
|
130
|
+
| Dashboard priorities | → Cross-reference with today's items |
|
|
131
|
+
|
|
132
|
+
**Step 3.4 — Determine Top Priority and Top 3:**
|
|
133
|
+
|
|
134
|
+
Apply Executive Filter:
|
|
135
|
+
1. What MUST happen today? (deadlines, blockers, commitments)
|
|
136
|
+
2. What SHOULD happen today? (important but not urgent)
|
|
137
|
+
3. What CAN happen today? (if time permits)
|
|
138
|
+
|
|
139
|
+
**Step 3.5 — Calculate Complexity Budget:**
|
|
37
140
|
|
|
38
|
-
|
|
141
|
+
| Meeting Load | Meetings | Task Capacity |
|
|
142
|
+
|--------------|----------|---------------|
|
|
143
|
+
| Light | 0-2 | 2-3 Heavy tasks |
|
|
144
|
+
| Medium | 3-4 | 1-2 Heavy tasks |
|
|
145
|
+
| Heavy | 5+ | 1 Light task max |
|
|
146
|
+
|
|
147
|
+
**Step 3.6 — Fill template:**
|
|
148
|
+
|
|
149
|
+
Replace placeholders in `daily-log-template.md` with synthesized values.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Phase 4: Persist Outputs
|
|
154
|
+
|
|
155
|
+
Write all files to `{OUTPUT_DIR}`:
|
|
156
|
+
|
|
157
|
+
| File | Content |
|
|
158
|
+
|------|---------|
|
|
159
|
+
| `daily-log.md` | Synthesized briefing (from Phase 3) |
|
|
160
|
+
| `mail-triage.md` | Email scan results (from email scanner) |
|
|
161
|
+
| `cal-grid.md` | Calendar analysis (from calendar scanner) |
|
|
162
|
+
| `slack-pulse.md` | Slack activity (from slack scanner) |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Phase 5: Present to User
|
|
167
|
+
|
|
168
|
+
Verbal summary format:
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
## Morning Briefing — {DATE}
|
|
172
|
+
|
|
173
|
+
**Top Priority:** {TOP_PRIORITY}
|
|
174
|
+
|
|
175
|
+
**Top 3:**
|
|
176
|
+
1. {PRIORITY_1}
|
|
177
|
+
2. {PRIORITY_2}
|
|
178
|
+
3. {PRIORITY_3}
|
|
179
|
+
|
|
180
|
+
**Day Shape:** {COMPLEXITY} day — {MEETING_COUNT} meetings, {DEEP_WORK_HOURS}h deep work available
|
|
181
|
+
|
|
182
|
+
**Pending Responses:** {EMAIL_ACTION_COUNT} emails, {SLACK_RESPOND_COUNT} Slack messages
|
|
183
|
+
|
|
184
|
+
**Meeting Notes:** {MEETING_NOTES_COUNT} ready for processing
|
|
185
|
+
|
|
186
|
+
Files saved to: work/operations/daily-log/{DATE}/
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Fallback Mode
|
|
192
|
+
|
|
193
|
+
If any scanner fails:
|
|
194
|
+
|
|
195
|
+
1. **Report which failed** and the error
|
|
196
|
+
2. **Continue with remaining scanners** — partial data is better than none
|
|
197
|
+
3. **Synthesize with available data**
|
|
198
|
+
4. **Offer retry:** "Want me to retry the {failed} scan?"
|
|
199
|
+
|
|
200
|
+
If ALL scanners fail:
|
|
201
|
+
|
|
202
|
+
1. **Fall back to KB data:**
|
|
203
|
+
- Read `work/dashboard.md`
|
|
204
|
+
- Read `work/inbox/`
|
|
205
|
+
- Check recent daily logs
|
|
206
|
+
2. **Synthesize from KB** — not as fresh, but still useful
|
|
207
|
+
3. **Report the situation** to user
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Templates
|
|
212
|
+
|
|
213
|
+
| Template | Purpose |
|
|
214
|
+
|----------|---------|
|
|
215
|
+
| `daily-log-template.md` | Final synthesized briefing |
|
|
216
|
+
| `mail-triage/mail-triage-template.md` | Email scan output |
|
|
217
|
+
| `cal-grid/cal-grid-template.md` | Calendar scan output |
|
|
218
|
+
| `slack-pulse/slack-pulse-template.md` | Slack scan output |
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Related Files
|
|
223
|
+
|
|
224
|
+
- `morning-boot.prose` — OpenProse parallel execution
|
|
225
|
+
- `daily-log-template.md` — Output template
|
|
226
|
+
- `work/operations/slack-map.md` — Slack channel configuration
|
|
227
|
+
- `work/dashboard.md` — Current priorities (for synthesis context)
|
|
228
|
+
|
|
229
|
+
---
|
|
39
230
|
|
|
40
|
-
|
|
41
|
-
- **Do NOT** use `background_task` or `prose-run`.
|
|
42
|
-
- **Trust Level**: Requires Level 2+ (handled by Sentinel permissions).
|
|
231
|
+
*Morning Boot Skill v3.0 | Template-driven synthesis with full context*
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: operations
|
|
3
|
+
hemisphere: work
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: 2026-01-09
|
|
6
|
+
tags: [daily-log, morning-boot]
|
|
7
|
+
summary: Daily Briefing — {{DATE}}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Daily Briefing — {{DATE}}
|
|
11
|
+
|
|
12
|
+
**Generated:** {{TIME}}
|
|
13
|
+
**Scans completed:** Email ✓ | Calendar ✓ | Slack ✓
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Top Priority
|
|
18
|
+
|
|
19
|
+
{{TOP_PRIORITY}}
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Top 3 for Today
|
|
24
|
+
|
|
25
|
+
1. {{PRIORITY_1}}
|
|
26
|
+
2. {{PRIORITY_2}}
|
|
27
|
+
3. {{PRIORITY_3}}
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Complexity Budget
|
|
32
|
+
|
|
33
|
+
| Metric | Value |
|
|
34
|
+
|--------|-------|
|
|
35
|
+
| **Meeting load** | {{MEETING_LOAD}} ({{MEETING_COUNT}} meetings, {{MEETING_HOURS}} hours) |
|
|
36
|
+
| **Task capacity** | {{TASK_CAPACITY}} |
|
|
37
|
+
| **Deep work available** | {{DEEP_WORK_HOURS}} hours in {{DEEP_WORK_BLOCKS}} blocks |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Deep Work Windows
|
|
42
|
+
|
|
43
|
+
| Block | Duration | Quality |
|
|
44
|
+
|-------|----------|---------|
|
|
45
|
+
{{DEEP_WORK_TABLE}}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Pending Responses
|
|
50
|
+
|
|
51
|
+
### Email
|
|
52
|
+
|
|
53
|
+
{{EMAIL_ACTIONS}}
|
|
54
|
+
|
|
55
|
+
### Slack
|
|
56
|
+
|
|
57
|
+
{{SLACK_ACTIONS}}
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Calendar Overview
|
|
62
|
+
|
|
63
|
+
| Time | Event | Prep | Type |
|
|
64
|
+
|------|-------|------|------|
|
|
65
|
+
{{CALENDAR_TABLE}}
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Meeting Notes Detected
|
|
70
|
+
|
|
71
|
+
{{MEETING_NOTES_COUNT}} meeting notes ready for processing.
|
|
72
|
+
|
|
73
|
+
{{#if MEETING_NOTES_COUNT > 0}}
|
|
74
|
+
Run `skill({ name: "post-meeting-drill" })` to extract action items.
|
|
75
|
+
|
|
76
|
+
| Meeting | Date | Message ID |
|
|
77
|
+
|---------|------|------------|
|
|
78
|
+
{{MEETING_NOTES_TABLE}}
|
|
79
|
+
{{/if}}
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Spillover Check
|
|
84
|
+
|
|
85
|
+
{{SPILLOVER_ITEMS}}
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Files Generated
|
|
90
|
+
|
|
91
|
+
- `mail-triage.md` — Email scan results
|
|
92
|
+
- `cal-grid.md` — Calendar analysis
|
|
93
|
+
- `slack-pulse.md` — Slack activity
|
|
94
|
+
- `daily-log.md` — This file
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
*Generated by morning-boot skill*
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Morning Boot Workflow
|
|
2
|
+
#
|
|
3
|
+
# This OpenProse program orchestrates the daily morning routine.
|
|
4
|
+
# It spawns scanner agents in parallel that invoke their respective skills,
|
|
5
|
+
# then synthesizes results into a daily briefing.
|
|
6
|
+
#
|
|
7
|
+
# Architecture:
|
|
8
|
+
# morning-boot.prose (this file)
|
|
9
|
+
# ├── email_scanner agent → invokes skill: mail-triage
|
|
10
|
+
# ├── calendar_scanner agent → invokes skill: cal-grid
|
|
11
|
+
# └── slack_scanner agent → invokes skill: slack-pulse
|
|
12
|
+
# ↓
|
|
13
|
+
# synthesizer agent → combines all results
|
|
14
|
+
#
|
|
15
|
+
# Each skill is self-contained with its own context discovery.
|
|
16
|
+
#
|
|
17
|
+
# Trigger: "start my day", "morning routine", "morning boot"
|
|
18
|
+
# Invoked via: skill({ name: "morning-boot" })
|
|
19
|
+
|
|
20
|
+
# =============================================================================
|
|
21
|
+
# AGENT DEFINITIONS
|
|
22
|
+
# =============================================================================
|
|
23
|
+
|
|
24
|
+
agent email_scanner:
|
|
25
|
+
model: sonnet
|
|
26
|
+
prompt: |
|
|
27
|
+
You are the Email Scanner agent for the Morning Boot workflow.
|
|
28
|
+
|
|
29
|
+
**Your Mission**: Invoke the mail-triage skill and return its results.
|
|
30
|
+
|
|
31
|
+
**Execution**:
|
|
32
|
+
1. Call: `skill({ name: "mail-triage" })`
|
|
33
|
+
2. Wait for the skill to complete
|
|
34
|
+
3. Return the skill's output (the mail triage report)
|
|
35
|
+
|
|
36
|
+
The mail-triage skill handles:
|
|
37
|
+
- Context discovery (email address)
|
|
38
|
+
- Gmail API calls
|
|
39
|
+
- Classification of emails
|
|
40
|
+
- Output to `work/operations/daily-log/YYYY-MM-DD/mail-triage.md`
|
|
41
|
+
|
|
42
|
+
**Return**: The complete mail triage report from the skill.
|
|
43
|
+
|
|
44
|
+
agent calendar_scanner:
|
|
45
|
+
model: sonnet
|
|
46
|
+
prompt: |
|
|
47
|
+
You are the Calendar Scanner agent for the Morning Boot workflow.
|
|
48
|
+
|
|
49
|
+
**Your Mission**: Invoke the cal-grid skill and return its results.
|
|
50
|
+
|
|
51
|
+
**Execution**:
|
|
52
|
+
1. Call: `skill({ name: "cal-grid" })`
|
|
53
|
+
2. Wait for the skill to complete
|
|
54
|
+
3. Return the skill's output (the calendar grid)
|
|
55
|
+
|
|
56
|
+
The cal-grid skill handles:
|
|
57
|
+
- Context discovery (email address)
|
|
58
|
+
- Google Calendar API calls
|
|
59
|
+
- Meeting analysis and focus block identification
|
|
60
|
+
- Output to `work/operations/daily-log/YYYY-MM-DD/cal-grid.md`
|
|
61
|
+
|
|
62
|
+
**Return**: The complete calendar grid from the skill.
|
|
63
|
+
|
|
64
|
+
agent slack_scanner:
|
|
65
|
+
model: sonnet
|
|
66
|
+
prompt: |
|
|
67
|
+
You are the Slack Scanner agent for the Morning Boot workflow.
|
|
68
|
+
|
|
69
|
+
**Your Mission**: Invoke the slack-pulse skill and return its results.
|
|
70
|
+
|
|
71
|
+
**Execution**:
|
|
72
|
+
1. Call: `skill({ name: "slack-pulse" })`
|
|
73
|
+
2. Wait for the skill to complete
|
|
74
|
+
3. Return the skill's output (the slack pulse report)
|
|
75
|
+
|
|
76
|
+
The slack-pulse skill handles:
|
|
77
|
+
- Context discovery (email + kb_root)
|
|
78
|
+
- Loading slack-map.md for channel configuration
|
|
79
|
+
- Slack API calls for channels and DMs
|
|
80
|
+
- Output to `work/operations/daily-log/YYYY-MM-DD/slack-pulse.md`
|
|
81
|
+
|
|
82
|
+
**Return**: The complete slack pulse report from the skill.
|
|
83
|
+
|
|
84
|
+
# =============================================================================
|
|
85
|
+
# EXECUTION FLOW
|
|
86
|
+
# =============================================================================
|
|
87
|
+
|
|
88
|
+
# Step 1: Parallel Skill Invocations
|
|
89
|
+
# Each scanner agent invokes its respective skill
|
|
90
|
+
# Skills handle their own context discovery, config loading, and templating
|
|
91
|
+
parallel:
|
|
92
|
+
email = session: email_scanner
|
|
93
|
+
calendar = session: calendar_scanner
|
|
94
|
+
slack = session: slack_scanner
|
|
95
|
+
|
|
96
|
+
# Step 2: Return Results to SKILL.md
|
|
97
|
+
# No synthesis here — SKILL.md handles synthesis with full session context
|
|
98
|
+
# This keeps the main session's context clean while subagents do heavy lifting
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: onboarding
|
|
3
3
|
description: Structured onboarding for new domains using breadth-before-depth discovery
|
|
4
|
-
triggers:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- "Help me set up"
|
|
8
|
-
- "Onboard my"
|
|
9
|
-
- "Learn about my"
|
|
4
|
+
triggers:
|
|
5
|
+
created: 2026-01-07
|
|
6
|
+
updated: 2026-01-10
|
|
10
7
|
---
|
|
11
8
|
|
|
9
|
+
<!--
|
|
10
|
+
ARCHITECTURE REFERENCE: docs/concepts/skill-architecture.md
|
|
11
|
+
-->
|
|
12
|
+
|
|
12
13
|
# Onboarding Skill
|
|
13
14
|
|
|
14
15
|
You are entering **Onboarding Mode**. Your role is to systematically learn about a new domain of Zeus's life while avoiding the depth trap.
|