@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,260 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: venue-data-model
|
|
3
|
+
name: Venue Data Model
|
|
4
|
+
description: Background skill teaching the AI assistant the complete Venue platform data architecture — entity types, relationships, and the full Brainy API including aggregates, neural clustering, streaming, and counts. Includes Paws & Pour-specific notes on the Organism entity type for animal profiles.
|
|
5
|
+
type: background
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: false
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Venue Data Model
|
|
12
|
+
|
|
13
|
+
You are operating on the Venue platform, built on **@soulcraft/brainy** — a graph database with vector search, neural clustering, and aggregate query capabilities. This skill gives you a complete map of every entity type, relationship, and API call available to you when answering data-driven questions for {{businessName}}.
|
|
14
|
+
|
|
15
|
+
## Entity Types
|
|
16
|
+
|
|
17
|
+
Every entity has a `type` (NounType) and a `metadata.entityType` string that further classifies it within that type. Always filter by both when querying.
|
|
18
|
+
|
|
19
|
+
| NounType | `metadata.entityType` | Purpose | Key Metadata Fields |
|
|
20
|
+
|---|---|---|---|
|
|
21
|
+
| Location | `location` | Franchise location record | `address`, `hours`, `timezone`, `stripeAccountId`, `locationId` |
|
|
22
|
+
| Product | `experience` | Bookable experience / ticket type | `slug`, `name`, `priceInCents`, `durationMinutes`, `minGuests`, `maxGuests`, `locationId` |
|
|
23
|
+
| Event | `booking` | Guest reservation | `status` (pending/confirmed/completed/cancelled), `experienceSlug`, `guestCount`, `totalInCents`, `locationId`, `date`, `bookingNumber`, `checkedIn` |
|
|
24
|
+
| Event | `time-slot` | Capacity block on the schedule | `date`, `hour`, `experienceSlug`, `capacity`, `reservedCount`, `locationId` |
|
|
25
|
+
| Event | `audit-event` | Append-only action log | `action`, `actorId`, `actorName`, `entityId`, `entityType`, `locationId` |
|
|
26
|
+
| Event | `experience-memory` | Shareable visit storybook page | `bookingId`, `token` (public URL slug), `published`, `locationId` |
|
|
27
|
+
| Person | `customer` | Guest profile | `email`, `displayName`, `totalBookings`, `totalSpentInCents`, `loyaltyTier`, `locationId` |
|
|
28
|
+
| Person | `staff` | Employee record | `email`, `role`, `permissions`, `locationId` |
|
|
29
|
+
| Person | `loyalty-account` | Points balance and tier | `customerId`, `pointsBalance`, `tier` (bronze/silver/gold/platinum), `locationId` |
|
|
30
|
+
| Document | `waiver` | Signed digital waiver | `bookingId`, `signerName`, `signedAt`, `locationId` |
|
|
31
|
+
| Document | `content-page` | CMS-managed website section | `pageSlug`, `section`, `locationId` |
|
|
32
|
+
| Document | `blog-post` | Blog article | `slug`, `title`, `status` (draft/published), `tags`, `authorId`, `locationId` |
|
|
33
|
+
| Document | `adoption-application` | Animal adoption form | `animalId`, `applicantEmail`, `status`, `locationId` |
|
|
34
|
+
| Thing | `inventory-item` | Stock item with quantity tracking | `name`, `category`, `quantity`, `reorderThreshold`, `costInCents`, `locationId` |
|
|
35
|
+
| Thing | `gift-card` | Digital or physical gift card | `code`, `balanceInCents`, `originalAmountInCents`, `redeemedAt`, `locationId` |
|
|
36
|
+
| Measurement | `transaction` | Revenue, expense, or refund record | `type` (revenue/expense/refund), `amountInCents`, `experienceSlug`, `category`, `date`, `stripeId`, `locationId` |
|
|
37
|
+
| Measurement | `loyalty-transaction` | Points earned, redeemed, or expired | `customerId`, `points`, `reason` (earned/redeemed/expired), `locationId` |
|
|
38
|
+
| Organism | `animal` | Rescue animal profile | `name`, `species` (cat/dog), `age`, `breed`, `personalities`, `adoptionStatus` (available/pending/adopted), `interactionCount`, `locationId` |
|
|
39
|
+
|
|
40
|
+
### Animal Entity Notes
|
|
41
|
+
|
|
42
|
+
At {{businessName}}, the `Organism` entity type is used for all resident animals — both cats and dogs. The `metadata.entityType` is `'animal'` (not `'kitten'`). Always include `metadata.species` when filtering to distinguish cats from dogs.
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
// Get all available cats
|
|
46
|
+
const cats = await brain.find({
|
|
47
|
+
type: 'Organism',
|
|
48
|
+
where: [
|
|
49
|
+
{ field: 'metadata.entityType', value: 'animal' },
|
|
50
|
+
{ field: 'metadata.species', value: 'cat' },
|
|
51
|
+
{ field: 'metadata.adoptionStatus', value: 'available' },
|
|
52
|
+
{ field: 'metadata.locationId', value: LOCATION_ID }
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Get all available dogs
|
|
57
|
+
const dogs = await brain.find({
|
|
58
|
+
type: 'Organism',
|
|
59
|
+
where: [
|
|
60
|
+
{ field: 'metadata.entityType', value: 'animal' },
|
|
61
|
+
{ field: 'metadata.species', value: 'dog' },
|
|
62
|
+
{ field: 'metadata.adoptionStatus', value: 'available' },
|
|
63
|
+
{ field: 'metadata.locationId', value: LOCATION_ID }
|
|
64
|
+
]
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Relationships
|
|
69
|
+
|
|
70
|
+
Graph edges connect entities using typed verbs. Use relationships to traverse the graph without duplicating data.
|
|
71
|
+
|
|
72
|
+
| Relationship | Meaning |
|
|
73
|
+
|---|---|
|
|
74
|
+
| Location **Contains** Experience, TimeSlot, Animal, InventoryItem | What exists at a given location |
|
|
75
|
+
| Booking **ParticipatesIn** TimeSlot | Which slot a reservation occupies |
|
|
76
|
+
| Customer **Creates** Booking, Waiver, AdoptionApplication | Ownership of guest-initiated records |
|
|
77
|
+
| Booking **Contains** Experience | Line items on a reservation |
|
|
78
|
+
| Transaction **References** Booking | Revenue record linked back to a booking |
|
|
79
|
+
| Memory **References** Booking | Visit storybook linked to a booking |
|
|
80
|
+
| Staff **MemberOf** Location | Employee location assignment |
|
|
81
|
+
| AdoptionApplication **References** Animal | Which animal an application is for |
|
|
82
|
+
| LoyaltyAccount **BelongsTo** Customer | One loyalty account per customer |
|
|
83
|
+
|
|
84
|
+
## Brainy Aggregate API
|
|
85
|
+
|
|
86
|
+
Aggregates are the primary tool for financial summaries, trend analysis, and operational reporting. Define them once, then query them with filters.
|
|
87
|
+
|
|
88
|
+
### Defining and Running an Aggregate
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
// Step 1: Define a named aggregate (do this once at startup or on demand)
|
|
92
|
+
brain.defineAggregate('revenueByExperienceMonth', {
|
|
93
|
+
source: {
|
|
94
|
+
type: 'Measurement',
|
|
95
|
+
where: [
|
|
96
|
+
{ field: 'metadata.entityType', value: 'transaction' },
|
|
97
|
+
{ field: 'metadata.type', value: 'revenue' }
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
groupBy: [
|
|
101
|
+
{ field: 'metadata.experienceSlug' },
|
|
102
|
+
{ field: 'metadata.date', window: 'month' }
|
|
103
|
+
],
|
|
104
|
+
metrics: {
|
|
105
|
+
totalRevenue: { op: 'SUM', field: 'metadata.amountInCents' },
|
|
106
|
+
bookingCount: { op: 'COUNT' },
|
|
107
|
+
avgTicket: { op: 'AVG', field: 'metadata.amountInCents' },
|
|
108
|
+
maxTicket: { op: 'MAX', field: 'metadata.amountInCents' },
|
|
109
|
+
minTicket: { op: 'MIN', field: 'metadata.amountInCents' },
|
|
110
|
+
revenueStdDev: { op: 'STDDEV', field: 'metadata.amountInCents' },
|
|
111
|
+
revenueVariance: { op: 'VARIANCE', field: 'metadata.amountInCents' }
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// Step 2: Execute with runtime filters, ordering, and limits
|
|
116
|
+
const results = await brain.find({
|
|
117
|
+
aggregate: 'revenueByExperienceMonth',
|
|
118
|
+
where: [{ field: 'metadata.locationId', value: 'loc-abc123' }],
|
|
119
|
+
orderBy: 'totalRevenue',
|
|
120
|
+
order: 'desc',
|
|
121
|
+
limit: 100
|
|
122
|
+
});
|
|
123
|
+
// Returns: Array<{ groupKey: string, metrics: Record<string, number>, count: number }>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Supported Aggregation Operations
|
|
127
|
+
|
|
128
|
+
| `op` value | Meaning |
|
|
129
|
+
|---|---|
|
|
130
|
+
| `SUM` | Sum all values in the group |
|
|
131
|
+
| `COUNT` | Count records in the group |
|
|
132
|
+
| `AVG` | Arithmetic mean of values |
|
|
133
|
+
| `MIN` | Minimum value in the group |
|
|
134
|
+
| `MAX` | Maximum value in the group |
|
|
135
|
+
| `STDDEV` | Population standard deviation |
|
|
136
|
+
| `VARIANCE` | Population variance |
|
|
137
|
+
|
|
138
|
+
### Supported Time Windows (for `groupBy` with `window`)
|
|
139
|
+
|
|
140
|
+
`hour` | `day` | `week` | `month` | `quarter` | `year`
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Counts API
|
|
145
|
+
|
|
146
|
+
O(1) fast counts without loading entities into memory. Use for dashboards and health checks.
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
// Count by NounType — always O(1)
|
|
150
|
+
const totals = await brain.counts.byType();
|
|
151
|
+
// → { Event: 450, Person: 210, Measurement: 890, Thing: 340, Document: 120, Organism: 12, Location: 2 }
|
|
152
|
+
|
|
153
|
+
// Count with filter criteria
|
|
154
|
+
const todayBookings = await brain.counts.byCriteria({
|
|
155
|
+
type: 'Event',
|
|
156
|
+
criteria: [
|
|
157
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
158
|
+
{ field: 'metadata.date', value: '2026-02-19' },
|
|
159
|
+
{ field: 'metadata.status', value: 'confirmed' }
|
|
160
|
+
]
|
|
161
|
+
});
|
|
162
|
+
// → { total: 8 }
|
|
163
|
+
|
|
164
|
+
// Full graph statistics
|
|
165
|
+
const stats = await brain.getStats();
|
|
166
|
+
// → { entities: 980, relationships: 2100, density: 0.38, byType: { ... } }
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Neural API
|
|
172
|
+
|
|
173
|
+
Machine-learning operations on the graph. Use for segmentation, anomaly detection, and similarity search.
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
// Cluster customers into behavioral segments
|
|
177
|
+
const segments = await brain.neural().clusters({
|
|
178
|
+
numClusters: 5,
|
|
179
|
+
entityType: 'Person',
|
|
180
|
+
where: [{ field: 'metadata.entityType', value: 'customer' }]
|
|
181
|
+
});
|
|
182
|
+
// → Array<{ label: string, members: Entity[], centroid: number[] }>
|
|
183
|
+
|
|
184
|
+
// Detect anomalous entities (outliers and VIPs)
|
|
185
|
+
const outliers = await brain.neural().outliers({
|
|
186
|
+
threshold: 2.5, // z-score cutoff — higher = fewer results
|
|
187
|
+
method: 'zscore', // 'zscore' | 'iqr' | 'isolation'
|
|
188
|
+
entityType: 'Measurement',
|
|
189
|
+
minNeighbors: 3
|
|
190
|
+
});
|
|
191
|
+
// → Array<{ entity: Entity, reason: string, score: number }>
|
|
192
|
+
|
|
193
|
+
// Find semantically similar entities via vector embedding
|
|
194
|
+
const similar = await brain.neural().similar('entity-id-123', { limit: 10 });
|
|
195
|
+
// → Array<{ entity: Entity, similarity: number }>
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Streaming API
|
|
201
|
+
|
|
202
|
+
Process large result sets without loading everything into memory. Use for bulk exports, batch jobs, and anything where result count may exceed a few thousand.
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
// Stream entities by type with optional filter
|
|
206
|
+
for await (const booking of brain.streaming.entities({
|
|
207
|
+
type: 'Event',
|
|
208
|
+
where: [{ field: 'metadata.entityType', value: 'booking' }]
|
|
209
|
+
})) {
|
|
210
|
+
// process one booking at a time — no memory accumulation
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Stream vector search results
|
|
214
|
+
for await (const result of brain.streaming.search('friendly with kids looking for a quiet home', {
|
|
215
|
+
type: 'Organism',
|
|
216
|
+
limit: 50
|
|
217
|
+
})) {
|
|
218
|
+
// result.entity, result.score
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Export API
|
|
225
|
+
|
|
226
|
+
Generate tabular exports from any entity type for spreadsheets, finance tools, or OData consumers.
|
|
227
|
+
|
|
228
|
+
```typescript
|
|
229
|
+
import { TabularExporter } from '@soulcraft/brainy';
|
|
230
|
+
|
|
231
|
+
const exporter = new TabularExporter(brain);
|
|
232
|
+
|
|
233
|
+
// CSV export
|
|
234
|
+
const { data, rowCount } = await exporter.exportCsv({ type: 'Measurement' });
|
|
235
|
+
|
|
236
|
+
// OData export (for Power BI, Excel, etc.)
|
|
237
|
+
const odata = await exporter.exportOData({ type: 'Measurement' });
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Critical Rules
|
|
243
|
+
|
|
244
|
+
These rules govern every query you run on this platform. Violating them produces wrong or corrupt data.
|
|
245
|
+
|
|
246
|
+
1. **All monetary amounts are stored as integers in cents.** Always divide by 100 for display. `$18.00 = 1800`. Never store or compute floats.
|
|
247
|
+
|
|
248
|
+
2. **Always filter by `metadata.locationId`** when producing per-location reports. The database is shared across all franchise locations.
|
|
249
|
+
|
|
250
|
+
3. **Always include `metadata.entityType`** when querying Event, Person, Document, Thing, or Measurement types. Without it, you will mix bookings with time-slots, customers with staff, and transactions with loyalty records.
|
|
251
|
+
|
|
252
|
+
4. **For animals, always include `metadata.species`** when the query is species-specific. Dogs and cats use the same `entityType: 'animal'` and the same `Organism` NounType — species is the distinguishing field.
|
|
253
|
+
|
|
254
|
+
5. **Audit events are append-only.** Never update or delete a record with `metadata.entityType === 'audit-event'`.
|
|
255
|
+
|
|
256
|
+
6. **Stripe is the source of truth for payments.** `metadata.stripeId` links to Stripe; Brainy stores reference IDs only. Do not compute refunds or charges from Brainy data alone.
|
|
257
|
+
|
|
258
|
+
7. **Do not write files directly to `brainy-data/`.** All mutations must go through the Brainy API (`brain.add()`, `brain.update()`, `brain.relate()`). Direct filesystem writes bypass indexes and cause corruption.
|
|
259
|
+
|
|
260
|
+
8. **The Adoption Meet & Greet experience has `priceInCents: 0`.** When computing revenue, exclude `metadata.experienceSlug === 'adoption-meet-greet'` from revenue totals — it is a lead generation experience, not a revenue line.
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://soulcraft.com/schemas/kit/v2.json",
|
|
3
|
+
"id": "persona-driven-strategy",
|
|
4
|
+
"type": "soulcraft",
|
|
5
|
+
"role": "primary",
|
|
6
|
+
"status": "released",
|
|
7
|
+
"name": "Persona-Driven Strategy Suite",
|
|
8
|
+
"description": "Complete strategic planning with personas at the center - product, marketing, GTM, and sales plans all connected",
|
|
9
|
+
"longDescription": "A comprehensive strategy system that puts customer personas at the heart of all planning. Create detailed personas using Jobs-to-be-Done and empathy mapping, then connect them to product features, marketing campaigns, go-to-market strategy, and sales playbooks. The knowledge graph reveals how each persona flows through your entire strategy.",
|
|
10
|
+
"version": "1.0.0",
|
|
11
|
+
"author": {
|
|
12
|
+
"name": "Soulcraft Labs",
|
|
13
|
+
"email": "kits@soulcraft.com",
|
|
14
|
+
"url": "https://soulcraft.com"
|
|
15
|
+
},
|
|
16
|
+
"icon": "🎯",
|
|
17
|
+
"tags": [
|
|
18
|
+
"personas",
|
|
19
|
+
"strategy",
|
|
20
|
+
"gtm",
|
|
21
|
+
"product",
|
|
22
|
+
"marketing",
|
|
23
|
+
"sales",
|
|
24
|
+
"planning"
|
|
25
|
+
],
|
|
26
|
+
"variables": [
|
|
27
|
+
{
|
|
28
|
+
"key": "productName",
|
|
29
|
+
"label": "Product/Company Name",
|
|
30
|
+
"description": "The name of your product or company",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"required": true,
|
|
33
|
+
"example": "Acme Analytics"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"key": "author",
|
|
37
|
+
"label": "Strategy Owner",
|
|
38
|
+
"description": "The person leading this strategy",
|
|
39
|
+
"type": "string",
|
|
40
|
+
"required": false,
|
|
41
|
+
"example": "Your Name"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"key": "market",
|
|
45
|
+
"label": "Target Market",
|
|
46
|
+
"description": "The primary market you are targeting",
|
|
47
|
+
"type": "string",
|
|
48
|
+
"required": false,
|
|
49
|
+
"example": "B2B SaaS",
|
|
50
|
+
"default": ""
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"key": "launchDate",
|
|
54
|
+
"label": "Target Launch",
|
|
55
|
+
"description": "Planned launch or go-to-market date",
|
|
56
|
+
"type": "string",
|
|
57
|
+
"required": false,
|
|
58
|
+
"example": "Q2 2025",
|
|
59
|
+
"default": ""
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"shared": {
|
|
63
|
+
"industry": "business-strategy",
|
|
64
|
+
"category": "business",
|
|
65
|
+
"aiExpertise": [
|
|
66
|
+
"User persona development",
|
|
67
|
+
"Jobs-to-be-done framework",
|
|
68
|
+
"Customer journey mapping",
|
|
69
|
+
"Go-to-market strategy",
|
|
70
|
+
"Sales playbook design",
|
|
71
|
+
"Market segmentation"
|
|
72
|
+
],
|
|
73
|
+
"dataModelHints": [
|
|
74
|
+
"person",
|
|
75
|
+
"concept",
|
|
76
|
+
"socialGroup",
|
|
77
|
+
"document"
|
|
78
|
+
],
|
|
79
|
+
"dataModel": {
|
|
80
|
+
"entities": [
|
|
81
|
+
{
|
|
82
|
+
"domain": "persona",
|
|
83
|
+
"type": "Person",
|
|
84
|
+
"description": "A detailed customer persona with demographics, goals, and pain points",
|
|
85
|
+
"products": {
|
|
86
|
+
"workshop": {
|
|
87
|
+
"view": "gallery",
|
|
88
|
+
"icon": "🎯"
|
|
89
|
+
},
|
|
90
|
+
"academy": {
|
|
91
|
+
"mapsTo": "learning-subject",
|
|
92
|
+
"assessable": false
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"domain": "need",
|
|
98
|
+
"type": "Concept",
|
|
99
|
+
"description": "A functional or emotional need a persona has",
|
|
100
|
+
"products": {
|
|
101
|
+
"workshop": {
|
|
102
|
+
"view": "graph",
|
|
103
|
+
"icon": "💬"
|
|
104
|
+
},
|
|
105
|
+
"academy": {
|
|
106
|
+
"mapsTo": "knowledge-unit",
|
|
107
|
+
"assessable": true
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"domain": "goal",
|
|
113
|
+
"type": "Concept",
|
|
114
|
+
"description": "A desired outcome or job-to-be-done for a persona",
|
|
115
|
+
"products": {
|
|
116
|
+
"workshop": {
|
|
117
|
+
"view": "graph",
|
|
118
|
+
"icon": "🏆"
|
|
119
|
+
},
|
|
120
|
+
"academy": {
|
|
121
|
+
"mapsTo": "knowledge-unit",
|
|
122
|
+
"assessable": true
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"domain": "painPoint",
|
|
128
|
+
"type": "Concept",
|
|
129
|
+
"description": "A frustration or blocker standing between a persona and their goal",
|
|
130
|
+
"products": {
|
|
131
|
+
"workshop": {
|
|
132
|
+
"view": "board",
|
|
133
|
+
"icon": "😤"
|
|
134
|
+
},
|
|
135
|
+
"academy": {
|
|
136
|
+
"mapsTo": "knowledge-unit",
|
|
137
|
+
"assessable": true
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"domain": "journeyStep",
|
|
143
|
+
"type": "Concept",
|
|
144
|
+
"description": "A stage in the customer journey for a persona",
|
|
145
|
+
"products": {
|
|
146
|
+
"workshop": {
|
|
147
|
+
"view": "timeline",
|
|
148
|
+
"icon": "🗺️"
|
|
149
|
+
},
|
|
150
|
+
"academy": {
|
|
151
|
+
"mapsTo": "knowledge-unit",
|
|
152
|
+
"assessable": true
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"domain": "segment",
|
|
158
|
+
"type": "Concept",
|
|
159
|
+
"description": "A market segment or audience group containing personas",
|
|
160
|
+
"products": {
|
|
161
|
+
"workshop": {
|
|
162
|
+
"view": "graph",
|
|
163
|
+
"icon": "👥"
|
|
164
|
+
},
|
|
165
|
+
"academy": {
|
|
166
|
+
"mapsTo": "knowledge-unit",
|
|
167
|
+
"assessable": false
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"relationships": [
|
|
173
|
+
{
|
|
174
|
+
"from": "persona",
|
|
175
|
+
"to": "goal",
|
|
176
|
+
"verb": "Desires",
|
|
177
|
+
"description": "Persona wants to achieve this goal"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"from": "persona",
|
|
181
|
+
"to": "painPoint",
|
|
182
|
+
"verb": "Fears",
|
|
183
|
+
"description": "Persona is frustrated by this pain point"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"from": "persona",
|
|
187
|
+
"to": "segment",
|
|
188
|
+
"verb": "MemberOf",
|
|
189
|
+
"description": "Persona belongs to this market segment"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"from": "journeyStep",
|
|
193
|
+
"to": "journeyStep",
|
|
194
|
+
"verb": "Precedes",
|
|
195
|
+
"description": "Customer journey step ordering"
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
"suggestions": [
|
|
200
|
+
{
|
|
201
|
+
"label": "Create a persona",
|
|
202
|
+
"prompt": "Help me create a new user persona with demographics and behaviors"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"label": "Map user journey",
|
|
206
|
+
"prompt": "Help me map out a user journey for one of my personas"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"label": "Identify pain points",
|
|
210
|
+
"prompt": "Help me identify and document pain points for my personas"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"label": "Align strategy",
|
|
214
|
+
"prompt": "Help me align my product strategy with persona needs"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"label": "Compare personas",
|
|
218
|
+
"prompt": "Compare my personas and highlight key differences"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"label": "View persona map",
|
|
222
|
+
"prompt": "Show me all my personas and their relationships in the graph"
|
|
223
|
+
}
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
"academy": {
|
|
227
|
+
"skillPath": "strategic-thinking",
|
|
228
|
+
"level": "intermediate",
|
|
229
|
+
"learningObjectives": [
|
|
230
|
+
"Build evidence-based customer personas using Jobs-to-be-Done and empathy mapping",
|
|
231
|
+
"Trace a persona's journey from awareness to purchase and identify friction at each stage",
|
|
232
|
+
"Connect persona pain points to specific product features with a clear value narrative",
|
|
233
|
+
"Write a go-to-market positioning statement that differentiates by persona need",
|
|
234
|
+
"Align product, marketing, and sales plans around a shared persona foundation"
|
|
235
|
+
],
|
|
236
|
+
"assessmentTypes": [
|
|
237
|
+
"portfolio",
|
|
238
|
+
"peer-review"
|
|
239
|
+
],
|
|
240
|
+
"certificationSlug": "strategic-thinker"
|
|
241
|
+
},
|
|
242
|
+
"workshop": {
|
|
243
|
+
"difficulty": "advanced",
|
|
244
|
+
"templateTier": 4,
|
|
245
|
+
"aiPersona": {
|
|
246
|
+
"role": "You are a user research and strategy consultant helping teams create evidence-based personas and customer-centric strategies that drive GTM, product, and sales alignment.",
|
|
247
|
+
"expertise": [
|
|
248
|
+
"User persona development",
|
|
249
|
+
"Jobs-to-be-done framework",
|
|
250
|
+
"Customer journey mapping",
|
|
251
|
+
"Market segmentation",
|
|
252
|
+
"Go-to-market strategy"
|
|
253
|
+
],
|
|
254
|
+
"tone": "collaborator"
|
|
255
|
+
},
|
|
256
|
+
"workspaceConfig": {
|
|
257
|
+
"paradigm": "planner",
|
|
258
|
+
"defaultTab": "explore",
|
|
259
|
+
"defaultView": "board",
|
|
260
|
+
"defaultFile": "personas/primary-persona.md",
|
|
261
|
+
"layout": {
|
|
262
|
+
"leftDock": "files",
|
|
263
|
+
"rightDock": "views"
|
|
264
|
+
},
|
|
265
|
+
"onboarding": {
|
|
266
|
+
"showGuide": true,
|
|
267
|
+
"highlightFeatures": [
|
|
268
|
+
"graph",
|
|
269
|
+
"board",
|
|
270
|
+
"ai-chat"
|
|
271
|
+
],
|
|
272
|
+
"suggestedActions": [
|
|
273
|
+
"Start by defining your key personas",
|
|
274
|
+
"Document pain points and goals",
|
|
275
|
+
"Map product features to pain points",
|
|
276
|
+
"Use Graph view to see strategy connections"
|
|
277
|
+
]
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"graphGuidance": {
|
|
281
|
+
"conceptCreation": {
|
|
282
|
+
"triggers": [
|
|
283
|
+
"When user creates a new persona",
|
|
284
|
+
"When user identifies a user need or goal",
|
|
285
|
+
"When user describes a pain point",
|
|
286
|
+
"When user maps a journey step"
|
|
287
|
+
],
|
|
288
|
+
"typeMapping": {
|
|
289
|
+
"persona": "person",
|
|
290
|
+
"need": "concept",
|
|
291
|
+
"goal": "concept",
|
|
292
|
+
"painPoint": "concept",
|
|
293
|
+
"journeyStep": "concept",
|
|
294
|
+
"segment": "socialGroup"
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"relationshipPatterns": [
|
|
298
|
+
{
|
|
299
|
+
"from": "person",
|
|
300
|
+
"to": "concept",
|
|
301
|
+
"verb": "desires",
|
|
302
|
+
"description": "Persona has goal"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"from": "person",
|
|
306
|
+
"to": "concept",
|
|
307
|
+
"verb": "fears",
|
|
308
|
+
"description": "Persona has pain point"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"from": "person",
|
|
312
|
+
"to": "socialGroup",
|
|
313
|
+
"verb": "memberOf",
|
|
314
|
+
"description": "Persona in segment"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"from": "concept",
|
|
318
|
+
"to": "concept",
|
|
319
|
+
"verb": "precedes",
|
|
320
|
+
"description": "Journey step order"
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
"rules": [
|
|
324
|
+
"Create person entities for each persona",
|
|
325
|
+
"Link personas to their goals and pain points",
|
|
326
|
+
"Track journey steps in sequence",
|
|
327
|
+
"Note which segments personas belong to"
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
"exporters": [
|
|
331
|
+
{
|
|
332
|
+
"id": "strategy-bundle",
|
|
333
|
+
"name": "Complete Strategy Package",
|
|
334
|
+
"description": "All strategy documents in organized bundle",
|
|
335
|
+
"icon": "📦",
|
|
336
|
+
"format": "zip",
|
|
337
|
+
"category": "archive",
|
|
338
|
+
"handler": "markdown-bundle",
|
|
339
|
+
"options": {
|
|
340
|
+
"includeFiles": [
|
|
341
|
+
"**/*.md"
|
|
342
|
+
],
|
|
343
|
+
"preserveStructure": true,
|
|
344
|
+
"addReadme": true
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"templateMetadata": {
|
|
349
|
+
"identifyByStructure": true
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|