@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.
- package/kits/ai-content-studio/kit.json +358 -0
- package/kits/api-documentation/kit.json +358 -0
- package/kits/api-documentation/skills/api-examples/SKILL.md +176 -0
- package/kits/api-documentation/skills/api-review/SKILL.md +35 -0
- package/kits/api-documentation/skills/api-versioning/SKILL.md +156 -0
- package/kits/api-documentation/skills/create-code-examples/SKILL.md +42 -0
- package/kits/api-documentation/skills/define-resource/SKILL.md +39 -0
- package/kits/api-documentation/skills/document-auth/SKILL.md +39 -0
- package/kits/api-documentation/skills/document-endpoint/SKILL.md +40 -0
- package/kits/api-documentation/skills/kit-expertise/SKILL.md +78 -0
- package/kits/api-documentation/skills/openapi-spec/SKILL.md +174 -0
- package/kits/axe-house/kit.json +931 -0
- package/kits/axe-house/skills/axe-expertise/SKILL.md +259 -0
- package/kits/axe-house/skills/blog-draft/SKILL.md +147 -0
- package/kits/axe-house/skills/booking-digest/SKILL.md +188 -0
- package/kits/axe-house/skills/customer-insights/SKILL.md +215 -0
- package/kits/axe-house/skills/demand-forecast/SKILL.md +183 -0
- package/kits/axe-house/skills/email-campaign/SKILL.md +135 -0
- package/kits/axe-house/skills/experience-copy/SKILL.md +142 -0
- package/kits/axe-house/skills/guest-letter/SKILL.md +171 -0
- package/kits/axe-house/skills/inventory-health/SKILL.md +234 -0
- package/kits/axe-house/skills/league-manager/SKILL.md +264 -0
- package/kits/axe-house/skills/revenue-report/SKILL.md +240 -0
- package/kits/axe-house/skills/safety-briefing/SKILL.md +248 -0
- package/kits/axe-house/skills/social-calendar/SKILL.md +203 -0
- package/kits/axe-house/skills/staff-briefing/SKILL.md +231 -0
- package/kits/axe-house/skills/venue-data-model/SKILL.md +225 -0
- package/kits/blog-series/kit.json +363 -0
- package/kits/blog-series/skills/content-hooks/SKILL.md +158 -0
- package/kits/blog-series/skills/headline-brainstorm/SKILL.md +40 -0
- package/kits/blog-series/skills/kit-expertise/SKILL.md +78 -0
- package/kits/blog-series/skills/repurpose-content/SKILL.md +40 -0
- package/kits/blog-series/skills/seo-review/SKILL.md +41 -0
- package/kits/blog-series/skills/seo-writing/SKILL.md +135 -0
- package/kits/blog-series/skills/series-audit/SKILL.md +36 -0
- package/kits/blog-series/skills/write-post-outline/SKILL.md +42 -0
- package/kits/business-plan/kit.json +437 -0
- package/kits/business-plan/skills/competitor-analysis/SKILL.md +34 -0
- package/kits/business-plan/skills/financial-modeling/SKILL.md +180 -0
- package/kits/business-plan/skills/financial-projections/SKILL.md +42 -0
- package/kits/business-plan/skills/kit-expertise/SKILL.md +101 -0
- package/kits/business-plan/skills/market-analysis/SKILL.md +155 -0
- package/kits/business-plan/skills/market-research/SKILL.md +35 -0
- package/kits/business-plan/skills/sba-compliance/SKILL.md +163 -0
- package/kits/business-plan/skills/swot-analysis/SKILL.md +36 -0
- package/kits/canvas-and-corks/kit.json +910 -0
- package/kits/canvas-and-corks/skills/blog-draft/SKILL.md +160 -0
- package/kits/canvas-and-corks/skills/booking-digest/SKILL.md +147 -0
- package/kits/canvas-and-corks/skills/class-description/SKILL.md +53 -0
- package/kits/canvas-and-corks/skills/class-roster/SKILL.md +163 -0
- package/kits/canvas-and-corks/skills/customer-insights/SKILL.md +174 -0
- package/kits/canvas-and-corks/skills/demand-forecast/SKILL.md +191 -0
- package/kits/canvas-and-corks/skills/email-campaign/SKILL.md +154 -0
- package/kits/canvas-and-corks/skills/experience-copy/SKILL.md +152 -0
- package/kits/canvas-and-corks/skills/guest-letter/SKILL.md +127 -0
- package/kits/canvas-and-corks/skills/inventory-health/SKILL.md +204 -0
- package/kits/canvas-and-corks/skills/painting-memory/SKILL.md +76 -0
- package/kits/canvas-and-corks/skills/revenue-report/SKILL.md +196 -0
- package/kits/canvas-and-corks/skills/social-calendar/SKILL.md +146 -0
- package/kits/canvas-and-corks/skills/staff-briefing/SKILL.md +134 -0
- package/kits/canvas-and-corks/skills/studio-expertise/SKILL.md +181 -0
- package/kits/canvas-and-corks/skills/venue-data-model/SKILL.md +325 -0
- package/kits/character-relationship-map/kit.json +367 -0
- package/kits/character-relationship-map/skills/ensemble-balance/SKILL.md +189 -0
- package/kits/character-relationship-map/skills/kit-expertise/SKILL.md +83 -0
- package/kits/character-relationship-map/skills/relationship-dynamics/SKILL.md +158 -0
- package/kits/clay-and-co/kit.json +938 -0
- package/kits/clay-and-co/skills/blog-draft/SKILL.md +135 -0
- package/kits/clay-and-co/skills/booking-digest/SKILL.md +163 -0
- package/kits/clay-and-co/skills/customer-insights/SKILL.md +207 -0
- package/kits/clay-and-co/skills/demand-forecast/SKILL.md +166 -0
- package/kits/clay-and-co/skills/email-campaign/SKILL.md +125 -0
- package/kits/clay-and-co/skills/experience-copy/SKILL.md +132 -0
- package/kits/clay-and-co/skills/guest-letter/SKILL.md +104 -0
- package/kits/clay-and-co/skills/inventory-health/SKILL.md +211 -0
- package/kits/clay-and-co/skills/kiln-scheduler/SKILL.md +206 -0
- package/kits/clay-and-co/skills/piece-tracker/SKILL.md +165 -0
- package/kits/clay-and-co/skills/pottery-expertise/SKILL.md +165 -0
- package/kits/clay-and-co/skills/pottery-memory/SKILL.md +119 -0
- package/kits/clay-and-co/skills/revenue-report/SKILL.md +205 -0
- package/kits/clay-and-co/skills/social-calendar/SKILL.md +130 -0
- package/kits/clay-and-co/skills/staff-briefing/SKILL.md +213 -0
- package/kits/clay-and-co/skills/venue-data-model/SKILL.md +230 -0
- package/kits/concept-map/kit.json +353 -0
- package/kits/concept-map/skills/add-concept/SKILL.md +41 -0
- package/kits/concept-map/skills/assess-understanding/SKILL.md +36 -0
- package/kits/concept-map/skills/concept-hierarchy/SKILL.md +148 -0
- package/kits/concept-map/skills/create-learning-map/SKILL.md +42 -0
- package/kits/concept-map/skills/find-cross-links/SKILL.md +34 -0
- package/kits/concept-map/skills/identify-prerequisites/SKILL.md +40 -0
- package/kits/concept-map/skills/kit-expertise/SKILL.md +78 -0
- package/kits/concept-map/skills/relationship-types/SKILL.md +160 -0
- package/kits/content-calendar/kit.json +420 -0
- package/kits/content-calendar/skills/content-strategy/SKILL.md +174 -0
- package/kits/content-calendar/skills/create-brief/SKILL.md +40 -0
- package/kits/content-calendar/skills/generate-ideas/SKILL.md +40 -0
- package/kits/content-calendar/skills/kit-expertise/SKILL.md +100 -0
- package/kits/content-calendar/skills/plan-series/SKILL.md +40 -0
- package/kits/content-calendar/skills/repurpose-content/SKILL.md +38 -0
- package/kits/content-calendar/skills/repurposing/SKILL.md +179 -0
- package/kits/content-calendar/skills/weekly-review/SKILL.md +34 -0
- package/kits/coworking-space/kit.json +1068 -0
- package/kits/escape-vault/kit.json +1028 -0
- package/kits/escape-vault/skills/blog-draft/SKILL.md +157 -0
- package/kits/escape-vault/skills/booking-digest/SKILL.md +151 -0
- package/kits/escape-vault/skills/customer-insights/SKILL.md +185 -0
- package/kits/escape-vault/skills/demand-forecast/SKILL.md +188 -0
- package/kits/escape-vault/skills/email-campaign/SKILL.md +157 -0
- package/kits/escape-vault/skills/escape-expertise/SKILL.md +200 -0
- package/kits/escape-vault/skills/escape-memory/SKILL.md +99 -0
- package/kits/escape-vault/skills/experience-copy/SKILL.md +159 -0
- package/kits/escape-vault/skills/guest-letter/SKILL.md +143 -0
- package/kits/escape-vault/skills/inventory-health/SKILL.md +222 -0
- package/kits/escape-vault/skills/leaderboard-report/SKILL.md +204 -0
- package/kits/escape-vault/skills/revenue-report/SKILL.md +202 -0
- package/kits/escape-vault/skills/room-designer/SKILL.md +182 -0
- package/kits/escape-vault/skills/social-calendar/SKILL.md +148 -0
- package/kits/escape-vault/skills/staff-briefing/SKILL.md +159 -0
- package/kits/escape-vault/skills/venue-data-model/SKILL.md +335 -0
- package/kits/family-tree/kit.json +380 -0
- package/kits/family-tree/skills/add-family-member/SKILL.md +42 -0
- package/kits/family-tree/skills/analyze-relationship/SKILL.md +41 -0
- package/kits/family-tree/skills/export-gedcom/SKILL.md +34 -0
- package/kits/family-tree/skills/genealogy-research/SKILL.md +188 -0
- package/kits/family-tree/skills/kit-expertise/SKILL.md +107 -0
- package/kits/family-tree/skills/record-oral-history/SKILL.md +43 -0
- package/kits/family-tree/skills/relationship-mapping/SKILL.md +171 -0
- package/kits/family-tree/skills/research-ancestor/SKILL.md +43 -0
- package/kits/farkle-dice-game/kit.json +316 -0
- package/kits/farkle-dice-game/skills/kit-expertise/SKILL.md +137 -0
- package/kits/franchise-ops/kit.json +326 -0
- package/kits/freelance-portfolio/kit.json +435 -0
- package/kits/game-design-doc/kit.json +353 -0
- package/kits/game-design-doc/skills/balance-system/SKILL.md +40 -0
- package/kits/game-design-doc/skills/create-character/SKILL.md +40 -0
- package/kits/game-design-doc/skills/design-mechanic/SKILL.md +40 -0
- package/kits/game-design-doc/skills/economy-design/SKILL.md +152 -0
- package/kits/game-design-doc/skills/game-mechanics/SKILL.md +141 -0
- package/kits/game-design-doc/skills/ideate-features/SKILL.md +36 -0
- package/kits/game-design-doc/skills/kit-expertise/SKILL.md +78 -0
- package/kits/game-design-doc/skills/playtest-feedback/SKILL.md +142 -0
- package/kits/game-design-doc/skills/review-gdd/SKILL.md +33 -0
- package/kits/gather-and-grill/kit.json +966 -0
- package/kits/gather-and-grill/skills/blog-draft/SKILL.md +120 -0
- package/kits/gather-and-grill/skills/booking-digest/SKILL.md +171 -0
- package/kits/gather-and-grill/skills/cooking-memory/SKILL.md +100 -0
- package/kits/gather-and-grill/skills/culinary-expertise/SKILL.md +180 -0
- package/kits/gather-and-grill/skills/customer-insights/SKILL.md +184 -0
- package/kits/gather-and-grill/skills/demand-forecast/SKILL.md +200 -0
- package/kits/gather-and-grill/skills/email-campaign/SKILL.md +97 -0
- package/kits/gather-and-grill/skills/experience-copy/SKILL.md +92 -0
- package/kits/gather-and-grill/skills/guest-letter/SKILL.md +98 -0
- package/kits/gather-and-grill/skills/inventory-health/SKILL.md +193 -0
- package/kits/gather-and-grill/skills/menu-planner/SKILL.md +175 -0
- package/kits/gather-and-grill/skills/recipe-card/SKILL.md +194 -0
- package/kits/gather-and-grill/skills/revenue-report/SKILL.md +245 -0
- package/kits/gather-and-grill/skills/social-calendar/SKILL.md +139 -0
- package/kits/gather-and-grill/skills/staff-briefing/SKILL.md +167 -0
- package/kits/gather-and-grill/skills/venue-data-model/SKILL.md +336 -0
- package/kits/gtd-productivity-system/kit.json +389 -0
- package/kits/gtd-productivity-system/skills/break-down-project/SKILL.md +41 -0
- package/kits/gtd-productivity-system/skills/clarify-task/SKILL.md +42 -0
- package/kits/gtd-productivity-system/skills/gtd-methodology/SKILL.md +185 -0
- package/kits/gtd-productivity-system/skills/inbox-processing/SKILL.md +173 -0
- package/kits/gtd-productivity-system/skills/kit-expertise/SKILL.md +111 -0
- package/kits/gtd-productivity-system/skills/mind-sweep/SKILL.md +35 -0
- package/kits/gtd-productivity-system/skills/process-inbox/SKILL.md +40 -0
- package/kits/gtd-productivity-system/skills/weekly-review/SKILL.md +197 -0
- package/kits/gym-fitness/kit.json +1037 -0
- package/kits/interactive-fiction/kit.json +471 -0
- package/kits/invoice-generator/kit.json +466 -0
- package/kits/loyalty-program/kit.json +323 -0
- package/kits/marketing-plan/kit.json +417 -0
- package/kits/marketing-plan/skills/allocate-budget/SKILL.md +34 -0
- package/kits/marketing-plan/skills/campaign-metrics/SKILL.md +184 -0
- package/kits/marketing-plan/skills/channel-strategy/SKILL.md +156 -0
- package/kits/marketing-plan/skills/content-calendar/SKILL.md +34 -0
- package/kits/marketing-plan/skills/create-persona/SKILL.md +40 -0
- package/kits/marketing-plan/skills/kit-expertise/SKILL.md +109 -0
- package/kits/marketing-plan/skills/measure-performance/SKILL.md +34 -0
- package/kits/marketing-plan/skills/plan-campaign/SKILL.md +41 -0
- package/kits/marketing-site/kit.json +230 -0
- package/kits/marketing-site/skills/add-page/SKILL.md +28 -0
- package/kits/marketing-site/skills/add-section/SKILL.md +29 -0
- package/kits/marketing-site/skills/change-colors/SKILL.md +24 -0
- package/kits/marketing-site/skills/conversion-copy/SKILL.md +152 -0
- package/kits/marketing-site/skills/export-deploy/SKILL.md +24 -0
- package/kits/marketing-site/skills/kit-expertise/SKILL.md +77 -0
- package/kits/marketing-site/skills/landing-page/SKILL.md +156 -0
- package/kits/match-3-puzzle/kit.json +245 -0
- package/kits/match-3-puzzle/skills/kit-expertise/SKILL.md +96 -0
- package/kits/mind-map/kit.json +355 -0
- package/kits/mind-map/skills/add-branch/SKILL.md +40 -0
- package/kits/mind-map/skills/brainstorm-topic/SKILL.md +41 -0
- package/kits/mind-map/skills/branch-expansion/SKILL.md +181 -0
- package/kits/mind-map/skills/find-connections/SKILL.md +34 -0
- package/kits/mind-map/skills/kit-expertise/SKILL.md +78 -0
- package/kits/mind-map/skills/organize-map/SKILL.md +35 -0
- package/kits/mind-map/skills/radiant-thinking/SKILL.md +184 -0
- package/kits/mind-map/skills/summarize-map/SKILL.md +34 -0
- package/kits/music-collection/kit.json +403 -0
- package/kits/music-collection/skills/add-album/SKILL.md +44 -0
- package/kits/music-collection/skills/create-playlist/SKILL.md +37 -0
- package/kits/music-collection/skills/explore-artist/SKILL.md +37 -0
- package/kits/music-collection/skills/journal-session/SKILL.md +40 -0
- package/kits/music-collection/skills/kit-expertise/SKILL.md +98 -0
- package/kits/music-collection/skills/music-metadata/SKILL.md +209 -0
- package/kits/music-collection/skills/playlist-curator/SKILL.md +182 -0
- package/kits/music-collection/skills/recommend-similar/SKILL.md +36 -0
- package/kits/music-venue/kit.json +986 -0
- package/kits/novel-writing-system/kit.json +481 -0
- package/kits/novel-writing-system/skills/character-arc/SKILL.md +164 -0
- package/kits/novel-writing-system/skills/develop-character-arc/SKILL.md +42 -0
- package/kits/novel-writing-system/skills/kit-expertise/SKILL.md +84 -0
- package/kits/novel-writing-system/skills/outline-review/SKILL.md +34 -0
- package/kits/novel-writing-system/skills/plot-doctor/SKILL.md +221 -0
- package/kits/novel-writing-system/skills/plot-hole-check/SKILL.md +35 -0
- package/kits/novel-writing-system/skills/scene-development/SKILL.md +38 -0
- package/kits/novel-writing-system/skills/scene-sequel/SKILL.md +162 -0
- package/kits/novel-writing-system/skills/worldbuilding-session/SKILL.md +40 -0
- package/kits/organization-chart/kit.json +349 -0
- package/kits/organization-chart/skills/add-role/SKILL.md +41 -0
- package/kits/organization-chart/skills/analyze-span/SKILL.md +34 -0
- package/kits/organization-chart/skills/create-raci/SKILL.md +42 -0
- package/kits/organization-chart/skills/kit-expertise/SKILL.md +78 -0
- package/kits/organization-chart/skills/org-design/SKILL.md +188 -0
- package/kits/organization-chart/skills/org-health-check/SKILL.md +35 -0
- package/kits/organization-chart/skills/plan-reorg/SKILL.md +42 -0
- package/kits/organization-chart/skills/role-definition/SKILL.md +180 -0
- package/kits/paws-and-pour/kit.json +969 -0
- package/kits/paws-and-pour/skills/adoption-report/SKILL.md +273 -0
- package/kits/paws-and-pour/skills/animal-profile/SKILL.md +206 -0
- package/kits/paws-and-pour/skills/blog-draft/SKILL.md +137 -0
- package/kits/paws-and-pour/skills/booking-digest/SKILL.md +251 -0
- package/kits/paws-and-pour/skills/cafe-expertise/SKILL.md +218 -0
- package/kits/paws-and-pour/skills/cafe-memory/SKILL.md +114 -0
- package/kits/paws-and-pour/skills/customer-insights/SKILL.md +216 -0
- package/kits/paws-and-pour/skills/demand-forecast/SKILL.md +200 -0
- package/kits/paws-and-pour/skills/email-campaign/SKILL.md +154 -0
- package/kits/paws-and-pour/skills/experience-copy/SKILL.md +139 -0
- package/kits/paws-and-pour/skills/guest-letter/SKILL.md +183 -0
- package/kits/paws-and-pour/skills/inventory-health/SKILL.md +213 -0
- package/kits/paws-and-pour/skills/revenue-report/SKILL.md +273 -0
- package/kits/paws-and-pour/skills/social-calendar/SKILL.md +183 -0
- package/kits/paws-and-pour/skills/staff-briefing/SKILL.md +223 -0
- package/kits/paws-and-pour/skills/venue-data-model/SKILL.md +260 -0
- package/kits/persona-driven-strategy/kit.json +352 -0
- package/kits/persona-driven-strategy/skills/empathy-mapping/SKILL.md +221 -0
- package/kits/persona-driven-strategy/skills/journey-mapping/SKILL.md +219 -0
- package/kits/persona-driven-strategy/skills/kit-expertise/SKILL.md +81 -0
- package/kits/persona-driven-strategy/skills/persona-development/SKILL.md +189 -0
- package/kits/personal-crm/kit.json +373 -0
- package/kits/personal-crm/skills/add-contact/SKILL.md +42 -0
- package/kits/personal-crm/skills/connect-contacts/SKILL.md +41 -0
- package/kits/personal-crm/skills/find-dormant/SKILL.md +35 -0
- package/kits/personal-crm/skills/kit-expertise/SKILL.md +82 -0
- package/kits/personal-crm/skills/log-interaction/SKILL.md +43 -0
- package/kits/personal-crm/skills/network-analysis/SKILL.md +161 -0
- package/kits/personal-crm/skills/relationship-insights/SKILL.md +153 -0
- package/kits/personal-wiki/kit.json +322 -0
- package/kits/personal-wiki/skills/kit-expertise/SKILL.md +81 -0
- package/kits/personal-wiki/skills/orphan-finder/SKILL.md +155 -0
- package/kits/personal-wiki/skills/wiki-structure/SKILL.md +179 -0
- package/kits/petal-press/kit.json +996 -0
- package/kits/petal-press/skills/arrangement-memory/SKILL.md +143 -0
- package/kits/petal-press/skills/blog-draft/SKILL.md +167 -0
- package/kits/petal-press/skills/booking-digest/SKILL.md +196 -0
- package/kits/petal-press/skills/care-card/SKILL.md +173 -0
- package/kits/petal-press/skills/customer-insights/SKILL.md +213 -0
- package/kits/petal-press/skills/demand-forecast/SKILL.md +203 -0
- package/kits/petal-press/skills/email-campaign/SKILL.md +204 -0
- package/kits/petal-press/skills/experience-copy/SKILL.md +184 -0
- package/kits/petal-press/skills/floral-expertise/SKILL.md +244 -0
- package/kits/petal-press/skills/guest-letter/SKILL.md +153 -0
- package/kits/petal-press/skills/inventory-health/SKILL.md +201 -0
- package/kits/petal-press/skills/revenue-report/SKILL.md +219 -0
- package/kits/petal-press/skills/seasonal-guide/SKILL.md +238 -0
- package/kits/petal-press/skills/social-calendar/SKILL.md +217 -0
- package/kits/petal-press/skills/staff-briefing/SKILL.md +217 -0
- package/kits/petal-press/skills/venue-data-model/SKILL.md +226 -0
- package/kits/pitch-deck/kit.json +416 -0
- package/kits/pitch-deck/skills/calculate-market-size/SKILL.md +41 -0
- package/kits/pitch-deck/skills/develop-problem-slide/SKILL.md +39 -0
- package/kits/pitch-deck/skills/investor-qa/SKILL.md +182 -0
- package/kits/pitch-deck/skills/investor-qa-prep/SKILL.md +36 -0
- package/kits/pitch-deck/skills/kit-expertise/SKILL.md +112 -0
- package/kits/pitch-deck/skills/pitch-structure/SKILL.md +186 -0
- package/kits/pitch-deck/skills/practice-pitch/SKILL.md +36 -0
- package/kits/podcast-series/kit.json +324 -0
- package/kits/podcast-series/skills/audience-growth/SKILL.md +38 -0
- package/kits/podcast-series/skills/create-guest-profile/SKILL.md +42 -0
- package/kits/podcast-series/skills/episode-structure/SKILL.md +189 -0
- package/kits/podcast-series/skills/guest-research/SKILL.md +167 -0
- package/kits/podcast-series/skills/kit-expertise/SKILL.md +81 -0
- package/kits/podcast-series/skills/plan-episode/SKILL.md +44 -0
- package/kits/podcast-series/skills/prepare-guest/SKILL.md +45 -0
- package/kits/podcast-series/skills/show-notes/SKILL.md +182 -0
- package/kits/podcast-series/skills/write-show-notes/SKILL.md +43 -0
- package/kits/pour-house/kit.json +912 -0
- package/kits/pour-house/skills/blog-draft/SKILL.md +138 -0
- package/kits/pour-house/skills/booking-digest/SKILL.md +151 -0
- package/kits/pour-house/skills/cellar-report/SKILL.md +251 -0
- package/kits/pour-house/skills/customer-insights/SKILL.md +184 -0
- package/kits/pour-house/skills/demand-forecast/SKILL.md +156 -0
- package/kits/pour-house/skills/email-campaign/SKILL.md +130 -0
- package/kits/pour-house/skills/experience-copy/SKILL.md +125 -0
- package/kits/pour-house/skills/guest-letter/SKILL.md +136 -0
- package/kits/pour-house/skills/inventory-health/SKILL.md +159 -0
- package/kits/pour-house/skills/pour-memory/SKILL.md +89 -0
- package/kits/pour-house/skills/revenue-report/SKILL.md +232 -0
- package/kits/pour-house/skills/social-calendar/SKILL.md +140 -0
- package/kits/pour-house/skills/sommelier-expertise/SKILL.md +324 -0
- package/kits/pour-house/skills/staff-briefing/SKILL.md +176 -0
- package/kits/pour-house/skills/tasting-notes/SKILL.md +179 -0
- package/kits/pour-house/skills/venue-data-model/SKILL.md +323 -0
- package/kits/presentation/kit.json +296 -0
- package/kits/product-requirements-doc/kit.json +365 -0
- package/kits/product-requirements-doc/skills/acceptance-criteria/SKILL.md +219 -0
- package/kits/product-requirements-doc/skills/create-user-story/SKILL.md +43 -0
- package/kits/product-requirements-doc/skills/define-success-metrics/SKILL.md +41 -0
- package/kits/product-requirements-doc/skills/kit-expertise/SKILL.md +81 -0
- package/kits/product-requirements-doc/skills/prd-review/SKILL.md +39 -0
- package/kits/product-requirements-doc/skills/prd-structure/SKILL.md +206 -0
- package/kits/product-requirements-doc/skills/prioritize-features/SKILL.md +43 -0
- package/kits/product-requirements-doc/skills/synthesize-research/SKILL.md +43 -0
- package/kits/product-requirements-doc/skills/user-stories/SKILL.md +198 -0
- package/kits/project-timeline/kit.json +367 -0
- package/kits/project-timeline/skills/add-milestone/SKILL.md +44 -0
- package/kits/project-timeline/skills/add-task/SKILL.md +43 -0
- package/kits/project-timeline/skills/assess-risks/SKILL.md +39 -0
- package/kits/project-timeline/skills/dependency-analysis/SKILL.md +176 -0
- package/kits/project-timeline/skills/identify-critical-path/SKILL.md +37 -0
- package/kits/project-timeline/skills/kit-expertise/SKILL.md +81 -0
- package/kits/project-timeline/skills/milestone-planning/SKILL.md +169 -0
- package/kits/project-timeline/skills/status-update/SKILL.md +39 -0
- package/kits/reading-tracker/kit.json +368 -0
- package/kits/reading-tracker/skills/add-book/SKILL.md +32 -0
- package/kits/reading-tracker/skills/book-connections/SKILL.md +161 -0
- package/kits/reading-tracker/skills/kit-expertise/SKILL.md +72 -0
- package/kits/reading-tracker/skills/log-progress/SKILL.md +29 -0
- package/kits/reading-tracker/skills/reading-insights/SKILL.md +179 -0
- package/kits/reading-tracker/skills/save-quote/SKILL.md +30 -0
- package/kits/recipe-manager/kit.json +376 -0
- package/kits/recipe-manager/skills/add-recipe/SKILL.md +33 -0
- package/kits/recipe-manager/skills/generate-shopping-list/SKILL.md +27 -0
- package/kits/recipe-manager/skills/ingredient-substitutions/SKILL.md +157 -0
- package/kits/recipe-manager/skills/kit-expertise/SKILL.md +72 -0
- package/kits/recipe-manager/skills/meal-planning/SKILL.md +184 -0
- package/kits/recipe-manager/skills/plan-meal/SKILL.md +31 -0
- package/kits/recipe-manager/skills/scaling-recipes/SKILL.md +183 -0
- package/kits/saas-app/kit.json +405 -0
- package/kits/saas-app/skills/churn-analysis/SKILL.md +219 -0
- package/kits/saas-app/skills/onboarding-flow/SKILL.md +217 -0
- package/kits/saas-app/skills/pricing-model/SKILL.md +192 -0
- package/kits/saas-app/skills/saas-expertise/SKILL.md +95 -0
- package/kits/salon-barbershop/kit.json +1021 -0
- package/kits/screenplay-writing/kit.json +412 -0
- package/kits/screenplay-writing/skills/analyze-scene/SKILL.md +42 -0
- package/kits/screenplay-writing/skills/beat-sheet/SKILL.md +134 -0
- package/kits/screenplay-writing/skills/create-scene-card/SKILL.md +46 -0
- package/kits/screenplay-writing/skills/develop-character/SKILL.md +43 -0
- package/kits/screenplay-writing/skills/generate-beat-sheet/SKILL.md +49 -0
- package/kits/screenplay-writing/skills/kit-expertise/SKILL.md +90 -0
- package/kits/screenplay-writing/skills/scene-analysis/SKILL.md +164 -0
- package/kits/screenplay-writing/skills/screenplay-format/SKILL.md +108 -0
- package/kits/social-media-manager/kit.json +476 -0
- package/kits/teacher-lesson-plan/kit.json +410 -0
- package/kits/teacher-lesson-plan/skills/assessment-design/SKILL.md +162 -0
- package/kits/teacher-lesson-plan/skills/blooms-taxonomy/SKILL.md +139 -0
- package/kits/teacher-lesson-plan/skills/create-lesson/SKILL.md +34 -0
- package/kits/teacher-lesson-plan/skills/design-unit/SKILL.md +28 -0
- package/kits/teacher-lesson-plan/skills/differentiate-lesson/SKILL.md +28 -0
- package/kits/teacher-lesson-plan/skills/differentiation/SKILL.md +180 -0
- package/kits/teacher-lesson-plan/skills/kit-expertise/SKILL.md +96 -0
- package/kits/teacher-lesson-plan/skills/schedule-lesson/SKILL.md +31 -0
- package/kits/technical-specification/kit.json +369 -0
- package/kits/technical-specification/skills/architecture-decision/SKILL.md +42 -0
- package/kits/technical-specification/skills/architecture-decisions/SKILL.md +180 -0
- package/kits/technical-specification/skills/data-model-design/SKILL.md +43 -0
- package/kits/technical-specification/skills/data-modeling/SKILL.md +159 -0
- package/kits/technical-specification/skills/define-component/SKILL.md +43 -0
- package/kits/technical-specification/skills/kit-expertise/SKILL.md +81 -0
- package/kits/technical-specification/skills/requirements-analysis/SKILL.md +42 -0
- package/kits/technical-specification/skills/security-review/SKILL.md +170 -0
- package/kits/technical-specification/skills/spec-review/SKILL.md +39 -0
- package/kits/wanderlands/kit.json +399 -0
- package/kits/wanderlands/skills/kit-expertise/SKILL.md +376 -0
- package/kits/web-application/kit.json +257 -0
- package/kits/web-application/skills/kit-expertise/SKILL.md +211 -0
- package/kits/wicks-and-whiskers/kit.json +1267 -0
- package/kits/wicks-and-whiskers/skills/blog-draft/SKILL.md +145 -0
- package/kits/wicks-and-whiskers/skills/booking-digest/SKILL.md +142 -0
- package/kits/wicks-and-whiskers/skills/candle-expertise/SKILL.md +69 -0
- package/kits/wicks-and-whiskers/skills/customer-insights/SKILL.md +176 -0
- package/kits/wicks-and-whiskers/skills/demand-forecast/SKILL.md +159 -0
- package/kits/wicks-and-whiskers/skills/email-campaign/SKILL.md +131 -0
- package/kits/wicks-and-whiskers/skills/experience-copy/SKILL.md +135 -0
- package/kits/wicks-and-whiskers/skills/guest-letter/SKILL.md +154 -0
- package/kits/wicks-and-whiskers/skills/inventory-health/SKILL.md +185 -0
- package/kits/wicks-and-whiskers/skills/kitten-profile/SKILL.md +159 -0
- package/kits/wicks-and-whiskers/skills/memory-narrative/SKILL.md +71 -0
- package/kits/wicks-and-whiskers/skills/revenue-report/SKILL.md +197 -0
- package/kits/wicks-and-whiskers/skills/social-calendar/SKILL.md +161 -0
- package/kits/wicks-and-whiskers/skills/staff-briefing/SKILL.md +174 -0
- package/kits/wicks-and-whiskers/skills/venue-data-model/SKILL.md +228 -0
- package/kits/world-building/kit.json +497 -0
- package/kits/world-building/skills/consistency-check/SKILL.md +179 -0
- package/kits/world-building/skills/create-character/SKILL.md +44 -0
- package/kits/world-building/skills/create-faction/SKILL.md +44 -0
- package/kits/world-building/skills/create-location/SKILL.md +44 -0
- package/kits/world-building/skills/create-timeline/SKILL.md +39 -0
- package/kits/world-building/skills/culture-builder/SKILL.md +171 -0
- package/kits/world-building/skills/design-magic-system/SKILL.md +38 -0
- package/kits/world-building/skills/kit-expertise/SKILL.md +110 -0
- package/kits/world-building/skills/magic-systems/SKILL.md +161 -0
- package/kits/youtube-content-plan/kit.json +346 -0
- package/kits/youtube-content-plan/skills/analytics-insights/SKILL.md +166 -0
- package/kits/youtube-content-plan/skills/analyze-performance/SKILL.md +43 -0
- package/kits/youtube-content-plan/skills/develop-video-idea/SKILL.md +45 -0
- package/kits/youtube-content-plan/skills/generate-ideas/SKILL.md +42 -0
- package/kits/youtube-content-plan/skills/kit-expertise/SKILL.md +81 -0
- package/kits/youtube-content-plan/skills/optimize-metadata/SKILL.md +43 -0
- package/kits/youtube-content-plan/skills/script-writing/SKILL.md +180 -0
- package/kits/youtube-content-plan/skills/write-script/SKILL.md +44 -0
- package/kits/youtube-content-plan/skills/youtube-seo/SKILL.md +172 -0
- package/package.json +43 -0
- package/src/index.ts +35 -0
- package/src/kits/ai-content-studio.ts +377 -0
- package/src/kits/api-documentation.ts +352 -0
- package/src/kits/axe-house.ts +949 -0
- package/src/kits/blog-series.ts +357 -0
- package/src/kits/business-plan.ts +406 -0
- package/src/kits/canvas-and-corks.ts +928 -0
- package/src/kits/character-relationship-map.ts +368 -0
- package/src/kits/clay-and-co.ts +956 -0
- package/src/kits/concept-map.ts +354 -0
- package/src/kits/content-calendar.ts +399 -0
- package/src/kits/coworking-space.ts +1084 -0
- package/src/kits/escape-vault.ts +1046 -0
- package/src/kits/family-tree.ts +381 -0
- package/src/kits/farkle-dice-game.ts +318 -0
- package/src/kits/franchise-ops.ts +345 -0
- package/src/kits/freelance-portfolio.ts +453 -0
- package/src/kits/game-design-doc.ts +353 -0
- package/src/kits/gather-and-grill.ts +984 -0
- package/src/kits/gtd-productivity-system.ts +389 -0
- package/src/kits/gym-fitness.ts +1053 -0
- package/src/kits/index.ts +76 -0
- package/src/kits/interactive-fiction.ts +489 -0
- package/src/kits/invoice-generator.ts +484 -0
- package/src/kits/loyalty-program.ts +342 -0
- package/src/kits/marketing-plan.ts +398 -0
- package/src/kits/marketing-site.ts +248 -0
- package/src/kits/match-3-puzzle.ts +248 -0
- package/src/kits/mind-map.ts +356 -0
- package/src/kits/music-collection.ts +404 -0
- package/src/kits/music-venue.ts +1002 -0
- package/src/kits/novel-writing-system.ts +461 -0
- package/src/kits/organization-chart.ts +350 -0
- package/src/kits/paws-and-pour.ts +987 -0
- package/src/kits/persona-driven-strategy.ts +345 -0
- package/src/kits/personal-crm.ts +391 -0
- package/src/kits/personal-wiki.ts +323 -0
- package/src/kits/petal-press.ts +1014 -0
- package/src/kits/pitch-deck.ts +395 -0
- package/src/kits/podcast-series.ts +324 -0
- package/src/kits/pour-house.ts +930 -0
- package/src/kits/presentation.ts +276 -0
- package/src/kits/product-requirements-doc.ts +359 -0
- package/src/kits/project-timeline.ts +368 -0
- package/src/kits/reading-tracker.ts +368 -0
- package/src/kits/recipe-manager.ts +376 -0
- package/src/kits/saas-app.ts +423 -0
- package/src/kits/salon-barbershop.ts +1037 -0
- package/src/kits/screenplay-writing.ts +412 -0
- package/src/kits/social-media-manager.ts +494 -0
- package/src/kits/teacher-lesson-plan.ts +410 -0
- package/src/kits/technical-specification.ts +363 -0
- package/src/kits/wanderlands.ts +401 -0
- package/src/kits/web-application.ts +275 -0
- package/src/kits/wicks-and-whiskers.ts +1285 -0
- package/src/kits/world-building.ts +476 -0
- package/src/kits/youtube-content-plan.ts +339 -0
- package/src/registry.ts +60 -0
- package/src/skills/api-documentation/index.ts +47 -0
- package/src/skills/axe-house/index.ts +71 -0
- package/src/skills/blog-series/index.ts +43 -0
- package/src/skills/business-plan/index.ts +43 -0
- package/src/skills/canvas-and-corks/index.ts +75 -0
- package/src/skills/character-relationship-map/index.ts +23 -0
- package/src/skills/clay-and-co/index.ts +75 -0
- package/src/skills/concept-map/index.ts +43 -0
- package/src/skills/content-calendar/index.ts +43 -0
- package/src/skills/escape-vault/index.ts +75 -0
- package/src/skills/family-tree/index.ts +43 -0
- package/src/skills/farkle-dice-game/index.ts +15 -0
- package/src/skills/game-design-doc/index.ts +47 -0
- package/src/skills/gather-and-grill/index.ts +75 -0
- package/src/skills/gtd-productivity-system/index.ts +43 -0
- package/src/skills/index.ts +109 -0
- package/src/skills/marketing-plan/index.ts +43 -0
- package/src/skills/marketing-site/index.ts +39 -0
- package/src/skills/match-3-puzzle/index.ts +15 -0
- package/src/skills/mind-map/index.ts +43 -0
- package/src/skills/music-collection/index.ts +43 -0
- package/src/skills/novel-writing-system/index.ts +47 -0
- package/src/skills/organization-chart/index.ts +43 -0
- package/src/skills/paws-and-pour/index.ts +75 -0
- package/src/skills/persona-driven-strategy/index.ts +27 -0
- package/src/skills/personal-crm/index.ts +39 -0
- package/src/skills/personal-wiki/index.ts +23 -0
- package/src/skills/petal-press/index.ts +75 -0
- package/src/skills/pitch-deck/index.ts +39 -0
- package/src/skills/podcast-series/index.ts +47 -0
- package/src/skills/pour-house/index.ts +75 -0
- package/src/skills/product-requirements-doc/index.ts +47 -0
- package/src/skills/project-timeline/index.ts +43 -0
- package/src/skills/reading-tracker/index.ts +35 -0
- package/src/skills/recipe-manager/index.ts +39 -0
- package/src/skills/saas-app/index.ts +27 -0
- package/src/skills/screenplay-writing/index.ts +43 -0
- package/src/skills/teacher-lesson-plan/index.ts +43 -0
- package/src/skills/technical-specification/index.ts +47 -0
- package/src/skills/wanderlands/index.ts +15 -0
- package/src/skills/web-application/index.ts +15 -0
- package/src/skills/wicks-and-whiskers/index.ts +71 -0
- package/src/skills/world-building/index.ts +47 -0
- package/src/skills/youtube-content-plan/index.ts +47 -0
|
@@ -0,0 +1,336 @@
|
|
|
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). $75.00 = `7500`. 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 kitchen studio location | `address`, `hours`, `timezone`, `stripeAccountId`, `locationId` |
|
|
37
|
+
| `Product` | `experience` | Experience type / class 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 cooking 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` | `content-page` | CMS-managed website section | `pageSlug`, `section`, `locationId` |
|
|
46
|
+
| `Document` | `blog-post` | Blog article | `slug`, `title`, `status`, `tags`, `authorId`, `locationId` |
|
|
47
|
+
| `Thing` | `inventory-item` | Physical supply / stock | `name`, `category`, `quantity`, `reorderThreshold`, `costInCents`, `locationId` |
|
|
48
|
+
| `Thing` | `gift-card` | Digital or physical gift card | `code`, `balanceInCents`, `originalAmountInCents`, `locationId` |
|
|
49
|
+
| `Measurement` | `transaction` | Revenue, expense, or refund record | `type`, `amountInCents`, `experienceSlug`, `category`, `date`, `locationId` |
|
|
50
|
+
| `Measurement` | `loyalty-transaction` | Points earned, redeemed, or expired | `customerId`, `points`, `reason`, `locationId` |
|
|
51
|
+
|
|
52
|
+
### Booking `status` values
|
|
53
|
+
`pending` | `confirmed` | `completed` | `cancelled`
|
|
54
|
+
|
|
55
|
+
### Transaction `type` values
|
|
56
|
+
`revenue` | `expense` | `refund`
|
|
57
|
+
|
|
58
|
+
### Booking session attributes (`data.sessionAttributes`)
|
|
59
|
+
|
|
60
|
+
Each booking may carry per-session attributes set by staff. For Gather & Grill, the key attributes are:
|
|
61
|
+
|
|
62
|
+
| Key | Class Types | Purpose |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `dishName` | All | The dish or menu being cooked in this session |
|
|
65
|
+
| `cuisineType` | Chef's Table, Quick Bites, Private Party, Date Night | Cuisine category |
|
|
66
|
+
| `difficultyLevel` | Chef's Table | Beginner / Intermediate / Advanced |
|
|
67
|
+
| `dietaryNotes` | Quick Bites, Private Party | Flagged dietary accommodations for this session |
|
|
68
|
+
| `ageRange` | Kids Cooking Camp | Age group for the session |
|
|
69
|
+
| `partyTheme` | Private Party | Client-specified theme or occasion |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Relationships Reference
|
|
74
|
+
|
|
75
|
+
Brainy relationships are directed edges with a typed verb. Query via `brain.related()` or use `brain.find()` with relationship traversal.
|
|
76
|
+
|
|
77
|
+
| From Entity | Verb | To Entity | Purpose |
|
|
78
|
+
|---|---|---|---|
|
|
79
|
+
| `Location` | Contains | `Experience`, `TimeSlot` | What a location offers |
|
|
80
|
+
| `Experience` | OccursAt | `TimeSlot` | Schedule mapping |
|
|
81
|
+
| `Booking` | ParticipatesIn | `TimeSlot` | Seat reservation |
|
|
82
|
+
| `Customer` | Creates | `Booking` | Ownership |
|
|
83
|
+
| `Booking` | Contains | `Experience` | Line items |
|
|
84
|
+
| `Transaction` | References | `Booking` | Revenue attribution |
|
|
85
|
+
| `Experience` | Consumes | `InventoryItem` | COGS / supply tracking |
|
|
86
|
+
| `Location` | Owns | `Transaction` | Multi-location P&L |
|
|
87
|
+
| `Staff` | MemberOf | `Location` | Staff assignment |
|
|
88
|
+
| `Memory` | References | `Booking` | Visit → memory link |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Aggregate API
|
|
93
|
+
|
|
94
|
+
Use `brain.defineAggregate()` to register a named aggregate, then `brain.find()` with the `aggregate` key to query it. Results are materialized and cached.
|
|
95
|
+
|
|
96
|
+
### Full example — revenue by experience and month
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
brain.defineAggregate('revenueByExperienceMonth', {
|
|
100
|
+
source: {
|
|
101
|
+
type: 'Measurement',
|
|
102
|
+
where: [
|
|
103
|
+
{ field: 'metadata.entityType', value: 'transaction' },
|
|
104
|
+
{ field: 'metadata.type', value: 'revenue' }
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
groupBy: [
|
|
108
|
+
{ field: 'metadata.experienceSlug' },
|
|
109
|
+
{ field: 'metadata.date', window: 'month' }
|
|
110
|
+
],
|
|
111
|
+
metrics: {
|
|
112
|
+
totalRevenue: { op: 'SUM', field: 'metadata.amountInCents' },
|
|
113
|
+
bookingCount: { op: 'COUNT' },
|
|
114
|
+
avgTicket: { op: 'AVG', field: 'metadata.amountInCents' },
|
|
115
|
+
maxTicket: { op: 'MAX', field: 'metadata.amountInCents' },
|
|
116
|
+
minTicket: { op: 'MIN', field: 'metadata.amountInCents' },
|
|
117
|
+
revenueStdDev: { op: 'STDDEV', field: 'metadata.amountInCents' },
|
|
118
|
+
revenueVariance: { op: 'VARIANCE', field: 'metadata.amountInCents' }
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
const results = await brain.find({
|
|
123
|
+
aggregate: 'revenueByExperienceMonth',
|
|
124
|
+
where: [{ field: 'metadata.locationId', value: 'loc-abc' }],
|
|
125
|
+
orderBy: 'totalRevenue',
|
|
126
|
+
order: 'desc',
|
|
127
|
+
limit: 100
|
|
128
|
+
});
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Available aggregation operators
|
|
132
|
+
|
|
133
|
+
| Operator | Description |
|
|
134
|
+
|---|---|
|
|
135
|
+
| `SUM` | Total of all values in the group |
|
|
136
|
+
| `COUNT` | Number of entities in the group |
|
|
137
|
+
| `AVG` | Arithmetic mean |
|
|
138
|
+
| `MIN` | Minimum value |
|
|
139
|
+
| `MAX` | Maximum value |
|
|
140
|
+
| `STDDEV` | Population standard deviation |
|
|
141
|
+
| `VARIANCE` | Population variance |
|
|
142
|
+
|
|
143
|
+
### Available time windows for `groupBy`
|
|
144
|
+
|
|
145
|
+
`hour` | `day` | `week` | `month` | `quarter` | `year`
|
|
146
|
+
|
|
147
|
+
### Example — expenses by category and month
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
brain.defineAggregate('expensesByCategory', {
|
|
151
|
+
source: {
|
|
152
|
+
type: 'Measurement',
|
|
153
|
+
where: [
|
|
154
|
+
{ field: 'metadata.entityType', value: 'transaction' },
|
|
155
|
+
{ field: 'metadata.type', value: 'expense' }
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
groupBy: [
|
|
159
|
+
{ field: 'metadata.category' },
|
|
160
|
+
{ field: 'metadata.date', window: 'month' }
|
|
161
|
+
],
|
|
162
|
+
metrics: {
|
|
163
|
+
totalExpense: { op: 'SUM', field: 'metadata.amountInCents' },
|
|
164
|
+
entryCount: { op: 'COUNT' },
|
|
165
|
+
avgExpense: { op: 'AVG', field: 'metadata.amountInCents' }
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Example — bookings by experience and day of week
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
brain.defineAggregate('bookingsByExperienceDayHour', {
|
|
174
|
+
source: {
|
|
175
|
+
type: 'Event',
|
|
176
|
+
where: [
|
|
177
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
178
|
+
{ field: 'metadata.status', value: 'confirmed' }
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
groupBy: [
|
|
182
|
+
{ field: 'metadata.experienceSlug' },
|
|
183
|
+
{ field: 'metadata.date', window: 'day' }
|
|
184
|
+
],
|
|
185
|
+
metrics: {
|
|
186
|
+
bookingCount: { op: 'COUNT' },
|
|
187
|
+
totalGuests: { op: 'SUM', field: 'metadata.guestCount' },
|
|
188
|
+
avgGuests: { op: 'AVG', field: 'metadata.guestCount' }
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Counts API
|
|
196
|
+
|
|
197
|
+
For fast total counts without full aggregation:
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
// Count all entities by NounType
|
|
201
|
+
const totals = await brain.counts.byType();
|
|
202
|
+
// Returns: { Location: 2, Product: 5, Event: 890, Person: 634, ... }
|
|
203
|
+
|
|
204
|
+
// Count with specific criteria
|
|
205
|
+
const todayBookings = await brain.counts.byCriteria({
|
|
206
|
+
type: 'Event',
|
|
207
|
+
criteria: [
|
|
208
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
209
|
+
{ field: 'metadata.date', value: '2026-02-19' }
|
|
210
|
+
]
|
|
211
|
+
});
|
|
212
|
+
// Returns: { count: 8 }
|
|
213
|
+
|
|
214
|
+
// Global database statistics
|
|
215
|
+
const stats = await brain.getStats();
|
|
216
|
+
// Returns: { totalEntities, totalRelationships, indexedAt, storeSizeBytes, ... }
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Neural API
|
|
222
|
+
|
|
223
|
+
Brainy exposes ML-style operations over entity embeddings without an external model:
|
|
224
|
+
|
|
225
|
+
```typescript
|
|
226
|
+
// Cluster customers into behavioral segments
|
|
227
|
+
const segments = await brain.neural().clusters({
|
|
228
|
+
numClusters: 5,
|
|
229
|
+
entityType: 'Person'
|
|
230
|
+
});
|
|
231
|
+
// Returns array of clusters, each with centroid, memberIds[], and summary stats
|
|
232
|
+
|
|
233
|
+
// Detect statistical outliers (VIPs, anomalies, churn risks)
|
|
234
|
+
const outliers = await brain.neural().outliers({
|
|
235
|
+
threshold: 2.5, // Z-score threshold
|
|
236
|
+
method: 'zscore', // 'zscore' | 'iqr'
|
|
237
|
+
entityType: 'Measurement'
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
// Find semantically similar entities
|
|
241
|
+
const similar = await brain.neural().similar('entity-id-uuid', {
|
|
242
|
+
limit: 10
|
|
243
|
+
});
|
|
244
|
+
// Returns entities with similarity scores, ordered descending
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Streaming API
|
|
250
|
+
|
|
251
|
+
For large result sets or real-time feeds, use async generators:
|
|
252
|
+
|
|
253
|
+
```typescript
|
|
254
|
+
// Stream all entities of a NounType
|
|
255
|
+
for await (const entity of brain.streaming.entities({ type: 'Event' })) {
|
|
256
|
+
// Process one entity at a time — memory-efficient for large sets
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// Stream search results
|
|
260
|
+
for await (const result of brain.streaming.search('cacio e pepe italian intermediate', { type: 'Event' })) {
|
|
261
|
+
// result.entity, result.score
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Tabular Export API
|
|
268
|
+
|
|
269
|
+
Export entity data as CSV or OData for spreadsheet and BI tool consumption:
|
|
270
|
+
|
|
271
|
+
```typescript
|
|
272
|
+
import { TabularExporter } from '@soulcraft/brainy';
|
|
273
|
+
|
|
274
|
+
const exporter = new TabularExporter(brain);
|
|
275
|
+
|
|
276
|
+
// Export to CSV buffer
|
|
277
|
+
const csv = await exporter.exportCsv({
|
|
278
|
+
type: 'Measurement',
|
|
279
|
+
where: [{ field: 'metadata.entityType', value: 'transaction' }]
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
// Export as OData JSON (compatible with Power BI, Excel)
|
|
283
|
+
const odata = await exporter.exportOData({
|
|
284
|
+
type: 'Measurement',
|
|
285
|
+
where: [{ field: 'metadata.entityType', value: 'transaction' }]
|
|
286
|
+
});
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Standard Query Patterns
|
|
292
|
+
|
|
293
|
+
### Find all bookings for a location on a date
|
|
294
|
+
```typescript
|
|
295
|
+
await brain.find({
|
|
296
|
+
type: 'Event',
|
|
297
|
+
where: [
|
|
298
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
299
|
+
{ field: 'metadata.locationId', value: locationId },
|
|
300
|
+
{ field: 'metadata.date', value: '2026-02-19' }
|
|
301
|
+
],
|
|
302
|
+
orderBy: 'metadata.hour',
|
|
303
|
+
order: 'asc'
|
|
304
|
+
});
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Find inventory items below reorder threshold
|
|
308
|
+
```typescript
|
|
309
|
+
await brain.find({
|
|
310
|
+
type: 'Thing',
|
|
311
|
+
where: [
|
|
312
|
+
{ field: 'metadata.entityType', value: 'inventory-item' },
|
|
313
|
+
{ field: 'metadata.locationId', value: locationId }
|
|
314
|
+
]
|
|
315
|
+
// Filter client-side: items where quantity <= reorderThreshold
|
|
316
|
+
});
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Full-text + vector search
|
|
320
|
+
```typescript
|
|
321
|
+
await brain.search('italian pasta intermediate technique', {
|
|
322
|
+
type: 'Event',
|
|
323
|
+
limit: 20
|
|
324
|
+
});
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## Rules Summary
|
|
330
|
+
|
|
331
|
+
1. **Amounts in cents** — `7500` = $75.00. Always divide by 100 before displaying.
|
|
332
|
+
2. **Always filter `metadata.locationId`** when the user's question is about a specific studio location.
|
|
333
|
+
3. **Always include `metadata.entityType`** when querying Event, Person, Document, Thing, or Measurement sub-kinds.
|
|
334
|
+
4. **Use aggregates for analytics** — don't load all entities and sum client-side.
|
|
335
|
+
5. **Use `brain.neural().clusters()`** for customer segmentation, never hard-code segments.
|
|
336
|
+
6. **Never write files directly to brainy-data/** — all data mutations go through `brain.add()`, `brain.update()`, `brain.relate()`.
|