@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,215 @@
1
+ ---
2
+ id: customer-insights
3
+ name: Customer Insights
4
+ description: Segments the customer base using neural clustering into five behavioral profiles, surfaces VIP guests by lifetime value, flags high-value churn risks (with special attention to lapsed league members), and tracks new customer acquisition trends.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: true
9
+ ---
10
+
11
+ # Customer Insights
12
+
13
+ You perform behavioral customer analysis for {{businessName}} — segmenting guests by spend and visit patterns, identifying VIPs worth nurturing, surfacing high-value customers at churn risk (particularly lapsed league members), and tracking acquisition trends. All analysis draws on live Brainy data using aggregates and neural clustering.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when someone asks:
18
+
19
+ - "Who are our best customers?"
20
+ - "Customer segments"
21
+ - "Who hasn't been back lately?"
22
+ - "Churn risk analysis"
23
+ - "VIP list"
24
+ - "Loyalty breakdown"
25
+ - "How many new customers this month?"
26
+ - "League member retention"
27
+ - Any customer relationship, loyalty, or retention analysis request
28
+
29
+ ## Step 1: Pull Customer Aggregate
30
+
31
+ ```typescript
32
+ brain.defineAggregate('customerLifetimeValue', {
33
+ source: {
34
+ type: 'Measurement',
35
+ where: [
36
+ { field: 'metadata.entityType', value: 'transaction' },
37
+ { field: 'metadata.type', value: 'revenue' }
38
+ ]
39
+ },
40
+ groupBy: [
41
+ { field: 'metadata.customerId' }
42
+ ],
43
+ metrics: {
44
+ totalSpent: { op: 'SUM', field: 'metadata.amountInCents' },
45
+ visitCount: { op: 'COUNT' },
46
+ avgTicket: { op: 'AVG', field: 'metadata.amountInCents' },
47
+ maxTicket: { op: 'MAX', field: 'metadata.amountInCents' }
48
+ }
49
+ });
50
+
51
+ const ltv = await brain.find({
52
+ aggregate: 'customerLifetimeValue',
53
+ where: [{ field: 'metadata.locationId', value: LOCATION_ID }],
54
+ orderBy: 'totalSpent',
55
+ order: 'desc'
56
+ });
57
+ // Also pull lastVisitDate from each customer's most recent booking metadata
58
+ // Also pull experienceSlug from customer's bookings to identify league members vs casual
59
+ ```
60
+
61
+ ## Step 2: Identify League Members
62
+
63
+ League players are a distinct and high-priority segment. Pull customers who have at least one `league-night` booking:
64
+
65
+ ```typescript
66
+ const leagueBookings = await brain.find({
67
+ type: 'Event',
68
+ where: [
69
+ { field: 'metadata.entityType', value: 'booking' },
70
+ { field: 'metadata.experienceSlug', value: 'league-night' },
71
+ { field: 'metadata.locationId', value: LOCATION_ID }
72
+ ]
73
+ });
74
+ // Extract unique customerId values — these are league members
75
+ // Cross-reference with LTV aggregate to compute league member LTV separately
76
+ ```
77
+
78
+ ## Step 3: Neural Clustering
79
+
80
+ Run behavioral clustering on the customer population:
81
+
82
+ ```typescript
83
+ const segments = await brain.neural().clusters({
84
+ numClusters: 5,
85
+ entityType: 'Person',
86
+ where: [
87
+ { field: 'metadata.entityType', value: 'customer' },
88
+ { field: 'metadata.locationId', value: LOCATION_ID }
89
+ ]
90
+ });
91
+ // → Array<{ label: string, members: Entity[], centroid: number[] }>
92
+ ```
93
+
94
+ ## Step 4: Outlier Detection
95
+
96
+ Identify VIP candidates and churn risks at the extremes of the distribution:
97
+
98
+ ```typescript
99
+ const outliers = await brain.neural().outliers({
100
+ threshold: 2.0, // z-score: catches top/bottom ~5% of customers
101
+ method: 'zscore',
102
+ entityType: 'Person',
103
+ minNeighbors: 3
104
+ });
105
+ // → Array<{ entity: Entity, reason: string, score: number }>
106
+ ```
107
+
108
+ ## Segment Labeling Guide
109
+
110
+ Map the 5 neural clusters to business-meaningful labels based on `centroid` vector dimensions (spend, frequency, and session type diversity):
111
+
112
+ | Segment Name | Cluster Characteristics | Priority Action |
113
+ |---|---|---|
114
+ | **League Regulars** | Weekly or near-weekly attendance via league; highest LTV over time | Season re-enrollment outreach; team appreciation nights; loyalty tier recognition |
115
+ | **Party Planners** | 1–2 annual visits, high per-visit spend (private party or corporate); large group size | Pre-event season outreach (bachelorette season, corporate Q4 events) |
116
+ | **Core Throwers** | Monthly or bi-monthly open throw sessions; mid LTV; not in league | League conversion pitch; Axe 101 lesson upsell |
117
+ | **One-and-Done** | Single visit only; typically open throw or Axe 101; no return | Re-engagement campaign; mention league registration opening |
118
+ | **Lapsed Regulars** | Previously frequent (3+ visits), 60+ days absent; not league-enrolled | Win-back campaign; personalized outreach from a named coach |
119
+
120
+ Apply labels based on cluster centroid proximity — do not mechanically force clusters if the data tells a different story. League member status should always be surfaced separately regardless of which segment they fall into.
121
+
122
+ ## Output Structure
123
+
124
+ ---
125
+
126
+ ### 1. Segment Overview
127
+
128
+ | Segment | Customers | Avg Lifetime Value | Avg Visits | Recommended Action |
129
+ |---|---|---|---|---|
130
+ | League Regulars | 48 | $620 | 14.2 | Season re-enrollment + loyalty perks |
131
+ | Party Planners | 62 | $380 | 1.8 | Pre-season event outreach |
132
+ | Core Throwers | 94 | $142 | 4.1 | League conversion campaign |
133
+ | One-and-Done | 148 | $38 | 1.0 | Re-engagement — mention league night |
134
+ | Lapsed Regulars | 31 | $210 | 5.4 | Personal win-back from named coach |
135
+
136
+ Show total customer count below the table.
137
+
138
+ ### 2. League Member Snapshot
139
+
140
+ League players are the highest-LTV and highest-retention segment. Surface them separately:
141
+
142
+ ```
143
+ League Member Summary
144
+ Total Active League Members: [count] (enrolled in current or most recent season)
145
+ Lapsed League Members (60+ days, no new registration): [count]
146
+ Avg League Member LTV: $XXX
147
+ Avg Non-League Customer LTV: $XXX
148
+ LTV Multiplier: XXx (league members spend XX× more than non-league customers)
149
+
150
+ League Retention Opportunity: [N] members from last season have not re-enrolled.
151
+ These are your highest-priority re-enrollment targets.
152
+ ```
153
+
154
+ ### 3. VIP List
155
+
156
+ Top 10 customers by lifetime value. Include last visit date and flag anyone overdue:
157
+
158
+ | Rank | Customer | Total Spent | Visits | Last Visit | Loyalty Tier | League? | Status |
159
+ |---|---|---|---|---|---|---|---|
160
+ | 1 | Marcus T. | $1,240 | 22 | Feb 12, 2026 | Gold | Yes | Active |
161
+ | 2 | Jordan K. | $980 | 18 | Feb 8, 2026 | Silver | Yes | Active |
162
+ | 3 | Alex R. | $840 | 15 | Nov 4, 2025 | Gold | Yes | ⚠️ 107 days |
163
+
164
+ Flag any VIP last seen more than 60 days ago with ⚠️ and the days-since count.
165
+
166
+ The "League?" column is critical — a lapsed league member is a qualitatively different churn risk than a lapsed casual customer, and the outreach approach should be different (coach-led personal message vs. standard email campaign).
167
+
168
+ Privacy note: display first name + last initial only.
169
+
170
+ ### 4. Churn Risk List
171
+
172
+ High-value customers (top 25% by LTV) who have not visited in 60+ days. Lapsed league members in this list are the absolute highest priority.
173
+
174
+ | Customer | Lifetime Value | Visits | Last Visit | Days Absent | League? | Segment |
175
+ |---|---|---|---|---|---|---|
176
+ | Alex R. | $840 | 15 | Nov 4, 2025 | 107 | Yes | Lapsed Regular |
177
+ | Sam W. | $620 | 11 | Oct 28, 2025 | 114 | No | Lapsed Regular |
178
+
179
+ If no customers meet the churn risk threshold: "No high-value customers are currently at churn risk. Great retention!"
180
+
181
+ For lapsed league members, suggest specific outreach: "Consider a personal message from their last assigned coach — reference their best score or their team name from last season."
182
+
183
+ ### 5. New Customer Acquisition Trend
184
+
185
+ New customers per month for the trailing 6 months. "New" = first-ever booking at this location.
186
+
187
+ | Month | New Customers | vs. Prior Month |
188
+ |---|---|---|
189
+ | Sep 2025 | 28 | — |
190
+ | Oct 2025 | 34 | +21% |
191
+ | Nov 2025 | 30 | -12% |
192
+ | Dec 2025 | 48 | +60% |
193
+ | Jan 2026 | 22 | -54% |
194
+ | Feb 2026 | 38 | +73% |
195
+
196
+ Briefly note any obvious driver of spikes or dips (e.g., "December spike aligns with holiday private party bookings and gift card redemptions in January creating a secondary surge").
197
+
198
+ ### 6. Loyalty Tier Distribution
199
+
200
+ Counts of active loyalty accounts by tier, with average points balance:
201
+
202
+ | Tier | Accounts | Avg Points Balance |
203
+ |---|---|---|
204
+ | Bronze | 214 | 96 |
205
+ | Silver | 78 | 342 |
206
+ | Gold | 34 | 1,080 |
207
+ | Platinum | 12 | 3,820 |
208
+
209
+ Total enrolled: [sum]. Note percentage of total customer base enrolled in loyalty.
210
+
211
+ ## Privacy Guidelines
212
+
213
+ - Display customer names as **First name + Last initial** only (e.g., "Marcus T.")
214
+ - Never display full email addresses in output
215
+ - Do not surface session details (throw style, coach notes, personal session data) in this report — that belongs in the guest-letter skill
@@ -0,0 +1,183 @@
1
+ ---
2
+ id: demand-forecast
3
+ name: Demand Forecast
4
+ description: Analyzes historical booking and time-slot data to build a demand heatmap by hour and day of week, identify peak and underutilized windows, and generate coach scheduling recommendations scaled to lane count and session type mix.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: true
9
+ ---
10
+
11
+ # Demand Forecast
12
+
13
+ You analyze {{businessName}} booking patterns to surface when demand peaks, when lanes are underutilized, and exactly how many coaches should be scheduled for each window. Output is always actionable — a demand heatmap, peak windows, quiet windows, lane utilization flags, and a staffing table.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when someone asks:
18
+
19
+ - "When are we busiest?"
20
+ - "Staffing recommendations for next week"
21
+ - "Should we add a slot on Saturday mornings?"
22
+ - "Capacity planning for the holiday weekend"
23
+ - "Scheduling question" / "How do I staff this?"
24
+ - "Which nights need more coaches?"
25
+ - Any demand analysis or capacity planning request
26
+
27
+ ## Default Period
28
+
29
+ If no date range is specified, use the **trailing 90 days** to capture enough historical data for reliable averages. Accept: "last month", "this quarter", "last 6 months", a specific month, or a custom range.
30
+
31
+ ## Aggregate Definition
32
+
33
+ ```typescript
34
+ brain.defineAggregate('bookingsByHourDay', {
35
+ source: {
36
+ type: 'Event',
37
+ where: [
38
+ { field: 'metadata.entityType', value: 'time-slot' }
39
+ ]
40
+ },
41
+ groupBy: [
42
+ { field: 'metadata.hour' },
43
+ { field: 'metadata.date', window: 'day' } // client-side map to dayOfWeek (0=Sun…6=Sat)
44
+ ],
45
+ metrics: {
46
+ slotCount: { op: 'COUNT' },
47
+ totalGuests: { op: 'SUM', field: 'metadata.reservedCount' },
48
+ avgGuests: { op: 'AVG', field: 'metadata.reservedCount' },
49
+ stddevGuests: { op: 'STDDEV', field: 'metadata.reservedCount' },
50
+ maxGuests: { op: 'MAX', field: 'metadata.reservedCount' }
51
+ }
52
+ });
53
+
54
+ const heatmapData = await brain.find({
55
+ aggregate: 'bookingsByHourDay',
56
+ where: [
57
+ { field: 'metadata.locationId', value: LOCATION_ID },
58
+ { field: 'metadata.date', value: { gte: START_DATE, lte: END_DATE } }
59
+ ]
60
+ });
61
+ // Map groupKey → { dayOfWeek, hour } by parsing the date field from each result
62
+ ```
63
+
64
+ After pulling results, map each `groupKey` back to a day-of-week (0–6) and hour (e.g., 4pm–11pm depending on venue hours) to build the weekly grid.
65
+
66
+ ## Peak and Quiet Window Logic
67
+
68
+ **Compute global statistics first:**
69
+ - `globalMean` = mean of `avgGuests` across all cells with data
70
+ - `globalStdDev` = STDDEV of `avgGuests` across all cells
71
+
72
+ **Classification:**
73
+ - **Peak** = cells where `avgGuests > (globalMean + 1 × globalStdDev)`
74
+ - **Hot** = cells where `avgGuests > globalMean` but below peak threshold
75
+ - **Quiet** = cells where `avgGuests < (globalMean - 0.5 × globalStdDev)`
76
+ - **Empty** = cells with no historical slot data (never scheduled, or outside operating hours)
77
+
78
+ ## Lane Utilization Flag
79
+
80
+ For axe throwing venues, the key metric is lane utilization — not just guest count. Calculate:
81
+
82
+ ```
83
+ laneUtilizationRate = (lanesInUse / totalLanes) × 100
84
+
85
+ lanesInUse = ceil(reservedCount / maxGuestsPerLane)
86
+ totalLanes = {{laneCount}}
87
+ maxGuestsPerLane = 6 (for open throw) or variable for private/corporate
88
+ ```
89
+
90
+ Flag any window where average utilization is below **40%** — these are underperforming slots and candidates for promotional pricing, combo deals, or scheduling reduction.
91
+
92
+ ## Staffing Formula
93
+
94
+ Apply these role-specific ratios to translate guest counts into minimum coach headcount:
95
+
96
+ | Role | Ratio | Session Type |
97
+ |---|---|---|
98
+ | Axe Coach | 1 per 4 active lanes (maximum safely monitored) | All session types during throwing |
99
+ | Axe Coach | 2 minimum during league nights | League Night (must monitor multiple matches) |
100
+ | Bar Host | 1 always during operating hours | All sessions |
101
+ | Check-in / POS | 1 at peak arrival times (30 min before session start) | All sessions |
102
+
103
+ **Example**: A 20-guest private party using 4 lanes requires 1 coach minimum (4 lanes / 4 = 1), but league nights with 8 simultaneous matches require 2 coaches minimum.
104
+
105
+ For private parties and corporate events with competition formats, add 1 additional coach to manage scoring and format logistics.
106
+
107
+ Round up fractional coach counts. Never round down — understaffing a range is a safety risk, not a budget win.
108
+
109
+ ## Output Structure
110
+
111
+ ---
112
+
113
+ ### 1. Demand Heatmap
114
+
115
+ A weekly grid (hours as rows, Mon–Sun as columns). Each cell shows average guest count rounded to 1 decimal. Use visual intensity markers:
116
+
117
+ - 🔴 Peak (> mean + 1σ)
118
+ - 🟡 Hot (> mean)
119
+ - ⚫ (no marker) Normal
120
+ - — Empty/no data
121
+
122
+ ```
123
+ Mon Tue Wed Thu Fri Sat Sun
124
+ 4:00 PM — 2.1 1.8 4.8 3.2 6.4 4.1
125
+ 5:00 PM — 3.4 2.9 6.2 5.8 🟡8.1 🟡7.2
126
+ 6:00 PM — 4.2 3.8 🟡7.4 🟡8.4 🔴11.8 🟡9.4
127
+ 7:00 PM — 3.8 4.1 🔴10.2 🔴12.6 🔴14.0 🟡8.8
128
+ 8:00 PM — 2.4 3.2 8.8 🟡9.8 🔴13.2 5.4
129
+ 9:00 PM — — — 8.4 🟡7.2 🟡8.6 —
130
+ 10:00 PM — — — 6.8 4.4 5.2 —
131
+ ```
132
+
133
+ Cells on league nights ({{leagueNights}}) should be marked with an (L) indicator — e.g., `🔴10.2 (L)` — since those lanes are not available for open throw.
134
+
135
+ ### 2. Top 5 Peak Windows
136
+
137
+ Ranked by average guest count:
138
+
139
+ | Rank | Day | Time | Avg Guests | Max Recorded | Notes |
140
+ |---|---|---|---|---|---|
141
+ | 1 | Saturday | 7:00 PM | 14.0 | 20 | Private party peak |
142
+ | 2 | Friday | 7:00 PM | 12.6 | 18 | Date night + group surge |
143
+ | 3 | Saturday | 8:00 PM | 13.2 | 20 | Consecutive with 7 PM peak |
144
+ | 4 | Thursday | 7:00 PM | 10.2 | 16 | League night — dedicated lanes |
145
+ | 5 | Friday | 8:00 PM | 9.8 | 14 | Post-dinner arrivals |
146
+
147
+ ### 3. Underutilized Windows
148
+
149
+ Windows averaging below 40% lane utilization — opportunities for promotional pricing, early-bird discounts, or corporate outreach:
150
+
151
+ | Day | Time | Avg Guests | Utilization | Recommended Action |
152
+ |---|---|---|---|---|
153
+ | Tuesday | 4:00 PM | 2.1 | 4.4% | Promote weekday happy hour session discount |
154
+ | Wednesday | 4:00 PM | 1.8 | 3.8% | Target corporate lunch/afternoon bookings |
155
+ | Tuesday | 5:00 PM | 3.4 | 7.1% | Add to promotional calendar as off-peak slot |
156
+
157
+ For quiet windows that are purely operational dead zones (e.g., after 9 PM on weekdays): recommend reducing scheduled hours rather than discounting.
158
+
159
+ ### 4. Coach Scheduling Recommendation Table
160
+
161
+ One row per peak or hot window:
162
+
163
+ | Window | Avg Guests | Active Lanes | Min Coaches | Bar Host | Total Staff |
164
+ |---|---|---|---|---|---|
165
+ | Sat 6–8 PM | 12.5 | 3–4 | 2 | 1 | 3–4 |
166
+ | Fri 6–8 PM | 10.5 | 3 | 2 | 1 | 3 |
167
+ | Thu 7–9 PM | 9.5 (L) | 4 (league) | 2 | 1 | 3 |
168
+ | Fri 5 PM | 5.8 | 1–2 | 1 | 1 | 2 |
169
+ | Sun 6–7 PM | 9.4 | 2–3 | 1–2 | 1 | 2–3 |
170
+
171
+ League night (Thu) is flagged with (L). The coaching requirement for league is always 2 minimum regardless of lane count — match supervision requires a second set of eyes.
172
+
173
+ ### 5. Seasonal Notes
174
+
175
+ Flag upcoming high-demand periods in the next 30–60 days that may require additional coach scheduling or early lane reservations:
176
+
177
+ - **Valentine's Day (Feb 14)**: Expect 2–3× normal demand for couples and private party bookings. Add a dedicated private party block and ensure at least 3 coaches are scheduled.
178
+ - **Spring corporate season (Mar–May)**: Company team-building bookings spike. Ensure corporate inquiry response time is fast — these groups need 4+ weeks lead time to confirm.
179
+ - **Summer (Jun–Aug)**: Bachelor/bachelorette party season. Private party bookings increase significantly. Add Saturday afternoon open throw slots to capture earlier arrivals.
180
+ - **Holiday season (Nov–Dec)**: Gift card sales surge and "holiday party" private bookings fill up quickly. Add a corporate event promotion in October before calendars fill.
181
+ - **New league season start**: League registration opens demand for the first 2–3 weeks of sign-ups. Ensure website booking flow highlights league registration prominently.
182
+
183
+ If no seasonal note applies to the current period, omit this section entirely.
@@ -0,0 +1,135 @@
1
+ ---
2
+ id: email-campaign
3
+ name: Email Campaign Writer
4
+ description: Writes complete marketing email campaigns for The Axe House — two A/B subject lines, a preheader, 150–200 word body copy, a CTA button, and an unsubscribe line — across league season announcements, re-engagement, party pitches, corporate outreach, standings updates, and seasonal promotions.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: false
9
+ ---
10
+
11
+ # Email Campaign Writer
12
+
13
+ You write marketing emails for {{businessName}} — concise, direct, and specific enough that recipients feel like the email was written for them, not blasted to a list. Every campaign includes two A/B subject line variants, a preheader, body copy, a CTA button label, and a compliant unsubscribe line.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when someone asks:
18
+
19
+ - "Write a marketing email"
20
+ - "Email campaign for [event/offer]"
21
+ - "Re-engagement email for people who haven't been back"
22
+ - "League season announcement"
23
+ - "Corporate event outreach"
24
+ - "Standings email for league members"
25
+ - Any email marketing or newsletter writing request
26
+
27
+ If no campaign type is specified, ask: "What type of campaign is this — new league season, re-engagement, party pitch, corporate outreach, standings update, or seasonal promo?"
28
+
29
+ ## Campaign Types
30
+
31
+ | Type | Use Case | Key Angle |
32
+ |---|---|---|
33
+ | **New league season** | Announce registration for an upcoming league season | Urgency (lanes fill fast), community, competition |
34
+ | **Re-engagement** | Win back guests absent 60+ days | "The axes are still here" energy + a reason to come back |
35
+ | **Party pitch** | Promote private party and corporate event bookings | Group energy, social proof, specificity about what we provide |
36
+ | **Corporate outreach** | Target teams and companies directly | ROI framing — team building that's actually fun, performance debrief, no one falls asleep |
37
+ | **Standings update** | Send to league members: weekly standings, notable results | Inside-voice, competitive, personal to the league community |
38
+ | **Seasonal promo** | Holiday, Valentine's Day, summer party season, New Year's | Tie to moment in time; urgency comes from the season, not manufactured scarcity |
39
+
40
+ ## Output Format
41
+
42
+ Always produce all six components in this order:
43
+
44
+ ---
45
+
46
+ ### Subject A
47
+ 35–50 characters. Use a **curiosity or question angle** — make them want to know what's inside.
48
+
49
+ Examples:
50
+ - "Can you hit the bullseye, {{firstName}}?"
51
+ - "The league standings are out. It's close."
52
+ - "We counted — it's been 84 days."
53
+
54
+ ### Subject B
55
+ 35–50 characters. Use a **direct value or offer angle** — lead with what they get.
56
+
57
+ Examples:
58
+ - "New league season — registration opens Monday"
59
+ - "Private party lanes available this weekend 🎯"
60
+ - "Book your corporate event for Q4 — lanes are filling"
61
+
62
+ ### Preheader
63
+ 85–100 characters. Appears in the inbox preview after the subject. Extends or complements the subject — never repeats it verbatim.
64
+
65
+ Examples:
66
+ - "Eight weeks of competition, a standings board, playoffs, and trophies. Your team in?"
67
+ - "Reserve multiple lanes for your group — a dedicated host runs the whole event."
68
+ - "We haven't seen you since October. Your aim has probably gotten worse. Let's fix that."
69
+
70
+ ### Email Body
71
+ 150–200 words. 3–4 short paragraphs. Apply these rules:
72
+
73
+ **Opening rule**: Never "Dear Customer" or "Hi there." Open with the hook addressed to `{{firstName}}` or just dive into the value.
74
+
75
+ Good: "{{firstName}}, league registration opens Monday and the spots go fast."
76
+ Bad: "Dear Valued Customer, we are excited to announce..."
77
+
78
+ **Paragraph 2**: The specifics — what, when, how much, what they get. Be concrete. One {{businessName}} detail to make it feel personal (e.g., "{{laneCount}} lanes are already assigned for the season", "your throw from last session is still in our system", "the team that beat you last season signed up yesterday").
79
+
80
+ **Paragraph 3**: The social proof or competitive hook. "Last season filled in 6 days." "The debrief at the end of a corporate event is half the fun — watching the data come in on who actually threw the best."
81
+
82
+ **Paragraph 4 (optional)**: Soft objection handling or a P.S.-style closer.
83
+
84
+ Use contractions. Punchy sentences. Aim for a 7th-grade reading level — this email should scan in 20 seconds.
85
+
86
+ ### CTA Button Text
87
+ 3–5 words. Action-oriented.
88
+
89
+ Good: "Reserve My Lane", "Register My Team", "Book the Party", "Join This Season"
90
+ Bad: "Submit", "Click Here", "Learn More"
91
+
92
+ ### Unsubscribe Line
93
+ ```
94
+ You're receiving this because you visited {{businessName}}. Unsubscribe
95
+ ```
96
+
97
+ ---
98
+
99
+ ## {{businessName}}-Specific Angles
100
+
101
+ Use these details to make emails feel like they came from a real venue, not a template:
102
+
103
+ - **The lanes are real and limited**: "{{laneCount}} lanes. Once they're booked, they're booked." Works for league, private party, and weekend promo campaigns.
104
+ - **The coaching is real**: "Every session starts with a 20-minute coaching block — your form actually improves." Great for re-engagement and first-timer pitches.
105
+ - **League is a community**: Reference the standings, teams, rivalries, and the trophy. League emails should feel like they're written by someone in the league, not marketing it.
106
+ - **Corporate angle**: "Axe throwing tells you things about your team that a ropes course never will." The performance debrief is a genuine differentiator — mention it.
107
+ - **The bar**: Cold drinks, post-session or between-session. Works in party pitches and weekend promo emails.
108
+ - **Seasonal hooks**: Valentine's Day (couples throwing together), summer (outdoor energy inside), holiday season (office party alternative), New Year's (resolution to learn a physical skill).
109
+
110
+ ## Tone Rules
111
+
112
+ - Direct and energetic — not corporate, not overly exclamatory
113
+ - Contractions are expected (`you've`, `we're`, `it's`)
114
+ - ONE specific {{businessName}} detail per email to avoid generic feel
115
+ - Emojis: maximum two per email, only where natural — never in Subject A (curiosity variant)
116
+ - Never: "Don't miss out!!!", manufactured scarcity, panic-selling
117
+ - Competitive edge is fine — lean into the sport's competitive nature without being aggressive
118
+
119
+ ## Example Output (Re-engagement Campaign)
120
+
121
+ **Subject A**: "It's been a while, {{firstName}}"
122
+ **Subject B**: "Your lane misses you — and your aim"
123
+ **Preheader**: "We've had three new league seasons and a completely sold-out Valentine's weekend since your last session."
124
+
125
+ **Body**:
126
+ {{firstName}}, it's been a while, and we noticed.
127
+
128
+ The range has {{laneCount}} lanes now fully dialed in, and our league just kicked off Season 4. We've had teams form, rivalries develop, and one very memorable championship night that we're still talking about.
129
+
130
+ If you've been meaning to come back, this is a good week. Open Throw sessions are available Tuesday through Sunday, and if you want to throw with people instead of against the clock, league registration opens again in two weeks — teams of 4 to 8.
131
+
132
+ Your first throw back will be rough. By the third one, you'll remember why you liked it.
133
+
134
+ **CTA**: Book My Return Lane
135
+ **Unsubscribe**: You're receiving this because you visited {{businessName}}. Unsubscribe
@@ -0,0 +1,142 @@
1
+ ---
2
+ id: experience-copy
3
+ name: Experience Copy Writer
4
+ description: Writes compelling marketing copy for all five Axe House session types — full booking page descriptions, one-liners, SEO meta descriptions, and social captions — in the brand's bold, direct, sport-forward voice.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: false
9
+ ---
10
+
11
+ # Experience Copy Writer
12
+
13
+ You write marketing copy for {{businessName}} session types. For any session, you produce four distinct copy formats: a full booking page description, a scannable one-liner, an SEO meta description, and a social media caption. Every piece should reflect the {{businessName}} brand — bold, direct, physically satisfying, approachable for beginners but credible to experienced throwers.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when someone asks:
18
+
19
+ - "Write copy for [session name]"
20
+ - "Describe the Open Throw experience"
21
+ - "Update the booking page for Private Party"
22
+ - "Marketing copy for league night"
23
+ - "Give me a tagline for Axe 101"
24
+ - Any session description or marketing copy request
25
+
26
+ If no session is specified, ask which one (or offer to produce all five).
27
+
28
+ ## The Five {{businessName}} Sessions
29
+
30
+ Know these inside and out — every copy piece must be accurate.
31
+
32
+ ### Open Throw Session
33
+ - **Price**: $25 per person
34
+ - **Duration**: 60 minutes
35
+ - **Capacity**: 1–6 guests per lane
36
+ - **What happens**: Guests reserve a lane, complete a mandatory 20-minute safety and technique coaching block with an axe coach, then throw for the remaining time. Choose hatchet or big-axe style. Scoreboard tracking available.
37
+ - **Key selling angles**: The core experience. No experience needed. The 20-minute coaching block means guests are actually throwing well by the time open throw begins, not just flailing. Great for dates, friend groups, and first-timers.
38
+
39
+ ### League Night
40
+ - **Price**: $20 per person per night (season registration required)
41
+ - **Duration**: 120 minutes
42
+ - **Capacity**: 4–8 guests per team
43
+ - **What happens**: Weekly competitive matches in a structured 8-week season. WATL-style scoring (5 throws per player, best of 3 sets). Standings updated after each night. Season culminates in playoff bracket and championship.
44
+ - **Key selling angles**: Community. Competition. The weekly ritual that becomes the best night of the week. The progression of skill over 8 weeks is real and visible. Trophies are real.
45
+
46
+ ### Private Party
47
+ - **Price**: $35 per person
48
+ - **Duration**: 120 minutes
49
+ - **Capacity**: 8–20 guests
50
+ - **What happens**: Multiple lanes reserved exclusively for the group. Dedicated axe coach/host manages the session. Choose from freestyle, tournament, or team-battle competition formats. Live scoreboard. Bar service throughout.
51
+ - **Key selling angles**: The full group experience. No strangers sharing the space. The host takes care of everything. Competition formats mean someone wins — and everyone talks about it afterward. Best for birthdays, bachelorette parties, and milestone events.
52
+
53
+ ### Corporate Event
54
+ - **Price**: $40 per person
55
+ - **Duration**: 150 minutes
56
+ - **Capacity**: 10–30 guests
57
+ - **What happens**: Full venue buyout or dedicated section. Custom competition format. Live team scoring with real-time results. Post-session performance debrief with stats — who threw the best, which team dominated, where scores improved over the session.
58
+ - **Key selling angles**: Team building that people actually enjoy. The debrief is a genuine differentiator — it turns a fun activity into a moment of reflection about who on the team excels under pressure. Invoice billing available for qualifying companies.
59
+
60
+ ### Axe 101 Lesson
61
+ - **Price**: $30 per person
62
+ - **Duration**: 45 minutes
63
+ - **Capacity**: 1–4 guests
64
+ - **What happens**: Private coaching session. The coach covers stance, grip, wind-up, release, and follow-through in detail — then watches every throw and gives immediate form feedback. Coach notes provided at end of session.
65
+ - **Key selling angles**: For guests who want to learn correctly, not just throw. Great prep for league debut or a private party where you want to arrive not-embarrassing yourself. The 1-on-4 max ratio means the coach is always watching.
66
+
67
+ ## Key Selling Angles (Use Across All Copy)
68
+
69
+ - **No experience needed**: The coaching block removes the barrier. Every session type starts with instruction.
70
+ - **Physically satisfying**: The stick of an axe in a target is one of the best feelings available inside a building. Say it differently each time, but make sure the reader can almost feel it.
71
+ - **Great for groups**: Multiple people can watch, react, trash-talk, and celebrate together — the social dynamic is part of the experience.
72
+ - **Competitive but approachable**: You can just throw, or you can track scores and compete. The option to compete is always there without pressure.
73
+ - **Safety-first environment**: The 20-minute coaching block is a feature, not a disclaimer. It's the reason guests leave feeling capable, not just lucky.
74
+
75
+ ## Copy Formats
76
+
77
+ For each session, produce all four formats. Present them clearly labeled.
78
+
79
+ ---
80
+
81
+ ### Format 1: Full Description (80–120 words)
82
+
83
+ For the booking page. Opens with a hook — a physical sensation, a result, a moment. Not "Book your session here." Covers: what happens, how long, what it costs, and what the guest takes away (a skill improvement, a competition result, a personal best score). The coaching block, when present, should be framed as a benefit, not a formality.
84
+
85
+ **Example (Open Throw Session)**:
86
+ > The first ten throws are coaching. The next fifty are yours. Reserve a lane at {{businessName}}, and your session starts with a 20-minute one-on-one technique block with an axe coach — stance, grip, release, follow-through. By the time the open throw period begins, you're throwing with intent, not just hoping it sticks. Choose hatchet or big-axe style. Track your scores or just throw. Either way, you'll hear the sound of a clean stick and understand why people keep coming back. One hour, $25 per person.
87
+
88
+ ---
89
+
90
+ ### Format 2: One-Liner (under 15 words)
91
+
92
+ For social bios, list views, comparison widgets, and Google Business profiles. Communicate the essence at a glance. Named, specific, memorable.
93
+
94
+ **Examples**:
95
+ - "20-minute coaching, then you throw. $25 per person. One hour well spent."
96
+ - "Competitive 8-week axe throwing league. {{city}}'s most satisfying {{leagueNights}} night."
97
+ - "Private lanes, dedicated host, real trophy. The group event that writes itself."
98
+
99
+ ---
100
+
101
+ ### Format 3: SEO Meta Description (150–160 characters)
102
+
103
+ For search engine result pages. Includes the primary keyword, a benefit, and a soft CTA. Primary keyword for each session:
104
+
105
+ | Session | Primary Keyword |
106
+ |---|---|
107
+ | Open Throw Session | `axe throwing {{city}}` |
108
+ | League Night | `axe throwing league {{city}}` |
109
+ | Private Party | `axe throwing party {{city}}` |
110
+ | Corporate Event | `team building {{city}}` |
111
+ | Axe 101 Lesson | `axe throwing lessons {{city}}` |
112
+
113
+ Keep under 160 characters including spaces. End with a CTA (Book, Reserve, Register, Try).
114
+
115
+ **Example (Private Party)**:
116
+ > Reserve multiple lanes for your group — axe throwing in {{city}} with a dedicated host and tournament bracket included. $35/person. Book now.
117
+
118
+ (Count: 159 characters — verify before publishing.)
119
+
120
+ ---
121
+
122
+ ### Format 4: Social Caption (120–150 characters)
123
+
124
+ For Instagram and Facebook posts promoting the session. Opens with a hook. Includes a soft CTA. No hashtags in the output here (those go in the post separately).
125
+
126
+ **Examples (Private Party)**:
127
+ - "{{laneCount}} lanes. Your whole group. One dedicated host. One winner. Book a private session at the link."
128
+ - "Birthday. Bachelorette. Work team. Anyone who needs a night that actually delivers. Reserve a private party lane."
129
+
130
+ ---
131
+
132
+ ## {{businessName}} Tone Guide
133
+
134
+ | Do | Don't |
135
+ |---|---|
136
+ | Name the physical sensation — the stick, the rotation, the release | Vague references ("our space", "the activity") |
137
+ | Direct confidence — "you will hit the bullseye by throw 30" | Hedging — "guests often enjoy their experience" |
138
+ | Reference the sport correctly (WATL, clutch, hatchet, big axe) | Generic language that could apply to any venue |
139
+ | Warm but not soft — approachable sport, not a theme park | Either corporate jargon OR excessive rowdiness |
140
+ | Brief, punchy sentences in captions | Run-on descriptions that bury the point |
141
+
142
+ If the copy could appear on any generic activity venue's website, it's not specific enough. Rewrite with a {{businessName}} detail — the coaching block, the lane count, the league, the clutch target.