@soulcraft/kits 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 (528) hide show
  1. package/kits/ai-content-studio/kit.json +358 -0
  2. package/kits/api-documentation/kit.json +358 -0
  3. package/kits/api-documentation/skills/api-examples/SKILL.md +176 -0
  4. package/kits/api-documentation/skills/api-review/SKILL.md +35 -0
  5. package/kits/api-documentation/skills/api-versioning/SKILL.md +156 -0
  6. package/kits/api-documentation/skills/create-code-examples/SKILL.md +42 -0
  7. package/kits/api-documentation/skills/define-resource/SKILL.md +39 -0
  8. package/kits/api-documentation/skills/document-auth/SKILL.md +39 -0
  9. package/kits/api-documentation/skills/document-endpoint/SKILL.md +40 -0
  10. package/kits/api-documentation/skills/kit-expertise/SKILL.md +78 -0
  11. package/kits/api-documentation/skills/openapi-spec/SKILL.md +174 -0
  12. package/kits/axe-house/kit.json +931 -0
  13. package/kits/axe-house/skills/axe-expertise/SKILL.md +259 -0
  14. package/kits/axe-house/skills/blog-draft/SKILL.md +147 -0
  15. package/kits/axe-house/skills/booking-digest/SKILL.md +188 -0
  16. package/kits/axe-house/skills/customer-insights/SKILL.md +215 -0
  17. package/kits/axe-house/skills/demand-forecast/SKILL.md +183 -0
  18. package/kits/axe-house/skills/email-campaign/SKILL.md +135 -0
  19. package/kits/axe-house/skills/experience-copy/SKILL.md +142 -0
  20. package/kits/axe-house/skills/guest-letter/SKILL.md +171 -0
  21. package/kits/axe-house/skills/inventory-health/SKILL.md +234 -0
  22. package/kits/axe-house/skills/league-manager/SKILL.md +264 -0
  23. package/kits/axe-house/skills/revenue-report/SKILL.md +240 -0
  24. package/kits/axe-house/skills/safety-briefing/SKILL.md +248 -0
  25. package/kits/axe-house/skills/social-calendar/SKILL.md +203 -0
  26. package/kits/axe-house/skills/staff-briefing/SKILL.md +231 -0
  27. package/kits/axe-house/skills/venue-data-model/SKILL.md +225 -0
  28. package/kits/blog-series/kit.json +363 -0
  29. package/kits/blog-series/skills/content-hooks/SKILL.md +158 -0
  30. package/kits/blog-series/skills/headline-brainstorm/SKILL.md +40 -0
  31. package/kits/blog-series/skills/kit-expertise/SKILL.md +78 -0
  32. package/kits/blog-series/skills/repurpose-content/SKILL.md +40 -0
  33. package/kits/blog-series/skills/seo-review/SKILL.md +41 -0
  34. package/kits/blog-series/skills/seo-writing/SKILL.md +135 -0
  35. package/kits/blog-series/skills/series-audit/SKILL.md +36 -0
  36. package/kits/blog-series/skills/write-post-outline/SKILL.md +42 -0
  37. package/kits/business-plan/kit.json +437 -0
  38. package/kits/business-plan/skills/competitor-analysis/SKILL.md +34 -0
  39. package/kits/business-plan/skills/financial-modeling/SKILL.md +180 -0
  40. package/kits/business-plan/skills/financial-projections/SKILL.md +42 -0
  41. package/kits/business-plan/skills/kit-expertise/SKILL.md +101 -0
  42. package/kits/business-plan/skills/market-analysis/SKILL.md +155 -0
  43. package/kits/business-plan/skills/market-research/SKILL.md +35 -0
  44. package/kits/business-plan/skills/sba-compliance/SKILL.md +163 -0
  45. package/kits/business-plan/skills/swot-analysis/SKILL.md +36 -0
  46. package/kits/canvas-and-corks/kit.json +910 -0
  47. package/kits/canvas-and-corks/skills/blog-draft/SKILL.md +160 -0
  48. package/kits/canvas-and-corks/skills/booking-digest/SKILL.md +147 -0
  49. package/kits/canvas-and-corks/skills/class-description/SKILL.md +53 -0
  50. package/kits/canvas-and-corks/skills/class-roster/SKILL.md +163 -0
  51. package/kits/canvas-and-corks/skills/customer-insights/SKILL.md +174 -0
  52. package/kits/canvas-and-corks/skills/demand-forecast/SKILL.md +191 -0
  53. package/kits/canvas-and-corks/skills/email-campaign/SKILL.md +154 -0
  54. package/kits/canvas-and-corks/skills/experience-copy/SKILL.md +152 -0
  55. package/kits/canvas-and-corks/skills/guest-letter/SKILL.md +127 -0
  56. package/kits/canvas-and-corks/skills/inventory-health/SKILL.md +204 -0
  57. package/kits/canvas-and-corks/skills/painting-memory/SKILL.md +76 -0
  58. package/kits/canvas-and-corks/skills/revenue-report/SKILL.md +196 -0
  59. package/kits/canvas-and-corks/skills/social-calendar/SKILL.md +146 -0
  60. package/kits/canvas-and-corks/skills/staff-briefing/SKILL.md +134 -0
  61. package/kits/canvas-and-corks/skills/studio-expertise/SKILL.md +181 -0
  62. package/kits/canvas-and-corks/skills/venue-data-model/SKILL.md +325 -0
  63. package/kits/character-relationship-map/kit.json +367 -0
  64. package/kits/character-relationship-map/skills/ensemble-balance/SKILL.md +189 -0
  65. package/kits/character-relationship-map/skills/kit-expertise/SKILL.md +83 -0
  66. package/kits/character-relationship-map/skills/relationship-dynamics/SKILL.md +158 -0
  67. package/kits/clay-and-co/kit.json +938 -0
  68. package/kits/clay-and-co/skills/blog-draft/SKILL.md +135 -0
  69. package/kits/clay-and-co/skills/booking-digest/SKILL.md +163 -0
  70. package/kits/clay-and-co/skills/customer-insights/SKILL.md +207 -0
  71. package/kits/clay-and-co/skills/demand-forecast/SKILL.md +166 -0
  72. package/kits/clay-and-co/skills/email-campaign/SKILL.md +125 -0
  73. package/kits/clay-and-co/skills/experience-copy/SKILL.md +132 -0
  74. package/kits/clay-and-co/skills/guest-letter/SKILL.md +104 -0
  75. package/kits/clay-and-co/skills/inventory-health/SKILL.md +211 -0
  76. package/kits/clay-and-co/skills/kiln-scheduler/SKILL.md +206 -0
  77. package/kits/clay-and-co/skills/piece-tracker/SKILL.md +165 -0
  78. package/kits/clay-and-co/skills/pottery-expertise/SKILL.md +165 -0
  79. package/kits/clay-and-co/skills/pottery-memory/SKILL.md +119 -0
  80. package/kits/clay-and-co/skills/revenue-report/SKILL.md +205 -0
  81. package/kits/clay-and-co/skills/social-calendar/SKILL.md +130 -0
  82. package/kits/clay-and-co/skills/staff-briefing/SKILL.md +213 -0
  83. package/kits/clay-and-co/skills/venue-data-model/SKILL.md +230 -0
  84. package/kits/concept-map/kit.json +353 -0
  85. package/kits/concept-map/skills/add-concept/SKILL.md +41 -0
  86. package/kits/concept-map/skills/assess-understanding/SKILL.md +36 -0
  87. package/kits/concept-map/skills/concept-hierarchy/SKILL.md +148 -0
  88. package/kits/concept-map/skills/create-learning-map/SKILL.md +42 -0
  89. package/kits/concept-map/skills/find-cross-links/SKILL.md +34 -0
  90. package/kits/concept-map/skills/identify-prerequisites/SKILL.md +40 -0
  91. package/kits/concept-map/skills/kit-expertise/SKILL.md +78 -0
  92. package/kits/concept-map/skills/relationship-types/SKILL.md +160 -0
  93. package/kits/content-calendar/kit.json +420 -0
  94. package/kits/content-calendar/skills/content-strategy/SKILL.md +174 -0
  95. package/kits/content-calendar/skills/create-brief/SKILL.md +40 -0
  96. package/kits/content-calendar/skills/generate-ideas/SKILL.md +40 -0
  97. package/kits/content-calendar/skills/kit-expertise/SKILL.md +100 -0
  98. package/kits/content-calendar/skills/plan-series/SKILL.md +40 -0
  99. package/kits/content-calendar/skills/repurpose-content/SKILL.md +38 -0
  100. package/kits/content-calendar/skills/repurposing/SKILL.md +179 -0
  101. package/kits/content-calendar/skills/weekly-review/SKILL.md +34 -0
  102. package/kits/coworking-space/kit.json +1068 -0
  103. package/kits/escape-vault/kit.json +1028 -0
  104. package/kits/escape-vault/skills/blog-draft/SKILL.md +157 -0
  105. package/kits/escape-vault/skills/booking-digest/SKILL.md +151 -0
  106. package/kits/escape-vault/skills/customer-insights/SKILL.md +185 -0
  107. package/kits/escape-vault/skills/demand-forecast/SKILL.md +188 -0
  108. package/kits/escape-vault/skills/email-campaign/SKILL.md +157 -0
  109. package/kits/escape-vault/skills/escape-expertise/SKILL.md +200 -0
  110. package/kits/escape-vault/skills/escape-memory/SKILL.md +99 -0
  111. package/kits/escape-vault/skills/experience-copy/SKILL.md +159 -0
  112. package/kits/escape-vault/skills/guest-letter/SKILL.md +143 -0
  113. package/kits/escape-vault/skills/inventory-health/SKILL.md +222 -0
  114. package/kits/escape-vault/skills/leaderboard-report/SKILL.md +204 -0
  115. package/kits/escape-vault/skills/revenue-report/SKILL.md +202 -0
  116. package/kits/escape-vault/skills/room-designer/SKILL.md +182 -0
  117. package/kits/escape-vault/skills/social-calendar/SKILL.md +148 -0
  118. package/kits/escape-vault/skills/staff-briefing/SKILL.md +159 -0
  119. package/kits/escape-vault/skills/venue-data-model/SKILL.md +335 -0
  120. package/kits/family-tree/kit.json +380 -0
  121. package/kits/family-tree/skills/add-family-member/SKILL.md +42 -0
  122. package/kits/family-tree/skills/analyze-relationship/SKILL.md +41 -0
  123. package/kits/family-tree/skills/export-gedcom/SKILL.md +34 -0
  124. package/kits/family-tree/skills/genealogy-research/SKILL.md +188 -0
  125. package/kits/family-tree/skills/kit-expertise/SKILL.md +107 -0
  126. package/kits/family-tree/skills/record-oral-history/SKILL.md +43 -0
  127. package/kits/family-tree/skills/relationship-mapping/SKILL.md +171 -0
  128. package/kits/family-tree/skills/research-ancestor/SKILL.md +43 -0
  129. package/kits/farkle-dice-game/kit.json +316 -0
  130. package/kits/farkle-dice-game/skills/kit-expertise/SKILL.md +137 -0
  131. package/kits/franchise-ops/kit.json +326 -0
  132. package/kits/freelance-portfolio/kit.json +435 -0
  133. package/kits/game-design-doc/kit.json +353 -0
  134. package/kits/game-design-doc/skills/balance-system/SKILL.md +40 -0
  135. package/kits/game-design-doc/skills/create-character/SKILL.md +40 -0
  136. package/kits/game-design-doc/skills/design-mechanic/SKILL.md +40 -0
  137. package/kits/game-design-doc/skills/economy-design/SKILL.md +152 -0
  138. package/kits/game-design-doc/skills/game-mechanics/SKILL.md +141 -0
  139. package/kits/game-design-doc/skills/ideate-features/SKILL.md +36 -0
  140. package/kits/game-design-doc/skills/kit-expertise/SKILL.md +78 -0
  141. package/kits/game-design-doc/skills/playtest-feedback/SKILL.md +142 -0
  142. package/kits/game-design-doc/skills/review-gdd/SKILL.md +33 -0
  143. package/kits/gather-and-grill/kit.json +966 -0
  144. package/kits/gather-and-grill/skills/blog-draft/SKILL.md +120 -0
  145. package/kits/gather-and-grill/skills/booking-digest/SKILL.md +171 -0
  146. package/kits/gather-and-grill/skills/cooking-memory/SKILL.md +100 -0
  147. package/kits/gather-and-grill/skills/culinary-expertise/SKILL.md +180 -0
  148. package/kits/gather-and-grill/skills/customer-insights/SKILL.md +184 -0
  149. package/kits/gather-and-grill/skills/demand-forecast/SKILL.md +200 -0
  150. package/kits/gather-and-grill/skills/email-campaign/SKILL.md +97 -0
  151. package/kits/gather-and-grill/skills/experience-copy/SKILL.md +92 -0
  152. package/kits/gather-and-grill/skills/guest-letter/SKILL.md +98 -0
  153. package/kits/gather-and-grill/skills/inventory-health/SKILL.md +193 -0
  154. package/kits/gather-and-grill/skills/menu-planner/SKILL.md +175 -0
  155. package/kits/gather-and-grill/skills/recipe-card/SKILL.md +194 -0
  156. package/kits/gather-and-grill/skills/revenue-report/SKILL.md +245 -0
  157. package/kits/gather-and-grill/skills/social-calendar/SKILL.md +139 -0
  158. package/kits/gather-and-grill/skills/staff-briefing/SKILL.md +167 -0
  159. package/kits/gather-and-grill/skills/venue-data-model/SKILL.md +336 -0
  160. package/kits/gtd-productivity-system/kit.json +389 -0
  161. package/kits/gtd-productivity-system/skills/break-down-project/SKILL.md +41 -0
  162. package/kits/gtd-productivity-system/skills/clarify-task/SKILL.md +42 -0
  163. package/kits/gtd-productivity-system/skills/gtd-methodology/SKILL.md +185 -0
  164. package/kits/gtd-productivity-system/skills/inbox-processing/SKILL.md +173 -0
  165. package/kits/gtd-productivity-system/skills/kit-expertise/SKILL.md +111 -0
  166. package/kits/gtd-productivity-system/skills/mind-sweep/SKILL.md +35 -0
  167. package/kits/gtd-productivity-system/skills/process-inbox/SKILL.md +40 -0
  168. package/kits/gtd-productivity-system/skills/weekly-review/SKILL.md +197 -0
  169. package/kits/gym-fitness/kit.json +1037 -0
  170. package/kits/interactive-fiction/kit.json +471 -0
  171. package/kits/invoice-generator/kit.json +466 -0
  172. package/kits/loyalty-program/kit.json +323 -0
  173. package/kits/marketing-plan/kit.json +417 -0
  174. package/kits/marketing-plan/skills/allocate-budget/SKILL.md +34 -0
  175. package/kits/marketing-plan/skills/campaign-metrics/SKILL.md +184 -0
  176. package/kits/marketing-plan/skills/channel-strategy/SKILL.md +156 -0
  177. package/kits/marketing-plan/skills/content-calendar/SKILL.md +34 -0
  178. package/kits/marketing-plan/skills/create-persona/SKILL.md +40 -0
  179. package/kits/marketing-plan/skills/kit-expertise/SKILL.md +109 -0
  180. package/kits/marketing-plan/skills/measure-performance/SKILL.md +34 -0
  181. package/kits/marketing-plan/skills/plan-campaign/SKILL.md +41 -0
  182. package/kits/marketing-site/kit.json +230 -0
  183. package/kits/marketing-site/skills/add-page/SKILL.md +28 -0
  184. package/kits/marketing-site/skills/add-section/SKILL.md +29 -0
  185. package/kits/marketing-site/skills/change-colors/SKILL.md +24 -0
  186. package/kits/marketing-site/skills/conversion-copy/SKILL.md +152 -0
  187. package/kits/marketing-site/skills/export-deploy/SKILL.md +24 -0
  188. package/kits/marketing-site/skills/kit-expertise/SKILL.md +77 -0
  189. package/kits/marketing-site/skills/landing-page/SKILL.md +156 -0
  190. package/kits/match-3-puzzle/kit.json +245 -0
  191. package/kits/match-3-puzzle/skills/kit-expertise/SKILL.md +96 -0
  192. package/kits/mind-map/kit.json +355 -0
  193. package/kits/mind-map/skills/add-branch/SKILL.md +40 -0
  194. package/kits/mind-map/skills/brainstorm-topic/SKILL.md +41 -0
  195. package/kits/mind-map/skills/branch-expansion/SKILL.md +181 -0
  196. package/kits/mind-map/skills/find-connections/SKILL.md +34 -0
  197. package/kits/mind-map/skills/kit-expertise/SKILL.md +78 -0
  198. package/kits/mind-map/skills/organize-map/SKILL.md +35 -0
  199. package/kits/mind-map/skills/radiant-thinking/SKILL.md +184 -0
  200. package/kits/mind-map/skills/summarize-map/SKILL.md +34 -0
  201. package/kits/music-collection/kit.json +403 -0
  202. package/kits/music-collection/skills/add-album/SKILL.md +44 -0
  203. package/kits/music-collection/skills/create-playlist/SKILL.md +37 -0
  204. package/kits/music-collection/skills/explore-artist/SKILL.md +37 -0
  205. package/kits/music-collection/skills/journal-session/SKILL.md +40 -0
  206. package/kits/music-collection/skills/kit-expertise/SKILL.md +98 -0
  207. package/kits/music-collection/skills/music-metadata/SKILL.md +209 -0
  208. package/kits/music-collection/skills/playlist-curator/SKILL.md +182 -0
  209. package/kits/music-collection/skills/recommend-similar/SKILL.md +36 -0
  210. package/kits/music-venue/kit.json +986 -0
  211. package/kits/novel-writing-system/kit.json +481 -0
  212. package/kits/novel-writing-system/skills/character-arc/SKILL.md +164 -0
  213. package/kits/novel-writing-system/skills/develop-character-arc/SKILL.md +42 -0
  214. package/kits/novel-writing-system/skills/kit-expertise/SKILL.md +84 -0
  215. package/kits/novel-writing-system/skills/outline-review/SKILL.md +34 -0
  216. package/kits/novel-writing-system/skills/plot-doctor/SKILL.md +221 -0
  217. package/kits/novel-writing-system/skills/plot-hole-check/SKILL.md +35 -0
  218. package/kits/novel-writing-system/skills/scene-development/SKILL.md +38 -0
  219. package/kits/novel-writing-system/skills/scene-sequel/SKILL.md +162 -0
  220. package/kits/novel-writing-system/skills/worldbuilding-session/SKILL.md +40 -0
  221. package/kits/organization-chart/kit.json +349 -0
  222. package/kits/organization-chart/skills/add-role/SKILL.md +41 -0
  223. package/kits/organization-chart/skills/analyze-span/SKILL.md +34 -0
  224. package/kits/organization-chart/skills/create-raci/SKILL.md +42 -0
  225. package/kits/organization-chart/skills/kit-expertise/SKILL.md +78 -0
  226. package/kits/organization-chart/skills/org-design/SKILL.md +188 -0
  227. package/kits/organization-chart/skills/org-health-check/SKILL.md +35 -0
  228. package/kits/organization-chart/skills/plan-reorg/SKILL.md +42 -0
  229. package/kits/organization-chart/skills/role-definition/SKILL.md +180 -0
  230. package/kits/paws-and-pour/kit.json +969 -0
  231. package/kits/paws-and-pour/skills/adoption-report/SKILL.md +273 -0
  232. package/kits/paws-and-pour/skills/animal-profile/SKILL.md +206 -0
  233. package/kits/paws-and-pour/skills/blog-draft/SKILL.md +137 -0
  234. package/kits/paws-and-pour/skills/booking-digest/SKILL.md +251 -0
  235. package/kits/paws-and-pour/skills/cafe-expertise/SKILL.md +218 -0
  236. package/kits/paws-and-pour/skills/cafe-memory/SKILL.md +114 -0
  237. package/kits/paws-and-pour/skills/customer-insights/SKILL.md +216 -0
  238. package/kits/paws-and-pour/skills/demand-forecast/SKILL.md +200 -0
  239. package/kits/paws-and-pour/skills/email-campaign/SKILL.md +154 -0
  240. package/kits/paws-and-pour/skills/experience-copy/SKILL.md +139 -0
  241. package/kits/paws-and-pour/skills/guest-letter/SKILL.md +183 -0
  242. package/kits/paws-and-pour/skills/inventory-health/SKILL.md +213 -0
  243. package/kits/paws-and-pour/skills/revenue-report/SKILL.md +273 -0
  244. package/kits/paws-and-pour/skills/social-calendar/SKILL.md +183 -0
  245. package/kits/paws-and-pour/skills/staff-briefing/SKILL.md +223 -0
  246. package/kits/paws-and-pour/skills/venue-data-model/SKILL.md +260 -0
  247. package/kits/persona-driven-strategy/kit.json +352 -0
  248. package/kits/persona-driven-strategy/skills/empathy-mapping/SKILL.md +221 -0
  249. package/kits/persona-driven-strategy/skills/journey-mapping/SKILL.md +219 -0
  250. package/kits/persona-driven-strategy/skills/kit-expertise/SKILL.md +81 -0
  251. package/kits/persona-driven-strategy/skills/persona-development/SKILL.md +189 -0
  252. package/kits/personal-crm/kit.json +373 -0
  253. package/kits/personal-crm/skills/add-contact/SKILL.md +42 -0
  254. package/kits/personal-crm/skills/connect-contacts/SKILL.md +41 -0
  255. package/kits/personal-crm/skills/find-dormant/SKILL.md +35 -0
  256. package/kits/personal-crm/skills/kit-expertise/SKILL.md +82 -0
  257. package/kits/personal-crm/skills/log-interaction/SKILL.md +43 -0
  258. package/kits/personal-crm/skills/network-analysis/SKILL.md +161 -0
  259. package/kits/personal-crm/skills/relationship-insights/SKILL.md +153 -0
  260. package/kits/personal-wiki/kit.json +322 -0
  261. package/kits/personal-wiki/skills/kit-expertise/SKILL.md +81 -0
  262. package/kits/personal-wiki/skills/orphan-finder/SKILL.md +155 -0
  263. package/kits/personal-wiki/skills/wiki-structure/SKILL.md +179 -0
  264. package/kits/petal-press/kit.json +996 -0
  265. package/kits/petal-press/skills/arrangement-memory/SKILL.md +143 -0
  266. package/kits/petal-press/skills/blog-draft/SKILL.md +167 -0
  267. package/kits/petal-press/skills/booking-digest/SKILL.md +196 -0
  268. package/kits/petal-press/skills/care-card/SKILL.md +173 -0
  269. package/kits/petal-press/skills/customer-insights/SKILL.md +213 -0
  270. package/kits/petal-press/skills/demand-forecast/SKILL.md +203 -0
  271. package/kits/petal-press/skills/email-campaign/SKILL.md +204 -0
  272. package/kits/petal-press/skills/experience-copy/SKILL.md +184 -0
  273. package/kits/petal-press/skills/floral-expertise/SKILL.md +244 -0
  274. package/kits/petal-press/skills/guest-letter/SKILL.md +153 -0
  275. package/kits/petal-press/skills/inventory-health/SKILL.md +201 -0
  276. package/kits/petal-press/skills/revenue-report/SKILL.md +219 -0
  277. package/kits/petal-press/skills/seasonal-guide/SKILL.md +238 -0
  278. package/kits/petal-press/skills/social-calendar/SKILL.md +217 -0
  279. package/kits/petal-press/skills/staff-briefing/SKILL.md +217 -0
  280. package/kits/petal-press/skills/venue-data-model/SKILL.md +226 -0
  281. package/kits/pitch-deck/kit.json +416 -0
  282. package/kits/pitch-deck/skills/calculate-market-size/SKILL.md +41 -0
  283. package/kits/pitch-deck/skills/develop-problem-slide/SKILL.md +39 -0
  284. package/kits/pitch-deck/skills/investor-qa/SKILL.md +182 -0
  285. package/kits/pitch-deck/skills/investor-qa-prep/SKILL.md +36 -0
  286. package/kits/pitch-deck/skills/kit-expertise/SKILL.md +112 -0
  287. package/kits/pitch-deck/skills/pitch-structure/SKILL.md +186 -0
  288. package/kits/pitch-deck/skills/practice-pitch/SKILL.md +36 -0
  289. package/kits/podcast-series/kit.json +324 -0
  290. package/kits/podcast-series/skills/audience-growth/SKILL.md +38 -0
  291. package/kits/podcast-series/skills/create-guest-profile/SKILL.md +42 -0
  292. package/kits/podcast-series/skills/episode-structure/SKILL.md +189 -0
  293. package/kits/podcast-series/skills/guest-research/SKILL.md +167 -0
  294. package/kits/podcast-series/skills/kit-expertise/SKILL.md +81 -0
  295. package/kits/podcast-series/skills/plan-episode/SKILL.md +44 -0
  296. package/kits/podcast-series/skills/prepare-guest/SKILL.md +45 -0
  297. package/kits/podcast-series/skills/show-notes/SKILL.md +182 -0
  298. package/kits/podcast-series/skills/write-show-notes/SKILL.md +43 -0
  299. package/kits/pour-house/kit.json +912 -0
  300. package/kits/pour-house/skills/blog-draft/SKILL.md +138 -0
  301. package/kits/pour-house/skills/booking-digest/SKILL.md +151 -0
  302. package/kits/pour-house/skills/cellar-report/SKILL.md +251 -0
  303. package/kits/pour-house/skills/customer-insights/SKILL.md +184 -0
  304. package/kits/pour-house/skills/demand-forecast/SKILL.md +156 -0
  305. package/kits/pour-house/skills/email-campaign/SKILL.md +130 -0
  306. package/kits/pour-house/skills/experience-copy/SKILL.md +125 -0
  307. package/kits/pour-house/skills/guest-letter/SKILL.md +136 -0
  308. package/kits/pour-house/skills/inventory-health/SKILL.md +159 -0
  309. package/kits/pour-house/skills/pour-memory/SKILL.md +89 -0
  310. package/kits/pour-house/skills/revenue-report/SKILL.md +232 -0
  311. package/kits/pour-house/skills/social-calendar/SKILL.md +140 -0
  312. package/kits/pour-house/skills/sommelier-expertise/SKILL.md +324 -0
  313. package/kits/pour-house/skills/staff-briefing/SKILL.md +176 -0
  314. package/kits/pour-house/skills/tasting-notes/SKILL.md +179 -0
  315. package/kits/pour-house/skills/venue-data-model/SKILL.md +323 -0
  316. package/kits/presentation/kit.json +296 -0
  317. package/kits/product-requirements-doc/kit.json +365 -0
  318. package/kits/product-requirements-doc/skills/acceptance-criteria/SKILL.md +219 -0
  319. package/kits/product-requirements-doc/skills/create-user-story/SKILL.md +43 -0
  320. package/kits/product-requirements-doc/skills/define-success-metrics/SKILL.md +41 -0
  321. package/kits/product-requirements-doc/skills/kit-expertise/SKILL.md +81 -0
  322. package/kits/product-requirements-doc/skills/prd-review/SKILL.md +39 -0
  323. package/kits/product-requirements-doc/skills/prd-structure/SKILL.md +206 -0
  324. package/kits/product-requirements-doc/skills/prioritize-features/SKILL.md +43 -0
  325. package/kits/product-requirements-doc/skills/synthesize-research/SKILL.md +43 -0
  326. package/kits/product-requirements-doc/skills/user-stories/SKILL.md +198 -0
  327. package/kits/project-timeline/kit.json +367 -0
  328. package/kits/project-timeline/skills/add-milestone/SKILL.md +44 -0
  329. package/kits/project-timeline/skills/add-task/SKILL.md +43 -0
  330. package/kits/project-timeline/skills/assess-risks/SKILL.md +39 -0
  331. package/kits/project-timeline/skills/dependency-analysis/SKILL.md +176 -0
  332. package/kits/project-timeline/skills/identify-critical-path/SKILL.md +37 -0
  333. package/kits/project-timeline/skills/kit-expertise/SKILL.md +81 -0
  334. package/kits/project-timeline/skills/milestone-planning/SKILL.md +169 -0
  335. package/kits/project-timeline/skills/status-update/SKILL.md +39 -0
  336. package/kits/reading-tracker/kit.json +368 -0
  337. package/kits/reading-tracker/skills/add-book/SKILL.md +32 -0
  338. package/kits/reading-tracker/skills/book-connections/SKILL.md +161 -0
  339. package/kits/reading-tracker/skills/kit-expertise/SKILL.md +72 -0
  340. package/kits/reading-tracker/skills/log-progress/SKILL.md +29 -0
  341. package/kits/reading-tracker/skills/reading-insights/SKILL.md +179 -0
  342. package/kits/reading-tracker/skills/save-quote/SKILL.md +30 -0
  343. package/kits/recipe-manager/kit.json +376 -0
  344. package/kits/recipe-manager/skills/add-recipe/SKILL.md +33 -0
  345. package/kits/recipe-manager/skills/generate-shopping-list/SKILL.md +27 -0
  346. package/kits/recipe-manager/skills/ingredient-substitutions/SKILL.md +157 -0
  347. package/kits/recipe-manager/skills/kit-expertise/SKILL.md +72 -0
  348. package/kits/recipe-manager/skills/meal-planning/SKILL.md +184 -0
  349. package/kits/recipe-manager/skills/plan-meal/SKILL.md +31 -0
  350. package/kits/recipe-manager/skills/scaling-recipes/SKILL.md +183 -0
  351. package/kits/saas-app/kit.json +405 -0
  352. package/kits/saas-app/skills/churn-analysis/SKILL.md +219 -0
  353. package/kits/saas-app/skills/onboarding-flow/SKILL.md +217 -0
  354. package/kits/saas-app/skills/pricing-model/SKILL.md +192 -0
  355. package/kits/saas-app/skills/saas-expertise/SKILL.md +95 -0
  356. package/kits/salon-barbershop/kit.json +1021 -0
  357. package/kits/screenplay-writing/kit.json +412 -0
  358. package/kits/screenplay-writing/skills/analyze-scene/SKILL.md +42 -0
  359. package/kits/screenplay-writing/skills/beat-sheet/SKILL.md +134 -0
  360. package/kits/screenplay-writing/skills/create-scene-card/SKILL.md +46 -0
  361. package/kits/screenplay-writing/skills/develop-character/SKILL.md +43 -0
  362. package/kits/screenplay-writing/skills/generate-beat-sheet/SKILL.md +49 -0
  363. package/kits/screenplay-writing/skills/kit-expertise/SKILL.md +90 -0
  364. package/kits/screenplay-writing/skills/scene-analysis/SKILL.md +164 -0
  365. package/kits/screenplay-writing/skills/screenplay-format/SKILL.md +108 -0
  366. package/kits/social-media-manager/kit.json +476 -0
  367. package/kits/teacher-lesson-plan/kit.json +410 -0
  368. package/kits/teacher-lesson-plan/skills/assessment-design/SKILL.md +162 -0
  369. package/kits/teacher-lesson-plan/skills/blooms-taxonomy/SKILL.md +139 -0
  370. package/kits/teacher-lesson-plan/skills/create-lesson/SKILL.md +34 -0
  371. package/kits/teacher-lesson-plan/skills/design-unit/SKILL.md +28 -0
  372. package/kits/teacher-lesson-plan/skills/differentiate-lesson/SKILL.md +28 -0
  373. package/kits/teacher-lesson-plan/skills/differentiation/SKILL.md +180 -0
  374. package/kits/teacher-lesson-plan/skills/kit-expertise/SKILL.md +96 -0
  375. package/kits/teacher-lesson-plan/skills/schedule-lesson/SKILL.md +31 -0
  376. package/kits/technical-specification/kit.json +369 -0
  377. package/kits/technical-specification/skills/architecture-decision/SKILL.md +42 -0
  378. package/kits/technical-specification/skills/architecture-decisions/SKILL.md +180 -0
  379. package/kits/technical-specification/skills/data-model-design/SKILL.md +43 -0
  380. package/kits/technical-specification/skills/data-modeling/SKILL.md +159 -0
  381. package/kits/technical-specification/skills/define-component/SKILL.md +43 -0
  382. package/kits/technical-specification/skills/kit-expertise/SKILL.md +81 -0
  383. package/kits/technical-specification/skills/requirements-analysis/SKILL.md +42 -0
  384. package/kits/technical-specification/skills/security-review/SKILL.md +170 -0
  385. package/kits/technical-specification/skills/spec-review/SKILL.md +39 -0
  386. package/kits/wanderlands/kit.json +399 -0
  387. package/kits/wanderlands/skills/kit-expertise/SKILL.md +376 -0
  388. package/kits/web-application/kit.json +257 -0
  389. package/kits/web-application/skills/kit-expertise/SKILL.md +211 -0
  390. package/kits/wicks-and-whiskers/kit.json +1267 -0
  391. package/kits/wicks-and-whiskers/skills/blog-draft/SKILL.md +145 -0
  392. package/kits/wicks-and-whiskers/skills/booking-digest/SKILL.md +142 -0
  393. package/kits/wicks-and-whiskers/skills/candle-expertise/SKILL.md +69 -0
  394. package/kits/wicks-and-whiskers/skills/customer-insights/SKILL.md +176 -0
  395. package/kits/wicks-and-whiskers/skills/demand-forecast/SKILL.md +159 -0
  396. package/kits/wicks-and-whiskers/skills/email-campaign/SKILL.md +131 -0
  397. package/kits/wicks-and-whiskers/skills/experience-copy/SKILL.md +135 -0
  398. package/kits/wicks-and-whiskers/skills/guest-letter/SKILL.md +154 -0
  399. package/kits/wicks-and-whiskers/skills/inventory-health/SKILL.md +185 -0
  400. package/kits/wicks-and-whiskers/skills/kitten-profile/SKILL.md +159 -0
  401. package/kits/wicks-and-whiskers/skills/memory-narrative/SKILL.md +71 -0
  402. package/kits/wicks-and-whiskers/skills/revenue-report/SKILL.md +197 -0
  403. package/kits/wicks-and-whiskers/skills/social-calendar/SKILL.md +161 -0
  404. package/kits/wicks-and-whiskers/skills/staff-briefing/SKILL.md +174 -0
  405. package/kits/wicks-and-whiskers/skills/venue-data-model/SKILL.md +228 -0
  406. package/kits/world-building/kit.json +497 -0
  407. package/kits/world-building/skills/consistency-check/SKILL.md +179 -0
  408. package/kits/world-building/skills/create-character/SKILL.md +44 -0
  409. package/kits/world-building/skills/create-faction/SKILL.md +44 -0
  410. package/kits/world-building/skills/create-location/SKILL.md +44 -0
  411. package/kits/world-building/skills/create-timeline/SKILL.md +39 -0
  412. package/kits/world-building/skills/culture-builder/SKILL.md +171 -0
  413. package/kits/world-building/skills/design-magic-system/SKILL.md +38 -0
  414. package/kits/world-building/skills/kit-expertise/SKILL.md +110 -0
  415. package/kits/world-building/skills/magic-systems/SKILL.md +161 -0
  416. package/kits/youtube-content-plan/kit.json +346 -0
  417. package/kits/youtube-content-plan/skills/analytics-insights/SKILL.md +166 -0
  418. package/kits/youtube-content-plan/skills/analyze-performance/SKILL.md +43 -0
  419. package/kits/youtube-content-plan/skills/develop-video-idea/SKILL.md +45 -0
  420. package/kits/youtube-content-plan/skills/generate-ideas/SKILL.md +42 -0
  421. package/kits/youtube-content-plan/skills/kit-expertise/SKILL.md +81 -0
  422. package/kits/youtube-content-plan/skills/optimize-metadata/SKILL.md +43 -0
  423. package/kits/youtube-content-plan/skills/script-writing/SKILL.md +180 -0
  424. package/kits/youtube-content-plan/skills/write-script/SKILL.md +44 -0
  425. package/kits/youtube-content-plan/skills/youtube-seo/SKILL.md +172 -0
  426. package/package.json +43 -0
  427. package/src/index.ts +35 -0
  428. package/src/kits/ai-content-studio.ts +377 -0
  429. package/src/kits/api-documentation.ts +352 -0
  430. package/src/kits/axe-house.ts +949 -0
  431. package/src/kits/blog-series.ts +357 -0
  432. package/src/kits/business-plan.ts +406 -0
  433. package/src/kits/canvas-and-corks.ts +928 -0
  434. package/src/kits/character-relationship-map.ts +368 -0
  435. package/src/kits/clay-and-co.ts +956 -0
  436. package/src/kits/concept-map.ts +354 -0
  437. package/src/kits/content-calendar.ts +399 -0
  438. package/src/kits/coworking-space.ts +1084 -0
  439. package/src/kits/escape-vault.ts +1046 -0
  440. package/src/kits/family-tree.ts +381 -0
  441. package/src/kits/farkle-dice-game.ts +318 -0
  442. package/src/kits/franchise-ops.ts +345 -0
  443. package/src/kits/freelance-portfolio.ts +453 -0
  444. package/src/kits/game-design-doc.ts +353 -0
  445. package/src/kits/gather-and-grill.ts +984 -0
  446. package/src/kits/gtd-productivity-system.ts +389 -0
  447. package/src/kits/gym-fitness.ts +1053 -0
  448. package/src/kits/index.ts +76 -0
  449. package/src/kits/interactive-fiction.ts +489 -0
  450. package/src/kits/invoice-generator.ts +484 -0
  451. package/src/kits/loyalty-program.ts +342 -0
  452. package/src/kits/marketing-plan.ts +398 -0
  453. package/src/kits/marketing-site.ts +248 -0
  454. package/src/kits/match-3-puzzle.ts +248 -0
  455. package/src/kits/mind-map.ts +356 -0
  456. package/src/kits/music-collection.ts +404 -0
  457. package/src/kits/music-venue.ts +1002 -0
  458. package/src/kits/novel-writing-system.ts +461 -0
  459. package/src/kits/organization-chart.ts +350 -0
  460. package/src/kits/paws-and-pour.ts +987 -0
  461. package/src/kits/persona-driven-strategy.ts +345 -0
  462. package/src/kits/personal-crm.ts +391 -0
  463. package/src/kits/personal-wiki.ts +323 -0
  464. package/src/kits/petal-press.ts +1014 -0
  465. package/src/kits/pitch-deck.ts +395 -0
  466. package/src/kits/podcast-series.ts +324 -0
  467. package/src/kits/pour-house.ts +930 -0
  468. package/src/kits/presentation.ts +276 -0
  469. package/src/kits/product-requirements-doc.ts +359 -0
  470. package/src/kits/project-timeline.ts +368 -0
  471. package/src/kits/reading-tracker.ts +368 -0
  472. package/src/kits/recipe-manager.ts +376 -0
  473. package/src/kits/saas-app.ts +423 -0
  474. package/src/kits/salon-barbershop.ts +1037 -0
  475. package/src/kits/screenplay-writing.ts +412 -0
  476. package/src/kits/social-media-manager.ts +494 -0
  477. package/src/kits/teacher-lesson-plan.ts +410 -0
  478. package/src/kits/technical-specification.ts +363 -0
  479. package/src/kits/wanderlands.ts +401 -0
  480. package/src/kits/web-application.ts +275 -0
  481. package/src/kits/wicks-and-whiskers.ts +1285 -0
  482. package/src/kits/world-building.ts +476 -0
  483. package/src/kits/youtube-content-plan.ts +339 -0
  484. package/src/registry.ts +60 -0
  485. package/src/skills/api-documentation/index.ts +47 -0
  486. package/src/skills/axe-house/index.ts +71 -0
  487. package/src/skills/blog-series/index.ts +43 -0
  488. package/src/skills/business-plan/index.ts +43 -0
  489. package/src/skills/canvas-and-corks/index.ts +75 -0
  490. package/src/skills/character-relationship-map/index.ts +23 -0
  491. package/src/skills/clay-and-co/index.ts +75 -0
  492. package/src/skills/concept-map/index.ts +43 -0
  493. package/src/skills/content-calendar/index.ts +43 -0
  494. package/src/skills/escape-vault/index.ts +75 -0
  495. package/src/skills/family-tree/index.ts +43 -0
  496. package/src/skills/farkle-dice-game/index.ts +15 -0
  497. package/src/skills/game-design-doc/index.ts +47 -0
  498. package/src/skills/gather-and-grill/index.ts +75 -0
  499. package/src/skills/gtd-productivity-system/index.ts +43 -0
  500. package/src/skills/index.ts +109 -0
  501. package/src/skills/marketing-plan/index.ts +43 -0
  502. package/src/skills/marketing-site/index.ts +39 -0
  503. package/src/skills/match-3-puzzle/index.ts +15 -0
  504. package/src/skills/mind-map/index.ts +43 -0
  505. package/src/skills/music-collection/index.ts +43 -0
  506. package/src/skills/novel-writing-system/index.ts +47 -0
  507. package/src/skills/organization-chart/index.ts +43 -0
  508. package/src/skills/paws-and-pour/index.ts +75 -0
  509. package/src/skills/persona-driven-strategy/index.ts +27 -0
  510. package/src/skills/personal-crm/index.ts +39 -0
  511. package/src/skills/personal-wiki/index.ts +23 -0
  512. package/src/skills/petal-press/index.ts +75 -0
  513. package/src/skills/pitch-deck/index.ts +39 -0
  514. package/src/skills/podcast-series/index.ts +47 -0
  515. package/src/skills/pour-house/index.ts +75 -0
  516. package/src/skills/product-requirements-doc/index.ts +47 -0
  517. package/src/skills/project-timeline/index.ts +43 -0
  518. package/src/skills/reading-tracker/index.ts +35 -0
  519. package/src/skills/recipe-manager/index.ts +39 -0
  520. package/src/skills/saas-app/index.ts +27 -0
  521. package/src/skills/screenplay-writing/index.ts +43 -0
  522. package/src/skills/teacher-lesson-plan/index.ts +43 -0
  523. package/src/skills/technical-specification/index.ts +47 -0
  524. package/src/skills/wanderlands/index.ts +15 -0
  525. package/src/skills/web-application/index.ts +15 -0
  526. package/src/skills/wicks-and-whiskers/index.ts +71 -0
  527. package/src/skills/world-building/index.ts +47 -0
  528. package/src/skills/youtube-content-plan/index.ts +47 -0
@@ -0,0 +1,174 @@
1
+ ---
2
+ id: customer-insights
3
+ name: Customer Insights
4
+ description: Segments paint studio customers by visit frequency, spend, and party behavior using neural clustering, identifies VIPs and churn-risk guests, and surfaces actionable retention and acquisition recommendations.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: true
9
+ ---
10
+
11
+ # Customer Insights
12
+
13
+ You analyze the customer base at **{{locationName}}** to identify behavioral segments, surface VIP guests, flag churn risk, and track acquisition trends. The goal is to give studio owners an honest, specific picture of who their guests are and what actions will grow loyalty.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when staff or owners ask:
18
+ - "Who are our best customers?"
19
+ - "Who haven't we seen in a while?"
20
+ - "Customer breakdown / segments"
21
+ - "Loyalty analysis"
22
+ - "Churn risk"
23
+ - "How many new customers this month?"
24
+ - Any question about guest behavior, retention, or customer lifetime value
25
+
26
+ ## Data to Pull
27
+
28
+ ### Step 1 — Customer aggregate
29
+
30
+ Query all `Person` entities with `metadata.entityType = 'customer'` for the location. Key fields:
31
+ - `metadata.totalBookings` — lifetime visit count
32
+ - `metadata.totalSpentInCents` — lifetime spend
33
+ - `metadata.loyaltyTier` — current tier (e.g., Bronze, Silver, Gold)
34
+ - `metadata.email` — for identification (never display full email in output; use first name + last initial)
35
+ - `metadata.displayName`
36
+
37
+ Also check for associated `loyalty-account` entities (via `Customer Creates LoyaltyAccount` relationship) for `metadata.pointsBalance`.
38
+
39
+ ### Step 2 — Neural clustering
40
+
41
+ ```typescript
42
+ const segments = await brain.neural().clusters({
43
+ numClusters: 5,
44
+ entityType: 'Person'
45
+ });
46
+ ```
47
+
48
+ Use the cluster assignment to group customers. Map each cluster to a named segment based on the centroid characteristics (see Segment Labels below).
49
+
50
+ ### Step 3 — Outlier detection
51
+
52
+ ```typescript
53
+ const outliers = await brain.neural().outliers({
54
+ threshold: 2.0,
55
+ method: 'zscore',
56
+ entityType: 'Person'
57
+ });
58
+ ```
59
+
60
+ Outliers with high `totalSpentInCents` or `totalBookings` = VIP candidates.
61
+ Outliers that were previously high-value but have low recency = churn risk candidates.
62
+
63
+ ### Step 4 — New customer trend
64
+
65
+ Query bookings grouped by month to count first-time guest visits. A guest is "new" if this is their first booking at the location (totalBookings = 1 at the time of booking, or created date falls within the period).
66
+
67
+ ---
68
+
69
+ ## Segment Labels
70
+
71
+ Map the five neural clusters to these canonical segment labels based on the dominant characteristics of each cluster's centroid:
72
+
73
+ | Segment | Defining Traits | Recommended Action |
74
+ |---|---|---|
75
+ | **Champions** | High lifetime spend + high booking frequency + recent visit | VIP treatment — early class access, personal thank-you from instructor, loyalty tier benefits |
76
+ | **Art Lovers** | Frequent visits + moderate spend + consistent solo or duo bookings | Upsell to next loyalty tier — they love the experience, just need a nudge to the next level |
77
+ | **Birthday Bookers** | Visit frequency spikes around annual dates + group bookings | Target with birthday month promotions — they're natural group organizers who return once a year |
78
+ | **Group Organizers** | Always arrive with large parties (guestCount > 4) + moderate individual frequency | Corporate group and party outreach — they're connected to other bookers and will refer |
79
+ | **One-Timers** | Single visit, no return within 90 days | Re-engagement campaign with a return discount — the goal is just getting them back once |
80
+
81
+ If a cluster doesn't clearly fit a label, describe its characteristics neutrally and note that it requires further observation.
82
+
83
+ ---
84
+
85
+ ## Report Structure
86
+
87
+ ---
88
+
89
+ ### Customer Insights — {{locationName}}
90
+ **Generated**: [today's date]
91
+ **Total customers**: [count]
92
+
93
+ ---
94
+
95
+ ### 1. Segment Overview
96
+
97
+ | Segment | Customers | % of Base | Avg LTV | Avg Visits | Last-Visit Recency | Recommended Action |
98
+ |---|---|---|---|---|---|---|
99
+ | Champions | [N] | [%] | $[avg spend] | [avg] | [days since last visit avg] | [action] |
100
+ | Art Lovers | [N] | [%] | $[avg] | [avg] | [days] | [action] |
101
+ | Birthday Bookers | [N] | [%] | $[avg] | [avg] | [days] | [action] |
102
+ | Group Organizers | [N] | [%] | $[avg] | [avg] | [days] | [action] |
103
+ | One-Timers | [N] | [%] | $[avg] | [avg] | [days] | [action] |
104
+
105
+ ---
106
+
107
+ ### 2. VIP List — Top 10 by Lifetime Value
108
+
109
+ | # | Guest | Lifetime Value | Visits | Loyalty Tier | Last Visit | Segment |
110
+ |---|---|---|---|---|---|---|
111
+ | 1 | [First name L.] | $[ltv] | [N] | [tier] | [date] | [segment] |
112
+
113
+ Cap at 10. Use first name + last initial only — never full email or full last name in this output.
114
+
115
+ ---
116
+
117
+ ### 3. Churn Risk — High-Value Guests Not Seen in 60+ Days
118
+
119
+ Identify guests in the Champions or Art Lovers segment who have not had a confirmed booking in the past 60 days.
120
+
121
+ | Guest | Lifetime Value | Last Visit | Days Since Visit | Suggested Action |
122
+ |---|---|---|---|---|
123
+ | [First name L.] | $[ltv] | [date] | [N] | [e.g., "Personal re-engagement email from instructor"] |
124
+
125
+ If no churn-risk guests: "All high-value guests have visited within the past 60 days. Retention looks healthy."
126
+
127
+ ---
128
+
129
+ ### 4. New Customer Acquisition — Last 6 Months
130
+
131
+ | Month | New Customers | MoM Change |
132
+ |---|---|---|
133
+ | [month] | [N] | [+/- %] |
134
+
135
+ Add a one-sentence trend note: "New customer acquisition is [growing/stable/declining] — [month] brought the most new guests ([N]) in this window."
136
+
137
+ ---
138
+
139
+ ### 5. Loyalty Tier Distribution
140
+
141
+ | Tier | Customers | % | Avg LTV | Avg Visits |
142
+ |---|---|---|---|---|
143
+ | Gold | [N] | [%] | $[avg] | [avg] |
144
+ | Silver | [N] | [%] | $[avg] | [avg] |
145
+ | Bronze | [N] | [%] | $[avg] | [avg] |
146
+ | No tier | [N] | [%] | $[avg] | [avg] |
147
+
148
+ ---
149
+
150
+ ### 6. Canvas & Corks Group Insight
151
+
152
+ Calculate what percentage of customers have at least one booking with `guestCount > 2` (i.e., they brought a group). Paint & sip naturally skews toward group experiences:
153
+
154
+ > "**[X]% of your customers have booked as part of a group.** This represents [N] people who have demonstrated they're comfortable organizing social outings — a strong signal for party package and corporate group upsell campaigns."
155
+
156
+ If X > 50%: note that this is above the paint & sip industry norm and suggests strong word-of-mouth and social booking behavior.
157
+
158
+ ---
159
+
160
+ ### 7. Recommendations
161
+
162
+ Provide 2–3 specific, data-backed recommendations. Examples:
163
+
164
+ - "Your [N] Birthday Bookers are due for a visit in the next 30 days based on their historical annual pattern. A targeted birthday month email with a 10% return discount could recover [estimated $X] in bookings."
165
+ - "One-Timers represent [N] customers and $[X] in untapped LTV if converted to a second visit. A 'Come back and try a new painting' email with social proof (your most popular recent painting) is the highest-ROI action available."
166
+ - "[N] Champions have not returned in 45+ days — just below churn threshold. A personal note from the instructor (not a mass email) is the most effective re-engagement for this segment."
167
+
168
+ ---
169
+
170
+ ## Privacy Rules
171
+
172
+ - Never display full email addresses in any output
173
+ - Use first name + last initial format for individual guest references
174
+ - Loyalty point balances and lifetime spend may be shown in aggregate tables; avoid pairing name + exact spend in contexts where the output might be shared publicly
@@ -0,0 +1,191 @@
1
+ ---
2
+ id: demand-forecast
3
+ name: Demand Forecast
4
+ description: Analyzes class booking patterns across days and hours to identify peak demand windows, generate a visual demand heatmap, and produce specific staffing and scheduling recommendations for the paint studio.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: true
9
+ ---
10
+
11
+ # Demand Forecast
12
+
13
+ You analyze historical booking patterns at **{{locationName}}** to surface peak demand windows, identify understaffed periods, and recommend scheduling changes. The output is a practical tool for a studio owner deciding when to add classes or hire instructors.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when staff or owners ask:
18
+ - "When are we busiest?"
19
+ - "Should we add a Thursday evening class?"
20
+ - "How do I staff the weekend?"
21
+ - "Capacity planning for next quarter"
22
+ - "What are our peak times?"
23
+ - Any question about scheduling decisions or staffing levels
24
+
25
+ ## Default Analysis Window
26
+
27
+ If no period is specified, analyze the **trailing 90 days** of booking data. This provides enough volume for statistically meaningful day-of-week and hour-of-day patterns.
28
+
29
+ ## Aggregate to Define
30
+
31
+ ```typescript
32
+ brain.defineAggregate('bookingsByDayHour', {
33
+ source: {
34
+ type: 'Event',
35
+ where: [
36
+ { field: 'metadata.entityType', value: 'booking' },
37
+ { field: 'metadata.status', value: 'confirmed' }
38
+ ]
39
+ },
40
+ groupBy: [
41
+ { field: 'metadata.date', window: 'day' },
42
+ { field: 'metadata.hour' }
43
+ ],
44
+ metrics: {
45
+ bookingCount: { op: 'COUNT' },
46
+ totalGuests: { op: 'SUM', field: 'metadata.guestCount' },
47
+ avgGuests: { op: 'AVG', field: 'metadata.guestCount' }
48
+ }
49
+ });
50
+ ```
51
+
52
+ After querying, aggregate client-side by day-of-week (0 = Sunday through 6 = Saturday) and hour to produce the 7×12 heatmap grid.
53
+
54
+ ## Peak Window Identification
55
+
56
+ Compute the mean and standard deviation of `bookingCount` across all day+hour cells. A **peak window** is any cell where `bookingCount > mean + 1.0 × stddev`.
57
+
58
+ A **quiet window** is any cell where `bookingCount < mean − 0.5 × stddev`.
59
+
60
+ ## Staffing Ratios
61
+
62
+ Apply these ratios when evaluating instructor adequacy:
63
+
64
+ | Class Type | Max Painters per Instructor |
65
+ |---|---|
66
+ | Guided Paint Class | 20 |
67
+ | BYOB Date Night | 20 |
68
+ | Private Paint Party | 16 |
69
+ | Kids Paint Class | 12 |
70
+
71
+ An **understaffed window** is a peak slot where average `guestCount` exceeds the max-per-instructor for the most common class type in that slot.
72
+
73
+ ---
74
+
75
+ ## Report Structure
76
+
77
+ ---
78
+
79
+ ### Demand Forecast — {{locationName}}
80
+ **Analysis period**: [start] – [end] ([N] days of data)
81
+
82
+ ---
83
+
84
+ ### 1. Demand Heatmap
85
+
86
+ Render a 7-column (day-of-week) × 12-row (hour, 10am–9pm) grid. Cell values are average booking count per slot over the analysis period.
87
+
88
+ Use ASCII intensity symbols for readability in plain text:
89
+ - `███` = top quartile (peak)
90
+ - `▓▓▓` = third quartile (high)
91
+ - `░░░` = second quartile (moderate)
92
+ - ` ` = bottom quartile (low)
93
+
94
+ Or, if markdown table rendering is preferred, use numeric values with a legend:
95
+
96
+ ```
97
+ Sun Mon Tue Wed Thu Fri Sat
98
+ 10:00am [avg] [avg] [avg] [avg] [avg] [avg] [avg]
99
+ 11:00am ...
100
+ 12:00pm ...
101
+ 1:00pm ...
102
+ 2:00pm ...
103
+ 3:00pm ...
104
+ 4:00pm ...
105
+ 5:00pm ...
106
+ 6:00pm ...
107
+ 7:00pm ...
108
+ 8:00pm ...
109
+ 9:00pm ...
110
+ ```
111
+
112
+ **Legend**: Values are average confirmed bookings per hour slot. Bold/★ = peak (> mean + 1σ).
113
+
114
+ ---
115
+
116
+ ### 2. Top 5 Peak Windows
117
+
118
+ List the five highest-demand day+hour combinations:
119
+
120
+ | Rank | Day | Time | Avg Bookings | Avg Painters | Notes |
121
+ |---|---|---|---|---|---|
122
+ | 1 | [day] | [time] | [avg] | [avg guests] | [e.g., "Date Night peak"] |
123
+
124
+ For each peak window, note:
125
+ - Whether it's already fully scheduled (class exists) or represents an untapped opportunity
126
+ - The estimated revenue opportunity: `avgGuests × priceInCents ÷ 100` per added session
127
+
128
+ ---
129
+
130
+ ### 3. Quietest Windows
131
+
132
+ List the five lowest-demand day+hour slots:
133
+
134
+ | Day | Time | Avg Bookings | Recommendation |
135
+ |---|---|---|---|
136
+ | [day] | [time] | [avg] | [e.g., "Good for private party buyouts" or "Consider removing from schedule"] |
137
+
138
+ Quiet windows are not failures — they are opportunities for private parties, corporate groups, or studio prep time.
139
+
140
+ ---
141
+
142
+ ### 4. Staffing Recommendations
143
+
144
+ Based on peak windows and staffing ratios:
145
+
146
+ For each peak window where avgGuests approaches or exceeds the per-instructor limit:
147
+
148
+ ```
149
+ ⚠️ [Day] [Time] — Potential understaffing
150
+ Avg painters: [N] | Max per instructor: [limit]
151
+ Recommendation: Ensure 2 instructors are scheduled for this slot,
152
+ or cap enrollment at [limit] until second instructor is confirmed.
153
+ ```
154
+
155
+ If all peaks are within single-instructor capacity:
156
+ "All peak windows are within single-instructor capacity (≤ 20 painters). No immediate staffing changes required."
157
+
158
+ ---
159
+
160
+ ### 5. Scheduling Insights
161
+
162
+ Provide 3–5 plain-language insights drawn from the data. Always check for:
163
+
164
+ - **Friday/Saturday evening pattern**: These are typically the highest-demand windows for adult guided classes and date night sessions.
165
+ - **Weekday morning pattern**: Weekday 10am–12pm slots typically peak for kids classes and small group bookings.
166
+ - **Thursday evening opportunity**: Often a strong secondary peak that studios underserve.
167
+ - **Sunday matinee**: Frequently a growth opportunity — families and brunchers often available but no class offered.
168
+ - **Seasonal notes**: If analysis covers multiple months, note any seasonal demand shift (summer vs. fall, holiday season spike).
169
+
170
+ Format each insight as a short paragraph with a clear headline.
171
+
172
+ ---
173
+
174
+ ### 6. Growth Opportunities
175
+
176
+ Based on the combination of peak demand data and current class schedule gaps, list the top 2–3 new time slots worth piloting:
177
+
178
+ ```
179
+ 💡 Recommended new slot: [Day] at [Time]
180
+ Rationale: [N] existing bookings cluster in adjacent windows, suggesting
181
+ unmet demand. Projected revenue at [fill rate]% capacity: $[estimate].
182
+ Suggested class type: [Guided Paint Class | Date Night | Private Party]
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Contextual Notes (Always Include)
188
+
189
+ - **Friday and Saturday evenings** (6pm–9pm) are the canonical Date Night peak at most paint & sip studios. If the data confirms this, affirm it. If it doesn't, flag it as unusual and suggest investigating promotion gaps.
190
+ - **Weekday mornings** (10am–12pm) are the natural home for Kids Paint Class and corporate group bookings. Under-utilization of these windows represents the clearest upsell opportunity for daytime revenue.
191
+ - **Private party buyouts** are best positioned in quiet windows — they bring guaranteed revenue without competing for public class seats.
@@ -0,0 +1,154 @@
1
+ ---
2
+ id: email-campaign
3
+ name: Email Campaign Writer
4
+ description: Writes complete marketing email campaigns for Canvas & Corks with two A/B subject lines, a preheader, personalized body copy, a CTA button, and an unsubscribe line — ready to send from any ESP.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: false
9
+ ---
10
+
11
+ # Email Campaign Writer
12
+
13
+ You write complete, ready-to-send marketing emails for **{{businessName}}**. Every output includes two A/B subject line variants, a preheader, body copy, CTA button text, and an unsubscribe line. Nothing is left for the user to fill in — the email is complete.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when staff or owners ask:
18
+ - "Write an email campaign"
19
+ - "Draft a marketing email"
20
+ - "I need an email for [topic]"
21
+ - "Email blast for this week's class"
22
+ - "Re-engagement campaign"
23
+
24
+ If the campaign type is unclear, ask one question: "What's the goal of this email — promote a specific class, re-engage lapsed guests, announce a new painting, or something else?" Then proceed.
25
+
26
+ ---
27
+
28
+ ## Campaign Types
29
+
30
+ ### Promo / Class Announcement
31
+ Goal: Drive bookings for an upcoming class or specific time slot.
32
+ Angle: Urgency ("only 6 seats left"), excitement ("this painting is stunning"), social proof ("our most popular date night painting ever").
33
+
34
+ ### Re-engagement
35
+ Goal: Bring back guests who haven't visited in 60+ days.
36
+ Angle: "We've missed you" + "here's what's new" + low-friction reason to return. Never guilt. Always warm.
37
+
38
+ ### Seasonal
39
+ Goal: Connect the studio to a holiday, season, or cultural moment.
40
+ Angle: Tie the creative experience to the feeling of the season. Valentine's = connection + togetherness. Halloween = playful boldness. New Year = fresh start + new skills.
41
+
42
+ ### New Painting Reveal
43
+ Goal: Generate buzz around a newly added painting to the class schedule.
44
+ Angle: Tease the aesthetic, describe the technique, make it sound like something the reader would be proud to hang on their wall.
45
+
46
+ ### Class Schedule Drop
47
+ Goal: Announce a new batch of upcoming classes — typically monthly.
48
+ Angle: "Here's what we're painting this month" — visual, scannable, with class names and dates.
49
+
50
+ ### Corporate / Group Outreach
51
+ Goal: Reach event planners, HR managers, or social chairs.
52
+ Angle: Frictionless group booking, private studio options, team benefit framing. Professional tone but still warm.
53
+
54
+ ### Loyalty
55
+ Goal: Recognize a loyalty milestone, announce a points bonus, or invite guests to redeem points.
56
+ Angle: Celebratory, personal, specific to the reward or milestone.
57
+
58
+ ---
59
+
60
+ ## Output Format
61
+
62
+ Always produce all six components in this exact order:
63
+
64
+ ---
65
+
66
+ ### Subject A
67
+ [Curiosity or question style — 35–50 characters]
68
+
69
+ **Good examples:**
70
+ - "Can you really paint that?"
71
+ - "We saved your favorite seat 🎨"
72
+ - "Something new is on the easel"
73
+
74
+ **Avoid**: Spammy punctuation (!!!), all caps, vague non-sequiturs, fake urgency ("LAST CHANCE!!!")
75
+
76
+ ---
77
+
78
+ ### Subject B
79
+ [Direct value or offer style — 35–50 characters]
80
+
81
+ **Good examples:**
82
+ - "New paintings just added for March"
83
+ - "Date Night class — only 4 seats left"
84
+ - "Bring a friend, paint for less"
85
+
86
+ ---
87
+
88
+ ### Preheader
89
+ [85–100 characters — extends Subject A or B with complementary detail]
90
+
91
+ The preheader should add information not already in the subject line. It's the preview text visible in inbox before the email is opened.
92
+
93
+ **Good example (pairs with Subject A "Can you really paint that?"):**
94
+ "Guided step-by-step by our instructors — yes, you really can. Here's what's on the easel this month."
95
+
96
+ ---
97
+
98
+ ### Email Body
99
+ [150–200 words — 3–4 paragraphs]
100
+
101
+ **Structure:**
102
+ 1. **Opener** — Personalized with `{{firstName}}` if it appears natural. Warm, direct, not corporate. Get to the point in the first sentence.
103
+ 2. **The offer or news** — Specific. What painting? What date? What experience? What's the deal?
104
+ 3. **The reason to act** — Urgency (genuine, not manufactured), social proof, or an emotional angle.
105
+ 4. **Soft close** — One sentence reiterating the CTA and making the action feel easy.
106
+
107
+ **Personalization tokens**: Use `{{firstName}}` where it flows naturally (opener, and once more if appropriate). Do not force it into every sentence.
108
+
109
+ **Tone**: Like a message from your favorite art instructor — not a brand email. Specific, warm, human.
110
+
111
+ ---
112
+
113
+ ### CTA Button Text
114
+ [3–5 words — action-first]
115
+
116
+ **Good examples:**
117
+ - "Book My Seat"
118
+ - "See What's Painting"
119
+ - "Reserve Date Night Spots"
120
+ - "Claim My Discount"
121
+ - "View March Classes"
122
+
123
+ **Avoid**: "Click Here", "Learn More", "Submit", generic verbs without context.
124
+
125
+ ---
126
+
127
+ ### Unsubscribe Line
128
+ [Standard legal + brand-appropriate]
129
+
130
+ Always end with:
131
+ > You're receiving this because you've visited {{businessName}} or signed up for our list. [Unsubscribe] | {{address}}
132
+
133
+ ---
134
+
135
+ ## C&C-Specific Angles to Draw From
136
+
137
+ Use these hooks and angles when appropriate for the campaign type:
138
+
139
+ - **BYOB reminder**: Always mention BYOB when writing about guided classes or date nights — it's a differentiator and conversation-starter
140
+ - **New painting announcements**: Lead with the painting name and a sensory description of the palette — readers want to picture the finished piece
141
+ - **"Seats filling fast"**: Only use when confirmed bookings data supports it — manufactured urgency erodes trust. If you don't have data, use "spots are limited" without a specific count.
142
+ - **Kids class promotions**: Lead with the parent benefit — stress-free drop-off, creative outlet, instructor supervision. Age-appropriate fun for the parents who are deciding.
143
+ - **Date night pairing**: Emphasize that guests create coordinating paintings — two canvases that look beautiful together on a gallery wall. This is a strong unique selling point.
144
+ - **Instructor voice**: Whenever possible, frame the email as if it's coming from a named instructor (use `{{featuredArtist}}` if available) rather than "the team." Instructor-to-guest is the most authentic relationship in the studio.
145
+
146
+ ---
147
+
148
+ ## Length and Format Constraints
149
+
150
+ - **Subject lines**: Count characters carefully. 35–50 is a firm range for mobile inbox display.
151
+ - **Preheader**: 85–100 characters. If it's shorter, clients pad it with repetitive text — specify the full preheader.
152
+ - **Body**: 150–200 words. This is intentionally short — paint & sip emails should feel like a quick note from a friend, not a newsletter.
153
+ - **Do not include HTML** unless explicitly asked. Write in clean plain text / markdown — the user's ESP handles rendering.
154
+ - **One CTA per email** — never include two different CTA links in the same email. Decide the goal and direct everything toward it.
@@ -0,0 +1,152 @@
1
+ ---
2
+ id: experience-copy
3
+ name: Experience Copy Writer
4
+ description: Writes marketing copy for all Canvas & Corks experience types in four formats: a full booking-page description, a one-liner, an SEO meta description, and a social media caption — all optimized for conversions.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: false
9
+ ---
10
+
11
+ # Experience Copy Writer
12
+
13
+ You write conversion-optimized marketing copy for **{{businessName}}** experience types. Every invocation produces four complete, ready-to-use formats for a single experience: a full description, a one-liner, a meta description, and a social caption.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when staff or owners ask:
18
+ - "Write copy for our [class name]"
19
+ - "Describe the Date Night experience"
20
+ - "Update the booking page description for Kids Paint Class"
21
+ - "I need marketing copy for our Private Party offering"
22
+ - "Write something for [experience type]"
23
+
24
+ If the experience type isn't clear, ask: "Which experience are you writing copy for?" then proceed.
25
+
26
+ ---
27
+
28
+ ## C&C Experience Types
29
+
30
+ ### Guided Paint Class
31
+ - **Price**: $45/person
32
+ - **Duration**: 120 minutes
33
+ - **Group size**: 1–30 guests (public class)
34
+ - **Format**: Step-by-step instructor guidance throughout; everyone paints the same featured painting
35
+ - **Key selling points**: No experience required, all supplies included, BYOB welcome, instructor walks each guest through every step, take home a finished 16×20 canvas
36
+ - **Tone**: Welcoming, beginner-forward, social energy
37
+
38
+ ### Private Paint Party
39
+ - **Price**: $55/person
40
+ - **Duration**: 150 minutes
41
+ - **Group size**: 8–20 guests (full studio buyout)
42
+ - **Format**: Exclusive studio rental, guests choose their painting in advance, dedicated instructor
43
+ - **Key selling points**: Complete privacy, custom painting selection, flexible scheduling, perfect for bachelorette, birthday, corporate, or any group occasion
44
+ - **Tone**: Elevated, celebratory, "your night, your way"
45
+
46
+ ### Kids Paint Class
47
+ - **Price**: $28/person
48
+ - **Duration**: 90 minutes
49
+ - **Group size**: Ages 5–12
50
+ - **Format**: Age-appropriate painting with clear step-by-step guidance; parents welcome but not required
51
+ - **Key selling points**: Builds creative confidence, all supplies included, take home a finished canvas, a real art experience (not a craft kit)
52
+ - **Tone**: Fun, age-appropriate, reassuring for parents
53
+
54
+ ### BYOB Date Night
55
+ - **Price**: $40/person (minimum 2)
56
+ - **Duration**: 120 minutes
57
+ - **Group size**: Pairs (2 guests seated side by side)
58
+ - **Format**: Coordinating paintings designed to look beautiful together on a wall; BYOB encouraged
59
+ - **Key selling points**: Side-by-side coordinating canvases, intimate setup, BYOB, takes home two paintings that belong together — a keepsake, not just a craft
60
+ - **Tone**: Romantic, specific, experience-focused not activity-focused
61
+
62
+ ---
63
+
64
+ ## The Four Output Formats
65
+
66
+ Always produce all four. Label each clearly.
67
+
68
+ ---
69
+
70
+ ### 1. Full Description (80–120 words)
71
+ For the booking page. Guests read this after clicking an experience — they're already interested. Seal the deal.
72
+
73
+ **Rules:**
74
+ - Lead with what the guest will *experience*, not what the class *is*
75
+ - Include: the specific art output, the skill level required (or lack thereof), the sensory atmosphere, BYOB/drink policy, and what they leave with
76
+ - End with a confidence-builder: "No experience needed" or "Every guest leaves with a finished canvas ready to hang"
77
+ - Write in present tense — "You'll learn...", "Our instructor guides you..."
78
+ - Avoid: "Join us for a fun evening of..." (cliché opener) — get specific immediately
79
+
80
+ ---
81
+
82
+ ### 2. One-Liner (under 15 words)
83
+ For list views, booking widgets, social media bios, and directory listings.
84
+
85
+ **Rules:**
86
+ - Must convey the core promise in one short sentence
87
+ - No filler words (amazing, incredible, unforgettable)
88
+ - Specific enough to distinguish from other classes
89
+
90
+ **Good examples:**
91
+ - "Step-by-step guided painting class for all skill levels. BYOB welcome."
92
+ - "Paint coordinating canvases side by side on the perfect date night."
93
+ - "Kids ages 5–12 paint real art on a real canvas in 90 minutes."
94
+
95
+ ---
96
+
97
+ ### 3. SEO Meta Description (150–160 characters)
98
+ For the HTML `<meta name="description">` tag on the booking or class page.
99
+
100
+ **Rules:**
101
+ - Target character count: 150–160 exactly (shorter won't fill the SERP snippet, longer gets cut off)
102
+ - Include primary keyword naturally: "paint and sip {{city}}" or "painting class {{city}}"
103
+ - Include a CTA or value signal at the end: "Book online — no experience needed."
104
+ - Do not start with the business name — start with the experience value proposition
105
+
106
+ **Good examples:**
107
+ - "Private paint & sip class in {{city}} — full studio buyout for 8–20 guests. Choose your painting, BYOB, and book any day. Reserve your date online."
108
+ - "Kids painting class in {{city}} for ages 5–12. 90 minutes of step-by-step guided art on real canvas. All supplies included. Book online today."
109
+
110
+ ---
111
+
112
+ ### 4. Social Caption (120–150 characters)
113
+ For Instagram and Facebook post captions. This is designed to be paired with a photo.
114
+
115
+ **Rules:**
116
+ - Hook in the first 5 words — this is what shows before "more" on mobile
117
+ - Include one specific detail (price, duration, or what's unique)
118
+ - End with a soft CTA: "link in bio", "DM us to book", or "tap to reserve"
119
+ - Keep to 120–150 characters — tight, scroll-stopping
120
+ - Emoji usage: 1–2 max, only if they genuinely add energy
121
+
122
+ **Good examples:**
123
+ - "No paintbrush experience? Perfect. Our instructor guides every single step. 🎨 Link in bio to book your class."
124
+ - "A date night you'll hang on the wall. Coordinating paintings, BYOB, side by side. Tap to reserve your spots."
125
+
126
+ ---
127
+
128
+ ## Selling Angles Cheat Sheet
129
+
130
+ Draw from these when writing copy — they're the proven conversion points for C&C:
131
+
132
+ | Angle | When to Use |
133
+ |---|---|
134
+ | "No experience necessary" | Always — especially for Guided Class and Date Night |
135
+ | "All supplies included" | All classes — canvas, brushes, paint, easel, apron |
136
+ | "Take home a finished canvas" | Every format — it's the physical takeaway that justifies the price |
137
+ | "BYOB welcome" | Guided Class, Date Night, Private Party |
138
+ | "Coordinating paintings" | Date Night specifically — the strongest differentiator |
139
+ | "Full studio buyout" | Private Party — exclusivity is the main value |
140
+ | "Step-by-step instructor guidance" | Guided Class and Kids — removes the fear of "I can't paint" |
141
+ | "Perfect for [occasion]" | Private Party (bachelorette, birthday, corporate) |
142
+ | "Age-appropriate, real art" | Kids Class — parents want substance, not craft-kit level content |
143
+
144
+ ---
145
+
146
+ ## Common Mistakes to Avoid
147
+
148
+ - **"Fun for all ages"** — vague and meaningless. Be specific about age ranges or audience.
149
+ - **"Unleash your inner artist"** — cliché that implies the guest's existing creativity is suppressed. Say what they'll actually do instead.
150
+ - **"Amazing experience"** — empty modifier. Replace with something specific: "You'll walk away with a finished 16×20 acrylic canvas, ready to hang."
151
+ - **Leading with price** — mention price only if it's a competitive advantage or when context requires it (booking page listing).
152
+ - **"Join us"** — weak opener. Start with the guest's experience, not the studio's invitation.