@optima-chat/optima-agent 0.9.8 → 0.9.9

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 (171) hide show
  1. package/.claude/settings.local.json +166 -0
  2. package/.claude/skills/.kb-skills-managed.json +9 -9
  3. package/.claude/skills/ads/SKILL.md +244 -244
  4. package/.claude/skills/ads/template/campaign/CREATIVES.md +18 -18
  5. package/.claude/skills/ads/template/campaign/NOTES.md +10 -10
  6. package/.claude/skills/ads/template/campaign/STRATEGY.md +29 -29
  7. package/.claude/skills/ads/template/user/ADS.md +29 -29
  8. package/.claude/skills/ads/template/user/LEARNINGS.md +15 -15
  9. package/.claude/skills/ads/template/user/PROGRESS.md +20 -20
  10. package/.claude/skills/ads/template/user/README.md +25 -25
  11. package/.claude/skills/ads/template/user/assets/.gitignore +2 -2
  12. package/.claude/skills/bi/SKILL.md +131 -131
  13. package/.claude/skills/browser/SKILL.md +201 -201
  14. package/.claude/skills/channels/SKILL.md +188 -188
  15. package/.claude/skills/collection/SKILL.md +88 -88
  16. package/.claude/skills/douyin/SKILL.md +408 -408
  17. package/.claude/skills/ffmpeg/SKILL.md +164 -164
  18. package/.claude/skills/gen/SKILL.md +279 -279
  19. package/.claude/skills/growth/SKILL.md +90 -90
  20. package/.claude/skills/growth/template/ACCOUNTS.md +14 -14
  21. package/.claude/skills/growth/template/CALENDAR.md +7 -7
  22. package/.claude/skills/growth/template/COMMENTS.md +7 -7
  23. package/.claude/skills/growth/template/GROWTH.md +37 -37
  24. package/.claude/skills/growth/template/PROGRESS.md +4 -4
  25. package/.claude/skills/growth/template/README.md +20 -20
  26. package/.claude/skills/growth/template/TOPICS.md +7 -7
  27. package/.claude/skills/homepage/SKILL.md +177 -177
  28. package/.claude/skills/i18n/SKILL.md +517 -517
  29. package/.claude/skills/ingesting-sources/SKILL.md +94 -94
  30. package/.claude/skills/initializing-kb/SKILL.md +117 -117
  31. package/.claude/skills/instagram/SKILL.md +321 -321
  32. package/.claude/skills/inventory/SKILL.md +328 -328
  33. package/.claude/skills/kol-outreach/SKILL.md +232 -232
  34. package/.claude/skills/kol-outreach/template/campaign/CONFIG.md +60 -60
  35. package/.claude/skills/kol-outreach/template/campaign/KOLS.md +6 -6
  36. package/.claude/skills/kol-outreach/template/campaign/PROGRESS.md +3 -3
  37. package/.claude/skills/kol-outreach/template/campaign/TEMPLATES.md +88 -88
  38. package/.claude/skills/kol-outreach/template/merchant/BRAND.md +36 -36
  39. package/.claude/skills/kol-outreach/template/merchant/CAMPAIGNS.md +6 -6
  40. package/.claude/skills/kol-outreach/template/merchant/MERCHANT_LIMITS.md +16 -16
  41. package/.claude/skills/kol-outreach/template/merchant/PROGRESS.md +4 -4
  42. package/.claude/skills/kol-outreach/template/merchant/README.md +20 -20
  43. package/.claude/skills/linting-the-wiki/SKILL.md +68 -68
  44. package/.claude/skills/logistics/SKILL.md +180 -180
  45. package/.claude/skills/markdown-pdf/SKILL.md +72 -72
  46. package/.claude/skills/merchant/SKILL.md +110 -110
  47. package/.claude/skills/multigrid-poster/SKILL.md +192 -192
  48. package/.claude/skills/multigrid-poster/layouts/2x2.json +34 -34
  49. package/.claude/skills/multigrid-poster/layouts/3x3.json +43 -43
  50. package/.claude/skills/multigrid-poster/scripts/compose.py +116 -116
  51. package/.claude/skills/order/SKILL.md +452 -452
  52. package/.claude/skills/product/SKILL.md +379 -379
  53. package/.claude/skills/product-page/SKILL.md +106 -106
  54. package/.claude/skills/querying-the-wiki/SKILL.md +59 -59
  55. package/.claude/skills/reddit/SKILL.md +277 -277
  56. package/.claude/skills/review/SKILL.md +321 -321
  57. package/.claude/skills/scout/SKILL.md +575 -462
  58. package/.claude/skills/sentinel/SKILL.md +281 -281
  59. package/.claude/skills/shein/SKILL.md +246 -246
  60. package/.claude/skills/shipping/SKILL.md +200 -200
  61. package/.claude/skills/shop-content/SKILL.md +101 -101
  62. package/.claude/skills/shopify/SKILL.md +282 -282
  63. package/.claude/skills/skillify/SKILL.md +114 -114
  64. package/.claude/skills/taobao/SKILL.md +238 -238
  65. package/.claude/skills/tiktok/SKILL.md +381 -381
  66. package/.claude/skills/twitter/SKILL.md +302 -302
  67. package/.claude/skills/updating-related-pages/SKILL.md +65 -65
  68. package/.claude/skills/video-edit/SKILL.md +143 -143
  69. package/.claude/skills/video-gen/SKILL.md +548 -548
  70. package/.claude/skills/video-gen/templates/INDEX.md +78 -78
  71. package/.claude/skills/video-gen/templates/before-after-beauty.md +183 -183
  72. package/.claude/skills/video-gen/templates/drama-fmcg.md +183 -183
  73. package/.claude/skills/video-gen/templates/kol-reaction-food.md +193 -193
  74. package/.claude/skills/video-gen/templates/multi-point-apparel.md +185 -185
  75. package/.claude/skills/video-gen/templates/pain-solution-home.md +184 -184
  76. package/.claude/skills/video-gen/templates/pdp-360-showcase.md +189 -189
  77. package/.claude/skills/video-gen/templates/pdp-feature-highlight.md +182 -182
  78. package/.claude/skills/video-gen/templates/scene-digital.md +183 -183
  79. package/.claude/skills/wechat/SKILL.md +174 -174
  80. package/.claude/skills/xhs/SKILL.md +170 -170
  81. package/README.md +276 -276
  82. package/dist/bin/bi-cli.js +0 -0
  83. package/dist/bin/browser-cli.js +0 -0
  84. package/dist/bin/comfy.d.ts +3 -0
  85. package/dist/bin/comfy.d.ts.map +1 -0
  86. package/dist/bin/comfy.js +3 -0
  87. package/dist/bin/comfy.js.map +1 -0
  88. package/dist/bin/commerce.js +0 -0
  89. package/dist/bin/gen.js +0 -0
  90. package/dist/bin/google-ads.js +0 -0
  91. package/dist/bin/growth.d.ts +3 -0
  92. package/dist/bin/growth.d.ts.map +1 -0
  93. package/dist/bin/growth.js +3 -0
  94. package/dist/bin/growth.js.map +1 -0
  95. package/dist/bin/logistics.js +0 -0
  96. package/dist/bin/optima.js +26 -26
  97. package/dist/bin/scout.js +0 -0
  98. package/dist/bin/sentinel.js +0 -0
  99. package/dist/bin/serve.js +23 -23
  100. package/dist/bin/shopify.js +0 -0
  101. package/dist/src/agent.js +4 -4
  102. package/dist/src/hooks-loader.d.ts +6 -0
  103. package/dist/src/hooks-loader.d.ts.map +1 -0
  104. package/dist/src/hooks-loader.js +215 -0
  105. package/dist/src/hooks-loader.js.map +1 -0
  106. package/dist/src/system-prompt.d.ts.map +1 -1
  107. package/dist/src/system-prompt.js +173 -169
  108. package/dist/src/system-prompt.js.map +1 -1
  109. package/dist/src/tools/memory.js +10 -10
  110. package/dist/src/ui/App.d.ts +6 -0
  111. package/dist/src/ui/App.d.ts.map +1 -0
  112. package/dist/src/ui/App.js +164 -0
  113. package/dist/src/ui/App.js.map +1 -0
  114. package/dist/src/ui/components/Composer.d.ts +10 -0
  115. package/dist/src/ui/components/Composer.d.ts.map +1 -0
  116. package/dist/src/ui/components/Composer.js +13 -0
  117. package/dist/src/ui/components/Composer.js.map +1 -0
  118. package/dist/src/ui/components/Header.d.ts +7 -0
  119. package/dist/src/ui/components/Header.d.ts.map +1 -0
  120. package/dist/src/ui/components/Header.js +7 -0
  121. package/dist/src/ui/components/Header.js.map +1 -0
  122. package/dist/src/ui/components/Message.d.ts +12 -0
  123. package/dist/src/ui/components/Message.d.ts.map +1 -0
  124. package/dist/src/ui/components/Message.js +21 -0
  125. package/dist/src/ui/components/Message.js.map +1 -0
  126. package/dist/src/ui/components/MessageList.d.ts +9 -0
  127. package/dist/src/ui/components/MessageList.d.ts.map +1 -0
  128. package/dist/src/ui/components/MessageList.js +18 -0
  129. package/dist/src/ui/components/MessageList.js.map +1 -0
  130. package/dist/src/ui/components/Spinner.d.ts +6 -0
  131. package/dist/src/ui/components/Spinner.d.ts.map +1 -0
  132. package/dist/src/ui/components/Spinner.js +7 -0
  133. package/dist/src/ui/components/Spinner.js.map +1 -0
  134. package/dist/src/ui/components/StatusBar.d.ts +11 -0
  135. package/dist/src/ui/components/StatusBar.d.ts.map +1 -0
  136. package/dist/src/ui/components/StatusBar.js +7 -0
  137. package/dist/src/ui/components/StatusBar.js.map +1 -0
  138. package/dist/src/ui/components/index.d.ts +7 -0
  139. package/dist/src/ui/components/index.d.ts.map +1 -0
  140. package/dist/src/ui/components/index.js +7 -0
  141. package/dist/src/ui/components/index.js.map +1 -0
  142. package/dist/src/ui/headless.js +7 -7
  143. package/dist/src/validation/error-formatter.d.ts +21 -0
  144. package/dist/src/validation/error-formatter.d.ts.map +1 -0
  145. package/dist/src/validation/error-formatter.js +98 -0
  146. package/dist/src/validation/error-formatter.js.map +1 -0
  147. package/dist/src/validation/index.d.ts +10 -0
  148. package/dist/src/validation/index.d.ts.map +1 -0
  149. package/dist/src/validation/index.js +10 -0
  150. package/dist/src/validation/index.js.map +1 -0
  151. package/dist/src/validation/json-validator.d.ts +25 -0
  152. package/dist/src/validation/json-validator.d.ts.map +1 -0
  153. package/dist/src/validation/json-validator.js +173 -0
  154. package/dist/src/validation/json-validator.js.map +1 -0
  155. package/dist/src/validation/schema.d.ts +353 -0
  156. package/dist/src/validation/schema.d.ts.map +1 -0
  157. package/dist/src/validation/schema.js +57 -0
  158. package/dist/src/validation/schema.js.map +1 -0
  159. package/dist/src/validation/suggestions.d.ts +25 -0
  160. package/dist/src/validation/suggestions.d.ts.map +1 -0
  161. package/dist/src/validation/suggestions.js +144 -0
  162. package/dist/src/validation/suggestions.js.map +1 -0
  163. package/dist/src/validation/types.d.ts +40 -0
  164. package/dist/src/validation/types.d.ts.map +1 -0
  165. package/dist/src/validation/types.js +5 -0
  166. package/dist/src/validation/types.js.map +1 -0
  167. package/dist/src/validation/yaml-validator.d.ts +25 -0
  168. package/dist/src/validation/yaml-validator.d.ts.map +1 -0
  169. package/dist/src/validation/yaml-validator.js +177 -0
  170. package/dist/src/validation/yaml-validator.js.map +1 -0
  171. package/package.json +79 -79
@@ -1,114 +1,114 @@
1
- ---
2
- name: skillify
3
- description: "Create custom reusable skills from conversation patterns or described workflows"
4
- when_to_use: "Use when user wants to create a skill, automate a workflow, save a repeatable process, or says 'make this a skill'"
5
- ---
6
-
7
- # Skillify — Create Custom Skills
8
-
9
- ## Goal
10
- Help the user create a reusable skill (SKILL.md file) and register it for immediate use.
11
-
12
- ## Step 1: Understand Intent
13
-
14
- Ask the user:
15
- - "What do you want to automate?"
16
- - "Is this based on something we just did, or a new workflow?"
17
-
18
- If based on conversation history, review the recent tool calls to extract the pattern.
19
-
20
- ## Step 2: Interview (3-5 questions)
21
-
22
- Use AskUserQuestion (if available) or direct questions:
23
-
24
- 1. **Name**: "What should this skill be called?"
25
- - Generate slug: lowercase, hyphens only, letters/numbers, start with letter, max 50 chars
26
- - Examples: "Competitor Analysis" → `competitor-analysis`, "竞品分析" → `competitor-analysis`
27
- - **Always use English for slug, even if name is in Chinese**
28
-
29
- 2. **Trigger**: "When should this skill activate? Give me example phrases."
30
-
31
- 3. **Arguments**: "What inputs does it need each time?" (e.g., keyword, region, URL)
32
-
33
- 4. **Config**: "Does it need any API keys or credentials?" (most skills don't)
34
-
35
- 5. **Output**: "Should it produce a file, display results, or both?"
36
-
37
- ## Step 3: Generate SKILL.md
38
-
39
- Create the file following this template exactly:
40
-
41
- ```
42
- ---
43
- name: {slug}
44
- description: "{one-line description in the user's language}"
45
- when_to_use: "{trigger phrases as a sentence}"
46
- ---
47
-
48
- # {Display Name}
49
-
50
- ## Goal
51
- {Clear statement of what this skill accomplishes}
52
-
53
- ## Inputs
54
- - `$arg1`: {description}
55
- - `$arg2`: {description}
56
-
57
- ## Steps
58
-
59
- ### 1. {First Step}
60
- {Specific instructions — use exact CLI commands where possible}
61
-
62
- **Success criteria**: {How to verify this step succeeded}
63
-
64
- ### 2. {Second Step}
65
- ...
66
-
67
- ### N. {Final Step — Output}
68
- {Generate report / display results / write file}
69
-
70
- **Success criteria**: {Final deliverable verification}
71
- ```
72
-
73
- **Rules:**
74
- - Every step MUST have **Success criteria**
75
- - Use `$arg_name` for referencing inputs (this is a prompt convention, not a template system)
76
- - Be specific: include exact CLI commands (e.g., `scout search "$keyword"`)
77
- - If a step uses a known skill's CLI, include the full command syntax
78
- - Keep total content under 100KB
79
- - Frontmatter: only use `name`, `description`, `when_to_use` (other fields are for future use)
80
-
81
- ## Step 4: Preview & Confirm
82
-
83
- Show the complete SKILL.md to the user:
84
-
85
- "Here's your new skill. Review it and let me know if you want changes:"
86
-
87
- Display the full content. Wait for confirmation. If changes requested, modify and show again.
88
-
89
- ## Step 5: Save
90
-
91
- On confirmation:
92
-
93
- 1. Create directory and write file:
94
- ```bash
95
- mkdir -p /home/aiuser/.claude/skills/{slug}
96
- ```
97
- Then use Write tool: `/home/aiuser/.claude/skills/{slug}/SKILL.md`
98
-
99
- 2. Register with registry:
100
- ```bash
101
- optima-skills-cli skill create --slug "{slug}" --name "{name}" --description "{description}" --file "/home/aiuser/.claude/skills/{slug}/SKILL.md"
102
- ```
103
-
104
- 3. Parse the JSON output. If it contains an `id` field, creation succeeded.
105
-
106
- 4. Tell the user: "Skill '{name}' created! Try it by saying: '{trigger phrase}'"
107
-
108
- ## Step 6: Error Handling
109
-
110
- - **CLI outputs `TOKEN_EXPIRED`**: "注册失败(token 过期),但 skill 在当前会话可用。刷新页面后重试。"
111
- - **CLI outputs error with `slug already exists`**: Suggest alternative slug, retry with new slug.
112
- - **CLI outputs other error**: "Skill 保存到本地成功,但注册到云端失败。当前会话可正常使用。"
113
- - **Write tool fails**: Inform user and abort.
114
- - **CLI hangs (10s timeout)**: CLI will auto-abort. Tell user: "注册超时,但 skill 在当前会话可用。"
1
+ ---
2
+ name: skillify
3
+ description: "Create custom reusable skills from conversation patterns or described workflows"
4
+ when_to_use: "Use when user wants to create a skill, automate a workflow, save a repeatable process, or says 'make this a skill'"
5
+ ---
6
+
7
+ # Skillify — Create Custom Skills
8
+
9
+ ## Goal
10
+ Help the user create a reusable skill (SKILL.md file) and register it for immediate use.
11
+
12
+ ## Step 1: Understand Intent
13
+
14
+ Ask the user:
15
+ - "What do you want to automate?"
16
+ - "Is this based on something we just did, or a new workflow?"
17
+
18
+ If based on conversation history, review the recent tool calls to extract the pattern.
19
+
20
+ ## Step 2: Interview (3-5 questions)
21
+
22
+ Use AskUserQuestion (if available) or direct questions:
23
+
24
+ 1. **Name**: "What should this skill be called?"
25
+ - Generate slug: lowercase, hyphens only, letters/numbers, start with letter, max 50 chars
26
+ - Examples: "Competitor Analysis" → `competitor-analysis`, "竞品分析" → `competitor-analysis`
27
+ - **Always use English for slug, even if name is in Chinese**
28
+
29
+ 2. **Trigger**: "When should this skill activate? Give me example phrases."
30
+
31
+ 3. **Arguments**: "What inputs does it need each time?" (e.g., keyword, region, URL)
32
+
33
+ 4. **Config**: "Does it need any API keys or credentials?" (most skills don't)
34
+
35
+ 5. **Output**: "Should it produce a file, display results, or both?"
36
+
37
+ ## Step 3: Generate SKILL.md
38
+
39
+ Create the file following this template exactly:
40
+
41
+ ```
42
+ ---
43
+ name: {slug}
44
+ description: "{one-line description in the user's language}"
45
+ when_to_use: "{trigger phrases as a sentence}"
46
+ ---
47
+
48
+ # {Display Name}
49
+
50
+ ## Goal
51
+ {Clear statement of what this skill accomplishes}
52
+
53
+ ## Inputs
54
+ - `$arg1`: {description}
55
+ - `$arg2`: {description}
56
+
57
+ ## Steps
58
+
59
+ ### 1. {First Step}
60
+ {Specific instructions — use exact CLI commands where possible}
61
+
62
+ **Success criteria**: {How to verify this step succeeded}
63
+
64
+ ### 2. {Second Step}
65
+ ...
66
+
67
+ ### N. {Final Step — Output}
68
+ {Generate report / display results / write file}
69
+
70
+ **Success criteria**: {Final deliverable verification}
71
+ ```
72
+
73
+ **Rules:**
74
+ - Every step MUST have **Success criteria**
75
+ - Use `$arg_name` for referencing inputs (this is a prompt convention, not a template system)
76
+ - Be specific: include exact CLI commands (e.g., `scout search "$keyword"`)
77
+ - If a step uses a known skill's CLI, include the full command syntax
78
+ - Keep total content under 100KB
79
+ - Frontmatter: only use `name`, `description`, `when_to_use` (other fields are for future use)
80
+
81
+ ## Step 4: Preview & Confirm
82
+
83
+ Show the complete SKILL.md to the user:
84
+
85
+ "Here's your new skill. Review it and let me know if you want changes:"
86
+
87
+ Display the full content. Wait for confirmation. If changes requested, modify and show again.
88
+
89
+ ## Step 5: Save
90
+
91
+ On confirmation:
92
+
93
+ 1. Create directory and write file:
94
+ ```bash
95
+ mkdir -p /home/aiuser/.claude/skills/{slug}
96
+ ```
97
+ Then use Write tool: `/home/aiuser/.claude/skills/{slug}/SKILL.md`
98
+
99
+ 2. Register with registry:
100
+ ```bash
101
+ optima-skills-cli skill create --slug "{slug}" --name "{name}" --description "{description}" --file "/home/aiuser/.claude/skills/{slug}/SKILL.md"
102
+ ```
103
+
104
+ 3. Parse the JSON output. If it contains an `id` field, creation succeeded.
105
+
106
+ 4. Tell the user: "Skill '{name}' created! Try it by saying: '{trigger phrase}'"
107
+
108
+ ## Step 6: Error Handling
109
+
110
+ - **CLI outputs `TOKEN_EXPIRED`**: "注册失败(token 过期),但 skill 在当前会话可用。刷新页面后重试。"
111
+ - **CLI outputs error with `slug already exists`**: Suggest alternative slug, retry with new slug.
112
+ - **CLI outputs other error**: "Skill 保存到本地成功,但注册到云端失败。当前会话可正常使用。"
113
+ - **Write tool fails**: Inform user and abort.
114
+ - **CLI hangs (10s timeout)**: CLI will auto-abort. Tell user: "注册超时,但 skill 在当前会话可用。"