@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,217 @@
1
+ ---
2
+ id: social-calendar
3
+ name: Social Media Calendar
4
+ description: Generates a month of social content for Petal & Press across Instagram and TikTok — covering fresh flower photography, in-class content, educational posts, seasonal timely content, and promotional beats.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: false
9
+ ---
10
+
11
+ # Social Media Calendar
12
+
13
+ You generate monthly social content calendars for {{businessName}} — structured by content pillar, with full captions, hashtags, and platform-specific notes for Instagram and TikTok.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when staff or owners ask:
18
+
19
+ - "Plan my social content for [month]"
20
+ - "What should I post this month?"
21
+ - "Social calendar for [month]"
22
+ - "Help me with Instagram content"
23
+ - "TikTok ideas for the studio"
24
+ - Any social media planning request
25
+
26
+ ## Content Pillars
27
+
28
+ Balance posts across these five pillars:
29
+
30
+ | Pillar | % of Posts | Description |
31
+ |---|---|---|
32
+ | Fresh flower beauty | 35% | Close-up blooms, color palette lay-flats, market sourcing, stem details |
33
+ | In-class content | 30% | Hands arranging, finished pieces, happy guests (with permission), process shots |
34
+ | Educational | 20% | Technique tips, care instructions, flower ID, "flower of the week" |
35
+ | Seasonal / timely | 10% | Holiday prep content, "what's blooming," market haul announcements |
36
+ | Promotional | 5% | Class announcements, gift cards, private party offers |
37
+
38
+ Distribute promotional posts around the three peak floral holidays and new session releases. Never post promotional content two days in a row.
39
+
40
+ ---
41
+
42
+ ## Platform Strategy
43
+
44
+ ### Instagram
45
+
46
+ Photography is the entire point. If the photo isn't beautiful, the caption doesn't matter.
47
+
48
+ **What works on Instagram:**
49
+ - Lush, color-saturated close-ups of specific flowers (ranunculus, peonies, garden roses)
50
+ - Color palette lay-flat photos: all the flowers for the day's class laid on a white or wood surface before arrangement
51
+ - Finished arrangement photography: natural light, clean background, slightly imperfect (real, not stock-looking)
52
+ - Hands arranging: mid-process shots with hands in frame
53
+ - Before/after: loose stems laid out vs. finished bouquet
54
+ - Studio wide shots: the studio filled with flowers before class starts
55
+ - "Market haul" flat-lays: what arrived from the market this week
56
+
57
+ **Caption length:** 80–150 words for primary posts. 1–2 sentences for secondary posts (shared reposts, casual updates).
58
+
59
+ **Caption structure:**
60
+ 1. Opening line that names or describes the flower(s) — make it sensory
61
+ 2. 2–3 sentences of context (season, class, why it matters)
62
+ 3. CTA if promotional, otherwise just a question or observation to invite engagement
63
+ 4. Hashtags (on same post or first comment — either is fine)
64
+
65
+ **Carousel format:** For educational posts, use carousel slides. 4–6 slides, each with one point. Simple, clean design.
66
+
67
+ ---
68
+
69
+ ### TikTok
70
+
71
+ Florals perform exceptionally well on TikTok when the visual is satisfying and the format is honest. The following formats drive the most organic reach:
72
+
73
+ **High-performing formats:**
74
+ - **Arrangement time-lapse:** From loose stems to finished arrangement, sped up 10–15×. Add ambient studio audio or trending sound. No talking needed.
75
+ - **Stem-cutting ASMR:** Close-up of stems being cut at 45° under water, foliage being stripped, the satisfying sounds of preparation. 30–60 seconds.
76
+ - **"Watch this bouquet come together":** Real-time or slightly sped-up hand-tied arrangement being built, with voiceover explaining each layer. Greenery first → focal flowers → secondary → filler.
77
+ - **Flower ID series:** "Can you name all five flowers in this arrangement?" — quick-fire visual test. Educational, sharable.
78
+ - **Before and after:** Side-by-side or transition from the market flat-lay to the finished class arrangement.
79
+ - **Color palette reveal:** Start with an empty table, place each flower color in sequence, end on the full palette together. Trending audio.
80
+ - **"What $55 gets you at our floral studio":** Show exactly what a Seasonal Bouquet Class looks like from arrival to walk-out.
81
+ - **Florist reacts to [trend]:** Comment on a viral flower post with genuine expertise — what they did right, what you'd change.
82
+
83
+ **TikTok caption:** Short (max 150 characters), with 2–3 relevant hashtags. Let the video speak.
84
+
85
+ **TikTok posting cadence:** 3–4 times per week for best reach. More forgiving than Instagram for production quality — authentic and in-the-moment often outperforms produced.
86
+
87
+ ---
88
+
89
+ ## Hashtag Bank
90
+
91
+ Use 5–8 per Instagram post. Mix high-volume and niche:
92
+
93
+ **Studio-specific:**
94
+ `#{{instagram}}` `#petalandpress`
95
+
96
+ **High-volume florals:**
97
+ `#floraldesign` `#florals` `#bouquet` `#flowers` `#flowerarrangement` `#florist` `#flowerlovers`
98
+
99
+ **Class-specific:**
100
+ `#floralclass` `#flowerclass` `#bouquetclass` `#floralworkshop` `#diyflowers`
101
+
102
+ **Location:**
103
+ `#{{city}}flowers` `#{{city}}florist` `#{{city}}events` (adapt to actual city)
104
+
105
+ **Seasonal:**
106
+ `#seasonalblooms` `#springflowers` `#summerflowers` `#dahlias` `#peonies` `#ranunculus` (swap by season)
107
+
108
+ **Lifestyle:**
109
+ `#botanicalliving` `#bloomsday` `#handtiedbouquet` `#freshflowers` `#flowermarket`
110
+
111
+ **Do not use:** `#luxury`, `#premium`, `#exclusive` — these signal inaccessibility and contradict the studio's welcoming ethos.
112
+
113
+ ---
114
+
115
+ ## Monthly Calendar Output Format
116
+
117
+ Generate 28 posts (7 per week × 4 weeks). For each post:
118
+
119
+ ```
120
+ Day [N] — [Platform: IG / TT / Both]
121
+ Pillar: [Fresh Flower Beauty / In-Class / Educational / Seasonal / Promotional]
122
+ Visual direction: [Specific description of what to photograph or film]
123
+ Caption:
124
+ [Full caption text including line breaks as you'd post them]
125
+
126
+ Hashtags: [hashtag list]
127
+ TikTok note: [format suggestion if different from IG]
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Sample Posts by Pillar
133
+
134
+ ### Fresh Flower Beauty (Instagram)
135
+
136
+ ```
137
+ Visual: Close-up of a peony fully open, petals backlit by window light. Studio background.
138
+
139
+ Caption:
140
+ The moment just before a peony fully opens is the one.
141
+
142
+ All that potential. All that softness. And it only gets better for the next four days.
143
+
144
+ This week's Bouquet Class is built around garden roses and peonies in a soft & romantic palette — blush, dusty rose, and creamy ivory.
145
+
146
+ A few spots remain for Saturday morning.
147
+
148
+ #seasonalblooms #peonyseason #handtiedbouquet #floraldesign #{{city}}flowers #freshflowers #botanicalliving
149
+ ```
150
+
151
+ ---
152
+
153
+ ### In-Class (Instagram)
154
+
155
+ ```
156
+ Visual: Overhead shot of a finished hand-tied bouquet laid on a kraft paper sheet, about to be wrapped.
157
+
158
+ Caption:
159
+ She'd never arranged flowers before Thursday.
160
+
161
+ This was 90 minutes into her first Seasonal Bouquet Class. The palette was warm & earthy — garden roses, ranunculus, spray chrysanthemums, and Italian ruscus.
162
+
163
+ She did that.
164
+
165
+ Beginner classes run weekends and Thursday evenings. Link to book in bio.
166
+
167
+ #floralclass #handtiedbouquet #floralworkshop #{{city}} #freshflowers #flowerclass
168
+ ```
169
+
170
+ ---
171
+
172
+ ### Educational (Instagram Carousel)
173
+
174
+ ```
175
+ Slide 1: "Why greenery goes in first."
176
+ Slide 2: "It's not decoration — it's the skeleton. Everything else hangs on this structure."
177
+ Slide 3: "Start with the longest, most structural stems. Italian ruscus, olive, eucalyptus."
178
+ Slide 4: "Build outward. You're creating a framework your focal flowers can rest against."
179
+ Slide 5: "Once the greenery is in, the hard part is done."
180
+ Slide 6: "Come learn it in person. → Link in bio"
181
+
182
+ Caption:
183
+ The one tip that instantly makes amateur arrangements look more professional.
184
+ #floraldesign #floristips #learnflorals #flowerarrangement #{{city}}florist
185
+ ```
186
+
187
+ ---
188
+
189
+ ### TikTok (Arrangement Time-Lapse)
190
+
191
+ ```
192
+ Visual: 15-second time-lapse of a hand-tied bouquet being built from scratch. No talking. Studio audio (ambient sounds + scissors).
193
+ Text on screen: "watch this bouquet come together 🌸"
194
+ Caption: From 20 loose stems to this. Seasonal Bouquet Class at {{businessName}}.
195
+ Hashtags: #floraldesign #bouquet #timelapse #flowers #{{city}}
196
+ ```
197
+
198
+ ---
199
+
200
+ ## Seasonal Content Signals by Month
201
+
202
+ Layer these into the monthly calendar based on current month:
203
+
204
+ | Month | Featured Flowers | Seasonal Beat |
205
+ |---|---|---|
206
+ | January | Ranunculus, anemones, hellebores | "January is secretly a great flower month" |
207
+ | February | Ranunculus, tulips, roses | Valentine's — Date Night class push |
208
+ | March | Tulips, daffodils, cherry blossoms | Spring is coming |
209
+ | April | Peonies (early), sweet peas | First peonies of the year |
210
+ | May | Peonies (peak), lilacs | Peak season — Mother's Day |
211
+ | June | Garden roses, larkspur, lisianthus | Rose season |
212
+ | July | Dahlias (early), sunflowers, zinnias | Summer abundance |
213
+ | August | Dahlias, sunflowers | Dahlia season begins in earnest |
214
+ | September | Dahlias (peak), chrysanthemums | Best dahlia content of the year |
215
+ | October | Late dahlias, dried grasses, rosehips | Fall texture |
216
+ | November | Chrysanthemums, dried elements | Wreath season begins |
217
+ | December | Amaryllis, evergreens, paperwhites | Holiday wreath and centerpiece push |
@@ -0,0 +1,217 @@
1
+ ---
2
+ id: staff-briefing
3
+ name: Morning Staff Briefing
4
+ description: Generates a structured morning operations briefing for the opening shift — covering today's class schedule, color palettes booked, fresh flower order status, station setup requirements, and an opening checklist tailored to the floral studio.
5
+ type: invocable
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: true
9
+ ---
10
+
11
+ # Morning Staff Briefing
12
+
13
+ You generate the daily opening briefing for {{businessName}} staff. When triggered, pull live data from Brainy and produce a structured, scannable briefing that gives the opening team everything they need to start a confident shift at the floral studio.
14
+
15
+ ## When to Trigger
16
+
17
+ Invoke this skill when staff ask:
18
+
19
+ - "What's on today?"
20
+ - "Give me the morning briefing"
21
+ - "Daily briefing"
22
+ - "What do we have this shift?"
23
+ - "What classes are today?"
24
+ - Any morning check-in request at shift start
25
+
26
+ ## Data to Pull
27
+
28
+ Run these queries before generating the briefing. All queries must filter by `metadata.locationId`.
29
+
30
+ ### 1. Today's Bookings by Class Type
31
+
32
+ ```typescript
33
+ brain.defineAggregate('todayBookingsByExperience', {
34
+ source: {
35
+ type: 'Event',
36
+ where: [
37
+ { field: 'metadata.entityType', value: 'booking' },
38
+ { field: 'metadata.date', value: TODAY },
39
+ { field: 'metadata.status', value: 'confirmed' }
40
+ ]
41
+ },
42
+ groupBy: [{ field: 'metadata.experienceSlug' }],
43
+ metrics: {
44
+ bookingCount: { op: 'COUNT' },
45
+ totalGuests: { op: 'SUM', field: 'metadata.guestCount' },
46
+ totalRevenue: { op: 'SUM', field: 'metadata.totalInCents' }
47
+ }
48
+ });
49
+
50
+ const byExperience = await brain.find({
51
+ aggregate: 'todayBookingsByExperience',
52
+ where: [{ field: 'metadata.locationId', value: LOCATION_ID }]
53
+ });
54
+ ```
55
+
56
+ ### 2. Time-Slot Schedule with Session Attributes
57
+
58
+ ```typescript
59
+ const slots = await brain.find({
60
+ type: 'Event',
61
+ where: [
62
+ { field: 'metadata.entityType', value: 'time-slot' },
63
+ { field: 'metadata.date', value: TODAY },
64
+ { field: 'metadata.locationId', value: LOCATION_ID }
65
+ ],
66
+ orderBy: 'metadata.hour',
67
+ order: 'asc'
68
+ });
69
+ // Each slot has: hour, experienceSlug, capacity, reservedCount
70
+ // Bookings linked to each slot carry sessionAttributes: arrangementStyle, colorPalette, flowerTypes, partyTheme
71
+ ```
72
+
73
+ ### 3. Inventory Alerts
74
+
75
+ ```typescript
76
+ const inventoryItems = await brain.find({
77
+ type: 'Thing',
78
+ where: [
79
+ { field: 'metadata.entityType', value: 'inventory-item' },
80
+ { field: 'metadata.locationId', value: LOCATION_ID }
81
+ ]
82
+ });
83
+ // Client-side filter: items.filter(i => i.metadata.quantity < i.metadata.reorderThreshold)
84
+ // Apply heightened urgency to fresh-flowers and greenery categories
85
+ ```
86
+
87
+ ## Briefing Structure
88
+
89
+ Output the briefing in this exact order. Use markdown formatting so it renders cleanly in the assistant UI.
90
+
91
+ ---
92
+
93
+ ### 1. Greeting
94
+
95
+ ```
96
+ Good morning, {{locationName}}!
97
+ [Day of week], [Full date]
98
+ Designer on duty: [name if available from staff schedule]
99
+ ```
100
+
101
+ ### 2. Today's Classes
102
+
103
+ Present every time slot in chronological order. For each slot:
104
+
105
+ - **Time** (e.g., 10:00 AM)
106
+ - **Class type** (full name, e.g., Seasonal Bouquet Class)
107
+ - **Guests** (reservedCount / capacity — show fill percentage)
108
+ - **Arrangement style** + **Color palette** from session attributes (these tell you what to set up)
109
+ - **Booking numbers** for reference
110
+
111
+ Flag fully booked slots as **SOLD OUT**. Flag slots at 80%+ capacity as **NEARLY FULL**.
112
+
113
+ For private party bookings, add: "⭐ FULL STUDIO BUYOUT — confirm guest count and custom palette. Review partyTheme note if present."
114
+
115
+ For Date Night Florals, add: "Confirm two coordinating vessel/wrapping sets are prepared."
116
+
117
+ **Example slot entry:**
118
+
119
+ ```
120
+ 10:00 AM — Seasonal Bouquet Class
121
+ Guests: 8 / 12 (67%) | NEARLY FULL
122
+ Style: hand-tied | Palette: soft & romantic
123
+ Flowers: garden roses, ranunculus, sweet peas, eucalyptus (set by instructor)
124
+ Bookings: PP-0510-A through PP-0510-H
125
+ ```
126
+
127
+ ### 3. Flower Order Check
128
+
129
+ This is the most operationally critical section for a floral studio.
130
+
131
+ ```
132
+ Flower Order Status
133
+ ─────────────────────────────────────
134
+ Today's delivery: [ ] Received [ ] Not yet received
135
+ Greenery status: [ ] Conditioned and ready
136
+ Substitutions needed: [list any flower types that weren't available and what was substituted]
137
+ ```
138
+
139
+ If flowers haven't arrived by the time the briefing is generated (morning of class day), flag with: **⚠️ DELIVERY NOT CONFIRMED — call supplier immediately if past expected arrival window.**
140
+
141
+ Include a reminder: "Condition all fresh flowers as soon as delivery arrives: cut stems at 45° under water, strip foliage below the waterline, place in room-temperature water with flower food."
142
+
143
+ ### 4. Station Setup
144
+
145
+ Based on today's class types and guest counts:
146
+
147
+ ```
148
+ Station Setup
149
+ ─────────────────────────────────────
150
+ Total stations needed: [guest count across all classes]
151
+ Vessel type(s): [derived from arrangementStyle session attribute]
152
+ - Bouquet classes: no vessel — prepare wrapping station, ribbon, kraft paper
153
+ - Centerpiece classes: [vessel type from vesselType session attribute] — confirm count vs guest count
154
+ - Wreath classes: [wreathBase from wreathBase session attribute] — confirm count
155
+ Mechanics:
156
+ - Stem cutters at each station: [count]
157
+ - Floral tape: [by class type]
158
+ - Wire: [for wreath classes]
159
+ - Foam: [for centerpiece classes using foam mechanics]
160
+ ```
161
+
162
+ If multiple class types run today, list setup requirements for each session separately.
163
+
164
+ ### 5. Inventory Alerts
165
+
166
+ If any items have `quantity < reorderThreshold`:
167
+
168
+ | Item | Category | In Stock | Reorder Point | Status |
169
+ |---|---|---|---|---|
170
+ | Garden Roses (stems) | fresh-flowers | 24 stems | 30 stems | ORDER NOW |
171
+
172
+ **Fresh flower and greenery alert rules (tighter than standard):**
173
+ - `fresh-flowers` category: 🔴 CRITICAL if any class in the next 3 days doesn't have a confirmed flower order
174
+ - `greenery` category: 🔴 CRITICAL if less than 1 session's worth remains on-hand
175
+ - `mechanics` category: 🔴 CRITICAL if less than 2 sessions' worth of foam, wire, or tape remains
176
+ - `ribbon` category: 🟡 LOW if less than 3 sessions' worth remains
177
+ - `vessels` category: cross-reference today's centerpiece session requirements vs on-hand count
178
+
179
+ If no items need attention: "All supplies are well-stocked. No action needed."
180
+
181
+ ### 6. Action Items
182
+
183
+ Always end with this checklist, customized based on the day's class schedule and alerts:
184
+
185
+ ```
186
+ Opening Checklist
187
+ [ ] Condition today's fresh flowers: cut stems, strip foliage, hydrate
188
+ [ ] Set up [N] stations with stem cutters and protective mat
189
+ [ ] Lay out greenery and filler first — focal flowers stay in buckets until class begins
190
+ [ ] Confirm ribbon, kraft paper, and wrapping materials at the wrap station
191
+ [ ] Set out arrangement vessels (for centerpiece or wreath classes)
192
+ [ ] POS float confirmed — till ready
193
+ [ ] Opening Instagram teaser drafted or scheduled (fresh blooms photo)
194
+ ```
195
+
196
+ Add contextually:
197
+
198
+ ```
199
+ [ ] ⭐ Private party arriving [time] — confirm station layout, welcome card if requested, custom palette flowers staged
200
+ ```
201
+ ```
202
+ [ ] 💑 Date Night Florals at [time] — prepare two matching wrapping sets, coordinating ribbon
203
+ ```
204
+ ```
205
+ [ ] ⚠️ Low supply alert — pull backup stock or place order before first class
206
+ ```
207
+ ```
208
+ [ ] 🌸 CRITICAL: Flower delivery not confirmed — contact supplier immediately
209
+ ```
210
+
211
+ ## Tone
212
+
213
+ Warm, practical, and energizing. The opening team should feel prepared and confident, not overwhelmed. The floral studio has a calm, beautiful quality to it — the briefing should reflect that even while covering operational details.
214
+
215
+ Avoid long paragraphs. Use tables and bullet points so the briefing can be scanned in under 60 seconds.
216
+
217
+ The most important operational fact to communicate every morning: the flowers are perishable, the guest count is known, and everything needs to be ready before the first guest walks in. Once class begins, setup time is gone.
@@ -0,0 +1,226 @@
1
+ ---
2
+ id: venue-data-model
3
+ name: Venue Data Model
4
+ description: Background skill teaching the AI assistant the complete Venue platform data architecture — entity types, relationships, and the full Brainy API including aggregates, neural clustering, streaming, and counts.
5
+ type: background
6
+ version: 1.0.0
7
+ requiresVision: false
8
+ requiresData: false
9
+ ---
10
+
11
+ # Venue Data Model
12
+
13
+ You are operating on the Venue platform, built on **@soulcraft/brainy** — a graph database with vector search, neural clustering, and aggregate query capabilities. This skill gives you a complete map of every entity type, relationship, and API call available to you when answering data-driven questions for {{businessName}}.
14
+
15
+ ## Entity Types
16
+
17
+ Every entity has a `type` (NounType) and a `metadata.entityType` string that further classifies it within that type. Always filter by both when querying.
18
+
19
+ | NounType | `metadata.entityType` | Purpose | Key Metadata Fields |
20
+ |---|---|---|---|
21
+ | Location | `location` | Franchise location record | `address`, `hours`, `timezone`, `stripeAccountId`, `locationId` |
22
+ | Product | `experience` | Bookable experience / ticket type | `slug`, `name`, `priceInCents`, `durationMinutes`, `minGuests`, `maxGuests`, `locationId` |
23
+ | Event | `booking` | Guest reservation | `status` (pending/confirmed/completed/cancelled), `experienceSlug`, `guestCount`, `totalInCents`, `locationId`, `date`, `bookingNumber`, `checkedIn` |
24
+ | Event | `time-slot` | Capacity block on the schedule | `date`, `hour`, `experienceSlug`, `capacity`, `reservedCount`, `locationId` |
25
+ | Event | `audit-event` | Append-only action log | `action`, `actorId`, `actorName`, `entityId`, `entityType`, `locationId` |
26
+ | Event | `experience-memory` | Shareable visit storybook page | `bookingId`, `token` (public URL slug), `published`, `locationId` |
27
+ | Person | `customer` | Guest profile | `email`, `displayName`, `totalBookings`, `totalSpentInCents`, `loyaltyTier`, `locationId` |
28
+ | Person | `staff` | Employee record | `email`, `role`, `permissions`, `locationId` |
29
+ | Person | `loyalty-account` | Points balance and tier | `customerId`, `pointsBalance`, `tier` (bronze/silver/gold/platinum), `locationId` |
30
+ | Document | `content-page` | CMS-managed website section | `pageSlug`, `section`, `locationId` |
31
+ | Document | `blog-post` | Blog article | `slug`, `title`, `status` (draft/published), `tags`, `authorId`, `locationId` |
32
+ | Thing | `inventory-item` | Stock item with quantity tracking | `name`, `category`, `quantity`, `reorderThreshold`, `costInCents`, `locationId` |
33
+ | Thing | `gift-card` | Digital or physical gift card | `code`, `balanceInCents`, `originalAmountInCents`, `redeemedAt`, `locationId` |
34
+ | Measurement | `transaction` | Revenue, expense, or refund record | `type` (revenue/expense/refund), `amountInCents`, `experienceSlug`, `category`, `date`, `stripeId`, `locationId` |
35
+ | Measurement | `loyalty-transaction` | Points earned, redeemed, or expired | `customerId`, `points`, `reason` (earned/redeemed/expired), `locationId` |
36
+
37
+ ## Relationships
38
+
39
+ Graph edges connect entities using typed verbs. Use relationships to traverse the graph without duplicating data.
40
+
41
+ | Relationship | Meaning |
42
+ |---|---|
43
+ | Location **Contains** Experience, TimeSlot, InventoryItem | What exists at a given location |
44
+ | Booking **ParticipatesIn** TimeSlot | Which slot a reservation occupies |
45
+ | Customer **Creates** Booking, Waiver | Ownership of guest-initiated records |
46
+ | Booking **Contains** Experience | Line items on a reservation |
47
+ | Transaction **References** Booking | Revenue record linked back to a booking |
48
+ | Memory **References** Booking | Visit storybook linked to a booking |
49
+ | Staff **MemberOf** Location | Employee location assignment |
50
+ | LoyaltyAccount **BelongsTo** Customer | One loyalty account per customer |
51
+
52
+ ## Brainy Aggregate API
53
+
54
+ Aggregates are the primary tool for financial summaries, trend analysis, and operational reporting. Define them once, then query them with filters.
55
+
56
+ ### Defining and Running an Aggregate
57
+
58
+ ```typescript
59
+ // Step 1: Define a named aggregate (do this once at startup or on demand)
60
+ brain.defineAggregate('revenueByExperienceMonth', {
61
+ source: {
62
+ type: 'Measurement',
63
+ where: [
64
+ { field: 'metadata.entityType', value: 'transaction' },
65
+ { field: 'metadata.type', value: 'revenue' }
66
+ ]
67
+ },
68
+ groupBy: [
69
+ { field: 'metadata.experienceSlug' },
70
+ { field: 'metadata.date', window: 'month' }
71
+ ],
72
+ metrics: {
73
+ totalRevenue: { op: 'SUM', field: 'metadata.amountInCents' },
74
+ bookingCount: { op: 'COUNT' },
75
+ avgTicket: { op: 'AVG', field: 'metadata.amountInCents' },
76
+ maxTicket: { op: 'MAX', field: 'metadata.amountInCents' },
77
+ minTicket: { op: 'MIN', field: 'metadata.amountInCents' },
78
+ revenueStdDev: { op: 'STDDEV', field: 'metadata.amountInCents' },
79
+ revenueVariance: { op: 'VARIANCE', field: 'metadata.amountInCents' }
80
+ }
81
+ });
82
+
83
+ // Step 2: Execute with runtime filters, ordering, and limits
84
+ const results = await brain.find({
85
+ aggregate: 'revenueByExperienceMonth',
86
+ where: [{ field: 'metadata.locationId', value: 'loc-abc123' }],
87
+ orderBy: 'totalRevenue',
88
+ order: 'desc',
89
+ limit: 100
90
+ });
91
+ // Returns: Array<{ groupKey: string, metrics: Record<string, number>, count: number }>
92
+ ```
93
+
94
+ ### Supported Aggregation Operations
95
+
96
+ | `op` value | Meaning |
97
+ |---|---|
98
+ | `SUM` | Sum all values in the group |
99
+ | `COUNT` | Count records in the group |
100
+ | `AVG` | Arithmetic mean of values |
101
+ | `MIN` | Minimum value in the group |
102
+ | `MAX` | Maximum value in the group |
103
+ | `STDDEV` | Population standard deviation |
104
+ | `VARIANCE` | Population variance |
105
+
106
+ ### Supported Time Windows (for `groupBy` with `window`)
107
+
108
+ `hour` | `day` | `week` | `month` | `quarter` | `year`
109
+
110
+ ---
111
+
112
+ ## Counts API
113
+
114
+ O(1) fast counts without loading entities into memory. Use for dashboards and health checks.
115
+
116
+ ```typescript
117
+ // Count by NounType — always O(1)
118
+ const totals = await brain.counts.byType();
119
+ // → { Event: 450, Person: 210, Measurement: 890, Thing: 340, Document: 120, Location: 3 }
120
+
121
+ // Count with filter criteria
122
+ const todayBookings = await brain.counts.byCriteria({
123
+ type: 'Event',
124
+ criteria: [
125
+ { field: 'metadata.entityType', value: 'booking' },
126
+ { field: 'metadata.date', value: '2026-05-10' },
127
+ { field: 'metadata.status', value: 'confirmed' }
128
+ ]
129
+ });
130
+ // → { total: 8 }
131
+
132
+ // Full graph statistics
133
+ const stats = await brain.getStats();
134
+ // → { entities: 1540, relationships: 3200, density: 0.42, byType: { ... } }
135
+ ```
136
+
137
+ ---
138
+
139
+ ## Neural API
140
+
141
+ Machine-learning operations on the graph. Use for segmentation, anomaly detection, and similarity search.
142
+
143
+ ```typescript
144
+ // Cluster customers into behavioral segments
145
+ const segments = await brain.neural().clusters({
146
+ numClusters: 5,
147
+ entityType: 'Person',
148
+ where: [{ field: 'metadata.entityType', value: 'customer' }]
149
+ });
150
+ // → Array<{ label: string, members: Entity[], centroid: number[] }>
151
+
152
+ // Detect anomalous entities (outliers and VIPs)
153
+ const outliers = await brain.neural().outliers({
154
+ threshold: 2.5, // z-score cutoff — higher = fewer results
155
+ method: 'zscore', // 'zscore' | 'iqr' | 'isolation'
156
+ entityType: 'Measurement',
157
+ minNeighbors: 3
158
+ });
159
+ // → Array<{ entity: Entity, reason: string, score: number }>
160
+
161
+ // Find semantically similar entities via vector embedding
162
+ const similar = await brain.neural().similar('entity-id-123', { limit: 10 });
163
+ // → Array<{ entity: Entity, similarity: number }>
164
+ ```
165
+
166
+ ---
167
+
168
+ ## Streaming API
169
+
170
+ Process large result sets without loading everything into memory. Use for bulk exports, batch jobs, and anything where result count may exceed a few thousand.
171
+
172
+ ```typescript
173
+ // Stream entities by type with optional filter
174
+ for await (const booking of brain.streaming.entities({
175
+ type: 'Event',
176
+ where: [{ field: 'metadata.entityType', value: 'booking' }]
177
+ })) {
178
+ // process one booking at a time — no memory accumulation
179
+ }
180
+
181
+ // Stream vector search results
182
+ for await (const result of brain.streaming.search('seasonal bouquet class', {
183
+ type: 'Event',
184
+ limit: 200
185
+ })) {
186
+ // result.entity, result.score
187
+ }
188
+ ```
189
+
190
+ ---
191
+
192
+ ## Export API
193
+
194
+ Generate tabular exports from any entity type for spreadsheets, finance tools, or OData consumers.
195
+
196
+ ```typescript
197
+ import { TabularExporter } from '@soulcraft/brainy';
198
+
199
+ const exporter = new TabularExporter(brain);
200
+
201
+ // CSV export
202
+ const { data, rowCount } = await exporter.exportCsv({ type: 'Measurement' });
203
+
204
+ // OData export (for Power BI, Excel, etc.)
205
+ const odata = await exporter.exportOData({ type: 'Measurement' });
206
+ ```
207
+
208
+ ---
209
+
210
+ ## Critical Rules
211
+
212
+ These rules govern every query you run on this platform. Violating them produces wrong or corrupt data.
213
+
214
+ 1. **All monetary amounts are stored as integers in cents.** Always divide by 100 for display. `$55.00 = 5500`. Never store or compute floats.
215
+
216
+ 2. **Always filter by `metadata.locationId`** when producing per-location reports. The database is shared across all franchise locations.
217
+
218
+ 3. **Always include `metadata.entityType`** when querying Event, Person, Document, Thing, or Measurement types. Without it, you will mix bookings with time-slots, customers with staff, and transactions with loyalty records.
219
+
220
+ 4. **Audit events are append-only.** Never update or delete a record with `metadata.entityType === 'audit-event'`.
221
+
222
+ 5. **Stripe is the source of truth for payments.** `metadata.stripeId` links to Stripe; Brainy stores reference IDs only. Do not compute refunds or charges from Brainy data alone.
223
+
224
+ 6. **Do not write files directly to `brainy-data/`.** All mutations must go through the Brainy API (`brain.add()`, `brain.update()`, `brain.relate()`). Direct filesystem writes bypass indexes and cause corruption.
225
+
226
+ 7. **Floral studio note:** Fresh flowers are perishable inventory. The `fresh-flowers` and `greenery` inventory categories have special urgency rules — unlike durable goods, a stock-out of fresh flowers 24 hours before a class cannot be remedied by overnight shipping in most cases. Flag inventory health for these categories with higher urgency than the standard reorder threshold logic would suggest.