@julioventura/opensquad 0.1.17

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 (247) hide show
  1. package/README.md +433 -0
  2. package/_opensquad/config/playwright.config.json +11 -0
  3. package/_opensquad/core/architect.agent.yaml +112 -0
  4. package/_opensquad/core/best-practices/_catalog.yaml +126 -0
  5. package/_opensquad/core/best-practices/blog-post.md +132 -0
  6. package/_opensquad/core/best-practices/blog-seo.md +127 -0
  7. package/_opensquad/core/best-practices/brand-resolution-checklist.md +172 -0
  8. package/_opensquad/core/best-practices/copywriting.md +441 -0
  9. package/_opensquad/core/best-practices/data-analysis.md +401 -0
  10. package/_opensquad/core/best-practices/email-newsletter.md +118 -0
  11. package/_opensquad/core/best-practices/email-sales.md +110 -0
  12. package/_opensquad/core/best-practices/image-design.md +348 -0
  13. package/_opensquad/core/best-practices/instagram-feed.md +235 -0
  14. package/_opensquad/core/best-practices/instagram-reels.md +112 -0
  15. package/_opensquad/core/best-practices/instagram-stories.md +107 -0
  16. package/_opensquad/core/best-practices/linkedin-article.md +116 -0
  17. package/_opensquad/core/best-practices/linkedin-post.md +121 -0
  18. package/_opensquad/core/best-practices/researching.md +349 -0
  19. package/_opensquad/core/best-practices/review.md +269 -0
  20. package/_opensquad/core/best-practices/run-recovery.md +61 -0
  21. package/_opensquad/core/best-practices/social-networks-publishing.md +327 -0
  22. package/_opensquad/core/best-practices/squad-creation-checklist.md +32 -0
  23. package/_opensquad/core/best-practices/strategist.md +344 -0
  24. package/_opensquad/core/best-practices/technical-writing.md +365 -0
  25. package/_opensquad/core/best-practices/twitter-post.md +105 -0
  26. package/_opensquad/core/best-practices/twitter-thread.md +122 -0
  27. package/_opensquad/core/best-practices/whatsapp-broadcast.md +107 -0
  28. package/_opensquad/core/best-practices/youtube-script.md +122 -0
  29. package/_opensquad/core/best-practices/youtube-shorts.md +112 -0
  30. package/_opensquad/core/defaults/youtube-video-assembly.json +84 -0
  31. package/_opensquad/core/prompts/build.prompt.md +613 -0
  32. package/_opensquad/core/prompts/design.prompt.md +606 -0
  33. package/_opensquad/core/prompts/discovery.prompt.md +377 -0
  34. package/_opensquad/core/prompts/sherlock-instagram.md +123 -0
  35. package/_opensquad/core/prompts/sherlock-linkedin.md +73 -0
  36. package/_opensquad/core/prompts/sherlock-shared.md +684 -0
  37. package/_opensquad/core/prompts/sherlock-twitter.md +78 -0
  38. package/_opensquad/core/prompts/sherlock-youtube.md +85 -0
  39. package/_opensquad/core/runner.pipeline.md +743 -0
  40. package/_opensquad/core/skills.engine.md +384 -0
  41. package/bin/opensquad.js +108 -0
  42. package/dashboard/index.html +15 -0
  43. package/dashboard/package-lock.json +1964 -0
  44. package/dashboard/package.json +28 -0
  45. package/dashboard/public/assets/avatars/Female1_1wave.png +0 -0
  46. package/dashboard/public/assets/avatars/Female1_2wave.png +0 -0
  47. package/dashboard/public/assets/avatars/Female1_blink.png +0 -0
  48. package/dashboard/public/assets/avatars/Female1_talk.png +0 -0
  49. package/dashboard/public/assets/avatars/Female2_1wave.png +0 -0
  50. package/dashboard/public/assets/avatars/Female2_2wave.png +0 -0
  51. package/dashboard/public/assets/avatars/Female2_blink.png +0 -0
  52. package/dashboard/public/assets/avatars/Female2_talk.png +0 -0
  53. package/dashboard/public/assets/avatars/Female3_blink.png +0 -0
  54. package/dashboard/public/assets/avatars/Female3_talk.png +0 -0
  55. package/dashboard/public/assets/avatars/Female3_wave.png +0 -0
  56. package/dashboard/public/assets/avatars/Female4_blink.png +0 -0
  57. package/dashboard/public/assets/avatars/Female4_talk.png +0 -0
  58. package/dashboard/public/assets/avatars/Female4_wave.png +0 -0
  59. package/dashboard/public/assets/avatars/Female5_blink.png +0 -0
  60. package/dashboard/public/assets/avatars/Female5_talk.png +0 -0
  61. package/dashboard/public/assets/avatars/Female5_wave.png +0 -0
  62. package/dashboard/public/assets/avatars/Female6_blink.png +0 -0
  63. package/dashboard/public/assets/avatars/Female6_talk.png +0 -0
  64. package/dashboard/public/assets/avatars/Female6_wave.png +0 -0
  65. package/dashboard/public/assets/avatars/Male1_1wave.png +0 -0
  66. package/dashboard/public/assets/avatars/Male1_2wave.png +0 -0
  67. package/dashboard/public/assets/avatars/Male1_blink.png +0 -0
  68. package/dashboard/public/assets/avatars/Male1_talk.png +0 -0
  69. package/dashboard/public/assets/avatars/Male2_1wave.png +0 -0
  70. package/dashboard/public/assets/avatars/Male2_2wave.png +0 -0
  71. package/dashboard/public/assets/avatars/Male2_blink.png +0 -0
  72. package/dashboard/public/assets/avatars/Male2_talk.png +0 -0
  73. package/dashboard/public/assets/avatars/Male3_blink.png +0 -0
  74. package/dashboard/public/assets/avatars/Male3_talk.png +0 -0
  75. package/dashboard/public/assets/avatars/Male3_wave.png +0 -0
  76. package/dashboard/public/assets/avatars/Male4_blink.png +0 -0
  77. package/dashboard/public/assets/avatars/Male4_talk.png +0 -0
  78. package/dashboard/public/assets/avatars/Male4_wave.png +0 -0
  79. package/dashboard/public/assets/desks/desktop_set_black_down.png +0 -0
  80. package/dashboard/public/assets/desks/desktop_set_black_down_coding-1.png +0 -0
  81. package/dashboard/public/assets/desks/desktop_set_black_down_coding.png +0 -0
  82. package/dashboard/public/assets/desks/desktop_set_black_up.png +0 -0
  83. package/dashboard/public/assets/desks/desktop_set_white_down.png +0 -0
  84. package/dashboard/public/assets/desks/desktop_set_white_down_coding-1.png +0 -0
  85. package/dashboard/public/assets/desks/desktop_set_white_down_coding.png +0 -0
  86. package/dashboard/public/assets/desks/desktop_set_white_up.png +0 -0
  87. package/dashboard/public/assets/furniture/armchair_tan.png +0 -0
  88. package/dashboard/public/assets/furniture/armchair_tan_down.png +0 -0
  89. package/dashboard/public/assets/furniture/backpack_blue.png +0 -0
  90. package/dashboard/public/assets/furniture/backpack_red.png +0 -0
  91. package/dashboard/public/assets/furniture/blinds.png +0 -0
  92. package/dashboard/public/assets/furniture/blinds_large_closed_white.png +0 -0
  93. package/dashboard/public/assets/furniture/bookshelf.png +0 -0
  94. package/dashboard/public/assets/furniture/bookshelf_purple_tall.png +0 -0
  95. package/dashboard/public/assets/furniture/bulletin_board.png +0 -0
  96. package/dashboard/public/assets/furniture/clock.png +0 -0
  97. package/dashboard/public/assets/furniture/coffee_mug.png +0 -0
  98. package/dashboard/public/assets/furniture/coffee_mug_blue.png +0 -0
  99. package/dashboard/public/assets/furniture/coffee_table.png +0 -0
  100. package/dashboard/public/assets/furniture/coffeepot_right.png +0 -0
  101. package/dashboard/public/assets/furniture/coffeetable_black_horizontal.png +0 -0
  102. package/dashboard/public/assets/furniture/couch.png +0 -0
  103. package/dashboard/public/assets/furniture/couch_tan_down.png +0 -0
  104. package/dashboard/public/assets/furniture/cushion_blue.png +0 -0
  105. package/dashboard/public/assets/furniture/cushion_tan.png +0 -0
  106. package/dashboard/public/assets/furniture/desk_wood.png +0 -0
  107. package/dashboard/public/assets/furniture/fancy_rug.png +0 -0
  108. package/dashboard/public/assets/furniture/fancy_rug_wide.png +0 -0
  109. package/dashboard/public/assets/furniture/flowers1.png +0 -0
  110. package/dashboard/public/assets/furniture/flowers2.png +0 -0
  111. package/dashboard/public/assets/furniture/lamp_tan.png +0 -0
  112. package/dashboard/public/assets/furniture/lantern.png +0 -0
  113. package/dashboard/public/assets/furniture/monstera.png +0 -0
  114. package/dashboard/public/assets/furniture/monstera_small.png +0 -0
  115. package/dashboard/public/assets/furniture/picture_frame.png +0 -0
  116. package/dashboard/public/assets/furniture/plant1.png +0 -0
  117. package/dashboard/public/assets/furniture/plant2.png +0 -0
  118. package/dashboard/public/assets/furniture/plant3.png +0 -0
  119. package/dashboard/public/assets/furniture/plant_poof.png +0 -0
  120. package/dashboard/public/assets/furniture/plant_spindly.png +0 -0
  121. package/dashboard/public/assets/furniture/poster_blue.png +0 -0
  122. package/dashboard/public/assets/furniture/rug.png +0 -0
  123. package/dashboard/public/assets/furniture/succulent_blue.png +0 -0
  124. package/dashboard/public/assets/furniture/succulent_green.png +0 -0
  125. package/dashboard/public/assets/furniture/treasurechest_closed_gold.png +0 -0
  126. package/dashboard/public/assets/furniture/water_cooler_better.png +0 -0
  127. package/dashboard/public/assets/furniture/whiteboard.png +0 -0
  128. package/dashboard/public/assets/furniture/whiteboard_stand_graph.png +0 -0
  129. package/dashboard/public/assets/furniture/window_blinds_open.png +0 -0
  130. package/dashboard/src/App.tsx +46 -0
  131. package/dashboard/src/components/RunDashboardButton.tsx +92 -0
  132. package/dashboard/src/components/SquadCard.tsx +49 -0
  133. package/dashboard/src/components/SquadSelector.tsx +67 -0
  134. package/dashboard/src/components/StatusBadge.tsx +32 -0
  135. package/dashboard/src/components/StatusBar.tsx +116 -0
  136. package/dashboard/src/hooks/useSquadSocket.ts +135 -0
  137. package/dashboard/src/lib/formatTime.ts +16 -0
  138. package/dashboard/src/lib/normalizeState.ts +25 -0
  139. package/dashboard/src/main.tsx +10 -0
  140. package/dashboard/src/office/AgentSprite.ts +241 -0
  141. package/dashboard/src/office/OfficeScene.ts +153 -0
  142. package/dashboard/src/office/PhaserGame.tsx +80 -0
  143. package/dashboard/src/office/RoomBuilder.ts +190 -0
  144. package/dashboard/src/office/assetKeys.ts +150 -0
  145. package/dashboard/src/office/palette.ts +32 -0
  146. package/dashboard/src/plugin/squadWatcher.ts +397 -0
  147. package/dashboard/src/store/useSquadStore.ts +56 -0
  148. package/dashboard/src/styles/globals.css +36 -0
  149. package/dashboard/src/types/state.ts +63 -0
  150. package/dashboard/src/vite-env.d.ts +1 -0
  151. package/dashboard/tsconfig.json +24 -0
  152. package/dashboard/vite.config.ts +13 -0
  153. package/package.json +59 -0
  154. package/public/sfx/slide-transition-sfx.mp3 +0 -0
  155. package/skills/README.md +84 -0
  156. package/skills/apify/SKILL.md +55 -0
  157. package/skills/blotato/SKILL.md +63 -0
  158. package/skills/canva/SKILL.md +60 -0
  159. package/skills/higgsfield/SKILL.md +147 -0
  160. package/skills/image-ai-generator/SKILL.md +124 -0
  161. package/skills/image-ai-generator/scripts/generate.py +175 -0
  162. package/skills/image-creator/SKILL.md +166 -0
  163. package/skills/image-creator/editorial-slide-template.js +645 -0
  164. package/skills/image-fetcher/SKILL.md +91 -0
  165. package/skills/imgbb-uploader/SKILL.md +73 -0
  166. package/skills/imgbb-uploader/scripts/upload.js +125 -0
  167. package/skills/instagram-publisher/README.md +36 -0
  168. package/skills/instagram-publisher/SKILL.md +231 -0
  169. package/skills/instagram-publisher/scripts/publish-playwright.js +418 -0
  170. package/skills/instagram-publisher/scripts/publish.js +521 -0
  171. package/skills/opensquad-agent-creator/SKILL.md +192 -0
  172. package/skills/opensquad-skill-creator/SKILL.md +420 -0
  173. package/skills/opensquad-skill-creator/agents/analyzer.md +274 -0
  174. package/skills/opensquad-skill-creator/agents/comparator.md +202 -0
  175. package/skills/opensquad-skill-creator/agents/grader.md +223 -0
  176. package/skills/opensquad-skill-creator/assets/eval_review.html +146 -0
  177. package/skills/opensquad-skill-creator/eval-viewer/generate_review.py +471 -0
  178. package/skills/opensquad-skill-creator/eval-viewer/viewer.html +1325 -0
  179. package/skills/opensquad-skill-creator/references/schemas.md +430 -0
  180. package/skills/opensquad-skill-creator/references/skill-format.md +235 -0
  181. package/skills/opensquad-skill-creator/scripts/__init__.py +0 -0
  182. package/skills/opensquad-skill-creator/scripts/aggregate_benchmark.py +401 -0
  183. package/skills/opensquad-skill-creator/scripts/quick_validate.py +103 -0
  184. package/skills/opensquad-skill-creator/scripts/run_eval.py +310 -0
  185. package/skills/opensquad-skill-creator/scripts/utils.py +47 -0
  186. package/skills/pdf-extractor/SKILL.md +57 -0
  187. package/skills/pdf-extractor/scripts/extract.py +82 -0
  188. package/skills/resend/SKILL.md +80 -0
  189. package/skills/run-dashboard/README.md +93 -0
  190. package/skills/run-dashboard/SKILL.md +173 -0
  191. package/skills/run-dashboard/scripts/finalize-state.js +273 -0
  192. package/skills/run-dashboard/scripts/generate.js +1296 -0
  193. package/skills/run-dashboard/scripts/serve.js +135 -0
  194. package/skills/run-dashboard/templates/run-dashboard-simple.template.html +191 -0
  195. package/skills/run-dashboard/templates/run-dashboard.template.html +1164 -0
  196. package/skills/smtp-sender/SKILL.md +88 -0
  197. package/skills/smtp-sender/scripts/send.js +478 -0
  198. package/skills/template-designer/SKILL.md +201 -0
  199. package/skills/template-designer/base-templates/model-a.html +27 -0
  200. package/skills/template-designer/base-templates/model-b.html +31 -0
  201. package/skills/template-designer/base-templates/model-c.html +42 -0
  202. package/skills/youtube-publisher/SKILL.md +232 -0
  203. package/skills/youtube-publisher/scripts/publish.js +2078 -0
  204. package/src/agents-cli.js +158 -0
  205. package/src/agents.js +134 -0
  206. package/src/i18n.js +48 -0
  207. package/src/init.js +442 -0
  208. package/src/locales/en.json +79 -0
  209. package/src/locales/es.json +78 -0
  210. package/src/locales/pt-BR.json +78 -0
  211. package/src/logger.js +38 -0
  212. package/src/prompt.js +46 -0
  213. package/src/readme/README.md +146 -0
  214. package/src/runs.js +318 -0
  215. package/src/skills-cli.js +157 -0
  216. package/src/skills.js +146 -0
  217. package/src/supabase-cli.js +584 -0
  218. package/src/update.js +169 -0
  219. package/templates/_opensquad/.opensquad-version +1 -0
  220. package/templates/_opensquad/_investigations/.gitkeep +0 -0
  221. package/templates/ide-templates/antigravity/.agent/rules/opensquad.md +68 -0
  222. package/templates/ide-templates/antigravity/.agent/workflows/opensquad.md +102 -0
  223. package/templates/ide-templates/claude-code/.claude/skills/opensquad/SKILL.md +182 -0
  224. package/templates/ide-templates/claude-code/.mcp.json +8 -0
  225. package/templates/ide-templates/claude-code/CLAUDE.md +57 -0
  226. package/templates/ide-templates/codex/.agents/skills/opensquad/SKILL.md +6 -0
  227. package/templates/ide-templates/codex/AGENTS.md +120 -0
  228. package/templates/ide-templates/cursor/.cursor/commands/opensquad.md +9 -0
  229. package/templates/ide-templates/cursor/.cursor/mcp.json +8 -0
  230. package/templates/ide-templates/cursor/.cursor/rules/opensquad.mdc +62 -0
  231. package/templates/ide-templates/cursor/.cursorignore +3 -0
  232. package/templates/ide-templates/gemini-cli/.gemini/settings.json +8 -0
  233. package/templates/ide-templates/gemini-cli/.gemini/skills/opensquad/SKILL.md +186 -0
  234. package/templates/ide-templates/gemini-cli/GEMINI.md +57 -0
  235. package/templates/ide-templates/opencode/.opencode/commands/opensquad.md +9 -0
  236. package/templates/ide-templates/opencode/AGENTS.md +120 -0
  237. package/templates/ide-templates/qwen-code/.qwen/settings.json +8 -0
  238. package/templates/ide-templates/qwen-code/.qwen/skills/opensquad/SKILL.md +182 -0
  239. package/templates/ide-templates/qwen-code/QWEN.md +57 -0
  240. package/templates/ide-templates/trae/.trae/mcp.json +8 -0
  241. package/templates/ide-templates/trae/.trae/rules/opensquad.md +64 -0
  242. package/templates/ide-templates/vscode-copilot/.github/copilot-instructions.md +59 -0
  243. package/templates/ide-templates/vscode-copilot/.github/prompts/opensquad.prompt.md +209 -0
  244. package/templates/ide-templates/vscode-copilot/.vscode/mcp.json +8 -0
  245. package/templates/ide-templates/vscode-copilot/.vscode/settings.json +3 -0
  246. package/templates/package.json +8 -0
  247. package/templates/squads/.gitkeep +0 -0
@@ -0,0 +1,84 @@
1
+ # Opensquad Skill Catalog
2
+
3
+ Browse available skills for your squads. Install any skill with:
4
+
5
+ ```bash
6
+ npx opensquad install <skill-name>
7
+ ```
8
+
9
+ ## Available Skills
10
+
11
+ | Skill | Type | Description | Env Vars | Install |
12
+ | ----- | ---- | ----------- | -------- | ------- |
13
+ | [apify](./apify/) | mcp | Web scraping and automation platform. Extract data from any website using pre-built Actors. | `APIFY_TOKEN` | `npx opensquad install apify` |
14
+ | [canva](./canva/) | mcp | Create, search, autofill, and export designs from Canva. | _(none -- OAuth)_ | `npx opensquad install canva` |
15
+ | [higgsfield](./higgsfield/) | mcp | Generate AI images and videos via Higgsfield. Text-to-image, image-to-video, cinematic scenes. | _(none -- OAuth)_ | `npx opensquad install higgsfield` |
16
+ | [instagram-publisher](./instagram-publisher/) | script | Publish Instagram carousel posts from local JPG/JPEG/PNG images via the Graph API. | `INSTAGRAM_ACCESS_TOKEN`, `INSTAGRAM_USER_ID` | `npx opensquad install instagram-publisher` |
17
+ | [youtube-publisher](./youtube-publisher/) | script | Publish simple YouTube videos from local JPG/JPEG/PNG image sequences by generating a 10-second-per-slide MP4 slideshow with the default repository soundtrack and uploading via the YouTube Data API. | `YOUTUBE_CLIENT_ID`, `YOUTUBE_CLIENT_SECRET`, `YOUTUBE_REFRESH_TOKEN`, `YOUTUBE_CHANNEL_ID` | `npx opensquad install youtube-publisher` |
18
+ | [blotato](./blotato/) | mcp | Publish and schedule posts across Instagram, LinkedIn, Twitter/X, TikTok, YouTube, and more. | `BLOTATO_API_KEY` | `npx opensquad install blotato` |
19
+ | [resend](./resend/) | mcp | Send emails through Resend — single send, batch, scheduling, attachments, and contact management. | `RESEND_API_KEY` | `npx opensquad install resend` |
20
+ | [smtp-sender](./smtp-sender/) | script | Send HTML plus plain-text emails through a native SMTP connection using local brand-scoped credentials from `.env`. | `SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PASS` | `npx opensquad install smtp-sender` |
21
+ | [imgbb-uploader](./imgbb-uploader/) | script | Upload local JPG/JPEG/PNG assets to imgBB and return public URLs for downstream HTML/email workflows. | `IMGBB_API_KEY` | `npx opensquad install imgbb-uploader` |
22
+ | [image-fetcher](./image-fetcher/) | hybrid | Acquire visual assets via web search, live screenshots (Playwright), and user-provided files. | _(none)_ | `npx opensquad install image-fetcher` |
23
+ | [image-creator](./image-creator/) | mcp | Render HTML/CSS into production-ready JPG or PNG images via Playwright. | _(none)_ | `npx opensquad install image-creator` |
24
+ | [image-ai-generator](./image-ai-generator/) | script | Generate AI images via Openrouter API. Test mode (cheap) and production mode (high-quality). Supports reference images for brand consistency. | `OPENROUTER_API_KEY` | `npx opensquad install image-ai-generator` |
25
+ | [pdf-extractor](./pdf-extractor/) | script | Download a PDF from a URL or read it from a local file, extract text content using Python's pypdf library, and output to a text file. | _(none)_ | `npx opensquad install pdf-extractor` |
26
+
27
+ ## Skill Types
28
+
29
+ - **mcp** -- Connects to an external MCP server (stdio or HTTP transport)
30
+ - **script** -- Runs a local script (Node.js, Python, etc.)
31
+ - **hybrid** -- Combines MCP server access with local script capabilities
32
+
33
+ ## Directory Structure
34
+
35
+ Each skill lives in its own folder with a `SKILL.md` file:
36
+
37
+ ```text
38
+ skills/
39
+ apify/
40
+ SKILL.md
41
+ canva/
42
+ SKILL.md
43
+ instagram-publisher/
44
+ SKILL.md
45
+ scripts/
46
+ publish.js
47
+ youtube-publisher/
48
+ SKILL.md
49
+ scripts/
50
+ publish.js
51
+ blotato/
52
+ SKILL.md
53
+ resend/
54
+ SKILL.md
55
+ smtp-sender/
56
+ SKILL.md
57
+ scripts/
58
+ send.js
59
+ imgbb-uploader/
60
+ SKILL.md
61
+ scripts/
62
+ upload.js
63
+ image-fetcher/
64
+ SKILL.md
65
+ image-creator/
66
+ SKILL.md
67
+ image-ai-generator/
68
+ SKILL.md
69
+ scripts/
70
+ generate.py
71
+ pdf-extractor/
72
+ SKILL.md
73
+ scripts/
74
+ extract.py
75
+ ```
76
+
77
+ The `SKILL.md` file contains YAML frontmatter (name, type, version, MCP/script config, env vars, categories) and a Markdown body with usage instructions and available operations.
78
+
79
+ ## Adding a New Skill
80
+
81
+ 1. Create a new folder under `skills/` with the skill ID as the name
82
+ 2. Add a `SKILL.md` file with valid YAML frontmatter and Markdown body
83
+ 3. If the skill includes scripts, place them in a `scripts/` subfolder
84
+ 4. Update this README to include the new skill in the catalog table
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: apify
3
+ description: >
4
+ Web scraping and automation platform. Extract data from any website,
5
+ run pre-built scrapers (Actors), and automate web workflows using
6
+ thousands of ready-made tools from the Apify Store.
7
+ description_pt-BR: >
8
+ Plataforma de web scraping e automação. Extraia dados de qualquer site,
9
+ execute scrapers prontos (Actors) e automatize fluxos de trabalho web
10
+ com milhares de ferramentas da Apify Store.
11
+ description_es: >
12
+ Plataforma de web scraping y automatización. Extrae datos de cualquier sitio web,
13
+ ejecuta scrapers prediseñados (Actors) y automatiza flujos de trabajo web
14
+ con miles de herramientas de la Apify Store.
15
+ type: mcp
16
+ version: "1.0.0"
17
+ mcp:
18
+ server_name: apify
19
+ command: npx
20
+ args: ["-y", "@apify/actors-mcp-server@latest"]
21
+ env:
22
+ - APIFY_TOKEN
23
+ categories: [scraping, data, automation]
24
+ ---
25
+
26
+ # Apify Web Scraper
27
+
28
+ ## When to use
29
+
30
+ Use Apify when you need to extract data from websites, scrape social media profiles, run search engine queries, or automate web data collection workflows. Apify provides thousands of pre-built scrapers (called Actors) that handle common scraping tasks out of the box.
31
+
32
+ ## Instructions
33
+
34
+ You have access to Apify tools for web scraping and data extraction.
35
+
36
+ ### Key capabilities
37
+
38
+ - Use Apify Actors (pre-built scrapers) to extract data from websites
39
+ - Popular Actors: web-scraper, instagram-scraper, google-search-scraper, youtube-scraper, twitter-scraper, tiktok-scraper
40
+ - Each Actor has its own input schema -- check documentation before running
41
+
42
+ ### Best practices
43
+
44
+ - Start with the simplest Actor that meets the need
45
+ - Use `maxItems` to limit results and avoid excessive costs
46
+ - Check Actor pricing before running (some have per-result costs)
47
+ - Parse results and extract only the fields you need
48
+
49
+ ## Available operations
50
+
51
+ - **Run Actor** -- Execute any Apify Actor with custom input parameters
52
+ - **Web Scraping** -- Extract structured data from any website
53
+ - **Social Media Scraping** -- Scrape profiles, posts, and engagement data from Instagram, YouTube, Twitter/X, TikTok
54
+ - **Search Scraping** -- Run Google, Bing, or other search engine queries and collect results
55
+ - **Data Export** -- Retrieve scraped datasets in JSON format
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: blotato
3
+ description: >
4
+ Social media publishing and scheduling platform.
5
+ Publish and schedule posts across Instagram, LinkedIn, Twitter/X,
6
+ TikTok, YouTube, and more. Upload media and monitor post status.
7
+ description_pt-BR: >
8
+ Plataforma de publicação e agendamento em redes sociais.
9
+ Publique e agende posts no Instagram, LinkedIn, Twitter/X,
10
+ TikTok, YouTube e mais. Faça upload de mídia e monitore o status dos posts.
11
+ description_es: >
12
+ Plataforma de publicación y programación en redes sociales.
13
+ Publica y programa posts en Instagram, LinkedIn, Twitter/X,
14
+ TikTok, YouTube y más. Sube contenido multimedia y monitorea el estado de los posts.
15
+ type: mcp
16
+ version: "1.0.0"
17
+ mcp:
18
+ server_name: blotato
19
+ transport: http
20
+ url: "https://mcp.blotato.com/mcp"
21
+ headers:
22
+ blotato-api-key: BLOTATO_API_KEY
23
+ env:
24
+ - BLOTATO_API_KEY
25
+ categories: [social-media, automation, publishing, scheduling]
26
+ ---
27
+
28
+ # Blotato Publisher
29
+
30
+ ## When to use
31
+
32
+ Use Blotato when you need to publish or schedule social media posts across multiple platforms from a single interface. Blotato supports Instagram, LinkedIn, Twitter/X, TikTok, YouTube, and more. It handles media uploads, post scheduling, and status monitoring.
33
+
34
+ ## Instructions
35
+
36
+ You have access to Blotato for social media publishing.
37
+
38
+ ### Key workflow
39
+
40
+ 1. Use `blotato_list_accounts` to get account IDs and platforms
41
+ 2. If post includes images or videos, upload them with `blotato_upload_media` first and use the returned media IDs in `blotato_create_post`
42
+ 3. Use `blotato_create_post` to publish or schedule
43
+ 4. Use `blotato_get_post_status` to confirm success
44
+
45
+ ### Best practices
46
+
47
+ - Always call `blotato_list_accounts` first to get valid account IDs
48
+ - For scheduled posts, use ISO 8601 format for datetime
49
+ - After posting, poll `blotato_get_post_status` until status is "published" or "scheduled"
50
+ - If status is "failed", report the error details to the user
51
+
52
+ ### Requirements
53
+
54
+ - Blotato account required (blotato.com)
55
+ - API key must be configured (Blotato Settings > API section)
56
+
57
+ ## Available operations
58
+
59
+ - **List Accounts** -- Retrieve connected social media accounts and their platform types
60
+ - **Upload Media** -- Upload images and videos for use in posts
61
+ - **Create Post** -- Publish or schedule a post to one or more platforms
62
+ - **Get Post Status** -- Monitor publishing status (published, scheduled, failed)
63
+ - **Multi-platform Publishing** -- Post the same content across Instagram, LinkedIn, Twitter/X, TikTok, YouTube simultaneously
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: canva
3
+ description: >
4
+ Create, search, autofill, and export designs from Canva.
5
+ Enables agents to generate visual content, fill templates
6
+ with brand assets, and export in various formats.
7
+ description_pt-BR: >
8
+ Crie, busque, preencha e exporte designs do Canva.
9
+ Permite que agentes gerem conteúdo visual, preencham templates
10
+ com assets da marca e exportem em diversos formatos.
11
+ description_es: >
12
+ Crea, busca, completa y exporta diseños de Canva.
13
+ Permite que los agentes generen contenido visual, completen plantillas
14
+ con recursos de marca y exporten en diversos formatos.
15
+ type: mcp
16
+ version: "1.0.0"
17
+ mcp:
18
+ server_name: canva
19
+ transport: http
20
+ url: "https://mcp.canva.com/mcp"
21
+ categories: [design, ui, assets, automation]
22
+ ---
23
+
24
+ # Canva Connect
25
+
26
+ ## When to use
27
+
28
+ Use Canva when you need to create, search, or export visual designs. This skill connects to the user's Canva account via OAuth and enables agents to generate presentations, social media posts, logos, and other visual content. It also supports autofilling templates with brand assets and exporting designs in various formats.
29
+
30
+ ## Instructions
31
+
32
+ You have access to Canva through the Canva Connect MCP server.
33
+
34
+ ### Key capabilities
35
+
36
+ - Create new designs (presentations, social posts, logos, etc.)
37
+ - Autofill templates with content (text, images, brand elements)
38
+ - Search existing designs in the user's Canva account
39
+ - Export designs as PDF or image files
40
+
41
+ ### Best practices
42
+
43
+ - Use templates when possible -- faster and more on-brand
44
+ - When autofilling, match content to template placeholder names
45
+ - Export in the format most useful for the pipeline (JPG for social, PDF for documents)
46
+ - Respect the user's Canva plan limitations (some features require paid plans)
47
+
48
+ ### Requirements
49
+
50
+ - User needs a Canva account (free or paid)
51
+ - OAuth authorization is required on first use (browser popup)
52
+ - Autofill templates require a Canva paid plan
53
+
54
+ ## Available operations
55
+
56
+ - **Create Design** -- Generate new designs from scratch or templates
57
+ - **Search Designs** -- Find existing designs in the user's Canva account
58
+ - **Autofill Template** -- Fill template placeholders with text, images, and brand elements
59
+ - **Export Design** -- Export designs as PDF, JPG, or other formats
60
+ - **Browse Templates** -- Search Canva's template library for the right starting point
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: higgsfield
3
+ description: >
4
+ Generate images and videos using Higgsfield AI models via MCP.
5
+ Supports text-to-image, image-to-video, and cinematic scene generation.
6
+ Use for producing visual assets in content squads — covers still images
7
+ for posts, short animated clips for reels, and environment/location scenes.
8
+ description_pt-BR: >
9
+ Gere imagens e vídeos usando modelos de IA da Higgsfield via MCP.
10
+ Suporta texto-para-imagem, imagem-para-vídeo e geração de cenas cinematográficas.
11
+ Use para produzir assets visuais em squads de conteúdo — imagens estáticas
12
+ para posts, clipes animados para reels, e cenas de ambiente/localização.
13
+ type: mcp
14
+ version: "1.0.0"
15
+ mcp:
16
+ server_name: higgsfield
17
+ transport: http
18
+ url: "https://mcp.higgsfield.ai/mcp"
19
+ categories: [assets, images, video, ai, generation, media]
20
+ ---
21
+
22
+ # Higgsfield AI
23
+
24
+ ## When to use
25
+
26
+ Use this skill when a squad needs to generate **original visual assets** — images or short videos — using AI. Ideal for:
27
+
28
+ - Social media posts that need a custom illustration or scene
29
+ - Reels or carousels with animated visuals
30
+ - Background environments, location scenes, or mood boards
31
+ - Animating an existing reference image into a short video clip
32
+
33
+ **Check before generating:** always verify if a suitable image already exists in the squad's `output/` folder or can be fetched via `image-fetcher`. Only generate when no existing asset works.
34
+
35
+ ---
36
+
37
+ ## Model Reference
38
+
39
+ ### Image Models
40
+
41
+ | Model | Plan | Best for |
42
+ |-------|------|----------|
43
+ | `nano_banana_2` | Basic+ | **⭐ PREFERRED** — Top quality 4K, text overlays, diagrams, any scene. |
44
+ | `z_image` | **Free** | Fast stylized text-to-image. Use only as fallback when `nano_banana_2` is unavailable. |
45
+ | `soul_location` | Basic+ | Cinematic environments, landscapes, location backgrounds. |
46
+ | `soul_cast` | Basic+ | Consistent character identity and portraits. |
47
+
48
+ ### Video Models
49
+
50
+ | Model | Plan | Best for |
51
+ |-------|------|----------|
52
+ | `seedance_2_0` | **Plus+** | Reference-driven video. Animate an image. Best default. |
53
+ | `kling3_0` | Plus+ | Multi-shot, audio sync, cinematic motion. |
54
+ | `grok_video` | Basic+ | Text and image-to-video, versatile. |
55
+ | `veo3` | Plus+ | Google Veo 3 — reliable cinematic wide range. |
56
+
57
+ > **Plan check:** before calling a paid model, verify the user's Higgsfield plan. Use `get_cost: true` to preflight credit cost before generating.
58
+
59
+ ---
60
+
61
+ ## Instructions
62
+
63
+ ### Generating an image
64
+
65
+ Use `generate_image` with the appropriate model and a descriptive prompt.
66
+
67
+ ```
68
+ Model: z_image (free) or soul_location (paid, landscapes)
69
+ Aspect: 16:9 for social/horizontal, 9:16 for Stories/Reels
70
+ ```
71
+
72
+ **Good prompt structure:**
73
+ ```
74
+ [Subject] [action], [environment], [lighting], [camera angle], [style/mood]
75
+ ```
76
+
77
+ Example:
78
+ ```
79
+ A dentist smiling while talking to a patient, modern clinic, soft natural light,
80
+ eye-level shot, photorealistic, warm and welcoming mood
81
+ ```
82
+
83
+ ### Animating an image into video
84
+
85
+ 1. Generate or provide a reference image URL
86
+ 2. Call `generate_video` with `model: seedance_2_0`
87
+ 3. Pass the image as `medias: [{role: "start_image", value: "<url or job_id>"}]`
88
+ 4. Set `duration: 5` for social clips (5s is efficient and cost-effective)
89
+ 5. Set `resolution: "720p"` for standard output
90
+
91
+ ### Checking model availability and constraints
92
+
93
+ When unsure which model to use or what parameters it accepts:
94
+ ```
95
+ models_explore(action: "recommend", query: "<your use case>", type: "image"|"video")
96
+ models_explore(action: "get", model_id: "<id>")
97
+ ```
98
+
99
+ ### Reviewing past generations
100
+
101
+ ```
102
+ show_generations(type: "image"|"video", size: 10)
103
+ ```
104
+
105
+ Use `job_display(ids: [...])` to re-display a specific generation result.
106
+
107
+ ---
108
+
109
+ ## Available operations
110
+
111
+ - **`generate_image`** — Text-to-image generation. Pass `model`, `prompt`, `aspect_ratio`, `count` (1–4).
112
+ - **`generate_video`** — Image-to-video or text-to-video. Pass `model`, `prompt`, `medias[]`, `duration`, `resolution`.
113
+ - **`models_explore`** — Discover and compare models. Actions: `list`, `search`, `get`, `recommend`.
114
+ - **`show_generations`** — Browse past completed generations.
115
+ - **`job_display`** — Re-display specific generation results by job ID.
116
+ - **`media_upload`** + **`media_confirm`** — Upload a local file for use as reference input.
117
+ - **`show_medias`** — List previously uploaded media files.
118
+
119
+ ---
120
+
121
+ ## Best practices for content squads
122
+
123
+ - **Default to `z_image`** for quick iterations and free-tier availability.
124
+ - **Use `soul_location`** for editorial-quality environment scenes (requires Basic+ plan).
125
+ - **5-second videos at 720p** are the sweet spot for social content — lower cost, fast delivery.
126
+ - **Reuse job IDs**: after generating an image, pass its `id` directly as `medias[].value` in `generate_video` — no need to copy URLs.
127
+ - **Prompt language**: write prompts in English for best results across all models.
128
+ - **Genre parameter** (`seedance_2_0`): use `"epic"` for dramatic health/science content, `"drama"` for emotional narratives, `"auto"` for general use.
129
+
130
+ ---
131
+
132
+ ## Error handling
133
+
134
+ | Error | Cause | Action |
135
+ |-------|-------|--------|
136
+ | `Requires basic plan or higher` | Model needs paid plan | Switch to `z_image` or prompt user to upgrade at https://higgsfield.ai/mcp-pricing |
137
+ | `Out of credits` | Free tier exhausted | Prompt user to upgrade or use an alternative image skill |
138
+ | `status: waiting / in_progress` | Generation queued | Call `job_display` again in ~30–60s. Video can take 2–5 min. |
139
+ | `Invalid parameter` | Model doesn't support the param | Call `models_explore(action: "get", model_id: ...)` to check supported params |
140
+
141
+ ---
142
+
143
+ ## Requirements
144
+
145
+ - Higgsfield account (free or paid) — sign up at https://higgsfield.ai
146
+ - OAuth authorization handled automatically by VS Code MCP on first use
147
+ - For video generation: **Plus plan** minimum (https://higgsfield.ai/mcp-pricing)
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: image-ai-generator
3
+ description: >
4
+ Generates images via Openrouter API using AI image models.
5
+ Supports two modes: test (cheap model for iteration) and production (high-quality model for final output).
6
+ Handles prompt construction, API calls, base64 decoding, and file saving.
7
+ Supports reference images (logos, mascots) for brand-consistent generation.
8
+ description_pt-BR: >
9
+ Gera imagens via API do Openrouter usando modelos de IA.
10
+ Suporta dois modos: test (modelo barato para iteração) e production (modelo de alta qualidade para output final).
11
+ Cuida da construção de prompts, chamadas de API, decodificação base64 e salvamento de arquivos.
12
+ Suporta imagens de referência (logos, mascotes) para geração consistente com a marca.
13
+ type: script
14
+ version: "1.0.0"
15
+ script:
16
+ path: scripts/generate.py
17
+ runtime: python3
18
+ invoke: "python3 {skill_path}/scripts/generate.py --prompt \"{prompt}\" --output \"{output}\" --mode \"{mode}\""
19
+ env:
20
+ - OPENROUTER_API_KEY
21
+ categories: [assets, images, ai, generation]
22
+ ---
23
+
24
+ # Image Generator
25
+
26
+ ## When to use
27
+
28
+ Use the Image Generator when you need to create visual assets from text prompts. This skill calls the Openrouter API with AI image generation models and saves the resulting images locally.
29
+
30
+ **IMPORTANT: Think twice before generating images.** Image generation costs money and takes time. Before generating:
31
+ 1. Check if a suitable image already exists in the squad's assets folder
32
+ 2. Check if a web search could find a free/open image that works
33
+ 3. Consider if the image is truly necessary for the content quality
34
+ 4. Only generate when no existing alternative is good enough
35
+ 5. **Generate only what you need** — never batch-generate "test variations". One image is enough to validate a concept.
36
+
37
+ ## Modes
38
+
39
+ ### Test mode (`--mode test`)
40
+ - **Model:** `sourceful/riverflow-v2-fast`
41
+ - **When to use:** During iteration, testing layouts, checking composition, reviewing concepts
42
+ - **Cost:** ~R$0.01-0.02 per image (very low)
43
+ - **Quality:** Good enough for layout validation, not for final output
44
+
45
+ ### Production mode (`--mode production`)
46
+ - **Model:** `google/gemini-3.1-flash-image-preview`
47
+ - **When to use:** Only when generating the final images that will be published or delivered
48
+ - **Cost:** ~R$0.07-0.10 per image
49
+ - **Quality:** High quality, suitable for social media and publishing
50
+
51
+ **Default mode is `test`.** Only switch to `production` when the user has approved the layout/composition and you are generating the final deliverable images.
52
+
53
+ ## Instructions
54
+
55
+ ### Single image generation
56
+
57
+ ```bash
58
+ python3 skills/image-generator/scripts/generate.py \
59
+ --prompt "A detailed description of the image to generate" \
60
+ --output "squads/{squad}/output/{run_id}/assets/image-name.jpg" \
61
+ --mode test
62
+ ```
63
+
64
+ ### With a reference image (logo, mascot, brand asset)
65
+
66
+ Use `--reference` to send a local image to the model as visual context. The model will incorporate the referenced image (e.g., a logo or mascot) into the generated output.
67
+
68
+ ```bash
69
+ python3 skills/image-generator/scripts/generate.py \
70
+ --prompt "A social media banner featuring the company logo prominently in the center" \
71
+ --output "squads/{squad}/output/{run_id}/assets/banner.jpg" \
72
+ --reference "squads/{squad}/assets/logo.jpg" \
73
+ --mode production
74
+ ```
75
+
76
+ Supported reference formats: JPG, JPEG, WEBP, GIF.
77
+
78
+ ### Batch generation
79
+
80
+ ```bash
81
+ python3 skills/image-generator/scripts/generate.py \
82
+ --batch "squads/{squad}/output/{run_id}/assets/batch.json" \
83
+ --mode production
84
+ ```
85
+
86
+ The batch JSON file should contain:
87
+ ```json
88
+ [
89
+ {"prompt": "Description of image 1", "output": "path/to/image1.jpg"},
90
+ {"prompt": "Description of image 2", "output": "path/to/image2.jpg"}
91
+ ]
92
+ ```
93
+
94
+ Each item can optionally include a `"reference": "path/to/ref.jpg"` field.
95
+
96
+ ### Prompt guidelines
97
+
98
+ - Be specific about composition, lighting, style, and mood
99
+ - Specify aspect ratio or orientation when relevant (e.g., "portrait 3:4", "landscape 16:9")
100
+ - Include "hyper realistic, 4K quality" for photographic styles
101
+ - Include "clean composition" to avoid cluttered outputs
102
+ - Avoid requesting text in images — AI models struggle with text rendering
103
+
104
+ ### Cost awareness
105
+
106
+ - Each production image costs approximately R$0.07-0.10
107
+ - Each test image costs approximately R$0.01-0.02
108
+ - A typical carousel with 8 images costs ~R$0.60-0.80 in production mode
109
+ - **Always use test mode first**, then regenerate only the approved concepts in production mode
110
+ - When testing, generate **1 image only** — not 3, not 5, just 1
111
+
112
+ ## Available operations
113
+
114
+ - **Single generation** — Generate one image from a text prompt
115
+ - **Batch generation** — Generate multiple images from a JSON batch file
116
+ - **Mode selection** — Choose between test (cheap) and production (high-quality) models
117
+ - **Reference image** — Send a logo/mascot/brand asset as visual context for the generation
118
+
119
+ ## Error handling
120
+
121
+ - If `OPENROUTER_API_KEY` is not set, the script exits with an error message. Set it in your `.env` file or environment.
122
+ - If the API returns an error, the script prints the error code and body, then exits with code 1.
123
+ - If no image is found in the API response, the script reports which model was used and exits with code 1.
124
+ - For batch mode, partial failures are reported with a success count summary.