@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,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: staff-briefing
|
|
3
|
+
name: Staff Shift Briefing
|
|
4
|
+
description: Generates a structured operations briefing for the opening Game Master shift at the escape room venue, covering today's sessions by room, team sizes, reset schedule between sessions, maintenance alerts, and a pre-shift action checklist.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Staff Shift Briefing
|
|
12
|
+
|
|
13
|
+
You generate a clear, organized shift operations briefing for the opening Game Master team at **{{locationName}}**. Think shift-manager energy: calm, thorough, and ready to run a tight schedule.
|
|
14
|
+
|
|
15
|
+
## When to Trigger
|
|
16
|
+
|
|
17
|
+
Invoke this skill when staff ask:
|
|
18
|
+
- "What's the briefing for today?"
|
|
19
|
+
- "What sessions are running today?"
|
|
20
|
+
- "Good morning — what do I need to know?"
|
|
21
|
+
- "Daily briefing" / "shift check-in" / "morning briefing"
|
|
22
|
+
- Any question about today's schedule at the start of a shift
|
|
23
|
+
|
|
24
|
+
## Data to Pull
|
|
25
|
+
|
|
26
|
+
Before generating the briefing, gather:
|
|
27
|
+
|
|
28
|
+
1. **Today's bookings** — Query `Event` entities with `metadata.entityType = 'booking'` and `metadata.date = [today's date]` and `metadata.locationId = [location]`. Group by time slot and experienceSlug.
|
|
29
|
+
2. **Time slots** — Query `Event` entities with `metadata.entityType = 'time-slot'` for today to get capacity and `reservedCount` per session.
|
|
30
|
+
3. **Session attributes** — For each booking, check `data.sessionAttributes` for `roomName`, `teamName`, `companyName`, and any special notes.
|
|
31
|
+
4. **Revenue comparison** — Query the `Measurement` aggregate for the same weekday last week (same day-of-week, one week prior) to produce a comparison figure.
|
|
32
|
+
5. **Inventory alerts** — Query `Thing` entities with `metadata.entityType = 'inventory-item'` and `metadata.locationId = [location]`. Flag any where `metadata.quantity <= metadata.reorderThreshold`.
|
|
33
|
+
|
|
34
|
+
## Briefing Structure
|
|
35
|
+
|
|
36
|
+
Generate the briefing in exactly this structure:
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### Good morning, {{locationName}}!
|
|
41
|
+
|
|
42
|
+
> **[Full date — e.g., Wednesday, February 19, 2026]**
|
|
43
|
+
> **GM on duty**: [from staff assignment if available, otherwise "Check schedule"]
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### 1. Today's Sessions
|
|
48
|
+
|
|
49
|
+
For each room in use today, produce a block ordered by time:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
🔐 [Time] — [Room Name] ([Experience Type])
|
|
53
|
+
Team: [teamName from session attributes, or "Walk-in / TBD"]
|
|
54
|
+
Party size: [guestCount] guests
|
|
55
|
+
Type: [Standard | Advanced | Family | Private | Corporate]
|
|
56
|
+
Booking: [bookingNumber]
|
|
57
|
+
Notes: [companyName if corporate | ageRange if family | any booking notes]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If multiple sessions are in the same room back-to-back, flag the reset window:
|
|
61
|
+
```
|
|
62
|
+
⏱ Reset window: [duration between session end and next session start]
|
|
63
|
+
[OK — 15+ min reset window | ⚠️ TIGHT — under 15 min | 🔴 CRITICAL — under 10 min]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If no sessions are scheduled: "No sessions scheduled today. Good day for room maintenance, prop inventory, and reset procedure review."
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### 2. Room Reset Schedule
|
|
71
|
+
|
|
72
|
+
Show the full day's timeline as a reset planning tool:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
[Room Name]:
|
|
76
|
+
[Start time] – [End time]: [Team name / Booking #]
|
|
77
|
+
[End time] – [Next start]: RESET WINDOW ([N] min) [OK/⚠️ TIGHT/🔴 CRITICAL]
|
|
78
|
+
[Next start] – [Next end]: [Next team]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Flag any room with two or more consecutive back-to-back sessions — these are the highest reset pressure points of the day.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### 3. Revenue Forecast
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Confirmed revenue today: $[sum of totalInCents for confirmed bookings ÷ 100]
|
|
89
|
+
Last [weekday] revenue: $[comparison figure ÷ 100]
|
|
90
|
+
Variance: [+/- $X and percentage]
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Note whether today is tracking above, on par, or below last week's same day. Flag any private bookings or corporate groups — these carry higher ticket value and may have specific setup requirements.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### 4. Maintenance Check
|
|
98
|
+
|
|
99
|
+
List any items requiring pre-session verification:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
⚠️ [Room Name] — [item or issue flagged]
|
|
103
|
+
Category: [props | locks | electronics | costumes]
|
|
104
|
+
Last flagged: [date or "today — from previous session log"]
|
|
105
|
+
Action needed: [replace / repair / test before next session]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
If no maintenance items: "No maintenance flags from previous sessions. Confirm all rooms against the standard pre-session checklist."
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### 5. Inventory Alerts
|
|
113
|
+
|
|
114
|
+
If any items are at or below reorder threshold:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
⚠️ [Item name] — [quantity] remaining (threshold: [reorderThreshold])
|
|
118
|
+
Category: [category]
|
|
119
|
+
Action: Reorder before end of shift
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
If all inventory is healthy: "All supplies are well-stocked. No reorder alerts."
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### 6. Pre-Shift Action Checklist
|
|
127
|
+
|
|
128
|
+
Generate a session-specific checklist. Always include universal items; add session-specific items based on today's data.
|
|
129
|
+
|
|
130
|
+
**Universal items (every shift):**
|
|
131
|
+
- [ ] Confirm all room resets are complete from last night's final sessions
|
|
132
|
+
- [ ] Test emergency override on all room doors — confirm they open from inside
|
|
133
|
+
- [ ] Verify hint communication system is operational in each active room (intercom / screen / call button)
|
|
134
|
+
- [ ] Confirm camera feeds are live for all rooms scheduled today
|
|
135
|
+
- [ ] Test audio/lighting cue systems in each room
|
|
136
|
+
- [ ] POS terminal confirmed and float counted
|
|
137
|
+
- [ ] Locker keys tagged and accessible at front desk
|
|
138
|
+
- [ ] Briefing script reviewed — especially for any new team member running briefings today
|
|
139
|
+
|
|
140
|
+
**Session-specific additions (add based on data):**
|
|
141
|
+
- If a Corporate Team Build is scheduled: `[ ] Debrief area set up — whiteboard, seating for [guestCount] guests, printed team summary template`
|
|
142
|
+
- If a Family Room session is scheduled: `[ ] Confirm Family Room difficulty settings are at family mode — check any adjustable puzzle parameters`
|
|
143
|
+
- If a back-to-back tight reset window exists: `[ ] Pre-position reset kit for [Room Name] — fastest reset sequence is [N steps]; confirm second GM available for parallel reset`
|
|
144
|
+
- If inventory alerts exist: `[ ] Initiate reorder for flagged items before end of shift`
|
|
145
|
+
- If any prop is flagged for maintenance: `[ ] Verify [item] is resolved before first session in [Room Name]`
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Tone Guidelines
|
|
150
|
+
|
|
151
|
+
- **Calm and operational** — Like a shift manager who has run a hundred of these days and knows exactly how to set the team up for success
|
|
152
|
+
- **Specific, not generic** — Use actual room names, team names, booking numbers, and guest counts from the data
|
|
153
|
+
- **Actionable** — Every section ends with something the team can verify or do right now
|
|
154
|
+
- **Concise** — The briefing should be scannable in under 2 minutes on a tablet
|
|
155
|
+
- **Safety-first framing** — Emergency system checks always come before revenue and inventory — that ordering matters
|
|
156
|
+
|
|
157
|
+
## Output Format
|
|
158
|
+
|
|
159
|
+
Produce the briefing as clean, readable markdown. Headers for each section, emoji sparingly for visual anchoring. The output should render well in both a web staff dashboard and a printed daily sheet.
|
|
@@ -0,0 +1,335 @@
|
|
|
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 venue location | `address`, `hours`, `timezone`, `stripeAccountId`, `locationId` |
|
|
37
|
+
| `Product` | `experience` | Room 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` | `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 / room prop | `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
|
+
### Session Attributes (stored in `data.sessionAttributes` on booking entities)
|
|
59
|
+
Escape-specific attributes logged per booking:
|
|
60
|
+
- `roomName` — which room the team was assigned
|
|
61
|
+
- `teamName` — team name chosen by the group
|
|
62
|
+
- `completionTime` — string in `MM:SS` format, filled after session
|
|
63
|
+
- `hintsUsed` — number of hints taken, filled after session
|
|
64
|
+
- `escaped` — outcome: `"Yes! Escaped"` | `"Almost — X seconds remaining"` | `"Not this time"`
|
|
65
|
+
- `companyName` — for corporate bookings
|
|
66
|
+
- `roomsUsed` — for corporate multi-room bookings
|
|
67
|
+
- `ageRange` — for family room bookings
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Relationships Reference
|
|
72
|
+
|
|
73
|
+
Brainy relationships are directed edges with a typed verb. Query via `brain.related()` or use `brain.find()` with relationship traversal.
|
|
74
|
+
|
|
75
|
+
| From Entity | Verb | To Entity | Purpose |
|
|
76
|
+
|---|---|---|---|
|
|
77
|
+
| `Location` | Contains | `Experience`, `TimeSlot` | What a location offers |
|
|
78
|
+
| `Experience` | OccursAt | `TimeSlot` | Schedule mapping |
|
|
79
|
+
| `Booking` | ParticipatesIn | `TimeSlot` | Seat reservation |
|
|
80
|
+
| `Customer` | Creates | `Booking` | Ownership |
|
|
81
|
+
| `Booking` | Contains | `Experience` | Line items |
|
|
82
|
+
| `Transaction` | References | `Booking` | Revenue attribution |
|
|
83
|
+
| `Experience` | Consumes | `InventoryItem` | COGS / prop tracking |
|
|
84
|
+
| `Location` | Owns | `Transaction` | Multi-location P&L |
|
|
85
|
+
| `Staff` | MemberOf | `Location` | Staff assignment |
|
|
86
|
+
| `Memory` | References | `Booking` | Visit → memory link |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Aggregate API
|
|
91
|
+
|
|
92
|
+
Use `brain.defineAggregate()` to register a named aggregate, then `brain.find()` with the `aggregate` key to query it. Results are materialized and cached.
|
|
93
|
+
|
|
94
|
+
### Full example — revenue by experience and month
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
brain.defineAggregate('revenueByExperienceMonth', {
|
|
98
|
+
source: {
|
|
99
|
+
type: 'Measurement',
|
|
100
|
+
where: [
|
|
101
|
+
{ field: 'metadata.entityType', value: 'transaction' },
|
|
102
|
+
{ field: 'metadata.type', value: 'revenue' }
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
groupBy: [
|
|
106
|
+
{ field: 'metadata.experienceSlug' },
|
|
107
|
+
{ field: 'metadata.date', window: 'month' }
|
|
108
|
+
],
|
|
109
|
+
metrics: {
|
|
110
|
+
totalRevenue: { op: 'SUM', field: 'metadata.amountInCents' },
|
|
111
|
+
bookingCount: { op: 'COUNT' },
|
|
112
|
+
avgTicket: { op: 'AVG', field: 'metadata.amountInCents' },
|
|
113
|
+
maxTicket: { op: 'MAX', field: 'metadata.amountInCents' },
|
|
114
|
+
minTicket: { op: 'MIN', field: 'metadata.amountInCents' },
|
|
115
|
+
revenueStdDev: { op: 'STDDEV', field: 'metadata.amountInCents' },
|
|
116
|
+
revenueVariance: { op: 'VARIANCE', field: 'metadata.amountInCents' }
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
const results = await brain.find({
|
|
121
|
+
aggregate: 'revenueByExperienceMonth',
|
|
122
|
+
where: [{ field: 'metadata.locationId', value: 'loc-abc' }],
|
|
123
|
+
orderBy: 'totalRevenue',
|
|
124
|
+
order: 'desc',
|
|
125
|
+
limit: 100
|
|
126
|
+
});
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Available aggregation operators
|
|
130
|
+
|
|
131
|
+
| Operator | Description |
|
|
132
|
+
|---|---|
|
|
133
|
+
| `SUM` | Total of all values in the group |
|
|
134
|
+
| `COUNT` | Number of entities in the group |
|
|
135
|
+
| `AVG` | Arithmetic mean |
|
|
136
|
+
| `MIN` | Minimum value |
|
|
137
|
+
| `MAX` | Maximum value |
|
|
138
|
+
| `STDDEV` | Population standard deviation |
|
|
139
|
+
| `VARIANCE` | Population variance |
|
|
140
|
+
|
|
141
|
+
### Available time windows for `groupBy`
|
|
142
|
+
|
|
143
|
+
`hour` | `day` | `week` | `month` | `quarter` | `year`
|
|
144
|
+
|
|
145
|
+
### Example — expenses by category and month
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
brain.defineAggregate('expensesByCategory', {
|
|
149
|
+
source: {
|
|
150
|
+
type: 'Measurement',
|
|
151
|
+
where: [
|
|
152
|
+
{ field: 'metadata.entityType', value: 'transaction' },
|
|
153
|
+
{ field: 'metadata.type', value: 'expense' }
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
groupBy: [
|
|
157
|
+
{ field: 'metadata.category' },
|
|
158
|
+
{ field: 'metadata.date', window: 'month' }
|
|
159
|
+
],
|
|
160
|
+
metrics: {
|
|
161
|
+
totalExpense: { op: 'SUM', field: 'metadata.amountInCents' },
|
|
162
|
+
entryCount: { op: 'COUNT' },
|
|
163
|
+
avgExpense: { op: 'AVG', field: 'metadata.amountInCents' }
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Example — bookings by room and day of week
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
brain.defineAggregate('bookingsByRoomDayHour', {
|
|
172
|
+
source: {
|
|
173
|
+
type: 'Event',
|
|
174
|
+
where: [
|
|
175
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
176
|
+
{ field: 'metadata.status', value: 'confirmed' }
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
groupBy: [
|
|
180
|
+
{ field: 'metadata.experienceSlug' },
|
|
181
|
+
{ field: 'metadata.date', window: 'day' }
|
|
182
|
+
],
|
|
183
|
+
metrics: {
|
|
184
|
+
bookingCount: { op: 'COUNT' },
|
|
185
|
+
totalGuests: { op: 'SUM', field: 'metadata.guestCount' },
|
|
186
|
+
avgGuests: { op: 'AVG', field: 'metadata.guestCount' }
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Counts API
|
|
194
|
+
|
|
195
|
+
For fast total counts without full aggregation:
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
// Count all entities by NounType
|
|
199
|
+
const totals = await brain.counts.byType();
|
|
200
|
+
// Returns: { Location: 2, Product: 5, Event: 3840, Person: 1204, ... }
|
|
201
|
+
|
|
202
|
+
// Count with specific criteria
|
|
203
|
+
const todayBookings = await brain.counts.byCriteria({
|
|
204
|
+
type: 'Event',
|
|
205
|
+
criteria: [
|
|
206
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
207
|
+
{ field: 'metadata.date', value: '2026-02-19' }
|
|
208
|
+
]
|
|
209
|
+
});
|
|
210
|
+
// Returns: { count: 22 }
|
|
211
|
+
|
|
212
|
+
// Global database statistics
|
|
213
|
+
const stats = await brain.getStats();
|
|
214
|
+
// Returns: { totalEntities, totalRelationships, indexedAt, storeSizeBytes, ... }
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Neural API
|
|
220
|
+
|
|
221
|
+
Brainy exposes ML-style operations over entity embeddings without an external model:
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
// Cluster customers into behavioral segments
|
|
225
|
+
const segments = await brain.neural().clusters({
|
|
226
|
+
numClusters: 5,
|
|
227
|
+
entityType: 'Person'
|
|
228
|
+
});
|
|
229
|
+
// Returns array of clusters, each with centroid, memberIds[], and summary stats
|
|
230
|
+
|
|
231
|
+
// Detect statistical outliers (VIPs, anomalies, churn risks)
|
|
232
|
+
const outliers = await brain.neural().outliers({
|
|
233
|
+
threshold: 2.5, // Z-score threshold
|
|
234
|
+
method: 'zscore', // 'zscore' | 'iqr'
|
|
235
|
+
entityType: 'Measurement'
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
// Find semantically similar entities
|
|
239
|
+
const similar = await brain.neural().similar('entity-id-uuid', {
|
|
240
|
+
limit: 10
|
|
241
|
+
});
|
|
242
|
+
// Returns entities with similarity scores, ordered descending
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Streaming API
|
|
248
|
+
|
|
249
|
+
For large result sets or real-time feeds, use async generators:
|
|
250
|
+
|
|
251
|
+
```typescript
|
|
252
|
+
// Stream all entities of a NounType
|
|
253
|
+
for await (const entity of brain.streaming.entities({ type: 'Event' })) {
|
|
254
|
+
// Process one entity at a time — memory-efficient for large sets
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// Stream search results
|
|
258
|
+
for await (const result of brain.streaming.search('clockmaker puzzle escape', { type: 'Event' })) {
|
|
259
|
+
// result.entity, result.score
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Tabular Export API
|
|
266
|
+
|
|
267
|
+
Export entity data as CSV or OData for spreadsheet and BI tool consumption:
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
import { TabularExporter } from '@soulcraft/brainy';
|
|
271
|
+
|
|
272
|
+
const exporter = new TabularExporter(brain);
|
|
273
|
+
|
|
274
|
+
// Export to CSV buffer
|
|
275
|
+
const csv = await exporter.exportCsv({
|
|
276
|
+
type: 'Measurement',
|
|
277
|
+
where: [{ field: 'metadata.entityType', value: 'transaction' }]
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
// Export as OData JSON (compatible with Power BI, Excel)
|
|
281
|
+
const odata = await exporter.exportOData({
|
|
282
|
+
type: 'Measurement',
|
|
283
|
+
where: [{ field: 'metadata.entityType', value: 'transaction' }]
|
|
284
|
+
});
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Standard Query Patterns
|
|
290
|
+
|
|
291
|
+
### Find all bookings for a location on a date
|
|
292
|
+
```typescript
|
|
293
|
+
await brain.find({
|
|
294
|
+
type: 'Event',
|
|
295
|
+
where: [
|
|
296
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
297
|
+
{ field: 'metadata.locationId', value: locationId },
|
|
298
|
+
{ field: 'metadata.date', value: '2026-02-19' }
|
|
299
|
+
],
|
|
300
|
+
orderBy: 'metadata.hour',
|
|
301
|
+
order: 'asc'
|
|
302
|
+
});
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### Find inventory items below reorder threshold
|
|
306
|
+
```typescript
|
|
307
|
+
await brain.find({
|
|
308
|
+
type: 'Thing',
|
|
309
|
+
where: [
|
|
310
|
+
{ field: 'metadata.entityType', value: 'inventory-item' },
|
|
311
|
+
{ field: 'metadata.locationId', value: locationId }
|
|
312
|
+
]
|
|
313
|
+
// Filter client-side: items where quantity <= reorderThreshold
|
|
314
|
+
});
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Full-text + vector search
|
|
318
|
+
```typescript
|
|
319
|
+
await brain.search('clockmaker workshop escape puzzle', {
|
|
320
|
+
type: 'Event',
|
|
321
|
+
limit: 20
|
|
322
|
+
});
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Rules Summary
|
|
328
|
+
|
|
329
|
+
1. **Amounts in cents** — `3500` = $35.00. Always divide by 100 before displaying.
|
|
330
|
+
2. **Always filter `metadata.locationId`** when the user's question is about a specific venue location.
|
|
331
|
+
3. **Always include `metadata.entityType`** when querying Event, Person, Document, Thing, or Measurement sub-kinds.
|
|
332
|
+
4. **Use aggregates for analytics** — don't load all entities and sum client-side.
|
|
333
|
+
5. **Use `brain.neural().clusters()`** for customer segmentation, never hard-code segments.
|
|
334
|
+
6. **Session attributes live in `data.sessionAttributes`** — they are not in `metadata` and cannot be used in `where` filters directly. Load the booking entity and inspect `data` client-side.
|
|
335
|
+
7. **Never write files directly to brainy-data/** — all data mutations go through `brain.add()`, `brain.update()`, `brain.relate()`.
|