thoth-plugin 1.2.4 → 1.2.5

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 (101) hide show
  1. package/README.md +17 -1
  2. package/defaults/skill/cal-grid/SKILL.md +168 -0
  3. package/defaults/skill/cal-grid/cal-grid-template.md +106 -0
  4. package/defaults/skill/context-discovery/SKILL.md +253 -0
  5. package/defaults/skill/context-discovery/discovery.prose +143 -0
  6. package/defaults/skill/context-onboarding/SKILL.md +370 -0
  7. package/{dist/defaults/skill/_legacy/email-draft/skill.md → defaults/skill/email-draft/SKILL.md} +33 -30
  8. package/defaults/skill/evening-close/SKILL.md +93 -61
  9. package/defaults/skill/evening-close/evening-close-template.md +42 -0
  10. package/{dist/defaults/skill/_legacy → defaults/skill}/gardener/SKILL.md +3 -3
  11. package/{dist/defaults/skill/_legacy → defaults/skill}/google-chat-scan/SKILL.md +7 -0
  12. package/{dist/defaults/skill/_legacy → defaults/skill}/leadership-coach/SKILL.md +9 -8
  13. package/defaults/skill/mail-triage/SKILL.md +272 -15
  14. package/defaults/skill/mail-triage/mail-triage-template.md +90 -0
  15. package/defaults/skill/morning-boot/SKILL.md +214 -25
  16. package/defaults/skill/morning-boot/daily-log-template.md +98 -0
  17. package/defaults/skill/morning-boot/morning-boot.prose +98 -0
  18. package/defaults/skill/{_legacy/onboarding → onboarding}/SKILL.md +7 -6
  19. package/defaults/skill/open-prose/SKILL.md +373 -0
  20. package/defaults/skill/open-prose/antipatterns.md +852 -0
  21. package/defaults/skill/open-prose/docs.md +2676 -0
  22. package/defaults/skill/open-prose/patterns.md +610 -0
  23. package/defaults/skill/open-prose/prose.md +950 -0
  24. package/{dist/defaults/skill/_legacy → defaults/skill}/post-meeting-drill/SKILL.md +90 -95
  25. package/defaults/skill/post-meeting-drill/examples.md +130 -0
  26. package/defaults/skill/post-meeting-drill/post-meeting-drill-template.md +111 -0
  27. package/defaults/skill/skill-generator/SKILL.md +217 -0
  28. package/defaults/skill/skill-generator/skill-template.md +163 -0
  29. package/defaults/skill/slack-pulse/SKILL.md +211 -14
  30. package/defaults/skill/slack-pulse/slack-pulse-template.md +98 -0
  31. package/defaults/skill/slack-write/skill.md +184 -0
  32. package/defaults/skill/thought-router/SKILL.md +7 -8
  33. package/dist/cli.js +137 -3
  34. package/dist/config/schema.d.ts +0 -2
  35. package/dist/defaults/skill/cal-grid/SKILL.md +168 -0
  36. package/dist/defaults/skill/cal-grid/cal-grid-template.md +106 -0
  37. package/dist/defaults/skill/context-discovery/SKILL.md +253 -0
  38. package/dist/defaults/skill/context-discovery/discovery.prose +143 -0
  39. package/dist/defaults/skill/context-onboarding/SKILL.md +370 -0
  40. package/{defaults/skill/_legacy/email-draft/skill.md → dist/defaults/skill/email-draft/SKILL.md} +33 -30
  41. package/dist/defaults/skill/evening-close/SKILL.md +93 -61
  42. package/dist/defaults/skill/evening-close/evening-close-template.md +42 -0
  43. package/{defaults/skill/_legacy → dist/defaults/skill}/gardener/SKILL.md +3 -3
  44. package/{defaults/skill/_legacy → dist/defaults/skill}/google-chat-scan/SKILL.md +7 -0
  45. package/{defaults/skill/_legacy → dist/defaults/skill}/leadership-coach/SKILL.md +9 -8
  46. package/dist/defaults/skill/mail-triage/SKILL.md +272 -15
  47. package/dist/defaults/skill/mail-triage/mail-triage-template.md +90 -0
  48. package/dist/defaults/skill/morning-boot/SKILL.md +214 -25
  49. package/dist/defaults/skill/morning-boot/daily-log-template.md +98 -0
  50. package/dist/defaults/skill/morning-boot/morning-boot.prose +98 -0
  51. package/dist/defaults/skill/{_legacy/onboarding → onboarding}/SKILL.md +7 -6
  52. package/dist/defaults/skill/open-prose/SKILL.md +373 -0
  53. package/dist/defaults/skill/open-prose/antipatterns.md +852 -0
  54. package/dist/defaults/skill/open-prose/docs.md +2676 -0
  55. package/dist/defaults/skill/open-prose/patterns.md +610 -0
  56. package/dist/defaults/skill/open-prose/prose.md +950 -0
  57. package/{defaults/skill/_legacy → dist/defaults/skill}/post-meeting-drill/SKILL.md +90 -95
  58. package/dist/defaults/skill/post-meeting-drill/examples.md +130 -0
  59. package/dist/defaults/skill/post-meeting-drill/post-meeting-drill-template.md +111 -0
  60. package/dist/defaults/skill/skill-generator/SKILL.md +217 -0
  61. package/dist/defaults/skill/skill-generator/skill-template.md +163 -0
  62. package/dist/defaults/skill/slack-pulse/SKILL.md +211 -14
  63. package/dist/defaults/skill/slack-pulse/slack-pulse-template.md +98 -0
  64. package/dist/defaults/skill/slack-write/skill.md +184 -0
  65. package/dist/defaults/skill/thought-router/SKILL.md +7 -8
  66. package/dist/hooks/index.d.ts +0 -1
  67. package/dist/index.js +14 -201
  68. package/dist/sdk/index.d.ts +1 -1
  69. package/dist/sdk/sentinel-service.d.ts +0 -1
  70. package/dist/sdk/test-harness.d.ts +90 -0
  71. package/dist/shared/index.d.ts +0 -1
  72. package/dist/specialization/prompt-sections.d.ts +1 -1
  73. package/package.json +1 -1
  74. package/defaults/skill/_legacy/cal-grid/SKILL.md +0 -16
  75. package/defaults/skill/_legacy/skill-generator/SKILL.md +0 -362
  76. package/dist/defaults/skill/_legacy/cal-grid/SKILL.md +0 -16
  77. package/dist/defaults/skill/_legacy/skill-generator/SKILL.md +0 -362
  78. package/dist/hooks/temporal-awareness.d.ts +0 -31
  79. package/dist/hooks/temporal-awareness.test.d.ts +0 -1
  80. /package/defaults/skill/{_legacy/capsule-init → capsule-init}/SKILL.md +0 -0
  81. /package/defaults/skill/{_legacy/cross-linker → cross-linker}/SKILL.md +0 -0
  82. /package/defaults/skill/{_legacy/gardener → gardener}/confidence-tiers.md +0 -0
  83. /package/defaults/skill/{_legacy/gardener → gardener}/repair-workflow.md +0 -0
  84. /package/defaults/skill/{_legacy/handover → handover}/SKILL.md +0 -0
  85. /package/defaults/skill/{_legacy/interview-prep → interview-prep}/SKILL.md +0 -0
  86. /package/defaults/skill/{_legacy/link-retrofit → link-retrofit}/SKILL.md +0 -0
  87. /package/defaults/skill/{_legacy/restore-environment → restore-environment}/SKILL.md +0 -0
  88. /package/defaults/skill/{_legacy/scorecard-synthesis → scorecard-synthesis}/SKILL.md +0 -0
  89. /package/defaults/skill/{_legacy/skill-generator → skill-generator}/testing-protocol.md +0 -0
  90. /package/defaults/skill/{_legacy/system-init → system-init}/SKILL.md +0 -0
  91. /package/dist/defaults/skill/{_legacy/capsule-init → capsule-init}/SKILL.md +0 -0
  92. /package/dist/defaults/skill/{_legacy/cross-linker → cross-linker}/SKILL.md +0 -0
  93. /package/dist/defaults/skill/{_legacy/gardener → gardener}/confidence-tiers.md +0 -0
  94. /package/dist/defaults/skill/{_legacy/gardener → gardener}/repair-workflow.md +0 -0
  95. /package/dist/defaults/skill/{_legacy/handover → handover}/SKILL.md +0 -0
  96. /package/dist/defaults/skill/{_legacy/interview-prep → interview-prep}/SKILL.md +0 -0
  97. /package/dist/defaults/skill/{_legacy/link-retrofit → link-retrofit}/SKILL.md +0 -0
  98. /package/dist/defaults/skill/{_legacy/restore-environment → restore-environment}/SKILL.md +0 -0
  99. /package/dist/defaults/skill/{_legacy/scorecard-synthesis → scorecard-synthesis}/SKILL.md +0 -0
  100. /package/dist/defaults/skill/{_legacy/skill-generator → skill-generator}/testing-protocol.md +0 -0
  101. /package/dist/defaults/skill/{_legacy/system-init → system-init}/SKILL.md +0 -0
@@ -1,362 +0,0 @@
1
- ---
2
- name: skill-generator
3
- description: Use when creating a new skill, editing an existing skill, or when asked to document a reusable process or technique
4
- ---
5
-
6
- # Skill Generator
7
-
8
- You are creating or editing a skill for the Thoth knowledge system.
9
-
10
- **Core principle:** No skill without baseline failure first. Writing skills IS Test-Driven Development applied to process documentation.
11
-
12
- **Violating the letter of this process is violating the spirit of this process.**
13
-
14
- ---
15
-
16
- ## The Iron Law
17
-
18
- ```
19
- NO SKILL FILE CREATED UNTIL RED PHASE SUBAGENT COMPLETES
20
- ```
21
-
22
- If you create a SKILL.md before the RED phase subagent documents a failure, delete it. Start over.
23
-
24
- **No exceptions:**
25
- - Don't keep it as "draft"
26
- - Don't "refine it later"
27
- - Don't skip because "it's simple"
28
- - Don't skip because "it's just a technique skill"
29
- - Delete means delete
30
-
31
- ---
32
-
33
- ## Phase 0: Setup
34
-
35
- ### Step 1: Check if Skill Exists
36
-
37
- ```bash
38
- ls -la .opencode/skill/ | grep -i "{skill-name}"
39
- ```
40
-
41
- If exists: Read it first. You're editing, not creating.
42
-
43
- ### Step 2: Classify Skill Type
44
-
45
- | Type | Purpose |
46
- |------|---------|
47
- | **Discipline** | Rules that resist rationalization (TDD, verification) |
48
- | **Workflow** | Multi-step process with checkpoints |
49
- | **Technique** | Concrete method with steps |
50
- | **Reference** | API docs, syntax guides |
51
-
52
- **Write down the type before proceeding.**
53
-
54
- ### Step 3: Research the Domain
55
-
56
- - What tools/APIs are involved?
57
- - What are common mistakes?
58
- - What does success look like?
59
-
60
- For discipline skills, also identify:
61
- - What rationalizations will agents use to skip it?
62
- - What pressure scenarios test compliance?
63
-
64
- ---
65
-
66
- ## Phase 1: RED — Baseline Test (MANDATORY)
67
-
68
- **You MUST dispatch a subagent to attempt the task WITHOUT the skill.**
69
-
70
- ### Dispatch Baseline Subagent
71
-
72
- ```
73
- task(
74
- subagent_type="general",
75
- description="Baseline test for {skill-name}",
76
- prompt="""
77
- You are testing baseline behavior WITHOUT a skill.
78
-
79
- **Task:** {Describe the task the skill will teach}
80
-
81
- **Context:** {Relevant context}
82
-
83
- **Instructions:** Complete the task using your best judgment.
84
- Do NOT load any skills. Just complete the task as you normally would.
85
-
86
- **Report back:**
87
- 1. What approach did you take?
88
- 2. What formatting/tools/methods did you use?
89
- 3. Show the exact output you produced.
90
- 4. What assumptions did you make?
91
- """
92
- )
93
- ```
94
-
95
- ### Document the Failure
96
-
97
- Before proceeding, write down:
98
- - **What the agent did wrong** (or suboptimally)
99
- - **What rationalizations were used** (verbatim if possible)
100
- - **What the skill must teach** to prevent this
101
-
102
- **GATE: Do not proceed to Phase 2 until you have documented at least one failure or suboptimal behavior.**
103
-
104
- If the baseline agent does everything perfectly, you may not need this skill.
105
-
106
- ---
107
-
108
- ## Phase 2: GREEN — Write Minimal Skill
109
-
110
- Address the specific failures documented in Phase 1.
111
-
112
- ### Frontmatter (Required)
113
-
114
- ```yaml
115
- ---
116
- name: lowercase-with-hyphens
117
- description: Use when [specific triggers]. Third person. No workflow summary.
118
- triggers:
119
- - phrase that activates this skill
120
- - another trigger phrase
121
- - variations users might say
122
- ---
123
- ```
124
-
125
- **Frontmatter Rules:**
126
-
127
- | Field | Purpose | Rules |
128
- |-------|---------|-------|
129
- | `name` | Skill identifier | lowercase, hyphens only |
130
- | `description` | Injected into system prompt for skill discovery | Start with "Use when...", third person, no workflow summary |
131
- | `triggers` | **Automatic skill invocation** | Phrases users say that should activate this skill |
132
-
133
- **Triggers are critical** — they teach Thoth when to use the skill automatically. Include:
134
- - Direct commands ("check my email")
135
- - Natural phrases ("what's in my inbox")
136
- - Variations ("email triage", "process inbox")
137
-
138
- **Description Rules:**
139
- - ✅ Start with "Use when..."
140
- - ✅ Describe triggers/symptoms only
141
- - ✅ Third person (injected into system prompt)
142
- - ❌ Never summarize the workflow
143
- - ❌ Never use first person
144
-
145
- ### Required Sections
146
-
147
- Copy this template and fill in:
148
-
149
- ```markdown
150
- # Skill Name
151
-
152
- **Core principle:** {one sentence}
153
-
154
- ---
155
-
156
- ## When to Use
157
-
158
- - {symptom or trigger}
159
- - {symptom or trigger}
160
-
161
- **Do NOT use when:**
162
- - {exclusion}
163
-
164
- ---
165
-
166
- ## Quick Reference
167
-
168
- | Task | Command/Action |
169
- |------|----------------|
170
- | {task} | {how} |
171
-
172
- ---
173
-
174
- ## Process / Pattern
175
-
176
- {Main content here}
177
-
178
- ---
179
-
180
- ## Common Mistakes
181
-
182
- | Mistake | Prevention |
183
- |---------|------------|
184
- | {mistake} | {fix} |
185
-
186
- ---
187
-
188
- ## Red Flags - STOP
189
-
190
- - {warning sign}
191
- - {warning sign}
192
-
193
- ---
194
-
195
- ## Verification Checklist
196
-
197
- - [ ] {check}
198
- - [ ] {check}
199
- ```
200
-
201
- ### Optional Sections (Add If Needed)
202
-
203
- - **Rationalization Table** — Required for discipline skills
204
- - **Examples** — One excellent example beats many mediocre ones
205
- - **Supporting Files** — Only for heavy reference (>100 lines)
206
-
207
- ---
208
-
209
- ## Phase 3: GREEN — Verify With Skill (MANDATORY)
210
-
211
- **You MUST dispatch a subagent to attempt the same task WITH the skill.**
212
-
213
- ### Dispatch Skill-Guided Subagent
214
-
215
- ```
216
- task(
217
- subagent_type="general",
218
- description="Skill-guided test for {skill-name}",
219
- prompt="""
220
- You are testing a skill.
221
-
222
- **REQUIRED SKILL — Read and follow this exactly:**
223
-
224
- ---
225
- {Paste the full skill content here}
226
- ---
227
-
228
- **Task:** {Same task as baseline}
229
-
230
- **Context:** {Same context as baseline}
231
-
232
- **Instructions:** Follow the skill above. Complete the task.
233
-
234
- **Report back:**
235
- 1. What approach did you take?
236
- 2. Did you follow the skill completely?
237
- 3. Show the exact output you produced.
238
- """
239
- )
240
- ```
241
-
242
- ### Verify the Fix
243
-
244
- Compare baseline vs skill-guided:
245
- - Did the agent avoid the mistakes from Phase 1?
246
- - Any NEW rationalizations that bypassed the skill?
247
- - Any ambiguities in the skill that allowed violations?
248
-
249
- **GATE: Do not proceed until the skill-guided agent performs correctly.**
250
-
251
- If the agent still fails, revise the skill and re-test.
252
-
253
- ---
254
-
255
- ## Phase 4: REFACTOR — Quality Gate
256
-
257
- ### Close Loopholes
258
-
259
- For each new rationalization found in Phase 3:
260
- 1. Add explicit counter to Common Mistakes or Rationalization Table
261
- 2. Add to Red Flags section
262
- 3. Re-run Phase 3 if significant changes made
263
-
264
- ### Format Checks
265
-
266
- - [ ] Name: lowercase, hyphens only, no special chars
267
- - [ ] Description: starts with "Use when...", no workflow summary
268
- - [ ] Description: third person, under 500 chars
269
- - [ ] **Triggers: list of phrases that activate this skill**
270
- - [ ] Has "Core principle" statement
271
- - [ ] Has "When to Use" section
272
- - [ ] Has "Quick Reference" table
273
- - [ ] Has "Common Mistakes" section
274
- - [ ] Has "Red Flags" section
275
- - [ ] Has "Verification Checklist"
276
-
277
- ### Size Checks
278
-
279
- ```bash
280
- wc -l .opencode/skill/{name}/SKILL.md
281
- ```
282
-
283
- - [ ] SKILL.md under 500 lines
284
- - [ ] Frequently-loaded skills under 200 lines
285
- - [ ] Heavy reference in separate files
286
-
287
- ### Functional Check
288
-
289
- - [ ] Baseline subagent documented failure (Phase 1)
290
- - [ ] Skill-guided subagent performed correctly (Phase 3)
291
- - [ ] All referenced tools/commands exist
292
- - [ ] No ambiguous instructions
293
-
294
- ---
295
-
296
- ## Rationalization Table
297
-
298
- | Excuse | Reality |
299
- |--------|---------|
300
- | "This skill is simple, doesn't need structure" | Simple skills still need discoverability. Follow the format. |
301
- | "I'll add sections later" | Later never comes. Add them now. |
302
- | "The example is self-explanatory" | Examples don't replace Quick Reference tables. |
303
- | "It's just a reference skill" | Reference skills still need When to Use and Common Mistakes. |
304
- | "I already know this domain" | Your knowledge isn't in the file. Document it. |
305
- | "Baseline test is overkill" | Baseline reveals what you'll skip. Do it. Subagent is mandatory. |
306
- | "It's just a technique skill, doesn't need baseline" | Technique skills fail too. We learned this with email-draft. Test everything. |
307
- | "I already know what will fail" | You're guessing. Run the subagent. Document actual behavior. |
308
- | "I'll test after writing" | That's not TDD. RED comes before GREEN. Delete and start over. |
309
- | "Description can summarize the workflow" | Claude follows descriptions instead of reading skills. Never summarize. |
310
-
311
- ---
312
-
313
- ## Red Flags - STOP
314
-
315
- - Creating SKILL.md before RED phase subagent completes
316
- - Skipping baseline test for ANY skill type
317
- - "I already know what will fail" without running subagent
318
- - Description summarizes workflow ("scans X, extracts Y, outputs Z")
319
- - **Missing `triggers:` in frontmatter** — skill won't be auto-invoked
320
- - Missing "When to Use" section
321
- - No Quick Reference table
322
- - "I'll test it later"
323
- - Skill over 500 lines without supporting files
324
- - Proceeding to Phase 4 without Phase 3 subagent verification
325
-
326
- **All of these mean: STOP. Go back to the phase you skipped.**
327
-
328
- ---
329
-
330
- ## Supporting Files
331
-
332
- When to create separate files:
333
-
334
- | Content | Threshold | File |
335
- |---------|-----------|------|
336
- | Heavy reference | >100 lines | `reference.md` |
337
- | Detailed examples | >50 lines | `examples.md` |
338
- | Testing protocol | Discipline skills | `testing-protocol.md` |
339
-
340
- ---
341
-
342
- ## Cross-Reference
343
-
344
- **Required reading:** Read `kernel/knowledge/skill-authoring-guide.md` for comprehensive best practices.
345
-
346
- This skill is a lightweight enforcement layer. The guide has the full theory and examples.
347
-
348
- ---
349
-
350
- *Skill Generator v2.0 | Part of Thoth Knowledge Management System*
351
-
352
- ---
353
-
354
- ## Quick Reference: The Phases
355
-
356
- | Phase | Name | Action | Gate |
357
- |-------|------|--------|------|
358
- | 0 | Setup | Check exists, classify type, research domain | — |
359
- | 1 | RED | Dispatch subagent WITHOUT skill, document failure | Must have documented failure |
360
- | 2 | GREEN | Write minimal skill addressing failures | — |
361
- | 3 | GREEN | Dispatch subagent WITH skill, verify fix | Must pass |
362
- | 4 | REFACTOR | Close loopholes, quality checks | All checks pass |
@@ -1,31 +0,0 @@
1
- import { getTemporalContext, formatTemporalContext } from "../shared";
2
- export interface TemporalAwarenessConfig {
3
- enabled?: boolean;
4
- timezone?: string;
5
- workStartHour?: number;
6
- workEndHour?: number;
7
- }
8
- export declare function createTemporalAwarenessHook(config?: TemporalAwarenessConfig): {
9
- event: (input: {
10
- event: {
11
- type: string;
12
- };
13
- }) => Promise<void>;
14
- "tool.execute.before": (input: {
15
- tool: string;
16
- }, output: {
17
- args: Record<string, unknown>;
18
- abort?: {
19
- reason: string;
20
- };
21
- }) => Promise<void>;
22
- getTemporalContext: typeof getTemporalContext;
23
- formatTemporalContext: typeof formatTemporalContext;
24
- shouldBlockWork: () => {
25
- blocked: boolean;
26
- reason?: string;
27
- };
28
- getWorkRecommendation: () => string;
29
- getDayModeRecommendation: () => string;
30
- } | null;
31
- export type TemporalAwarenessHook = ReturnType<typeof createTemporalAwarenessHook>;
@@ -1 +0,0 @@
1
- export {};