thoth-plugin 1.2.0 → 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/{dist/defaults/skill → defaults/skill/_legacy}/gardener/SKILL.md +243 -17
- package/defaults/skill/_legacy/onboarding/SKILL.md +207 -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/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}/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,485 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: post-meeting-drill
|
|
3
|
+
description: Deep processing of meeting notes with context hydration, entity resolution, thought-routing, urgency assessment, and knowledge persistence.
|
|
4
|
+
triggers:
|
|
5
|
+
- process meeting notes
|
|
6
|
+
- meeting follow-up
|
|
7
|
+
- extract action items from meeting
|
|
8
|
+
- drill meeting
|
|
9
|
+
- post meeting
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Post-Meeting Drill Skill
|
|
13
|
+
|
|
14
|
+
You are the **Knowledge Integrity Specialist**. Your mission is to translate human interactions into the permanent "Ground Truth" of Zeus's Thoth knowledge base.
|
|
15
|
+
|
|
16
|
+
This skill performs **deep comprehension** — not surface-level extraction. You understand context before extracting, resolve entities to files, route knowledge to appropriate locations, and alert Zeus to urgent changes.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Invocation
|
|
21
|
+
|
|
22
|
+
### Via Mail-Triage (Automatic)
|
|
23
|
+
When mail-triage detects meeting notes, Thoth/Work Master orchestrates invocation:
|
|
24
|
+
```
|
|
25
|
+
mail-triage → detects MEETING_NOTES → outputs message_id
|
|
26
|
+
Thoth/Work Master → invokes post-meeting-drill for each note (sequential)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Manual Trigger
|
|
30
|
+
Zeus can manually trigger a meeting notes scan:
|
|
31
|
+
```
|
|
32
|
+
"Scan for meeting notes" or "Process meeting notes"
|
|
33
|
+
→ Query: from:gemini-notes@google.com newer_than:[timeframe]
|
|
34
|
+
→ Process each note sequentially
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Phase 0: Input Acquisition
|
|
40
|
+
|
|
41
|
+
### Step 0.1: Identify Source
|
|
42
|
+
| Source | Detection | Access Method |
|
|
43
|
+
|--------|-----------|---------------|
|
|
44
|
+
| Gemini notes | `from:gemini-notes@google.com` | `google-workspace_get_gmail_message_content(message_id)` |
|
|
45
|
+
| Google Doc | Shared doc link in email | `drive-synapsis_read_google_drive_file(file_id)` |
|
|
46
|
+
| Manual paste | Content provided directly | Use provided content |
|
|
47
|
+
|
|
48
|
+
### Step 0.2: CRITICAL — Fetch Full Transcript (Not Just Email Summary)
|
|
49
|
+
|
|
50
|
+
**⚠️ The Gemini email only contains a summary. The FULL TRANSCRIPT is in a linked Google Doc.**
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Gemini Meeting Notes Structure:
|
|
54
|
+
├── Email (gemini-notes@google.com)
|
|
55
|
+
│ └── Summary only (high-level, often missing details)
|
|
56
|
+
│
|
|
57
|
+
└── Google Doc (linked in email as "Notes by Gemini")
|
|
58
|
+
├── Tab 1: Notes (Summary + Details + Suggested next steps)
|
|
59
|
+
└── Tab 2: Transcript (FULL VERBATIM TRANSCRIPT) ← THIS IS THE SOURCE OF TRUTH
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Mandatory Acquisition Flow:**
|
|
63
|
+
```
|
|
64
|
+
1. Read email to get meeting title and date
|
|
65
|
+
2. Search for linked Google Doc:
|
|
66
|
+
drive-synapsis_search_google_drive_advanced(
|
|
67
|
+
query="[Meeting Title] Notes by Gemini",
|
|
68
|
+
modified_after="[meeting date]"
|
|
69
|
+
)
|
|
70
|
+
3. Read the FULL Google Doc (includes transcript tab):
|
|
71
|
+
drive-synapsis_read_google_drive_file(file_id)
|
|
72
|
+
4. Process the FULL content (summary + details + transcript)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Why This Matters:**
|
|
76
|
+
- Email summary misses 80%+ of meeting content
|
|
77
|
+
- Transcript contains exact quotes, context, nuance
|
|
78
|
+
- Details section has structured breakdowns the summary lacks
|
|
79
|
+
- Action items in transcript often don't appear in summary
|
|
80
|
+
|
|
81
|
+
### Step 0.3: Parse Gemini Doc Structure
|
|
82
|
+
The Google Doc contains:
|
|
83
|
+
```
|
|
84
|
+
# 📝 Notes
|
|
85
|
+
## [Meeting Title]
|
|
86
|
+
### Summary (1-2 paragraphs)
|
|
87
|
+
### Details (structured breakdown by topic with timestamps)
|
|
88
|
+
### Suggested next steps (action items)
|
|
89
|
+
|
|
90
|
+
# 📖 Transcript
|
|
91
|
+
## [Meeting Title] - Transcript
|
|
92
|
+
[Full verbatim transcript with timestamps]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Known Gemini Limitations:**
|
|
96
|
+
- Speaker identification often fails → "Someone in [Location]" = likely Zeus
|
|
97
|
+
- Names may be partial or missing
|
|
98
|
+
- Auto-generated summaries can be vague
|
|
99
|
+
- **Summary often misses critical details that are in the transcript**
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Phase 1: Context Hydration
|
|
104
|
+
|
|
105
|
+
**MANDATORY: Never extract without context.**
|
|
106
|
+
|
|
107
|
+
### Step 1.1: Identify Meeting Context
|
|
108
|
+
From meeting title and content, determine:
|
|
109
|
+
- **Project**: Which project? (e.g., "Golden Ticket", "Meteor")
|
|
110
|
+
- **Domain**: Which hemisphere? (work/life/coding)
|
|
111
|
+
- **Attendees**: Who was present? (extract all names mentioned)
|
|
112
|
+
|
|
113
|
+
### Step 1.2: Load Project Context
|
|
114
|
+
```
|
|
115
|
+
1. Read kernel/paths.json
|
|
116
|
+
2. Identify project file: work/projects/{project-name}.md
|
|
117
|
+
3. Read project file, focus on:
|
|
118
|
+
- Current status and blockers
|
|
119
|
+
- Recent decisions
|
|
120
|
+
- Key stakeholders
|
|
121
|
+
- Upcoming milestones
|
|
122
|
+
4. Build mental model: "What would be significant for this project?"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Step 1.3: Resolve Attendees to Files
|
|
126
|
+
Follow **Entity Resolution Protocol** (core-standards.md Section 8):
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
For each person mentioned:
|
|
130
|
+
1. Normalize name: "Tom Jansson" → "tom-jansson"
|
|
131
|
+
2. Direct lookup: read work/Team/{normalized}.md
|
|
132
|
+
3. If not found: read work/Stakeholders/{normalized}.md
|
|
133
|
+
4. If not found: glob work/Team/*{partial}*.md
|
|
134
|
+
5. If not found: glob work/Stakeholders/*{partial}*.md
|
|
135
|
+
6. If not found: Flag as NEW_ENTITY → Create file
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**New Entity Creation:**
|
|
139
|
+
- Use template: `kernel/templates/person.md`
|
|
140
|
+
- Folder: `work/Stakeholders/` (default for new work contacts)
|
|
141
|
+
- Populate with known info from meeting
|
|
142
|
+
- Update `work/Stakeholders/_index.md` or `work/people/_index.md`
|
|
143
|
+
|
|
144
|
+
### Step 1.4: Load Today's Daily Log
|
|
145
|
+
```
|
|
146
|
+
Read: work/operations/daily-log/YYYY-MM-DD/daily-log.md
|
|
147
|
+
Purpose: Avoid duplication, understand current priorities
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Phase 2: Deep Extraction
|
|
153
|
+
|
|
154
|
+
Process meeting content with hydrated context.
|
|
155
|
+
|
|
156
|
+
### 2.1: Entity Resolution
|
|
157
|
+
Resolve ambiguous references using loaded context:
|
|
158
|
+
|
|
159
|
+
| Raw Text | Resolution Method |
|
|
160
|
+
|----------|-------------------|
|
|
161
|
+
| "Someone in BER - P89-L4-..." | Likely Zeus (David) — Berlin office |
|
|
162
|
+
| First name only (e.g., "Tom") | Match to attendees from loaded files |
|
|
163
|
+
| Role reference (e.g., "the DRI") | Match to project stakeholder list |
|
|
164
|
+
| Unclear pronoun | Flag as UNKNOWN |
|
|
165
|
+
|
|
166
|
+
### 2.2: Extract Categories
|
|
167
|
+
|
|
168
|
+
#### DECISIONS
|
|
169
|
+
| Field | Description | Example |
|
|
170
|
+
|-------|-------------|---------|
|
|
171
|
+
| Decision | What was agreed? | "Child tickets will be created for operations" |
|
|
172
|
+
| Stakeholders | Who agreed? | Tom Jansson, David |
|
|
173
|
+
| Rationale | Why? | "Needed for Jan launch" |
|
|
174
|
+
| Date | Meeting date | 2026-01-07 |
|
|
175
|
+
|
|
176
|
+
#### ACTION_ITEMS
|
|
177
|
+
| Field | Description | Example |
|
|
178
|
+
|-------|-------------|---------|
|
|
179
|
+
| Task | What needs to be done? | "Contact regional leads for child ticket content" |
|
|
180
|
+
| DRI | Owner (resolved name) | David Helmus |
|
|
181
|
+
| Deadline | By when? | "End of week" |
|
|
182
|
+
| Priority | P0/P1/P2 | P0 (launch dependency) |
|
|
183
|
+
| Context | Why needed? | "Dependency for golden ticket launch" |
|
|
184
|
+
|
|
185
|
+
#### RISKS
|
|
186
|
+
| Field | Description | Example |
|
|
187
|
+
|-------|-------------|---------|
|
|
188
|
+
| Risk | Threat identified | "Regional IT engineers need training" |
|
|
189
|
+
| Impact | What could go wrong? | "Feb 1 launch at risk" |
|
|
190
|
+
| Mitigation | Plan? | "Training before launch" |
|
|
191
|
+
|
|
192
|
+
#### NEW_FACTS
|
|
193
|
+
| Field | Description | Example |
|
|
194
|
+
|-------|-------------|---------|
|
|
195
|
+
| Fact | New information | "Launch target is end of January" |
|
|
196
|
+
| About | Entity (project/person) | Golden Ticket |
|
|
197
|
+
| Source | Who stated? | Tom Jansson |
|
|
198
|
+
|
|
199
|
+
#### SENTIMENT
|
|
200
|
+
| Field | Description | Example |
|
|
201
|
+
|-------|-------------|---------|
|
|
202
|
+
| Vibe | Meeting energy | Productive but time-pressured |
|
|
203
|
+
| Dynamics | Interpersonal notes | Tom taking lead on stakeholder comms |
|
|
204
|
+
| Concerns | Unspoken worries | Training timeline is tight |
|
|
205
|
+
|
|
206
|
+
#### UNKNOWNS
|
|
207
|
+
| Field | Description | Example |
|
|
208
|
+
|-------|-------------|---------|
|
|
209
|
+
| Term | Unclear reference | "dual con" |
|
|
210
|
+
| Context | Where it appeared | "Tom's team ready pending dual con work" |
|
|
211
|
+
| Hypothesis | Best guess | Possibly a workstream name? |
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Phase 3: Thought-Routing
|
|
216
|
+
|
|
217
|
+
Route each extracted item to the appropriate location.
|
|
218
|
+
|
|
219
|
+
### 3.1: Routing Table
|
|
220
|
+
|
|
221
|
+
| Extracted Type | Destination | Section |
|
|
222
|
+
|----------------|-------------|---------|
|
|
223
|
+
| Decision | `work/projects/{project}.md` | `## Strategic Decisions & Agreements` |
|
|
224
|
+
| Action (Zeus) | `work/operations/daily-log/YYYY-MM-DD/daily-log.md` | `### P0` or `### P1` table |
|
|
225
|
+
| Action (Team) | `work/Team/{person}.md` | `## Action Items` |
|
|
226
|
+
| Action (Team) | `work/operations/daily-log/YYYY-MM-DD/daily-log.md` | `## Delegated Today` |
|
|
227
|
+
| Action (Stakeholder) | `work/Stakeholders/{person}.md` | `## Action Items` |
|
|
228
|
+
| Risk | `work/projects/{project}.md` | `## Blockers & Risks` |
|
|
229
|
+
| New Fact (Project) | `work/projects/{project}.md` | `## Progress Log` |
|
|
230
|
+
| New Fact (Person) | `work/{Team\|Stakeholders}/{person}.md` | `## Notes` |
|
|
231
|
+
| Sentiment | `work/{Team\|Stakeholders}/{person}.md` | `## Interaction Log` |
|
|
232
|
+
| Unknown | Synthesis report only | Do not persist |
|
|
233
|
+
|
|
234
|
+
### 3.2: Smart Merge Protocol
|
|
235
|
+
1. **Read before write** — Always check existing content
|
|
236
|
+
2. **Deduplicate** — Don't add if already captured
|
|
237
|
+
3. **Create missing sections** — If target section doesn't exist, create it using canonical name from core-standards.md Section 8.6
|
|
238
|
+
4. **Append with date** — Format: `> YYYY-MM-DD (Meeting: [Title]): [content]`
|
|
239
|
+
5. **Preserve structure** — Add to existing sections, maintain formatting
|
|
240
|
+
|
|
241
|
+
### 3.3: Tool Usage
|
|
242
|
+
| Action | Tool | Pattern |
|
|
243
|
+
|--------|------|---------|
|
|
244
|
+
| Read file | `read` | `read work/projects/golden-ticket.md` |
|
|
245
|
+
| Update file | `edit` | Smart merge into existing section |
|
|
246
|
+
| Create file | `write` | Using template |
|
|
247
|
+
| Find file | `glob` | `glob work/Team/*tom*.md` |
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Phase 4: Urgency Assessment
|
|
252
|
+
|
|
253
|
+
**Evaluate extracted content for items requiring immediate attention.**
|
|
254
|
+
|
|
255
|
+
### 4.1: Urgency Signals
|
|
256
|
+
|
|
257
|
+
| Category | Trigger Patterns | Level |
|
|
258
|
+
|----------|------------------|-------|
|
|
259
|
+
| **Timeline** | "delayed", "pushed", "won't make", "new deadline", "moved to" | 🔴 HIGH |
|
|
260
|
+
| **Scope** | "descoped", "added to scope", "new requirement", "new dependency" | 🔴 HIGH |
|
|
261
|
+
| **Blocker** | "blocked", "waiting on", "can't proceed", "need X before" | 🔴 HIGH |
|
|
262
|
+
| **Risk** | "risk", "concern", "might fail", "if we don't" | 🟡 MEDIUM |
|
|
263
|
+
| **Your Action** | David + action + deadline | 🟡 MEDIUM |
|
|
264
|
+
| **Senior Escalation** | Vasco/Bob/Ana + decision/ask | 🟡 MEDIUM |
|
|
265
|
+
| **Resource** | "reassigned", "leaving", "unavailable" | 🟡 MEDIUM |
|
|
266
|
+
| **Status Update** | Progress noted, no change | 🟢 LOW |
|
|
267
|
+
|
|
268
|
+
### 4.2: Context Amplifiers
|
|
269
|
+
Cross-reference with project file to amplify urgency:
|
|
270
|
+
- Is project already at risk? (check `## Blockers & Risks`)
|
|
271
|
+
- Is launch date imminent? (<2 weeks away)
|
|
272
|
+
- Are there existing blockers? (new blocker compounds risk)
|
|
273
|
+
- Is this a P0 project? (Golden Ticket, Meteor = high stakes)
|
|
274
|
+
|
|
275
|
+
### 4.3: Urgency Decision
|
|
276
|
+
|
|
277
|
+
| Result | Action |
|
|
278
|
+
|--------|--------|
|
|
279
|
+
| 🔴 HIGH | **ALERT**: Include urgent alert block at TOP of synthesis |
|
|
280
|
+
| 🟡 MEDIUM | **FLAG**: Emphasize in synthesis with yellow indicator |
|
|
281
|
+
| 🟢 LOW | **PERSIST**: Save silently, include in standard synthesis |
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Phase 5: Synthesis Report
|
|
286
|
+
|
|
287
|
+
Return structured report to Zeus.
|
|
288
|
+
|
|
289
|
+
### 5.1: Urgent Alert (if HIGH urgency detected)
|
|
290
|
+
|
|
291
|
+
```markdown
|
|
292
|
+
## 🚨 URGENT: [Meeting Title]
|
|
293
|
+
|
|
294
|
+
**Urgency:** 🔴 HIGH — [Timeline/Scope/Blocker] at risk
|
|
295
|
+
|
|
296
|
+
### What Changed
|
|
297
|
+
- [Specific change that triggered urgency]
|
|
298
|
+
|
|
299
|
+
### Impact
|
|
300
|
+
- [Why this matters, cross-referenced with project context]
|
|
301
|
+
|
|
302
|
+
### Your Action Required
|
|
303
|
+
- [ ] [Immediate decision or action needed]
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### 5.2: Standard Synthesis
|
|
307
|
+
|
|
308
|
+
```markdown
|
|
309
|
+
## Meeting Processed: [Title] — [Date]
|
|
310
|
+
|
|
311
|
+
### Action Items for You
|
|
312
|
+
| Task | Context | Deadline | Priority | Persisted To |
|
|
313
|
+
|------|---------|----------|----------|--------------|
|
|
314
|
+
|
|
315
|
+
### Decisions Made
|
|
316
|
+
| Decision | Stakeholders | Persisted To |
|
|
317
|
+
|----------|--------------|--------------|
|
|
318
|
+
|
|
319
|
+
### Risks Identified
|
|
320
|
+
| Risk | Impact | Persisted To |
|
|
321
|
+
|------|--------|--------------|
|
|
322
|
+
|
|
323
|
+
### Knowledge Persisted
|
|
324
|
+
| File | What Was Added |
|
|
325
|
+
|------|----------------|
|
|
326
|
+
|
|
327
|
+
### Gaps & Unknowns
|
|
328
|
+
| Unknown | Context | Clarification Needed |
|
|
329
|
+
|---------|---------|----------------------|
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## Phase 6: Batch Processing
|
|
335
|
+
|
|
336
|
+
When multiple meeting notes are detected:
|
|
337
|
+
|
|
338
|
+
### 6.1: Sequential Processing
|
|
339
|
+
Process each note independently:
|
|
340
|
+
```
|
|
341
|
+
For each message_id in detected_notes:
|
|
342
|
+
1. Run Phase 0-5 for this note
|
|
343
|
+
2. Output synthesis for this note
|
|
344
|
+
3. Move to next note
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### 6.2: Aggregated Summary
|
|
348
|
+
After all notes processed, provide aggregate:
|
|
349
|
+
```markdown
|
|
350
|
+
## Meeting Notes Batch Complete
|
|
351
|
+
|
|
352
|
+
**Processed:** [N] meeting notes
|
|
353
|
+
**Time Range:** [Earliest] to [Latest]
|
|
354
|
+
|
|
355
|
+
### Urgent Items (🔴)
|
|
356
|
+
[List any HIGH urgency items across all notes]
|
|
357
|
+
|
|
358
|
+
### All Action Items for You
|
|
359
|
+
[Consolidated list]
|
|
360
|
+
|
|
361
|
+
### Files Updated
|
|
362
|
+
[List of all files modified]
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Phase 7: Recap Email (Optional)
|
|
368
|
+
|
|
369
|
+
If Zeus requests, generate a recap email draft:
|
|
370
|
+
|
|
371
|
+
```markdown
|
|
372
|
+
Subject: Recap: [Meeting Title] — Decisions & Next Steps
|
|
373
|
+
|
|
374
|
+
Hi Team,
|
|
375
|
+
|
|
376
|
+
Thanks for the productive discussion today. Here's a summary of what we aligned on:
|
|
377
|
+
|
|
378
|
+
### Key Decisions
|
|
379
|
+
- [Decision 1] (Rationale: [Rationale])
|
|
380
|
+
|
|
381
|
+
### Action Items
|
|
382
|
+
| Task | Owner | Due |
|
|
383
|
+
|------|-------|-----|
|
|
384
|
+
| [Task] | [Name] | [Date] |
|
|
385
|
+
|
|
386
|
+
### Risks to Monitor
|
|
387
|
+
- [Risk]: [Mitigation approach]
|
|
388
|
+
|
|
389
|
+
### Next Steps
|
|
390
|
+
[1-sentence outlook on what happens next]
|
|
391
|
+
|
|
392
|
+
Best,
|
|
393
|
+
David
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Technical Constraints
|
|
399
|
+
|
|
400
|
+
1. **Full Transcript Required**: ALWAYS fetch the Google Doc with full transcript — NEVER rely on email summary alone
|
|
401
|
+
2. **Context First**: NEVER extract without reading project/people files
|
|
402
|
+
3. **Entity Resolution**: Follow core-standards.md Section 8 exactly
|
|
403
|
+
4. **Auto-Create Entities**: Create person files for significant new contacts
|
|
404
|
+
5. **Create Missing Sections**: If target section doesn't exist, create it
|
|
405
|
+
6. **Smart Merge**: NEVER overwrite — only append to existing sections
|
|
406
|
+
7. **Deduplication**: Check before adding to avoid duplicates
|
|
407
|
+
8. **Source Attribution**: Always note which meeting information came from
|
|
408
|
+
9. **Urgency Assessment**: Always evaluate — surface HIGH urgency immediately
|
|
409
|
+
10. **Full Automation**: No approval gates — persist and report
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## Example Execution
|
|
414
|
+
|
|
415
|
+
```
|
|
416
|
+
Input: message_id 19b983283b714112
|
|
417
|
+
|
|
418
|
+
Phase 0: Acquire
|
|
419
|
+
- Fetch email content (summary only)
|
|
420
|
+
- Meeting: "Golden Ticket: ITH Alignment" — Jan 7, 2026
|
|
421
|
+
- ⚠️ Email has summary but NOT full transcript
|
|
422
|
+
- Search Drive: "Golden Ticket ITH Alignment Notes by Gemini"
|
|
423
|
+
- Fetch full Google Doc → Contains:
|
|
424
|
+
- Summary (what email had)
|
|
425
|
+
- Details section (structured breakdown with timestamps)
|
|
426
|
+
- Full Transcript (verbatim conversation) ← PRIMARY SOURCE
|
|
427
|
+
- Now have complete meeting content
|
|
428
|
+
|
|
429
|
+
Phase 1: Hydrate
|
|
430
|
+
- Project: Golden Ticket → read work/projects/golden-ticket.md
|
|
431
|
+
- Attendees: Tom Jansson, David, Christine
|
|
432
|
+
- Resolve: tom-jansson.md found in Stakeholders
|
|
433
|
+
- Load daily-log
|
|
434
|
+
|
|
435
|
+
Phase 2: Extract (from FULL transcript, not just summary)
|
|
436
|
+
- Decision: Child tickets needed for operations
|
|
437
|
+
- Action (David): Contact regional leads — P0
|
|
438
|
+
- Risk: Training gap before Feb 1 launch
|
|
439
|
+
- Unknown: "dual con" workstream
|
|
440
|
+
- Additional context from transcript:
|
|
441
|
+
- Exact quotes and rationale
|
|
442
|
+
- Nuanced discussion points
|
|
443
|
+
- Items missed in auto-summary
|
|
444
|
+
|
|
445
|
+
Phase 3: Route
|
|
446
|
+
- Decision → golden-ticket.md ## Strategic Decisions
|
|
447
|
+
- Action → daily-log.md ### P0
|
|
448
|
+
- Risk → golden-ticket.md ## Blockers & Risks
|
|
449
|
+
- Unknown → Report only
|
|
450
|
+
|
|
451
|
+
Phase 4: Urgency
|
|
452
|
+
- Signal: "Training needed before Feb 1 launch" = Timeline risk
|
|
453
|
+
- Amplifier: Golden Ticket is P0, launch <4 weeks away
|
|
454
|
+
- Result: 🔴 HIGH
|
|
455
|
+
|
|
456
|
+
Phase 5: Synthesize
|
|
457
|
+
- Output urgent alert + standard synthesis
|
|
458
|
+
|
|
459
|
+
Phase 6: Complete
|
|
460
|
+
- Single note, no batch aggregation needed
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
## Integration Points
|
|
466
|
+
|
|
467
|
+
### Mail-Triage → Post-Meeting-Drill
|
|
468
|
+
```
|
|
469
|
+
mail-triage outputs:
|
|
470
|
+
### MEETING_NOTES_DETECTED
|
|
471
|
+
| Meeting Title | Date | Message ID | Status |
|
|
472
|
+
|
|
473
|
+
Thoth/Work Master reads this, invokes:
|
|
474
|
+
post-meeting-drill for each message_id (sequential)
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
### Manual Scan Trigger
|
|
478
|
+
```
|
|
479
|
+
Zeus: "Scan for meeting notes from this week"
|
|
480
|
+
|
|
481
|
+
Thoth:
|
|
482
|
+
1. Query: from:gemini-notes@google.com newer_than:7d
|
|
483
|
+
2. For each result: invoke post-meeting-drill
|
|
484
|
+
3. Return aggregated summary
|
|
485
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: restore-environment
|
|
3
|
+
description: Bootstrap development environment by cloning/updating all repositories from coding/inventory.md. Use after machine setup or to sync repos.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Environment Restoration Skill
|
|
7
|
+
|
|
8
|
+
You are the **System Bootstrapper**. Your goal is to rehydrate the user's development environment by cloning all repositories listed in the Code Inventory.
|
|
9
|
+
|
|
10
|
+
## Protocol Execution
|
|
11
|
+
|
|
12
|
+
### Step 1: Load Inventory
|
|
13
|
+
1. **Read**: `coding/inventory.md`.
|
|
14
|
+
2. **Parse**: Extract the table rows into a list of objects: `{ Name, RepoURL, LocalPath }`.
|
|
15
|
+
|
|
16
|
+
### Step 2: Verification & Clone
|
|
17
|
+
For each repository in the list:
|
|
18
|
+
1. **Check**: Does `LocalPath` exist?
|
|
19
|
+
2. **Action**:
|
|
20
|
+
- **If Missing**: Execute `git clone {RepoURL} {LocalPath}`.
|
|
21
|
+
- **If Present**: Execute `cd {LocalPath} && git pull`.
|
|
22
|
+
3. **Log**: Record the outcome (Cloned, Updated, or Error).
|
|
23
|
+
|
|
24
|
+
### Step 3: Validation
|
|
25
|
+
1. **Check**: Verify that `LocalPath/.git` exists.
|
|
26
|
+
2. **Output**: Report successful hydration of the Code Hemisphere.
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
- A summary report of all repositories synced.
|
|
30
|
+
- A "Ready" state for the Architect to begin work.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scorecard-synthesis
|
|
3
|
+
description: Synthesize hiring scorecards from interview transcripts. Analyzes candidate responses against role criteria and generates structured evaluation with evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: Interview Scorecard Synthesis
|
|
7
|
+
# Strategy: Manager (Skill) -> Contractor (Agent)
|
|
8
|
+
|
|
9
|
+
## 1. Objective
|
|
10
|
+
Orchestrate the synthesis of a hiring scorecard by bundling large transcript data and launching the 'Senior Hiring Analyst' agent.
|
|
11
|
+
|
|
12
|
+
## 2. Executable Protocol
|
|
13
|
+
1. **Identify Target**: Confirm `candidate_name` and `target_career_step`.
|
|
14
|
+
2. **Select Lens**: Ask user or determine if this is a "Technical" or "Hiring Manager" scorecard.
|
|
15
|
+
3. **Artifact Retrieval**:
|
|
16
|
+
- Capture the full meeting transcript text.
|
|
17
|
+
- Read the manual notes from the session or `work/Operations/Daily_Log`.
|
|
18
|
+
- Read the prepared questions from `work/Inbox/Tasks/Interviews/[Candidate]/questions.md`.
|
|
19
|
+
4. **Bundle & Delegate (Context Isolation)**:
|
|
20
|
+
- Launch `task(subagent_type="general", description="Synthesize Scorecard for [Candidate]")`.
|
|
21
|
+
- **Prompt Pattern**: "You are acting as the Persona in kernel/Agents/hiring-analyst.md. Perform a DIRECT EXECUTION. Lens: [Selected Lens]. Inputs: [Full Transcript], [Manual Notes], [Prepared Questions], [Target Career Step]."
|
|
22
|
+
5. **Finalization**:
|
|
23
|
+
- Parse the output: Split at `===QA_LOG_START===`.
|
|
24
|
+
- Save Part 1 to `work/Inbox/Tasks/Interviews/[Candidate]/scorecard.md`.
|
|
25
|
+
- Save Part 2 to `work/Inbox/Tasks/Interviews/[Candidate]/qa_log.md`.
|
|
26
|
+
- Append the result summary to `work/Team/open-position-hiring.md`.
|