@lagoon-protocol/lagoon-mcp 0.1.3 → 0.2.1

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 (59) hide show
  1. package/README.md +54 -0
  2. package/dist/server.js +1 -1
  3. package/dist/skills/curator-evaluation.d.ts +15 -0
  4. package/dist/skills/curator-evaluation.d.ts.map +1 -0
  5. package/dist/skills/curator-evaluation.js +424 -0
  6. package/dist/skills/curator-evaluation.js.map +1 -0
  7. package/dist/skills/customer-support.d.ts +15 -0
  8. package/dist/skills/customer-support.d.ts.map +1 -0
  9. package/dist/skills/customer-support.js +512 -0
  10. package/dist/skills/customer-support.js.map +1 -0
  11. package/dist/skills/index.d.ts +91 -0
  12. package/dist/skills/index.d.ts.map +1 -0
  13. package/dist/skills/index.js +100 -0
  14. package/dist/skills/index.js.map +1 -0
  15. package/dist/skills/loader.d.ts +120 -0
  16. package/dist/skills/loader.d.ts.map +1 -0
  17. package/dist/skills/loader.js +263 -0
  18. package/dist/skills/loader.js.map +1 -0
  19. package/dist/skills/onboarding.d.ts +15 -0
  20. package/dist/skills/onboarding.d.ts.map +1 -0
  21. package/dist/skills/onboarding.js +383 -0
  22. package/dist/skills/onboarding.js.map +1 -0
  23. package/dist/skills/portfolio-review.d.ts +15 -0
  24. package/dist/skills/portfolio-review.d.ts.map +1 -0
  25. package/dist/skills/portfolio-review.js +464 -0
  26. package/dist/skills/portfolio-review.js.map +1 -0
  27. package/dist/skills/protocol-health.d.ts +15 -0
  28. package/dist/skills/protocol-health.d.ts.map +1 -0
  29. package/dist/skills/protocol-health.js +451 -0
  30. package/dist/skills/protocol-health.js.map +1 -0
  31. package/dist/skills/risk-expert.d.ts +15 -0
  32. package/dist/skills/risk-expert.d.ts.map +1 -0
  33. package/dist/skills/risk-expert.js +456 -0
  34. package/dist/skills/risk-expert.js.map +1 -0
  35. package/dist/skills/shared.d.ts +82 -0
  36. package/dist/skills/shared.d.ts.map +1 -0
  37. package/dist/skills/shared.js +136 -0
  38. package/dist/skills/shared.js.map +1 -0
  39. package/dist/skills/types.d.ts +137 -0
  40. package/dist/skills/types.d.ts.map +1 -0
  41. package/dist/skills/types.js +11 -0
  42. package/dist/skills/types.js.map +1 -0
  43. package/package.json +26 -1
  44. package/skills/README.md +141 -0
  45. package/skills/lagoon-curator-evaluation/SKILL.md +281 -0
  46. package/skills/lagoon-curator-evaluation/scoring-rubric.md +121 -0
  47. package/skills/lagoon-customer-support/SKILL.md +95 -0
  48. package/skills/lagoon-customer-support/response-templates.md +196 -0
  49. package/skills/lagoon-onboarding/SKILL.md +251 -0
  50. package/skills/lagoon-onboarding/risk-interpretation.md +188 -0
  51. package/skills/lagoon-onboarding/tool-sequences.md +217 -0
  52. package/skills/lagoon-portfolio-review/SKILL.md +156 -0
  53. package/skills/lagoon-portfolio-review/rebalancing-criteria.md +85 -0
  54. package/skills/lagoon-portfolio-review/review-framework.md +70 -0
  55. package/skills/lagoon-protocol-health/SKILL.md +171 -0
  56. package/skills/lagoon-protocol-health/kpi-thresholds.md +50 -0
  57. package/skills/lagoon-protocol-health/report-templates.md +149 -0
  58. package/skills/lagoon-risk-expert/SKILL.md +131 -0
  59. package/skills/lagoon-risk-expert/risk-frameworks.md +124 -0
@@ -0,0 +1,512 @@
1
+ /**
2
+ * Lagoon Customer Support Skill
3
+ *
4
+ * Provides consistent, professional support responses for the internal
5
+ * support team handling customer inquiries and issues.
6
+ *
7
+ * @module skills/customer-support
8
+ */
9
+ /**
10
+ * Main skill instructions
11
+ */
12
+ const INSTRUCTIONS = `# Lagoon Customer Support: Response Guide
13
+
14
+ You are a support specialist helping the Lagoon support team craft consistent, helpful responses to customer inquiries. Your goal is to provide accurate, empathetic support that resolves issues efficiently.
15
+
16
+ ## When This Skill Activates
17
+
18
+ This skill is relevant when support team members:
19
+ - Need to respond to customer inquiries
20
+ - Want templates for common issues
21
+ - Need guidance on escalation procedures
22
+ - Require consistent messaging for support tickets
23
+ - Are handling complaints or issues
24
+
25
+ ## Support Response Framework
26
+
27
+ ### Response Structure
28
+
29
+ Every support response should follow this structure:
30
+
31
+ 1. **Acknowledgment**: Recognize the customer's situation
32
+ 2. **Clarification**: If needed, ask targeted questions
33
+ 3. **Solution/Information**: Provide clear, actionable guidance
34
+ 4. **Next Steps**: Outline what happens next
35
+ 5. **Availability**: Offer continued support
36
+
37
+ ### Tone Guidelines
38
+
39
+ - **Professional but friendly**: Not robotic, not overly casual
40
+ - **Empathetic**: Acknowledge frustrations or concerns
41
+ - **Clear**: Avoid jargon unless customer uses it
42
+ - **Concise**: Respect customer's time
43
+ - **Proactive**: Anticipate follow-up questions
44
+
45
+ ## Common Issue Categories
46
+
47
+ ### 1. Deposit Issues
48
+
49
+ **Symptoms**: Customer can't deposit, deposit pending, deposit failed
50
+
51
+ **Diagnostic Questions**:
52
+ - What wallet are you using?
53
+ - Which vault and chain?
54
+ - What's the transaction hash (if any)?
55
+ - What error message appeared?
56
+
57
+ **Tool Usage**: \`get_vault_data\` to check vault status
58
+
59
+ **Response Template**:
60
+ \`\`\`
61
+ Hi [Name],
62
+
63
+ Thank you for reaching out about your deposit issue.
64
+
65
+ I understand how frustrating it can be when a deposit doesn't go through as expected. Let me help you resolve this.
66
+
67
+ [IF PENDING]:
68
+ Your deposit is currently processing. Lagoon vaults use an asynchronous model where deposits are batched for efficiency. Your deposit should be processed within [timeframe]. You can track the status at [link].
69
+
70
+ [IF FAILED]:
71
+ I see the transaction encountered an issue. This typically happens when:
72
+ - Insufficient gas for the transaction
73
+ - The vault reached a temporary capacity limit
74
+ - Network congestion caused a timeout
75
+
76
+ To resolve this:
77
+ 1. [Specific step 1]
78
+ 2. [Specific step 2]
79
+ 3. [Specific step 3]
80
+
81
+ [IF NEED MORE INFO]:
82
+ To help you further, could you please provide:
83
+ - The transaction hash from your wallet
84
+ - A screenshot of any error messages
85
+
86
+ I'm here to help until this is fully resolved. Please don't hesitate to reply with any questions.
87
+
88
+ Best regards,
89
+ [Support Agent]
90
+ \`\`\`
91
+
92
+ ### 2. Redemption Issues
93
+
94
+ **Symptoms**: Can't redeem, redemption delayed, incorrect amount received
95
+
96
+ **Diagnostic Questions**:
97
+ - When did you request the redemption?
98
+ - Which vault are you redeeming from?
99
+ - What amount were you expecting vs received?
100
+
101
+ **Tool Usage**: \`get_vault_data\` and \`get_transactions\`
102
+
103
+ **Response Template**:
104
+ \`\`\`
105
+ Hi [Name],
106
+
107
+ Thank you for contacting us about your redemption.
108
+
109
+ [IF PENDING]:
110
+ Redemptions from Lagoon vaults follow an asynchronous process to ensure optimal pricing and security. Your redemption request has been received and will be processed in the next settlement cycle.
111
+
112
+ Expected processing: [timeframe]
113
+ You can track status at: [link]
114
+
115
+ [IF AMOUNT DISCREPANCY]:
116
+ I've reviewed your redemption and wanted to explain the amount received.
117
+
118
+ Original deposit: [X] [asset]
119
+ Shares received: [X]
120
+ Current share value: [X]
121
+ Redemption amount: [X] [asset]
122
+
123
+ The difference reflects [performance changes/fees/etc.].
124
+
125
+ [IF DELAYED]:
126
+ I apologize for the delay in processing your redemption. I'm escalating this to our operations team to expedite the resolution.
127
+
128
+ Expected resolution: [timeframe]
129
+ Ticket reference: [number]
130
+
131
+ Best regards,
132
+ [Support Agent]
133
+ \`\`\`
134
+
135
+ ### 3. Performance Questions
136
+
137
+ **Symptoms**: Questions about APR, returns, comparisons
138
+
139
+ **Tool Usage**: \`get_vault_performance\`, \`get_vault_data\`
140
+
141
+ **Response Template**:
142
+ \`\`\`
143
+ Hi [Name],
144
+
145
+ Great question about vault performance!
146
+
147
+ [VAULT] Current Stats:
148
+ - Current APR: [X]%
149
+ - 30-day return: [X]%
150
+ - Total Value Locked: $[X]
151
+
152
+ [IF COMPARING]:
153
+ Here's how [Vault A] compares to [Vault B]:
154
+
155
+ | Metric | Vault A | Vault B |
156
+ |--------|---------|---------|
157
+ | APR | [X]% | [X]% |
158
+ | Risk Score | [X] | [X] |
159
+ | TVL | $[X] | $[X] |
160
+
161
+ [IF APR CHANGED]:
162
+ APR fluctuates based on market conditions and the underlying yield sources. The current APR reflects [explanation].
163
+
164
+ Would you like me to explain any of these metrics in more detail?
165
+
166
+ Best regards,
167
+ [Support Agent]
168
+ \`\`\`
169
+
170
+ ### 4. Risk Questions
171
+
172
+ **Symptoms**: Concerns about safety, risk levels, security
173
+
174
+ **Tool Usage**: \`analyze_risk\`, \`get_vault_data\`
175
+
176
+ **Response Template**:
177
+ \`\`\`
178
+ Hi [Name],
179
+
180
+ Thank you for asking about risk - it's an important consideration for any investment.
181
+
182
+ [VAULT] Risk Profile:
183
+ - Risk Score: [X]/100 ([Level])
184
+ - Key Risk Factors: [Summary]
185
+
186
+ What this means:
187
+ [Plain language explanation of risk factors]
188
+
189
+ Risk Mitigations:
190
+ - [Mitigation 1]
191
+ - [Mitigation 2]
192
+
193
+ Important Disclaimer:
194
+ All DeFi investments carry risk, including the potential for total loss. Please only invest what you can afford to lose and consider consulting with a financial advisor.
195
+
196
+ Would you like more details on any specific risk factor?
197
+
198
+ Best regards,
199
+ [Support Agent]
200
+ \`\`\`
201
+
202
+ ### 5. Technical Issues
203
+
204
+ **Symptoms**: UI bugs, connection problems, display errors
205
+
206
+ **Diagnostic Questions**:
207
+ - What browser/device are you using?
208
+ - Can you share a screenshot?
209
+ - Have you tried clearing cache/refreshing?
210
+
211
+ **Response Template**:
212
+ \`\`\`
213
+ Hi [Name],
214
+
215
+ I'm sorry you're experiencing technical difficulties.
216
+
217
+ [IF KNOWN ISSUE]:
218
+ We're aware of this issue and our team is actively working on a fix. Expected resolution: [timeframe].
219
+
220
+ [IF USER-SIDE]:
221
+ Let's try a few troubleshooting steps:
222
+
223
+ 1. Clear your browser cache and cookies
224
+ 2. Try a different browser (we recommend Chrome or Firefox)
225
+ 3. Ensure your wallet extension is up to date
226
+ 4. Disable any ad blockers temporarily
227
+
228
+ [IF NEEDS ESCALATION]:
229
+ I've documented this issue and escalated it to our engineering team.
230
+
231
+ Ticket reference: [number]
232
+ Expected response: [timeframe]
233
+
234
+ I'll follow up as soon as we have more information.
235
+
236
+ Best regards,
237
+ [Support Agent]
238
+ \`\`\`
239
+
240
+ ## Escalation Procedures
241
+
242
+ ### When to Escalate
243
+
244
+ **Immediate Escalation** (within 1 hour):
245
+ - Security concerns or potential exploits
246
+ - Transactions >$100K with issues
247
+ - Data privacy concerns
248
+ - Legal or regulatory inquiries
249
+
250
+ **Standard Escalation** (within 4 hours):
251
+ - Complex technical issues
252
+ - Repeated failed transactions
253
+ - Unresolved issues after 2 interactions
254
+ - Feature requests from large users
255
+
256
+ **Scheduled Review** (next business day):
257
+ - General feedback
258
+ - Minor UI issues
259
+ - Feature suggestions
260
+
261
+ ### Escalation Template
262
+
263
+ \`\`\`
264
+ ESCALATION REQUEST
265
+ ==================
266
+
267
+ Priority: [Critical/High/Medium/Low]
268
+ Category: [Technical/Financial/Security/Other]
269
+
270
+ Customer: [Name/ID]
271
+ Contact: [Email]
272
+ Original Ticket: [Number]
273
+
274
+ Issue Summary:
275
+ [Brief description]
276
+
277
+ Attempted Resolution:
278
+ [What has been tried]
279
+
280
+ Escalation Reason:
281
+ [Why this needs escalation]
282
+
283
+ Requested Action:
284
+ [What is needed from escalation team]
285
+
286
+ Supporting Information:
287
+ [Transaction hashes, screenshots, etc.]
288
+ \`\`\`
289
+
290
+ ## Communication Guidelines
291
+
292
+ ### Language Standards
293
+ - Use "we" when referring to Lagoon
294
+ - Avoid technical jargon unless customer is technical
295
+ - Never promise specific returns or outcomes
296
+ - Always include appropriate disclaimers for financial topics
297
+
298
+ ### Response Timing
299
+ - First response: Within 4 hours (business hours)
300
+ - Follow-ups: Within 24 hours
301
+ - Escalations: Per priority level above
302
+
303
+ ### Prohibited Statements
304
+ - Never guarantee returns or APR
305
+ - Never promise specific timelines without confirmation
306
+ - Never share other customer information
307
+ - Never provide financial, legal, or tax advice`;
308
+ /**
309
+ * Response templates resource
310
+ */
311
+ const RESPONSE_TEMPLATES = `# Support Response Templates
312
+
313
+ ## Quick Responses
314
+
315
+ ### Deposit Received
316
+ \`\`\`
317
+ Hi [Name],
318
+
319
+ Great news! Your deposit of [amount] has been successfully processed and is now earning yield in [vault name].
320
+
321
+ Current position: [X] shares
322
+ Current value: $[X]
323
+
324
+ You can view your position at any time in your dashboard.
325
+
326
+ Best regards,
327
+ [Support Agent]
328
+ \`\`\`
329
+
330
+ ### Redemption Processed
331
+ \`\`\`
332
+ Hi [Name],
333
+
334
+ Your redemption has been processed successfully!
335
+
336
+ Amount redeemed: [X] [asset]
337
+ Transaction: [hash link]
338
+
339
+ The funds should appear in your wallet shortly (usually within a few minutes depending on network conditions).
340
+
341
+ Best regards,
342
+ [Support Agent]
343
+ \`\`\`
344
+
345
+ ### Request More Information
346
+ \`\`\`
347
+ Hi [Name],
348
+
349
+ Thank you for contacting Lagoon support. I'd like to help resolve this for you.
350
+
351
+ To assist you better, could you please provide:
352
+ - [Specific information needed]
353
+ - [Additional context]
354
+
355
+ Once I have this information, I'll be able to investigate further.
356
+
357
+ Best regards,
358
+ [Support Agent]
359
+ \`\`\`
360
+
361
+ ### Issue Resolved
362
+ \`\`\`
363
+ Hi [Name],
364
+
365
+ I'm pleased to confirm that your issue has been resolved.
366
+
367
+ Summary:
368
+ - Issue: [Brief description]
369
+ - Resolution: [What was done]
370
+ - Current Status: [Resolved/Monitoring]
371
+
372
+ Is there anything else I can help you with?
373
+
374
+ Best regards,
375
+ [Support Agent]
376
+ \`\`\`
377
+
378
+ ### Scheduled Maintenance
379
+ \`\`\`
380
+ Hi [Name],
381
+
382
+ Thank you for your patience. The [feature/service] is currently undergoing scheduled maintenance.
383
+
384
+ Expected duration: [timeframe]
385
+ Impact: [What is affected]
386
+ Workaround: [If any]
387
+
388
+ We'll notify you when service is restored. Your funds remain safe during this maintenance period.
389
+
390
+ Best regards,
391
+ [Support Agent]
392
+ \`\`\`
393
+
394
+ ## FAQ Responses
395
+
396
+ ### What are vault fees?
397
+ \`\`\`
398
+ Lagoon vaults have transparent fee structures:
399
+
400
+ - Management Fee: [X]% annually (accrued daily)
401
+ - Performance Fee: [X]% of profits (only charged on gains)
402
+ - Entry/Exit Fees: [Details if applicable]
403
+
404
+ These fees are automatically deducted and reflected in your share value. The displayed APR is already net of fees.
405
+
406
+ For specific vault fees, you can find them on the vault details page or I can look them up for you.
407
+ \`\`\`
408
+
409
+ ### How is APR calculated?
410
+ \`\`\`
411
+ APR (Annual Percentage Rate) represents the annualized return based on recent vault performance.
412
+
413
+ Calculation method:
414
+ - Based on [30-day/7-day] historical performance
415
+ - Annualized for comparison purposes
416
+ - Net of all fees
417
+ - Does not include compounding effects
418
+
419
+ Important: APR is variable and based on historical data. It does not guarantee future returns.
420
+ \`\`\`
421
+
422
+ ### What happens if a vault strategy fails?
423
+ \`\`\`
424
+ While rare, strategy issues are possible in DeFi. Here's what you should know:
425
+
426
+ Protections in place:
427
+ - Professional curator oversight
428
+ - Diversified underlying strategies
429
+ - Regular monitoring and rebalancing
430
+
431
+ If issues occur:
432
+ - Curator may pause deposits/redemptions temporarily
433
+ - Strategy adjustments made as needed
434
+ - Communication sent to all depositors
435
+
436
+ Risk reminder: All DeFi investments carry risk, including potential total loss.
437
+ \`\`\`
438
+
439
+ ### How do I contact support?
440
+ \`\`\`
441
+ You can reach Lagoon support through:
442
+
443
+ - This support chat (fastest response)
444
+ - Email: support@lagoon.protocol
445
+ - Discord: [link to support channel]
446
+
447
+ Support hours: [Hours]
448
+ Average response time: [Timeframe]
449
+
450
+ For urgent security concerns, please use [emergency contact method].
451
+ \`\`\`
452
+
453
+ ## Closing Messages
454
+
455
+ ### Positive Resolution
456
+ \`\`\`
457
+ I'm glad I could help resolve this for you! If you have any other questions in the future, don't hesitate to reach out.
458
+
459
+ Thank you for using Lagoon!
460
+ \`\`\`
461
+
462
+ ### Awaiting Customer Response
463
+ \`\`\`
464
+ I'll keep this ticket open while awaiting your response. Feel free to reply whenever convenient.
465
+
466
+ This ticket will auto-close after [X] days of inactivity, but you can always open a new one if needed.
467
+ \`\`\`
468
+
469
+ ### After Escalation
470
+ \`\`\`
471
+ I've escalated this to our specialized team who will follow up with you directly.
472
+
473
+ Ticket reference: [number]
474
+ Expected follow-up: [timeframe]
475
+
476
+ Thank you for your patience.
477
+ \`\`\``;
478
+ /**
479
+ * Lagoon Customer Support Skill Definition
480
+ */
481
+ export const lagoonCustomerSupportSkill = {
482
+ name: 'lagoon-customer-support',
483
+ description: 'Consistent, professional support responses for the internal support team handling customer inquiries, issues, and escalations.',
484
+ triggers: [
485
+ 'support response',
486
+ 'customer question',
487
+ 'support template',
488
+ 'customer issue',
489
+ 'help response',
490
+ 'support ticket',
491
+ 'customer inquiry',
492
+ 'support reply',
493
+ 'escalation',
494
+ 'customer complaint',
495
+ 'support message',
496
+ 'ticket response',
497
+ ],
498
+ audience: 'internal-support',
499
+ instructions: INSTRUCTIONS,
500
+ resources: {
501
+ responseTemplates: RESPONSE_TEMPLATES,
502
+ },
503
+ metadata: {
504
+ version: '1.0.0',
505
+ category: 'support',
506
+ primaryTools: ['search_vaults', 'get_vault_data', 'get_transactions'],
507
+ estimatedTokens: 2400,
508
+ lastUpdated: '2024-12-15',
509
+ },
510
+ };
511
+ export default lagoonCustomerSupportSkill;
512
+ //# sourceMappingURL=customer-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-support.js","sourceRoot":"","sources":["../../src/skills/customer-support.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAuS2B,CAAC;AAEjD;;GAEG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsKpB,CAAC;AAER;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgB;IACrD,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,gIAAgI;IAClI,QAAQ,EAAE;QACR,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,oBAAoB;QACpB,iBAAiB;QACjB,iBAAiB;KAClB;IACD,QAAQ,EAAE,kBAAkB;IAC5B,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE;QACT,iBAAiB,EAAE,kBAAkB;KACtC;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;QACrE,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,YAAY;KAC1B;CACF,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Lagoon Skills Module
3
+ *
4
+ * Exports all skills and utilities for programmatic usage in backend integrations.
5
+ *
6
+ * ## Overview
7
+ *
8
+ * Skills are procedural knowledge modules that complement MCP's data connectivity.
9
+ * While MCP tools fetch data, Skills teach Claude HOW to use those tools effectively.
10
+ *
11
+ * ## Usage in Backend
12
+ *
13
+ * ### Recommended: Use buildSkillAwarePrompt helper
14
+ *
15
+ * ```typescript
16
+ * import { buildSkillAwarePrompt } from '@lagoon-protocol/lagoon-mcp/skills';
17
+ *
18
+ * // In your Claude API handler:
19
+ * const { systemPrompt, detectedSkill, tokensAdded } = buildSkillAwarePrompt(
20
+ * "You are a Lagoon vault assistant...",
21
+ * userMessage,
22
+ * { confidenceThreshold: 0.5, includeResources: true }
23
+ * );
24
+ *
25
+ * const response = await claude.messages.create({
26
+ * model: 'claude-sonnet-4-20250514',
27
+ * system: systemPrompt,
28
+ * tools: mcpTools,
29
+ * messages: [{ role: 'user', content: userMessage }]
30
+ * });
31
+ *
32
+ * // Log skill usage for analytics
33
+ * if (detectedSkill) {
34
+ * console.log(`Skill activated: ${detectedSkill} (+${tokensAdded} tokens)`);
35
+ * }
36
+ * ```
37
+ *
38
+ * ### Alternative: Manual skill detection
39
+ *
40
+ * ```typescript
41
+ * import { detectSkill, getSkillPrompt } from '@lagoon-protocol/lagoon-mcp/skills';
42
+ *
43
+ * const detection = detectSkill(userMessage);
44
+ * if (detection.skill && detection.confidence > 0.5) {
45
+ * systemPrompt += getSkillPrompt(detection.skill.name);
46
+ * }
47
+ * ```
48
+ *
49
+ * ### Explicit skill activation
50
+ *
51
+ * ```typescript
52
+ * import { getSkillPrompt } from '@lagoon-protocol/lagoon-mcp/skills';
53
+ *
54
+ * if (isNewUser) {
55
+ * systemPrompt += getSkillPrompt('lagoon-onboarding', { includeResources: true });
56
+ * }
57
+ * ```
58
+ *
59
+ * ## Available Skills
60
+ *
61
+ * - `lagoon-onboarding`: First vault selection for new users
62
+ * - (Future) `lagoon-protocol-health`: Internal KPI monitoring
63
+ * - (Future) `lagoon-portfolio-review`: Portfolio health checks
64
+ *
65
+ * @module skills
66
+ */
67
+ export type { BuildPromptOptions, BuildPromptResult, LagoonSkill, SkillAudience, SkillCategory, SkillDetectionResult, SkillLoadOptions, SkillMetadata, SkillRegistry, SkillResources, } from './types.js';
68
+ export { lagoonOnboardingSkill } from './onboarding.js';
69
+ export { lagoonProtocolHealthSkill } from './protocol-health.js';
70
+ export { lagoonPortfolioReviewSkill } from './portfolio-review.js';
71
+ export { lagoonCuratorEvaluationSkill } from './curator-evaluation.js';
72
+ export { lagoonRiskExpertSkill } from './risk-expert.js';
73
+ export { lagoonCustomerSupportSkill } from './customer-support.js';
74
+ export { COMMON_DISCLAIMERS, COMMON_TRIGGERS, COMMUNICATION_GUIDELINES, combineTriggers, estimateTokens, } from './shared.js';
75
+ export { buildSkillAwarePrompt, createSkillRegistry, detectSkill, getSkill, getSkillCatalog, getSkillNames, getSkillPrompt, getSkills, skillRegistry, } from './loader.js';
76
+ /**
77
+ * All available skills as a named collection
78
+ */
79
+ export declare const skills: {
80
+ readonly onboarding: import("./types.js").LagoonSkill;
81
+ readonly protocolHealth: import("./types.js").LagoonSkill;
82
+ readonly portfolioReview: import("./types.js").LagoonSkill;
83
+ readonly curatorEvaluation: import("./types.js").LagoonSkill;
84
+ readonly riskExpert: import("./types.js").LagoonSkill;
85
+ readonly customerSupport: import("./types.js").LagoonSkill;
86
+ };
87
+ /**
88
+ * Default export: skill registry for simple access
89
+ */
90
+ export { skillRegistry as default } from './loader.js';
91
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAGH,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,eAAe,EACf,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,GACd,MAAM,aAAa,CAAC;AAUrB;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX;;GAEG;AACH,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Lagoon Skills Module
3
+ *
4
+ * Exports all skills and utilities for programmatic usage in backend integrations.
5
+ *
6
+ * ## Overview
7
+ *
8
+ * Skills are procedural knowledge modules that complement MCP's data connectivity.
9
+ * While MCP tools fetch data, Skills teach Claude HOW to use those tools effectively.
10
+ *
11
+ * ## Usage in Backend
12
+ *
13
+ * ### Recommended: Use buildSkillAwarePrompt helper
14
+ *
15
+ * ```typescript
16
+ * import { buildSkillAwarePrompt } from '@lagoon-protocol/lagoon-mcp/skills';
17
+ *
18
+ * // In your Claude API handler:
19
+ * const { systemPrompt, detectedSkill, tokensAdded } = buildSkillAwarePrompt(
20
+ * "You are a Lagoon vault assistant...",
21
+ * userMessage,
22
+ * { confidenceThreshold: 0.5, includeResources: true }
23
+ * );
24
+ *
25
+ * const response = await claude.messages.create({
26
+ * model: 'claude-sonnet-4-20250514',
27
+ * system: systemPrompt,
28
+ * tools: mcpTools,
29
+ * messages: [{ role: 'user', content: userMessage }]
30
+ * });
31
+ *
32
+ * // Log skill usage for analytics
33
+ * if (detectedSkill) {
34
+ * console.log(`Skill activated: ${detectedSkill} (+${tokensAdded} tokens)`);
35
+ * }
36
+ * ```
37
+ *
38
+ * ### Alternative: Manual skill detection
39
+ *
40
+ * ```typescript
41
+ * import { detectSkill, getSkillPrompt } from '@lagoon-protocol/lagoon-mcp/skills';
42
+ *
43
+ * const detection = detectSkill(userMessage);
44
+ * if (detection.skill && detection.confidence > 0.5) {
45
+ * systemPrompt += getSkillPrompt(detection.skill.name);
46
+ * }
47
+ * ```
48
+ *
49
+ * ### Explicit skill activation
50
+ *
51
+ * ```typescript
52
+ * import { getSkillPrompt } from '@lagoon-protocol/lagoon-mcp/skills';
53
+ *
54
+ * if (isNewUser) {
55
+ * systemPrompt += getSkillPrompt('lagoon-onboarding', { includeResources: true });
56
+ * }
57
+ * ```
58
+ *
59
+ * ## Available Skills
60
+ *
61
+ * - `lagoon-onboarding`: First vault selection for new users
62
+ * - (Future) `lagoon-protocol-health`: Internal KPI monitoring
63
+ * - (Future) `lagoon-portfolio-review`: Portfolio health checks
64
+ *
65
+ * @module skills
66
+ */
67
+ // Skill definitions
68
+ export { lagoonOnboardingSkill } from './onboarding.js';
69
+ export { lagoonProtocolHealthSkill } from './protocol-health.js';
70
+ export { lagoonPortfolioReviewSkill } from './portfolio-review.js';
71
+ export { lagoonCuratorEvaluationSkill } from './curator-evaluation.js';
72
+ export { lagoonRiskExpertSkill } from './risk-expert.js';
73
+ export { lagoonCustomerSupportSkill } from './customer-support.js';
74
+ // Shared utilities
75
+ export { COMMON_DISCLAIMERS, COMMON_TRIGGERS, COMMUNICATION_GUIDELINES, combineTriggers, estimateTokens, } from './shared.js';
76
+ // Loader utilities
77
+ export { buildSkillAwarePrompt, createSkillRegistry, detectSkill, getSkill, getSkillCatalog, getSkillNames, getSkillPrompt, getSkills, skillRegistry, } from './loader.js';
78
+ // Convenience re-export of all skills as a collection
79
+ import { lagoonOnboardingSkill } from './onboarding.js';
80
+ import { lagoonProtocolHealthSkill } from './protocol-health.js';
81
+ import { lagoonPortfolioReviewSkill } from './portfolio-review.js';
82
+ import { lagoonCuratorEvaluationSkill } from './curator-evaluation.js';
83
+ import { lagoonRiskExpertSkill } from './risk-expert.js';
84
+ import { lagoonCustomerSupportSkill } from './customer-support.js';
85
+ /**
86
+ * All available skills as a named collection
87
+ */
88
+ export const skills = {
89
+ onboarding: lagoonOnboardingSkill,
90
+ protocolHealth: lagoonProtocolHealthSkill,
91
+ portfolioReview: lagoonPortfolioReviewSkill,
92
+ curatorEvaluation: lagoonCuratorEvaluationSkill,
93
+ riskExpert: lagoonRiskExpertSkill,
94
+ customerSupport: lagoonCustomerSupportSkill,
95
+ };
96
+ /**
97
+ * Default export: skill registry for simple access
98
+ */
99
+ export { skillRegistry as default } from './loader.js';
100
+ //# sourceMappingURL=index.js.map