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.
Files changed (69) hide show
  1. package/README.md +16 -0
  2. package/defaults/AGENTS.md +53 -0
  3. package/{dist/defaults/skill → defaults/skill/_legacy}/gardener/SKILL.md +243 -17
  4. package/defaults/skill/_legacy/onboarding/SKILL.md +207 -0
  5. package/defaults/skill/evening-close/SKILL.md +97 -0
  6. package/defaults/skill/mail-triage/SKILL.md +26 -0
  7. package/defaults/skill/morning-boot/SKILL.md +45 -0
  8. package/defaults/skill/slack-pulse/SKILL.md +26 -0
  9. package/defaults/skill/thought-router/SKILL.md +89 -0
  10. package/dist/cli.d.ts +0 -8
  11. package/dist/cli.js +70 -436
  12. package/dist/config/index.d.ts +1 -1
  13. package/dist/config/schema.d.ts +17 -0
  14. package/dist/defaults/skill/_legacy/cal-grid/SKILL.md +16 -0
  15. package/dist/defaults/skill/_legacy/capsule-init/SKILL.md +102 -0
  16. package/dist/defaults/skill/_legacy/cross-linker/SKILL.md +357 -0
  17. package/dist/defaults/skill/_legacy/email-draft/skill.md +134 -0
  18. package/dist/defaults/skill/_legacy/gardener/SKILL.md +509 -0
  19. package/dist/defaults/skill/_legacy/gardener/confidence-tiers.md +142 -0
  20. package/dist/defaults/skill/_legacy/gardener/repair-workflow.md +170 -0
  21. package/dist/defaults/skill/_legacy/google-chat-scan/SKILL.md +135 -0
  22. package/dist/defaults/skill/_legacy/handover/SKILL.md +18 -0
  23. package/dist/defaults/skill/_legacy/interview-prep/SKILL.md +23 -0
  24. package/dist/defaults/skill/_legacy/leadership-coach/SKILL.md +167 -0
  25. package/dist/defaults/skill/_legacy/link-retrofit/SKILL.md +345 -0
  26. package/dist/defaults/skill/_legacy/onboarding/SKILL.md +207 -0
  27. package/dist/defaults/skill/_legacy/post-meeting-drill/SKILL.md +485 -0
  28. package/dist/defaults/skill/_legacy/restore-environment/SKILL.md +30 -0
  29. package/dist/defaults/skill/_legacy/scorecard-synthesis/SKILL.md +26 -0
  30. package/dist/defaults/skill/_legacy/skill-generator/SKILL.md +362 -0
  31. package/dist/defaults/skill/_legacy/skill-generator/testing-protocol.md +158 -0
  32. package/dist/defaults/skill/_legacy/system-init/SKILL.md +103 -0
  33. package/dist/defaults/skill/evening-close/SKILL.md +6 -7
  34. package/dist/defaults/skill/mail-triage/SKILL.md +11 -8
  35. package/dist/defaults/skill/morning-boot/SKILL.md +26 -87
  36. package/dist/defaults/skill/slack-pulse/SKILL.md +11 -7
  37. package/dist/defaults/skill/thought-router/SKILL.md +10 -8
  38. package/dist/index.js +11316 -2308
  39. package/dist/schemas/skill.d.ts +96 -0
  40. package/dist/sdk/index.d.ts +4 -0
  41. package/dist/sdk/sentinel-service.d.ts +71 -0
  42. package/dist/sdk/skill-runner.d.ts +21 -0
  43. package/dist/sdk/thoth-client.d.ts +51 -0
  44. package/dist/sdk/workflows/calendar-watcher.d.ts +2 -0
  45. package/dist/sdk/workflows/inbox-watcher.d.ts +2 -0
  46. package/dist/sdk/workflows/index.d.ts +4 -0
  47. package/dist/sdk/workflows/system-watcher.d.ts +2 -0
  48. package/dist/sdk/workflows/task-watcher.d.ts +2 -0
  49. package/dist/services/index.d.ts +1 -0
  50. package/dist/services/skill-registry.d.ts +23 -0
  51. package/dist/tools/skill/tools.d.ts +2 -1
  52. package/package.json +8 -3
  53. /package/{dist/defaults/skill → defaults/skill/_legacy}/cal-grid/SKILL.md +0 -0
  54. /package/{dist/defaults/skill → defaults/skill/_legacy}/capsule-init/SKILL.md +0 -0
  55. /package/{dist/defaults/skill → defaults/skill/_legacy}/cross-linker/SKILL.md +0 -0
  56. /package/{dist/defaults/skill → defaults/skill/_legacy}/email-draft/skill.md +0 -0
  57. /package/{dist/defaults/skill → defaults/skill/_legacy}/gardener/confidence-tiers.md +0 -0
  58. /package/{dist/defaults/skill → defaults/skill/_legacy}/gardener/repair-workflow.md +0 -0
  59. /package/{dist/defaults/skill → defaults/skill/_legacy}/google-chat-scan/SKILL.md +0 -0
  60. /package/{dist/defaults/skill → defaults/skill/_legacy}/handover/SKILL.md +0 -0
  61. /package/{dist/defaults/skill → defaults/skill/_legacy}/interview-prep/SKILL.md +0 -0
  62. /package/{dist/defaults/skill → defaults/skill/_legacy}/leadership-coach/SKILL.md +0 -0
  63. /package/{dist/defaults/skill → defaults/skill/_legacy}/link-retrofit/SKILL.md +0 -0
  64. /package/{dist/defaults/skill → defaults/skill/_legacy}/post-meeting-drill/SKILL.md +0 -0
  65. /package/{dist/defaults/skill → defaults/skill/_legacy}/restore-environment/SKILL.md +0 -0
  66. /package/{dist/defaults/skill → defaults/skill/_legacy}/scorecard-synthesis/SKILL.md +0 -0
  67. /package/{dist/defaults/skill → defaults/skill/_legacy}/skill-generator/SKILL.md +0 -0
  68. /package/{dist/defaults/skill → defaults/skill/_legacy}/skill-generator/testing-protocol.md +0 -0
  69. /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`.