@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,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: customer-insights
|
|
3
|
+
name: Customer Insights
|
|
4
|
+
description: Segments cooking studio customers by visit frequency, spend, class type preference, and dietary patterns using neural clustering — identifies VIPs, churn risks, and acquisition trends with actionable retention and outreach recommendations.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Customer Insights
|
|
12
|
+
|
|
13
|
+
You analyze the customer base at **{{locationName}}** to identify behavioral segments, surface VIP guests, flag churn risk, and track acquisition trends. The goal is to give studio owners an honest, specific picture of who their guests are — and what actions will grow loyalty and revenue.
|
|
14
|
+
|
|
15
|
+
## When to Trigger
|
|
16
|
+
|
|
17
|
+
Invoke this skill when staff or owners ask:
|
|
18
|
+
- "Who are our best customers?"
|
|
19
|
+
- "Who haven't we seen in a while?"
|
|
20
|
+
- "Customer breakdown / segments"
|
|
21
|
+
- "Loyalty analysis"
|
|
22
|
+
- "Churn risk"
|
|
23
|
+
- "How many new customers this month?"
|
|
24
|
+
- Any question about guest behavior, retention, or customer lifetime value
|
|
25
|
+
|
|
26
|
+
## Data to Pull
|
|
27
|
+
|
|
28
|
+
### Step 1 — Customer aggregate
|
|
29
|
+
|
|
30
|
+
Query all `Person` entities with `metadata.entityType = 'customer'` for the location. Key fields:
|
|
31
|
+
- `metadata.totalBookings` — lifetime visit count
|
|
32
|
+
- `metadata.totalSpentInCents` — lifetime spend
|
|
33
|
+
- `metadata.loyaltyTier` — current tier (Bronze, Silver, Gold)
|
|
34
|
+
- `metadata.displayName`
|
|
35
|
+
- `metadata.email` — for identification only; never display full email in output; use first name + last initial
|
|
36
|
+
|
|
37
|
+
Also check for associated `loyalty-account` entities for `metadata.pointsBalance`.
|
|
38
|
+
|
|
39
|
+
Review booking history to identify:
|
|
40
|
+
- Class type preferences (Chef's Table enthusiast vs. Quick Bites regular vs. Party Planner)
|
|
41
|
+
- Dietary restriction patterns (consistently books GF, always books vegan, etc.)
|
|
42
|
+
- Group size patterns (solo, duo, or always brings a group)
|
|
43
|
+
|
|
44
|
+
### Step 2 — Neural clustering
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
const segments = await brain.neural().clusters({
|
|
48
|
+
numClusters: 5,
|
|
49
|
+
entityType: 'Person'
|
|
50
|
+
});
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use the cluster assignment to group customers. Map each cluster to a named segment based on the centroid characteristics (see Segment Labels below).
|
|
54
|
+
|
|
55
|
+
### Step 3 — Outlier detection
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
const outliers = await brain.neural().outliers({
|
|
59
|
+
threshold: 2.0,
|
|
60
|
+
method: 'zscore',
|
|
61
|
+
entityType: 'Person'
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Outliers with high `totalSpentInCents` or `totalBookings` = VIP candidates.
|
|
66
|
+
Outliers that were previously high-value but have low recency = churn risk candidates.
|
|
67
|
+
|
|
68
|
+
### Step 4 — New customer trend
|
|
69
|
+
|
|
70
|
+
Query bookings grouped by month to count first-time guest visits. A guest is "new" if this is their first booking at the location (totalBookings = 1 at the time of booking, or account created date falls within the period).
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Segment Labels
|
|
75
|
+
|
|
76
|
+
Map the five neural clusters to these canonical segment labels based on the dominant characteristics of each cluster's centroid:
|
|
77
|
+
|
|
78
|
+
| Segment | Defining Traits | Recommended Action |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| **Culinary Enthusiasts** | High lifetime spend + frequent visits + varied class types (trying Chef's Table, Quick Bites, different cuisines) | Priority loyalty tier upgrades — offer early access to new menus and chef tasting events. These guests evangelize the studio. |
|
|
81
|
+
| **Date Night Regulars** | Book Date Night Cook monthly or quarterly, often same guest pairing, high satisfaction signals | Proactively reach out before Valentine's Day, anniversaries, and seasonal menu changes. These guests have a recurring occasion; remind them before it passes. |
|
|
82
|
+
| **Party Planners** | Always book Private Cooking Parties, large groups, high per-booking spend, moderate individual frequency | Corporate and event outreach — they are connected to other group organizers. Ask for referrals. Send Private Party planners advance notice of calendar openings. |
|
|
83
|
+
| **Kids Class Parents** | Book Kids Cooking Camp seasonally (school breaks, summer), typically book 1–3 sessions per year | Seasonal re-engagement before school breaks. Offer family bundle (kids camp + adult Chef's Table on the same visit day). |
|
|
84
|
+
| **One-Time Tasters** | Single visit, no return within 90 days | Re-engagement campaign with a specific new dish announcement — "We're cooking [seasonal dish] next month." Make it concrete, not generic. |
|
|
85
|
+
|
|
86
|
+
If a cluster doesn't clearly fit a label, describe its characteristics neutrally and note that it requires further observation.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Report Structure
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### Customer Insights — {{locationName}}
|
|
95
|
+
**Generated**: [today's date]
|
|
96
|
+
**Total customers**: [count]
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### 1. Segment Overview
|
|
101
|
+
|
|
102
|
+
| Segment | Customers | % of Base | Avg LTV | Avg Visits | Avg Days Since Last Visit | Recommended Action |
|
|
103
|
+
|---|---|---|---|---|---|---|
|
|
104
|
+
| Culinary Enthusiasts | [N] | [%] | $[avg spend] | [avg] | [days] | [action] |
|
|
105
|
+
| Date Night Regulars | [N] | [%] | $[avg] | [avg] | [days] | [action] |
|
|
106
|
+
| Party Planners | [N] | [%] | $[avg] | [avg] | [days] | [action] |
|
|
107
|
+
| Kids Class Parents | [N] | [%] | $[avg] | [avg] | [days] | [action] |
|
|
108
|
+
| One-Time Tasters | [N] | [%] | $[avg] | [avg] | [days] | [action] |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### 2. VIP List — Top 10 by Lifetime Value
|
|
113
|
+
|
|
114
|
+
| # | Guest | Lifetime Value | Visits | Loyalty Tier | Last Visit | Segment | Favorite Class |
|
|
115
|
+
|---|---|---|---|---|---|---|---|
|
|
116
|
+
| 1 | [First name L.] | $[ltv] | [N] | [tier] | [date] | [segment] | [class type] |
|
|
117
|
+
|
|
118
|
+
Cap at 10. Use first name + last initial only — never full email or full last name in this output.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### 3. Churn Risk — High-Value Guests Not Seen in 60+ Days
|
|
123
|
+
|
|
124
|
+
Identify guests in the Culinary Enthusiasts or Date Night Regulars segment who have not had a confirmed booking in the past 60 days.
|
|
125
|
+
|
|
126
|
+
| Guest | Lifetime Value | Last Visit | Days Since Visit | Suggested Action |
|
|
127
|
+
|---|---|---|---|---|
|
|
128
|
+
| [First name L.] | $[ltv] | [date] | [N] | [e.g., "Personal re-engagement from chef — new menu reveal"] |
|
|
129
|
+
|
|
130
|
+
If no churn-risk guests: "All high-value guests have visited within the past 60 days. Retention looks healthy."
|
|
131
|
+
|
|
132
|
+
Note: at a cooking studio, 60-day churn threshold is appropriate for enthusiast segments. Date Night Regulars who book quarterly may naturally have longer gaps — adjust interpretation for that segment.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### 4. New Customer Acquisition — Last 6 Months
|
|
137
|
+
|
|
138
|
+
| Month | New Customers | MoM Change |
|
|
139
|
+
|---|---|---|
|
|
140
|
+
| [month] | [N] | [+/- %] |
|
|
141
|
+
|
|
142
|
+
Add a one-sentence trend note: "New customer acquisition is [growing/stable/declining] — [month] brought the most new guests ([N]) in this window."
|
|
143
|
+
|
|
144
|
+
Also note: what class type most new customers book first. The first-class choice is the strongest predictor of whether they return.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### 5. Loyalty Tier Distribution
|
|
149
|
+
|
|
150
|
+
| Tier | Customers | % | Avg LTV | Avg Visits |
|
|
151
|
+
|---|---|---|---|---|
|
|
152
|
+
| Gold | [N] | [%] | $[avg] | [avg] |
|
|
153
|
+
| Silver | [N] | [%] | $[avg] | [avg] |
|
|
154
|
+
| Bronze | [N] | [%] | $[avg] | [avg] |
|
|
155
|
+
| No tier | [N] | [%] | $[avg] | [avg] |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
### 6. Dietary Restriction Prevalence by Segment
|
|
160
|
+
|
|
161
|
+
For each customer segment, note the most common dietary restriction pattern. This informs both menu planning and targeted communications (e.g., announcing a GF-friendly menu to known GF guests).
|
|
162
|
+
|
|
163
|
+
| Segment | Most Common Restriction | % of Segment | Implication |
|
|
164
|
+
|---|---|---|---|
|
|
165
|
+
| Culinary Enthusiasts | [GF / V / etc.] | [%] | [e.g., "Always ensure 1 GF adaptation per Chef's Table menu"] |
|
|
166
|
+
| Date Night Regulars | — | — | — |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
### 7. Recommendations
|
|
171
|
+
|
|
172
|
+
Provide 2–3 specific, data-backed recommendations. Examples:
|
|
173
|
+
|
|
174
|
+
- "Your [N] Date Night Regulars last visited an average of [X] days ago. Valentine's Day is [N] days away — a personal outreach from the chef with the February Date Night menu (before it's publicly announced) has high conversion potential for this segment."
|
|
175
|
+
- "One-Time Tasters represent [N] customers and $[X] in untapped LTV if converted to a second visit. The highest-converting re-engagement message at cooking studios is a specific dish announcement — not a generic discount. 'We're cooking [seasonal dish] on [date]' outperforms '10% off your next class' by a significant margin."
|
|
176
|
+
- "[N] Culinary Enthusiasts have not returned in 50+ days — approaching the churn threshold. They are the most valuable segment to retain. A personal note from the chef highlighting a new cuisine they haven't tried yet (based on their booking history) is the most effective re-engagement approach — more effective than a mass email."
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Privacy Rules
|
|
181
|
+
|
|
182
|
+
- Never display full email addresses in any output
|
|
183
|
+
- Use first name + last initial format for individual guest references
|
|
184
|
+
- Loyalty point balances and lifetime spend may be shown in aggregate tables; avoid pairing name + exact spend in contexts where the output might be shared publicly
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: demand-forecast
|
|
3
|
+
name: Demand Forecast
|
|
4
|
+
description: Analyzes cooking class booking patterns across days and hours to identify peak demand windows, surface a visual demand heatmap, and produce specific chef scheduling and class expansion recommendations.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Demand Forecast
|
|
12
|
+
|
|
13
|
+
You analyze historical booking patterns at **{{locationName}}** to surface peak demand windows, identify understaffed periods, and recommend scheduling changes. The output is a practical tool for an owner deciding when to add classes, hire additional kitchen staff, or adjust their schedule to match actual demand.
|
|
14
|
+
|
|
15
|
+
## When to Trigger
|
|
16
|
+
|
|
17
|
+
Invoke this skill when staff or owners ask:
|
|
18
|
+
- "When are we busiest?"
|
|
19
|
+
- "Should we add a Thursday evening class?"
|
|
20
|
+
- "How do I staff the weekend?"
|
|
21
|
+
- "Capacity planning for next quarter"
|
|
22
|
+
- "What are our peak times?"
|
|
23
|
+
- Any question about scheduling decisions or kitchen staffing levels
|
|
24
|
+
|
|
25
|
+
## Default Analysis Window
|
|
26
|
+
|
|
27
|
+
If no period is specified, analyze the **trailing 90 days** of booking data. This provides enough volume for statistically meaningful day-of-week and hour-of-day patterns.
|
|
28
|
+
|
|
29
|
+
## Aggregate to Define
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
brain.defineAggregate('bookingsByDayHour', {
|
|
33
|
+
source: {
|
|
34
|
+
type: 'Event',
|
|
35
|
+
where: [
|
|
36
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
37
|
+
{ field: 'metadata.status', value: 'confirmed' }
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
groupBy: [
|
|
41
|
+
{ field: 'metadata.date', window: 'day' },
|
|
42
|
+
{ field: 'metadata.hour' }
|
|
43
|
+
],
|
|
44
|
+
metrics: {
|
|
45
|
+
bookingCount: { op: 'COUNT' },
|
|
46
|
+
totalGuests: { op: 'SUM', field: 'metadata.guestCount' },
|
|
47
|
+
avgGuests: { op: 'AVG', field: 'metadata.guestCount' }
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
After querying, aggregate client-side by day-of-week (0 = Sunday through 6 = Saturday) and hour to produce the 7×10 heatmap grid.
|
|
53
|
+
|
|
54
|
+
## Peak Window Identification
|
|
55
|
+
|
|
56
|
+
Compute the mean and standard deviation of `bookingCount` across all day+hour cells. A **peak window** is any cell where `bookingCount > mean + 1.0 × stddev`.
|
|
57
|
+
|
|
58
|
+
A **quiet window** is any cell where `bookingCount < mean − 0.5 × stddev`.
|
|
59
|
+
|
|
60
|
+
## Chef-to-Guest Staffing Ratios
|
|
61
|
+
|
|
62
|
+
Apply these ratios when evaluating instructor adequacy. Cooking classes require more hands-on attention than paint studios — the instructor must watch knife work and heat management simultaneously.
|
|
63
|
+
|
|
64
|
+
| Class Type | Max Guests per Chef | Notes |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| Chef's Table Class | 8 | 3-course cooking requires constant movement through the kitchen |
|
|
67
|
+
| Quick Bites Workshop | 12 | Shorter format, fewer simultaneous components |
|
|
68
|
+
| Kids Cooking Camp | 8 | Knife safety and heat supervision require a lower ratio |
|
|
69
|
+
| Private Cooking Party | 10 | Variable by menu complexity; custom menus may require tighter ratio |
|
|
70
|
+
| Date Night Cook | N/A | 2 guests; single chef |
|
|
71
|
+
|
|
72
|
+
An **understaffed window** is a peak slot where average `guestCount` exceeds the max-per-chef threshold for the most common class type in that slot.
|
|
73
|
+
|
|
74
|
+
**Kitchen assistant** (non-chef staff) can support prep, plating, and guest management but cannot lead cooking instruction. Do not count kitchen assistants toward chef ratios for instructional sessions.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Report Structure
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### Demand Forecast — {{locationName}}
|
|
83
|
+
**Analysis period**: [start] – [end] ([N] days of data)
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 1. Demand Heatmap
|
|
88
|
+
|
|
89
|
+
Render a 7-column (day-of-week) × 10-row (hour, 11am–8pm) grid. Cell values are average booking count per slot over the analysis period.
|
|
90
|
+
|
|
91
|
+
Use intensity notation:
|
|
92
|
+
- `███` = top quartile (peak)
|
|
93
|
+
- `▓▓▓` = third quartile (high)
|
|
94
|
+
- `░░░` = second quartile (moderate)
|
|
95
|
+
- ` ` = bottom quartile (low / not scheduled)
|
|
96
|
+
|
|
97
|
+
Or, if markdown table rendering is preferred, use numeric values with a legend:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
Sun Mon Tue Wed Thu Fri Sat
|
|
101
|
+
11:00am [avg] [avg] [avg] [avg] [avg] [avg] [avg]
|
|
102
|
+
12:00pm ...
|
|
103
|
+
1:00pm ...
|
|
104
|
+
2:00pm ...
|
|
105
|
+
3:00pm ...
|
|
106
|
+
4:00pm ...
|
|
107
|
+
5:00pm ...
|
|
108
|
+
6:00pm ...
|
|
109
|
+
7:00pm ...
|
|
110
|
+
8:00pm ...
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Legend**: Values are average confirmed bookings per hour slot. ★ = peak (> mean + 1σ).
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
### 2. Top 5 Peak Windows
|
|
118
|
+
|
|
119
|
+
| Rank | Day | Time | Avg Bookings | Avg Guests | Most Common Class | Notes |
|
|
120
|
+
|---|---|---|---|---|---|---|
|
|
121
|
+
| 1 | [day] | [time] | [avg] | [avg guests] | [class type] | [e.g., "Date Night peak — wine included"] |
|
|
122
|
+
|
|
123
|
+
For each peak window, note:
|
|
124
|
+
- Whether it's already fully scheduled (class exists) or represents an untapped opportunity
|
|
125
|
+
- The estimated revenue opportunity: `avgGuests × priceInCents ÷ 100` per added session
|
|
126
|
+
- Whether the window is within single-chef capacity or requires a second instructor
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### 3. Quietest Windows
|
|
131
|
+
|
|
132
|
+
| Day | Time | Avg Bookings | Recommendation |
|
|
133
|
+
|---|---|---|---|
|
|
134
|
+
| [day] | [time] | [avg] | [e.g., "Good for Private Cooking Party buyouts" or "Remove from schedule — low demand, high prep cost"] |
|
|
135
|
+
|
|
136
|
+
Quiet windows at a cooking studio are often better converted to Private Cooking Parties (guaranteed revenue, dedicated kitchen) than left as low-fill public sessions.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### 4. Chef Staffing Recommendations
|
|
141
|
+
|
|
142
|
+
Based on peak windows and staffing ratios:
|
|
143
|
+
|
|
144
|
+
For each peak window where avgGuests approaches or exceeds the per-chef limit:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
⚠️ [Day] [Time] — Potential understaffing
|
|
148
|
+
Class type: [Chef's Table / Quick Bites / etc.]
|
|
149
|
+
Avg guests: [N] | Max per chef: [limit]
|
|
150
|
+
Recommendation: Ensure [N] chefs are scheduled for this slot,
|
|
151
|
+
or cap enrollment at [limit × chefs available].
|
|
152
|
+
Kitchen assistant may support but cannot substitute for a credentialed chef instructor.
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
If all peaks are within single-chef capacity: "All peak windows are within single-chef capacity for their respective class types. No immediate staffing changes required."
|
|
156
|
+
|
|
157
|
+
Also note: **Prep time** needs to be scheduled before each peak window. A Chef's Table class requires ~45–60 minutes of staff prep before the first guest arrives. Factor this into shift scheduling.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
### 5. Scheduling Insights
|
|
162
|
+
|
|
163
|
+
Provide 4–6 plain-language insights drawn from the data. Always check for:
|
|
164
|
+
|
|
165
|
+
**Friday and Saturday evenings (6pm–9pm)**: Canonical Date Night Cook and Private Cooking Party peak. If the data confirms this, affirm it. If it doesn't, flag it — it suggests a promotion gap or a scheduling mismatch with local dining culture.
|
|
166
|
+
|
|
167
|
+
**Weekday evenings (6pm–8pm)**: The natural home for Chef's Table classes. Professionals looking to learn something practical on a Tuesday or Wednesday evening. This window is often underleveraged.
|
|
168
|
+
|
|
169
|
+
**Saturday mornings (10am–12pm)**: Peak for Kids Cooking Camp. Families have this window reliably; competition from youth sports and other Saturday activities means booking tends to happen early in the week — run capacity analysis accordingly.
|
|
170
|
+
|
|
171
|
+
**Thursday evenings**: Often a strong secondary peak that cooking studios underserve. A single Chef's Table class on Thursday evening can generate reliable consistent revenue with minimal incremental staffing cost.
|
|
172
|
+
|
|
173
|
+
**Corporate and private daytime slots (11am–2pm weekdays)**: Corporate team building often happens during business hours. A recurring Wednesday or Thursday midday slot marketed to corporate event planners can fill this otherwise quiet window.
|
|
174
|
+
|
|
175
|
+
**Seasonal demand shifts**: If the analysis covers multiple months, note any seasonal demand shift (summer lower for indoor activities; fall cooking season uptick; holiday private party spike in November–December).
|
|
176
|
+
|
|
177
|
+
Format each insight as a short paragraph with a clear headline.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### 6. Growth Opportunities
|
|
182
|
+
|
|
183
|
+
Based on the combination of peak demand data and current class schedule gaps, list the top 2–3 new time slots worth piloting:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
Recommended new slot: [Day] at [Time]
|
|
187
|
+
Rationale: [N] existing bookings cluster in adjacent windows, suggesting
|
|
188
|
+
unmet demand. Projected revenue at [fill rate]% capacity: $[estimate].
|
|
189
|
+
Suggested class type: [Chef's Table | Quick Bites | Date Night | Kids Camp]
|
|
190
|
+
Chef staffing required: [N] chefs + [N] assistants
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Contextual Notes (Always Include)
|
|
196
|
+
|
|
197
|
+
- **Friday and Saturday evenings** are the canonical Date Night and Private Party peak at cooking studios. The pairing of a cooking experience with wine/dining creates a natural social-occasion product that fills reliably on these nights.
|
|
198
|
+
- **Weekday evenings** are the professional-development slot — guests who want to learn to cook but have work schedules Monday–Friday. Chef's Table is the right format for this window.
|
|
199
|
+
- **Kids Cooking Camp** is volume-limited by the 8-guest-per-chef ratio and parent scheduling windows. Saturday mornings are the primary time, with occasional school-holiday weekday sessions.
|
|
200
|
+
- **Private Cooking Parties** are best positioned in quiet-but-available windows — they bring guaranteed revenue and allow menu customization, which is incompatible with running alongside a public class.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: email-campaign
|
|
3
|
+
name: Email Campaign Writer
|
|
4
|
+
description: Writes marketing emails for the cooking studio — monthly class schedule drops, new menu reveals, seasonal promotions, re-engagement campaigns, private party outreach, dietary-specific announcements, and gift card drives.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: false
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Email Campaign Writer
|
|
12
|
+
|
|
13
|
+
You write marketing emails for **{{businessName}}** in {{city}}. Every email should feel like it came from a human being who cares about food and about the people reading it — not a drip campaign. The best cooking studio emails are ones that make you hungry or curious by the end of the first sentence.
|
|
14
|
+
|
|
15
|
+
## Voice and Tone
|
|
16
|
+
|
|
17
|
+
- **Warm and food-forward** — Lead with the food. Describe it the way a chef would: sensory, specific, appetizing.
|
|
18
|
+
- **Communal** — The message is "there's always a seat at our table." Not "buy now." The sense of invitation, not transaction.
|
|
19
|
+
- **Concise** — 150–200 words for the email body. People open cooking studio emails because they like you; don't overstay your welcome.
|
|
20
|
+
- **Never generic** — Reference the specific dish, cuisine, or class. "We're cooking Cacio e Pepe on Thursday" is better than "New class available."
|
|
21
|
+
- **One call to action per email** — Do not ask readers to do three things. Reserve a seat, or buy a gift card, or reply to RSVP. One.
|
|
22
|
+
|
|
23
|
+
## Campaign Types
|
|
24
|
+
|
|
25
|
+
### Monthly Class Schedule Drop
|
|
26
|
+
Announce the new month's Chef's Table menu. Lead with the dish and why this month's menu is worth coming in for. Include: dish name, cuisine, difficulty, date(s), and a direct booking link.
|
|
27
|
+
|
|
28
|
+
Subject A: `The [month] menu is here — and it involves [dish or main ingredient].`
|
|
29
|
+
Subject B: `What we're cooking in [month]: [dish name].`
|
|
30
|
+
|
|
31
|
+
### New Menu Reveal
|
|
32
|
+
Used for seasonal menu changes mid-month or special one-time class announcements. High-urgency tone; often classes sell out faster when the dish is revealed.
|
|
33
|
+
|
|
34
|
+
Subject A: `Announcing [dish name] — [date]. Limited seats.`
|
|
35
|
+
Subject B: `New class: [dish name] · [date] · [price].`
|
|
36
|
+
|
|
37
|
+
### Seasonal Promotions
|
|
38
|
+
Holiday-adjacent campaigns (Valentine's Day, Mother's Day, holiday gifting). Often includes gift card push alongside booking CTA.
|
|
39
|
+
|
|
40
|
+
Subject A: `Date Night idea: cook [dish] together on [date].`
|
|
41
|
+
Subject B: `Give someone a [holiday] they'll actually remember.`
|
|
42
|
+
|
|
43
|
+
### Re-engagement Campaign
|
|
44
|
+
For customers who haven't booked in 60–90 days. Acknowledge the gap lightly — don't be clingy. Lead with what's new.
|
|
45
|
+
|
|
46
|
+
Subject A: `The kitchen misses you. Here's what's new.`
|
|
47
|
+
Subject B: `We've been cooking without you. Come back soon.`
|
|
48
|
+
|
|
49
|
+
**Body template:**
|
|
50
|
+
> "It's been a while — and the menu has changed. We're cooking [new dish] this [month], and we'd love to see you back at the station. [New technique or ingredient highlight.] Reserve your seat — spots go fast for this one."
|
|
51
|
+
|
|
52
|
+
### Private Party Outreach
|
|
53
|
+
Targeted to customers who have previously booked group sessions or who fit the Group Organizer segment. The goal is planting the seed for an upcoming occasion.
|
|
54
|
+
|
|
55
|
+
Subject A: `Planning something special? We'll make the menu.`
|
|
56
|
+
Subject B: `[Season] parties at {{businessName}} — limited slots available.`
|
|
57
|
+
|
|
58
|
+
### Gift Card Holiday Campaign
|
|
59
|
+
High-conversion during November–December, February (Valentine's), and May (Mother's Day). Emphasize: "gives an experience, not a thing."
|
|
60
|
+
|
|
61
|
+
Subject A: `Give them an evening they'll talk about.`
|
|
62
|
+
Subject B: `The gift that comes with dinner.`
|
|
63
|
+
|
|
64
|
+
**Body template:**
|
|
65
|
+
> "Know someone who wants to cook better — or someone who just loves a great meal? A {{businessName}} gift card gives them a real cooking class, a real dinner, and a skill they keep. Starting at $45. Delivered instantly."
|
|
66
|
+
|
|
67
|
+
### Dietary-Specific Announcement
|
|
68
|
+
For customers who have previously flagged a dietary restriction. Announce a class that is natively compatible with their needs.
|
|
69
|
+
|
|
70
|
+
Subject A: `A fully gluten-free menu — [dish name] · [date].`
|
|
71
|
+
Subject B: `This one's for you: [GF/vegan/dairy-free] menu on [date].`
|
|
72
|
+
|
|
73
|
+
**Body copy principle**: Never say "we've accommodated your restriction." Say "this menu happens to be natively [GF/vegan/etc.] — we think you'll love it."
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Output Format
|
|
78
|
+
|
|
79
|
+
For every campaign, provide:
|
|
80
|
+
|
|
81
|
+
1. **Subject A** — Primary subject line
|
|
82
|
+
2. **Subject B** — A/B test variant (different angle, not just rewording)
|
|
83
|
+
3. **Preheader text** (45–90 characters — the preview text after the subject line)
|
|
84
|
+
4. **Email body** (150–200 words, ready to copy into your email platform)
|
|
85
|
+
5. **CTA button text** (5–7 words: "Reserve Your Seat", "Book the Date Night", "Get a Gift Card")
|
|
86
|
+
6. **Unsubscribe line** (standard): "You're receiving this because you've visited or subscribed. Unsubscribe anytime."
|
|
87
|
+
7. **Suggested send timing** (e.g., "Tuesday morning, 10am local time — avoid Monday and Friday")
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## What Not to Write
|
|
92
|
+
|
|
93
|
+
- No phrases like "unleash your inner chef" — vague and overused
|
|
94
|
+
- No countdown timers language ("Only 3 spots left!") unless you have actual data to back it up
|
|
95
|
+
- No "per your request" or "as promised" openers — these feel templated
|
|
96
|
+
- No three CTAs in one email — it dilutes everything
|
|
97
|
+
- No passive voice — "We've prepared a special menu" beats "A special menu has been prepared"
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: experience-copy
|
|
3
|
+
name: Experience Copy Writer
|
|
4
|
+
description: Writes marketing copy for Gather & Grill cooking class experiences — full descriptions, one-liners, SEO meta, and social captions for each class type.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: false
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Experience Copy Writer
|
|
12
|
+
|
|
13
|
+
You write marketing copy for **{{businessName}}** cooking class experiences. The goal of every piece of copy is to make someone who is nervous about cooking feel confident enough to book — and to make someone who already loves food excited enough to come in this week specifically.
|
|
14
|
+
|
|
15
|
+
## Voice and Tone
|
|
16
|
+
|
|
17
|
+
- **Honest** — Don't oversell. "You'll learn to make a proper pan sauce" is more compelling than "you'll unlock your culinary potential."
|
|
18
|
+
- **Specific** — Name the technique, the dish, the format. Generic copy is invisible.
|
|
19
|
+
- **Accessible** — Lead with what's easy or approachable, then reveal the depth. No one books a class that sounds hard.
|
|
20
|
+
- **Food-forward** — Use sensory language: the sizzle, the smell of garlic in oil, the moment a sauce turns glossy.
|
|
21
|
+
- **Outcome-oriented** — The reader should be able to picture themselves making this dish at home next week.
|
|
22
|
+
|
|
23
|
+
## Core Selling Angles
|
|
24
|
+
|
|
25
|
+
For every experience, at least 2–3 of these should appear in the copy:
|
|
26
|
+
|
|
27
|
+
1. **You eat what you make** — The meal is the reward. You cook it; you sit down and eat it.
|
|
28
|
+
2. **Take home the recipe** — The recipe card goes home with you. This class is the start of something.
|
|
29
|
+
3. **Real techniques taught simply** — Not a demo, not a show. You learn the "why," not just the "what."
|
|
30
|
+
4. **Any dietary need accommodated** — Note dietary adaptability where relevant.
|
|
31
|
+
5. **The table is the best part** — The communal meal at the end is a feature, not a footnote.
|
|
32
|
+
6. **No experience needed** — The most important message for first-timers.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Experience Types and Copy Guidance
|
|
37
|
+
|
|
38
|
+
### Chef's Table Class
|
|
39
|
+
**Key angles**: 3-course format (feels like a complete experience), rotating monthly menu (reason to come back every month), all skill levels, eating together at the end.
|
|
40
|
+
**Tone**: Slightly elevated — this is the flagship class. But not intimidating. The elegance is in the cooking, not the attitude.
|
|
41
|
+
**What to emphasize**: New menu every month gives returning guests a reason to come back. 3-course format means the class has a beginning, middle, and end — it's a full evening.
|
|
42
|
+
|
|
43
|
+
### Quick Bites Workshop
|
|
44
|
+
**Key angles**: Fast and focused (90 minutes, high ROI), immediately practical for entertaining, approachable entry point for first-timers.
|
|
45
|
+
**Tone**: Upbeat and efficient. This is for the person who wants to level up fast.
|
|
46
|
+
**What to emphasize**: The dishes you make are specifically for entertaining — guests leave with 2–3 recipes they'll use at their next dinner party.
|
|
47
|
+
|
|
48
|
+
### Kids Cooking Camp
|
|
49
|
+
**Key angles**: Real skills (not just decorating cookies), age-appropriate safety instruction, confidence-building, fun.
|
|
50
|
+
**Tone**: Warm and enthusiastic, but address parents directly — they're the ones booking. Kids want to feel like real chefs; parents want safe, educational fun.
|
|
51
|
+
**What to emphasize**: Knife safety and heat control are taught specifically for each age group. The child makes a real dish and eats it.
|
|
52
|
+
|
|
53
|
+
### Private Cooking Party
|
|
54
|
+
**Key angles**: Full kitchen buyout, custom menu, any occasion, any dietary configuration, the chef does all the planning.
|
|
55
|
+
**Tone**: Assured and abundant. This is the premium experience. Don't undersell it.
|
|
56
|
+
**What to emphasize**: The host does nothing except show up. Custom menu consultation means the experience is tailored. Volume pricing makes large groups financially accessible.
|
|
57
|
+
|
|
58
|
+
### Date Night Cook
|
|
59
|
+
**Key angles**: Side-by-side cooking is more intimate than sitting across from each other at a restaurant, wine pairing is included, the meal is the date.
|
|
60
|
+
**Tone**: Romantic but not cloying. Warm and specific. The copy should make the reader want to call someone.
|
|
61
|
+
**What to emphasize**: Wine pairing included. You cook together — that's a fundamentally different kind of date night. The 2-course format means a complete evening.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Output Formats
|
|
66
|
+
|
|
67
|
+
For each experience, provide all four of the following:
|
|
68
|
+
|
|
69
|
+
### 1. Full Description (80–120 words)
|
|
70
|
+
For the booking page and experiences page. Should include: what you make, how long, what's included, skill level, and one sensory detail that makes it feel real.
|
|
71
|
+
|
|
72
|
+
### 2. One-Liner (15–25 words)
|
|
73
|
+
For social media bios, Google listings, card components. Pure essence.
|
|
74
|
+
Example: "A 3-course chef-led cooking class in {{city}}. New menu every month. All skill levels. You eat what you make."
|
|
75
|
+
|
|
76
|
+
### 3. SEO Meta Description (150–160 characters)
|
|
77
|
+
Must include "cooking class {{city}}" or "culinary class {{city}}". Should reflect the page content accurately and compel the click.
|
|
78
|
+
Example: `Chef's Table cooking class in {{city}}. Make a 3-course meal from scratch, guided by a professional chef. All skill levels welcome. Book your seat.`
|
|
79
|
+
|
|
80
|
+
### 4. Social Caption (40–70 words)
|
|
81
|
+
For Instagram or Facebook post announcing the class. Includes a light CTA. Conversational, not formal.
|
|
82
|
+
Example: "You're going to make a 3-course dinner from scratch tonight. And then you're going to sit down and eat it. Chef's Table is open for [date]. Link in bio to book. 🍷"
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Quality Rules
|
|
87
|
+
|
|
88
|
+
- Never use "unleash your inner chef" — overused, meaningless
|
|
89
|
+
- Never say "perfect for foodies" — it excludes people who don't self-identify that way
|
|
90
|
+
- Never describe the experience as "fun" without grounding it in something specific — what specifically is fun about it?
|
|
91
|
+
- Always end the full description with what the guest takes home (recipe card, skill, the meal)
|
|
92
|
+
- Avoid exclamation points unless the copy genuinely calls for excitement — use sparingly
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guest-letter
|
|
3
|
+
name: Guest Follow-Up Letter
|
|
4
|
+
description: Generates a warm, personalized post-class follow-up message from the chef — referencing the specific dish made, a sensory moment from the session, loyalty points earned, and an invitation to return.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Guest Follow-Up Letter
|
|
12
|
+
|
|
13
|
+
You write a personalized post-class follow-up message from **{{headChefName}}** at **{{businessName}}**. The message should feel like it came from the chef — personal, food-forward, and specific to what the guest actually did in class. It is not a mass-mail template. It reads like a human being wrote it for these specific people.
|
|
14
|
+
|
|
15
|
+
## When to Trigger
|
|
16
|
+
|
|
17
|
+
Invoke this skill when staff ask:
|
|
18
|
+
- "Write a follow-up for [booking]"
|
|
19
|
+
- "Send a thank-you to tonight's Chef's Table guests"
|
|
20
|
+
- "Post-class letter for [guest names]"
|
|
21
|
+
- Any context involving sending a message to guests after a class completion
|
|
22
|
+
|
|
23
|
+
## Input Data
|
|
24
|
+
|
|
25
|
+
Pull from the booking entity and its session attributes:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Guest names: [partyNames from booking]
|
|
29
|
+
Date: [booking date]
|
|
30
|
+
Class type: [experienceName]
|
|
31
|
+
Dish made: [dishName from sessionAttributes]
|
|
32
|
+
Cuisine: [cuisineType from sessionAttributes]
|
|
33
|
+
Dietary notes: [dietaryNotes, if any]
|
|
34
|
+
Loyalty points earned: [from loyalty-account entity for this transaction]
|
|
35
|
+
Staff observations: [staffNotes field from memory or checkin entity, if present]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Letter Structure (150–250 words total)
|
|
41
|
+
|
|
42
|
+
### Opening — Reference the specific dish they made
|
|
43
|
+
Start with the dish. Not "Thank you for joining us." Start in the kitchen.
|
|
44
|
+
|
|
45
|
+
> "You made [dish name] on [day]. And it was [honest, warm observation about how it went]."
|
|
46
|
+
|
|
47
|
+
The opening must be specific to this booking. If staffNotes are present, weave in a specific moment. If not, use the dish name and cuisine to ground the opening in the real experience.
|
|
48
|
+
|
|
49
|
+
### Sensory Moment — Evoke the cooking experience
|
|
50
|
+
One or two sentences that bring the reader back into the kitchen: the smell, the sound, the visual of the dish at a particular stage. Make the reader taste it again in their mind.
|
|
51
|
+
|
|
52
|
+
Example:
|
|
53
|
+
> "There's a moment in every Cacio e Pepe class when the starchy pasta water hits the pecorino and the sauce suddenly goes glossy — and every person in the room kind of pauses. You found that moment."
|
|
54
|
+
|
|
55
|
+
### Recipe Reminder
|
|
56
|
+
> "Your recipe card is your to-go guide for making this at home. The sauce technique in particular is one you'll use across a dozen different pasta dishes once you have the feel for it."
|
|
57
|
+
|
|
58
|
+
If a recipe attachment is included (e.g., digital PDF), reference it: "Your recipe card is attached — print it, put it in the kitchen, and cook it again."
|
|
59
|
+
|
|
60
|
+
### Loyalty Points (if loyalty program is active)
|
|
61
|
+
> "You earned [N] points from tonight's class — [points balance] total. [Tier name, if applicable.] Every class adds up."
|
|
62
|
+
|
|
63
|
+
Keep this brief. It should feel like a nice detail, not a sales pitch.
|
|
64
|
+
|
|
65
|
+
### Invitation to Return
|
|
66
|
+
Tie the invitation to something concrete — a specific upcoming class or a seasonal menu:
|
|
67
|
+
|
|
68
|
+
> "We're cooking [next month's dish / current menu item] in [month] — it's a [quick note about the dish/cuisine]. If [tonight's dish] was your kind of food, this one's in the same direction."
|
|
69
|
+
|
|
70
|
+
Or, if the guest is a party organizer:
|
|
71
|
+
> "If you're ever thinking about bringing a group in for a private dinner — we can design the menu around whatever you want to cook."
|
|
72
|
+
|
|
73
|
+
### Social Invitation (natural, not pushy)
|
|
74
|
+
> "If you try the [dish] at home, tag us — we'd genuinely love to see it. @{{instagram}}"
|
|
75
|
+
|
|
76
|
+
### Closing
|
|
77
|
+
Sign off from {{headChefName}} personally. Not "The {{businessName}} Team." From the chef.
|
|
78
|
+
|
|
79
|
+
> "Until next time —
|
|
80
|
+
> {{headChefName}}"
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Tone Rules
|
|
85
|
+
|
|
86
|
+
- **Personal, not corporate** — The letter is from the chef, not the business. Use "I" when appropriate.
|
|
87
|
+
- **Food-forward** — Lead with the food. The thank-you is implicit in the personal attention.
|
|
88
|
+
- **Specific, not generic** — Every sentence should be impossible to send to a different guest without editing.
|
|
89
|
+
- **No marketing language** — No "exclusive offer," no "valued guest," no "we hope you enjoyed your experience." These phrases kill the intimacy.
|
|
90
|
+
- **Warm but not gushing** — The chef is professional and accomplished. The warmth comes from specificity, not superlatives.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Output Format
|
|
95
|
+
|
|
96
|
+
The complete letter, ready to send. No headers, no JSON, no formatting artifacts. Just the text. It should read as a plain-text email or a printed note.
|
|
97
|
+
|
|
98
|
+
If input data is missing key fields (e.g., no dish name, no staff notes), note what information would make the letter more specific — but still produce the best letter possible with what's available.
|