@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,137 @@
1
+ /**
2
+ * Lagoon Skills Type Definitions
3
+ *
4
+ * Skills are procedural knowledge modules that teach Claude HOW to use
5
+ * Lagoon MCP tools effectively. They complement MCP's data connectivity
6
+ * with domain expertise and workflow guidance.
7
+ *
8
+ * @module skills/types
9
+ */
10
+ /**
11
+ * Represents a Lagoon skill with instructions and metadata.
12
+ * Skills can be used in two contexts:
13
+ * 1. Claude Desktop: Raw SKILL.md files loaded via JSON config
14
+ * 2. Backend API: TypeScript modules injected into system prompts
15
+ */
16
+ export interface LagoonSkill {
17
+ /** Unique identifier (kebab-case) */
18
+ name: string;
19
+ /** Human-readable description for skill selection */
20
+ description: string;
21
+ /** Keywords/phrases that trigger this skill */
22
+ triggers: string[];
23
+ /** Target audience for this skill */
24
+ audience: SkillAudience;
25
+ /** Main skill instructions (content from SKILL.md) */
26
+ instructions: string;
27
+ /** Optional supporting resources */
28
+ resources?: SkillResources;
29
+ /** Skill metadata */
30
+ metadata: SkillMetadata;
31
+ }
32
+ /**
33
+ * Target audience categories for skills
34
+ */
35
+ export type SkillAudience = 'customer-new' | 'customer-existing' | 'customer-advanced' | 'internal-ops' | 'internal-bd' | 'internal-support';
36
+ /**
37
+ * Supporting resources for a skill
38
+ */
39
+ export interface SkillResources {
40
+ /** Tool usage patterns and parameters */
41
+ toolSequences?: string;
42
+ /** Domain-specific interpretation guides */
43
+ interpretation?: string;
44
+ /** Threshold definitions and criteria */
45
+ thresholds?: string;
46
+ /** Report templates */
47
+ templates?: string;
48
+ /** Additional named resources */
49
+ [key: string]: string | undefined;
50
+ }
51
+ /**
52
+ * Skill metadata for versioning and categorization
53
+ */
54
+ export interface SkillMetadata {
55
+ /** Skill version (semver) */
56
+ version: string;
57
+ /** Category for grouping */
58
+ category: SkillCategory;
59
+ /** MCP tools this skill primarily uses */
60
+ primaryTools: string[];
61
+ /** Estimated context tokens when loaded */
62
+ estimatedTokens: number;
63
+ /** Last updated date */
64
+ lastUpdated: string;
65
+ }
66
+ /**
67
+ * Skill categories for organization
68
+ */
69
+ export type SkillCategory = 'onboarding' | 'portfolio' | 'risk' | 'operations' | 'support' | 'strategy';
70
+ /**
71
+ * Result of skill detection
72
+ */
73
+ export interface SkillDetectionResult {
74
+ /** The detected skill, if any */
75
+ skill: LagoonSkill | null;
76
+ /** Confidence score (0-1) */
77
+ confidence: number;
78
+ /** Matched triggers */
79
+ matchedTriggers: string[];
80
+ }
81
+ /**
82
+ * Options for skill loading
83
+ */
84
+ export interface SkillLoadOptions {
85
+ /** Include supporting resources */
86
+ includeResources?: boolean;
87
+ /** Maximum token budget (will truncate if exceeded) */
88
+ maxTokens?: number;
89
+ /** Filter by audience */
90
+ audience?: SkillAudience[];
91
+ /** Filter by category */
92
+ category?: SkillCategory[];
93
+ }
94
+ /**
95
+ * Skill registry for managing available skills
96
+ */
97
+ export interface SkillRegistry {
98
+ /** All registered skills */
99
+ skills: LagoonSkill[];
100
+ /** Get skill by name */
101
+ getSkill(name: string): LagoonSkill | undefined;
102
+ /** Detect relevant skill for a message */
103
+ detectSkill(message: string): SkillDetectionResult;
104
+ /** Get skills filtered by options */
105
+ getSkills(options?: SkillLoadOptions): LagoonSkill[];
106
+ /** Get skill content formatted for system prompt */
107
+ getSkillPrompt(name: string, options?: SkillLoadOptions): string;
108
+ }
109
+ /**
110
+ * Options for building a skill-aware system prompt
111
+ */
112
+ export interface BuildPromptOptions {
113
+ /** Minimum confidence threshold (0-1) to include a skill. Default: 0.5 */
114
+ confidenceThreshold?: number;
115
+ /** Include skill resources in the prompt. Default: true */
116
+ includeResources?: boolean;
117
+ /** Maximum tokens for skill content. Default: no limit */
118
+ maxTokens?: number;
119
+ /** Custom separator between base prompt and skill. Default: '\n\n---\n\n' */
120
+ separator?: string;
121
+ }
122
+ /**
123
+ * Result of building a skill-aware prompt
124
+ */
125
+ export interface BuildPromptResult {
126
+ /** The complete system prompt with skill injected (if matched) */
127
+ systemPrompt: string;
128
+ /** Name of the detected skill, or null if none matched */
129
+ detectedSkill: string | null;
130
+ /** Confidence score of the detection (0 if no skill) */
131
+ confidence: number;
132
+ /** Triggers that matched in the user message */
133
+ matchedTriggers: string[];
134
+ /** Estimated tokens added by the skill (0 if no skill) */
135
+ tokensAdded: number;
136
+ }
137
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skills/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Lagoon Skills Type Definitions
3
+ *
4
+ * Skills are procedural knowledge modules that teach Claude HOW to use
5
+ * Lagoon MCP tools effectively. They complement MCP's data connectivity
6
+ * with domain expertise and workflow guidance.
7
+ *
8
+ * @module skills/types
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/skills/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
package/package.json CHANGED
@@ -1,15 +1,40 @@
1
1
  {
2
2
  "name": "@lagoon-protocol/lagoon-mcp",
3
- "version": "0.1.3",
3
+ "version": "0.2.1",
4
4
  "description": "MCP server for Lagoon DeFi vault analytics - FOR INFORMATIONAL USE ONLY, NOT FINANCIAL ADVICE. Natural language access to vault data, portfolios, and performance metrics",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./skills": {
14
+ "types": "./dist/skills/index.d.ts",
15
+ "import": "./dist/skills/index.js"
16
+ },
17
+ "./tools": {
18
+ "types": "./dist/tools/registry.d.ts",
19
+ "import": "./dist/tools/registry.js"
20
+ },
21
+ "./core": {
22
+ "types": "./dist/core/container.d.ts",
23
+ "import": "./dist/core/container.js"
24
+ },
25
+ "./cache": {
26
+ "types": "./dist/core/cache-adapter.d.ts",
27
+ "import": "./dist/core/cache-adapter.js"
28
+ }
29
+ },
8
30
  "bin": {
9
31
  "lagoon-mcp": "./dist/index.js"
10
32
  },
11
33
  "files": [
12
34
  "dist",
35
+ "!dist/**/__tests__",
36
+ "!dist/**/*.test.*",
37
+ "skills",
13
38
  "README.md",
14
39
  "LICENSE"
15
40
  ],
@@ -0,0 +1,141 @@
1
+ # Lagoon Skills
2
+
3
+ Claude Skills that enhance the Lagoon MCP with procedural knowledge and domain expertise.
4
+
5
+ ## What are Skills?
6
+
7
+ Skills are specialized instruction sets that teach Claude HOW to use MCP tools effectively. While MCP provides data connectivity (tools to fetch vault data, analyze risk, etc.), Skills provide procedural knowledge (when to use which tool, how to interpret results for different audiences).
8
+
9
+ **MCP (Data Layer)** + **Skills (Knowledge Layer)** = **Domain Expert Experience**
10
+
11
+ ## Available Skills
12
+
13
+ ### Customer-Facing Skills
14
+
15
+ | Skill | Audience | Purpose | Status |
16
+ |-------|----------|---------|--------|
17
+ | `lagoon-onboarding` | New Users | Guide new users to first vault selection | Active |
18
+ | `lagoon-portfolio-review` | Existing Users | Quarterly portfolio health checks | Active |
19
+ | `lagoon-risk-expert` | Advanced Users | Comprehensive risk evaluation | Active |
20
+
21
+ ### Internal Team Skills
22
+
23
+ | Skill | Audience | Purpose | Status |
24
+ |-------|----------|---------|--------|
25
+ | `lagoon-protocol-health` | Operations | Daily/weekly KPI monitoring | Active |
26
+ | `lagoon-curator-evaluation` | Business Development | Partnership assessment with scoring | Active |
27
+ | `lagoon-customer-support` | Support Team | Support response templates | Active |
28
+
29
+ ## Skill Structure
30
+
31
+ Each skill follows the Claude Skills specification:
32
+
33
+ ```
34
+ skill-name/
35
+ ├── SKILL.md # Required: Main instructions with YAML frontmatter
36
+ └── [optional files] # Supporting resources, examples, scripts
37
+ ```
38
+
39
+ ### SKILL.md Format
40
+
41
+ ```yaml
42
+ ---
43
+ name: skill-name
44
+ description: Clear description of purpose and activation triggers
45
+ ---
46
+
47
+ # Skill Title
48
+
49
+ [Instructions that Claude follows when this skill is active]
50
+
51
+ ## When This Skill Activates
52
+ [Trigger conditions]
53
+
54
+ ## Workflow
55
+ [Step-by-step procedures]
56
+
57
+ ## Communication Guidelines
58
+ [Tone, language, disclaimers]
59
+ ```
60
+
61
+ ## Using Skills
62
+
63
+ ### With Claude.ai
64
+
65
+ 1. Navigate to Settings > Features > Skills
66
+ 2. Upload the skill folder or individual SKILL.md
67
+ 3. Skills activate automatically based on conversation context
68
+
69
+ ### With Claude Code
70
+
71
+ ```bash
72
+ # Install from marketplace (when available)
73
+ /plugin marketplace add lagoon/skills
74
+
75
+ # Or install locally
76
+ /plugin install ./skills/lagoon-onboarding
77
+ ```
78
+
79
+ ### With Claude Desktop
80
+
81
+ Add to your Claude configuration:
82
+
83
+ ```json
84
+ {
85
+ "skills": [
86
+ {
87
+ "path": "/path/to/lagoon-mcp/skills/lagoon-onboarding"
88
+ }
89
+ ]
90
+ }
91
+ ```
92
+
93
+ ## Relationship to MCP Prompts
94
+
95
+ The Lagoon MCP includes 6 prompts that provide guidance frameworks. Skills extend this by:
96
+
97
+ 1. **Adding procedural detail**: Exact tool sequences and parameters
98
+ 2. **Adapting to audiences**: Different guidance for beginners vs experts
99
+ 3. **Progressive loading**: Skills load only when relevant (~100 tokens initially)
100
+ 4. **Supporting resources**: Additional files for complex workflows
101
+
102
+ ### Migration Path
103
+
104
+ | MCP Prompt | Recommended Skill | Enhancement |
105
+ |------------|-------------------|-------------|
106
+ | `onboarding-first-vault` | `lagoon-onboarding` | Full workflow, profile assessment |
107
+ | `financial-analysis` | `lagoon-portfolio-review` | Structured review process |
108
+ | `curator-performance` | `lagoon-curator-evaluation` | Scoring rubric, deal-breakers |
109
+ | `protocol-overview` | `lagoon-protocol-health` | KPI thresholds, alerting |
110
+ | `portfolio-optimization` | `lagoon-portfolio-review` | MPT strategy guidance |
111
+ | `competitor-comparison` | (future) | Methodology, data sources |
112
+
113
+ ## Creating New Skills
114
+
115
+ 1. Create a folder: `skills/your-skill-name/`
116
+ 2. Add `SKILL.md` with frontmatter and instructions
117
+ 3. Add supporting resources as needed
118
+ 4. Test with Claude to verify activation triggers
119
+
120
+ ### Best Practices
121
+
122
+ - **Clear triggers**: Define specific activation conditions
123
+ - **Tool sequences**: Document exact tool workflows
124
+ - **User profiles**: Adapt guidance to different audience levels
125
+ - **Disclaimers**: Include appropriate legal/risk disclaimers
126
+ - **Examples**: Provide sample conversations and outputs
127
+
128
+ ## Maintenance
129
+
130
+ Skills should be versioned alongside the MCP:
131
+ - Update tool references when MCP tools change
132
+ - Review and update risk thresholds periodically
133
+ - Add new skills based on user feedback and usage patterns
134
+
135
+ ## Contributing
136
+
137
+ When creating new skills:
138
+ 1. Follow the existing structure and naming conventions
139
+ 2. Include comprehensive activation triggers
140
+ 3. Test with real MCP tool outputs
141
+ 4. Document any dependencies on specific MCP versions
@@ -0,0 +1,281 @@
1
+ ---
2
+ name: lagoon-curator-evaluation
3
+ version: 1.0.0
4
+ description: Systematically assess curators for partnership decisions using standardized scoring criteria
5
+ audience: internal-bd
6
+ category: operations
7
+ triggers:
8
+ - curator evaluation
9
+ - evaluate curator
10
+ - curator assessment
11
+ - curator performance
12
+ - curator due diligence
13
+ - curator review
14
+ - partnership assessment
15
+ - partnership evaluation
16
+ - curator track record
17
+ - curator analysis
18
+ - assess curator
19
+ - curator scoring
20
+ - curator comparison
21
+ - compare curators
22
+ tools:
23
+ - query_graphql
24
+ - search_vaults
25
+ - get_vault_performance
26
+ - analyze_risk
27
+ estimated_tokens: 2600
28
+ ---
29
+
30
+ # Lagoon Curator Evaluation: Partnership Assessment Guide
31
+
32
+ You are a business development analyst helping the Lagoon team evaluate curators for partnership decisions. Your goal is to provide systematic, data-driven assessments using standardized criteria.
33
+
34
+ ## When This Skill Activates
35
+
36
+ This skill is relevant when internal users:
37
+ - Need to evaluate a new curator for partnership
38
+ - Want to assess an existing curator's performance
39
+ - Request due diligence on a strategy manager
40
+ - Need to compare curators for partnership priority
41
+ - Ask about curator track records or reliability
42
+
43
+ ## Step 1: Curator Information Gathering
44
+
45
+ ### Basic Curator Data
46
+ **Tool**: `query_graphql`
47
+
48
+ Query curator details:
49
+ ```graphql
50
+ query GetCurator($curatorId: ID!) {
51
+ curator(id: $curatorId) {
52
+ id
53
+ name
54
+ description
55
+ vaults {
56
+ id
57
+ name
58
+ state {
59
+ totalAssetsUsd
60
+ }
61
+ }
62
+ }
63
+ }
64
+ ```
65
+
66
+ ### Curator's Vaults
67
+ **Tool**: `search_vaults`
68
+
69
+ Get all vaults managed by the curator:
70
+ ```json
71
+ {
72
+ "filters": {
73
+ "curatorIds_contains": ["curator-id"]
74
+ },
75
+ "orderBy": "totalAssetsUsd",
76
+ "orderDirection": "desc",
77
+ "responseFormat": "summary"
78
+ }
79
+ ```
80
+
81
+ ## Step 2: Performance Analysis
82
+
83
+ ### Per-Vault Performance
84
+ **Tool**: `get_vault_performance`
85
+
86
+ For each curator vault:
87
+ ```json
88
+ {
89
+ "vaultAddress": "0x...",
90
+ "chainId": 1,
91
+ "timeRange": "90d",
92
+ "responseFormat": "detailed"
93
+ }
94
+ ```
95
+
96
+ ### Performance Metrics Summary
97
+ ```
98
+ CURATOR PERFORMANCE OVERVIEW
99
+ ============================
100
+
101
+ Total AUM: $[X]M across [N] vaults
102
+ Average APR: [X]%
103
+ APR Range: [X]% - [X]%
104
+
105
+ Vault Performance Distribution:
106
+ | Vault | TVL | APR | Risk | Performance |
107
+ |-------|-----|-----|------|-------------|
108
+ | [Name] | $[X]M | [X]% | [X] | [Rating] |
109
+
110
+ Performance vs Protocol Average:
111
+ - APR: [+/-X]% vs protocol average
112
+ - Risk: [+/-X] vs protocol average
113
+ - TVL Growth: [+/-X]% vs protocol average
114
+ ```
115
+
116
+ ## Step 3: Risk Assessment
117
+
118
+ ### Per-Vault Risk Analysis
119
+ **Tool**: `analyze_risk`
120
+
121
+ For each curator vault:
122
+ ```json
123
+ {
124
+ "vaultAddress": "0x...",
125
+ "chainId": 1,
126
+ "responseFormat": "detailed"
127
+ }
128
+ ```
129
+
130
+ ### Risk Profile Summary
131
+ ```
132
+ CURATOR RISK PROFILE
133
+ ====================
134
+
135
+ Average Risk Score: [X]/100
136
+ Risk Range: [X] - [X]
137
+
138
+ Risk Distribution:
139
+ - Low Risk (<30): [N] vaults ([X]% of AUM)
140
+ - Medium Risk (30-60): [N] vaults ([X]% of AUM)
141
+ - High Risk (>60): [N] vaults ([X]% of AUM)
142
+
143
+ Risk Factors:
144
+ - Strategy Complexity: [Low/Medium/High]
145
+ - Asset Diversification: [Low/Medium/High]
146
+ - Historical Volatility: [Low/Medium/High]
147
+ ```
148
+
149
+ ## Step 4: Scoring Framework
150
+
151
+ ### Evaluation Criteria
152
+
153
+ Use this standardized scoring rubric:
154
+
155
+ | Criteria | Weight | Score (1-10) | Weighted |
156
+ |----------|--------|--------------|----------|
157
+ | **Track Record** | 25% | [X] | [X] |
158
+ | **AUM & Growth** | 20% | [X] | [X] |
159
+ | **Performance** | 20% | [X] | [X] |
160
+ | **Risk Management** | 20% | [X] | [X] |
161
+ | **Strategy Clarity** | 15% | [X] | [X] |
162
+ | **TOTAL** | 100% | - | [X]/10 |
163
+
164
+ ### Scoring Guidelines
165
+
166
+ **Track Record (25%)**
167
+ - 9-10: >2 years active, consistent performance, no incidents
168
+ - 7-8: 1-2 years active, mostly consistent
169
+ - 5-6: 6-12 months active, learning curve visible
170
+ - 3-4: 3-6 months active, limited history
171
+ - 1-2: <3 months active or concerning history
172
+
173
+ **AUM & Growth (20%)**
174
+ - 9-10: >$10M AUM, consistent growth
175
+ - 7-8: $5-10M AUM, positive growth
176
+ - 5-6: $1-5M AUM, stable
177
+ - 3-4: $500K-1M AUM, early stage
178
+ - 1-2: <$500K AUM or declining
179
+
180
+ **Performance (20%)**
181
+ - 9-10: Top quartile APR, consistent delivery
182
+ - 7-8: Above average APR, reliable
183
+ - 5-6: Average APR, meets expectations
184
+ - 3-4: Below average, inconsistent
185
+ - 1-2: Poor performance, frequent misses
186
+
187
+ **Risk Management (20%)**
188
+ - 9-10: Excellent risk controls, low volatility
189
+ - 7-8: Good risk management, appropriate for strategy
190
+ - 5-6: Adequate, some concerns
191
+ - 3-4: Elevated risk, needs improvement
192
+ - 1-2: Poor risk management, high concern
193
+
194
+ **Strategy Clarity (15%)**
195
+ - 9-10: Crystal clear strategy, excellent documentation
196
+ - 7-8: Clear strategy, good communication
197
+ - 5-6: Adequate explanation, some gaps
198
+ - 3-4: Vague strategy, poor documentation
199
+ - 1-2: Unclear or opaque strategy
200
+
201
+ ## Step 5: Red Flags & Deal Breakers
202
+
203
+ ### Immediate Disqualifiers
204
+ - Anonymous or unverifiable identity
205
+ - History of security incidents or exploits
206
+ - Regulatory issues or legal concerns
207
+ - Significant unexplained TVL declines
208
+ - Pattern of underdelivering on stated APR
209
+
210
+ ### Yellow Flags (Require Explanation)
211
+ - Less than 6 months track record
212
+ - Single vault with >80% of AUM
213
+ - High risk scores (>60) without clear justification
214
+ - Unusual APR patterns (spikes/crashes)
215
+ - Limited strategy documentation
216
+
217
+ ### Green Flags (Positive Indicators)
218
+ - Verified team with public profiles
219
+ - Consistent performance over >1 year
220
+ - Diversified vault offerings
221
+ - Clear and responsive communication
222
+ - Growing AUM without aggressive marketing
223
+
224
+ ## Step 6: Partnership Recommendation
225
+
226
+ ### Summary Template
227
+ ```
228
+ CURATOR EVALUATION SUMMARY
229
+ ==========================
230
+
231
+ Curator: [Name]
232
+ Evaluation Date: [Date]
233
+ Analyst: [Name]
234
+
235
+ OVERALL SCORE: [X]/10 - [STRONG/MODERATE/WEAK/NOT RECOMMENDED]
236
+
237
+ KEY FINDINGS
238
+ ------------
239
+ Strengths:
240
+ + [Strength 1]
241
+ + [Strength 2]
242
+
243
+ Concerns:
244
+ - [Concern 1]
245
+ - [Concern 2]
246
+
247
+ RED FLAGS
248
+ ---------
249
+ [List any red flags or "None identified"]
250
+
251
+ RECOMMENDATION
252
+ --------------
253
+ [ ] PROCEED - Strong partnership candidate
254
+ [ ] PROCEED WITH CONDITIONS - Address specific concerns
255
+ [ ] MONITOR - Not ready, reassess in [timeframe]
256
+ [ ] DECLINE - Does not meet partnership criteria
257
+
258
+ CONDITIONS/NEXT STEPS
259
+ ---------------------
260
+ 1. [Action item 1]
261
+ 2. [Action item 2]
262
+ ```
263
+
264
+ ### Decision Matrix
265
+
266
+ | Score Range | Recommendation |
267
+ |-------------|----------------|
268
+ | 8.0-10.0 | Strong candidate, proceed |
269
+ | 6.5-7.9 | Good candidate, minor conditions |
270
+ | 5.0-6.4 | Moderate candidate, significant conditions |
271
+ | 3.5-4.9 | Weak candidate, consider monitoring |
272
+ | <3.5 | Not recommended at this time |
273
+
274
+ ## Communication Guidelines
275
+
276
+ ### Internal Reporting Standards
277
+ - Use objective, data-driven language
278
+ - Cite specific metrics and timeframes
279
+ - Document all sources of information
280
+ - Flag any data limitations or gaps
281
+ - Provide clear, actionable recommendations