conectese 0.1.14

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 (260) hide show
  1. package/README.md +265 -0
  2. package/_conectese/.conectese-version +1 -0
  3. package/_conectese/config/playwright.config.json +11 -0
  4. package/_conectese/core/architect.agent.yaml +110 -0
  5. package/_conectese/core/best-practices/_catalog.yaml +116 -0
  6. package/_conectese/core/best-practices/blog-post.md +132 -0
  7. package/_conectese/core/best-practices/blog-seo.md +127 -0
  8. package/_conectese/core/best-practices/copywriting.md +426 -0
  9. package/_conectese/core/best-practices/data-analysis.md +401 -0
  10. package/_conectese/core/best-practices/email-newsletter.md +118 -0
  11. package/_conectese/core/best-practices/email-sales.md +110 -0
  12. package/_conectese/core/best-practices/image-design.md +348 -0
  13. package/_conectese/core/best-practices/instagram-feed.md +235 -0
  14. package/_conectese/core/best-practices/instagram-reels.md +112 -0
  15. package/_conectese/core/best-practices/instagram-stories.md +107 -0
  16. package/_conectese/core/best-practices/linkedin-article.md +116 -0
  17. package/_conectese/core/best-practices/linkedin-post.md +121 -0
  18. package/_conectese/core/best-practices/researching.md +349 -0
  19. package/_conectese/core/best-practices/review.md +269 -0
  20. package/_conectese/core/best-practices/social-networks-publishing.md +294 -0
  21. package/_conectese/core/best-practices/strategist.md +344 -0
  22. package/_conectese/core/best-practices/technical-writing.md +365 -0
  23. package/_conectese/core/best-practices/twitter-post.md +105 -0
  24. package/_conectese/core/best-practices/twitter-thread.md +122 -0
  25. package/_conectese/core/best-practices/whatsapp-broadcast.md +107 -0
  26. package/_conectese/core/best-practices/youtube-script.md +122 -0
  27. package/_conectese/core/best-practices/youtube-shorts.md +112 -0
  28. package/_conectese/core/prompts/build.prompt.md +547 -0
  29. package/_conectese/core/prompts/design.prompt.md +469 -0
  30. package/_conectese/core/prompts/discovery.prompt.md +269 -0
  31. package/_conectese/core/prompts/sherlock-instagram.md +123 -0
  32. package/_conectese/core/prompts/sherlock-linkedin.md +73 -0
  33. package/_conectese/core/prompts/sherlock-shared.md +684 -0
  34. package/_conectese/core/prompts/sherlock-twitter.md +78 -0
  35. package/_conectese/core/prompts/sherlock-youtube.md +85 -0
  36. package/_conectese/core/runner.pipeline.md +535 -0
  37. package/_conectese/core/skills.engine.md +381 -0
  38. package/agents/data-extractor/AGENT.md +13 -0
  39. package/agents/direito-adaneiro/AGENT.md +18 -0
  40. package/agents/direito-administrativo/AGENT.md +18 -0
  41. package/agents/direito-aeroporta-rio/AGENT.md +18 -0
  42. package/agents/direito-agra-rio/AGENT.md +18 -0
  43. package/agents/direito-ambiental/AGENT.md +18 -0
  44. package/agents/direito-banca-rio/AGENT.md +18 -0
  45. package/agents/direito-civil/AGENT.md +18 -0
  46. package/agents/direito-constitcional/AGENT.md +18 -0
  47. package/agents/direito-da-crianc-a-e-do-adolescente-eca/AGENT.md +18 -0
  48. package/agents/direito-da-propriedade-intelectal/AGENT.md +18 -0
  49. package/agents/direito-de-ami-lia/AGENT.md +18 -0
  50. package/agents/direito-de-tra-nsito/AGENT.md +18 -0
  51. package/agents/direito-desportivo/AGENT.md +18 -0
  52. package/agents/direito-digital/AGENT.md +18 -0
  53. package/agents/direito-do-consmidor/AGENT.md +18 -0
  54. package/agents/direito-do-trabalho/AGENT.md +18 -0
  55. package/agents/direito-econo-mico/AGENT.md +18 -0
  56. package/agents/direito-eleitoral/AGENT.md +18 -0
  57. package/agents/direito-empresarial/AGENT.md +18 -0
  58. package/agents/direito-imobilia-rio/AGENT.md +18 -0
  59. package/agents/direito-inanceiro/AGENT.md +18 -0
  60. package/agents/direito-internacional/AGENT.md +18 -0
  61. package/agents/direito-mari-timo/AGENT.md +18 -0
  62. package/agents/direito-me-dico-e-da-sa-de/AGENT.md +18 -0
  63. package/agents/direito-militar/AGENT.md +18 -0
  64. package/agents/direito-ndia-rio/AGENT.md +18 -0
  65. package/agents/direito-notarial-e-registral/AGENT.md +18 -0
  66. package/agents/direito-penal/AGENT.md +18 -0
  67. package/agents/direito-previdencia-rio/AGENT.md +18 -0
  68. package/agents/direito-processal-civil/AGENT.md +18 -0
  69. package/agents/direito-processal-do-trabalho/AGENT.md +18 -0
  70. package/agents/direito-processal-militar/AGENT.md +18 -0
  71. package/agents/direito-processal-penal/AGENT.md +18 -0
  72. package/agents/direito-rbani-stico/AGENT.md +18 -0
  73. package/agents/direito-secrita-rio/AGENT.md +18 -0
  74. package/agents/direito-sindical/AGENT.md +18 -0
  75. package/agents/direito-societa-rio/AGENT.md +18 -0
  76. package/agents/direito-tribta-rio/AGENT.md +18 -0
  77. package/agents/direitos-hmanos/AGENT.md +18 -0
  78. package/agents/legal-analyst/AGENT.md +16 -0
  79. package/agents/legal-synthesizer/AGENT.md +13 -0
  80. package/agents/lgpd-anonymizer/AGENT.md +14 -0
  81. package/agents/lgpd-restorer/AGENT.md +14 -0
  82. package/agents/task-router/AGENT.md +13 -0
  83. package/bin/conectese.js +73 -0
  84. package/dashboard/index.html +12 -0
  85. package/dashboard/package-lock.json +1971 -0
  86. package/dashboard/package.json +28 -0
  87. package/dashboard/public/assets/avatars/Female1_1wave.png +0 -0
  88. package/dashboard/public/assets/avatars/Female1_2wave.png +0 -0
  89. package/dashboard/public/assets/avatars/Female1_blink.png +0 -0
  90. package/dashboard/public/assets/avatars/Female1_talk.png +0 -0
  91. package/dashboard/public/assets/avatars/Female2_1wave.png +0 -0
  92. package/dashboard/public/assets/avatars/Female2_2wave.png +0 -0
  93. package/dashboard/public/assets/avatars/Female2_blink.png +0 -0
  94. package/dashboard/public/assets/avatars/Female2_talk.png +0 -0
  95. package/dashboard/public/assets/avatars/Female3_blink.png +0 -0
  96. package/dashboard/public/assets/avatars/Female3_talk.png +0 -0
  97. package/dashboard/public/assets/avatars/Female3_wave.png +0 -0
  98. package/dashboard/public/assets/avatars/Female4_blink.png +0 -0
  99. package/dashboard/public/assets/avatars/Female4_talk.png +0 -0
  100. package/dashboard/public/assets/avatars/Female4_wave.png +0 -0
  101. package/dashboard/public/assets/avatars/Female5_blink.png +0 -0
  102. package/dashboard/public/assets/avatars/Female5_talk.png +0 -0
  103. package/dashboard/public/assets/avatars/Female5_wave.png +0 -0
  104. package/dashboard/public/assets/avatars/Female6_blink.png +0 -0
  105. package/dashboard/public/assets/avatars/Female6_talk.png +0 -0
  106. package/dashboard/public/assets/avatars/Female6_wave.png +0 -0
  107. package/dashboard/public/assets/avatars/Male1_1wave.png +0 -0
  108. package/dashboard/public/assets/avatars/Male1_2wave.png +0 -0
  109. package/dashboard/public/assets/avatars/Male1_blink.png +0 -0
  110. package/dashboard/public/assets/avatars/Male1_talk.png +0 -0
  111. package/dashboard/public/assets/avatars/Male2_1wave.png +0 -0
  112. package/dashboard/public/assets/avatars/Male2_2wave.png +0 -0
  113. package/dashboard/public/assets/avatars/Male2_blink.png +0 -0
  114. package/dashboard/public/assets/avatars/Male2_talk.png +0 -0
  115. package/dashboard/public/assets/avatars/Male3_blink.png +0 -0
  116. package/dashboard/public/assets/avatars/Male3_talk.png +0 -0
  117. package/dashboard/public/assets/avatars/Male3_wave.png +0 -0
  118. package/dashboard/public/assets/avatars/Male4_blink.png +0 -0
  119. package/dashboard/public/assets/avatars/Male4_talk.png +0 -0
  120. package/dashboard/public/assets/avatars/Male4_wave.png +0 -0
  121. package/dashboard/public/assets/desks/desktop_set_black_down.png +0 -0
  122. package/dashboard/public/assets/desks/desktop_set_black_down_coding-1.png +0 -0
  123. package/dashboard/public/assets/desks/desktop_set_black_down_coding.png +0 -0
  124. package/dashboard/public/assets/desks/desktop_set_black_up.png +0 -0
  125. package/dashboard/public/assets/desks/desktop_set_white_down.png +0 -0
  126. package/dashboard/public/assets/desks/desktop_set_white_down_coding-1.png +0 -0
  127. package/dashboard/public/assets/desks/desktop_set_white_down_coding.png +0 -0
  128. package/dashboard/public/assets/desks/desktop_set_white_up.png +0 -0
  129. package/dashboard/public/assets/furniture/armchair_tan.png +0 -0
  130. package/dashboard/public/assets/furniture/armchair_tan_down.png +0 -0
  131. package/dashboard/public/assets/furniture/backpack_blue.png +0 -0
  132. package/dashboard/public/assets/furniture/backpack_red.png +0 -0
  133. package/dashboard/public/assets/furniture/blinds.png +0 -0
  134. package/dashboard/public/assets/furniture/blinds_large_closed_white.png +0 -0
  135. package/dashboard/public/assets/furniture/bookshelf.png +0 -0
  136. package/dashboard/public/assets/furniture/bookshelf_purple_tall.png +0 -0
  137. package/dashboard/public/assets/furniture/bulletin_board.png +0 -0
  138. package/dashboard/public/assets/furniture/clock.png +0 -0
  139. package/dashboard/public/assets/furniture/coffee_mug.png +0 -0
  140. package/dashboard/public/assets/furniture/coffee_mug_blue.png +0 -0
  141. package/dashboard/public/assets/furniture/coffee_table.png +0 -0
  142. package/dashboard/public/assets/furniture/coffeepot_right.png +0 -0
  143. package/dashboard/public/assets/furniture/coffeetable_black_horizontal.png +0 -0
  144. package/dashboard/public/assets/furniture/couch.png +0 -0
  145. package/dashboard/public/assets/furniture/couch_tan_down.png +0 -0
  146. package/dashboard/public/assets/furniture/cushion_blue.png +0 -0
  147. package/dashboard/public/assets/furniture/cushion_tan.png +0 -0
  148. package/dashboard/public/assets/furniture/desk_wood.png +0 -0
  149. package/dashboard/public/assets/furniture/fancy_rug.png +0 -0
  150. package/dashboard/public/assets/furniture/fancy_rug_wide.png +0 -0
  151. package/dashboard/public/assets/furniture/flowers1.png +0 -0
  152. package/dashboard/public/assets/furniture/flowers2.png +0 -0
  153. package/dashboard/public/assets/furniture/lamp_tan.png +0 -0
  154. package/dashboard/public/assets/furniture/lantern.png +0 -0
  155. package/dashboard/public/assets/furniture/monstera.png +0 -0
  156. package/dashboard/public/assets/furniture/monstera_small.png +0 -0
  157. package/dashboard/public/assets/furniture/picture_frame.png +0 -0
  158. package/dashboard/public/assets/furniture/plant1.png +0 -0
  159. package/dashboard/public/assets/furniture/plant2.png +0 -0
  160. package/dashboard/public/assets/furniture/plant3.png +0 -0
  161. package/dashboard/public/assets/furniture/plant_poof.png +0 -0
  162. package/dashboard/public/assets/furniture/plant_spindly.png +0 -0
  163. package/dashboard/public/assets/furniture/poster_blue.png +0 -0
  164. package/dashboard/public/assets/furniture/rug.png +0 -0
  165. package/dashboard/public/assets/furniture/succulent_blue.png +0 -0
  166. package/dashboard/public/assets/furniture/succulent_green.png +0 -0
  167. package/dashboard/public/assets/furniture/treasurechest_closed_gold.png +0 -0
  168. package/dashboard/public/assets/furniture/water_cooler_better.png +0 -0
  169. package/dashboard/public/assets/furniture/whiteboard.png +0 -0
  170. package/dashboard/public/assets/furniture/whiteboard_stand_graph.png +0 -0
  171. package/dashboard/public/assets/furniture/window_blinds_open.png +0 -0
  172. package/dashboard/src/App.tsx +46 -0
  173. package/dashboard/src/components/SquadCard.tsx +47 -0
  174. package/dashboard/src/components/SquadSelector.tsx +61 -0
  175. package/dashboard/src/components/StatusBadge.tsx +32 -0
  176. package/dashboard/src/components/StatusBar.tsx +97 -0
  177. package/dashboard/src/hooks/useSquadSocket.ts +135 -0
  178. package/dashboard/src/lib/formatTime.ts +16 -0
  179. package/dashboard/src/lib/normalizeState.ts +25 -0
  180. package/dashboard/src/main.tsx +10 -0
  181. package/dashboard/src/office/AgentSprite.ts +241 -0
  182. package/dashboard/src/office/OfficeScene.ts +153 -0
  183. package/dashboard/src/office/PhaserGame.tsx +80 -0
  184. package/dashboard/src/office/RoomBuilder.ts +190 -0
  185. package/dashboard/src/office/assetKeys.ts +150 -0
  186. package/dashboard/src/office/palette.ts +32 -0
  187. package/dashboard/src/plugin/squadWatcher.ts +233 -0
  188. package/dashboard/src/store/useSquadStore.ts +56 -0
  189. package/dashboard/src/styles/globals.css +36 -0
  190. package/dashboard/src/types/state.ts +63 -0
  191. package/dashboard/src/vite-env.d.ts +1 -0
  192. package/dashboard/test-results/.last-run.json +4 -0
  193. package/dashboard/tsconfig.json +24 -0
  194. package/dashboard/tsconfig.tsbuildinfo +1 -0
  195. package/dashboard/vite.config.ts +13 -0
  196. package/package.json +53 -0
  197. package/skills/README.md +63 -0
  198. package/skills/apify/SKILL.md +55 -0
  199. package/skills/blotato/SKILL.md +63 -0
  200. package/skills/canva/SKILL.md +60 -0
  201. package/skills/conectese-agent-creator/SKILL.md +192 -0
  202. package/skills/conectese-skill-creator/SKILL.md +407 -0
  203. package/skills/conectese-skill-creator/agents/analyzer.md +274 -0
  204. package/skills/conectese-skill-creator/agents/comparator.md +202 -0
  205. package/skills/conectese-skill-creator/agents/grader.md +223 -0
  206. package/skills/conectese-skill-creator/assets/eval_review.html +146 -0
  207. package/skills/conectese-skill-creator/eval-viewer/generate_review.py +471 -0
  208. package/skills/conectese-skill-creator/eval-viewer/viewer.html +1325 -0
  209. package/skills/conectese-skill-creator/references/schemas.md +430 -0
  210. package/skills/conectese-skill-creator/references/skill-format.md +235 -0
  211. package/skills/conectese-skill-creator/scripts/__init__.py +0 -0
  212. package/skills/conectese-skill-creator/scripts/aggregate_benchmark.py +401 -0
  213. package/skills/conectese-skill-creator/scripts/quick_validate.py +103 -0
  214. package/skills/conectese-skill-creator/scripts/run_eval.py +310 -0
  215. package/skills/conectese-skill-creator/scripts/utils.py +47 -0
  216. package/skills/image-ai-generator/SKILL.md +124 -0
  217. package/skills/image-ai-generator/scripts/generate.py +175 -0
  218. package/skills/image-creator/SKILL.md +155 -0
  219. package/skills/image-fetcher/SKILL.md +91 -0
  220. package/skills/instagram-publisher/SKILL.md +119 -0
  221. package/skills/instagram-publisher/scripts/publish.js +165 -0
  222. package/skills/resend/SKILL.md +80 -0
  223. package/skills/template-designer/SKILL.md +201 -0
  224. package/skills/template-designer/base-templates/model-a.html +27 -0
  225. package/skills/template-designer/base-templates/model-b.html +31 -0
  226. package/skills/template-designer/base-templates/model-c.html +42 -0
  227. package/src/agents-cli.js +158 -0
  228. package/src/agents.js +134 -0
  229. package/src/i18n.js +48 -0
  230. package/src/init.js +341 -0
  231. package/src/locales/en.json +73 -0
  232. package/src/locales/es.json +72 -0
  233. package/src/locales/pt-BR.json +72 -0
  234. package/src/logger.js +38 -0
  235. package/src/prompt.js +46 -0
  236. package/src/readme/README.md +119 -0
  237. package/src/runs.js +90 -0
  238. package/src/skills-cli.js +157 -0
  239. package/src/skills.js +146 -0
  240. package/src/update.js +169 -0
  241. package/templates/_conectese/.conectese-version +1 -0
  242. package/templates/_conectese/_investigations/.gitkeep +0 -0
  243. package/templates/ide-templates/antigravity/.agent/rules/conectese.md +55 -0
  244. package/templates/ide-templates/antigravity/.agent/workflows/conectese.md +102 -0
  245. package/templates/ide-templates/claude-code/.claude/skills/conectese/SKILL.md +182 -0
  246. package/templates/ide-templates/claude-code/.mcp.json +8 -0
  247. package/templates/ide-templates/claude-code/CLAUDE.md +43 -0
  248. package/templates/ide-templates/codex/.agents/skills/conectese/SKILL.md +6 -0
  249. package/templates/ide-templates/codex/AGENTS.md +105 -0
  250. package/templates/ide-templates/cursor/.cursor/commands/conectese.md +9 -0
  251. package/templates/ide-templates/cursor/.cursor/mcp.json +8 -0
  252. package/templates/ide-templates/cursor/.cursor/rules/conectese.mdc +48 -0
  253. package/templates/ide-templates/cursor/.cursorignore +3 -0
  254. package/templates/ide-templates/opencode/.opencode/commands/conectese.md +9 -0
  255. package/templates/ide-templates/opencode/AGENTS.md +105 -0
  256. package/templates/ide-templates/vscode-copilot/.github/prompts/conectese.prompt.md +201 -0
  257. package/templates/ide-templates/vscode-copilot/.vscode/mcp.json +8 -0
  258. package/templates/ide-templates/vscode-copilot/.vscode/settings.json +3 -0
  259. package/templates/package.json +8 -0
  260. package/templates/squads/.gitkeep +0 -0
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: "WhatsApp Broadcast"
3
+ platform: "whatsapp"
4
+ content_type: "broadcast"
5
+ description: "Broadcast messages optimized for open rates, replies, and conversational engagement without triggering spam flags"
6
+ whenToUse: |
7
+ Creating agents that produce WhatsApp broadcast messages or conversational marketing content.
8
+ constraints:
9
+ message_max_chars: 4096
10
+ status_duration: "24h"
11
+ broadcast_list_max: 256
12
+ media_types: "image, video, document, audio"
13
+ optimal_message_length: "300-500 chars"
14
+ version: "1.0.0"
15
+ ---
16
+
17
+ ## Platform Rules
18
+
19
+ - WhatsApp broadcast messages are delivered as individual chats, not group messages. Recipients do not see each other. This creates a 1-to-1 conversational dynamic that must be respected in tone and structure.
20
+ - Recipients must have your number saved in their contacts to receive broadcast messages. Without this, the message is silently dropped. Always prompt new contacts to save your number during onboarding.
21
+ - WhatsApp Business API enforces messaging tiers based on sender reputation. New accounts start at 1,000 unique recipients per 24 hours. Maintaining high quality scores (low blocks/reports) unlocks higher tiers up to unlimited sending.
22
+ - Messages that receive high block or report rates will degrade your quality rating from Green to Yellow to Red, eventually resulting in account restrictions or bans.
23
+ - Open rates on WhatsApp average 90-98%, far exceeding email. This makes frequency discipline critical — every message is seen, so every bad message damages trust.
24
+ - Send during business hours in the recipient's time zone (9 AM - 8 PM). Avoid weekends and holidays unless your content is specifically time-sensitive.
25
+ - Limit broadcast frequency to 2-4 messages per week maximum. More than one message per day triggers blocks and opt-outs at scale.
26
+ - WhatsApp Status (24-hour stories) can complement broadcasts for less urgent updates without cluttering the chat.
27
+
28
+ ## Content Structure
29
+
30
+ ### Broadcast Message Flow
31
+
32
+ 1. **Greeting line** — Personalized opening using {{name}} variable. Keep it warm and conversational, not corporate.
33
+ 2. **Value hook** — One sentence explaining what this message delivers. The recipient must immediately understand why they should keep reading.
34
+ 3. **Body** — 2-4 short paragraphs delivering the core value: tip, offer, update, or exclusive content. Use line breaks between paragraphs. One idea per paragraph.
35
+ 4. **CTA** — Single, clear action: reply with a keyword, tap a link, or forward to a friend. Make the action effortless.
36
+ 5. **Signature** — Brief sign-off with sender name or brand. Reinforces the personal, 1-to-1 feel.
37
+
38
+ ### Message Types
39
+
40
+ - **Value broadcasts**: Tips, insights, exclusive content. Build trust and keep opt-in rates high. Aim for 60-70% of all broadcasts to be value-driven.
41
+ - **Promotional broadcasts**: Offers, launches, limited deals. Use sparingly (max 1-2 per week) and always lead with value before the pitch.
42
+ - **Transactional updates**: Order confirmations, shipping, appointment reminders. Keep factual and concise.
43
+ - **Engagement prompts**: Polls, quick questions, feedback requests. Drive replies to strengthen sender reputation.
44
+
45
+ ### Media Best Practices
46
+
47
+ - Images should include a text caption explaining the visual. Never send an image without context.
48
+ - Videos should be under 60 seconds for highest completion rates. Include a one-line summary above the video.
49
+ - Documents (PDFs, catalogs) work best with a 2-3 sentence description of what the recipient will find inside and why it is worth opening.
50
+ - Voice notes feel highly personal but should be reserved for warm audiences. Keep under 90 seconds.
51
+
52
+ ## Writing Guidelines
53
+
54
+ - **Write like you are texting a friend, not sending a press release.** WhatsApp is an intimate channel. Formal language feels invasive and out of place.
55
+ - Keep messages under 500 characters when possible. Shorter messages get higher reply rates and feel less like spam.
56
+ - Use 1-3 emojis per message to add warmth and visual breaks, but never more. Excessive emojis look unprofessional and spammy.
57
+ - One message, one purpose. Do not combine a tip, a promotion, and a survey in a single broadcast. Split them into separate messages on separate days.
58
+ - Use {{name}} personalization in the greeting. "Hi {{name}}!" converts significantly better than "Hi there!" or no greeting at all.
59
+ - Structure CTAs as low-friction actions: "Reply YES to get the guide" or "Tap the link below" — not multi-step instructions.
60
+ - Bold key phrases using WhatsApp formatting (*bold*, _italic_, ~strikethrough~) to create visual hierarchy in plain text.
61
+ - Always include an opt-out option: "Reply STOP to unsubscribe." This is both a legal requirement in many jurisdictions and a trust signal.
62
+ - Front-load the value. The first two lines appear in the notification preview. If they do not communicate value, the message goes unread.
63
+
64
+ ## Output Format
65
+
66
+ ```
67
+ === GREETING ===
68
+ Hi {{name}}! [Warm, personalized opening — 1 line]
69
+
70
+ === BODY ===
71
+ [Value hook — what this message delivers and why it matters. 1-2 sentences.]
72
+
73
+ [Core content — tip, insight, offer, or update. 2-4 short paragraphs, one idea each. Use line breaks and *bold* for key phrases. Max 300-400 characters for this section.]
74
+
75
+ === CTA ===
76
+ [Single clear action — reply with keyword, tap link, or forward. Must be effortless. 1-2 sentences max.]
77
+
78
+ === SIGNATURE ===
79
+ [Sign-off with sender name or brand. 1 line.]
80
+
81
+ [Opt-out line: "Reply STOP to unsubscribe."]
82
+ ```
83
+
84
+ ## Quality Criteria
85
+
86
+ - [ ] Message opens with personalized greeting using {{name}} variable
87
+ - [ ] Total message length is under 500 characters (excluding signature)
88
+ - [ ] Value hook is clear within the first two lines (notification preview)
89
+ - [ ] Body contains one purpose only: value, promotion, or engagement — never mixed
90
+ - [ ] CTA is a single, low-friction action (reply, tap, or forward)
91
+ - [ ] Emoji usage is 1-3 per message, adding warmth without clutter
92
+ - [ ] WhatsApp formatting (*bold*, _italic_) is used for visual hierarchy
93
+ - [ ] Opt-out instruction is included ("Reply STOP to unsubscribe")
94
+ - [ ] Tone is conversational and 1-to-1, not corporate or broadcast-style
95
+ - [ ] Message delivers standalone value even if the recipient ignores the CTA
96
+
97
+ ## Anti-Patterns
98
+
99
+ - **Walls of text** — Messages exceeding 600-700 characters feel overwhelming on a mobile chat screen. Recipients block senders who consistently send long messages because they clutter the chat list.
100
+ - **No opt-out option** — Failing to include an unsubscribe mechanism violates regulations in many jurisdictions (GDPR, TCPA) and erodes trust. Trapped users report instead of replying STOP.
101
+ - **More than one message per day** — WhatsApp is a personal space. Daily broadcasts feel invasive and drive block rates above 5%, which degrades your sender quality rating and can lead to account restrictions.
102
+ - **All-caps text** — SHOUTING IN CAPS feels aggressive in a conversational channel and triggers spam perception. It also reduces readability on small screens.
103
+ - **Pure promotional without value** — Broadcasts that only sell without educating, entertaining, or informing train recipients to ignore or block you. Lead with value, sell second.
104
+ - **Multiple CTAs in one message** — Asking the recipient to reply, click a link, visit your store, AND share with friends creates decision paralysis. One message, one action.
105
+ - **No personalization** — Generic messages ("Dear Customer") signal mass messaging and feel impersonal in a channel designed for intimate communication.
106
+ - **Sending without opt-in** — Adding contacts to broadcast lists without their explicit consent violates WhatsApp Business Policy and results in high report rates that destroy sender reputation.
107
+ - **Attachments without context** — Sending images, PDFs, or videos without a text explanation wastes the recipient's data and attention. Always introduce what the attachment is and why it matters.
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: "YouTube Video Script"
3
+ platform: "youtube"
4
+ content_type: "script"
5
+ description: "Long-form video scripts optimized for retention, CTR, and watch time with thumbnail-first planning"
6
+ whenToUse: |
7
+ Creating agents that produce YouTube video scripts or long-form video content.
8
+ constraints:
9
+ title_max_chars: 100
10
+ title_optimal_chars: "50-70"
11
+ description_max_chars: 5000
12
+ description_visible_lines: 2
13
+ thumbnail_size: "1280x720px"
14
+ optimal_duration: "8-15 minutes"
15
+ end_screen_duration: "5-20 seconds"
16
+ version: "1.0.0"
17
+ ---
18
+
19
+ ## Platform Rules
20
+
21
+ - **CTR + Watch Time** are the two most important metrics. A video needs both a compelling thumbnail/title (for clicks) AND strong retention (for algorithmic expansion).
22
+ - The first 30 seconds determine whether viewers stay or leave. This is the make-or-break window for average view duration (AVD). Getting 70%+ AVD signals quality to the algorithm.
23
+ - Thumbnail is 50% of a video's performance. A great video with a weak thumbnail will fail. Design the thumbnail before scripting.
24
+ - Suggested videos are the primary traffic source for most channels. Optimize titles and thumbnails for browse and suggested placement. The algorithm tests with a small audience first, then expands based on CTR and AVD.
25
+ - Session time is rewarded. Videos that lead viewers to watch more YouTube content get algorithmic favor.
26
+ - Best upload days: Thursday, Friday, Saturday at 2-4 PM in your audience's time zone. Upload consistency matters — the algorithm rewards predictable schedules.
27
+ - 8-15 minute videos hit the optimal balance: 8+ minutes enables mid-roll ads, under 15 minutes maintains strong retention.
28
+
29
+ ## Content Structure
30
+
31
+ ### Video Architecture
32
+
33
+ 1. **Hook (0-30 seconds)** — State the premise, show a preview of the payoff, create a curiosity loop that needs closing. "By the end of this video, you will know exactly how to..." Avoid asking for likes or subs here — the viewer has received no value yet.
34
+ 2. **Intro/Context (30 seconds - 1 minute)** — Brief background establishing why this topic matters. Keep it tight. No lengthy channel introductions or sponsor segments.
35
+ 3. **Body (1 minute - X minutes)** — Deliver the core content in 3-5 distinct sections. Use pattern interrupts every 30-60 seconds: B-roll, graphics, angle changes, story shifts, or on-screen text. Monotony causes retention drop-off.
36
+ 4. **Climax/Key Insight** — The most valuable moment, the "aha" realization. Place this at 60-70% through the video to reward viewers who stayed and pull the retention curve forward.
37
+ 5. **Summary (last 1-2 minutes)** — Recap the key points and reinforce the primary takeaway. This cements the value and primes the viewer for the CTA.
38
+ 6. **CTA + End Screen (last 20 seconds)** — One primary CTA (subscribe, watch the next video, or leave a comment). Use end screen elements: subscribe button and next video card. Do not stack 5 different asks.
39
+
40
+ Use pattern interrupts every 30-60 seconds to reset viewer attention: cut to B-roll, zoom in/out, on-screen keyword highlight, story shift, angle changes, or audience questions.
41
+
42
+ ## Writing Guidelines
43
+
44
+ - **Thumbnail first.** Design the thumbnail concept before scripting. If you cannot make a compelling thumbnail, reconsider the topic.
45
+ - **Title formula**: [Curiosity gap] + [Specific benefit]. Example: "I Tried X for 30 Days — Here is What Happened." Front-load keywords in the first 50 characters.
46
+ - **Hook must establish stakes in 30 seconds.** State the payoff, preview the value, create an open loop. No "hey guys, welcome back."
47
+ - Write for spoken delivery. Short sentences, conversational language, natural speech patterns. If it sounds stiff read aloud, rewrite it.
48
+ - Add timestamps/chapters in the description for navigation. First 2 lines of the description must contain the hook and primary keywords (only visible lines before "Show more").
49
+ - Use 5-10 tags and 2-3 in-video cards linking to related content. Mark pattern interrupt cues (B-roll, graphics, angle changes) directly in the script.
50
+
51
+ ## Output Format
52
+
53
+ ```
54
+ === TITLE ===
55
+ [Video title — 50-70 characters optimal, max 100. Curiosity gap + specific benefit. Front-load keywords.]
56
+ === THUMBNAIL CONCEPT ===
57
+ [Visual description: subject/face expression, text overlay (3-4 words max), color scheme, composition. Must be readable at mobile thumbnail size.]
58
+
59
+ === HOOK (0-30s) ===
60
+ [Spoken script for the first 30 seconds. State the premise, preview the payoff, create the curiosity loop.]
61
+ [Visual cues]: [What appears on screen during the hook]
62
+
63
+ === INTRO (30s-1min) ===
64
+ [Brief context — why this matters, who this is for. Keep under 30 seconds.]
65
+ [Visual cues]: [Supporting visuals]
66
+
67
+ === BODY ===
68
+ Section 1: [Subheading] (Timestamp: ~1:00-X:XX)
69
+ [Script — spoken content] | [Pattern interrupts]: [B-roll, graphic cues] | [Key point]: [Takeaway]
70
+
71
+ Section 2: [Subheading] (Timestamp: ~X:XX-X:XX)
72
+ [Script — spoken content] | [Pattern interrupts]: [B-roll, graphic cues] | [Key point]: [Takeaway]
73
+
74
+ Section 3: [Subheading] (Timestamp: ~X:XX-X:XX)
75
+ [Script — spoken content] | [Pattern interrupts]: [B-roll, graphic cues] | [Key point]: [Takeaway]
76
+
77
+ === CLIMAX (at ~60-70% through) ===
78
+ [The "aha" moment — most valuable insight or reveal] | [Visual cues]: [How to emphasize visually]
79
+
80
+ === SUMMARY (last 1-2 min) ===
81
+ [Recap of key points. Reinforce the primary takeaway.]
82
+
83
+ === CTA + END SCREEN (last 20s) ===
84
+ [One primary CTA] | [End screen elements]: [Subscribe button, next video card]
85
+
86
+ === DESCRIPTION ===
87
+ [First 2 lines: Hook + primary keywords (visible before "Show more")]
88
+ [Video summary — 2-3 sentences]
89
+ TIMESTAMPS:
90
+ 0:00 - [Hook/Intro] | X:XX - [Section 1] | X:XX - [Section 2] | X:XX - [Section 3] | X:XX - [Summary/CTA]
91
+ [Links: related videos, resources, social media]
92
+
93
+ === TAGS ===
94
+ [5-10 relevant keyword tags, comma-separated]
95
+ ```
96
+
97
+ ## Quality Criteria
98
+
99
+ - [ ] Thumbnail concept is defined before the script, with face/emotion, 3-4 word text overlay, and high contrast design
100
+ - [ ] Title is 50-70 characters, front-loads keywords, and combines curiosity gap with specific benefit
101
+ - [ ] Hook establishes stakes and creates an open loop within the first 30 seconds
102
+ - [ ] Hook does not ask for likes/subs before delivering value
103
+ - [ ] Script includes pattern interrupt cues every 30-60 seconds (B-roll, graphics, angle changes)
104
+ - [ ] Body contains 3-5 distinct sections with clear subheadings
105
+ - [ ] Climax/key insight is placed at 60-70% through the video
106
+ - [ ] Total estimated duration is 8-15 minutes
107
+ - [ ] Description includes timestamps for chapter navigation
108
+ - [ ] First 2 lines of the description contain the hook and primary keywords
109
+ - [ ] End screen uses the last 20 seconds with one primary CTA
110
+
111
+ ## Anti-Patterns
112
+
113
+ - **Clickbait that does not deliver** — Misleading thumbnails and titles cause early drop-off, destroying average view duration and algorithmic trust. The video must fulfill the thumbnail's promise.
114
+ - **Slow intros** — "Hey guys, welcome back to my channel, so today we are going to..." loses viewers immediately. Hook first, personal introduction later (or never).
115
+ - **Asking for likes/subs in the first 30 seconds** — The viewer has received no value yet. Earn the ask by delivering value first, then requesting engagement.
116
+ - **No timestamps** — Long videos without chapters frustrate viewers who want to navigate to specific sections, hurting retention and rewatch potential.
117
+ - **Generic thumbnails** — Text-only or auto-generated thumbnails get dramatically lower CTR. Always design a custom thumbnail with face, emotion, and minimal text.
118
+ - **No pattern interrupts** — Static talking-head without visual variety causes retention drop-off after 60 seconds. The audience's attention must be actively maintained.
119
+ - **Too many CTAs** — "Like, subscribe, hit the bell, follow me on Instagram, check out my course, buy my merch..." dilutes every ask. Pick one primary CTA per video.
120
+ - **Inconsistent upload schedule** — The algorithm and your audience both expect predictability. Erratic publishing kills momentum.
121
+ - **Uploading without a custom thumbnail** — Auto-generated thumbnails are never acceptable. Always upload a designed thumbnail.
122
+ - **Ignoring comments** — Creator replies boost comment visibility and signal community health. Unanswered comment sections look abandoned.
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: "YouTube Shorts"
3
+ platform: "youtube"
4
+ content_type: "shorts"
5
+ description: "Short-form vertical video optimized for the Shorts feed, loop replays, and rapid audience growth"
6
+ whenToUse: |
7
+ Creating agents that produce YouTube Shorts or short-form vertical video for YouTube.
8
+ constraints:
9
+ max_duration_seconds: 60
10
+ aspect_ratio: "9:16 vertical"
11
+ hashtags: "3-5 max, include #Shorts"
12
+ version: "1.0.0"
13
+ ---
14
+
15
+ ## Platform Rules
16
+
17
+ - YouTube Shorts have a separate algorithm from long-form videos. Shorts views do not directly boost long-form distribution, and vice versa. Treat them as distinct content strategies.
18
+ - The Shorts feed is swipe-based. Viewers decide to stay or swipe in the first 1-2 seconds. The hook window is even shorter than Reels or TikTok.
19
+ - Completion rate and replays are the primary algorithmic signals. A Short that loops seamlessly and gets rewatched will be distributed far more widely than a longer Short with low completion.
20
+ - Shorts can be posted any day of the week. The Shorts feed is less time-dependent than long-form uploads.
21
+ - Including "#Shorts" in the title or description ensures proper categorization in the Shorts feed. Without it, the video may not surface in the dedicated Shorts experience.
22
+ - Shorts work best for teasers, quick tips, behind-the-scenes content, and reaction/commentary clips. They serve as a top-of-funnel audience growth tool.
23
+ - Frequency: 2-3 Shorts per week as supplements to long-form content is a sustainable cadence.
24
+ - Hashtags are low-priority on YouTube compared to other platforms, but 3-5 relevant hashtags in the description help with initial categorization. The first 3 hashtags appear above the title.
25
+
26
+ ## Content Structure
27
+
28
+ ### Shorts Sequence
29
+
30
+ 1. **Hook (0-2 seconds)** — Text overlay or spoken hook that immediately creates curiosity. "Here is the trick nobody talks about..." or "Stop doing X, do this instead." The viewer is one swipe away from leaving. Make the first frame impossible to ignore.
31
+ 2. **Delivery (2-50 seconds)** — One point, one story, one tip. No fluff, no tangents, no filler. Get to the value immediately and deliver it concisely. Maintain visual variety with cuts, text overlays, and angle changes.
32
+ 3. **Punchline/Loop (last 5-10 seconds)** — The payoff that ideally loops back into the hook. Design the ending to visually or narratively connect to the beginning, creating a seamless loop that encourages replays.
33
+
34
+ ### Loop Design Techniques
35
+
36
+ - End with a statement that leads directly into the opening hook. "And that is exactly why..." (cut to) "Here is the trick nobody talks about..."
37
+ - Use visual match cuts: the last frame of the Short matches the first frame.
38
+ - Pose a question at the end that the beginning of the Short answers.
39
+ - Circular storytelling: end the story at the same point it began, with new context.
40
+
41
+ ## Writing Guidelines
42
+
43
+ - **Hook must be instant.** The first 2 seconds determine everything. Use bold text overlays, a provocative opening statement, or a visually striking action. No title cards, no logos, no "hey guys."
44
+ - Keep Shorts between 15-45 seconds for maximum completion rate. Shorter is generally better for the Shorts algorithm.
45
+ - Add text overlays throughout the Short. Many viewers watch without sound. Key points, labels, and captions burned into the video are essential.
46
+ - Write scripts at a fast, energetic pace. Shorts reward density. Cut all filler words: "um," "so," "basically," "you know."
47
+ - Shoot natively in vertical 9:16. Never crop a horizontal video into vertical. Cropped content looks lazy, wastes screen space, and performs poorly.
48
+ - One topic, one takeaway. A Short that tries to cover 3 points communicates none effectively. If you have multiple points, make multiple Shorts.
49
+ - Include "#Shorts" in the title or description. Add 2-3 additional topic-relevant hashtags.
50
+ - Title should be concise and curiosity-driven. It appears below the Short in browse and search.
51
+ - Description should include #Shorts, relevant hashtags, and a brief context line.
52
+
53
+ ## Output Format
54
+
55
+ ```
56
+ === SHORTS SCRIPT ===
57
+
58
+ HOOK (0-2s):
59
+ [Visual]: [What appears on screen — action, scene, or text overlay]
60
+ [Audio]: [Spoken hook or music cue]
61
+ [Text Overlay]: [Bold on-screen text — max 8 words, large font]
62
+
63
+ DELIVERY (2-50s):
64
+ [Visual]: [Shot-by-shot breakdown — cuts every 3-5 seconds]
65
+ [Script]: [Full spoken script for delivery. Fast pace, no filler.]
66
+ [Text Overlays]: [Key points highlighted on screen at timestamps]
67
+
68
+ PUNCHLINE/LOOP (last 5-10s):
69
+ [Visual]: [Final shot — designed to connect back to the hook]
70
+ [Script]: [Closing statement or reveal that loops into the opening]
71
+ [Text Overlay]: [Punchline text on screen]
72
+
73
+ === TITLE ===
74
+ [Short, curiosity-driven title — appears below the Short in browse]
75
+
76
+ === DESCRIPTION ===
77
+ [Brief context line — 1 sentence]
78
+
79
+ #Shorts #hashtag2 #hashtag3 #hashtag4
80
+ [3-5 hashtags including #Shorts]
81
+
82
+ === LOOP NOTE ===
83
+ [How the ending connects to the beginning for seamless replay]
84
+
85
+ === AUDIO NOTE ===
86
+ [Original audio direction or trending sound suggestion]
87
+ ```
88
+
89
+ ## Quality Criteria
90
+
91
+ - [ ] Hook delivers a clear curiosity gap or visual hook within the first 2 seconds
92
+ - [ ] Total duration is 15-45 seconds for optimal completion rate
93
+ - [ ] Content is one topic, one takeaway — no multi-point delivery
94
+ - [ ] Text overlays are present throughout for sound-off viewing
95
+ - [ ] Ending is designed for loop potential (visual or narrative connection to the start)
96
+ - [ ] Video is natively vertical 9:16, not cropped from horizontal footage
97
+ - [ ] "#Shorts" is included in the title or description
98
+ - [ ] Script is tight with no filler words or unnecessary pauses
99
+ - [ ] Title is concise and creates curiosity
100
+ - [ ] Description includes 3-5 relevant hashtags
101
+
102
+ ## Anti-Patterns
103
+
104
+ - **Horizontal Shorts** — Cropping a widescreen video into vertical 9:16 looks lazy and performs poorly. Always shoot natively vertical.
105
+ - **Slow intros** — Any delay before the hook (logos, "welcome back," title cards) causes immediate swipe-away. The first frame must hook the viewer.
106
+ - **No text overlays** — Many Shorts viewers watch without sound. A Short without burned-in text or captions loses a significant portion of its audience.
107
+ - **Trying to cover too much** — A 60-second Short with 5 tips communicates none of them memorably. One point, delivered clearly, is always more effective.
108
+ - **Missing #Shorts tag** — Without "#Shorts" in the title or description, the video may not surface in the dedicated Shorts feed, dramatically reducing its distribution.
109
+ - **Repurposed horizontal video** — Simply re-uploading a clip from a long-form video without reframing for vertical is immediately obvious and signals low effort.
110
+ - **No loop design** — Shorts that end abruptly without connecting back to the beginning miss the replay signal that drives algorithmic distribution.
111
+ - **Ignoring comments** — Creator replies boost comment visibility and signal active community engagement. Unanswered Shorts comments reduce future distribution.
112
+ - **Clickbait that does not deliver** — The payoff must match the hook's promise. Shorts viewers are ruthless with the swipe button when they feel misled.