invos 1.0.0

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 (346) hide show
  1. package/README.md +39 -0
  2. package/bin/invos.js +78 -0
  3. package/kit/.agents/skills/apple/DESCRIPTION.md +2 -0
  4. package/kit/.agents/skills/apple/apple-notes/SKILL.md +90 -0
  5. package/kit/.agents/skills/apple/apple-reminders/SKILL.md +130 -0
  6. package/kit/.agents/skills/audit/SKILL.md +177 -0
  7. package/kit/.agents/skills/design-marca/SKILL.md +92 -0
  8. package/kit/.agents/skills/humanizer/SKILL.md +476 -0
  9. package/kit/.agents/skills/instagram-carrossel/SKILL.md +79 -0
  10. package/kit/.agents/skills/instagram-carrossel/references/fetch-assets.md +77 -0
  11. package/kit/.agents/skills/instagram-carrossel/references/publish.md +48 -0
  12. package/kit/.agents/skills/instagram-carrossel/references/render-png.md +147 -0
  13. package/kit/.agents/skills/instagram-carrossel/scripts/publish.js +165 -0
  14. package/kit/.agents/skills/llm-wiki/SKILL.md +507 -0
  15. package/kit/.agents/skills/onboard/SKILL.md +152 -0
  16. package/kit/.agents/skills/pd-ikigai/SKILL.md +269 -0
  17. package/kit/.agents/skills/popular-web-designs/SKILL.md +214 -0
  18. package/kit/.agents/skills/popular-web-designs/templates/airbnb.md +259 -0
  19. package/kit/.agents/skills/popular-web-designs/templates/airtable.md +102 -0
  20. package/kit/.agents/skills/popular-web-designs/templates/apple.md +326 -0
  21. package/kit/.agents/skills/popular-web-designs/templates/bmw.md +193 -0
  22. package/kit/.agents/skills/popular-web-designs/templates/cal.md +272 -0
  23. package/kit/.agents/skills/popular-web-designs/templates/claude.md +325 -0
  24. package/kit/.agents/skills/popular-web-designs/templates/clay.md +317 -0
  25. package/kit/.agents/skills/popular-web-designs/templates/clickhouse.md +294 -0
  26. package/kit/.agents/skills/popular-web-designs/templates/cohere.md +279 -0
  27. package/kit/.agents/skills/popular-web-designs/templates/coinbase.md +142 -0
  28. package/kit/.agents/skills/popular-web-designs/templates/composio.md +320 -0
  29. package/kit/.agents/skills/popular-web-designs/templates/cursor.md +322 -0
  30. package/kit/.agents/skills/popular-web-designs/templates/elevenlabs.md +278 -0
  31. package/kit/.agents/skills/popular-web-designs/templates/expo.md +294 -0
  32. package/kit/.agents/skills/popular-web-designs/templates/figma.md +233 -0
  33. package/kit/.agents/skills/popular-web-designs/templates/framer.md +259 -0
  34. package/kit/.agents/skills/popular-web-designs/templates/hashicorp.md +291 -0
  35. package/kit/.agents/skills/popular-web-designs/templates/ibm.md +345 -0
  36. package/kit/.agents/skills/popular-web-designs/templates/intercom.md +159 -0
  37. package/kit/.agents/skills/popular-web-designs/templates/kraken.md +138 -0
  38. package/kit/.agents/skills/popular-web-designs/templates/linear.app.md +380 -0
  39. package/kit/.agents/skills/popular-web-designs/templates/lovable.md +311 -0
  40. package/kit/.agents/skills/popular-web-designs/templates/minimax.md +270 -0
  41. package/kit/.agents/skills/popular-web-designs/templates/mintlify.md +339 -0
  42. package/kit/.agents/skills/popular-web-designs/templates/miro.md +121 -0
  43. package/kit/.agents/skills/popular-web-designs/templates/mistral.ai.md +274 -0
  44. package/kit/.agents/skills/popular-web-designs/templates/mongodb.md +279 -0
  45. package/kit/.agents/skills/popular-web-designs/templates/notion.md +322 -0
  46. package/kit/.agents/skills/popular-web-designs/templates/nvidia.md +306 -0
  47. package/kit/.agents/skills/popular-web-designs/templates/ollama.md +280 -0
  48. package/kit/.agents/skills/popular-web-designs/templates/opencode.ai.md +294 -0
  49. package/kit/.agents/skills/popular-web-designs/templates/pinterest.md +243 -0
  50. package/kit/.agents/skills/popular-web-designs/templates/posthog.md +269 -0
  51. package/kit/.agents/skills/popular-web-designs/templates/raycast.md +281 -0
  52. package/kit/.agents/skills/popular-web-designs/templates/replicate.md +274 -0
  53. package/kit/.agents/skills/popular-web-designs/templates/resend.md +316 -0
  54. package/kit/.agents/skills/popular-web-designs/templates/revolut.md +198 -0
  55. package/kit/.agents/skills/popular-web-designs/templates/runwayml.md +257 -0
  56. package/kit/.agents/skills/popular-web-designs/templates/sanity.md +370 -0
  57. package/kit/.agents/skills/popular-web-designs/templates/sentry.md +275 -0
  58. package/kit/.agents/skills/popular-web-designs/templates/spacex.md +207 -0
  59. package/kit/.agents/skills/popular-web-designs/templates/spotify.md +259 -0
  60. package/kit/.agents/skills/popular-web-designs/templates/stripe.md +335 -0
  61. package/kit/.agents/skills/popular-web-designs/templates/supabase.md +268 -0
  62. package/kit/.agents/skills/popular-web-designs/templates/superhuman.md +265 -0
  63. package/kit/.agents/skills/popular-web-designs/templates/together.ai.md +276 -0
  64. package/kit/.agents/skills/popular-web-designs/templates/uber.md +308 -0
  65. package/kit/.agents/skills/popular-web-designs/templates/vercel.md +323 -0
  66. package/kit/.agents/skills/popular-web-designs/templates/voltagent.md +336 -0
  67. package/kit/.agents/skills/popular-web-designs/templates/warp.md +266 -0
  68. package/kit/.agents/skills/popular-web-designs/templates/webflow.md +105 -0
  69. package/kit/.agents/skills/popular-web-designs/templates/wise.md +186 -0
  70. package/kit/.agents/skills/popular-web-designs/templates/x.ai.md +270 -0
  71. package/kit/.agents/skills/popular-web-designs/templates/zapier.md +341 -0
  72. package/kit/.agents/skills/productivity/DESCRIPTION.md +3 -0
  73. package/kit/.agents/skills/productivity/google-workspace/SKILL.md +335 -0
  74. package/kit/.agents/skills/productivity/google-workspace/references/gmail-search-syntax.md +63 -0
  75. package/kit/.agents/skills/productivity/google-workspace/scripts/_hermes_home.py +42 -0
  76. package/kit/.agents/skills/productivity/google-workspace/scripts/google_api.py +1225 -0
  77. package/kit/.agents/skills/productivity/google-workspace/scripts/gws_bridge.py +111 -0
  78. package/kit/.agents/skills/productivity/google-workspace/scripts/setup.py +481 -0
  79. package/kit/.agents/skills/productivity/nano-pdf/SKILL.md +52 -0
  80. package/kit/.agents/skills/productivity/notion/SKILL.md +448 -0
  81. package/kit/.agents/skills/productivity/notion/references/block-types.md +112 -0
  82. package/kit/.agents/skills/productivity/ocr-and-documents/DESCRIPTION.md +3 -0
  83. package/kit/.agents/skills/productivity/ocr-and-documents/SKILL.md +172 -0
  84. package/kit/.agents/skills/productivity/ocr-and-documents/scripts/extract_marker.py +87 -0
  85. package/kit/.agents/skills/productivity/ocr-and-documents/scripts/extract_pymupdf.py +98 -0
  86. package/kit/.agents/skills/productivity/powerpoint/LICENSE.txt +30 -0
  87. package/kit/.agents/skills/productivity/powerpoint/SKILL.md +237 -0
  88. package/kit/.agents/skills/productivity/powerpoint/editing.md +205 -0
  89. package/kit/.agents/skills/productivity/powerpoint/pptxgenjs.md +420 -0
  90. package/kit/.agents/skills/productivity/powerpoint/scripts/__init__.py +0 -0
  91. package/kit/.agents/skills/productivity/powerpoint/scripts/add_slide.py +195 -0
  92. package/kit/.agents/skills/productivity/powerpoint/scripts/clean.py +286 -0
  93. package/kit/.agents/skills/productivity/powerpoint/scripts/office/helpers/__init__.py +0 -0
  94. package/kit/.agents/skills/productivity/powerpoint/scripts/office/helpers/merge_runs.py +199 -0
  95. package/kit/.agents/skills/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py +197 -0
  96. package/kit/.agents/skills/productivity/powerpoint/scripts/office/pack.py +159 -0
  97. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  98. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  99. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  100. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  101. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  102. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  103. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  104. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  105. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  106. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  107. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  108. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  109. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  110. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  111. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  112. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  113. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  114. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  115. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  116. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  117. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  118. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  119. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  120. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  121. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  122. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  123. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  124. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-contentTypes.xsd +42 -0
  125. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-coreProperties.xsd +50 -0
  126. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-digSig.xsd +49 -0
  127. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-relationships.xsd +33 -0
  128. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd +75 -0
  129. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  130. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  131. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  132. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  133. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  134. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  135. package/kit/.agents/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  136. package/kit/.agents/skills/proposta/SKILL.md +159 -0
  137. package/kit/.agents/skills/proposta/references/proposta-avancada.md +17 -0
  138. package/kit/.agents/skills/proposta/references/proposta.html +187 -0
  139. package/kit/.agents/skills/session-checkpoint/SKILL.md +80 -0
  140. package/kit/.agents/skills/session-end/SKILL.md +166 -0
  141. package/kit/.agents/skills/session-start/SKILL.md +149 -0
  142. package/kit/.agents/skills/social-content/SKILL.md +119 -0
  143. package/kit/.agents/skills/stop-slop/CHANGELOG.md +24 -0
  144. package/kit/.agents/skills/stop-slop/LICENSE +21 -0
  145. package/kit/.agents/skills/stop-slop/README.md +62 -0
  146. package/kit/.agents/skills/stop-slop/SKILL.md +68 -0
  147. package/kit/.agents/skills/stop-slop/references/examples.md +59 -0
  148. package/kit/.agents/skills/stop-slop/references/phrases.md +128 -0
  149. package/kit/.agents/skills/stop-slop/references/structures.md +134 -0
  150. package/kit/.agents/squads/advisory-board/README.md +34 -0
  151. package/kit/.agents/squads/advisory-board/agents/board-chair.md +161 -0
  152. package/kit/.agents/squads/advisory-board/agents/brene-brown.md +296 -0
  153. package/kit/.agents/squads/advisory-board/agents/charlie-munger.md +590 -0
  154. package/kit/.agents/squads/advisory-board/agents/derek-sivers.md +268 -0
  155. package/kit/.agents/squads/advisory-board/agents/naval-ravikant.md +251 -0
  156. package/kit/.agents/squads/advisory-board/agents/patrick-lencioni.md +394 -0
  157. package/kit/.agents/squads/advisory-board/agents/peter-thiel.md +269 -0
  158. package/kit/.agents/squads/advisory-board/agents/ray-dalio.md +587 -0
  159. package/kit/.agents/squads/advisory-board/agents/reid-hoffman.md +278 -0
  160. package/kit/.agents/squads/advisory-board/agents/simon-sinek.md +291 -0
  161. package/kit/.agents/squads/advisory-board/agents/yvon-chouinard.md +275 -0
  162. package/kit/.agents/squads/advisory-board/checklists/output-quality.md +73 -0
  163. package/kit/.agents/squads/advisory-board/config/config.yaml +67 -0
  164. package/kit/.agents/squads/advisory-board/data/mental-models-catalog.yaml +178 -0
  165. package/kit/.agents/squads/advisory-board/data/routing-catalog.yaml +89 -0
  166. package/kit/.agents/squads/advisory-board/squad.yaml +50 -0
  167. package/kit/.agents/squads/advisory-board/tasks/convene-board.md +152 -0
  168. package/kit/.agents/squads/advisory-board/tasks/diagnose.md +138 -0
  169. package/kit/.agents/squads/advisory-board/tasks/evaluate-scaling.md +165 -0
  170. package/kit/.agents/squads/advisory-board/tasks/get-founder-counsel.md +169 -0
  171. package/kit/.agents/squads/advisory-board/tasks/resolve-culture-crisis.md +164 -0
  172. package/kit/.agents/squads/advisory-board/tasks/review.md +133 -0
  173. package/kit/.agents/squads/advisory-board/tasks/seek-investment-counsel.md +161 -0
  174. package/kit/.agents/squads/advisory-board/workflows/wf-board-meeting.yaml +115 -0
  175. package/kit/.agents/squads/advisory-board/workflows/wf-decision-framework.yaml +135 -0
  176. package/kit/.agents/squads/brand/README.md +179 -0
  177. package/kit/.agents/squads/brand/agents/alexandra-watkins.md +1869 -0
  178. package/kit/.agents/squads/brand/agents/april-dunford.md +1781 -0
  179. package/kit/.agents/squads/brand/agents/brand-chief.md +600 -0
  180. package/kit/.agents/squads/brand/agents/emily-heyward.md +1685 -0
  181. package/kit/.agents/squads/brand/agents/marty-neumeier.md +1642 -0
  182. package/kit/.agents/squads/brand/agents/michael-johnson.md +1814 -0
  183. package/kit/.agents/squads/brand/agents/sagi-haviv.md +2025 -0
  184. package/kit/.agents/squads/brand/checklists/brand-book-checklist.md +31 -0
  185. package/kit/.agents/squads/brand/checklists/brand-launch-checklist.md +52 -0
  186. package/kit/.agents/squads/brand/checklists/brand-strategy-checklist.md +45 -0
  187. package/kit/.agents/squads/brand/checklists/naming-checklist.md +48 -0
  188. package/kit/.agents/squads/brand/checklists/positioning-checklist.md +48 -0
  189. package/kit/.agents/squads/brand/checklists/smoke-tests.md +180 -0
  190. package/kit/.agents/squads/brand/checklists/visual-identity-checklist.md +61 -0
  191. package/kit/.agents/squads/brand/config.yaml +135 -0
  192. package/kit/.agents/squads/brand/data/brand-archetypes.md +135 -0
  193. package/kit/.agents/squads/brand/data/brand-audit-methodology.md +99 -0
  194. package/kit/.agents/squads/brand/data/brand-pantheon.md +61 -0
  195. package/kit/.agents/squads/brand/data/brand-voice-matrix.md +92 -0
  196. package/kit/.agents/squads/brand/data/color-psychology.md +125 -0
  197. package/kit/.agents/squads/brand/squad.yaml +123 -0
  198. package/kit/.agents/squads/brand/tasks/brand-audit.md +150 -0
  199. package/kit/.agents/squads/brand/tasks/brand-book-creation.md +136 -0
  200. package/kit/.agents/squads/brand/tasks/brand-diagnosis.md +135 -0
  201. package/kit/.agents/squads/brand/tasks/brand-touchpoint-audit.md +100 -0
  202. package/kit/.agents/squads/brand/tasks/coherence-check.md +132 -0
  203. package/kit/.agents/squads/brand/tasks/logo-evaluation.md +103 -0
  204. package/kit/.agents/squads/brand/tasks/movement-architecture.md +136 -0
  205. package/kit/.agents/squads/brand/tasks/naming-exercise.md +134 -0
  206. package/kit/.agents/squads/brand/tasks/positioning-exercise.md +146 -0
  207. package/kit/.agents/squads/brand/tasks/research-references.md +225 -0
  208. package/kit/.agents/squads/brand/tasks/visual-identity-brief.md +134 -0
  209. package/kit/.agents/squads/brand/templates/brand-book-tmpl.md +148 -0
  210. package/kit/.agents/squads/brand/templates/brand-soul-canvas-tmpl.md +80 -0
  211. package/kit/.agents/squads/brand/templates/naming-brief-tmpl.md +83 -0
  212. package/kit/.agents/squads/brand/templates/positioning-canvas-tmpl.md +60 -0
  213. package/kit/.agents/squads/brand/templates/visual-identity-brief-tmpl.md +109 -0
  214. package/kit/.agents/squads/brand/workflows/wf-brand-audit.yaml +148 -0
  215. package/kit/.agents/squads/brand/workflows/wf-brand-from-zero.yaml +229 -0
  216. package/kit/.agents/squads/brand/workflows/wf-brief-to-references.yaml +141 -0
  217. package/kit/.agents/squads/hormozi-squad/README.md +25 -0
  218. package/kit/.agents/squads/hormozi-squad/agents/hormozi-ads.md +159 -0
  219. package/kit/.agents/squads/hormozi-squad/agents/hormozi-advisor.md +178 -0
  220. package/kit/.agents/squads/hormozi-squad/agents/hormozi-audit.md +178 -0
  221. package/kit/.agents/squads/hormozi-squad/agents/hormozi-chief.md +121 -0
  222. package/kit/.agents/squads/hormozi-squad/agents/hormozi-closer.md +179 -0
  223. package/kit/.agents/squads/hormozi-squad/agents/hormozi-content.md +166 -0
  224. package/kit/.agents/squads/hormozi-squad/agents/hormozi-copy.md +152 -0
  225. package/kit/.agents/squads/hormozi-squad/agents/hormozi-hooks.md +177 -0
  226. package/kit/.agents/squads/hormozi-squad/agents/hormozi-launch.md +160 -0
  227. package/kit/.agents/squads/hormozi-squad/agents/hormozi-leads.md +198 -0
  228. package/kit/.agents/squads/hormozi-squad/agents/hormozi-models.md +191 -0
  229. package/kit/.agents/squads/hormozi-squad/agents/hormozi-offers.md +197 -0
  230. package/kit/.agents/squads/hormozi-squad/agents/hormozi-pricing.md +151 -0
  231. package/kit/.agents/squads/hormozi-squad/agents/hormozi-retention.md +166 -0
  232. package/kit/.agents/squads/hormozi-squad/agents/hormozi-scale.md +175 -0
  233. package/kit/.agents/squads/hormozi-squad/agents/hormozi-workshop.md +160 -0
  234. package/kit/.agents/squads/hormozi-squad/checklists/output-quality.md +71 -0
  235. package/kit/.agents/squads/hormozi-squad/config/config.yaml +183 -0
  236. package/kit/.agents/squads/hormozi-squad/data/hormozi-frameworks.yaml +105 -0
  237. package/kit/.agents/squads/hormozi-squad/data/routing-catalog.yaml +94 -0
  238. package/kit/.agents/squads/hormozi-squad/squad.yaml +60 -0
  239. package/kit/.agents/squads/hormozi-squad/tasks/audit-business.md +186 -0
  240. package/kit/.agents/squads/hormozi-squad/tasks/close-sale.md +179 -0
  241. package/kit/.agents/squads/hormozi-squad/tasks/create-hooks.md +159 -0
  242. package/kit/.agents/squads/hormozi-squad/tasks/create-offer.md +178 -0
  243. package/kit/.agents/squads/hormozi-squad/tasks/design-workshop.md +192 -0
  244. package/kit/.agents/squads/hormozi-squad/tasks/diagnose.md +166 -0
  245. package/kit/.agents/squads/hormozi-squad/tasks/generate-leads.md +187 -0
  246. package/kit/.agents/squads/hormozi-squad/tasks/plan-launch.md +179 -0
  247. package/kit/.agents/squads/hormozi-squad/tasks/review.md +133 -0
  248. package/kit/.agents/squads/hormozi-squad/tasks/set-pricing.md +167 -0
  249. package/kit/.agents/squads/hormozi-squad/workflows/wf-business-turnaround.yaml +104 -0
  250. package/kit/.agents/squads/hormozi-squad/workflows/wf-offer-creation.yaml +105 -0
  251. package/kit/.agents/squads/index.md +14 -0
  252. package/kit/.agents/squads/instagram-carrossel/DEPENDENCIES.md +75 -0
  253. package/kit/.agents/squads/instagram-carrossel/README.md +52 -0
  254. package/kit/.agents/squads/instagram-carrossel/RUN.md +115 -0
  255. package/kit/.agents/squads/instagram-carrossel/_memory/memories.md +16 -0
  256. package/kit/.agents/squads/instagram-carrossel/agents/copywriter/tasks/create-slides.md +96 -0
  257. package/kit/.agents/squads/instagram-carrossel/agents/copywriter/tasks/generate-angles.md +111 -0
  258. package/kit/.agents/squads/instagram-carrossel/agents/copywriter/tasks/optimize-copy.md +81 -0
  259. package/kit/.agents/squads/instagram-carrossel/agents/copywriter.custom.md +73 -0
  260. package/kit/.agents/squads/instagram-carrossel/agents/image-designer/tasks/create-slides.md +132 -0
  261. package/kit/.agents/squads/instagram-carrossel/agents/image-designer/tasks/propose-visual-identities.md +89 -0
  262. package/kit/.agents/squads/instagram-carrossel/agents/image-designer/tasks/render-export.md +100 -0
  263. package/kit/.agents/squads/instagram-carrossel/agents/image-designer.custom.md +47 -0
  264. package/kit/.agents/squads/instagram-carrossel/agents/publisher/tasks/validate-publish.md +50 -0
  265. package/kit/.agents/squads/instagram-carrossel/agents/publisher.custom.md +26 -0
  266. package/kit/.agents/squads/instagram-carrossel/agents/researcher/tasks/find-and-rank-news.md +105 -0
  267. package/kit/.agents/squads/instagram-carrossel/agents/researcher.custom.md +46 -0
  268. package/kit/.agents/squads/instagram-carrossel/agents/reviewer/tasks/generate-feedback.md +91 -0
  269. package/kit/.agents/squads/instagram-carrossel/agents/reviewer/tasks/score-content.md +103 -0
  270. package/kit/.agents/squads/instagram-carrossel/agents/reviewer.custom.md +53 -0
  271. package/kit/.agents/squads/instagram-carrossel/output/.gitkeep +0 -0
  272. package/kit/.agents/squads/instagram-carrossel/output/slides/.gitkeep +0 -0
  273. package/kit/.agents/squads/instagram-carrossel/output/slides/rendered/.gitkeep +0 -0
  274. package/kit/.agents/squads/instagram-carrossel/pipeline/data/anti-patterns.md +125 -0
  275. package/kit/.agents/squads/instagram-carrossel/pipeline/data/domain-framework.md +92 -0
  276. package/kit/.agents/squads/instagram-carrossel/pipeline/data/instagram-feed-best-practices.md +235 -0
  277. package/kit/.agents/squads/instagram-carrossel/pipeline/data/output-examples.md +244 -0
  278. package/kit/.agents/squads/instagram-carrossel/pipeline/data/quality-criteria.md +120 -0
  279. package/kit/.agents/squads/instagram-carrossel/pipeline/data/research-brief.md +135 -0
  280. package/kit/.agents/squads/instagram-carrossel/pipeline/data/tone-of-voice.md +32 -0
  281. package/kit/.agents/squads/instagram-carrossel/pipeline/pipeline.yaml +136 -0
  282. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-01-input-content.md +38 -0
  283. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-02-find-news.md +42 -0
  284. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-03-select-story.md +59 -0
  285. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-04-generate-angles.md +45 -0
  286. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-05-select-angle.md +64 -0
  287. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-06-create-copy.md +51 -0
  288. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-07-approve-copy.md +52 -0
  289. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-08-propose-visuals.md +42 -0
  290. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-09-select-visual.md +61 -0
  291. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-10-create-slides.md +55 -0
  292. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-11-approve-images.md +60 -0
  293. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-12-review.md +55 -0
  294. package/kit/.agents/squads/instagram-carrossel/pipeline/steps/step-13-publish.md +79 -0
  295. package/kit/.agents/squads/instagram-carrossel/squad-party.csv +6 -0
  296. package/kit/.agents/squads/instagram-carrossel/squad.yaml +70 -0
  297. package/kit/AGENTS.md +175 -0
  298. package/kit/CLAUDE.md +1 -0
  299. package/kit/COMECE-AQUI.md +207 -0
  300. package/kit/INVOS.json +37 -0
  301. package/kit/MEMORY.md +31 -0
  302. package/kit/README.md +434 -0
  303. package/kit/SECURITY.md +39 -0
  304. package/kit/clientes/README.md +72 -0
  305. package/kit/clientes/_index.md +32 -0
  306. package/kit/clientes/_template/arquivos/.gitkeep +0 -0
  307. package/kit/clientes/_template/contexto.md +21 -0
  308. package/kit/clientes/_template/entregas.md +20 -0
  309. package/kit/clientes/_template/perfil.md +47 -0
  310. package/kit/clientes/_template/propostas/.gitkeep +0 -0
  311. package/kit/conteudo/README.md +12 -0
  312. package/kit/conteudo/_fila.md +12 -0
  313. package/kit/conteudo/carrosseis/.gitkeep +0 -0
  314. package/kit/conteudo/publicados/.gitkeep +0 -0
  315. package/kit/docs/audit-enxugamento-sieve.md +187 -0
  316. package/kit/docs/cli.md +62 -0
  317. package/kit/docs/hotmart-webhook.md +96 -0
  318. package/kit/docs/lab-user.md +35 -0
  319. package/kit/docs/prd-invos-cli.md +264 -0
  320. package/kit/integracoes/README.md +31 -0
  321. package/kit/integracoes/composio/README.md +128 -0
  322. package/kit/integracoes/composio/marketing-tools.md +61 -0
  323. package/kit/marca/README.md +13 -0
  324. package/kit/marca/assets/.gitkeep +0 -0
  325. package/kit/marca/marca.md +57 -0
  326. package/kit/memoria/ativo.md +18 -0
  327. package/kit/memoria/decisoes.md +26 -0
  328. package/kit/memoria/empresa.md +46 -0
  329. package/kit/memoria/historico/README.md +8 -0
  330. package/kit/memoria/insights.md +11 -0
  331. package/kit/memoria/perfil.md +29 -0
  332. package/kit/memoria/projetos.md +27 -0
  333. package/kit/memoria/regras/_TEMPLATE-exemplo.md +15 -0
  334. package/kit/memoria/regras/task-com-dono.md +18 -0
  335. package/kit/scripts/smoke-estado.sh +32 -0
  336. package/kit/scripts/validar.sh +206 -0
  337. package/package.json +43 -0
  338. package/src/commands/doctor.js +104 -0
  339. package/src/commands/init.js +44 -0
  340. package/src/commands/install.js +41 -0
  341. package/src/commands/update.js +113 -0
  342. package/src/lock.js +47 -0
  343. package/src/manifest.js +10 -0
  344. package/src/resolve-kit.js +33 -0
  345. package/src/symlinks.js +78 -0
  346. package/src/utils.js +113 -0
@@ -0,0 +1,341 @@
1
+ # Design System: Zapier
2
+
3
+
4
+ > **Hermes Agent — Implementation Notes**
5
+ >
6
+ > The original site uses proprietary fonts. For self-contained HTML output, use these CDN substitutes:
7
+ > - **Primary:** `Inter` | **Mono:** `system monospace stack`
8
+ > - **Font stack (CSS):** `font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;`
9
+ > - **Mono stack (CSS):** `font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;`
10
+ > ```html
11
+ > <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
12
+ > ```
13
+ > Use `write_file` to create HTML, serve via `generative-widgets` skill (cloudflared tunnel).
14
+ > Verify visual accuracy with `browser_vision` after generating.
15
+
16
+ ## 1. Visual Theme & Atmosphere
17
+
18
+ Zapier's website radiates warm, approachable professionalism. It rejects the cold monochrome minimalism of developer tools in favor of a cream-tinted canvas (`#fffefb`) that feels like unbleached paper -- the digital equivalent of a well-organized notebook. The near-black (`#201515`) text has a faint reddish-brown warmth, creating an atmosphere more human than mechanical. This is automation designed to feel effortless, not technical.
19
+
20
+ The typographic system is a deliberate interplay of two distinct personalities. **Degular Display** -- a geometric, wide-set display face -- handles hero-scale headlines at 56-80px with medium weight (500) and extraordinarily tight line-heights (0.90), creating headlines that compress vertically like stacked blocks. **Inter** serves as the workhorse for everything else, from section headings to body text and navigation, with fallbacks to Helvetica and Arial. **GT Alpina**, an elegant thin-weight serif with aggressive negative letter-spacing (-1.6px to -1.92px), makes occasional appearances for softer editorial moments. This three-font system gives Zapier the ability to shift register -- from bold and punchy (Degular) to clean and functional (Inter) to refined and literary (GT Alpina).
21
+
22
+ The brand's signature orange (`#ff4f00`) is unmistakable -- a vivid, saturated red-orange that sits precisely between traffic-cone urgency and sunset warmth. It's used sparingly but decisively: primary CTA buttons, active state underlines, and accent borders. Against the warm cream background, this orange creates a color relationship that feels energetic without being aggressive.
23
+
24
+ **Key Characteristics:**
25
+ - Warm cream canvas (`#fffefb`) instead of pure white -- organic, paper-like warmth
26
+ - Near-black with reddish undertone (`#201515`) -- text that breathes rather than dominates
27
+ - Degular Display for hero headlines at 0.90 line-height -- compressed, impactful, modern
28
+ - Inter as the universal UI font across all functional typography
29
+ - GT Alpina for editorial accents -- thin-weight serif with extreme negative tracking
30
+ - Zapier Orange (`#ff4f00`) as the single accent -- vivid, warm, sparingly applied
31
+ - Warm neutral palette: borders (`#c5c0b1`), muted text (`#939084`), surface tints (`#eceae3`)
32
+ - 8px base spacing system with generous padding on CTAs (20px 24px)
33
+ - Border-forward design: `1px solid` borders in warm grays define structure over shadows
34
+
35
+ ## 2. Color Palette & Roles
36
+
37
+ ### Primary
38
+ - **Zapier Black** (`#201515`): Primary text, headings, dark button backgrounds. A warm near-black with reddish undertones -- never cold.
39
+ - **Cream White** (`#fffefb`): Page background, card surfaces, light button fills. Not pure white; the yellowish warmth is intentional.
40
+ - **Off-White** (`#fffdf9`): Secondary background surface, subtle alternate tint. Nearly indistinguishable from cream white but creates depth.
41
+
42
+ ### Brand Accent
43
+ - **Zapier Orange** (`#ff4f00`): Primary CTA buttons, active underline indicators, accent borders. The signature color -- vivid and warm.
44
+
45
+ ### Neutral Scale
46
+ - **Dark Charcoal** (`#36342e`): Secondary text, footer text, border color for strong dividers. A warm dark gray-brown with 70% opacity variant.
47
+ - **Warm Gray** (`#939084`): Tertiary text, muted labels, timestamp-style content. Mid-range with greenish-warm undertone.
48
+ - **Sand** (`#c5c0b1`): Primary border color, hover state backgrounds, divider lines. The backbone of Zapier's structural elements.
49
+ - **Light Sand** (`#eceae3`): Secondary button backgrounds, light borders, subtle card surfaces.
50
+ - **Mid Warm** (`#b5b2aa`): Alternate border tone, used on specific span elements.
51
+
52
+ ### Interactive
53
+ - **Orange CTA** (`#ff4f00`): Primary action buttons and active tab underlines.
54
+ - **Dark CTA** (`#201515`): Secondary dark buttons with sand hover state.
55
+ - **Light CTA** (`#eceae3`): Tertiary/ghost buttons with sand hover.
56
+ - **Link Default** (`#201515`): Standard link color, matching body text.
57
+ - **Hover Underline**: Links remove `text-decoration: underline` on hover (inverse pattern).
58
+
59
+ ### Overlay & Surface
60
+ - **Semi-transparent Dark** (`rgba(45, 45, 46, 0.5)`): Overlay button variant, backdrop-like elements.
61
+ - **Pill Surface** (`#fffefb`): White pill buttons with sand borders.
62
+
63
+ ### Shadows & Depth
64
+ - **Inset Underline** (`rgb(255, 79, 0) 0px -4px 0px 0px inset`): Active tab indicator -- orange underline using inset box-shadow.
65
+ - **Hover Underline** (`rgb(197, 192, 177) 0px -4px 0px 0px inset`): Inactive tab hover -- sand-colored underline.
66
+
67
+ ## 3. Typography Rules
68
+
69
+ ### Font Families
70
+ - **Display**: `Degular Display` -- wide geometric display face for hero headlines
71
+ - **Primary**: `Inter`, with fallbacks: `Helvetica, Arial`
72
+ - **Editorial**: `GT Alpina` -- thin-weight serif for editorial moments
73
+ - **System**: `Arial` -- fallback for form elements and system UI
74
+
75
+ ### Hierarchy
76
+
77
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
78
+ |------|------|------|--------|-------------|----------------|-------|
79
+ | Display Hero XL | Degular Display | 80px (5.00rem) | 500 | 0.90 (tight) | normal | Maximum impact, compressed block |
80
+ | Display Hero | Degular Display | 56px (3.50rem) | 500 | 0.90-1.10 (tight) | 0-1.12px | Primary hero headlines |
81
+ | Display Hero SM | Degular Display | 40px (2.50rem) | 500 | 0.90 (tight) | normal | Smaller hero variant |
82
+ | Display Button | Degular Display | 24px (1.50rem) | 600 | 1.00 (tight) | 1px | Large CTA button text |
83
+ | Section Heading | Inter | 48px (3.00rem) | 500 | 1.04 (tight) | normal | Major section titles |
84
+ | Editorial Heading | GT Alpina | 48px (3.00rem) | 250 | normal | -1.92px | Thin editorial headlines |
85
+ | Editorial Sub | GT Alpina | 40px (2.50rem) | 300 | 1.08 (tight) | -1.6px | Editorial subheadings |
86
+ | Sub-heading LG | Inter | 36px (2.25rem) | 500 | normal | -1px | Large sub-sections |
87
+ | Sub-heading | Inter | 32px (2.00rem) | 400 | 1.25 (tight) | normal | Standard sub-sections |
88
+ | Sub-heading MD | Inter | 28px (1.75rem) | 500 | normal | normal | Medium sub-headings |
89
+ | Card Title | Inter | 24px (1.50rem) | 600 | normal | -0.48px | Card headings |
90
+ | Body Large | Inter | 20px (1.25rem) | 400-500 | 1.00-1.20 (tight) | -0.2px | Feature descriptions |
91
+ | Body Emphasis | Inter | 18px (1.13rem) | 600 | 1.00 (tight) | normal | Emphasized body text |
92
+ | Body | Inter | 16px (1.00rem) | 400-500 | 1.20-1.25 | -0.16px | Standard reading text |
93
+ | Body Semibold | Inter | 16px (1.00rem) | 600 | 1.16 (tight) | normal | Strong labels |
94
+ | Button | Inter | 16px (1.00rem) | 600 | normal | normal | Standard buttons |
95
+ | Button SM | Inter | 14px (0.88rem) | 600 | normal | normal | Small buttons |
96
+ | Caption | Inter | 14px (0.88rem) | 500 | 1.25-1.43 | normal | Labels, metadata |
97
+ | Caption Upper | Inter | 14px (0.88rem) | 600 | normal | 0.5px | Uppercase section labels |
98
+ | Micro | Inter | 12px (0.75rem) | 600 | 0.90-1.33 | 0.5px | Tiny labels, often uppercase |
99
+ | Micro SM | Inter | 13px (0.81rem) | 500 | 1.00-1.54 | normal | Small metadata text |
100
+
101
+ ### Principles
102
+ - **Three-font system, clear roles**: Degular Display commands attention at hero scale only. Inter handles everything functional. GT Alpina adds editorial warmth sparingly.
103
+ - **Compressed display**: Degular at 0.90 line-height creates vertically compressed headline blocks that feel modern and architectural.
104
+ - **Weight as hierarchy signal**: Inter uses 400 (reading), 500 (navigation/emphasis), 600 (headings/CTAs). Degular uses 500 (display) and 600 (buttons).
105
+ - **Uppercase for labels**: Section labels (like "01 / Colors") and small categorization use `text-transform: uppercase` with 0.5px letter-spacing.
106
+ - **Negative tracking for elegance**: GT Alpina uses -1.6px to -1.92px letter-spacing for its thin-weight editorial headlines.
107
+
108
+ ## 4. Component Stylings
109
+
110
+ ### Buttons
111
+
112
+ **Primary Orange**
113
+ - Background: `#ff4f00`
114
+ - Text: `#fffefb`
115
+ - Padding: 8px 16px
116
+ - Radius: 4px
117
+ - Border: `1px solid #ff4f00`
118
+ - Use: Primary CTA ("Start free with email", "Sign up free")
119
+
120
+ **Primary Dark**
121
+ - Background: `#201515`
122
+ - Text: `#fffefb`
123
+ - Padding: 20px 24px
124
+ - Radius: 8px
125
+ - Border: `1px solid #201515`
126
+ - Hover: background shifts to `#c5c0b1`, text to `#201515`
127
+ - Use: Large secondary CTA buttons
128
+
129
+ **Light / Ghost**
130
+ - Background: `#eceae3`
131
+ - Text: `#36342e`
132
+ - Padding: 20px 24px
133
+ - Radius: 8px
134
+ - Border: `1px solid #c5c0b1`
135
+ - Hover: background shifts to `#c5c0b1`, text to `#201515`
136
+ - Use: Tertiary actions, filter buttons
137
+
138
+ **Pill Button**
139
+ - Background: `#fffefb`
140
+ - Text: `#36342e`
141
+ - Padding: 0px 16px
142
+ - Radius: 20px
143
+ - Border: `1px solid #c5c0b1`
144
+ - Use: Tag-like selections, filter pills
145
+
146
+ **Overlay Semi-transparent**
147
+ - Background: `rgba(45, 45, 46, 0.5)`
148
+ - Text: `#fffefb`
149
+ - Radius: 20px
150
+ - Hover: background becomes fully opaque `#2d2d2e`
151
+ - Use: Video play buttons, floating actions
152
+
153
+ **Tab / Navigation (Inset Shadow)**
154
+ - Background: transparent
155
+ - Text: `#201515`
156
+ - Padding: 12px 16px
157
+ - Shadow: `rgb(255, 79, 0) 0px -4px 0px 0px inset` (active orange underline)
158
+ - Hover shadow: `rgb(197, 192, 177) 0px -4px 0px 0px inset` (sand underline)
159
+ - Use: Horizontal tab navigation
160
+
161
+ ### Cards & Containers
162
+ - Background: `#fffefb`
163
+ - Border: `1px solid #c5c0b1` (warm sand border)
164
+ - Radius: 5px (standard), 8px (featured)
165
+ - No shadow elevation by default -- borders define containment
166
+ - Hover: subtle border color intensification
167
+
168
+ ### Inputs & Forms
169
+ - Background: `#fffefb`
170
+ - Text: `#201515`
171
+ - Border: `1px solid #c5c0b1`
172
+ - Radius: 5px
173
+ - Focus: border color shifts to `#ff4f00` (orange)
174
+ - Placeholder: `#939084`
175
+
176
+ ### Navigation
177
+ - Clean horizontal nav on cream background
178
+ - Zapier logotype left-aligned, 104x28px
179
+ - Links: Inter 16px weight 500, `#201515` text
180
+ - CTA: Orange button ("Start free with email")
181
+ - Tab navigation uses inset box-shadow underline technique
182
+ - Mobile: hamburger collapse
183
+
184
+ ### Image Treatment
185
+ - Product screenshots with `1px solid #c5c0b1` border
186
+ - Rounded corners: 5-8px
187
+ - Dashboard/workflow screenshots prominent in feature sections
188
+ - Light gradient backgrounds behind hero content
189
+
190
+ ### Distinctive Components
191
+
192
+ **Workflow Integration Cards**
193
+ - Display connected app icons in pairs
194
+ - Arrow or connection indicator between apps
195
+ - Sand border containment
196
+ - Inter weight 500 for app names
197
+
198
+ **Stat Counter**
199
+ - Large display number using Inter 48px weight 500
200
+ - Muted description below in `#36342e`
201
+ - Used for social proof metrics
202
+
203
+ **Social Proof Icons**
204
+ - Circular icon buttons: 14px radius
205
+ - Sand border: `1px solid #c5c0b1`
206
+ - Used for social media follow links in footer
207
+
208
+ ## 5. Layout Principles
209
+
210
+ ### Spacing System
211
+ - Base unit: 8px
212
+ - Scale: 1px, 4px, 6px, 8px, 10px, 12px, 16px, 20px, 24px, 32px, 40px, 48px, 56px, 64px, 72px
213
+ - CTA buttons use generous padding: 20px 24px for large, 8px 16px for standard
214
+ - Section padding: 64px-80px vertical
215
+
216
+ ### Grid & Container
217
+ - Max content width: approximately 1200px
218
+ - Hero: centered single-column with large top padding
219
+ - Feature sections: 2-3 column grids for integration cards
220
+ - Full-width sand-bordered dividers between sections
221
+ - Footer: multi-column dark background (`#201515`)
222
+
223
+ ### Whitespace Philosophy
224
+ - **Warm breathing room**: Generous vertical spacing between sections (64px-80px), but content areas are relatively dense -- Zapier packs information efficiently within its cream canvas.
225
+ - **Architectural compression**: Degular Display headlines at 0.90 line-height compress vertically, contrasting with the open spacing around them.
226
+ - **Section rhythm**: Cream background throughout, with sections separated by sand-colored borders rather than background color changes.
227
+
228
+ ### Border Radius Scale
229
+ - Tight (3px): Small inline spans
230
+ - Standard (4px): Buttons (orange CTA), tags, small elements
231
+ - Content (5px): Cards, links, general containers
232
+ - Comfortable (8px): Featured cards, large buttons, tabs
233
+ - Social (14px): Social icon buttons, pill-like elements
234
+ - Pill (20px): Play buttons, large pill buttons, floating actions
235
+
236
+ ## 6. Depth & Elevation
237
+
238
+ | Level | Treatment | Use |
239
+ |-------|-----------|-----|
240
+ | Flat (Level 0) | No shadow | Page background, text blocks |
241
+ | Bordered (Level 1) | `1px solid #c5c0b1` | Standard cards, containers, inputs |
242
+ | Strong Border (Level 1b) | `1px solid #36342e` | Dark dividers, emphasized sections |
243
+ | Active Tab (Level 2) | `rgb(255, 79, 0) 0px -4px 0px 0px inset` | Active tab underline (orange) |
244
+ | Hover Tab (Level 2b) | `rgb(197, 192, 177) 0px -4px 0px 0px inset` | Hover tab underline (sand) |
245
+ | Focus (Accessibility) | `1px solid #ff4f00` outline | Focus ring on interactive elements |
246
+
247
+ **Shadow Philosophy**: Zapier deliberately avoids traditional shadow-based elevation. Structure is defined almost entirely through borders -- warm sand (`#c5c0b1`) borders for standard containment, dark charcoal (`#36342e`) borders for emphasis. The only shadow-like technique is the inset box-shadow used for tab underlines, where a `0px -4px 0px 0px inset` shadow creates a bottom-bar indicator. This border-first approach keeps the design grounded and tangible rather than floating.
248
+
249
+ ### Decorative Depth
250
+ - Orange inset underline on active tabs creates visual "weight" at the bottom of elements
251
+ - Sand hover underlines provide preview states without layout shifts
252
+ - No background gradients in main content -- the cream canvas is consistent
253
+ - Footer uses full dark background (`#201515`) for contrast reversal
254
+
255
+ ## 7. Do's and Don'ts
256
+
257
+ ### Do
258
+ - Use Degular Display exclusively for hero-scale headlines (40px+) with 0.90 line-height for compressed impact
259
+ - Use Inter for all functional UI -- navigation, body text, buttons, labels
260
+ - Apply warm cream (`#fffefb`) as the background, never pure white
261
+ - Use `#201515` for text, never pure black -- the reddish warmth matters
262
+ - Keep Zapier Orange (`#ff4f00`) reserved for primary CTAs and active state indicators
263
+ - Use sand (`#c5c0b1`) borders as the primary structural element instead of shadows
264
+ - Apply generous button padding (20px 24px) for large CTAs to match Zapier's spacious button style
265
+ - Use inset box-shadow underlines for tab navigation rather than border-bottom
266
+ - Apply uppercase with 0.5px letter-spacing for section labels and micro-categorization
267
+
268
+ ### Don't
269
+ - Don't use Degular Display for body text or UI elements -- it's display-only
270
+ - Don't use pure white (`#ffffff`) or pure black (`#000000`) -- Zapier's palette is warm-shifted
271
+ - Don't apply box-shadow elevation to cards -- use borders instead
272
+ - Don't scatter Zapier Orange across the UI -- it's reserved for CTAs and active states
273
+ - Don't use tight padding on large CTA buttons -- Zapier's buttons are deliberately spacious
274
+ - Don't ignore the warm neutral system -- borders should be `#c5c0b1`, not gray
275
+ - Don't use GT Alpina for functional UI -- it's an editorial accent at thin weights only
276
+ - Don't apply positive letter-spacing to GT Alpina -- it uses aggressive negative tracking (-1.6px to -1.92px)
277
+ - Don't use rounded pill shapes (9999px) for primary buttons -- pills are for tags and social icons
278
+
279
+ ## 8. Responsive Behavior
280
+
281
+ ### Breakpoints
282
+ | Name | Width | Key Changes |
283
+ |------|-------|-------------|
284
+ | Mobile Small | <450px | Tight single column, reduced hero text |
285
+ | Mobile | 450-600px | Standard mobile, stacked layout |
286
+ | Mobile Large | 600-640px | Slight horizontal breathing room |
287
+ | Tablet Small | 640-680px | 2-column grids begin |
288
+ | Tablet | 680-768px | Card grids expand |
289
+ | Tablet Large | 768-991px | Full card grids, expanded padding |
290
+ | Desktop Small | 991-1024px | Desktop layout initiates |
291
+ | Desktop | 1024-1280px | Full layout, maximum content width |
292
+ | Large Desktop | >1280px | Centered with generous margins |
293
+
294
+ ### Touch Targets
295
+ - Large CTA buttons: 20px 24px padding (comfortable 60px+ height)
296
+ - Standard buttons: 8px 16px padding
297
+ - Navigation links: 16px weight 500 with adequate spacing
298
+ - Social icons: 14px radius circular buttons
299
+ - Tab items: 12px 16px padding
300
+
301
+ ### Collapsing Strategy
302
+ - Hero: Degular 80px display scales to 40-56px on smaller screens
303
+ - Navigation: horizontal links + CTA collapse to hamburger menu
304
+ - Feature cards: 3-column grid to 2-column to single-column stacked
305
+ - Integration workflow illustrations: maintain aspect ratio, may simplify
306
+ - Footer: multi-column dark section collapses to stacked
307
+ - Section spacing: 64-80px reduces to 40-48px on mobile
308
+
309
+ ### Image Behavior
310
+ - Product screenshots maintain sand border treatment at all sizes
311
+ - Integration app icons maintain fixed sizes within responsive containers
312
+ - Hero illustrations scale proportionally
313
+ - Full-width sections maintain edge-to-edge treatment
314
+
315
+ ## 9. Agent Prompt Guide
316
+
317
+ ### Quick Color Reference
318
+ - Primary CTA: Zapier Orange (`#ff4f00`)
319
+ - Background: Cream White (`#fffefb`)
320
+ - Heading text: Zapier Black (`#201515`)
321
+ - Body text: Dark Charcoal (`#36342e`)
322
+ - Border: Sand (`#c5c0b1`)
323
+ - Secondary surface: Light Sand (`#eceae3`)
324
+ - Muted text: Warm Gray (`#939084`)
325
+
326
+ ### Example Component Prompts
327
+ - "Create a hero section on cream background (`#fffefb`). Headline at 56px Degular Display weight 500, line-height 0.90, color `#201515`. Subtitle at 20px Inter weight 400, line-height 1.20, color `#36342e`. Orange CTA button (`#ff4f00`, 4px radius, 8px 16px padding, white text) and dark button (`#201515`, 8px radius, 20px 24px padding, white text)."
328
+ - "Design a card: cream background (`#fffefb`), `1px solid #c5c0b1` border, 5px radius. Title at 24px Inter weight 600, letter-spacing -0.48px, `#201515`. Body at 16px weight 400, `#36342e`. No box-shadow."
329
+ - "Build a tab navigation: transparent background. Inter 16px weight 500, `#201515` text. Active tab: `box-shadow: rgb(255, 79, 0) 0px -4px 0px 0px inset`. Hover: `box-shadow: rgb(197, 192, 177) 0px -4px 0px 0px inset`. Padding 12px 16px."
330
+ - "Create navigation: cream sticky header (`#fffefb`). Inter 16px weight 500 for links, `#201515` text. Orange pill CTA 'Start free with email' right-aligned (`#ff4f00`, 4px radius, 8px 16px padding)."
331
+ - "Design a footer with dark background (`#201515`). Text `#fffefb`. Links in `#c5c0b1` with hover to `#fffefb`. Multi-column layout. Social icons as 14px-radius circles with sand borders."
332
+
333
+ ### Iteration Guide
334
+ 1. Always use warm cream (`#fffefb`) background, never pure white -- the warmth defines Zapier
335
+ 2. Borders (`1px solid #c5c0b1`) are the structural backbone -- avoid shadow elevation
336
+ 3. Zapier Orange (`#ff4f00`) is the only accent color; everything else is warm neutrals
337
+ 4. Three fonts, strict roles: Degular Display (hero), Inter (UI), GT Alpina (editorial)
338
+ 5. Large CTA buttons need generous padding (20px 24px) -- Zapier buttons feel spacious
339
+ 6. Tab navigation uses inset box-shadow underlines, not border-bottom
340
+ 7. Text is always warm: `#201515` for dark, `#36342e` for body, `#939084` for muted
341
+ 8. Uppercase labels at 12-14px with 0.5px letter-spacing for section categorization
@@ -0,0 +1,3 @@
1
+ ---
2
+ description: Skills for document creation, presentations, spreadsheets, and other productivity workflows.
3
+ ---
@@ -0,0 +1,335 @@
1
+ ---
2
+ name: google-workspace
3
+ description: "Gmail, Calendar, Drive, Docs, Sheets via gws CLI or Python."
4
+ version: 1.1.0
5
+ author: Nous Research
6
+ license: MIT
7
+ platforms: [linux, macos, windows]
8
+ required_credential_files:
9
+ - path: google_token.json
10
+ description: Google OAuth2 token (created by setup script)
11
+ - path: google_client_secret.json
12
+ description: Google OAuth2 client credentials (downloaded from Google Cloud Console)
13
+ metadata:
14
+ hermes:
15
+ tags: [Google, Gmail, Calendar, Drive, Sheets, Docs, Contacts, Email, OAuth]
16
+ homepage: https://github.com/NousResearch/hermes-agent
17
+ related_skills: [himalaya]
18
+ ---
19
+
20
+ # Google Workspace
21
+
22
+ Gmail, Calendar, Drive, Contacts, Sheets, and Docs — through Hermes-managed OAuth and a thin CLI wrapper. When `gws` is installed, the skill uses it as the execution backend for broader Google Workspace coverage; otherwise it falls back to the bundled Python client implementation.
23
+
24
+ ## References
25
+
26
+ - `references/gmail-search-syntax.md` — Gmail search operators (is:unread, from:, newer_than:, etc.)
27
+
28
+ ## Scripts
29
+
30
+ - `scripts/setup.py` — OAuth2 setup (run once to authorize)
31
+ - `scripts/google_api.py` — compatibility wrapper CLI. It prefers `gws` for operations when available, while preserving Hermes' existing JSON output contract.
32
+
33
+ ## First-Time Setup
34
+
35
+ The setup is fully non-interactive — you drive it step by step so it works
36
+ on CLI, Telegram, Discord, or any platform.
37
+
38
+ Define a shorthand first:
39
+
40
+ ```bash
41
+ GSETUP="python ${HERMES_HOME:-$HOME/.hermes}/skills/productivity/google-workspace/scripts/setup.py"
42
+ ```
43
+
44
+ ### Step 0: Check if already set up
45
+
46
+ ```bash
47
+ $GSETUP --check
48
+ ```
49
+
50
+ If it prints `AUTHENTICATED`, skip to Usage — setup is already done.
51
+
52
+ ### Step 1: Triage — ask the user what they need
53
+
54
+ Before starting OAuth setup, ask the user TWO questions:
55
+
56
+ **Question 1: "What Google services do you need? Just email, or also
57
+ Calendar/Drive/Sheets/Docs?"**
58
+
59
+ - **Email only** → They don't need this skill at all. Use the `himalaya` skill
60
+ instead — it works with a Gmail App Password (Settings → Security → App
61
+ Passwords) and takes 2 minutes to set up. No Google Cloud project needed.
62
+ Load the himalaya skill and follow its setup instructions.
63
+
64
+ - **Email + Calendar** → Continue with this skill, but use
65
+ `--services email,calendar` during auth so the consent screen only asks for
66
+ the scopes they actually need.
67
+
68
+ - **Calendar/Drive/Sheets/Docs only** → Continue with this skill and use a
69
+ narrower `--services` set like `calendar,drive,sheets,docs`.
70
+
71
+ - **Full Workspace access** → Continue with this skill and use the default
72
+ `all` service set.
73
+
74
+ **Question 2: "Does your Google account use Advanced Protection (hardware
75
+ security keys required to sign in)? If you're not sure, you probably don't
76
+ — it's something you would have explicitly enrolled in."**
77
+
78
+ - **No / Not sure** → Normal setup. Continue below.
79
+ - **Yes** → Their Workspace admin must add the OAuth client ID to the org's
80
+ allowed apps list before Step 4 will work. Let them know upfront.
81
+
82
+ ### Step 2: Create OAuth credentials (one-time, ~5 minutes)
83
+
84
+ Tell the user:
85
+
86
+ > You need a Google Cloud OAuth client. This is a one-time setup:
87
+ >
88
+ > 1. Create or select a project:
89
+ > https://console.cloud.google.com/projectselector2/home/dashboard
90
+ > 2. Enable the required APIs from the API Library:
91
+ > https://console.cloud.google.com/apis/library
92
+ > Enable: Gmail API, Google Calendar API, Google Drive API,
93
+ > Google Sheets API, Google Docs API, People API
94
+ > 3. Create the OAuth client here:
95
+ > https://console.cloud.google.com/apis/credentials
96
+ > Credentials → Create Credentials → OAuth 2.0 Client ID
97
+ > 4. Application type: "Desktop app" → Create
98
+ > 5. If the app is still in Testing, add the user's Google account as a test user here:
99
+ > https://console.cloud.google.com/auth/audience
100
+ > Audience → Test users → Add users
101
+ > 6. Download the JSON file and tell me the file path
102
+ >
103
+ > Important Hermes CLI note: if the file path starts with `/`, do NOT send only the bare path as its own message in the CLI, because it can be mistaken for a slash command. Send it in a sentence instead, like:
104
+ > `The JSON file path is: /home/user/Downloads/client_secret_....json`
105
+
106
+ Once they provide the path:
107
+
108
+ ```bash
109
+ $GSETUP --client-secret /path/to/client_secret.json
110
+ ```
111
+
112
+ If they paste the raw client ID / client secret values instead of a file path,
113
+ write a valid Desktop OAuth JSON file for them yourself, save it somewhere
114
+ explicit (for example `~/Downloads/hermes-google-client-secret.json`), then run
115
+ `--client-secret` against that file.
116
+
117
+ ### Step 3: Get authorization URL
118
+
119
+ Use the service set chosen in Step 1. Examples:
120
+
121
+ ```bash
122
+ $GSETUP --auth-url --services email,calendar --format json
123
+ $GSETUP --auth-url --services calendar,drive,sheets,docs --format json
124
+ $GSETUP --auth-url --services all --format json
125
+ ```
126
+
127
+ This returns JSON with an `auth_url` field and also saves the exact URL to
128
+ `~/.hermes/google_oauth_last_url.txt`.
129
+
130
+ Agent rules for this step:
131
+ - Extract the `auth_url` field and send that exact URL to the user as a single line.
132
+ - Tell the user that the browser will likely fail on `http://localhost:1` after approval, and that this is expected.
133
+ - Tell them to copy the ENTIRE redirected URL from the browser address bar.
134
+ - If the user gets `Error 403: access_denied`, send them directly to `https://console.cloud.google.com/auth/audience` to add themselves as a test user.
135
+
136
+ ### Step 4: Exchange the code
137
+
138
+ The user will paste back either a URL like `http://localhost:1/?code=4/0A...&scope=...`
139
+ or just the code string. Either works. The `--auth-url` step stores a temporary
140
+ pending OAuth session locally so `--auth-code` can complete the PKCE exchange
141
+ later, even on headless systems:
142
+
143
+ ```bash
144
+ $GSETUP --auth-code "THE_URL_OR_CODE_THE_USER_PASTED" --format json
145
+ ```
146
+
147
+ If `--auth-code` fails because the code expired, was already used, or came from
148
+ an older browser tab, it now returns a fresh `fresh_auth_url`. In that case,
149
+ immediately send the new URL to the user and have them retry with the newest
150
+ browser redirect only.
151
+
152
+ ### Step 5: Verify
153
+
154
+ ```bash
155
+ $GSETUP --check
156
+ ```
157
+
158
+ Should print `AUTHENTICATED`. Setup is complete — token refreshes automatically from now on.
159
+
160
+ ### Notes
161
+
162
+ - Token is stored at `~/.hermes/google_token.json` and auto-refreshes.
163
+ - Pending OAuth session state/verifier are stored temporarily at `~/.hermes/google_oauth_pending.json` until exchange completes.
164
+ - If `gws` is installed, `google_api.py` points it at the same `~/.hermes/google_token.json` credentials file. Users do not need to run a separate `gws auth login` flow.
165
+ - To revoke: `$GSETUP --revoke`
166
+
167
+ ## Usage
168
+
169
+ All commands go through the API script. Set `GAPI` as a shorthand:
170
+
171
+ ```bash
172
+ GAPI="python ${HERMES_HOME:-$HOME/.hermes}/skills/productivity/google-workspace/scripts/google_api.py"
173
+ ```
174
+
175
+ ### Gmail
176
+
177
+ ```bash
178
+ # Search (returns JSON array with id, from, subject, date, snippet)
179
+ $GAPI gmail search "is:unread" --max 10
180
+ $GAPI gmail search "from:boss@company.com newer_than:1d"
181
+ $GAPI gmail search "has:attachment filename:pdf newer_than:7d"
182
+
183
+ # Read full message (returns JSON with body text)
184
+ $GAPI gmail get MESSAGE_ID
185
+
186
+ # Send
187
+ $GAPI gmail send --to user@example.com --subject "Hello" --body "Message text"
188
+ $GAPI gmail send --to user@example.com --subject "Report" --body "<h1>Q4</h1><p>Details...</p>" --html
189
+ $GAPI gmail send --to user@example.com --subject "Hello" --from '"Research Agent" <user@example.com>' --body "Message text"
190
+
191
+ # Reply (automatically threads and sets In-Reply-To)
192
+ $GAPI gmail reply MESSAGE_ID --body "Thanks, that works for me."
193
+ $GAPI gmail reply MESSAGE_ID --from '"Support Bot" <user@example.com>' --body "Thanks"
194
+
195
+ # Labels
196
+ $GAPI gmail labels
197
+ $GAPI gmail modify MESSAGE_ID --add-labels LABEL_ID
198
+ $GAPI gmail modify MESSAGE_ID --remove-labels UNREAD
199
+ ```
200
+
201
+ ### Calendar
202
+
203
+ ```bash
204
+ # List events (defaults to next 7 days)
205
+ $GAPI calendar list
206
+ $GAPI calendar list --start 2026-03-01T00:00:00Z --end 2026-03-07T23:59:59Z
207
+
208
+ # Create event (ISO 8601 with timezone required)
209
+ $GAPI calendar create --summary "Team Standup" --start 2026-03-01T10:00:00-06:00 --end 2026-03-01T10:30:00-06:00
210
+ $GAPI calendar create --summary "Lunch" --start 2026-03-01T12:00:00Z --end 2026-03-01T13:00:00Z --location "Cafe"
211
+ $GAPI calendar create --summary "Review" --start 2026-03-01T14:00:00Z --end 2026-03-01T15:00:00Z --attendees "alice@co.com,bob@co.com"
212
+
213
+ # Delete event
214
+ $GAPI calendar delete EVENT_ID
215
+ ```
216
+
217
+ ### Drive
218
+
219
+ ```bash
220
+ # Search existing files
221
+ $GAPI drive search "quarterly report" --max 10
222
+ $GAPI drive search "mimeType='application/pdf'" --raw-query --max 5
223
+
224
+ # Get metadata for a single file
225
+ $GAPI drive get FILE_ID
226
+
227
+ # Upload a local file (auto-detects MIME type)
228
+ $GAPI drive upload /path/to/report.pdf
229
+ $GAPI drive upload /path/to/image.png --name "Logo.png" --parent FOLDER_ID
230
+
231
+ # Download (binary files download as-is; Google-native files export to a
232
+ # sensible default — Docs→pdf, Sheets→csv, Slides→pdf, Drawings→png)
233
+ $GAPI drive download FILE_ID
234
+ $GAPI drive download DOC_ID --output ~/doc.pdf
235
+ $GAPI drive download DOC_ID --export-mime text/plain --output ~/doc.txt
236
+
237
+ # Create a folder
238
+ $GAPI drive create-folder "Reports"
239
+ $GAPI drive create-folder "Q4" --parent FOLDER_ID
240
+
241
+ # Share
242
+ $GAPI drive share FILE_ID --email alice@example.com --role reader
243
+ $GAPI drive share FILE_ID --email alice@example.com --role writer --notify
244
+ $GAPI drive share FILE_ID --type anyone --role reader # anyone with link
245
+ $GAPI drive share FILE_ID --type domain --domain example.com --role reader
246
+
247
+ # Delete — defaults to trash (reversible). Use --permanent to skip the trash.
248
+ $GAPI drive delete FILE_ID
249
+ $GAPI drive delete FILE_ID --permanent
250
+ ```
251
+
252
+ ### Contacts
253
+
254
+ ```bash
255
+ $GAPI contacts list --max 20
256
+ ```
257
+
258
+ ### Sheets
259
+
260
+ ```bash
261
+ # Create a new spreadsheet
262
+ $GAPI sheets create --title "Q4 Budget"
263
+ $GAPI sheets create --title "Inventory" --sheet-name "Stock"
264
+
265
+ # Read
266
+ $GAPI sheets get SHEET_ID "Sheet1!A1:D10"
267
+
268
+ # Write
269
+ $GAPI sheets update SHEET_ID "Sheet1!A1:B2" --values '[["Name","Score"],["Alice","95"]]'
270
+
271
+ # Append rows
272
+ $GAPI sheets append SHEET_ID "Sheet1!A:C" --values '[["new","row","data"]]'
273
+ ```
274
+
275
+ ### Docs
276
+
277
+ ```bash
278
+ # Read
279
+ $GAPI docs get DOC_ID
280
+
281
+ # Create a new Doc (optionally seeded with body text)
282
+ $GAPI docs create --title "Meeting Notes"
283
+ $GAPI docs create --title "Draft" --body "First paragraph..."
284
+
285
+ # Append text to the end of an existing Doc
286
+ $GAPI docs append DOC_ID --text "Additional content to append"
287
+ ```
288
+
289
+ ## Output Format
290
+
291
+ All commands return JSON. Parse with `jq` or read directly. Key fields:
292
+
293
+ - **Gmail search**: `[{id, threadId, from, to, subject, date, snippet, labels}]`
294
+ - **Gmail get**: `{id, threadId, from, to, subject, date, labels, body}`
295
+ - **Gmail send/reply**: `{status: "sent", id, threadId}`
296
+ - **Calendar list**: `[{id, summary, start, end, location, description, htmlLink}]`
297
+ - **Calendar create**: `{status: "created", id, summary, htmlLink}`
298
+ - **Drive search**: `[{id, name, mimeType, modifiedTime, webViewLink}]`
299
+ - **Drive get**: `{id, name, mimeType, modifiedTime, size, webViewLink, parents, owners}`
300
+ - **Drive upload**: `{status: "uploaded", id, name, mimeType, webViewLink}`
301
+ - **Drive download**: `{status: "downloaded", id, name, path, mimeType}`
302
+ - **Drive create-folder**: `{status: "created", id, name, webViewLink}`
303
+ - **Drive share**: `{status: "shared", permissionId, fileId, role, type}`
304
+ - **Drive delete**: `{status: "trashed" | "deleted", fileId, permanent}`
305
+ - **Contacts list**: `[{name, emails: [...], phones: [...]}]`
306
+ - **Sheets get**: `[[cell, cell, ...], ...]`
307
+ - **Sheets create**: `{status: "created", spreadsheetId, title, spreadsheetUrl}`
308
+ - **Docs create**: `{status: "created", documentId, title, url}`
309
+ - **Docs append**: `{status: "appended", documentId, inserted_at, characters}`
310
+
311
+ ## Rules
312
+
313
+ 1. **Never send email, create/delete calendar events, delete Drive files, share files, or modify Docs/Sheets without confirming with the user first.** Show what will be done (recipients, file IDs, content, share role) and ask for approval. For `drive delete`, prefer the default trash (reversible) over `--permanent`.
314
+ 2. **Check auth before first use** — run `setup.py --check`. If it fails, guide the user through setup.
315
+ 3. **Use the Gmail search syntax reference** for complex queries — load it with `skill_view("google-workspace", file_path="references/gmail-search-syntax.md")`.
316
+ 4. **Calendar times must include timezone** — always use ISO 8601 with offset (e.g., `2026-03-01T10:00:00-06:00`) or UTC (`Z`).
317
+ 5. **Respect rate limits** — avoid rapid-fire sequential API calls. Batch reads when possible.
318
+
319
+ ## Troubleshooting
320
+
321
+ | Problem | Fix |
322
+ |---------|-----|
323
+ | `NOT_AUTHENTICATED` | Run setup Steps 2-5 above |
324
+ | `REFRESH_FAILED` | Token revoked or expired — redo Steps 3-5 |
325
+ | `HttpError 403: Insufficient Permission` | Missing API scope — `$GSETUP --revoke` then redo Steps 3-5 |
326
+ | `AUTHENTICATED (partial)` or "Token missing scopes" | New write capabilities (Drive write/delete, Docs create/edit) require re-authorization. `$GSETUP --revoke` then redo Steps 3-5 to grant the upgraded scopes. |
327
+ | `HttpError 403: Access Not Configured` | API not enabled — user needs to enable it in Google Cloud Console |
328
+ | `ModuleNotFoundError` | Run `$GSETUP --install-deps` |
329
+ | Advanced Protection blocks auth | Workspace admin must allowlist the OAuth client ID |
330
+
331
+ ## Revoking Access
332
+
333
+ ```bash
334
+ $GSETUP --revoke
335
+ ```