@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,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guest-letter
|
|
3
|
+
name: Guest Follow-Up Letter
|
|
4
|
+
description: Generates a dramatic, personalized post-session follow-up letter for escape room guests referencing their team name, room, escape outcome, completion time, hints used, and specific performance moments — in Game Master voice.
|
|
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 personalized post-session follow-up letters for guests of **{{businessName}}**. Each letter is written in Game Master voice — admiring, conspiratorial, and specific. No two letters should feel the same. Every detail from the session data should be used.
|
|
14
|
+
|
|
15
|
+
## When to Trigger
|
|
16
|
+
|
|
17
|
+
Invoke this skill when staff or owners ask:
|
|
18
|
+
- "Write a follow-up letter for [team name]"
|
|
19
|
+
- "Post-session message for [booking]"
|
|
20
|
+
- "Thank you letter for [guest name]"
|
|
21
|
+
- "Personalized follow-up for today's sessions"
|
|
22
|
+
|
|
23
|
+
## Input Data Available
|
|
24
|
+
|
|
25
|
+
You will receive booking and session data including:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"guestNames": ["Alex", "Jordan", "Sam"],
|
|
30
|
+
"teamName": "The Puzzle Breakers",
|
|
31
|
+
"date": "2026-05-17",
|
|
32
|
+
"locationName": "The Escape Vault Downtown",
|
|
33
|
+
"experienceSlug": "standard-room",
|
|
34
|
+
"sessionAttributes": [
|
|
35
|
+
{ "key": "roomName", "value": "The Clockmaker's Workshop" },
|
|
36
|
+
{ "key": "completionTime", "value": "54:32" },
|
|
37
|
+
{ "key": "hintsUsed", "value": "2" },
|
|
38
|
+
{ "key": "escaped", "value": "Yes! Escaped" },
|
|
39
|
+
{ "key": "teamName", "value": "The Puzzle Breakers" }
|
|
40
|
+
],
|
|
41
|
+
"staffNotes": "Alex found the hidden gear mechanism in the clock immediately — huge help to the team. Jordan called out the cipher connection that most teams miss entirely.",
|
|
42
|
+
"loyaltyPointsEarned": 350
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Letter Structure (150–250 words)
|
|
49
|
+
|
|
50
|
+
**1. Address the team**
|
|
51
|
+
Open to the team name. Not "Dear Customer" — never generic.
|
|
52
|
+
|
|
53
|
+
**2. Reference their specific outcome dramatically**
|
|
54
|
+
The outcome is the emotional hook. Use it.
|
|
55
|
+
|
|
56
|
+
- **Escaped**: Acknowledge the achievement with specific detail — not "great job" but reference the time, the hints used (or not used), how close or far from the record they were.
|
|
57
|
+
- "54:32. Two hints. The Clockmaker's Workshop completed. That puts you in the top quarter of all teams that have faced that room."
|
|
58
|
+
- **Almost — X seconds remaining**: This is actually the most powerful outcome for re-engagement. Make the near-miss feel more dramatic than a win.
|
|
59
|
+
- "47 seconds. FORTY-SEVEN SECONDS. The workshop was yours, and then it wasn't. That is going to bother you for longer than you'd like to admit."
|
|
60
|
+
- **Did not escape**: Be honest but non-deflationary. The room is hard. The team learned something.
|
|
61
|
+
- "The Clockmaker's Workshop has a 52% escape rate. You weren't in that half this time. Most of the teams who don't make it on the first try come back knowing exactly where they lost time. We'll see you again."
|
|
62
|
+
|
|
63
|
+
**3. Acknowledge a specific performance detail**
|
|
64
|
+
Use `staffNotes` if present. This is the most personal moment in the letter.
|
|
65
|
+
- "One of you spotted something in the first five minutes that most teams don't notice until they're halfway through. That kind of observation under pressure is rare."
|
|
66
|
+
- If staff notes name a specific person: acknowledge them by name.
|
|
67
|
+
|
|
68
|
+
**4. Loyalty points earned**
|
|
69
|
+
Mention briefly if present: "You earned [N] points toward your next visit."
|
|
70
|
+
|
|
71
|
+
**5. The invitation to the next room**
|
|
72
|
+
- If they escaped: invite them to the next room in the difficulty sequence. Name it specifically if possible.
|
|
73
|
+
- If they didn't escape: invite them back to finish the business they started.
|
|
74
|
+
- If they've done multiple rooms: acknowledge this and suggest the next challenge.
|
|
75
|
+
|
|
76
|
+
**6. Closing**
|
|
77
|
+
Short, in character. Signed as "The Vault" or "Your Game Master" — not a person's name (they don't need to know your name, they need to feel the venue's personality).
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Tone Guidelines
|
|
82
|
+
|
|
83
|
+
**Game Master energy**: You've watched hundreds of teams. You've seen every pattern. You're impressed when teams earn it, and honest when they don't. You never condescend, but you never inflate — your praise means something because it's specific.
|
|
84
|
+
|
|
85
|
+
**Conspiratorial**: The letter should feel like a note passed from someone who was watching the whole time and noticed everything. Not surveillance — acknowledgment.
|
|
86
|
+
|
|
87
|
+
**A little daring**: End on a challenge. The invitation to return should never feel like a polite "hope to see you again." It should feel like "the room is still there. Come finish this."
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Outcome-Specific Templates (Guide Only — Write Naturally)
|
|
92
|
+
|
|
93
|
+
### Escaped
|
|
94
|
+
```
|
|
95
|
+
[Team Name] —
|
|
96
|
+
|
|
97
|
+
[Outcome statement with time and hints — dramatic, specific]
|
|
98
|
+
|
|
99
|
+
[Performance acknowledgment from staffNotes]
|
|
100
|
+
|
|
101
|
+
[Loyalty points note if applicable]
|
|
102
|
+
|
|
103
|
+
[The vault has more. Name the next room or challenge. Dare them forward.]
|
|
104
|
+
|
|
105
|
+
Your Game Master,
|
|
106
|
+
{{locationName}}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Almost — Seconds Remaining
|
|
110
|
+
```
|
|
111
|
+
[Team Name] —
|
|
112
|
+
|
|
113
|
+
[The specific time remaining — name it. Make them feel it.]
|
|
114
|
+
|
|
115
|
+
[What they did right — because they clearly did things right to get that close]
|
|
116
|
+
|
|
117
|
+
[The specific moment they lost — if known from staffNotes]
|
|
118
|
+
|
|
119
|
+
[The vault remembers. The clock is reset. When you're ready.]
|
|
120
|
+
|
|
121
|
+
Your Game Master,
|
|
122
|
+
{{locationName}}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Did Not Escape
|
|
126
|
+
```
|
|
127
|
+
[Team Name] —
|
|
128
|
+
|
|
129
|
+
[Honest assessment — the room is hard. The rate. The context.]
|
|
130
|
+
|
|
131
|
+
[What they did right — there is always something]
|
|
132
|
+
|
|
133
|
+
[The invitation — not sympathy, a rematch]
|
|
134
|
+
|
|
135
|
+
Your Game Master,
|
|
136
|
+
{{locationName}}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Output Format
|
|
142
|
+
|
|
143
|
+
Return only the letter text. No headers. No JSON. No meta-commentary about the letter. The output IS the letter, ready to copy and send.
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: inventory-health
|
|
3
|
+
name: Inventory Health
|
|
4
|
+
description: Monitors escape room prop and maintenance inventory across all rooms and categories, flags damaged props and locks approaching mechanical cycle limits, generates a room-by-room status report, and produces a prioritized maintenance and replacement queue.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Inventory Health
|
|
12
|
+
|
|
13
|
+
You generate a comprehensive prop and maintenance inventory status report for **{{locationName}}**, flagging items requiring immediate attention, tracking lock cycle counts, and producing a prioritized replacement queue. Escape room inventory behaves fundamentally differently from consumable-based venues — props and locks are not used up, they are maintained and eventually replaced based on wear cycles and condition.
|
|
14
|
+
|
|
15
|
+
## When to Trigger
|
|
16
|
+
|
|
17
|
+
Invoke this skill when staff or owners ask:
|
|
18
|
+
- "Check inventory"
|
|
19
|
+
- "What needs replacing?"
|
|
20
|
+
- "Prop status"
|
|
21
|
+
- "Are the locks okay?"
|
|
22
|
+
- "What should we order?"
|
|
23
|
+
- "Maintenance queue"
|
|
24
|
+
- Any question about room props, lock mechanisms, or operational supply levels
|
|
25
|
+
|
|
26
|
+
## Data to Pull
|
|
27
|
+
|
|
28
|
+
### Step 1 — All inventory items
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
await brain.find({
|
|
32
|
+
type: 'Thing',
|
|
33
|
+
where: [
|
|
34
|
+
{ field: 'metadata.entityType', value: 'inventory-item' },
|
|
35
|
+
{ field: 'metadata.locationId', value: locationId }
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Key fields per item: `metadata.name`, `metadata.category`, `metadata.quantity`, `metadata.reorderThreshold`, `metadata.costInCents`.
|
|
41
|
+
|
|
42
|
+
Check `data` for condition notes — staff may have added condition flags ("cracked", "faded", "mechanism stiff", "battery replaced", "needs calibration") when logging inventory.
|
|
43
|
+
|
|
44
|
+
### Step 2 — Upcoming sessions (next 7 days)
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
await brain.find({
|
|
48
|
+
type: 'Event',
|
|
49
|
+
where: [
|
|
50
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
51
|
+
{ field: 'metadata.locationId', value: locationId },
|
|
52
|
+
{ field: 'metadata.status', value: 'confirmed' }
|
|
53
|
+
]
|
|
54
|
+
// Filter client-side: metadata.date >= today AND <= today+7
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
From each booking, extract `data.sessionAttributes.roomName` to determine which rooms are active and require all props to be in service.
|
|
59
|
+
|
|
60
|
+
### Step 3 — Session volume for cycle estimation
|
|
61
|
+
|
|
62
|
+
Query the trailing 30 days of confirmed bookings, grouped by room, to estimate session count per room. Use this to calculate cumulative lock cycle counts.
|
|
63
|
+
|
|
64
|
+
**Lock cycle estimation**: Each session = approximately 10–15 lock uses (opening + resetting). Use `sessions × 12` as a conservative cycle estimate per lock per room. Add to any baseline count stored in inventory item data.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Inventory Categories and Alert Logic
|
|
69
|
+
|
|
70
|
+
### Props (Room Props & Decorations)
|
|
71
|
+
|
|
72
|
+
Props do not deplete per session but degrade over time. Alert logic:
|
|
73
|
+
- **CRITICAL**: any prop flagged with condition note containing "broken", "non-functional", or "replace immediately"
|
|
74
|
+
- **LOW**: any prop flagged with "worn", "faded", "cracked", "repair needed" — functional but degrading
|
|
75
|
+
- **OK**: no condition notes, or condition notes indicating minor cosmetic wear only
|
|
76
|
+
|
|
77
|
+
Props in a "damaged" or "non-functional" state must be removed from the room before the next session. Running a session with a broken prop that guests interact with undermines the puzzle and the experience.
|
|
78
|
+
|
|
79
|
+
### Locks (Locks & Mechanisms)
|
|
80
|
+
|
|
81
|
+
Locks have mechanical cycle limits. Replace at 5,000 cycles; flag for inspection at 4,500.
|
|
82
|
+
|
|
83
|
+
**Cycle tracking formula**:
|
|
84
|
+
```
|
|
85
|
+
totalCycles = baselineCycles (stored in data) + (roomSessionsLast30Days × 12 × projectedMonthsInService)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
If baseline cycles are not stored, estimate from the lock's install date and average session volume.
|
|
89
|
+
|
|
90
|
+
| Cycle Count | Alert Level |
|
|
91
|
+
|---|---|
|
|
92
|
+
| < 4,500 cycles | OK |
|
|
93
|
+
| 4,500 – 4,999 cycles | LOW — inspect at next opportunity, order replacement |
|
|
94
|
+
| 5,000+ cycles | CRITICAL — replace before next session |
|
|
95
|
+
|
|
96
|
+
Lock types to track separately: 4-digit combination, directional, word/letter, key lock, magnetic release.
|
|
97
|
+
|
|
98
|
+
### Electronics (Electronics & Tech)
|
|
99
|
+
|
|
100
|
+
Electronics degrade in different ways — track:
|
|
101
|
+
- **Battery-powered items**: flag if battery replacement is overdue (typically every 30–60 days depending on usage)
|
|
102
|
+
- **Firmware-dependent items** (smart locks, UV panels, custom electronics): flag if firmware update is available or last update was > 6 months ago
|
|
103
|
+
- **UV lights**: track bulb hours; commercial UV bulbs degrade at approximately 1,000 hours
|
|
104
|
+
|
|
105
|
+
| Electronics Item | Maintenance Trigger |
|
|
106
|
+
|---|---|
|
|
107
|
+
| UV flashlights | Battery check weekly; replacement after [N] sessions |
|
|
108
|
+
| UV bulbs (fixed) | Bulb hours > 800 — inspect; > 1,000 — replace |
|
|
109
|
+
| Digital locks | Firmware check quarterly |
|
|
110
|
+
| Audio systems | Test before each session; no routine replacement cycle |
|
|
111
|
+
| Custom Arduino / Raspberry Pi props | Log any error reports; replace failing components immediately |
|
|
112
|
+
|
|
113
|
+
### Costumes (Costumes & Accessories)
|
|
114
|
+
|
|
115
|
+
Track laundering count. Most costumes can be professionally laundered 50–100 times before fabric degradation becomes noticeable. Flag if:
|
|
116
|
+
- Total laundering count is unknown (no tracking = no assurance of hygiene)
|
|
117
|
+
- Any item shows visible staining, tears, or odor reports from previous session
|
|
118
|
+
|
|
119
|
+
### Retail (Retail & Merchandise)
|
|
120
|
+
|
|
121
|
+
Retail items (branded merchandise, souvenir items, gift cards in physical form) don't deplete through room use. Track stock levels separately and flag if any SKU falls below reorder threshold. Retail COGS tracking is separate from operational inventory.
|
|
122
|
+
|
|
123
|
+
### Maintenance Supplies
|
|
124
|
+
|
|
125
|
+
Track consumables used in room reset and maintenance:
|
|
126
|
+
- Replacement lock hasps and shackles
|
|
127
|
+
- UV-reactive ink and UV pens (single-use puzzle elements)
|
|
128
|
+
- Breakaway seals and tamper-evident stickers
|
|
129
|
+
- Batteries (AA, AAA, 9V) — stock at least 2 weeks of buffer
|
|
130
|
+
- Cleaning supplies specific to prop materials
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Alert Tiers
|
|
135
|
+
|
|
136
|
+
| Tier | Condition | Symbol |
|
|
137
|
+
|---|---|---|
|
|
138
|
+
| CRITICAL | Item non-functional, lock at 5,000+ cycles, or critical prop missing from room | 🔴 CRITICAL |
|
|
139
|
+
| LOW | Item degrading but functional, lock at 4,500–4,999 cycles, electronics overdue for service | 🟡 LOW |
|
|
140
|
+
| OK | All items within normal operating parameters | 🟢 OK |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Report Structure
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### Inventory Health — {{locationName}}
|
|
149
|
+
**Report date**: [today's date]
|
|
150
|
+
**Next 7 days**: [N] confirmed sessions across [N] rooms
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### 1. Status Summary
|
|
155
|
+
|
|
156
|
+
| Status | Items |
|
|
157
|
+
|---|---|
|
|
158
|
+
| 🔴 CRITICAL | [N] items |
|
|
159
|
+
| 🟡 LOW | [N] items |
|
|
160
|
+
| 🟢 OK | [N] items |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### 2. Critical Items — Action Required Before Next Session
|
|
165
|
+
|
|
166
|
+
| Item | Room | Category | Issue | Action |
|
|
167
|
+
|---|---|---|---|---|
|
|
168
|
+
| [name] | [room name] | [category] | [description of issue] | Replace / Remove from room immediately |
|
|
169
|
+
|
|
170
|
+
If no critical items: "No critical items. All props and locks are within operational parameters."
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### 3. Low Priority — Address This Week
|
|
175
|
+
|
|
176
|
+
| Item | Room | Category | Issue | Est. Days Until Critical |
|
|
177
|
+
|---|---|---|---|---|
|
|
178
|
+
| [name] | [room name] | [category] | [description] | [N] days |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### 4. Room-by-Room Status
|
|
183
|
+
|
|
184
|
+
For each active room, produce a status block:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
[Room Name]
|
|
188
|
+
Props: [N OK | N LOW | N CRITICAL]
|
|
189
|
+
Locks: [status — cycle counts for each lock if available]
|
|
190
|
+
Electronics: [status — battery/firmware check dates]
|
|
191
|
+
Overall: [🟢 Ready | 🟡 Minor issues — action this week | 🔴 Not ready for session]
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Flag any room with a CRITICAL item as **Not ready for session** until the item is resolved.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### 5. Lock Cycle Tracker
|
|
199
|
+
|
|
200
|
+
| Lock ID / Name | Room | Type | Est. Cycles | Status | Action |
|
|
201
|
+
|---|---|---|---|---|---|
|
|
202
|
+
| [lock name] | [room] | [4-digit / directional / word / key / magnetic] | [N] | [OK / LOW / CRITICAL] | [None / Order replacement / Replace now] |
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
### 6. Recommended Replacement / Order List
|
|
207
|
+
|
|
208
|
+
Consolidate all items requiring action into a single purchasing list:
|
|
209
|
+
|
|
210
|
+
| Item | Category | Room | Priority | Suggested Qty | Notes |
|
|
211
|
+
|---|---|---|---|---|---|
|
|
212
|
+
| [item] | [category] | [room] | [CRITICAL / LOW] | [N] | [e.g., "Replace directional lock — 4,800 cycles, order spare before it hits 5,000"] |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### 7. Maintenance Notes
|
|
217
|
+
|
|
218
|
+
Add contextual notes warranted by the data:
|
|
219
|
+
- If a room has no condition flags on any props: note it briefly to affirm the room is in good shape
|
|
220
|
+
- If a recently introduced prop or mechanism has logged condition issues quickly: flag for design review — it may not be durable enough for session volume
|
|
221
|
+
- If any room is approaching a scheduled full reset / redecoration: note props that can be retired rather than replaced
|
|
222
|
+
- If batteries are low across multiple rooms simultaneously: suggest a bulk battery restock rather than room-by-room replacement
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: leaderboard-report
|
|
3
|
+
name: Leaderboard Report
|
|
4
|
+
description: Generates leaderboard reports showing all-time and monthly fastest escape times per room using raw and hint-adjusted times, room completion rates, team size performance analysis, trend detection for room difficulty drift, and new record alerts.
|
|
5
|
+
type: invocable
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
requiresVision: false
|
|
8
|
+
requiresData: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Leaderboard Report
|
|
12
|
+
|
|
13
|
+
You generate leaderboard reports for **{{locationName}}** — the fastest escape times, completion rates by room, team size performance analysis, and trend detection. This is a guest-facing analytics product as much as an operations tool: the leaderboard creates community, drives repeat bookings, and gives guests a tangible reason to improve.
|
|
14
|
+
|
|
15
|
+
## When to Trigger
|
|
16
|
+
|
|
17
|
+
Invoke this skill when staff or owners ask:
|
|
18
|
+
- "Show me the leaderboard"
|
|
19
|
+
- "Top escape times"
|
|
20
|
+
- "Room stats"
|
|
21
|
+
- "Who's the fastest team?"
|
|
22
|
+
- "How are completion rates?"
|
|
23
|
+
- "Performance review for [room]"
|
|
24
|
+
- Any question about escape times, records, or room performance metrics
|
|
25
|
+
|
|
26
|
+
## Data Sources
|
|
27
|
+
|
|
28
|
+
Session attributes on completed bookings:
|
|
29
|
+
- `completionTime` — string in `MM:SS` format
|
|
30
|
+
- `hintsUsed` — integer
|
|
31
|
+
- `escaped` — string outcome (`"Yes! Escaped"` | `"Almost — X seconds remaining"` | `"Not this time"`)
|
|
32
|
+
- `roomName` — which room
|
|
33
|
+
- `teamName` — team display name
|
|
34
|
+
- `guestCount` (from booking `metadata.guestCount`) — team size
|
|
35
|
+
|
|
36
|
+
**Preprocessing required** (client-side):
|
|
37
|
+
- Convert `completionTime` from `MM:SS` to seconds: `minutes × 60 + seconds`
|
|
38
|
+
- Infer `escaped = true` when `escaped = "Yes! Escaped"`, `false` otherwise
|
|
39
|
+
- Calculate adjusted time: `adjustedTimeSeconds = completionTimeSeconds + (hintsUsed × 30)`
|
|
40
|
+
|
|
41
|
+
Only include bookings with `escaped = true` in time-based rankings. Include all completed bookings (escaped or not) in completion rate calculations.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Aggregates to Define
|
|
46
|
+
|
|
47
|
+
### Completion time statistics by room
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
brain.defineAggregate('completionTimeByRoom', {
|
|
51
|
+
source: {
|
|
52
|
+
type: 'Event',
|
|
53
|
+
where: [
|
|
54
|
+
{ field: 'metadata.entityType', value: 'booking' },
|
|
55
|
+
{ field: 'metadata.status', value: 'completed' }
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
groupBy: [
|
|
59
|
+
{ field: 'metadata.experienceSlug' }
|
|
60
|
+
],
|
|
61
|
+
metrics: {
|
|
62
|
+
totalAttempts: { op: 'COUNT' },
|
|
63
|
+
avgGuests: { op: 'AVG', field: 'metadata.guestCount' }
|
|
64
|
+
}
|
|
65
|
+
// Note: completionTime and escaped are in data.sessionAttributes — query
|
|
66
|
+
// individual bookings and compute completion rate + time stats client-side
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Client-side calculations** (load individual completed bookings and compute):
|
|
71
|
+
- Filter to `escaped = true`, parse completion times, sort ascending for rankings
|
|
72
|
+
- Completion rate per room: (escaped count) / (total attempts) × 100
|
|
73
|
+
- AVG, MIN, MAX, STDDEV of completion time in seconds for escaped sessions
|
|
74
|
+
- Adjusted time per session: `completionTimeSeconds + (hintsUsed × 30)`
|
|
75
|
+
|
|
76
|
+
### Team size analysis
|
|
77
|
+
|
|
78
|
+
Group escaped sessions by `guestCount`. For each team size, compute:
|
|
79
|
+
- Average completion time (raw and adjusted)
|
|
80
|
+
- Completion rate (escaped / total attempts at that size)
|
|
81
|
+
- Session count
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Report Structure
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### Leaderboard Report — {{locationName}}
|
|
90
|
+
**Generated**: [today's date]
|
|
91
|
+
**Data coverage**: [first booking date] – [today] ([N] total sessions across all rooms)
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### 1. All-Time Records per Room
|
|
96
|
+
|
|
97
|
+
For each room, show the fastest escape:
|
|
98
|
+
|
|
99
|
+
| Room | Fastest Raw Time | Adjusted Time | Team Name | Team Size | Date | Hints Used |
|
|
100
|
+
|---|---|---|---|---|---|---|
|
|
101
|
+
| [room] | [MM:SS] | [MM:SS] | [team name] | [N] | [date] | [N] |
|
|
102
|
+
|
|
103
|
+
Display both raw time and adjusted time. A team that escaped in 43:00 with 0 hints ranks above a team that escaped in 41:00 with 5 hints when sorted by adjusted time (41:00 + 2:30 = 43:30 adjusted vs. 43:00 raw).
|
|
104
|
+
|
|
105
|
+
**Format**: Times as `MM:SS` for readability. Hints penalty: `N hints × 0:30`.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### 2. Current Month Top 10 (All Rooms Combined)
|
|
110
|
+
|
|
111
|
+
Rank by **adjusted time** — across all rooms and all team sizes:
|
|
112
|
+
|
|
113
|
+
| # | Team Name | Room | Raw Time | Hints | Adjusted Time | Team Size | Date |
|
|
114
|
+
|---|---|---|---|---|---|---|---|
|
|
115
|
+
| 1 | [team] | [room] | [MM:SS] | [N] | [MM:SS] | [N] | [date] |
|
|
116
|
+
|
|
117
|
+
Cap at 10. Include room name because different rooms have different difficulty — context matters for interpreting rankings across rooms.
|
|
118
|
+
|
|
119
|
+
**Month header**: "Top 10 Fastest Escapes — [Month Year]"
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### 3. Room Completion Rates
|
|
124
|
+
|
|
125
|
+
| Room | Total Attempts | Escaped | Completion Rate | Avg Time (Escaped) | Avg Hints Used |
|
|
126
|
+
|---|---|---|---|---|---|
|
|
127
|
+
| Standard Room | [N] | [N] | [%] | [MM:SS] | [avg hints] |
|
|
128
|
+
| Advanced Room | [N] | [N] | [%] | [MM:SS] | [avg hints] |
|
|
129
|
+
| Family Room | [N] | [N] | [%] | [MM:SS] | [avg hints] |
|
|
130
|
+
| Private Booking | [N] | [N] | [%] | [MM:SS] | [avg hints] |
|
|
131
|
+
| Corporate Team Build | [N] | [N] | [%] | [MM:SS] | [avg hints] |
|
|
132
|
+
|
|
133
|
+
**Target ranges** (from escape-expertise knowledge):
|
|
134
|
+
- Family Room: 70–80% target
|
|
135
|
+
- Standard Room: 50–60% target
|
|
136
|
+
- Advanced Room: 35–40% target
|
|
137
|
+
|
|
138
|
+
Flag rooms outside their target range:
|
|
139
|
+
- `⚠️ [Room] completion rate is [X]% — [above/below] the [target]% target. [If above: room may need additional difficulty. If below: identify the highest hint-request puzzle and consider simplifying the input.`
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### 4. Team Size Sweet Spot
|
|
144
|
+
|
|
145
|
+
For each common team size, show performance across all rooms:
|
|
146
|
+
|
|
147
|
+
| Team Size | Sessions | Completion Rate | Avg Adjusted Time | Best Room for This Size |
|
|
148
|
+
|---|---|---|---|---|
|
|
149
|
+
| 2 guests | [N] | [%] | [MM:SS] | [room with highest completion rate at this size] |
|
|
150
|
+
| 3–4 guests | [N] | [%] | [MM:SS] | [room] |
|
|
151
|
+
| 5–6 guests | [N] | [%] | [MM:SS] | [room] |
|
|
152
|
+
| 7–8 guests | [N] | [%] | [MM:SS] | [room] |
|
|
153
|
+
|
|
154
|
+
**Data-driven booking recommendation**: Based on the performance data, which team size performs best in each room? This recommendation can inform the booking guidance on the website and in front-desk conversations.
|
|
155
|
+
|
|
156
|
+
Example recommendation: "Teams of 4–5 have the highest completion rate in the Standard Room at 64%. Teams of 2 struggle most with the Advanced Room (28% completion). Recommend groups of 2 start with Standard Room."
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
### 5. Month-over-Month Completion Rate Trends
|
|
161
|
+
|
|
162
|
+
Compare this month's completion rate to last month's for each room:
|
|
163
|
+
|
|
164
|
+
| Room | This Month Rate | Last Month Rate | Change | Interpretation |
|
|
165
|
+
|---|---|---|---|---|
|
|
166
|
+
| [room] | [%] | [%] | [+/- pp] | [Rising / Stable / Declining] |
|
|
167
|
+
|
|
168
|
+
**Drift detection**: A consistent month-over-month increase in completion rate for a room may indicate that the puzzle solutions are becoming known — either through players sharing online or return guests who've done the room before. Flag if any room shows a 3+ month consecutive increase in completion rate above the target ceiling:
|
|
169
|
+
|
|
170
|
+
`⚠️ [Room] completion rate has risen [X] percentage points over [N] consecutive months. Consider refreshing 1–2 puzzles to reestablish difficulty baseline.`
|
|
171
|
+
|
|
172
|
+
A consistent decline may indicate a puzzle is too hard or a prop/mechanism issue is frustrating teams unfairly. Investigate the most-hinted puzzle for that room.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### 6. Record Alert
|
|
177
|
+
|
|
178
|
+
Check if any record was set or tied in the past 7 days:
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
🏆 NEW RECORD — [Room Name]
|
|
182
|
+
Team: [Team Name] ([N] guests)
|
|
183
|
+
Date: [date]
|
|
184
|
+
Raw time: [MM:SS] | Adjusted time: [MM:SS] ([N] hints used)
|
|
185
|
+
Previous record: [MM:SS] (adjusted) by [previous team] on [date]
|
|
186
|
+
Margin: [N] seconds faster
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
If no new records this week: "No new records set in the past 7 days. Current records remain as listed in Section 1."
|
|
190
|
+
|
|
191
|
+
**Staff action**: When a new record is set, congratulate the team personally at checkout and invite them to share on social media (tagging {{instagram}} if applicable). This is a free, high-authenticity marketing moment.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Data Quality Notes
|
|
196
|
+
|
|
197
|
+
Session attribute data (`completionTime`, `hintsUsed`, `escaped`) is entered manually by Game Masters at the end of each session. Before generating this report:
|
|
198
|
+
|
|
199
|
+
- Flag any completed bookings where `escaped = "Yes! Escaped"` but `completionTime` is missing — these cannot be ranked
|
|
200
|
+
- Flag any `completionTime` values that fall outside the room's duration (e.g., a time of "72:15" logged for a 60-minute Standard Room indicates a data entry error)
|
|
201
|
+
- If `hintsUsed` is null for an escaped session, treat as 0 hints for ranking purposes but note the data gap
|
|
202
|
+
|
|
203
|
+
Data quality issues should be flagged at the top of the report before the rankings:
|
|
204
|
+
`⚠️ [N] completed sessions are missing completion time data and cannot be ranked. Ask Game Masters to log session attributes immediately after each session.`
|