@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,325 @@
1
+ ---
2
+ id: venue-data-model
3
+ name: Venue Data Model
4
+ description: Teaches the AI assistant the complete Venue platform data architecture, Brainy entity types, relationship model, and all available query APIs for building analytics and data-driven responses.
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 within the **Venue platform**, powered by **@soulcraft/brainy** — a graph-based entity store with vector search, aggregate analytics, neural clustering, and streaming APIs. This document is your complete reference for data architecture and query patterns.
14
+
15
+ ## Core Concepts
16
+
17
+ Every piece of data is a **Brainy entity** with:
18
+ - A `type` (the NounType — the broad category)
19
+ - A `metadata` object (filterable, indexed fields — queryable via `where`)
20
+ - A `data` object (full-text/vector searchable content)
21
+ - An `id` (UUID string)
22
+ - Relationships to other entities (directed, typed edges)
23
+
24
+ **Key invariant**: Amounts are always stored in cents (integer). $55.00 = `5500`. Divide by 100 for display.
25
+
26
+ **Key invariant**: Every entity scoped to a franchise location carries `metadata.locationId`. Always include this filter when querying per-location data.
27
+
28
+ **Key invariant**: `Event`, `Person`, `Document`, `Measurement`, and `Thing` are the five NounTypes. Sub-entity kinds are distinguished by `metadata.entityType`. Always include the `metadata.entityType` filter when querying a specific sub-kind within a NounType.
29
+
30
+ ---
31
+
32
+ ## Entity Types Reference
33
+
34
+ | NounType | `metadata.entityType` | Purpose | Key Metadata Fields |
35
+ |---|---|---|---|
36
+ | `Location` | `location` | Franchise studio location | `address`, `hours`, `timezone`, `stripeAccountId`, `locationId` |
37
+ | `Product` | `experience` | Experience type / ticket offering | `slug`, `name`, `priceInCents`, `durationMinutes`, `minGuests`, `maxGuests`, `locationId` |
38
+ | `Event` | `booking` | Guest reservation | `status`, `experienceSlug`, `guestCount`, `totalInCents`, `locationId`, `date`, `bookingNumber`, `checkedIn` |
39
+ | `Event` | `time-slot` | Capacity block on the schedule | `date`, `hour`, `experienceSlug`, `capacity`, `reservedCount`, `locationId` |
40
+ | `Event` | `audit-event` | Append-only operation log | `action`, `actorId`, `actorName`, `entityId`, `entityType`, `locationId` |
41
+ | `Event` | `experience-memory` | Shareable post-visit storybook | `bookingId`, `token`, `published`, `locationId` |
42
+ | `Person` | `customer` | Guest profile | `email`, `displayName`, `totalBookings`, `totalSpentInCents`, `loyaltyTier`, `locationId` |
43
+ | `Person` | `staff` | Employee record | `email`, `role`, `permissions`, `locationId` |
44
+ | `Person` | `loyalty-account` | Points and tier balance | `customerId`, `pointsBalance`, `tier`, `locationId` |
45
+ | `Document` | `waiver` | Signed digital waiver | `bookingId`, `signerName`, `signedAt`, `locationId` |
46
+ | `Document` | `content-page` | CMS-managed website section | `pageSlug`, `section`, `locationId` |
47
+ | `Document` | `blog-post` | Blog article | `slug`, `title`, `status`, `tags`, `authorId`, `locationId` |
48
+ | `Thing` | `inventory-item` | Physical supply / stock | `name`, `category`, `quantity`, `reorderThreshold`, `costInCents`, `locationId` |
49
+ | `Thing` | `gift-card` | Digital or physical gift card | `code`, `balanceInCents`, `originalAmountInCents`, `locationId` |
50
+ | `Measurement` | `transaction` | Revenue, expense, or refund record | `type`, `amountInCents`, `experienceSlug`, `category`, `date`, `locationId` |
51
+ | `Measurement` | `loyalty-transaction` | Points earned, redeemed, or expired | `customerId`, `points`, `reason`, `locationId` |
52
+
53
+ ### Booking `status` values
54
+ `pending` | `confirmed` | `completed` | `cancelled`
55
+
56
+ ### Transaction `type` values
57
+ `revenue` | `expense` | `refund`
58
+
59
+ ---
60
+
61
+ ## Relationships Reference
62
+
63
+ Brainy relationships are directed edges with a typed verb. Query via `brain.related()` or use `brain.find()` with relationship traversal.
64
+
65
+ | From Entity | Verb | To Entity | Purpose |
66
+ |---|---|---|---|
67
+ | `Location` | Contains | `Experience`, `TimeSlot`, `Kitten` | What a location offers |
68
+ | `Experience` | OccursAt | `TimeSlot` | Schedule mapping |
69
+ | `Booking` | ParticipatesIn | `TimeSlot` | Seat reservation |
70
+ | `Customer` | Creates | `Booking`, `Waiver` | Ownership |
71
+ | `Booking` | Contains | `Experience` | Line items |
72
+ | `Waiver` | References | `Booking` | Waiver-to-booking link |
73
+ | `Transaction` | References | `Booking` | Revenue attribution |
74
+ | `Experience` | Consumes | `InventoryItem` | COGS / supply tracking |
75
+ | `Location` | Owns | `Transaction` | Multi-location P&L |
76
+ | `Staff` | MemberOf | `Location` | Staff assignment |
77
+ | `Memory` | References | `Booking` | Visit → memory link |
78
+
79
+ ---
80
+
81
+ ## Aggregate API
82
+
83
+ Use `brain.defineAggregate()` to register a named aggregate, then `brain.find()` with the `aggregate` key to query it. Results are materialized and cached.
84
+
85
+ ### Full example — revenue by experience and month
86
+
87
+ ```typescript
88
+ brain.defineAggregate('revenueByExperienceMonth', {
89
+ source: {
90
+ type: 'Measurement',
91
+ where: [
92
+ { field: 'metadata.entityType', value: 'transaction' },
93
+ { field: 'metadata.type', value: 'revenue' }
94
+ ]
95
+ },
96
+ groupBy: [
97
+ { field: 'metadata.experienceSlug' },
98
+ { field: 'metadata.date', window: 'month' }
99
+ ],
100
+ metrics: {
101
+ totalRevenue: { op: 'SUM', field: 'metadata.amountInCents' },
102
+ bookingCount: { op: 'COUNT' },
103
+ avgTicket: { op: 'AVG', field: 'metadata.amountInCents' },
104
+ revenueStdDev: { op: 'STDDEV', field: 'metadata.amountInCents' },
105
+ maxTicket: { op: 'MAX', field: 'metadata.amountInCents' },
106
+ minTicket: { op: 'MIN', field: 'metadata.amountInCents' },
107
+ revenueVariance: { op: 'VARIANCE', field: 'metadata.amountInCents' }
108
+ }
109
+ });
110
+
111
+ const results = await brain.find({
112
+ aggregate: 'revenueByExperienceMonth',
113
+ where: [{ field: 'metadata.locationId', value: 'loc-abc' }],
114
+ orderBy: 'totalRevenue',
115
+ order: 'desc',
116
+ limit: 100
117
+ });
118
+ ```
119
+
120
+ ### Available aggregation operators
121
+
122
+ | Operator | Description |
123
+ |---|---|
124
+ | `SUM` | Total of all values in the group |
125
+ | `COUNT` | Number of entities in the group |
126
+ | `AVG` | Arithmetic mean |
127
+ | `MIN` | Minimum value |
128
+ | `MAX` | Maximum value |
129
+ | `STDDEV` | Population standard deviation |
130
+ | `VARIANCE` | Population variance |
131
+
132
+ ### Available time windows for `groupBy`
133
+
134
+ `hour` | `day` | `week` | `month` | `quarter` | `year`
135
+
136
+ ### Example — expenses by category and month
137
+
138
+ ```typescript
139
+ brain.defineAggregate('expensesByCategory', {
140
+ source: {
141
+ type: 'Measurement',
142
+ where: [
143
+ { field: 'metadata.entityType', value: 'transaction' },
144
+ { field: 'metadata.type', value: 'expense' }
145
+ ]
146
+ },
147
+ groupBy: [
148
+ { field: 'metadata.category' },
149
+ { field: 'metadata.date', window: 'month' }
150
+ ],
151
+ metrics: {
152
+ totalExpense: { op: 'SUM', field: 'metadata.amountInCents' },
153
+ entryCount: { op: 'COUNT' },
154
+ avgExpense: { op: 'AVG', field: 'metadata.amountInCents' }
155
+ }
156
+ });
157
+ ```
158
+
159
+ ### Example — bookings by experience and day of week
160
+
161
+ ```typescript
162
+ brain.defineAggregate('bookingsByExperienceDayHour', {
163
+ source: {
164
+ type: 'Event',
165
+ where: [
166
+ { field: 'metadata.entityType', value: 'booking' },
167
+ { field: 'metadata.status', value: 'confirmed' }
168
+ ]
169
+ },
170
+ groupBy: [
171
+ { field: 'metadata.experienceSlug' },
172
+ { field: 'metadata.date', window: 'day' }
173
+ ],
174
+ metrics: {
175
+ bookingCount: { op: 'COUNT' },
176
+ totalGuests: { op: 'SUM', field: 'metadata.guestCount' },
177
+ avgGuests: { op: 'AVG', field: 'metadata.guestCount' }
178
+ }
179
+ });
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Counts API
185
+
186
+ For fast total counts without full aggregation:
187
+
188
+ ```typescript
189
+ // Count all entities by NounType
190
+ const totals = await brain.counts.byType();
191
+ // Returns: { Location: 3, Product: 8, Event: 1240, Person: 892, ... }
192
+
193
+ // Count with specific criteria
194
+ const todayBookings = await brain.counts.byCriteria({
195
+ type: 'Event',
196
+ criteria: [
197
+ { field: 'metadata.entityType', value: 'booking' },
198
+ { field: 'metadata.date', value: '2026-02-19' }
199
+ ]
200
+ });
201
+ // Returns: { count: 14 }
202
+
203
+ // Global database statistics
204
+ const stats = await brain.getStats();
205
+ // Returns: { totalEntities, totalRelationships, indexedAt, storeSizeBytes, ... }
206
+ ```
207
+
208
+ ---
209
+
210
+ ## Neural API
211
+
212
+ Brainy exposes ML-style operations over entity embeddings without an external model:
213
+
214
+ ```typescript
215
+ // Cluster customers into behavioral segments
216
+ const segments = await brain.neural().clusters({
217
+ numClusters: 5,
218
+ entityType: 'Person'
219
+ });
220
+ // Returns array of clusters, each with centroid, memberIds[], and summary stats
221
+
222
+ // Detect statistical outliers (VIPs, anomalies, churn risks)
223
+ const outliers = await brain.neural().outliers({
224
+ threshold: 2.5, // Z-score threshold
225
+ method: 'zscore', // 'zscore' | 'iqr'
226
+ entityType: 'Measurement'
227
+ });
228
+
229
+ // Find semantically similar entities
230
+ const similar = await brain.neural().similar('entity-id-uuid', {
231
+ limit: 10
232
+ });
233
+ // Returns entities with similarity scores, ordered descending
234
+ ```
235
+
236
+ ---
237
+
238
+ ## Streaming API
239
+
240
+ For large result sets or real-time feeds, use async generators:
241
+
242
+ ```typescript
243
+ // Stream all entities of a NounType
244
+ for await (const entity of brain.streaming.entities({ type: 'Event' })) {
245
+ // Process one entity at a time — memory-efficient for large sets
246
+ }
247
+
248
+ // Stream search results
249
+ for await (const result of brain.streaming.search('mountain sunset', { type: 'Event' })) {
250
+ // result.entity, result.score
251
+ }
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Tabular Export API
257
+
258
+ Export entity data as CSV or OData for spreadsheet and BI tool consumption:
259
+
260
+ ```typescript
261
+ import { TabularExporter } from '@soulcraft/brainy';
262
+
263
+ const exporter = new TabularExporter(brain);
264
+
265
+ // Export to CSV buffer
266
+ const csv = await exporter.exportCsv({
267
+ type: 'Measurement',
268
+ where: [{ field: 'metadata.entityType', value: 'transaction' }]
269
+ });
270
+
271
+ // Export as OData JSON (compatible with Power BI, Excel)
272
+ const odata = await exporter.exportOData({
273
+ type: 'Measurement',
274
+ where: [{ field: 'metadata.entityType', value: 'transaction' }]
275
+ });
276
+ ```
277
+
278
+ ---
279
+
280
+ ## Standard Query Patterns
281
+
282
+ ### Find all bookings for a location on a date
283
+ ```typescript
284
+ await brain.find({
285
+ type: 'Event',
286
+ where: [
287
+ { field: 'metadata.entityType', value: 'booking' },
288
+ { field: 'metadata.locationId', value: locationId },
289
+ { field: 'metadata.date', value: '2026-02-19' }
290
+ ],
291
+ orderBy: 'metadata.hour',
292
+ order: 'asc'
293
+ });
294
+ ```
295
+
296
+ ### Find inventory items below reorder threshold
297
+ ```typescript
298
+ await brain.find({
299
+ type: 'Thing',
300
+ where: [
301
+ { field: 'metadata.entityType', value: 'inventory-item' },
302
+ { field: 'metadata.locationId', value: locationId }
303
+ ]
304
+ // Filter client-side: items where quantity <= reorderThreshold
305
+ });
306
+ ```
307
+
308
+ ### Full-text + vector search
309
+ ```typescript
310
+ await brain.search('mountain sunset acrylic warm tones', {
311
+ type: 'Event',
312
+ limit: 20
313
+ });
314
+ ```
315
+
316
+ ---
317
+
318
+ ## Rules Summary
319
+
320
+ 1. **Amounts in cents** — `5500` = $55.00. Always divide by 100 before displaying.
321
+ 2. **Always filter `metadata.locationId`** when the user's question is about a specific studio location.
322
+ 3. **Always include `metadata.entityType`** when querying Event, Person, Document, Thing, or Measurement sub-kinds.
323
+ 4. **Use aggregates for analytics** — don't load all entities and sum client-side.
324
+ 5. **Use `brain.neural().clusters()`** for customer segmentation, never hard-code segments.
325
+ 6. **Never write files directly to brainy-data/** — all data mutations go through `brain.add()`, `brain.update()`, `brain.relate()`.
@@ -0,0 +1,367 @@
1
+ {
2
+ "$schema": "https://soulcraft.com/schemas/kit/v2.json",
3
+ "id": "character-relationship-map",
4
+ "type": "soulcraft",
5
+ "role": "primary",
6
+ "status": "released",
7
+ "name": "Character Relationship Map",
8
+ "description": "Visual map of character relationships for fiction writing",
9
+ "longDescription": "Create an interactive character relationship map for your story. Shows connections, conflicts, alliances, and dynamics between characters. Perfect for novelists, screenwriters, or tabletop RPG worldbuilding.",
10
+ "version": "1.0.0",
11
+ "author": {
12
+ "name": "Soulcraft Labs",
13
+ "email": "kits@soulcraft.com",
14
+ "url": "https://soulcraft.com"
15
+ },
16
+ "icon": "🎭",
17
+ "tags": [
18
+ "characters",
19
+ "fiction",
20
+ "relationships",
21
+ "storytelling"
22
+ ],
23
+ "variables": [
24
+ {
25
+ "key": "storyTitle",
26
+ "label": "Story Title",
27
+ "description": "The title of your story or world",
28
+ "type": "string",
29
+ "required": true,
30
+ "example": "My Novel"
31
+ },
32
+ {
33
+ "key": "genre",
34
+ "label": "Genre",
35
+ "description": "The genre of your story",
36
+ "type": "string",
37
+ "required": false,
38
+ "example": "Fantasy"
39
+ }
40
+ ],
41
+ "shared": {
42
+ "industry": "creative-writing",
43
+ "category": "creative",
44
+ "glossary": {
45
+ "protagonist": "The main character driving the story forward",
46
+ "antagonist": "The opposing force creating conflict for the protagonist",
47
+ "faction": "A group of characters with shared allegiances or goals"
48
+ },
49
+ "aiExpertise": [
50
+ "Character development and psychology",
51
+ "Relationship dynamics and conflict",
52
+ "Story structure and narrative arcs",
53
+ "Worldbuilding and faction design",
54
+ "Character voice and motivation"
55
+ ],
56
+ "dataModelHints": [
57
+ "person",
58
+ "thing",
59
+ "event",
60
+ "topic"
61
+ ],
62
+ "dataModel": {
63
+ "entities": [
64
+ {
65
+ "domain": "character",
66
+ "type": "Person",
67
+ "description": "A named character with role, backstory, and motivation",
68
+ "products": {
69
+ "workshop": {
70
+ "view": "gallery",
71
+ "icon": "🧑"
72
+ },
73
+ "academy": {
74
+ "mapsTo": "learning-subject",
75
+ "assessable": false
76
+ }
77
+ }
78
+ },
79
+ {
80
+ "domain": "faction",
81
+ "type": "Concept",
82
+ "description": "A group or organization with shared allegiances and goals",
83
+ "products": {
84
+ "workshop": {
85
+ "view": "graph",
86
+ "icon": "⚔️"
87
+ },
88
+ "academy": {
89
+ "mapsTo": "knowledge-unit",
90
+ "assessable": true
91
+ }
92
+ }
93
+ },
94
+ {
95
+ "domain": "group",
96
+ "type": "Concept",
97
+ "description": "A social group characters belong to",
98
+ "products": {
99
+ "workshop": {
100
+ "view": "graph",
101
+ "icon": "👥"
102
+ },
103
+ "academy": {
104
+ "mapsTo": "knowledge-unit",
105
+ "assessable": false
106
+ }
107
+ }
108
+ },
109
+ {
110
+ "domain": "place",
111
+ "type": "Location",
112
+ "description": "A significant location associated with characters",
113
+ "products": {
114
+ "workshop": {
115
+ "view": "graph",
116
+ "icon": "📍"
117
+ }
118
+ }
119
+ }
120
+ ],
121
+ "relationships": [
122
+ {
123
+ "from": "character",
124
+ "to": "character",
125
+ "verb": "Conflicts",
126
+ "description": "Characters are in opposition or rivalry"
127
+ },
128
+ {
129
+ "from": "character",
130
+ "to": "character",
131
+ "verb": "FriendOf",
132
+ "description": "Allied or friendly relationship"
133
+ },
134
+ {
135
+ "from": "character",
136
+ "to": "character",
137
+ "verb": "Mentors",
138
+ "description": "Teacher or guide relationship"
139
+ },
140
+ {
141
+ "from": "character",
142
+ "to": "character",
143
+ "verb": "RelatedTo",
144
+ "description": "Family or romantic connection"
145
+ },
146
+ {
147
+ "from": "character",
148
+ "to": "faction",
149
+ "verb": "MemberOf",
150
+ "description": "Character belongs to this group or faction"
151
+ },
152
+ {
153
+ "from": "character",
154
+ "to": "place",
155
+ "verb": "LocatedAt",
156
+ "description": "Character's home or base location"
157
+ }
158
+ ]
159
+ },
160
+ "suggestions": [
161
+ {
162
+ "label": "Add a character",
163
+ "prompt": "Help me create a new character with their background and traits"
164
+ },
165
+ {
166
+ "label": "Define a relationship",
167
+ "prompt": "Help me define the relationship between two characters"
168
+ },
169
+ {
170
+ "label": "Develop backstory",
171
+ "prompt": "Help me develop a deeper backstory for one of my characters"
172
+ },
173
+ {
174
+ "label": "Find conflicts",
175
+ "prompt": "Analyze my character relationships and suggest potential conflicts or tensions"
176
+ },
177
+ {
178
+ "label": "Character arc planning",
179
+ "prompt": "Help me plan a character arc for one of my characters"
180
+ },
181
+ {
182
+ "label": "Explore relationships",
183
+ "prompt": "Show me all character relationships in the graph view"
184
+ }
185
+ ]
186
+ },
187
+ "academy": {
188
+ "skillPath": "creative-writing",
189
+ "level": "beginner",
190
+ "learningObjectives": [
191
+ "Build character profiles with distinct motivation, want vs. need, and internal contradiction",
192
+ "Map relationship dynamics using named relationship types (mentor, rival, ally, foil)",
193
+ "Identify how character relationships create or resolve narrative conflict",
194
+ "Trace a character arc from start state to end state through key story events"
195
+ ],
196
+ "assessmentTypes": [
197
+ "portfolio"
198
+ ],
199
+ "certificationSlug": "character-designer"
200
+ },
201
+ "workshop": {
202
+ "difficulty": "beginner",
203
+ "templateTier": 4,
204
+ "aiPersona": {
205
+ "role": "You are an expert narrative designer and fiction writing coach helping writers create vivid, interconnected characters with compelling relationship dynamics.",
206
+ "expertise": [
207
+ "Character psychology and motivation",
208
+ "Relationship dynamics and conflict arcs",
209
+ "Faction and group dynamics",
210
+ "Backstory and world history",
211
+ "Character voice and consistency"
212
+ ],
213
+ "tone": "collaborator"
214
+ },
215
+ "workspaceConfig": {
216
+ "paradigm": "creative",
217
+ "defaultTab": "explore",
218
+ "defaultView": "graph",
219
+ "defaultFile": "characters/protagonist.md",
220
+ "layout": {
221
+ "leftDock": "concepts",
222
+ "rightDock": "views"
223
+ },
224
+ "onboarding": {
225
+ "showGuide": true,
226
+ "highlightFeatures": [
227
+ "graph",
228
+ "ai-chat"
229
+ ],
230
+ "suggestedActions": [
231
+ "Create your main characters first",
232
+ "Define relationships between characters",
233
+ "Use Graph view to visualize the network",
234
+ "Ask AI to suggest relationship dynamics"
235
+ ]
236
+ }
237
+ },
238
+ "graphGuidance": {
239
+ "conceptCreation": {
240
+ "triggers": [
241
+ "When user introduces a new character by name",
242
+ "When user describes a group or faction",
243
+ "When user mentions a significant location",
244
+ "When user describes an organization"
245
+ ],
246
+ "typeMapping": {
247
+ "character": "person",
248
+ "faction": "organization",
249
+ "group": "socialGroup",
250
+ "place": "location",
251
+ "family": "socialGroup"
252
+ }
253
+ },
254
+ "relationshipPatterns": [
255
+ {
256
+ "from": "person",
257
+ "to": "person",
258
+ "verb": "conflicts",
259
+ "description": "Characters in opposition or rivalry"
260
+ },
261
+ {
262
+ "from": "person",
263
+ "to": "person",
264
+ "verb": "friendOf",
265
+ "description": "Allied or friendly characters"
266
+ },
267
+ {
268
+ "from": "person",
269
+ "to": "person",
270
+ "verb": "mentors",
271
+ "description": "Teacher/student or guide relationship"
272
+ },
273
+ {
274
+ "from": "person",
275
+ "to": "person",
276
+ "verb": "relatedTo",
277
+ "description": "Family or romantic connection"
278
+ },
279
+ {
280
+ "from": "person",
281
+ "to": "person",
282
+ "verb": "opposes",
283
+ "description": "Direct opposition or antagonism"
284
+ },
285
+ {
286
+ "from": "person",
287
+ "to": "organization",
288
+ "verb": "memberOf",
289
+ "description": "Character belongs to a group"
290
+ },
291
+ {
292
+ "from": "person",
293
+ "to": "location",
294
+ "verb": "locatedAt",
295
+ "description": "Character's home or base"
296
+ }
297
+ ],
298
+ "rules": [
299
+ "Create person entities for named characters",
300
+ "Link characters when relationships are mentioned",
301
+ "Track faction allegiances with memberOf relationships",
302
+ "Use conflicts verb for antagonistic relationships",
303
+ "Use relatedTo for family and romantic bonds"
304
+ ]
305
+ },
306
+ "sampleData": {
307
+ "description": "Sample character relationship map for a fantasy novel",
308
+ "entities": [
309
+ {
310
+ "type": "person",
311
+ "name": "Elena Stormbringer",
312
+ "properties": {
313
+ "role": "protagonist",
314
+ "age": 24,
315
+ "description": "A reluctant hero with hidden magical abilities. Grew up as an orphan in the coastal village of Saltmere.",
316
+ "status": "main",
317
+ "createdAt": "2025-01-05"
318
+ }
319
+ },
320
+ {
321
+ "type": "person",
322
+ "name": "Lord Varen Blackthorn",
323
+ "properties": {
324
+ "role": "antagonist",
325
+ "age": 45,
326
+ "description": "The power-hungry sorcerer seeking to control the realm's magic. Once a respected mage.",
327
+ "status": "main",
328
+ "createdAt": "2025-01-05"
329
+ }
330
+ },
331
+ {
332
+ "type": "person",
333
+ "name": "Kira Sunweaver",
334
+ "properties": {
335
+ "role": "mentor",
336
+ "age": 68,
337
+ "description": "Wise elder mage who recognizes Elena's potential. Carries secrets about her past.",
338
+ "status": "main",
339
+ "createdAt": "2025-01-06"
340
+ }
341
+ }
342
+ ],
343
+ "relationships": [
344
+ {
345
+ "from": "Elena Stormbringer",
346
+ "verb": "conflicts",
347
+ "to": "Lord Varen Blackthorn"
348
+ },
349
+ {
350
+ "from": "Kira Sunweaver",
351
+ "verb": "mentors",
352
+ "to": "Elena Stormbringer"
353
+ }
354
+ ]
355
+ },
356
+ "deploy": {
357
+ "provider": "cloud-run",
358
+ "buildCommand": "npm run build",
359
+ "outputDir": "build",
360
+ "config": {
361
+ "port": 3000,
362
+ "memory": "512Mi"
363
+ },
364
+ "oneClickCommand": "gcloud run deploy"
365
+ }
366
+ }
367
+ }