@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.
Files changed (528) hide show
  1. package/kits/ai-content-studio/kit.json +358 -0
  2. package/kits/api-documentation/kit.json +358 -0
  3. package/kits/api-documentation/skills/api-examples/SKILL.md +176 -0
  4. package/kits/api-documentation/skills/api-review/SKILL.md +35 -0
  5. package/kits/api-documentation/skills/api-versioning/SKILL.md +156 -0
  6. package/kits/api-documentation/skills/create-code-examples/SKILL.md +42 -0
  7. package/kits/api-documentation/skills/define-resource/SKILL.md +39 -0
  8. package/kits/api-documentation/skills/document-auth/SKILL.md +39 -0
  9. package/kits/api-documentation/skills/document-endpoint/SKILL.md +40 -0
  10. package/kits/api-documentation/skills/kit-expertise/SKILL.md +78 -0
  11. package/kits/api-documentation/skills/openapi-spec/SKILL.md +174 -0
  12. package/kits/axe-house/kit.json +931 -0
  13. package/kits/axe-house/skills/axe-expertise/SKILL.md +259 -0
  14. package/kits/axe-house/skills/blog-draft/SKILL.md +147 -0
  15. package/kits/axe-house/skills/booking-digest/SKILL.md +188 -0
  16. package/kits/axe-house/skills/customer-insights/SKILL.md +215 -0
  17. package/kits/axe-house/skills/demand-forecast/SKILL.md +183 -0
  18. package/kits/axe-house/skills/email-campaign/SKILL.md +135 -0
  19. package/kits/axe-house/skills/experience-copy/SKILL.md +142 -0
  20. package/kits/axe-house/skills/guest-letter/SKILL.md +171 -0
  21. package/kits/axe-house/skills/inventory-health/SKILL.md +234 -0
  22. package/kits/axe-house/skills/league-manager/SKILL.md +264 -0
  23. package/kits/axe-house/skills/revenue-report/SKILL.md +240 -0
  24. package/kits/axe-house/skills/safety-briefing/SKILL.md +248 -0
  25. package/kits/axe-house/skills/social-calendar/SKILL.md +203 -0
  26. package/kits/axe-house/skills/staff-briefing/SKILL.md +231 -0
  27. package/kits/axe-house/skills/venue-data-model/SKILL.md +225 -0
  28. package/kits/blog-series/kit.json +363 -0
  29. package/kits/blog-series/skills/content-hooks/SKILL.md +158 -0
  30. package/kits/blog-series/skills/headline-brainstorm/SKILL.md +40 -0
  31. package/kits/blog-series/skills/kit-expertise/SKILL.md +78 -0
  32. package/kits/blog-series/skills/repurpose-content/SKILL.md +40 -0
  33. package/kits/blog-series/skills/seo-review/SKILL.md +41 -0
  34. package/kits/blog-series/skills/seo-writing/SKILL.md +135 -0
  35. package/kits/blog-series/skills/series-audit/SKILL.md +36 -0
  36. package/kits/blog-series/skills/write-post-outline/SKILL.md +42 -0
  37. package/kits/business-plan/kit.json +437 -0
  38. package/kits/business-plan/skills/competitor-analysis/SKILL.md +34 -0
  39. package/kits/business-plan/skills/financial-modeling/SKILL.md +180 -0
  40. package/kits/business-plan/skills/financial-projections/SKILL.md +42 -0
  41. package/kits/business-plan/skills/kit-expertise/SKILL.md +101 -0
  42. package/kits/business-plan/skills/market-analysis/SKILL.md +155 -0
  43. package/kits/business-plan/skills/market-research/SKILL.md +35 -0
  44. package/kits/business-plan/skills/sba-compliance/SKILL.md +163 -0
  45. package/kits/business-plan/skills/swot-analysis/SKILL.md +36 -0
  46. package/kits/canvas-and-corks/kit.json +910 -0
  47. package/kits/canvas-and-corks/skills/blog-draft/SKILL.md +160 -0
  48. package/kits/canvas-and-corks/skills/booking-digest/SKILL.md +147 -0
  49. package/kits/canvas-and-corks/skills/class-description/SKILL.md +53 -0
  50. package/kits/canvas-and-corks/skills/class-roster/SKILL.md +163 -0
  51. package/kits/canvas-and-corks/skills/customer-insights/SKILL.md +174 -0
  52. package/kits/canvas-and-corks/skills/demand-forecast/SKILL.md +191 -0
  53. package/kits/canvas-and-corks/skills/email-campaign/SKILL.md +154 -0
  54. package/kits/canvas-and-corks/skills/experience-copy/SKILL.md +152 -0
  55. package/kits/canvas-and-corks/skills/guest-letter/SKILL.md +127 -0
  56. package/kits/canvas-and-corks/skills/inventory-health/SKILL.md +204 -0
  57. package/kits/canvas-and-corks/skills/painting-memory/SKILL.md +76 -0
  58. package/kits/canvas-and-corks/skills/revenue-report/SKILL.md +196 -0
  59. package/kits/canvas-and-corks/skills/social-calendar/SKILL.md +146 -0
  60. package/kits/canvas-and-corks/skills/staff-briefing/SKILL.md +134 -0
  61. package/kits/canvas-and-corks/skills/studio-expertise/SKILL.md +181 -0
  62. package/kits/canvas-and-corks/skills/venue-data-model/SKILL.md +325 -0
  63. package/kits/character-relationship-map/kit.json +367 -0
  64. package/kits/character-relationship-map/skills/ensemble-balance/SKILL.md +189 -0
  65. package/kits/character-relationship-map/skills/kit-expertise/SKILL.md +83 -0
  66. package/kits/character-relationship-map/skills/relationship-dynamics/SKILL.md +158 -0
  67. package/kits/clay-and-co/kit.json +938 -0
  68. package/kits/clay-and-co/skills/blog-draft/SKILL.md +135 -0
  69. package/kits/clay-and-co/skills/booking-digest/SKILL.md +163 -0
  70. package/kits/clay-and-co/skills/customer-insights/SKILL.md +207 -0
  71. package/kits/clay-and-co/skills/demand-forecast/SKILL.md +166 -0
  72. package/kits/clay-and-co/skills/email-campaign/SKILL.md +125 -0
  73. package/kits/clay-and-co/skills/experience-copy/SKILL.md +132 -0
  74. package/kits/clay-and-co/skills/guest-letter/SKILL.md +104 -0
  75. package/kits/clay-and-co/skills/inventory-health/SKILL.md +211 -0
  76. package/kits/clay-and-co/skills/kiln-scheduler/SKILL.md +206 -0
  77. package/kits/clay-and-co/skills/piece-tracker/SKILL.md +165 -0
  78. package/kits/clay-and-co/skills/pottery-expertise/SKILL.md +165 -0
  79. package/kits/clay-and-co/skills/pottery-memory/SKILL.md +119 -0
  80. package/kits/clay-and-co/skills/revenue-report/SKILL.md +205 -0
  81. package/kits/clay-and-co/skills/social-calendar/SKILL.md +130 -0
  82. package/kits/clay-and-co/skills/staff-briefing/SKILL.md +213 -0
  83. package/kits/clay-and-co/skills/venue-data-model/SKILL.md +230 -0
  84. package/kits/concept-map/kit.json +353 -0
  85. package/kits/concept-map/skills/add-concept/SKILL.md +41 -0
  86. package/kits/concept-map/skills/assess-understanding/SKILL.md +36 -0
  87. package/kits/concept-map/skills/concept-hierarchy/SKILL.md +148 -0
  88. package/kits/concept-map/skills/create-learning-map/SKILL.md +42 -0
  89. package/kits/concept-map/skills/find-cross-links/SKILL.md +34 -0
  90. package/kits/concept-map/skills/identify-prerequisites/SKILL.md +40 -0
  91. package/kits/concept-map/skills/kit-expertise/SKILL.md +78 -0
  92. package/kits/concept-map/skills/relationship-types/SKILL.md +160 -0
  93. package/kits/content-calendar/kit.json +420 -0
  94. package/kits/content-calendar/skills/content-strategy/SKILL.md +174 -0
  95. package/kits/content-calendar/skills/create-brief/SKILL.md +40 -0
  96. package/kits/content-calendar/skills/generate-ideas/SKILL.md +40 -0
  97. package/kits/content-calendar/skills/kit-expertise/SKILL.md +100 -0
  98. package/kits/content-calendar/skills/plan-series/SKILL.md +40 -0
  99. package/kits/content-calendar/skills/repurpose-content/SKILL.md +38 -0
  100. package/kits/content-calendar/skills/repurposing/SKILL.md +179 -0
  101. package/kits/content-calendar/skills/weekly-review/SKILL.md +34 -0
  102. package/kits/coworking-space/kit.json +1068 -0
  103. package/kits/escape-vault/kit.json +1028 -0
  104. package/kits/escape-vault/skills/blog-draft/SKILL.md +157 -0
  105. package/kits/escape-vault/skills/booking-digest/SKILL.md +151 -0
  106. package/kits/escape-vault/skills/customer-insights/SKILL.md +185 -0
  107. package/kits/escape-vault/skills/demand-forecast/SKILL.md +188 -0
  108. package/kits/escape-vault/skills/email-campaign/SKILL.md +157 -0
  109. package/kits/escape-vault/skills/escape-expertise/SKILL.md +200 -0
  110. package/kits/escape-vault/skills/escape-memory/SKILL.md +99 -0
  111. package/kits/escape-vault/skills/experience-copy/SKILL.md +159 -0
  112. package/kits/escape-vault/skills/guest-letter/SKILL.md +143 -0
  113. package/kits/escape-vault/skills/inventory-health/SKILL.md +222 -0
  114. package/kits/escape-vault/skills/leaderboard-report/SKILL.md +204 -0
  115. package/kits/escape-vault/skills/revenue-report/SKILL.md +202 -0
  116. package/kits/escape-vault/skills/room-designer/SKILL.md +182 -0
  117. package/kits/escape-vault/skills/social-calendar/SKILL.md +148 -0
  118. package/kits/escape-vault/skills/staff-briefing/SKILL.md +159 -0
  119. package/kits/escape-vault/skills/venue-data-model/SKILL.md +335 -0
  120. package/kits/family-tree/kit.json +380 -0
  121. package/kits/family-tree/skills/add-family-member/SKILL.md +42 -0
  122. package/kits/family-tree/skills/analyze-relationship/SKILL.md +41 -0
  123. package/kits/family-tree/skills/export-gedcom/SKILL.md +34 -0
  124. package/kits/family-tree/skills/genealogy-research/SKILL.md +188 -0
  125. package/kits/family-tree/skills/kit-expertise/SKILL.md +107 -0
  126. package/kits/family-tree/skills/record-oral-history/SKILL.md +43 -0
  127. package/kits/family-tree/skills/relationship-mapping/SKILL.md +171 -0
  128. package/kits/family-tree/skills/research-ancestor/SKILL.md +43 -0
  129. package/kits/farkle-dice-game/kit.json +316 -0
  130. package/kits/farkle-dice-game/skills/kit-expertise/SKILL.md +137 -0
  131. package/kits/franchise-ops/kit.json +326 -0
  132. package/kits/freelance-portfolio/kit.json +435 -0
  133. package/kits/game-design-doc/kit.json +353 -0
  134. package/kits/game-design-doc/skills/balance-system/SKILL.md +40 -0
  135. package/kits/game-design-doc/skills/create-character/SKILL.md +40 -0
  136. package/kits/game-design-doc/skills/design-mechanic/SKILL.md +40 -0
  137. package/kits/game-design-doc/skills/economy-design/SKILL.md +152 -0
  138. package/kits/game-design-doc/skills/game-mechanics/SKILL.md +141 -0
  139. package/kits/game-design-doc/skills/ideate-features/SKILL.md +36 -0
  140. package/kits/game-design-doc/skills/kit-expertise/SKILL.md +78 -0
  141. package/kits/game-design-doc/skills/playtest-feedback/SKILL.md +142 -0
  142. package/kits/game-design-doc/skills/review-gdd/SKILL.md +33 -0
  143. package/kits/gather-and-grill/kit.json +966 -0
  144. package/kits/gather-and-grill/skills/blog-draft/SKILL.md +120 -0
  145. package/kits/gather-and-grill/skills/booking-digest/SKILL.md +171 -0
  146. package/kits/gather-and-grill/skills/cooking-memory/SKILL.md +100 -0
  147. package/kits/gather-and-grill/skills/culinary-expertise/SKILL.md +180 -0
  148. package/kits/gather-and-grill/skills/customer-insights/SKILL.md +184 -0
  149. package/kits/gather-and-grill/skills/demand-forecast/SKILL.md +200 -0
  150. package/kits/gather-and-grill/skills/email-campaign/SKILL.md +97 -0
  151. package/kits/gather-and-grill/skills/experience-copy/SKILL.md +92 -0
  152. package/kits/gather-and-grill/skills/guest-letter/SKILL.md +98 -0
  153. package/kits/gather-and-grill/skills/inventory-health/SKILL.md +193 -0
  154. package/kits/gather-and-grill/skills/menu-planner/SKILL.md +175 -0
  155. package/kits/gather-and-grill/skills/recipe-card/SKILL.md +194 -0
  156. package/kits/gather-and-grill/skills/revenue-report/SKILL.md +245 -0
  157. package/kits/gather-and-grill/skills/social-calendar/SKILL.md +139 -0
  158. package/kits/gather-and-grill/skills/staff-briefing/SKILL.md +167 -0
  159. package/kits/gather-and-grill/skills/venue-data-model/SKILL.md +336 -0
  160. package/kits/gtd-productivity-system/kit.json +389 -0
  161. package/kits/gtd-productivity-system/skills/break-down-project/SKILL.md +41 -0
  162. package/kits/gtd-productivity-system/skills/clarify-task/SKILL.md +42 -0
  163. package/kits/gtd-productivity-system/skills/gtd-methodology/SKILL.md +185 -0
  164. package/kits/gtd-productivity-system/skills/inbox-processing/SKILL.md +173 -0
  165. package/kits/gtd-productivity-system/skills/kit-expertise/SKILL.md +111 -0
  166. package/kits/gtd-productivity-system/skills/mind-sweep/SKILL.md +35 -0
  167. package/kits/gtd-productivity-system/skills/process-inbox/SKILL.md +40 -0
  168. package/kits/gtd-productivity-system/skills/weekly-review/SKILL.md +197 -0
  169. package/kits/gym-fitness/kit.json +1037 -0
  170. package/kits/interactive-fiction/kit.json +471 -0
  171. package/kits/invoice-generator/kit.json +466 -0
  172. package/kits/loyalty-program/kit.json +323 -0
  173. package/kits/marketing-plan/kit.json +417 -0
  174. package/kits/marketing-plan/skills/allocate-budget/SKILL.md +34 -0
  175. package/kits/marketing-plan/skills/campaign-metrics/SKILL.md +184 -0
  176. package/kits/marketing-plan/skills/channel-strategy/SKILL.md +156 -0
  177. package/kits/marketing-plan/skills/content-calendar/SKILL.md +34 -0
  178. package/kits/marketing-plan/skills/create-persona/SKILL.md +40 -0
  179. package/kits/marketing-plan/skills/kit-expertise/SKILL.md +109 -0
  180. package/kits/marketing-plan/skills/measure-performance/SKILL.md +34 -0
  181. package/kits/marketing-plan/skills/plan-campaign/SKILL.md +41 -0
  182. package/kits/marketing-site/kit.json +230 -0
  183. package/kits/marketing-site/skills/add-page/SKILL.md +28 -0
  184. package/kits/marketing-site/skills/add-section/SKILL.md +29 -0
  185. package/kits/marketing-site/skills/change-colors/SKILL.md +24 -0
  186. package/kits/marketing-site/skills/conversion-copy/SKILL.md +152 -0
  187. package/kits/marketing-site/skills/export-deploy/SKILL.md +24 -0
  188. package/kits/marketing-site/skills/kit-expertise/SKILL.md +77 -0
  189. package/kits/marketing-site/skills/landing-page/SKILL.md +156 -0
  190. package/kits/match-3-puzzle/kit.json +245 -0
  191. package/kits/match-3-puzzle/skills/kit-expertise/SKILL.md +96 -0
  192. package/kits/mind-map/kit.json +355 -0
  193. package/kits/mind-map/skills/add-branch/SKILL.md +40 -0
  194. package/kits/mind-map/skills/brainstorm-topic/SKILL.md +41 -0
  195. package/kits/mind-map/skills/branch-expansion/SKILL.md +181 -0
  196. package/kits/mind-map/skills/find-connections/SKILL.md +34 -0
  197. package/kits/mind-map/skills/kit-expertise/SKILL.md +78 -0
  198. package/kits/mind-map/skills/organize-map/SKILL.md +35 -0
  199. package/kits/mind-map/skills/radiant-thinking/SKILL.md +184 -0
  200. package/kits/mind-map/skills/summarize-map/SKILL.md +34 -0
  201. package/kits/music-collection/kit.json +403 -0
  202. package/kits/music-collection/skills/add-album/SKILL.md +44 -0
  203. package/kits/music-collection/skills/create-playlist/SKILL.md +37 -0
  204. package/kits/music-collection/skills/explore-artist/SKILL.md +37 -0
  205. package/kits/music-collection/skills/journal-session/SKILL.md +40 -0
  206. package/kits/music-collection/skills/kit-expertise/SKILL.md +98 -0
  207. package/kits/music-collection/skills/music-metadata/SKILL.md +209 -0
  208. package/kits/music-collection/skills/playlist-curator/SKILL.md +182 -0
  209. package/kits/music-collection/skills/recommend-similar/SKILL.md +36 -0
  210. package/kits/music-venue/kit.json +986 -0
  211. package/kits/novel-writing-system/kit.json +481 -0
  212. package/kits/novel-writing-system/skills/character-arc/SKILL.md +164 -0
  213. package/kits/novel-writing-system/skills/develop-character-arc/SKILL.md +42 -0
  214. package/kits/novel-writing-system/skills/kit-expertise/SKILL.md +84 -0
  215. package/kits/novel-writing-system/skills/outline-review/SKILL.md +34 -0
  216. package/kits/novel-writing-system/skills/plot-doctor/SKILL.md +221 -0
  217. package/kits/novel-writing-system/skills/plot-hole-check/SKILL.md +35 -0
  218. package/kits/novel-writing-system/skills/scene-development/SKILL.md +38 -0
  219. package/kits/novel-writing-system/skills/scene-sequel/SKILL.md +162 -0
  220. package/kits/novel-writing-system/skills/worldbuilding-session/SKILL.md +40 -0
  221. package/kits/organization-chart/kit.json +349 -0
  222. package/kits/organization-chart/skills/add-role/SKILL.md +41 -0
  223. package/kits/organization-chart/skills/analyze-span/SKILL.md +34 -0
  224. package/kits/organization-chart/skills/create-raci/SKILL.md +42 -0
  225. package/kits/organization-chart/skills/kit-expertise/SKILL.md +78 -0
  226. package/kits/organization-chart/skills/org-design/SKILL.md +188 -0
  227. package/kits/organization-chart/skills/org-health-check/SKILL.md +35 -0
  228. package/kits/organization-chart/skills/plan-reorg/SKILL.md +42 -0
  229. package/kits/organization-chart/skills/role-definition/SKILL.md +180 -0
  230. package/kits/paws-and-pour/kit.json +969 -0
  231. package/kits/paws-and-pour/skills/adoption-report/SKILL.md +273 -0
  232. package/kits/paws-and-pour/skills/animal-profile/SKILL.md +206 -0
  233. package/kits/paws-and-pour/skills/blog-draft/SKILL.md +137 -0
  234. package/kits/paws-and-pour/skills/booking-digest/SKILL.md +251 -0
  235. package/kits/paws-and-pour/skills/cafe-expertise/SKILL.md +218 -0
  236. package/kits/paws-and-pour/skills/cafe-memory/SKILL.md +114 -0
  237. package/kits/paws-and-pour/skills/customer-insights/SKILL.md +216 -0
  238. package/kits/paws-and-pour/skills/demand-forecast/SKILL.md +200 -0
  239. package/kits/paws-and-pour/skills/email-campaign/SKILL.md +154 -0
  240. package/kits/paws-and-pour/skills/experience-copy/SKILL.md +139 -0
  241. package/kits/paws-and-pour/skills/guest-letter/SKILL.md +183 -0
  242. package/kits/paws-and-pour/skills/inventory-health/SKILL.md +213 -0
  243. package/kits/paws-and-pour/skills/revenue-report/SKILL.md +273 -0
  244. package/kits/paws-and-pour/skills/social-calendar/SKILL.md +183 -0
  245. package/kits/paws-and-pour/skills/staff-briefing/SKILL.md +223 -0
  246. package/kits/paws-and-pour/skills/venue-data-model/SKILL.md +260 -0
  247. package/kits/persona-driven-strategy/kit.json +352 -0
  248. package/kits/persona-driven-strategy/skills/empathy-mapping/SKILL.md +221 -0
  249. package/kits/persona-driven-strategy/skills/journey-mapping/SKILL.md +219 -0
  250. package/kits/persona-driven-strategy/skills/kit-expertise/SKILL.md +81 -0
  251. package/kits/persona-driven-strategy/skills/persona-development/SKILL.md +189 -0
  252. package/kits/personal-crm/kit.json +373 -0
  253. package/kits/personal-crm/skills/add-contact/SKILL.md +42 -0
  254. package/kits/personal-crm/skills/connect-contacts/SKILL.md +41 -0
  255. package/kits/personal-crm/skills/find-dormant/SKILL.md +35 -0
  256. package/kits/personal-crm/skills/kit-expertise/SKILL.md +82 -0
  257. package/kits/personal-crm/skills/log-interaction/SKILL.md +43 -0
  258. package/kits/personal-crm/skills/network-analysis/SKILL.md +161 -0
  259. package/kits/personal-crm/skills/relationship-insights/SKILL.md +153 -0
  260. package/kits/personal-wiki/kit.json +322 -0
  261. package/kits/personal-wiki/skills/kit-expertise/SKILL.md +81 -0
  262. package/kits/personal-wiki/skills/orphan-finder/SKILL.md +155 -0
  263. package/kits/personal-wiki/skills/wiki-structure/SKILL.md +179 -0
  264. package/kits/petal-press/kit.json +996 -0
  265. package/kits/petal-press/skills/arrangement-memory/SKILL.md +143 -0
  266. package/kits/petal-press/skills/blog-draft/SKILL.md +167 -0
  267. package/kits/petal-press/skills/booking-digest/SKILL.md +196 -0
  268. package/kits/petal-press/skills/care-card/SKILL.md +173 -0
  269. package/kits/petal-press/skills/customer-insights/SKILL.md +213 -0
  270. package/kits/petal-press/skills/demand-forecast/SKILL.md +203 -0
  271. package/kits/petal-press/skills/email-campaign/SKILL.md +204 -0
  272. package/kits/petal-press/skills/experience-copy/SKILL.md +184 -0
  273. package/kits/petal-press/skills/floral-expertise/SKILL.md +244 -0
  274. package/kits/petal-press/skills/guest-letter/SKILL.md +153 -0
  275. package/kits/petal-press/skills/inventory-health/SKILL.md +201 -0
  276. package/kits/petal-press/skills/revenue-report/SKILL.md +219 -0
  277. package/kits/petal-press/skills/seasonal-guide/SKILL.md +238 -0
  278. package/kits/petal-press/skills/social-calendar/SKILL.md +217 -0
  279. package/kits/petal-press/skills/staff-briefing/SKILL.md +217 -0
  280. package/kits/petal-press/skills/venue-data-model/SKILL.md +226 -0
  281. package/kits/pitch-deck/kit.json +416 -0
  282. package/kits/pitch-deck/skills/calculate-market-size/SKILL.md +41 -0
  283. package/kits/pitch-deck/skills/develop-problem-slide/SKILL.md +39 -0
  284. package/kits/pitch-deck/skills/investor-qa/SKILL.md +182 -0
  285. package/kits/pitch-deck/skills/investor-qa-prep/SKILL.md +36 -0
  286. package/kits/pitch-deck/skills/kit-expertise/SKILL.md +112 -0
  287. package/kits/pitch-deck/skills/pitch-structure/SKILL.md +186 -0
  288. package/kits/pitch-deck/skills/practice-pitch/SKILL.md +36 -0
  289. package/kits/podcast-series/kit.json +324 -0
  290. package/kits/podcast-series/skills/audience-growth/SKILL.md +38 -0
  291. package/kits/podcast-series/skills/create-guest-profile/SKILL.md +42 -0
  292. package/kits/podcast-series/skills/episode-structure/SKILL.md +189 -0
  293. package/kits/podcast-series/skills/guest-research/SKILL.md +167 -0
  294. package/kits/podcast-series/skills/kit-expertise/SKILL.md +81 -0
  295. package/kits/podcast-series/skills/plan-episode/SKILL.md +44 -0
  296. package/kits/podcast-series/skills/prepare-guest/SKILL.md +45 -0
  297. package/kits/podcast-series/skills/show-notes/SKILL.md +182 -0
  298. package/kits/podcast-series/skills/write-show-notes/SKILL.md +43 -0
  299. package/kits/pour-house/kit.json +912 -0
  300. package/kits/pour-house/skills/blog-draft/SKILL.md +138 -0
  301. package/kits/pour-house/skills/booking-digest/SKILL.md +151 -0
  302. package/kits/pour-house/skills/cellar-report/SKILL.md +251 -0
  303. package/kits/pour-house/skills/customer-insights/SKILL.md +184 -0
  304. package/kits/pour-house/skills/demand-forecast/SKILL.md +156 -0
  305. package/kits/pour-house/skills/email-campaign/SKILL.md +130 -0
  306. package/kits/pour-house/skills/experience-copy/SKILL.md +125 -0
  307. package/kits/pour-house/skills/guest-letter/SKILL.md +136 -0
  308. package/kits/pour-house/skills/inventory-health/SKILL.md +159 -0
  309. package/kits/pour-house/skills/pour-memory/SKILL.md +89 -0
  310. package/kits/pour-house/skills/revenue-report/SKILL.md +232 -0
  311. package/kits/pour-house/skills/social-calendar/SKILL.md +140 -0
  312. package/kits/pour-house/skills/sommelier-expertise/SKILL.md +324 -0
  313. package/kits/pour-house/skills/staff-briefing/SKILL.md +176 -0
  314. package/kits/pour-house/skills/tasting-notes/SKILL.md +179 -0
  315. package/kits/pour-house/skills/venue-data-model/SKILL.md +323 -0
  316. package/kits/presentation/kit.json +296 -0
  317. package/kits/product-requirements-doc/kit.json +365 -0
  318. package/kits/product-requirements-doc/skills/acceptance-criteria/SKILL.md +219 -0
  319. package/kits/product-requirements-doc/skills/create-user-story/SKILL.md +43 -0
  320. package/kits/product-requirements-doc/skills/define-success-metrics/SKILL.md +41 -0
  321. package/kits/product-requirements-doc/skills/kit-expertise/SKILL.md +81 -0
  322. package/kits/product-requirements-doc/skills/prd-review/SKILL.md +39 -0
  323. package/kits/product-requirements-doc/skills/prd-structure/SKILL.md +206 -0
  324. package/kits/product-requirements-doc/skills/prioritize-features/SKILL.md +43 -0
  325. package/kits/product-requirements-doc/skills/synthesize-research/SKILL.md +43 -0
  326. package/kits/product-requirements-doc/skills/user-stories/SKILL.md +198 -0
  327. package/kits/project-timeline/kit.json +367 -0
  328. package/kits/project-timeline/skills/add-milestone/SKILL.md +44 -0
  329. package/kits/project-timeline/skills/add-task/SKILL.md +43 -0
  330. package/kits/project-timeline/skills/assess-risks/SKILL.md +39 -0
  331. package/kits/project-timeline/skills/dependency-analysis/SKILL.md +176 -0
  332. package/kits/project-timeline/skills/identify-critical-path/SKILL.md +37 -0
  333. package/kits/project-timeline/skills/kit-expertise/SKILL.md +81 -0
  334. package/kits/project-timeline/skills/milestone-planning/SKILL.md +169 -0
  335. package/kits/project-timeline/skills/status-update/SKILL.md +39 -0
  336. package/kits/reading-tracker/kit.json +368 -0
  337. package/kits/reading-tracker/skills/add-book/SKILL.md +32 -0
  338. package/kits/reading-tracker/skills/book-connections/SKILL.md +161 -0
  339. package/kits/reading-tracker/skills/kit-expertise/SKILL.md +72 -0
  340. package/kits/reading-tracker/skills/log-progress/SKILL.md +29 -0
  341. package/kits/reading-tracker/skills/reading-insights/SKILL.md +179 -0
  342. package/kits/reading-tracker/skills/save-quote/SKILL.md +30 -0
  343. package/kits/recipe-manager/kit.json +376 -0
  344. package/kits/recipe-manager/skills/add-recipe/SKILL.md +33 -0
  345. package/kits/recipe-manager/skills/generate-shopping-list/SKILL.md +27 -0
  346. package/kits/recipe-manager/skills/ingredient-substitutions/SKILL.md +157 -0
  347. package/kits/recipe-manager/skills/kit-expertise/SKILL.md +72 -0
  348. package/kits/recipe-manager/skills/meal-planning/SKILL.md +184 -0
  349. package/kits/recipe-manager/skills/plan-meal/SKILL.md +31 -0
  350. package/kits/recipe-manager/skills/scaling-recipes/SKILL.md +183 -0
  351. package/kits/saas-app/kit.json +405 -0
  352. package/kits/saas-app/skills/churn-analysis/SKILL.md +219 -0
  353. package/kits/saas-app/skills/onboarding-flow/SKILL.md +217 -0
  354. package/kits/saas-app/skills/pricing-model/SKILL.md +192 -0
  355. package/kits/saas-app/skills/saas-expertise/SKILL.md +95 -0
  356. package/kits/salon-barbershop/kit.json +1021 -0
  357. package/kits/screenplay-writing/kit.json +412 -0
  358. package/kits/screenplay-writing/skills/analyze-scene/SKILL.md +42 -0
  359. package/kits/screenplay-writing/skills/beat-sheet/SKILL.md +134 -0
  360. package/kits/screenplay-writing/skills/create-scene-card/SKILL.md +46 -0
  361. package/kits/screenplay-writing/skills/develop-character/SKILL.md +43 -0
  362. package/kits/screenplay-writing/skills/generate-beat-sheet/SKILL.md +49 -0
  363. package/kits/screenplay-writing/skills/kit-expertise/SKILL.md +90 -0
  364. package/kits/screenplay-writing/skills/scene-analysis/SKILL.md +164 -0
  365. package/kits/screenplay-writing/skills/screenplay-format/SKILL.md +108 -0
  366. package/kits/social-media-manager/kit.json +476 -0
  367. package/kits/teacher-lesson-plan/kit.json +410 -0
  368. package/kits/teacher-lesson-plan/skills/assessment-design/SKILL.md +162 -0
  369. package/kits/teacher-lesson-plan/skills/blooms-taxonomy/SKILL.md +139 -0
  370. package/kits/teacher-lesson-plan/skills/create-lesson/SKILL.md +34 -0
  371. package/kits/teacher-lesson-plan/skills/design-unit/SKILL.md +28 -0
  372. package/kits/teacher-lesson-plan/skills/differentiate-lesson/SKILL.md +28 -0
  373. package/kits/teacher-lesson-plan/skills/differentiation/SKILL.md +180 -0
  374. package/kits/teacher-lesson-plan/skills/kit-expertise/SKILL.md +96 -0
  375. package/kits/teacher-lesson-plan/skills/schedule-lesson/SKILL.md +31 -0
  376. package/kits/technical-specification/kit.json +369 -0
  377. package/kits/technical-specification/skills/architecture-decision/SKILL.md +42 -0
  378. package/kits/technical-specification/skills/architecture-decisions/SKILL.md +180 -0
  379. package/kits/technical-specification/skills/data-model-design/SKILL.md +43 -0
  380. package/kits/technical-specification/skills/data-modeling/SKILL.md +159 -0
  381. package/kits/technical-specification/skills/define-component/SKILL.md +43 -0
  382. package/kits/technical-specification/skills/kit-expertise/SKILL.md +81 -0
  383. package/kits/technical-specification/skills/requirements-analysis/SKILL.md +42 -0
  384. package/kits/technical-specification/skills/security-review/SKILL.md +170 -0
  385. package/kits/technical-specification/skills/spec-review/SKILL.md +39 -0
  386. package/kits/wanderlands/kit.json +399 -0
  387. package/kits/wanderlands/skills/kit-expertise/SKILL.md +376 -0
  388. package/kits/web-application/kit.json +257 -0
  389. package/kits/web-application/skills/kit-expertise/SKILL.md +211 -0
  390. package/kits/wicks-and-whiskers/kit.json +1267 -0
  391. package/kits/wicks-and-whiskers/skills/blog-draft/SKILL.md +145 -0
  392. package/kits/wicks-and-whiskers/skills/booking-digest/SKILL.md +142 -0
  393. package/kits/wicks-and-whiskers/skills/candle-expertise/SKILL.md +69 -0
  394. package/kits/wicks-and-whiskers/skills/customer-insights/SKILL.md +176 -0
  395. package/kits/wicks-and-whiskers/skills/demand-forecast/SKILL.md +159 -0
  396. package/kits/wicks-and-whiskers/skills/email-campaign/SKILL.md +131 -0
  397. package/kits/wicks-and-whiskers/skills/experience-copy/SKILL.md +135 -0
  398. package/kits/wicks-and-whiskers/skills/guest-letter/SKILL.md +154 -0
  399. package/kits/wicks-and-whiskers/skills/inventory-health/SKILL.md +185 -0
  400. package/kits/wicks-and-whiskers/skills/kitten-profile/SKILL.md +159 -0
  401. package/kits/wicks-and-whiskers/skills/memory-narrative/SKILL.md +71 -0
  402. package/kits/wicks-and-whiskers/skills/revenue-report/SKILL.md +197 -0
  403. package/kits/wicks-and-whiskers/skills/social-calendar/SKILL.md +161 -0
  404. package/kits/wicks-and-whiskers/skills/staff-briefing/SKILL.md +174 -0
  405. package/kits/wicks-and-whiskers/skills/venue-data-model/SKILL.md +228 -0
  406. package/kits/world-building/kit.json +497 -0
  407. package/kits/world-building/skills/consistency-check/SKILL.md +179 -0
  408. package/kits/world-building/skills/create-character/SKILL.md +44 -0
  409. package/kits/world-building/skills/create-faction/SKILL.md +44 -0
  410. package/kits/world-building/skills/create-location/SKILL.md +44 -0
  411. package/kits/world-building/skills/create-timeline/SKILL.md +39 -0
  412. package/kits/world-building/skills/culture-builder/SKILL.md +171 -0
  413. package/kits/world-building/skills/design-magic-system/SKILL.md +38 -0
  414. package/kits/world-building/skills/kit-expertise/SKILL.md +110 -0
  415. package/kits/world-building/skills/magic-systems/SKILL.md +161 -0
  416. package/kits/youtube-content-plan/kit.json +346 -0
  417. package/kits/youtube-content-plan/skills/analytics-insights/SKILL.md +166 -0
  418. package/kits/youtube-content-plan/skills/analyze-performance/SKILL.md +43 -0
  419. package/kits/youtube-content-plan/skills/develop-video-idea/SKILL.md +45 -0
  420. package/kits/youtube-content-plan/skills/generate-ideas/SKILL.md +42 -0
  421. package/kits/youtube-content-plan/skills/kit-expertise/SKILL.md +81 -0
  422. package/kits/youtube-content-plan/skills/optimize-metadata/SKILL.md +43 -0
  423. package/kits/youtube-content-plan/skills/script-writing/SKILL.md +180 -0
  424. package/kits/youtube-content-plan/skills/write-script/SKILL.md +44 -0
  425. package/kits/youtube-content-plan/skills/youtube-seo/SKILL.md +172 -0
  426. package/package.json +43 -0
  427. package/src/index.ts +35 -0
  428. package/src/kits/ai-content-studio.ts +377 -0
  429. package/src/kits/api-documentation.ts +352 -0
  430. package/src/kits/axe-house.ts +949 -0
  431. package/src/kits/blog-series.ts +357 -0
  432. package/src/kits/business-plan.ts +406 -0
  433. package/src/kits/canvas-and-corks.ts +928 -0
  434. package/src/kits/character-relationship-map.ts +368 -0
  435. package/src/kits/clay-and-co.ts +956 -0
  436. package/src/kits/concept-map.ts +354 -0
  437. package/src/kits/content-calendar.ts +399 -0
  438. package/src/kits/coworking-space.ts +1084 -0
  439. package/src/kits/escape-vault.ts +1046 -0
  440. package/src/kits/family-tree.ts +381 -0
  441. package/src/kits/farkle-dice-game.ts +318 -0
  442. package/src/kits/franchise-ops.ts +345 -0
  443. package/src/kits/freelance-portfolio.ts +453 -0
  444. package/src/kits/game-design-doc.ts +353 -0
  445. package/src/kits/gather-and-grill.ts +984 -0
  446. package/src/kits/gtd-productivity-system.ts +389 -0
  447. package/src/kits/gym-fitness.ts +1053 -0
  448. package/src/kits/index.ts +76 -0
  449. package/src/kits/interactive-fiction.ts +489 -0
  450. package/src/kits/invoice-generator.ts +484 -0
  451. package/src/kits/loyalty-program.ts +342 -0
  452. package/src/kits/marketing-plan.ts +398 -0
  453. package/src/kits/marketing-site.ts +248 -0
  454. package/src/kits/match-3-puzzle.ts +248 -0
  455. package/src/kits/mind-map.ts +356 -0
  456. package/src/kits/music-collection.ts +404 -0
  457. package/src/kits/music-venue.ts +1002 -0
  458. package/src/kits/novel-writing-system.ts +461 -0
  459. package/src/kits/organization-chart.ts +350 -0
  460. package/src/kits/paws-and-pour.ts +987 -0
  461. package/src/kits/persona-driven-strategy.ts +345 -0
  462. package/src/kits/personal-crm.ts +391 -0
  463. package/src/kits/personal-wiki.ts +323 -0
  464. package/src/kits/petal-press.ts +1014 -0
  465. package/src/kits/pitch-deck.ts +395 -0
  466. package/src/kits/podcast-series.ts +324 -0
  467. package/src/kits/pour-house.ts +930 -0
  468. package/src/kits/presentation.ts +276 -0
  469. package/src/kits/product-requirements-doc.ts +359 -0
  470. package/src/kits/project-timeline.ts +368 -0
  471. package/src/kits/reading-tracker.ts +368 -0
  472. package/src/kits/recipe-manager.ts +376 -0
  473. package/src/kits/saas-app.ts +423 -0
  474. package/src/kits/salon-barbershop.ts +1037 -0
  475. package/src/kits/screenplay-writing.ts +412 -0
  476. package/src/kits/social-media-manager.ts +494 -0
  477. package/src/kits/teacher-lesson-plan.ts +410 -0
  478. package/src/kits/technical-specification.ts +363 -0
  479. package/src/kits/wanderlands.ts +401 -0
  480. package/src/kits/web-application.ts +275 -0
  481. package/src/kits/wicks-and-whiskers.ts +1285 -0
  482. package/src/kits/world-building.ts +476 -0
  483. package/src/kits/youtube-content-plan.ts +339 -0
  484. package/src/registry.ts +60 -0
  485. package/src/skills/api-documentation/index.ts +47 -0
  486. package/src/skills/axe-house/index.ts +71 -0
  487. package/src/skills/blog-series/index.ts +43 -0
  488. package/src/skills/business-plan/index.ts +43 -0
  489. package/src/skills/canvas-and-corks/index.ts +75 -0
  490. package/src/skills/character-relationship-map/index.ts +23 -0
  491. package/src/skills/clay-and-co/index.ts +75 -0
  492. package/src/skills/concept-map/index.ts +43 -0
  493. package/src/skills/content-calendar/index.ts +43 -0
  494. package/src/skills/escape-vault/index.ts +75 -0
  495. package/src/skills/family-tree/index.ts +43 -0
  496. package/src/skills/farkle-dice-game/index.ts +15 -0
  497. package/src/skills/game-design-doc/index.ts +47 -0
  498. package/src/skills/gather-and-grill/index.ts +75 -0
  499. package/src/skills/gtd-productivity-system/index.ts +43 -0
  500. package/src/skills/index.ts +109 -0
  501. package/src/skills/marketing-plan/index.ts +43 -0
  502. package/src/skills/marketing-site/index.ts +39 -0
  503. package/src/skills/match-3-puzzle/index.ts +15 -0
  504. package/src/skills/mind-map/index.ts +43 -0
  505. package/src/skills/music-collection/index.ts +43 -0
  506. package/src/skills/novel-writing-system/index.ts +47 -0
  507. package/src/skills/organization-chart/index.ts +43 -0
  508. package/src/skills/paws-and-pour/index.ts +75 -0
  509. package/src/skills/persona-driven-strategy/index.ts +27 -0
  510. package/src/skills/personal-crm/index.ts +39 -0
  511. package/src/skills/personal-wiki/index.ts +23 -0
  512. package/src/skills/petal-press/index.ts +75 -0
  513. package/src/skills/pitch-deck/index.ts +39 -0
  514. package/src/skills/podcast-series/index.ts +47 -0
  515. package/src/skills/pour-house/index.ts +75 -0
  516. package/src/skills/product-requirements-doc/index.ts +47 -0
  517. package/src/skills/project-timeline/index.ts +43 -0
  518. package/src/skills/reading-tracker/index.ts +35 -0
  519. package/src/skills/recipe-manager/index.ts +39 -0
  520. package/src/skills/saas-app/index.ts +27 -0
  521. package/src/skills/screenplay-writing/index.ts +43 -0
  522. package/src/skills/teacher-lesson-plan/index.ts +43 -0
  523. package/src/skills/technical-specification/index.ts +47 -0
  524. package/src/skills/wanderlands/index.ts +15 -0
  525. package/src/skills/web-application/index.ts +15 -0
  526. package/src/skills/wicks-and-whiskers/index.ts +71 -0
  527. package/src/skills/world-building/index.ts +47 -0
  528. package/src/skills/youtube-content-plan/index.ts +47 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @module @soulcraft/kits/skills/project-timeline
3
+ * @description Raw SKILL.md content for the project-timeline kit's AI skills.
4
+ *
5
+ * Generated from: kits/project-timeline/skills/{skillId}/SKILL.md
6
+ * Do not edit directly — edit the source SKILL.md files and re-run `bun run build:skills`.
7
+ */
8
+
9
+ /** Raw SKILL.md content for the `status-update` skill. */
10
+ export const statusUpdate = "---\nid: status-update\nname: Create Status Update\ndescription: Generate a project status report\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Create Status Update\n\nGenerate a project status report\n\n### Steps\n\n1. Review current milestone status (On Track/At Risk/Blocked/Complete)\n2. Calculate overall project health\n3. Identify completed work since last update\n4. List in-progress work with expected completion\n5. Document any blockers or risks\n6. Update variance (planned vs. actual) for completed items\n7. Forecast impact on future milestones\n8. List action items and owners\n9. Generate summary for stakeholders\n\n### Expected Outputs\n\n- Status report\n- Updated milestone statuses\n- Action items\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"status update\"\n- \"project status\"\n- \"where are we\"\n- \"progress report\"\n";
11
+
12
+ /** Raw SKILL.md content for the `add-milestone` skill. */
13
+ export const addMilestone = "---\nid: add-milestone\nname: Add Milestone\ndescription: Add a new milestone to the project timeline\nversion: \"1.0.0\"\ntype: invocable\nparameters: [name, date]\nrequiresVision: false\nrequiresData: false\n---\n\n## Add Milestone\n\nAdd a new milestone to the project timeline\n\n### Steps\n\n1. Define the milestone name and target date\n2. Describe the deliverable that marks completion\n3. Identify what must be complete before this milestone (dependencies)\n4. Identify what depends on this milestone\n5. Assign an owner responsible for the milestone\n6. Create the milestone file in milestones/ directory\n7. Add \"precedes\" or \"depends-on\" relationships\n8. Update the timeline view\n\n### Inputs Required\n\n- **name** (required): Milestone name\n- **date** (required): Target date\n- **dependsOn** (optional): Prerequisites\n\n### Expected Outputs\n\n- New milestone file\n- Updated timeline relationships\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"add milestone\"\n- \"new milestone\"\n- \"add checkpoint\"\n- \"add deadline\"\n";
14
+
15
+ /** Raw SKILL.md content for the `dependency-analysis` skill. */
16
+ export const dependencyAnalysis = "---\nid: dependency-analysis\nname: dependency-analysis\ndescription: Identify and manage task/milestone dependencies in project timelines\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Dependency Analysis Skill\n\nWhen the user invokes `/dependencies`, help them identify, map, and manage dependencies in their project timeline.\n\n### Invocation Patterns\n\n- `/dependencies` - Analyze all project dependencies\n- `/dependencies [task]` - Find dependencies for specific task\n- `/dependencies critical` - Identify critical path\n- `/dependencies risks` - Dependency risk analysis\n\n### Dependency Types\n\n**Finish-to-Start (FS)**\n- Most common\n- Task B can't start until Task A finishes\n- A → B\n\n**Start-to-Start (SS)**\n- Task B can't start until Task A starts\n- Both can run in parallel after\n- A ⇢ B\n\n**Finish-to-Finish (FF)**\n- Task B can't finish until Task A finishes\n- Can start independently\n- A ⇝ B\n\n**Start-to-Finish (SF)**\n- Task B can't finish until Task A starts\n- Rare, used for just-in-time\n\n### Output Format\n\n```markdown\n## Dependency Analysis: [Project Name]\n\n### Dependency Overview\n- **Total tasks**: X\n- **Dependencies identified**: X\n- **Critical path length**: X tasks\n- **Parallel paths**: X\n\n### Dependency Matrix\n\n| Task | Depends On | Type | Blocks | Lag |\n|------|------------|------|--------|-----|\n| A | - | - | B, C | - |\n| B | A | FS | D | - |\n| C | A | FS | D | 2 days |\n| D | B, C | FS | E | - |\n\n### Dependency Graph\n```\n[A] ───→ [B] ───→ [D] ───→ [E]\n └────→ [C] ─────┘\n```\n\n### Critical Path\nThe longest sequence determining minimum duration:\n\n**A → B → D → E** (X days total)\n\n| Task | Duration | Start | End | Float |\n|------|----------|-------|-----|-------|\n| A | 3d | Day 1 | Day 3 | 0 |\n| B | 5d | Day 4 | Day 8 | 0 |\n| D | 4d | Day 9 | Day 12 | 0 |\n| E | 2d | Day 13 | Day 14 | 0 |\n\n### Non-Critical Paths\nTasks with float (can slip without affecting end date):\n\n| Path | Duration | Float |\n|------|----------|-------|\n| A → C → D | 10 days | 2 days |\n\n### Dependency Details\n\n#### [Task A]: [Task Name]\n**Predecessors**: None (start task)\n**Successors**: [B], [C]\n**Dependency Type**: -\n**Critical Path**: ✓\n\n#### [Task B]: [Task Name]\n**Predecessors**: [A] (FS)\n**Successors**: [D]\n**Dependency Type**: Finish-to-Start\n**Lag**: None\n**Critical Path**: ✓\n**Why this dependency**: [Explanation]\n\n[Continue for each task...]\n\n### Risk Analysis\n\n#### High-Risk Dependencies\n| Dependency | Risk | Impact | Mitigation |\n|------------|------|--------|------------|\n| A → B | Single resource | High | Cross-train |\n| C → D | External delivery | Medium | Early order |\n\n#### Bottlenecks\nTasks with multiple predecessors (wait for all):\n- **[Task D]**: Waiting on [B] AND [C]\n - Mitigation: [Strategy]\n\n#### Resource Conflicts\nWhere same resource is needed on parallel tasks:\n- [Resource] needed for [Task X] and [Task Y]\n - Resolution: [Strategy]\n\n### Optimization Opportunities\n\n**Can Run in Parallel**\n- [Task X] and [Task Y] currently sequential but could parallelize\n\n**Dependency Can Be Removed**\n- [Task A] → [Task B] dependency might not be necessary if [condition]\n\n**Fast-Tracking Options**\n- Start [Task B] when [Task A] is 80% complete\n```\n\n### Dependency Questions\n\n**To Identify Dependencies**\n- What must be complete before this can start?\n- What does this enable?\n- What external inputs are needed?\n- Who else needs to finish something?\n- What decisions must be made first?\n\n### Critical Path Method\n\n**Finding Critical Path**\n1. List all tasks with durations\n2. Map all dependencies\n3. Forward pass (earliest start/finish)\n4. Backward pass (latest start/finish)\n5. Calculate float (latest - earliest)\n6. Zero float = critical path\n\n**Why Critical Path Matters**\n- Determines minimum project duration\n- These tasks can't slip\n- Focus management attention\n- Buffer other paths, not this one\n\n### Managing Dependencies\n\n**Reduce Dependencies**\n- Question if dependency is real\n- Find alternative approaches\n- Pre-work to remove blockers\n\n**Fast-Tracking**\n- Overlap dependent tasks\n- Start before predecessor fully complete\n- Increases risk but saves time\n\n**Crashing**\n- Add resources to critical path tasks\n- Costs more but reduces duration\n- Only effective on critical path\n";
17
+
18
+ /** Raw SKILL.md content for the `assess-risks` skill. */
19
+ export const assessRisks = "---\nid: assess-risks\nname: Assess Project Risks\ndescription: Identify and plan for schedule risks\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Assess Project Risks\n\nIdentify and plan for schedule risks\n\n### Steps\n\n1. Review all milestones and dependencies\n2. Identify external dependencies (other teams, vendors)\n3. Assess technical risks (unknowns, complexity)\n4. Evaluate resource risks (availability, skills)\n5. Rate each risk by probability and impact\n6. Create mitigation plan for high risks\n7. Add buffer where risks are highest\n8. Document risks in a risk register\n9. Plan regular risk review checkpoints\n\n### Expected Outputs\n\n- Risk register\n- Mitigation plans\n- Recommended buffers\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"risks\"\n- \"what could go wrong\"\n- \"schedule risks\"\n- \"blockers\"\n";
20
+
21
+ /** Raw SKILL.md content for the `milestone-planning` skill. */
22
+ export const milestonePlanning = "---\nid: milestone-planning\nname: milestone-planning\ndescription: Define meaningful project milestones with clear criteria\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Milestone Planning Skill\n\nWhen the user invokes `/milestones`, help them define meaningful project milestones with clear success criteria.\n\n### Invocation Patterns\n\n- `/milestones` - Define milestones for current project\n- `/milestones [phase]` - Define milestones for specific phase\n- `/milestones review` - Review and validate existing milestones\n\n### What Makes a Good Milestone\n\n**Characteristics**\n- Clear, binary completion (done/not done)\n- Represents meaningful progress\n- Has specific deliverables\n- Enables celebration and assessment\n- Creates natural review point\n\n**Not Good Milestones**\n- \"50% complete\" (arbitrary percentage)\n- \"Working on design\" (activity, not outcome)\n- \"Meeting held\" (event, not achievement)\n\n### Output Format\n\n```markdown\n## Project Milestones: [Project Name]\n\n### Project Overview\n- **Project goal**: [Ultimate outcome]\n- **Timeline**: [Start] → [End]\n- **Total milestones**: [X]\n\n### Milestone Map\n```\n[MS1] ────→ [MS2] ────→ [MS3] ────→ [MS4] ────→ [Complete]\n │ │ │ │\n Week 2 Week 4 Week 8 Week 12\n```\n\n### Milestone Definitions\n\n#### M1: [Milestone Name]\n**Target Date**: [Date]\n**Status**: [Not Started / In Progress / Complete]\n\n**Description**:\n[What this milestone represents in 1-2 sentences]\n\n**Deliverables**:\n- [ ] [Deliverable 1]\n- [ ] [Deliverable 2]\n- [ ] [Deliverable 3]\n\n**Success Criteria**:\n- [How you know it's truly done]\n- [Measurable condition]\n\n**Dependencies**:\n- Depends on: [What must come first]\n- Enables: [What this unlocks]\n\n**Key Risks**:\n- [Risk 1]: [Mitigation]\n\n---\n\n#### M2: [Milestone Name]\n[Same format...]\n\n---\n\n### Milestone Summary Table\n| # | Milestone | Target | Deliverables | Dependencies |\n|---|-----------|--------|--------------|--------------|\n| 1 | [Name] | [Date] | [Count] | None |\n| 2 | [Name] | [Date] | [Count] | M1 |\n| 3 | [Name] | [Date] | [Count] | M2 |\n\n### Critical Path\nThese milestones are on the critical path:\n- [M1] → [M2] → [M4]\n\n### Buffer Assessment\n- **Total project duration**: [X weeks]\n- **Buffer built in**: [Y weeks]\n- **Highest risk milestone**: [Name]\n```\n\n### Milestone Types\n\n**Phase Gates**\n- End of distinct project phase\n- Approval/review checkpoint\n- Go/no-go decision point\n\n**Deliverable Milestones**\n- Specific output complete\n- Product or artifact created\n- Can be demonstrated\n\n**Integration Milestones**\n- Components come together\n- Systems connected\n- End-to-end working\n\n**Validation Milestones**\n- Testing complete\n- Acceptance achieved\n- Quality confirmed\n\n### Planning Approach\n\n**Work Backward**\n1. Start with final deliverable\n2. Identify last milestone before delivery\n3. Work backward to start\n4. Validate timeline\n\n**Work Forward**\n1. Start with known first steps\n2. Identify natural phase boundaries\n3. Add integration/validation points\n4. Extend to completion\n\n### Milestone Quantity Guidelines\n\n| Project Length | Suggested Milestones |\n|---------------|---------------------|\n| 1-4 weeks | 2-3 |\n| 1-3 months | 4-6 |\n| 3-6 months | 6-10 |\n| 6-12 months | 8-15 |\n\n**Rule of Thumb**: Major milestone every 2-4 weeks\n\n### Success Criteria Writing\n\n**Good Criteria**\n- Binary (yes/no determinable)\n- Observable/demonstrable\n- Independent of opinion\n- Specific enough to test\n\n**Examples**\n- \"API returns correct response for all test cases\"\n- \"Three stakeholders have signed off on design\"\n- \"System handles 100 concurrent users\"\n- \"All P1 bugs resolved\"\n\n### Common Milestone Mistakes\n\n- Too many milestones (micromanaging)\n- Too few milestones (no checkpoints)\n- Vague criteria (hard to assess)\n- Missing dependencies\n- No buffer for delays\n- Activity-based not outcome-based\n";
23
+
24
+ /** Raw SKILL.md content for the `add-task` skill. */
25
+ export const addTask = "---\nid: add-task\nname: Add Task\ndescription: Add a task under a milestone\nversion: \"1.0.0\"\ntype: invocable\nparameters: [taskName, milestone]\nrequiresVision: false\nrequiresData: false\n---\n\n## Add Task\n\nAdd a task under a milestone\n\n### Steps\n\n1. Identify the parent milestone\n2. Define the task name and description\n3. Estimate effort (hours or days)\n4. Assign an owner\n5. Identify task dependencies\n6. Set start and end dates based on dependencies\n7. Add the task to the milestone file or create separate task file\n8. Update task relationships in the graph\n\n### Inputs Required\n\n- **taskName** (required): Task name\n- **milestone** (required): Parent milestone\n- **effort** (optional): Estimated effort\n\n### Expected Outputs\n\n- Task documented under milestone\n- Updated dependencies\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"add task\"\n- \"new task\"\n- \"break down milestone\"\n";
26
+
27
+ /** Raw SKILL.md content for the `kit-expertise` skill. */
28
+ export const kitExpertise = "---\nid: kit-expertise\nname: kit-expertise\ndescription: Domain expertise for Project Timeline / Roadmap - applied automatically when working in this kit\nversion: \"1.0.0\"\ntype: background\nrequiresVision: false\nrequiresData: false\n---\n\n## Your Role\n\nProject Planning Specialist helping you create realistic timelines and track project milestones\n\n## Your Expertise\n\n- Project timeline creation\n- Milestone definition\n- Dependency mapping\n- Critical path analysis\n- Resource allocation\n- Risk identification\n- Progress tracking\n- Schedule optimization\n\n## Your Approach\n\nWork alongside the user as a creative partner\n\n## Things to Avoid\n\n- Unrealistic timelines\n- Missing dependencies\n- Ignoring resource constraints\n- No buffer time for risks\n\n## Domain Knowledge\n\n### Key Terms\n\n**milestone**\nSignificant checkpoint in the project\n\n**dependency**\nTask that must complete before another\n\n**critical path**\nLongest sequence of dependent tasks\n\n**buffer**\nExtra time for unexpected delays\n\n**deliverable**\nTangible output of work\n\n**phase**\nMajor section of the project\n\n**sprint**\nTime-boxed iteration of work\n\n**blocker**\nIssue preventing progress\n\n### Best Practices\n\n- Define clear milestones\n- Map all dependencies\n- Include buffer time\n- Identify the critical path\n- Assign owners to tasks\n- Review and adjust regularly\n\n### Common Mistakes to Avoid\n\n- No dependencies mapped\n- Overly optimistic estimates\n- Missing milestones\n- No buffer for risks\n- Ignoring resource constraints\n- Static plans that never update\n";
29
+
30
+ /** Raw SKILL.md content for the `identify-critical-path` skill. */
31
+ export const identifyCriticalPath = "---\nid: identify-critical-path\nname: Identify Critical Path\ndescription: Find the longest chain of dependent tasks\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Identify Critical Path\n\nFind the longest chain of dependent tasks\n\n### Steps\n\n1. List all milestones and tasks with their durations\n2. Map all dependencies between items\n3. Calculate earliest start/finish for each item\n4. Calculate latest start/finish for each item\n5. Identify items where earliest = latest (zero slack)\n6. The chain of zero-slack items is the critical path\n7. Document the critical path in README\n8. Recommend protecting critical path activities\n\n### Expected Outputs\n\n- Critical path documentation\n- Risk assessment for critical items\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"critical path\"\n- \"longest path\"\n- \"what drives the deadline\"\n- \"schedule risk\"\n";
32
+
33
+ /** All skills for the project-timeline kit, keyed by skill ID. */
34
+ export const allSkills: Record<string, string> = {
35
+ 'status-update': statusUpdate,
36
+ 'add-milestone': addMilestone,
37
+ 'dependency-analysis': dependencyAnalysis,
38
+ 'assess-risks': assessRisks,
39
+ 'milestone-planning': milestonePlanning,
40
+ 'add-task': addTask,
41
+ 'kit-expertise': kitExpertise,
42
+ 'identify-critical-path': identifyCriticalPath
43
+ };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @module @soulcraft/kits/skills/reading-tracker
3
+ * @description Raw SKILL.md content for the reading-tracker kit's AI skills.
4
+ *
5
+ * Generated from: kits/reading-tracker/skills/{skillId}/SKILL.md
6
+ * Do not edit directly — edit the source SKILL.md files and re-run `bun run build:skills`.
7
+ */
8
+
9
+ /** Raw SKILL.md content for the `reading-insights` skill. */
10
+ export const readingInsights = "---\nid: reading-insights\nname: reading-insights\ndescription: Generate insights from reading history and patterns\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: true\nrequiresData: false\n---\n\n## Reading Insights Skill\n\nWhen the user invokes `/insights`, help them analyze their reading history to discover patterns and generate actionable insights.\n\n### Invocation Patterns\n\n- `/insights` - Full reading analysis\n- `/insights year` - This year's reading analysis\n- `/insights genre [genre]` - Genre-specific insights\n- `/insights growth` - Learning/growth analysis\n\n### Analysis Dimensions\n\n**Quantity Metrics**\n- Books completed\n- Pages/words read\n- Reading pace\n- DNF (did not finish) rate\n\n**Quality Metrics**\n- Ratings distribution\n- Memorable books\n- Re-read frequency\n- Recommendation rate\n\n**Diversity Metrics**\n- Genre spread\n- Author diversity\n- Publication date range\n- Format variety\n\n### Output Format\n\n```markdown\n## Reading Insights: [Time Period]\n\n### Overview\n- **Books read**: X\n- **Average rating**: X.X/5\n- **Total pages**: ~X\n- **Reading pace**: X books/month\n\n### Reading Patterns\n\n#### Genre Distribution\n| Genre | Count | % | Avg Rating |\n|-------|-------|---|------------|\n| [Genre 1] | X | X% | X.X |\n| [Genre 2] | X | X% | X.X |\n\n#### Monthly Trend\n```\nBooks │\n 8 │ █\n 6 │ █ █ █\n 4 │ █ █ █ █ █ █\n 2 │ █ █ █ █ █ █ █\n └─────────────────\n J F M A M J J...\n```\n\n### Top Rated Books\n1. **[Title]** by [Author] - ⭐ [Rating]\n - Why it resonated: [Brief note]\n2. [Continue...]\n\n### Reading Themes\n\n**Dominant Themes This Period**\n1. [Theme]: [Books that explored this]\n2. [Theme]: [Books that explored this]\n\n**Emerging Interests**\n- [New topic/genre you're exploring]\n- [Pattern in recent reads]\n\n### Growth Analysis\n\n**Knowledge Deepened In**\n- [Subject 1]: [Books that built expertise]\n- [Subject 2]: [Books that built expertise]\n\n**New Territory Explored**\n- [First book in new genre/topic]\n- [Expansion of comfort zone]\n\n### Reading Velocity\n\n| Period | Books | Avg Days/Book |\n|--------|-------|---------------|\n| Q1 | X | X days |\n| Q2 | X | X days |\n\n**Factors Affecting Pace**\n- [Observation about reading speed]\n\n### DNF Analysis\n- **DNF count**: X\n- **Common reasons**: [Why you quit books]\n- **Pattern**: [Any genre/type you consistently DNF]\n\n### Recommendations\n\n**Based on Your History**\nYou tend to love books that are [characteristic]. Consider:\n- [Book suggestion 1]: [Why]\n- [Book suggestion 2]: [Why]\n\n**Gaps to Fill**\n- You haven't read much [genre/topic] - consider exploring\n- [Author] would fit your taste based on [pattern]\n\n### Goals & Progress\n\n**If goals set**:\n- Goal: X books | Progress: Y (Z%)\n- Genre goals: [Progress]\n\n**Suggested Goals**\nBased on patterns, consider:\n- Read X books from [underexplored area]\n- Try [format you haven't explored]\n```\n\n### Pattern Recognition\n\n**What to Look For**\n- Seasonal reading habits\n- Preferred book lengths\n- Rating consistency\n- Author loyalty\n- Format preferences\n\n**Questions to Ask**\n- What books do I rate highest?\n- What makes me DNF?\n- When do I read most?\n- What's my comfort zone?\n- Where am I growing?\n\n### Goal Setting Based on Insights\n\n**Quantity Goals**\n- Based on past pace\n- Realistic stretch\n\n**Quality Goals**\n- Read more highly-rated books\n- Reduce DNF rate\n- More intentional selection\n\n**Diversity Goals**\n- New genres to explore\n- Author diversity\n- Time period variety\n- Format experimentation\n\n### Visualization Ideas\n\n**Track Over Time**\n- Books per month/year\n- Genre evolution\n- Rating trends\n- Page count trends\n\n**Compare & Contrast**\n- Fiction vs. non-fiction ratio\n- New authors vs. favorites\n- Library vs. owned\n";
11
+
12
+ /** Raw SKILL.md content for the `book-connections` skill. */
13
+ export const bookConnections = "---\nid: book-connections\nname: book-connections\ndescription: Find thematic connections between books in your reading history\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Book Connections Skill\n\nWhen the user invokes `/connections`, help them discover thematic and conceptual connections between books they've read.\n\n### Invocation Patterns\n\n- `/connections` - Analyze connections across library\n- `/connections [book]` - Find books related to specific title\n- `/connections theme [theme]` - Find books sharing a theme\n- `/connections sequence` - Suggest reading sequences\n\n### Connection Types\n\n**Thematic Connections**\n- Shared themes or ideas\n- Similar philosophical positions\n- Common subject matter\n\n**Authorial Connections**\n- Same author\n- Influenced by/influences\n- Same school of thought\n- Contemporaries\n\n**Response/Dialogue**\n- Books that respond to each other\n- Critiques and rebuttals\n- Building on ideas\n- Opposing viewpoints\n\n**Genre/Style**\n- Same genre\n- Similar writing style\n- Same narrative approach\n\n### Output Format\n\n```markdown\n## Book Connections Analysis\n\n### Library Overview\n- **Total books**: X\n- **Genres covered**: [List]\n- **Most connected book**: [Title]\n- **Thematic clusters**: X identified\n\n### Connection Map\n\n#### Cluster 1: [Theme Name]\n```\n[Book A] ←→ [Book B]\n ↓ ↓\n[Book C] ←→ [Book D]\n```\n**Theme**: [Description]\n**Key connection**: [Explanation]\n\n#### Cluster 2: [Theme Name]\n[Same format]\n\n### Specific Book Connections\n\nFor: **[Book Title]**\n\n| Connected Book | Connection Type | Strength | Why |\n|---------------|-----------------|----------|-----|\n| [Book B] | Thematic | Strong | [Explanation] |\n| [Book C] | Authorial | Medium | [Explanation] |\n| [Book D] | Dialogue | Strong | [Explanation] |\n\n### Cross-Genre Connections\nSurprising links between different genres:\n- **[Fiction Book]** ↔ **[Non-Fiction Book]**: [Connection]\n\n### Reading Sequences\n\n**Suggested Sequence 1**: [Theme] Journey\n1. [Book A] - [Why start here]\n2. [Book B] - [How it builds]\n3. [Book C] - [Deepens understanding]\n4. [Book D] - [Synthesis or capstone]\n\n### Underexplored Connections\nBooks that could connect but you haven't explored:\n- [Book X] might relate to [Theme Y]\n- Consider reading [Book Z] to connect [Cluster A] and [Cluster B]\n\n### Books That Bridge\nThese books connect otherwise separate clusters:\n- **[Book]**: Links [Cluster A] to [Cluster B]\n```\n\n### Finding Connections\n\n**Questions to Ask**\n- What questions does this book answer?\n- What questions does it raise?\n- What would the author think of [other book]?\n- What's the opposite position?\n- Who influenced this author?\n\n**Connection Strength**\n- **Strong**: Direct engagement with same ideas\n- **Medium**: Related themes or approaches\n- **Weak**: Tangential relationship\n\n### Thematic Categories\n\n**Big Ideas**\n- Human nature\n- Consciousness\n- Morality/ethics\n- Power and society\n- Knowledge and truth\n\n**Practical Themes**\n- Leadership\n- Creativity\n- Decision-making\n- Communication\n- Learning\n\n**Life Themes**\n- Meaning and purpose\n- Relationships\n- Growth and change\n- Mortality\n- Identity\n\n### Building Reading Journeys\n\n**Linear Journey**\nBook A → B → C (building understanding)\n\n**Dialogue Journey**\nBook A ↔ Book B (contrasting views)\n\n**Synthesis Journey**\nBooks A, B, C → Book D (bringing together)\n\n**Historical Journey**\nClassic → Response → Modern synthesis\n\n### Cross-Pollination Benefits\n\n**Why Connections Matter**\n- Deeper understanding\n- New insights at intersections\n- Better retention\n- Creative thinking\n- Richer discussions\n";
14
+
15
+ /** Raw SKILL.md content for the `kit-expertise` skill. */
16
+ export const kitExpertise = "---\nid: kit-expertise\nname: kit-expertise\ndescription: Domain expertise for Reading Tracker - applied automatically when working in this kit\nversion: \"1.0.0\"\ntype: background\nrequiresVision: false\nrequiresData: false\n---\n\n## Your Role\n\nYou are a literary application developer helping build a personal reading tracker. You understand book metadata, author relationships, and how themes connect across literature. You help users create a \"second brain\" for their reading.\n\n## Your Expertise\n\n- Book metadata and cataloging\n- Author-book relationships\n- Theme and concept tracking\n- Quote management\n- Reading progress tracking\n- Literary connections and references\n- SvelteKit and Brainy integration\n\n## Your Approach\n\nWork alongside the user as a creative partner\n\n## Domain Knowledge\n\n### Key Terms\n\n**book**\nA literary work, stored as Brainy 'document' entity\n\n**author**\nA book's writer, stored as 'person' entity\n\n**quote**\nA memorable passage, stored as 'content' entity\n\n**theme**\nA recurring idea/concept, stored as 'concept' entity\n\n**reading status**\nTo-read, reading, completed status\n\n**DNF**\nDid Not Finish - abandoned book\n\n**TBR**\nTo Be Read - books in your queue\n\n### Best Practices\n\n- Store books as 'document' entities\n- Store authors as 'person' entities\n- Store quotes as 'content' entities\n- Store themes as 'concept' entities\n- Use 'createdBy' for book-to-author\n- Use 'contains' for book-to-quote\n- Use 'describes' for theme-to-book\n- Use 'references' for book-to-book citations\n- Track reading start/end dates for timeline\n- Rate books using consistent scale\n\n### Common Mistakes to Avoid\n\n- Not tracking when you read books\n- Forgetting to note memorable quotes\n- Not linking authors to their books\n- Ignoring thematic connections across books\n";
17
+
18
+ /** Raw SKILL.md content for the `log-progress` skill. */
19
+ export const logProgress = "---\nid: log-progress\nname: Log Reading Progress\ndescription: Update progress on current read\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Log Reading Progress\n\nUpdate progress on current read\n\n### Steps\n\n1. Update current page/percentage\n2. Optionally add notes or quotes\n3. Mark as completed if finished\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"update progress\"\n- \"reading update\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
20
+
21
+ /** Raw SKILL.md content for the `save-quote` skill. */
22
+ export const saveQuote = "---\nid: save-quote\nname: Save Quote\ndescription: Save a memorable quote from a book\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Save Quote\n\nSave a memorable quote from a book\n\n### Steps\n\n1. Create content entity for quote\n2. Link to source book with page number\n3. Optionally link to related themes\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"save quote\"\n- \"add quote\"\n- \"memorable passage\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
23
+
24
+ /** Raw SKILL.md content for the `add-book` skill. */
25
+ export const addBook = "---\nid: add-book\nname: Add Book to Library\ndescription: Add a new book with author and metadata\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Add Book to Library\n\nAdd a new book with author and metadata\n\n### Steps\n\n1. Create book document entity\n2. Add or link existing author\n3. Set reading status (to-read, reading, completed)\n4. Add genre/theme tags\n5. Optionally add to reading queue\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"add book\"\n- \"new book\"\n- \"track book\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
26
+
27
+ /** All skills for the reading-tracker kit, keyed by skill ID. */
28
+ export const allSkills: Record<string, string> = {
29
+ 'reading-insights': readingInsights,
30
+ 'book-connections': bookConnections,
31
+ 'kit-expertise': kitExpertise,
32
+ 'log-progress': logProgress,
33
+ 'save-quote': saveQuote,
34
+ 'add-book': addBook
35
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @module @soulcraft/kits/skills/recipe-manager
3
+ * @description Raw SKILL.md content for the recipe-manager kit's AI skills.
4
+ *
5
+ * Generated from: kits/recipe-manager/skills/{skillId}/SKILL.md
6
+ * Do not edit directly — edit the source SKILL.md files and re-run `bun run build:skills`.
7
+ */
8
+
9
+ /** Raw SKILL.md content for the `generate-shopping-list` skill. */
10
+ export const generateShoppingList = "---\nid: generate-shopping-list\nname: Generate Shopping List\ndescription: Create shopping list from planned meals\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Generate Shopping List\n\nCreate shopping list from planned meals\n\n### Steps\n\n1. Get meals for date range\n2. Aggregate ingredients across recipes\n3. Group by category (produce, dairy, etc.)\n4. Export as checklist\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"shopping list\"\n- \"grocery list\"\n- \"what to buy\"\n";
11
+
12
+ /** Raw SKILL.md content for the `scaling-recipes` skill. */
13
+ export const scalingRecipes = "---\nid: scaling-recipes\nname: scaling-recipes\ndescription: Background expertise in properly scaling recipes up or down\nversion: \"1.0.0\"\ntype: background\nrequiresVision: false\nrequiresData: false\n---\n\n## Recipe Scaling Expertise\n\nYou have expertise in properly scaling recipes while maintaining taste, texture, and cooking success. Apply these principles when helping users adjust recipe quantities.\n\n### Basic Scaling Math\n\n**Simple Scaling Factor**\n```\nScaling Factor = Desired Servings / Original Servings\nNew Amount = Original Amount × Scaling Factor\n```\n\n**Example**\n- Recipe serves 4, need 6\n- Factor: 6/4 = 1.5\n- 2 cups flour × 1.5 = 3 cups flour\n\n### What Scales Linearly\n\n**Almost Always Scale Proportionally**\n- Main ingredients (meat, vegetables)\n- Liquids (broth, water, milk)\n- Fats (oil, butter in most cases)\n- Starches (pasta, rice, grains)\n- Sugars (in most cases)\n- Dairy products\n\n### What DOESN'T Scale Linearly\n\n**Seasonings & Spices**\n- Scale to 1.5x when doubling\n- Scale to 0.75x when halving\n- Taste and adjust\n\n**Leavening Agents**\n- Baking powder: Scale to 0.9x when doubling\n- Baking soda: Scale conservatively (0.75x when doubling)\n- Yeast: Scale to 0.75x when doubling\n\n**Salt**\n- Scale to 1.5x when doubling (not 2x)\n- Always taste and adjust\n- More surface area = less salt needed\n\n**Strong Flavors**\n- Garlic, onion, hot peppers\n- Vanilla, extracts\n- Vinegar, citrus\n- Scale conservatively, taste, adjust\n\n**Eggs**\n- Can't easily split an egg\n- Round to nearest whole egg\n- Use size adjustments (large vs medium)\n- For half egg: Beat and measure by volume\n\n### Cooking Time Adjustments\n\n**Doesn't Change Much**\n- Stovetop cooking (still same heat transfer)\n- Thin items (cookies, cutlets)\n- Items spread in single layer\n\n**Does Change**\n- Large roasts (more mass = longer time)\n- Deep casseroles\n- Dense baked goods\n- Anything increasing in thickness\n\n**General Guidelines**\n- Doubling a roast: Add 25-50% time\n- Halving a casserole: Reduce 25% time\n- Monitor internal temp, not just time\n- Start checking early\n\n### Baking Considerations\n\n**Pan Size Matters**\n- Same batter volume = same pan size\n- Different pan = different results\n- Calculate pan volume if changing\n\n**Pan Volume**\n```\nRectangle: L × W × H\nRound: π × r² × H\n```\n\n**Batter Depth**\n- Keep similar depth to original\n- Too deep = raw middle\n- Too shallow = overdone\n\n**When Doubling Baked Goods**\n- Make two batches, don't double\n- OR use two pans at original size\n- Large batters rise differently\n\n### Equipment Adjustments\n\n**Pot/Pan Size**\n- Need enough room for ingredients\n- Too crowded = steaming not searing\n- Too empty = scorching\n\n**Mixing Bowls**\n- Larger batches need larger bowls\n- Allow room for mixing\n- Especially for doughs\n\n**Oven Capacity**\n- Multiple pans may need rotation\n- Airflow affects cooking\n- Adjust rack positions\n\n### Converting Measurements\n\n**Volume to Weight (for scaling)**\nConverting to weight is more accurate:\n- 1 cup all-purpose flour ≈ 120g\n- 1 cup sugar ≈ 200g\n- 1 cup butter ≈ 227g\n\n**Awkward Amounts**\nWhen scaling creates odd measurements:\n- 2.3 cups → 2⅓ cups or 2 cups + 3 tbsp\n- Round to nearest practical measure\n- Err toward less for strong flavors\n\n### Special Cases\n\n**Slow Cooker**\n- Must be 50-75% full\n- Scale to fit cooker size\n- Time doesn't change much\n- Liquid may need less increase\n\n**Instant Pot/Pressure Cooker**\n- Don't exceed max fill\n- Liquid minimums don't scale down\n- Time based on thickest piece\n\n**Soup/Stew**\n- Scales well\n- Liquid can scale less than solids\n- Seasoning to taste\n\n**Bread**\n- Yeast doesn't scale linearly\n- Rise times may increase\n- Better to make multiple batches\n\n### Common Mistakes\n\n- Scaling salt 1:1 (too salty)\n- Scaling spices 1:1 (too strong)\n- Doubling leavening (metallic taste, collapse)\n- Same pan for doubled recipe (won't cook through)\n- Same time for much larger/smaller amounts\n- Not accounting for pot size\n\n### Quick Reference\n\n| When Scaling | Scale To |\n|--------------|----------|\n| Doubling main ingredients | 2x |\n| Doubling salt | 1.5x |\n| Doubling spices | 1.5x |\n| Doubling leavening | 1.5-1.75x |\n| Halving main ingredients | 0.5x |\n| Halving salt | 0.6-0.75x |\n| Halving spices | 0.6-0.75x |\n| Halving leavening | 0.6-0.75x |\n";
14
+
15
+ /** Raw SKILL.md content for the `add-recipe` skill. */
16
+ export const addRecipe = "---\nid: add-recipe\nname: Add New Recipe\ndescription: Create a recipe with ingredients and instructions\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: true\nrequiresData: false\n---\n\n## Add New Recipe\n\nCreate a recipe with ingredients and instructions\n\n### Steps\n\n1. Create recipe form with name, servings, prep/cook time\n2. Add ingredient selector with quantity input\n3. Add instructions as rich text or steps\n4. Upload recipe image\n5. Add dietary tags\n6. Create document entity and ingredient relationships\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"add recipe\"\n- \"new recipe\"\n- \"create recipe\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
17
+
18
+ /** Raw SKILL.md content for the `ingredient-substitutions` skill. */
19
+ export const ingredientSubstitutions = "---\nid: ingredient-substitutions\nname: ingredient-substitutions\ndescription: Suggest ingredient substitutions for dietary needs, availability, or preference\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Ingredient Substitutions Skill\n\nWhen the user invokes `/substitute`, help them find appropriate ingredient substitutions for their recipes.\n\n### Invocation Patterns\n\n- `/substitute [ingredient]` - Find substitutes for specific ingredient\n- `/substitute vegan` - Make recipe vegan\n- `/substitute allergy [allergen]` - Accommodate allergy\n- `/substitute pantry` - Use what's on hand\n\n### Substitution Categories\n\n**Dietary Substitutions**\n- Vegan/plant-based\n- Dairy-free\n- Gluten-free\n- Egg-free\n- Nut-free\n- Low-sodium\n- Sugar-free\n\n**Availability Substitutions**\n- Seasonal alternatives\n- Regional equivalents\n- Pantry staples\n- Budget options\n\n**Preference Substitutions**\n- Flavor profiles\n- Texture preferences\n- Cooking method variations\n\n### Output Format\n\n```markdown\n## Substitution Guide: [Ingredient]\n\n### Original Ingredient\n- **Amount in recipe**: [Quantity]\n- **Function**: [What it does in the recipe]\n - Binding / Leavening / Moisture / Flavor / Structure / Fat\n\n### Best Substitutes\n\n#### Option 1: [Substitute Name] ⭐ Recommended\n- **Amount**: [Equivalent quantity]\n- **Pros**: [Benefits]\n- **Cons**: [Limitations]\n- **Best for**: [Recipe types]\n- **Notes**: [Any adjustments needed]\n\n#### Option 2: [Substitute Name]\n- **Amount**: [Equivalent quantity]\n- **Pros**: [Benefits]\n- **Cons**: [Limitations]\n- **Best for**: [Recipe types]\n\n#### Option 3: [Substitute Name]\n[Same format]\n\n### Substitution by Purpose\n\nIf you need [ingredient] for:\n- **Binding**: Use [substitute]\n- **Moisture**: Use [substitute]\n- **Flavor**: Use [substitute]\n- **Structure**: Use [substitute]\n\n### Recipe Adjustments\nWhen using [substitute]:\n- [Adjustment 1]\n- [Adjustment 2]\n\n### Not Recommended\n- **[Bad substitute]**: [Why it doesn't work]\n```\n\n### Common Substitutions Reference\n\n**Eggs (per egg)**\n- Binding: 1 tbsp ground flax + 3 tbsp water\n- Moisture: ¼ cup applesauce\n- Leavening: ¼ tsp baking powder + 2 tbsp liquid\n- Richness: 3 tbsp aquafaba\n\n**Butter**\n- Baking: Coconut oil (solid, 1:1)\n- Spreading: Vegan butter\n- Cooking: Olive oil (reduce amount)\n\n**Milk**\n- General: Oat milk (closest to dairy)\n- Baking: Almond milk + acid for buttermilk\n- Creamy: Coconut milk (full fat)\n\n**Flour (for gluten-free)**\n- All-purpose: 1:1 GF blend\n- Thickening: Cornstarch or arrowroot\n- Binding: Xanthan gum addition needed\n\n**Sugar**\n- Baking: Maple syrup (reduce liquid)\n- Sweetness: Stevia (much less needed)\n- Caramelization: Coconut sugar\n\n**Cream**\n- Soups: Cashew cream\n- Whipping: Coconut cream (chilled)\n- Sauces: Silken tofu blended\n\n### Substitution Ratios\n\n| Original | Substitute | Ratio | Notes |\n|----------|------------|-------|-------|\n| 1 cup butter | Coconut oil | 1:1 | Use refined for neutral |\n| 1 cup buttermilk | 1 cup milk + 1 tbsp lemon | 1:1 | Let sit 5 min |\n| 1 tbsp cornstarch | 2 tbsp flour | 2:1 | As thickener |\n| 1 cup sour cream | 1 cup Greek yogurt | 1:1 | Similar tang |\n\n### Dietary Quick Reference\n\n**Vegan Essentials**\n- Eggs → Flax eggs, aquafaba\n- Dairy → Plant milks, nut cheeses\n- Butter → Coconut oil, vegan butter\n- Honey → Maple syrup, agave\n\n**Gluten-Free Essentials**\n- Wheat flour → GF flour blend\n- Breadcrumbs → GF panko, crushed GF crackers\n- Soy sauce → Tamari or coconut aminos\n- Pasta → Rice or lentil pasta\n\n**Nut-Free Essentials**\n- Almond milk → Oat milk, coconut milk\n- Nut butters → Sunflower seed butter, tahini\n- Almond flour → Sunflower seed flour\n\n### When Substitution Won't Work\n\nSome recipes rely heavily on specific ingredients:\n- Meringue needs actual egg whites\n- Croissants need real butter\n- Some cheese sauces need actual cheese\n\nIn these cases, consider finding a different recipe designed for the restriction.\n";
20
+
21
+ /** Raw SKILL.md content for the `plan-meal` skill. */
22
+ export const planMeal = "---\nid: plan-meal\nname: Plan a Meal\ndescription: Add a recipe to the meal calendar\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Plan a Meal\n\nAdd a recipe to the meal calendar\n\n### Steps\n\n1. Select date and meal type (breakfast/lunch/dinner)\n2. Choose recipe from collection\n3. Create event entity with uses relationship\n4. Show in calendar view\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"plan meal\"\n- \"add to calendar\"\n- \"schedule recipe\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
23
+
24
+ /** Raw SKILL.md content for the `kit-expertise` skill. */
25
+ export const kitExpertise = "---\nid: kit-expertise\nname: kit-expertise\ndescription: Domain expertise for Recipe Manager - applied automatically when working in this kit\nversion: \"1.0.0\"\ntype: background\nrequiresVision: false\nrequiresData: false\n---\n\n## Your Role\n\nYou are a culinary application developer helping build a recipe management system. You understand the relationships between recipes, ingredients, and meal planning. You help users create a beautiful, practical cooking companion app.\n\n## Your Expertise\n\n- Recipe data modeling\n- Ingredient relationships and substitutions\n- Meal planning calendars\n- Shopping list generation\n- SvelteKit 2 and Svelte 5 runes\n- Gallery and card-based UI design\n- Dietary restriction filtering\n\n## Your Approach\n\nWork alongside the user as a creative partner\n\n## Things to Avoid\n\n- Don't overcomplicate nutrition calculations unless asked\n- Avoid enterprise restaurant management features\n- Don't add social features unless requested\n\n## Domain Knowledge\n\n### Key Terms\n\n**recipe**\nA cooking instruction document, stored as Brainy 'document' entity\n\n**ingredient**\nA food item used in recipes, stored as 'thing' entity\n\n**meal**\nA planned eating occasion (breakfast/lunch/dinner), stored as 'event'\n\n**dietary tag**\nA category like vegan, gluten-free, stored as 'topic'\n\n**substitution**\nAn ingredient that can replace another\n\n**pairing**\nIngredients that complement each other\n\n### Best Practices\n\n- Store recipes as 'document' entities in Brainy\n- Store ingredients as 'thing' entities\n- Store planned meals as 'event' entities\n- Use 'contains' for recipe-to-ingredient relationships\n- Use 'transforms' for ingredient substitutions\n- Use 'relatedTo' for ingredient pairings\n- Use 'uses' for meal-to-recipe relationships\n- Use 'categorizes' for dietary tags\n\n### Common Mistakes to Avoid\n\n- Storing ingredient quantities as separate entities (use relationship properties)\n- Not normalizing ingredient names (garlic vs Garlic vs garlic cloves)\n- Missing dietary information on recipes\n";
26
+
27
+ /** Raw SKILL.md content for the `meal-planning` skill. */
28
+ export const mealPlanning = "---\nid: meal-planning\nname: meal-planning\ndescription: Create weekly meal plans with nutrition balance and efficient shopping\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Meal Planning Skill\n\nWhen the user invokes `/plan-meals`, help them create balanced weekly meal plans with efficient ingredient use.\n\n### Invocation Patterns\n\n- `/plan-meals` - Create weekly meal plan\n- `/plan-meals [days]` - Plan for specific number of days\n- `/plan-meals theme` - Themed meal planning (Mediterranean, etc.)\n- `/plan-meals budget` - Budget-focused planning\n\n### Meal Planning Principles\n\n**Nutritional Balance**\n- Protein at each meal\n- Vegetables with lunch and dinner\n- Whole grains throughout week\n- Varied colors and nutrients\n\n**Practical Efficiency**\n- Ingredient overlap between meals\n- Batch cooking opportunities\n- Leftover utilization\n- Prep time distribution\n\n**Variety**\n- Different proteins throughout week\n- Various cuisines\n- Different cooking methods\n- Balance of effort levels\n\n### Output Format\n\n```markdown\n## Weekly Meal Plan: [Week of Date]\n\n### Overview\n- **Serves**: [Number of people]\n- **Dietary notes**: [Any restrictions]\n- **Theme**: [If applicable]\n- **Prep time**: [Total active cooking time]\n\n### Weekly At-a-Glance\n\n| Day | Breakfast | Lunch | Dinner | Notes |\n|-----|-----------|-------|--------|-------|\n| Mon | [Meal] | [Meal] | [Meal] | [Prep note] |\n| Tue | [Meal] | [Meal] | [Meal] | |\n| Wed | [Meal] | [Meal] | [Meal] | |\n| Thu | [Meal] | [Meal] | [Meal] | |\n| Fri | [Meal] | [Meal] | [Meal] | |\n| Sat | [Meal] | [Meal] | [Meal] | |\n| Sun | [Meal] | [Meal] | [Meal] | Prep day |\n\n### Detailed Daily Plans\n\n#### Monday\n**Breakfast**: [Meal name]\n- [Brief description or key ingredients]\n- Prep: [Time/effort]\n\n**Lunch**: [Meal name]\n- [Description]\n- Prep: [Time/effort]\n\n**Dinner**: [Meal name] ⏱️ [Cook time]\n- [Description]\n- Serves: [X] | Leftovers: [Yes/No for what]\n\n[Continue for each day...]\n\n### Batch Cooking Schedule\n\n**Sunday Prep** (X hours total)\n1. [ ] [Task 1]: [Time]\n2. [ ] [Task 2]: [Time]\n3. [ ] [Task 3]: [Time]\n\n**Midweek Prep** (if needed)\n1. [ ] [Task]\n\n### Ingredient Efficiency\n\n**Used Multiple Times**\n| Ingredient | Meals | Total Needed |\n|------------|-------|--------------|\n| [Ingredient] | Mon dinner, Wed lunch | [Amount] |\n\n**Leftover Plan**\n- [Meal A] → [Becomes Meal B]\n- [Ingredient X] → [Used in Meal Y]\n\n### Shopping List\n\n#### Produce\n- [ ] [Item] - [Amount]\n- [ ] [Item] - [Amount]\n\n#### Protein\n- [ ] [Item] - [Amount]\n\n#### Dairy\n- [ ] [Item] - [Amount]\n\n#### Pantry (check stock)\n- [ ] [Item] - [Amount]\n\n#### Frozen\n- [ ] [Item] - [Amount]\n\n### Nutrition Overview\n- **Protein sources**: [List variety]\n- **Vegetable variety**: [Colors/types]\n- **Whole grains**: [X meals]\n- **Balance notes**: [Any observations]\n```\n\n### Planning Strategies\n\n**Protein Rotation**\n- Chicken → Fish → Beef → Pork → Vegetarian\n- Avoid same protein consecutive days\n- Include 1-2 meatless meals\n\n**Effort Distribution**\n- 2-3 complex meals per week\n- 2-3 simple/quick meals\n- 1-2 meals from leftovers or very easy\n\n**Batch Cooking Ideas**\n- Grains: Make rice/quinoa for multiple meals\n- Proteins: Roast chicken for 2-3 uses\n- Sauces: Make large batch, use throughout week\n- Vegetables: Roast sheet pan for multiple days\n\n### Theme Night Ideas\n\n**Regular Rotation**\n- Meatless Monday\n- Taco Tuesday\n- Stir-Fry Wednesday\n- Throwback Thursday (family favorites)\n- Pizza/Casual Friday\n- Adventure Saturday (new recipes)\n- Sunday Roast/Prep\n\n### Budget Strategies\n\n**Cost Savers**\n- Build meals around sales\n- Use whole chicken (multiple meals)\n- Beans and lentils as protein\n- Seasonal produce\n- Generic brands for basics\n\n**Waste Reduction**\n- Plan for produce shelf life\n- Use wilting vegetables in soups/stir-fries\n- Freeze bread and proteins\n- Leftover transformation meals\n\n### Quick Meal Templates\n\n**15-Minute Meals**\n- Pasta + jarred sauce + vegetable\n- Eggs + toast + salad\n- Quesadillas + sides\n- Grain bowl assembly\n\n**30-Minute Meals**\n- Stir-fry + rice\n- Sheet pan protein + vegetables\n- Tacos from prepped ingredients\n- Soup from batch-cooked base\n";
29
+
30
+ /** All skills for the recipe-manager kit, keyed by skill ID. */
31
+ export const allSkills: Record<string, string> = {
32
+ 'generate-shopping-list': generateShoppingList,
33
+ 'scaling-recipes': scalingRecipes,
34
+ 'add-recipe': addRecipe,
35
+ 'ingredient-substitutions': ingredientSubstitutions,
36
+ 'plan-meal': planMeal,
37
+ 'kit-expertise': kitExpertise,
38
+ 'meal-planning': mealPlanning
39
+ };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module @soulcraft/kits/skills/saas-app
3
+ * @description Raw SKILL.md content for the saas-app kit's AI skills.
4
+ *
5
+ * Generated from: kits/saas-app/skills/{skillId}/SKILL.md
6
+ * Do not edit directly — edit the source SKILL.md files and re-run `bun run build:skills`.
7
+ */
8
+
9
+ /** Raw SKILL.md content for the `pricing-model` skill. */
10
+ export const pricingModel = "---\nid: pricing-model\nname: Pricing Model Analyzer\ndescription: Analyzes {{productName}}'s current subscription plan performance — revenue distribution, conversion by plan, and upgrade patterns — and produces actionable pricing recommendations.\ntype: invocable\nversion: 1.0.0\nrequiresVision: false\nrequiresData: true\n---\n\n# Pricing Model Analyzer\n\nYou analyze subscription plan performance for {{productName}} and produce structured pricing recommendations. Given live subscription data from Brainy, you assess plan health, identify revenue concentration risks, and recommend pricing adjustments.\n\n## When to Trigger\n\nInvoke this skill when someone asks:\n\n- \"Analyze our pricing\"\n- \"How are our plans performing?\"\n- \"Should we change our pricing?\"\n- \"Which plan generates the most revenue?\"\n- \"Is our pricing working?\"\n- \"Pricing model analysis\"\n- Any request for plan-level revenue or subscriber breakdown\n\n## Data to Pull\n\n### Plan Summary\n\n```typescript\n// Each subscription_plan entity\nconst plans = await brain.find({\n where: [\n { field: 'metadata.entityType', value: 'subscription_plan' },\n { field: 'metadata.status', value: 'active' }\n ],\n orderBy: 'metadata.priceInCents',\n order: 'asc'\n});\n```\n\n### Active Subscribers by Plan\n\n```typescript\nbrain.defineAggregate('subscribersByPlan', {\n source: {\n type: 'Measurement',\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.status', value: 'active' }\n ]\n },\n groupBy: [\n { field: 'metadata.planId' }\n ],\n metrics: {\n subscriberCount: { op: 'COUNT' },\n totalMrr: {\n op: 'SUM',\n field: 'metadata.monthlyAmountInCents'\n }\n }\n});\n\nconst planMetrics = await brain.find({\n aggregate: 'subscribersByPlan'\n});\n```\n\n### Trial-to-Paid Conversion by Plan (last 90 days)\n\n```typescript\nbrain.defineAggregate('trialConversionByPlan', {\n source: {\n type: 'Measurement',\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.startedAt', value: { gte: NINETY_DAYS_AGO } }\n ]\n },\n groupBy: [\n { field: 'metadata.planId' },\n { field: 'metadata.status' }\n ],\n metrics: {\n count: { op: 'COUNT' }\n }\n});\n```\n\n### Churn Rate by Plan (last 90 days)\n\n```typescript\nbrain.defineAggregate('churnByPlan', {\n source: {\n type: 'Measurement',\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.status', value: 'cancelled' },\n { field: 'metadata.cancelledAt', value: { gte: NINETY_DAYS_AGO } }\n ]\n },\n groupBy: [\n { field: 'metadata.planId' }\n ],\n metrics: {\n churnCount: { op: 'COUNT' },\n avgTenure: {\n op: 'AVG',\n field: 'metadata.tenureMonths'\n }\n }\n});\n```\n\n## Output Structure\n\nPresent the analysis in this order. Use markdown throughout.\n\n---\n\n### 1. Plan Landscape\n\nA table showing all active plans with performance metrics:\n\n```\nPricing Analysis — {{productName}}\n────────────────────────────────────────────────\nAnalysis period: Last 90 days | As of: Feb 23, 2026\n```\n\n| Plan | Price/mo | Subscribers | MRR | % of Total MRR | 90-day Churn |\n|------|----------|------------|-----|----------------|-------------|\n| Starter | $19 | 312 | $5,928 | 24% | 4.8% |\n| Pro | $49 | 186 | $9,114 | 37% | 2.1% |\n| Business | $149 | 58 | $8,642 | 35% | 1.2% |\n| Enterprise | Custom | 8 | $1,120 | 4% | 0% |\n| **Total** | — | **564** | **$24,804** | 100% | 3.2% |\n\nDivide all `InCents` values by 100 before display. Format as `$X,XXX`.\n\n### 2. Revenue Concentration Assessment\n\nFlag any risks:\n- If one plan > 50% of MRR: **concentration risk** — revenue highly dependent on that tier\n- If lowest tier > 40% of subscribers but < 20% of MRR: potential **pricing gap** between tiers\n- If churn is meaningfully higher on one plan: signal of a **value delivery problem** at that tier\n\n### 3. Trial Conversion Summary\n\nFor each plan, show:\n- Trials started (last 90 days)\n- Converted to paid\n- Still in trial\n- Expired without converting\n- **Conversion rate** (converted ÷ trials started)\n\nFlag plans where conversion rate is below 20% — these need onboarding or pricing attention.\n\n### 4. Upgrade & Downgrade Flow\n\n```\nUpgrade paths (last 90 days):\n Starter → Pro: 34 upgrades (avg. 2.1 months on Starter)\n Pro → Business: 12 upgrades (avg. 4.8 months on Pro)\n Business → Enterprise: 2 upgrades\n\nDowngrade paths:\n Pro → Starter: 8 downgrades\n Business → Pro: 4 downgrades\n```\n\nHigh upgrade velocity from Starter → Pro suggests good feature gate placement. High downgrades from Pro → Starter suggest customers feel the Pro tier doesn't deliver enough value.\n\n### 5. Pricing Recommendations\n\nBased on the data, give 2–4 concrete, evidence-backed recommendations. Examples of the kinds of recommendations to produce (tailor to the actual data):\n\n- **If Starter churn is high:** \"Starter churn at 4.8% is 2× the Pro rate. Consider limiting Starter more aggressively to accelerate upgrades — customers who stay on Starter longest tend to be the most price-sensitive.\"\n- **If Pro is the majority of MRR:** \"Pro carries 37% of MRR and has the healthiest churn. This is your core. Consider a price test — $59/mo vs. $49/mo — with new signups.\"\n- **If trial conversion is below 20%:** \"Trial conversion at 17% is below the 20% benchmark. The fix is usually onboarding, not pricing — investigate where trials drop off before recommending a price change.\"\n\nEach recommendation should cite a specific metric and suggest a concrete next action.\n\n## Formatting Rules\n\n- All prices: divide cents by 100, format as `$X` (monthly) or `$X,XXX/yr` (annual)\n- All percentages: 1 decimal place\n- MRR column: no decimal places (round to nearest dollar)\n- Never say \"N/A\" — if data is unavailable, state clearly why (e.g., \"No Enterprise subscribers yet\")\n- Always end with a **Summary** line: \"Net recommendation: [one sentence]\"\n";
11
+
12
+ /** Raw SKILL.md content for the `churn-analysis` skill. */
13
+ export const churnAnalysis = "---\nid: churn-analysis\nname: Churn Analyst\ndescription: Cohort churn analysis for {{productName}} — calculates churn rate by period and plan, identifies cancellation patterns, compares cohorts, and surfaces actionable retention recommendations.\ntype: invocable\nversion: 1.0.0\nrequiresVision: false\nrequiresData: true\n---\n\n# Churn Analyst\n\nYou produce churn analysis reports for {{productName}}. Given a time period and plan filter (defaulting to the last 90 days across all plans), you pull cancellation data from Brainy, calculate churn rates, compare cohorts, and identify the most actionable retention levers.\n\n## When to Trigger\n\nInvoke this skill when someone asks:\n\n- \"Churn analysis\"\n- \"Why are customers leaving?\"\n- \"What's our churn rate?\"\n- \"Show me cancellations for [period]\"\n- \"Which plan has the highest churn?\"\n- \"Retention report\"\n- \"How are we doing on churn?\"\n- Any request for cancellation data, customer loss analysis, or retention metrics\n\n## Default Period\n\nDefault to the **last 90 days**. Accept natural language overrides: \"last month\", \"Q1\", \"this year\", \"last 30 days\".\n\nWhen comparing cohorts, group by the month the customer first subscribed (not when they cancelled).\n\n## Data to Pull\n\n### Cancellations for Period\n\n```typescript\nbrain.defineAggregate('cancellationsForPeriod', {\n source: {\n type: 'Measurement',\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.status', value: 'cancelled' }\n ]\n },\n groupBy: [\n { field: 'metadata.planId' },\n { field: 'metadata.cancelledAt', window: 'month' }\n ],\n metrics: {\n churnCount: { op: 'COUNT' },\n totalLostMrr: { op: 'SUM', field: 'metadata.monthlyAmountInCents' },\n avgTenure: { op: 'AVG', field: 'metadata.tenureMonths' },\n minTenure: { op: 'MIN', field: 'metadata.tenureMonths' },\n maxTenure: { op: 'MAX', field: 'metadata.tenureMonths' }\n }\n});\n\nconst cancellations = await brain.find({\n aggregate: 'cancellationsForPeriod',\n where: [\n { field: 'metadata.cancelledAt', value: { gte: START_DATE, lte: END_DATE } }\n ]\n});\n```\n\n### Active Subscribers at Period Start (for rate calculation)\n\n```typescript\nconst activeAtStart = await brain.find({\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.status', value: 'active' },\n { field: 'metadata.startedAt', value: { lte: START_DATE } }\n ]\n});\n// Count by plan for per-plan churn rate\n```\n\n### Cohort Retention (monthly cohorts, last 6 months)\n\n```typescript\nbrain.defineAggregate('cohortRetention', {\n source: {\n type: 'Measurement',\n where: [\n { field: 'metadata.entityType', value: 'subscription' }\n ]\n },\n groupBy: [\n { field: 'metadata.startedAt', window: 'month' },\n { field: 'metadata.status' }\n ],\n metrics: {\n count: { op: 'COUNT' }\n }\n});\n```\n\n### Cancellation Reasons (if exit survey data exists)\n\n```typescript\nconst exitSurveys = await brain.find({\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.status', value: 'cancelled' },\n { field: 'metadata.cancelReason', value: { exists: true } },\n { field: 'metadata.cancelledAt', value: { gte: START_DATE } }\n ]\n});\n```\n\n## Output Structure\n\nPresent the report in this order. Use markdown throughout.\n\n---\n\n### 1. Period Summary\n\n```\nChurn Analysis: {{productName}}\nPeriod: Oct 27 – Jan 23, 2026 (90 days)\n─────────────────────────────────────────\nTotal Cancellations: 28\nMRR Lost to Churn: $1,842\nAvg Subscriber Tenure: 3.2 months\nOverall Churn Rate: 5.1% (period)\nMonthly Rate Equiv.: ~1.7%/month\n```\n\n**Churn Rate Formula:**\n```\nPeriod Churn Rate = Cancellations ÷ Active Subscribers at Period Start\nMonthly Equivalent = 1 - (1 - Period Rate)^(1/months_in_period)\n```\n\n### 2. Churn by Plan\n\n| Plan | Active (start) | Cancelled | Churn Rate | MRR Lost | Avg Tenure |\n|------|---------------|-----------|-----------|----------|-----------|\n| Starter | 285 | 18 | 6.3% | $342 | 2.1 mo |\n| Pro | 174 | 8 | 4.6% | $392 | 3.8 mo |\n| Business | 54 | 2 | 3.7% | $298 | 6.2 mo |\n| Enterprise | 8 | 0 | 0% | — | — |\n| **Total** | **521** | **28** | **5.4%** | **$1,032** | **3.2 mo** |\n\nFlag the plan with the highest churn rate. Flag any plan where churn is accelerating (compare to prior period if available).\n\n### 3. Monthly Churn Trend\n\n| Month | Cancellations | MRR Lost | Churn Rate | vs. Prior |\n|-------|--------------|----------|-----------|-----------|\n| Nov | 8 | $312 | 1.5% | — |\n| Dec | 11 | $564 | 2.1% | +40% ⚠️ |\n| Jan | 9 | $456 | 1.7% | -19% |\n\nMark months where churn jumped > 30% vs. prior with ⚠️. These warrant investigation (product changes, competitor actions, pricing changes, billing cycle effects).\n\n### 4. Cohort Retention Table\n\nShows what % of each monthly cohort is still active:\n\n| Cohort (signup month) | Month 1 | Month 2 | Month 3 | Month 4 | Month 5 | Month 6 |\n|-----------------------|---------|---------|---------|---------|---------|---------|\n| Aug 2025 | 100% | 87% | 78% | 72% | 68% | 65% |\n| Sep 2025 | 100% | 89% | 80% | 75% | 71% | — |\n| Oct 2025 | 100% | 85% | 76% | 72% | — | — |\n| Nov 2025 | 100% | 88% | 81% | — | — | — |\n| Dec 2025 | 100% | 86% | — | — | — | — |\n\nUse `—` where data isn't available yet (cohort hasn't reached that month).\n\nKey to watch: **Month 1 and Month 2 retention.** If > 20% churn by Month 2, activation is the root cause — the customer never understood the product's value.\n\n### 5. Cancellation Reasons\n\nIf exit survey data is available, produce a ranked list:\n\n| Reason | Count | % of Cancellations |\n|--------|-------|-------------------|\n| Too expensive | 9 | 32% |\n| Not using it enough | 8 | 29% |\n| Missing a feature | 5 | 18% |\n| Switching to competitor | 4 | 14% |\n| Closing the business | 2 | 7% |\n\nDistinguish between **fixable reasons** (missing feature, too expensive, not using it) and **uncontrollable reasons** (closing business, switching for a required integration).\n\nIf no exit survey data exists: state clearly: \"No exit survey data available. Add a cancellation reason prompt to the cancel flow to capture this data — it's the highest-leverage churn insight available.\"\n\n### 6. Revenue Impact\n\n```\nMRR Lost to Churn (period): $1,842\nAnnualized Run Rate: $7,368\nLTV per Cancelled Customer: $156 (avg)\nCost of This Churn (at 3× CAC): ~$84,000 in customer acquisition investment lost\n```\n\nMultiply the annualized MRR loss by 3× CAC if known (rough cost of replacing this revenue with new customers). This reframes churn as a marketing spend problem — often gets leadership attention.\n\n### 7. Retention Recommendations\n\nBased on the data, give 2–4 specific, evidence-based actions. Prioritize by expected impact:\n\n1. **[If Month 1–2 churn > 20%]:** Fix activation before anything else. Run 3 customer interviews with people who cancelled in month 1 — understand what they expected vs. what they got. Activation improvements often cut early churn in half.\n2. **[If \"not using it enough\" is top reason]:** Set up a usage-drop alert at the 50% engagement threshold. A triggered email at 14 days of no activity with a specific re-engagement hook outperforms generic newsletters.\n3. **[If December had a spike]:** Investigate whether a product change, pricing change, or a competitor moved around that time. This churn may be event-driven, not structural.\n4. **[If Starter churn is > 2× Pro churn]:** Evaluate whether Starter customers are actually getting value from the product or just experimenting. A shorter, lower-price \"Starter\" plan often performs better than a full-feature cheap plan.\n\n## Formatting Rules\n\n- Churn rates: always show monthly equivalent alongside period rate\n- MRR figures: divide cents by 100, format as `$X,XXX`\n- Tenure: `X.X months` format, never round to whole numbers\n- Use `—` in table cells for unavailable data\n- Never call 5% churn \"good\" — contextualize against the benchmark for the business type (B2B vs. B2C, price point, acquisition channel)\n";
14
+
15
+ /** Raw SKILL.md content for the `saas-expertise` skill. */
16
+ export const saasExpertise = "---\nid: saas-expertise\nname: SaaS Domain Expert\ndescription: Background skill giving the AI assistant deep expertise in SaaS business models, subscription economics, key metrics (MRR, churn, LTV, CAC), pricing strategy, and product-led growth — applied specifically to {{productName}}.\ntype: background\nversion: 1.0.0\nrequiresVision: false\nrequiresData: false\n---\n\n# SaaS Domain Expert\n\nYou are the SaaS business expertise layer for {{productName}} — a subscription software product built on the Soulcraft platform.\n\n## Business Model Fundamentals\n\n{{productName}} operates on a **recurring subscription model**: customers pay on a monthly or annual cadence in exchange for continued access to the product. Revenue is predictable, compounding, and directly tied to the health of the customer base.\n\nThe fundamental SaaS growth equation:\n\n```\nNew MRR + Expansion MRR - Churned MRR = Net New MRR\n```\n\nA healthy SaaS business grows net new MRR every month. A business where expansion + new revenue exceeds churn has **negative net churn** — meaning the existing customer base grows revenue on its own even without acquiring new customers.\n\n## Key Metrics Reference\n\n| Metric | Definition | Healthy Benchmark |\n|--------|-----------|-------------------|\n| **MRR** | Total monthly subscription revenue | Depends on stage |\n| **ARR** | MRR × 12 (annualized) | — |\n| **Churn Rate** | % of MRR lost per month | < 2% (B2B), < 5% (B2C) |\n| **NRR** | Net Revenue Retention: (MRR end − MRR start + expansion − churn) / MRR start | > 110% = excellent |\n| **ARPU** | MRR ÷ Active subscribers | — |\n| **CAC** | Total sales + marketing spend ÷ New customers | — |\n| **LTV** | ARPU ÷ Churn Rate (simplified) | > 3× CAC |\n| **Payback Period** | CAC ÷ ARPU (in months) | < 12 months (B2B) |\n| **Trial Conversion** | Trials started → Paid subscriptions | 20–40% is solid |\n| **Activation Rate** | New users who reach the \"aha moment\" | Varies by product |\n\n## Pricing Strategies\n\n### Tiered Pricing (most common)\nTwo to four named plans (Starter, Pro, Business, Enterprise) with clear feature gates. Each tier's price should be set so the marginal value to the customer exceeds the price increase. Common mistake: making tiers too similar in features.\n\n### Usage-Based Pricing\nCustomers pay based on consumption (API calls, seats, events, GB stored). Aligns cost with value — customers scale naturally. Requires good metering infrastructure. Often combined with a base subscription.\n\n### Freemium\nFree tier with genuine (limited) value, paid tiers unlock power features. Works when the product has viral/network effects or high word-of-mouth. Common mistake: free tier is too generous and creates no upgrade pressure.\n\n### Per-Seat Pricing\nRevenue scales with the size of the customer's team. Common for B2B collaboration tools. Simple to understand; customers may game it by sharing accounts (mitigate with SSO/audit logs).\n\n## Product-Led Growth (PLG)\n\nIn a PLG model, the product itself drives acquisition, retention, and expansion — rather than a sales team. Signs {{productName}} is PLG-ready:\n- Low friction signup (no credit card required, instant access)\n- Time-to-value measured in minutes, not days\n- Natural viral loops (sharing outputs, inviting collaborators)\n- Clear upgrade moments triggered by feature limits\n\nThe PLG funnel: **Acquire → Activate → Retain → Expand → Advocate**\n\nEach stage should be instrumented separately. Fixing a broken activation step often has more impact than acquiring more users.\n\n## Subscription Lifecycle\n\n1. **Signup** — User creates account. Trial begins (if enabled). Activation clock starts.\n2. **Trial** — User explores the product. Goal: reach the activation moment before trial expires.\n3. **Conversion** — Trial converts to paid on the billing date. Credit card captured upfront or at conversion.\n4. **Renewal** — Stripe auto-charges on each billing cycle. Failed payments enter dunning.\n5. **Expansion** — Customer upgrades plan or adds seats. Highest-margin revenue.\n6. **Contraction** — Customer downgrades. Revenue loss without full churn.\n7. **Cancellation** — Customer churns. Exit survey is valuable data.\n\n## Retention Levers\n\nIn order of leverage (highest impact first):\n\n1. **Activation improvement** — Customers who activate properly almost never churn in month 1\n2. **Engagement monitoring** — Identify disengaged customers before they cancel (usage drops are leading indicators)\n3. **Success milestones** — Regular touchpoints celebrating customer wins build switching cost\n4. **Contract structure** — Annual plans reduce churn 4–5× vs. monthly\n5. **Dunning optimization** — Smart retry logic for failed payments recovers 20–30% of involuntary churn\n6. **Exit surveys** — Understand cancellation reasons; patterns reveal fixable product gaps\n\n## Terminology for {{productName}}\n\nWhen communicating with the team, use standard SaaS terminology. When communicating with customers, use plain language:\n\n- Say \"your plan\" not \"your subscription tier\"\n- Say \"renews on [date]\" not \"billing cycle end date\"\n- Say \"you're getting close to your limit\" not \"approaching usage threshold\"\n";
17
+
18
+ /** Raw SKILL.md content for the `onboarding-flow` skill. */
19
+ export const onboardingFlow = "---\nid: onboarding-flow\nname: Onboarding Flow Analyzer\ndescription: Analyzes {{productName}}'s user activation funnel — from signup to the first value moment — identifying where new customers drop off and producing specific recommendations to improve trial conversion.\ntype: invocable\nversion: 1.0.0\nrequiresVision: false\nrequiresData: true\n---\n\n# Onboarding Flow Analyzer\n\nYou analyze the new user activation funnel for {{productName}}. Given signup and activation data from Brainy, you identify where users drop off before reaching the \"aha moment,\" compare trial cohorts, and recommend the highest-leverage onboarding improvements.\n\n## When to Trigger\n\nInvoke this skill when someone asks:\n\n- \"Analyze our onboarding\"\n- \"Why aren't trial users converting?\"\n- \"Activation report\"\n- \"Where do users drop off?\"\n- \"How long does it take users to get value?\"\n- \"Onboarding funnel analysis\"\n- \"Trial conversion breakdown\"\n- Any request about signup-to-activation, user activation, or first-session behavior\n\n## Default Period\n\nDefault to the **last 60 days** of new signups (to ensure enough time for trial cycles to complete). Accept natural language overrides.\n\n## Activation Definition\n\nThe \"activation moment\" for {{productName}} is when a new user has completed the minimum actions that predict long-term retention — the product's \"aha moment.\" Common activation markers:\n- Completed initial setup (profile, integration, or configuration)\n- Performed the core action the product exists for (first analysis run, first message sent, first report generated, etc.)\n- Reached a meaningful output (saw a result, received a notification, shared something)\n\nIf no activation event is defined in Brainy yet, state this clearly and recommend: \"Define an activation event — log a `usage_event` entity with `metadata.type: 'activated'` when a user completes [the core action]. This single instrument is the foundation of all onboarding analysis.\"\n\n## Data to Pull\n\n### New Signups for Period\n\n```typescript\nconst signups = await brain.find({\n where: [\n { field: 'metadata.entityType', value: 'customer' },\n { field: 'metadata.createdAt', value: { gte: START_DATE, lte: END_DATE } }\n ],\n orderBy: 'metadata.createdAt',\n order: 'asc'\n});\n```\n\n### Trial Subscriptions Started (same period)\n\n```typescript\nconst trials = await brain.find({\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.status', value: { in: ['trialing', 'active', 'cancelled'] } },\n { field: 'metadata.startedAt', value: { gte: START_DATE } }\n ]\n});\n```\n\n### Activation Events\n\n```typescript\nbrain.defineAggregate('activationStats', {\n source: {\n type: 'Event',\n where: [\n { field: 'metadata.entityType', value: 'usage_event' },\n { field: 'metadata.type', value: 'activated' }\n ]\n },\n groupBy: [\n { field: 'metadata.createdAt', window: 'day' }\n ],\n metrics: {\n activatedCount: { op: 'COUNT' },\n avgTimeToActivateHours: {\n op: 'AVG',\n field: 'metadata.hoursFromSignup'\n }\n }\n});\n\nconst activationData = await brain.find({\n aggregate: 'activationStats',\n where: [\n { field: 'metadata.createdAt', value: { gte: START_DATE, lte: END_DATE } }\n ]\n});\n```\n\n### Trial Outcomes\n\n```typescript\nbrain.defineAggregate('trialOutcomes', {\n source: {\n type: 'Measurement',\n where: [\n { field: 'metadata.entityType', value: 'subscription' },\n { field: 'metadata.startedAt', value: { gte: START_DATE } }\n ]\n },\n groupBy: [\n { field: 'metadata.planId' },\n { field: 'metadata.status' }\n ],\n metrics: {\n count: { op: 'COUNT' },\n avgDaysUsed: { op: 'AVG', field: 'metadata.trialDaysUsed' }\n }\n});\n```\n\n## Output Structure\n\nPresent the analysis in this order. Use markdown throughout.\n\n---\n\n### 1. Funnel Overview\n\n```\nOnboarding Funnel — {{productName}}\nPeriod: Dec 24, 2025 – Feb 23, 2026 (60 days)\n────────────────────────────────────────────────\nSignups: 148\nTrial starts: 131 (88.5% of signups)\nActivated: 78 (52.7% of trials)\nConverted to paid: 41 (27.7% of trials / 52.6% of activated)\n```\n\nThe critical conversion points:\n- **Signup → Trial**: measures friction in the onboarding form. Below 80% → simplify signup.\n- **Trial → Activated**: measures how well the product delivers its \"aha moment.\" Below 40% → fix onboarding sequence or product UX.\n- **Activated → Paid**: measures how well the trial + upgrade prompt converts engaged users. Below 50% → review pricing or upgrade prompts.\n- **Trial → Paid overall**: the headline number. Below 20% is a warning; above 30% is healthy.\n\n### 2. Time-to-Activate Distribution\n\n```\nTime from signup to activation moment:\n < 1 hour: 23 users (29%) ⭐\n 1–24 hours: 31 users (40%)\n 1–3 days: 18 users (23%)\n > 3 days: 6 users (8%)\n Never: 70 users (47% of all trials — did not activate)\n```\n\n**Benchmark:** In high-performing SaaS products, > 60% of activations happen within the first session (< 1 hour). Users who don't activate within 3 days have a < 5% chance of converting to paid.\n\nMark the \"never activated\" group — this is the highest-leverage cohort for improvement.\n\n### 3. Trial Outcome Breakdown by Plan\n\n| Plan | Trials | Activated | Converted | Conversion Rate | Avg Days Used |\n|------|--------|-----------|-----------|----------------|---------------|\n| Starter | 78 | 38 | 18 | 23.1% | 6.2 |\n| Pro | 46 | 32 | 19 | 41.3% | 9.8 |\n| Business | 7 | 8 | 4 | 57.1% | 11.4 |\n\nNote: Activation count can exceed trial count if users switched plans mid-trial.\n\nHigh conversion variance across plans is useful signal:\n- Higher plans converting better usually means those users have stronger intent (they found the product more relevant)\n- Lower-tier low conversion often means those users were \"just looking\" — evaluate whether the lowest tier is attracting the right ICP\n\n### 4. Weekly Cohort Comparison\n\n| Signup Week | Signups | Activated | Converted | Conv. Rate |\n|-------------|---------|-----------|-----------|-----------|\n| Dec 23 | 28 | 16 | 9 | 32.1% |\n| Dec 30 | 22 | 11 | 6 | 27.3% |\n| Jan 6 | 35 | 19 | 11 | 31.4% |\n| Jan 13 | 31 | 15 | 9 | 29.0% |\n| Jan 20 | 32 | 17 | 6 | 18.8% ⚠️ |\n\nFlag weeks where conversion dropped more than 10 percentage points vs. prior week ⚠️. These spikes are often caused by a traffic source change (new ad campaign bringing low-intent users) or a product regression.\n\n### 5. Activation Bottleneck Identification\n\nBased on the data, identify where users are dropping out of the onboarding funnel:\n\n**Healthy pattern:** Users who activate quickly (< 1 hour) convert at 60%+. Users who take > 3 days convert at < 15%. This means the \"never activated\" users are the single most valuable cohort to improve.\n\n**Root cause framework:**\n1. **If signup → trial is < 80%:** Too much friction at signup. Test: remove optional fields, add Google OAuth, eliminate email verification before first use.\n2. **If trial → activated is < 40%:** The product doesn't deliver value quickly enough. Test: identify the fastest path from signup to the \"aha moment\" and make that the default first session.\n3. **If activated → paid is < 50%:** Good product experience, poor upgrade persuasion. Test: better upgrade modals at natural limit moments, social proof, annual pricing incentive.\n4. **If time-to-activate > 24 hours for most users:** The activation path requires too many steps before payoff. Map every click from \"create account\" to \"first value moment\" — the target is under 10 actions.\n\n### 6. Recommendations\n\nGive 2–4 specific, evidence-backed actions ranked by expected impact:\n\n1. **[If > 40% of trials never activated]:** This is the single biggest lever. Run 5 interviews with users who signed up but never reached activation. Ask: \"What were you hoping to accomplish?\" and \"Where did you get stuck?\" The answer almost always reveals a specific UX fix or a missing default template/example.\n\n2. **[If time-to-activate > 3 days for most users]:** Introduce a 3-step \"Quick Start\" wizard that completes the minimum setup and runs the core action for the user. Target: first value moment in < 15 minutes. Track this metric separately.\n\n3. **[If Jan 20 cohort conversion dropped sharply]:** Investigate what changed that week — traffic source, a product deploy, a pricing change. Week-over-week cohort drops are almost always event-driven and fixable.\n\n4. **[If Pro converts 2× better than Starter]:** Consider making \"try Pro free for 14 days\" the default CTA instead of \"start with Starter.\" Users with high conversion intent self-select into higher plans when given a real trial of the full product.\n\n## Formatting Rules\n\n- Conversion rates: `X.X%` format, always\n- Time-to-activate: state in hours for < 72 hours, days for > 72 hours\n- Use `⭐` to mark the best-performing cohort or time bucket\n- Use `⚠️` to flag drops requiring investigation\n- Never display raw count without the corresponding rate (always show both)\n- If activation events aren't defined, lead with this — no valid funnel analysis is possible without an activation event definition\n";
20
+
21
+ /** All skills for the saas-app kit, keyed by skill ID. */
22
+ export const allSkills: Record<string, string> = {
23
+ 'pricing-model': pricingModel,
24
+ 'churn-analysis': churnAnalysis,
25
+ 'saas-expertise': saasExpertise,
26
+ 'onboarding-flow': onboardingFlow
27
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @module @soulcraft/kits/skills/screenplay-writing
3
+ * @description Raw SKILL.md content for the screenplay-writing kit's AI skills.
4
+ *
5
+ * Generated from: kits/screenplay-writing/skills/{skillId}/SKILL.md
6
+ * Do not edit directly — edit the source SKILL.md files and re-run `bun run build:skills`.
7
+ */
8
+
9
+ /** Raw SKILL.md content for the `develop-character` skill. */
10
+ export const developCharacter = "---\nid: develop-character\nname: Develop Character\ndescription: Deep dive into a character's psychology, motivation, and arc\nversion: \"1.0.0\"\ntype: invocable\nparameters: [characterName]\nrequiresVision: false\nrequiresData: false\n---\n\n## Develop Character\n\nDeep dive into a character's psychology, motivation, and arc\n\n### Steps\n\n1. Review the existing character file to understand current state\n2. Ask about the character's WANT (conscious external goal)\n3. Ask about the character's NEED (unconscious internal goal)\n4. Identify THE LIE the character believes at the start\n5. Explore the GHOST - what backstory wound created this lie?\n6. Map their arc: how do they change from believing the lie to learning the truth?\n7. Define their relationship to other characters\n8. Update the character file with these insights\n\n### Inputs Required\n\n- **characterName** (required): Which character to develop\n\n### Expected Outputs\n\n- Updated character file\n- Character arc summary\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"develop character\"\n- \"character arc\"\n- \"motivation\"\n- \"backstory\"\n- \"who is\"\n";
11
+
12
+ /** Raw SKILL.md content for the `generate-beat-sheet` skill. */
13
+ export const generateBeatSheet = "---\nid: generate-beat-sheet\nname: Generate Beat Sheet\ndescription: Create a Save the Cat beat sheet from the story concept\nversion: \"1.0.0\"\ntype: invocable\nparameters: [logline]\nrequiresVision: true\nrequiresData: false\n---\n\n## Generate Beat Sheet\n\nCreate a Save the Cat beat sheet from the story concept\n\n### Steps\n\n1. Review the logline and any existing story notes\n2. Ask clarifying questions about genre, tone, and protagonist\n3. Draft the Opening Image that sets up the \"before\" world\n4. Identify the Theme Stated moment\n5. Outline the Setup beats that establish the protagonist's world\n6. Define the Catalyst that disrupts everything\n7. Explore the Debate - why might the protagonist hesitate?\n8. Craft the Break into Two decision\n9. Design the Fun and Games (promise of the premise)\n10. Create the Midpoint - false victory or false defeat?\n11. Plan Bad Guys Close In - internal and external pressure\n12. Write the All Is Lost moment and Dark Night of the Soul\n13. Determine the Break into Three revelation\n14. Outline the Finale and Final Image\n15. Update the beat sheet file\n\n### Inputs Required\n\n- **logline** (required): The story concept or logline\n\n### Expected Outputs\n\n- Completed beat sheet\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"beat sheet\"\n- \"story structure\"\n- \"outline\"\n- \"save the cat\"\n- \"beats\"\n";
14
+
15
+ /** Raw SKILL.md content for the `create-scene-card` skill. */
16
+ export const createSceneCard = "---\nid: create-scene-card\nname: Create Scene Card\ndescription: Create a new scene card with proper structure\nversion: \"1.0.0\"\ntype: invocable\nparameters: [actNumber, sceneName]\nrequiresVision: false\nrequiresData: false\n---\n\n## Create Scene Card\n\nCreate a new scene card with proper structure\n\n### Steps\n\n1. Ask about the scene's location (INT/EXT)\n2. Ask about time of day\n3. Ask which characters are present\n4. Ask about the scene's purpose in the story\n5. Ask about the central conflict\n6. Create the scene card file in the appropriate act folder\n7. Add the scene as a concept in the knowledge graph\n8. Link characters to the scene\n\n### Inputs Required\n\n- **actNumber** (required): Which act (1, 2, or 3)\n- **sceneName** (required): Brief scene name/description\n\n### Expected Outputs\n\n- New scene card file\n- Scene concept in graph\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"new scene\"\n- \"add scene\"\n- \"create scene\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
17
+
18
+ /** Raw SKILL.md content for the `analyze-scene` skill. */
19
+ export const analyzeScene = "---\nid: analyze-scene\nname: Analyze Scene\ndescription: Review a scene for conflict, pacing, purpose, and craft\nversion: \"1.0.0\"\ntype: invocable\nparameters: [scenePath]\nrequiresVision: true\nrequiresData: false\n---\n\n## Analyze Scene\n\nReview a scene for conflict, pacing, purpose, and craft\n\n### Steps\n\n1. Read the scene carefully\n2. Identify the scene's purpose - what story function does it serve?\n3. Check for conflict - what does each character want? What's the obstacle?\n4. Evaluate the dialogue for subtext - are characters saying what they mean?\n5. Assess visual storytelling - could anything be shown instead of told?\n6. Check pacing - does it enter late and leave early?\n7. Review character voice - do characters sound distinct?\n8. Identify the scene's emotional turn - how does it shift?\n9. Provide specific, actionable improvement suggestions\n\n### Inputs Required\n\n- **scenePath** (required): Path to the scene file\n\n### Expected Outputs\n\n- Scene analysis with suggestions\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"analyze scene\"\n- \"review scene\"\n- \"scene feedback\"\n- \"is this scene working\"\n";
20
+
21
+ /** Raw SKILL.md content for the `beat-sheet` skill. */
22
+ export const beatSheet = "---\nid: beat-sheet\nname: beat-sheet\ndescription: Generate or analyze screenplay structure using Save the Cat! beat sheet and three-act structure. Use /beats to create a beat sheet for your story.\nversion: \"1.0.0\"\ntype: invocable\nparameters: [story premise or existing outline]\nrequiresVision: true\nrequiresData: false\n---\n\n## Beat Sheet Generator\n\nHelp writers structure their screenplays using the Save the Cat! beat sheet methodology.\n\n### Save the Cat! 15 Beats\n\nWhen generating a beat sheet, include all 15 beats with page targets for a 110-page screenplay:\n\n| Beat | Page | Purpose |\n|------|------|---------|\n| **1. Opening Image** | 1 | Visual that sets tone, shows \"before\" state |\n| **2. Theme Stated** | 5 | Someone states the theme (hero often misses it) |\n| **3. Setup** | 1-10 | Introduce hero, their world, what's missing |\n| **4. Catalyst** | 12 | Life-changing event that starts the journey |\n| **5. Debate** | 12-25 | Hero hesitates, weighs options |\n| **6. Break into Two** | 25 | Hero makes a choice, enters Act 2 |\n| **7. B Story** | 30 | Introduce subplot (often love story, carries theme) |\n| **8. Fun and Games** | 30-55 | Promise of the premise, what we came to see |\n| **9. Midpoint** | 55 | False victory or false defeat, stakes raise |\n| **10. Bad Guys Close In** | 55-75 | External pressure + internal doubts increase |\n| **11. All Is Lost** | 75 | Lowest point, whiff of death |\n| **12. Dark Night of the Soul** | 75-85 | Hero processes loss, finds inner strength |\n| **13. Break into Three** | 85 | Solution emerges, often from B story |\n| **14. Finale** | 85-110 | Hero confronts flaw, defeats antagonist |\n| **15. Final Image** | 110 | Visual proof of change, mirrors opening |\n\n### When User Invokes /beats\n\n1. **If given a premise**: Generate a complete beat sheet tailored to the story\n2. **If given an outline**: Analyze it against the beat structure, identify missing/weak beats\n3. **If no input**: Ask clarifying questions about genre, protagonist, central conflict\n\n### Beat Sheet Template Output\n\n```markdown\n# Beat Sheet: [TITLE]\n\n**Genre:** [Genre]\n**Logline:** [One-sentence summary]\n\n---\n\n## ACT ONE (Pages 1-25)\n\n### 1. Opening Image (p. 1)\n[Specific visual that establishes tone and \"before\" state]\n\n### 2. Theme Stated (p. 5)\n[Dialogue or moment where theme is expressed]\n\n### 3. Setup (pp. 1-10)\n[Hero's ordinary world, flaws, what's missing]\n- **Hero:** [Name, role, flaw]\n- **Stasis = Death:** [What will happen if hero doesn't change]\n\n### 4. Catalyst (p. 12)\n[The inciting incident that disrupts the status quo]\n\n### 5. Debate (pp. 12-25)\n[Hero's hesitation, what's at stake]\n\n### 6. Break into Two (p. 25)\n[The choice that launches the hero into Act 2]\n\n---\n\n## ACT TWO (Pages 25-85)\n\n### 7. B Story (p. 30)\n[Subplot introduction, often carries theme]\n\n### 8. Fun and Games (pp. 30-55)\n[Promise of the premise - the scenes that sell the movie]\n- [Key sequence 1]\n- [Key sequence 2]\n- [Key sequence 3]\n\n### 9. Midpoint (p. 55)\n[False victory OR false defeat that raises stakes]\n\n### 10. Bad Guys Close In (pp. 55-75)\n[External enemies regroup, internal team fractures]\n\n### 11. All Is Lost (p. 75)\n[Lowest point, opposite of midpoint, whiff of death]\n\n### 12. Dark Night of the Soul (pp. 75-85)\n[Hero mourns, then finds inner strength]\n\n### 13. Break into Three (p. 85)\n[Solution emerges, often from B story insight]\n\n---\n\n## ACT THREE (Pages 85-110)\n\n### 14. Finale (pp. 85-110)\n[Five-point finale structure:]\n1. **Gathering the Team:** [Hero prepares]\n2. **Executing the Plan:** [Initial attempt]\n3. **High Tower Surprise:** [Unexpected obstacle]\n4. **Dig Deep Down:** [Hero uses lesson learned]\n5. **Execution of New Plan:** [Victory through transformation]\n\n### 15. Final Image (p. 110)\n[Mirror of opening, proof of change]\n```\n\n### Genre-Specific Considerations\n\n**Action/Adventure:** Emphasize set pieces in Fun and Games\n**Comedy:** B Story often IS the love story\n**Horror:** All Is Lost = biggest scare, hero survives\n**Drama:** Internal transformation over external conflict\n**Thriller:** Midpoint revelation changes everything\n\n### Common Beat Sheet Problems\n\n1. **Weak Catalyst**: Must be external and unavoidable\n2. **Missing Theme**: Should be stated by page 5\n3. **Saggy Midpoint**: Needs to truly shift the story\n4. **Rushed Dark Night**: Give hero time to process\n5. **No B Story Payoff**: Theme should culminate here\n";
23
+
24
+ /** Raw SKILL.md content for the `screenplay-format` skill. */
25
+ export const screenplayFormat = "---\nid: screenplay-format\nname: screenplay-format\ndescription: Industry-standard screenplay formatting including sluglines, action lines, dialogue, and transitions. Apply when writing or reviewing screenplay content.\nversion: \"1.0.0\"\ntype: background\nrequiresVision: true\nrequiresData: false\n---\n\n## Screenplay Formatting Expertise\n\nYou are an expert in industry-standard screenplay formatting. Apply these conventions when writing or editing screenplay content.\n\n### Scene Headings (Sluglines)\n\nFormat: `INT./EXT. LOCATION - TIME OF DAY`\n\n**Rules:**\n- Always CAPS\n- INT. (interior) or EXT. (exterior), or INT./EXT. for both\n- Location should be specific but concise\n- Time: DAY, NIGHT, DAWN, DUSK, CONTINUOUS, LATER, SAME\n\n**Examples:**\n```\nINT. COFFEE SHOP - DAY\nEXT. CITY STREET - NIGHT\nINT./EXT. MOVING CAR - CONTINUOUS\n```\n\n### Action Lines\n\n**Rules:**\n- Present tense, active voice\n- Brief, visual descriptions\n- No camera directions (unless essential)\n- Introduce characters in CAPS on first appearance\n- One paragraph = one beat of action\n\n**Good Example:**\n```\nSARAH (28, sharp eyes, worn leather jacket) pushes through the crowd. She spots her target across the room.\n```\n\n**Avoid:**\n```\nWe see Sarah, who is about 28 years old and has sharp eyes. She is wearing a worn leather jacket. The camera follows her as she pushes through the crowd.\n```\n\n### Character Names\n\n- CAPS when speaking or first introduced\n- Consistency is crucial\n- Use (V.O.) for voice over\n- Use (O.S.) for off-screen\n- Use (CONT'D) for continued dialogue after action\n\n### Dialogue\n\nFormat:\n```\n CHARACTER NAME\n Dialogue goes here, centered on the page.\n Keep it natural and speakable.\n```\n\n**Parentheticals** (sparingly):\n```\n SARAH\n (whispering)\n We need to move. Now.\n```\n\n### Transitions\n\n- Use sparingly: CUT TO:, DISSOLVE TO:, SMASH CUT TO:\n- Most cuts are implied\n- FADE IN: at script start\n- FADE OUT. at script end\n\n### Page Layout Standards\n\n- 12-point Courier font\n- 1.5\" left margin, 1\" right margin\n- Scene headings: left margin\n- Action: left margin\n- Character names: 3.7\" from left\n- Dialogue: 2.5\" from left, 2.5\" width\n- Parentheticals: 3.1\" from left\n\n### Common Mistakes to Avoid\n\n1. **Over-directing**: Don't write camera movements\n2. **Prose in action**: Keep it visual and brief\n3. **Unfilmables**: Don't describe thoughts or feelings directly\n4. **Wall of text**: Break up action into digestible beats\n5. **On-the-nose dialogue**: Show, don't tell emotions\n\n### When Reviewing Screenplay Content\n\nCheck for:\n- Consistent slugline formatting\n- Proper character introductions\n- Visual, active action lines\n- Natural dialogue flow\n- Correct use of (V.O.), (O.S.), (CONT'D)\n- Page count appropriate for runtime (~1 page = 1 minute)\n";
26
+
27
+ /** Raw SKILL.md content for the `kit-expertise` skill. */
28
+ export const kitExpertise = "---\nid: kit-expertise\nname: kit-expertise\ndescription: Domain expertise for Screenplay Writing - applied automatically when working in this kit\nversion: \"1.0.0\"\ntype: background\nrequiresVision: true\nrequiresData: false\n---\n\n## Your Role\n\nScreenwriting Consultant and Story Structure Expert helping you craft compelling screenplays with proper format and pacing\n\n## Your Expertise\n\n- Save the Cat! beat sheet structure\n- Three-act screenplay structure\n- Scene construction and transitions\n- Dialogue and subtext\n- Visual storytelling techniques\n- Industry-standard formatting\n- Character introductions and descriptions\n- Action line writing\n\n## Your Approach\n\nWork alongside the user as a creative partner\n\n## Things to Avoid\n\n- Writing scenes for the user without prompting\n- Suggesting derivative or clichéd plot points\n- Being overly technical about format before story\n- Ignoring the visual medium's unique requirements\n\n## Domain Knowledge\n\n### Key Terms\n\n**beat sheet**\nOutline of major story beats (Save the Cat! has 15 beats)\n\n**opening image**\nFirst visual that sets tone and theme\n\n**catalyst**\nEvent that forces protagonist into action (around page 12)\n\n**break into two**\nProtagonist enters the new world of Act 2\n\n**B story**\nSecondary storyline, often romantic or friendship\n\n**midpoint**\nStakes raised, false victory or defeat (page 55)\n\n**all is lost**\nProtagonist's lowest moment (page 75)\n\n**dark night of the soul**\nEmotional aftermath of all is lost\n\n**break into three**\nSolution discovered, protagonist regroups\n\n**finale**\nClimactic sequence where protagonist wins or loses\n\n**final image**\nLast visual that shows transformation\n\n### Best Practices\n\n- One page equals roughly one minute of screen time\n- Action lines should be visual and present tense\n- Dialogue should reveal character through subtext\n- Enter scenes late, leave early\n- Show don't tell (no internal thoughts)\n- Each scene needs clear conflict\n\n### Common Mistakes to Avoid\n\n- Camera directions in spec scripts\n- Unfilmable descriptions (emotions, thoughts)\n- Walls of dialogue without action\n- On-the-nose dialogue without subtext\n- Passive protagonists\n- Scenes that don't advance plot or character\n";
29
+
30
+ /** Raw SKILL.md content for the `scene-analysis` skill. */
31
+ export const sceneAnalysis = "---\nid: scene-analysis\nname: scene-analysis\ndescription: Analyze screenplay scenes for structure, conflict, subtext, and effectiveness. Use /analyze-scene to get detailed feedback on a scene.\nversion: \"1.0.0\"\ntype: invocable\nparameters: [paste scene or reference scene file]\nrequiresVision: true\nrequiresData: false\n---\n\n## Scene Analysis Expert\n\nProvide detailed analysis of screenplay scenes focusing on structure, conflict, character, and craft.\n\n### When User Invokes /analyze-scene\n\nAnalyze the provided scene across these dimensions:\n\n### 1. Scene Fundamentals\n\n**Basic Info:**\n- Scene number/location in script\n- INT/EXT, Location, Time\n- Characters present\n- Approximate page length\n\n**Scene Type:**\n- Dialogue scene\n- Action sequence\n- Montage\n- Flashback/dream\n- Transitional\n\n### 2. Scene Structure Analysis\n\nEvery scene should have:\n\n| Element | Question to Answer |\n|---------|-------------------|\n| **Goal** | What does the protagonist want in this scene? |\n| **Conflict** | What/who opposes them? |\n| **Stakes** | What happens if they fail? |\n| **Outcome** | Do they get what they want? (Usually: No, but... or Yes, but...) |\n| **Turn** | How has the situation changed by scene end? |\n\n**Rating:** Strong / Adequate / Needs Work\n\n### 3. Conflict Assessment\n\n**Types of Conflict Present:**\n- [ ] Character vs. Character\n- [ ] Character vs. Self\n- [ ] Character vs. Environment\n- [ ] Character vs. Society\n- [ ] Character vs. Time\n\n**Conflict Intensity:** 1-10 scale\n**Escalation:** Does conflict build throughout scene?\n\n### 4. Subtext Analysis\n\n**Surface vs. Subtext:**\n| What characters SAY | What they MEAN |\n|---------------------|----------------|\n| [Dialogue line] | [Underlying meaning] |\n\n**Subtext Techniques Used:**\n- [ ] Indirect dialogue (talking about one thing, meaning another)\n- [ ] Contradiction (actions vs. words)\n- [ ] Loaded silence\n- [ ] Physical behavior revealing emotion\n- [ ] Environmental storytelling\n\n### 5. Character Analysis\n\nFor each character in scene:\n\n**[CHARACTER NAME]**\n- **Want:** What they're trying to achieve\n- **Tactic:** How they're trying to get it\n- **Obstacle:** What's stopping them\n- **Arc in Scene:** How do they change from beginning to end?\n- **Voice:** Is their dialogue distinctive?\n\n### 6. Visual Storytelling\n\n- [ ] Scene uses visual metaphors\n- [ ] Action lines are cinematic\n- [ ] Location enhances theme/mood\n- [ ] Props carry meaning\n- [ ] Character physicality tells story\n\n### 7. Pacing & Rhythm\n\n- **Scene length:** Appropriate for content?\n- **Dialogue pace:** Natural? Too fast/slow?\n- **Action balance:** Right mix of action vs. dialogue?\n- **Entry/exit:** Does scene start late, end early?\n\n### 8. Technical Craft\n\n**Formatting:**\n- [ ] Proper slugline\n- [ ] Clear action lines\n- [ ] Correct dialogue format\n- [ ] Appropriate parentheticals (not overused)\n\n**Economy:**\n- [ ] No redundant dialogue\n- [ ] No unnecessary action description\n- [ ] Every line earns its place\n\n### 9. Connection to Whole\n\n- **Plot function:** How does this scene advance the story?\n- **Character function:** What does this reveal/develop?\n- **Theme function:** How does this explore the theme?\n- **Could it be cut?** What would be lost?\n\n### 10. Recommendations\n\nProvide specific, actionable suggestions:\n\n**Strengths:**\n1. [What works well]\n2. [What works well]\n\n**Areas for Improvement:**\n1. [Specific issue] → [Specific suggestion]\n2. [Specific issue] → [Specific suggestion]\n\n**Rewrite Priority:** High / Medium / Low\n\n### Example Analysis Output\n\n```markdown\n## Scene Analysis: INT. INTERROGATION ROOM - NIGHT\n\n### Scene Fundamentals\n- **Location:** Act 2, approximately page 45\n- **Characters:** DETECTIVE CHEN, SUSPECT MARCUS\n- **Length:** 3 pages\n- **Type:** Dialogue/confrontation scene\n\n### Structure Assessment\n- **Goal:** Chen wants Marcus to confess\n- **Conflict:** Marcus deflects, lies, manipulates\n- **Stakes:** If Marcus doesn't confess, killer goes free\n- **Outcome:** No, but... Marcus slips, reveals key detail\n- **Turn:** Chen now knows Marcus is protecting someone\n\n**Rating:** Strong - clear goal, escalating conflict, satisfying turn\n\n### Subtext Highlights\n| Surface | Subtext |\n|---------|---------|\n| \"Nice watch. Gift from someone?\" | I know you're connected to the victim |\n| \"I don't remember where I got it.\" | I'm hiding something |\n\n### Key Recommendation\nThe scene works but could be tightened. Cut the first half-page of\nsmall talk - enter later when Chen already has Marcus on the defensive.\n```\n";
32
+
33
+ /** All skills for the screenplay-writing kit, keyed by skill ID. */
34
+ export const allSkills: Record<string, string> = {
35
+ 'develop-character': developCharacter,
36
+ 'generate-beat-sheet': generateBeatSheet,
37
+ 'create-scene-card': createSceneCard,
38
+ 'analyze-scene': analyzeScene,
39
+ 'beat-sheet': beatSheet,
40
+ 'screenplay-format': screenplayFormat,
41
+ 'kit-expertise': kitExpertise,
42
+ 'scene-analysis': sceneAnalysis
43
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @module @soulcraft/kits/skills/teacher-lesson-plan
3
+ * @description Raw SKILL.md content for the teacher-lesson-plan kit's AI skills.
4
+ *
5
+ * Generated from: kits/teacher-lesson-plan/skills/{skillId}/SKILL.md
6
+ * Do not edit directly — edit the source SKILL.md files and re-run `bun run build:skills`.
7
+ */
8
+
9
+ /** Raw SKILL.md content for the `create-lesson` skill. */
10
+ export const createLesson = "---\nid: create-lesson\nname: Create New Lesson\ndescription: Plan a complete lesson with objectives and activities\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Create New Lesson\n\nPlan a complete lesson with objectives and activities\n\n### Steps\n\n1. Identify subject area and topic\n2. Define learning objectives using Bloom's taxonomy\n3. Plan lesson structure (hook, instruction, practice, assessment)\n4. List required materials and resources\n5. Design differentiation strategies\n6. Create assessment criteria\n7. Estimate time for each activity\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"new lesson\"\n- \"create lesson\"\n- \"plan lesson\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
11
+
12
+ /** Raw SKILL.md content for the `differentiation` skill. */
13
+ export const differentiation = "---\nid: differentiation\nname: differentiation\ndescription: Differentiated instruction strategies for diverse learners\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: true\nrequiresData: false\n---\n\n## Differentiation Skill\n\nWhen the user invokes `/differentiate`, help them adapt lesson content, process, and products for diverse learners.\n\n### Invocation Patterns\n\n- `/differentiate` - Differentiate current lesson plan\n- `/differentiate [content]` - Strategies for specific content\n- `/differentiate [learner type]` - Focus on specific needs\n\n### Differentiation Framework\n\n**Content** - WHAT students learn\n- Tiered reading materials\n- Multiple resource formats\n- Vocabulary support\n- Graphic organizers\n\n**Process** - HOW students learn\n- Flexible grouping\n- Choice in activities\n- Learning stations\n- Scaffolded tasks\n\n**Product** - HOW students demonstrate learning\n- Choice boards\n- Multiple formats (written, oral, visual)\n- Tiered assignments\n- Self-assessment options\n\n**Environment** - WHERE students learn\n- Flexible seating\n- Quiet/collaborative spaces\n- Visual supports\n- Accessibility accommodations\n\n### Output Format\n\n```markdown\n## Differentiated Lesson: [Topic]\n\n### Learner Considerations\n- **Struggling Learners**: [X students]\n- **On-Level Learners**: [X students]\n- **Advanced Learners**: [X students]\n- **ELL Students**: [X students]\n- **Students with IEPs**: [Considerations]\n\n### Content Differentiation\n\n#### Struggling Learners\n- [Scaffolded content]\n- [Support materials]\n\n#### On-Level Learners\n- [Standard content]\n\n#### Advanced Learners\n- [Extended content]\n- [Enrichment materials]\n\n### Process Differentiation\n\n#### Activity Options\n| Modality | Activity | Learner Fit |\n|----------|----------|-------------|\n| Visual | [Activity] | [Who benefits] |\n| Auditory | [Activity] | [Who benefits] |\n| Kinesthetic | [Activity] | [Who benefits] |\n\n#### Grouping Strategy\n- [When to use whole group]\n- [When to use small groups]\n- [When to use partners]\n- [When to use independent work]\n\n### Product Differentiation\n\n#### Choice Board\n| Option 1 | Option 2 | Option 3 |\n|----------|----------|----------|\n| [Product] | [Product] | [Product] |\n| [Product] | [Product] | [Product] |\n\n#### Assessment Accommodations\n- **Extended time**: [Who/why]\n- **Alternative format**: [Who/what]\n- **Modified rubric**: [Who/how]\n\n### Scaffolding Strategies\n1. [Scaffold 1]\n2. [Scaffold 2]\n3. [Scaffold 3]\n\n### Extension Strategies\n1. [Extension 1]\n2. [Extension 2]\n```\n\n### Differentiation Strategies\n\n**For Struggling Learners**\n- Pre-teach vocabulary\n- Provide graphic organizers\n- Chunk content into smaller pieces\n- Offer sentence starters\n- Use manipulatives\n- Pair with peer support\n- Reduce quantity, maintain rigor\n\n**For Advanced Learners**\n- Compact curriculum (skip mastered content)\n- Independent study options\n- Higher-order thinking tasks\n- Mentorship opportunities\n- Cross-curricular connections\n- Real-world applications\n\n**For English Language Learners**\n- Visual supports and realia\n- Vocabulary walls\n- Native language resources\n- Sentence frames\n- Partner work with strong speakers\n- Modified assessments\n\n**For Students with IEPs**\n- Follow accommodation requirements\n- Provide materials in advance\n- Allow alternative responses\n- Use assistive technology\n- Break tasks into steps\n- Check for understanding frequently\n\n### Flexible Grouping\n\n**Readiness Groups**\n- Similar skill levels working together\n- Allows targeted instruction\n- Rotate groups based on content\n\n**Interest Groups**\n- Students choose based on interest\n- Increases engagement\n- Different paths to same objective\n\n**Learning Profile Groups**\n- Based on learning style\n- Mix for collaboration\n- Honor strengths\n\n**Random Groups**\n- Builds classroom community\n- Prevents tracking\n- Fresh perspectives\n\n### Universal Design for Learning (UDL)\n\n**Multiple Means of Representation**\n- Present information in various formats\n- Text, audio, visual, video\n\n**Multiple Means of Engagement**\n- Offer choice and autonomy\n- Connect to interests\n- Vary challenge levels\n\n**Multiple Means of Expression**\n- Allow different ways to show learning\n- Written, oral, visual, kinesthetic\n";
14
+
15
+ /** Raw SKILL.md content for the `design-unit` skill. */
16
+ export const designUnit = "---\nid: design-unit\nname: Design Course Unit\ndescription: Plan a unit with multiple lessons\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Design Course Unit\n\nPlan a unit with multiple lessons\n\n### Steps\n\n1. Define unit goals and essential questions\n2. Map lessons and their sequence\n3. Identify standards covered\n4. Plan unit assessment\n5. Create unit calendar\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"new unit\"\n- \"create unit\"\n- \"plan unit\"\n";
17
+
18
+ /** Raw SKILL.md content for the `assessment-design` skill. */
19
+ export const assessmentDesign = "---\nid: assessment-design\nname: assessment-design\ndescription: Create assessments and rubrics aligned to learning objectives\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Assessment Design Skill\n\nWhen the user invokes `/assessment`, help them create assessments and rubrics aligned to their learning objectives.\n\n### Invocation Patterns\n\n- `/assessment` - Design assessment for current lesson\n- `/assessment rubric` - Create a rubric\n- `/assessment formative` - Design formative assessments\n- `/assessment summative` - Design summative assessments\n\n### Assessment Types\n\n**Formative (Assessment FOR Learning)**\n- During instruction\n- Informs teaching adjustments\n- Low/no stakes\n- Examples: exit tickets, thumbs up/down, think-pair-share\n\n**Summative (Assessment OF Learning)**\n- End of unit/course\n- Measures mastery\n- Higher stakes\n- Examples: tests, projects, presentations\n\n**Diagnostic (Assessment AS Learning)**\n- Before instruction\n- Identifies prior knowledge\n- No stakes\n- Examples: pre-tests, KWL charts, concept maps\n\n### Output Format\n\n```markdown\n## Assessment Design: [Topic/Unit]\n\n### Alignment\n**Learning Objectives**:\n1. [Objective 1]\n2. [Objective 2]\n\n**Standards Addressed**:\n- [Standard 1]\n- [Standard 2]\n\n### Formative Assessments\n\n#### During Lesson\n| Time | Strategy | Objective Assessed | Data Use |\n|------|----------|-------------------|----------|\n| Opening | [Strategy] | [Obj #] | [How you'll respond] |\n| Middle | [Strategy] | [Obj #] | [How you'll respond] |\n| Closing | [Strategy] | [Obj #] | [How you'll respond] |\n\n### Summative Assessment\n\n**Format**: [Test/Project/Performance/etc.]\n**Duration**: [Time allowed]\n**Point Value**: [Total points]\n\n#### Assessment Blueprint\n| Objective | Question Types | Points | % of Total |\n|-----------|---------------|--------|------------|\n| Obj 1 | [MC/SA/Essay] | X | X% |\n| Obj 2 | [MC/SA/Essay] | X | X% |\n\n### Rubric\n\n#### [Assignment Name] Rubric\n\n| Criteria | Exceeds (4) | Meets (3) | Approaching (2) | Beginning (1) |\n|----------|-------------|-----------|-----------------|---------------|\n| [Criterion 1] | [Description] | [Description] | [Description] | [Description] |\n| [Criterion 2] | [Description] | [Description] | [Description] | [Description] |\n| [Criterion 3] | [Description] | [Description] | [Description] | [Description] |\n\n**Total Points Possible**: [X]\n\n### Accommodations\n- [Accommodation 1]\n- [Accommodation 2]\n\n### Answer Key / Exemplar\n[If applicable]\n```\n\n### Formative Assessment Strategies\n\n**Quick Checks**\n- Exit tickets (3-2-1)\n- Thumbs up/sideways/down\n- Red/yellow/green cards\n- Whiteboards\n\n**Discussion-Based**\n- Think-Pair-Share\n- Socratic seminar\n- Fishbowl\n- Gallery walk\n\n**Written**\n- Minute papers\n- Learning logs\n- Quick writes\n- Graphic organizers\n\n**Digital**\n- Polls (Kahoot, Poll Everywhere)\n- Padlet responses\n- Google Forms\n- Flipgrid videos\n\n### Rubric Design Principles\n\n**Single-Point Rubric**\n```\n| Criteria | Areas for Growth | Criteria Met | Evidence of Excellence |\n|----------|-----------------|--------------|----------------------|\n| [Criterion] | [Notes] | [Standard] | [Notes] |\n```\n\n**Analytic Rubric**\n- Separate scores for each criterion\n- Detailed feedback\n- More time to grade\n\n**Holistic Rubric**\n- Single overall score\n- General descriptions\n- Faster to grade\n\n### Question Types by Bloom's Level\n\n| Level | Question Types |\n|-------|---------------|\n| Remember | Multiple choice, matching, fill-in-blank |\n| Understand | Short answer, explain, summarize |\n| Apply | Problems, scenarios, demonstrations |\n| Analyze | Compare/contrast, case studies |\n| Evaluate | Defend position, critique |\n| Create | Design, compose, construct |\n\n### Assessment Quality Checklist\n\n- [ ] Aligned to objectives\n- [ ] Clear directions\n- [ ] Appropriate difficulty\n- [ ] Sufficient time allocated\n- [ ] Accommodations noted\n- [ ] Rubric criteria clear\n- [ ] Point values balanced\n- [ ] Multiple ways to show mastery\n";
20
+
21
+ /** Raw SKILL.md content for the `schedule-lesson` skill. */
22
+ export const scheduleLesson = "---\nid: schedule-lesson\nname: Schedule Lesson\ndescription: Add a lesson to the teaching calendar\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Schedule Lesson\n\nAdd a lesson to the teaching calendar\n\n### Steps\n\n1. Select lesson to schedule\n2. Choose date and class period\n3. Create event entity\n4. Link to lesson with 'uses' relationship\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"schedule\"\n- \"add to calendar\"\n- \"when to teach\"\n\n### Execution Mode\n\nThis workflow can be executed automatically when triggered. Proceed through the steps without waiting for confirmation at each step.\n";
23
+
24
+ /** Raw SKILL.md content for the `differentiate-lesson` skill. */
25
+ export const differentiateLesson = "---\nid: differentiate-lesson\nname: Differentiate Lesson\ndescription: Adapt a lesson for different learner needs\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Differentiate Lesson\n\nAdapt a lesson for different learner needs\n\n### Steps\n\n1. Identify learner needs (advanced, struggling, ELL, IEP)\n2. Modify content complexity\n3. Adjust activities and process\n4. Provide multiple ways to demonstrate learning\n5. Add scaffolds or extensions\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"differentiate\"\n- \"adapt lesson\"\n- \"modify for\"\n";
26
+
27
+ /** Raw SKILL.md content for the `blooms-taxonomy` skill. */
28
+ export const bloomsTaxonomy = "---\nid: blooms-taxonomy\nname: blooms-taxonomy\ndescription: Background expertise in writing learning objectives using Bloom's Taxonomy\nversion: \"1.0.0\"\ntype: background\nrequiresVision: true\nrequiresData: false\n---\n\n## Bloom's Taxonomy Expertise\n\nYou have expertise in educational design using Bloom's Taxonomy. Apply these principles when helping users create lesson plans and learning objectives.\n\n### Bloom's Taxonomy (Revised)\n\nFrom lowest to highest cognitive level:\n\n**1. Remember (Knowledge)**\n- Recall facts and basic concepts\n- Verbs: define, list, recall, identify, name, recognize, state\n- Example: \"List the three branches of government\"\n\n**2. Understand (Comprehension)**\n- Explain ideas or concepts\n- Verbs: explain, describe, summarize, paraphrase, classify, interpret\n- Example: \"Explain how the water cycle works\"\n\n**3. Apply (Application)**\n- Use information in new situations\n- Verbs: apply, demonstrate, solve, use, implement, execute\n- Example: \"Apply the quadratic formula to solve problems\"\n\n**4. Analyze (Analysis)**\n- Draw connections among ideas\n- Verbs: analyze, compare, contrast, examine, differentiate, organize\n- Example: \"Compare and contrast the causes of WWI and WWII\"\n\n**5. Evaluate (Evaluation)**\n- Justify a decision or course of action\n- Verbs: evaluate, critique, judge, justify, argue, defend, assess\n- Example: \"Evaluate the effectiveness of the New Deal policies\"\n\n**6. Create (Synthesis)**\n- Produce new or original work\n- Verbs: create, design, construct, develop, formulate, compose\n- Example: \"Design an experiment to test photosynthesis\"\n\n### Writing SMART Objectives\n\n**S - Specific**\n- Clear, unambiguous outcome\n- What exactly will students do?\n\n**M - Measurable**\n- Observable and assessable\n- How will you know they achieved it?\n\n**A - Achievable**\n- Realistic for student level\n- Can they actually do this?\n\n**R - Relevant**\n- Aligned to standards/curriculum\n- Why does this matter?\n\n**T - Time-bound**\n- Clear timeframe\n- By when should they achieve this?\n\n### Objective Format\n\n**Standard Format**\n```\n[Condition] + [Student] + [Verb] + [Content] + [Criteria]\n```\n\n**Examples by Level**\n\n**Remember**\n\"By the end of class, students will be able to list the five main causes of the Civil War with 80% accuracy.\"\n\n**Understand**\n\"Given a reading passage, students will summarize the author's main argument in 2-3 sentences.\"\n\n**Apply**\n\"Students will apply the scientific method to design a simple experiment testing plant growth.\"\n\n**Analyze**\n\"Students will compare and contrast two primary source documents, identifying at least three differences in perspective.\"\n\n**Evaluate**\n\"Students will evaluate the environmental impact of three energy sources, defending their choice of the best option with evidence.\"\n\n**Create**\n\"Students will create an original public service announcement addressing a community health issue.\"\n\n### Common Mistakes\n\n**Vague Objectives**\n- Bad: \"Students will understand photosynthesis\"\n- Good: \"Students will explain the role of chlorophyll in photosynthesis\"\n\n**Unmeasurable Objectives**\n- Bad: \"Students will appreciate poetry\"\n- Good: \"Students will analyze the use of metaphor in three poems\"\n\n**Too Many Objectives**\n- Bad: 10 objectives for one lesson\n- Good: 2-3 focused objectives\n\n**Wrong Level**\n- Bad: Starting with \"create\" for new content\n- Good: Building from remember → create\n\n### Aligning Activities and Assessment\n\n| Level | Activity Types | Assessment Types |\n|-------|---------------|------------------|\n| Remember | Flashcards, matching, drill | Quiz, recall test |\n| Understand | Discussion, summarizing | Explain in own words |\n| Apply | Practice problems, role-play | Demonstrate skill |\n| Analyze | Case studies, compare tasks | Essay, analysis report |\n| Evaluate | Debates, critiques | Position paper, rubric |\n| Create | Projects, design tasks | Portfolio, presentation |\n\n### Progression Within a Unit\n\n**Week 1**: Remember & Understand\n- Introduce vocabulary and concepts\n- Check for basic comprehension\n\n**Week 2**: Apply & Analyze\n- Practice applying concepts\n- Begin making connections\n\n**Week 3**: Evaluate & Create\n- Critical thinking tasks\n- Culminating project\n";
29
+
30
+ /** Raw SKILL.md content for the `kit-expertise` skill. */
31
+ export const kitExpertise = "---\nid: kit-expertise\nname: kit-expertise\ndescription: Domain expertise for Teacher Lesson Plan - applied automatically when working in this kit\nversion: \"1.0.0\"\ntype: background\nrequiresVision: true\nrequiresData: false\n---\n\n## Your Role\n\nYou are a curriculum and lesson planning specialist helping educators create engaging, effective lessons. You understand K-12 and higher education needs, differentiated instruction, assessment design, and standards alignment.\n\n## Your Expertise\n\n- K-12 and higher education curriculum design\n- Bloom's taxonomy and learning objectives\n- Differentiated instruction strategies\n- Assessment design and rubrics\n- Standards alignment (Common Core, state standards)\n- Active learning and engagement techniques\n- Lesson pacing and time management\n- Cross-curricular integration\n- SvelteKit and Brainy integration\n\n## Your Approach\n\nWork alongside the user as a creative partner\n\n## Things to Avoid\n\n- Don't assume specific grade level or subject\n- Avoid overly complex administrative features\n- Don't add student data management without privacy considerations\n\n## Domain Knowledge\n\n### Key Terms\n\n**IEP**\nIndividualized Education Program for students with special needs\n\n**ELL**\nEnglish Language Learner\n\n**DOK**\nDepth of Knowledge - cognitive complexity levels\n\n**CFU**\nCheck for Understanding\n\n**gradual release**\nI Do, We Do, You Do teaching model\n\n**exit ticket**\nQuick assessment at end of class\n\n**bell ringer**\nOpening activity as students arrive\n\n**anchor chart**\nVisual reference poster for concepts\n\n**scaffolding**\nTemporary support to help learners\n\n**formative**\nAssessment during learning (feedback-focused)\n\n**summative**\nAssessment after learning (grade-focused)\n\n### Best Practices\n\n- Store lessons as 'document' entities\n- Store courses/units as 'project' entities\n- Store class sessions as 'event' entities\n- Store assessments as 'task' entities\n- Store subjects/topics as 'topic' entities\n- Use 'partOf' for lesson-to-unit relationships\n- Use 'precedes' for lesson sequencing\n- Use 'requires' for prerequisite lessons\n- Use 'uses' for session-to-lesson\n- Use 'evaluates' for assessment-to-lesson\n- Start with clear, measurable learning objectives\n- Include hook/engagement activities\n- Build in formative assessment checkpoints\n\n### Common Mistakes to Avoid\n\n- Lessons without clear learning objectives\n- Not tracking prerequisite relationships\n- Ignoring differentiation needs\n- Missing time estimates for activities\n- Not aligning to standards when required\n";
32
+
33
+ /** All skills for the teacher-lesson-plan kit, keyed by skill ID. */
34
+ export const allSkills: Record<string, string> = {
35
+ 'create-lesson': createLesson,
36
+ 'differentiation': differentiation,
37
+ 'design-unit': designUnit,
38
+ 'assessment-design': assessmentDesign,
39
+ 'schedule-lesson': scheduleLesson,
40
+ 'differentiate-lesson': differentiateLesson,
41
+ 'blooms-taxonomy': bloomsTaxonomy,
42
+ 'kit-expertise': kitExpertise
43
+ };
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @module @soulcraft/kits/skills/technical-specification
3
+ * @description Raw SKILL.md content for the technical-specification kit's AI skills.
4
+ *
5
+ * Generated from: kits/technical-specification/skills/{skillId}/SKILL.md
6
+ * Do not edit directly — edit the source SKILL.md files and re-run `bun run build:skills`.
7
+ */
8
+
9
+ /** Raw SKILL.md content for the `architecture-decision` skill. */
10
+ export const architectureDecision = "---\nid: architecture-decision\nname: Document Architecture Decision\ndescription: Create an Architecture Decision Record (ADR) for a technical choice\nversion: \"1.0.0\"\ntype: invocable\nparameters: [decision]\nrequiresVision: false\nrequiresData: false\n---\n\n## Document Architecture Decision\n\nCreate an Architecture Decision Record (ADR) for a technical choice\n\n### Steps\n\n1. Identify the decision that needs to be made\n2. Describe the context and problem statement\n3. List the options considered with pros and cons\n4. Document the decision made and rationale\n5. Describe the consequences (positive and negative)\n6. Link to related decisions or requirements\n7. Add to the ADR index\n\n### Inputs Required\n\n- **decision** (required): Brief title of the decision\n- **context** (optional): Why this decision needs to be made\n\n### Expected Outputs\n\n- Architecture Decision Record (ADR)\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"architecture decision\"\n- \"ADR\"\n- \"should we use\"\n- \"which approach\"\n- \"design decision\"\n";
11
+
12
+ /** Raw SKILL.md content for the `data-modeling` skill. */
13
+ export const dataModeling = "---\nid: data-modeling\nname: data-modeling\ndescription: Design data models with proper normalization and relationship mapping\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: true\nrequiresData: false\n---\n\n## Data Modeling Skill\n\nWhen the user invokes `/data-model`, help them design database schemas and data models.\n\n### Invocation Patterns\n\n- `/data-model` - Design data model for current feature\n- `/data-model [entity]` - Model specific entity\n- `/data-model normalize` - Review and normalize existing model\n\n### Entity-Relationship Modeling\n\n**Identify Entities**\n- Nouns in requirements become entities\n- Must have unique identifier\n- Has multiple attributes\n\n**Define Relationships**\n- One-to-One (1:1): User ↔ Profile\n- One-to-Many (1:N): Author → Books\n- Many-to-Many (M:N): Students ↔ Courses\n\n**Cardinality Notation**\n```\nUser ||--o{ Order : places\n(one user places zero or more orders)\n\nOrder ||--|{ OrderItem : contains\n(one order contains one or more items)\n\nStudent }o--o{ Course : enrolls\n(many students enroll in many courses)\n```\n\n### Normalization Forms\n\n**1NF (First Normal Form)**\n- Eliminate repeating groups\n- Create separate tables for related data\n- Identify each row with unique key\n\n**2NF (Second Normal Form)**\n- Meet 1NF requirements\n- Remove partial dependencies\n- All non-key attributes depend on entire primary key\n\n**3NF (Third Normal Form)**\n- Meet 2NF requirements\n- Remove transitive dependencies\n- Non-key attributes depend only on primary key\n\n**When to Denormalize**\n- Read-heavy workloads\n- Reporting/analytics\n- Performance requirements\n- Calculated/derived fields\n\n### Output Format\n\n```markdown\n## Data Model: [Feature/Domain]\n\n### Entity-Relationship Diagram\n```mermaid\nerDiagram\n USER ||--o{ ORDER : places\n ORDER ||--|{ ORDER_ITEM : contains\n PRODUCT ||--o{ ORDER_ITEM : \"ordered in\"\n```\n\n### Entity Definitions\n\n#### User\n| Field | Type | Constraints | Description |\n|-------|------|-------------|-------------|\n| id | UUID | PK | Unique identifier |\n| email | VARCHAR(255) | UNIQUE, NOT NULL | Login email |\n| created_at | TIMESTAMP | NOT NULL, DEFAULT NOW | Creation time |\n\n#### Order\n| Field | Type | Constraints | Description |\n|-------|------|-------------|-------------|\n| id | UUID | PK | Unique identifier |\n| user_id | UUID | FK → User.id, NOT NULL | Customer |\n| status | ENUM | NOT NULL | Order status |\n| total | DECIMAL(10,2) | NOT NULL | Order total |\n\n### Relationships\n| Relationship | Type | Description |\n|--------------|------|-------------|\n| User → Order | 1:N | A user can have many orders |\n| Order → OrderItem | 1:N | An order has many items |\n\n### Indexes\n| Table | Index | Columns | Type | Rationale |\n|-------|-------|---------|------|-----------|\n| Order | idx_user_orders | user_id | B-tree | Query by user |\n| Order | idx_status | status | B-tree | Filter by status |\n\n### Constraints\n- `user_id` must reference existing user\n- `total` must be >= 0\n- `status` must be valid enum value\n\n### Migration Notes\n[Any migration considerations]\n```\n\n### Best Practices\n\n**Primary Keys**\n- Use UUIDs for distributed systems\n- Auto-increment for simple cases\n- Avoid natural keys as PKs (can change)\n\n**Foreign Keys**\n- Always define FK constraints\n- Consider ON DELETE behavior\n- Index foreign keys\n\n**Naming Conventions**\n- snake_case for columns\n- Singular table names (user, not users)\n- Descriptive relationship names\n\n**Data Types**\n- Use appropriate precision (DECIMAL vs FLOAT)\n- VARCHAR with reasonable limits\n- TIMESTAMP for dates (with timezone)\n\n### Common Patterns\n\n**Soft Deletes**\n```sql\ndeleted_at TIMESTAMP NULL\n```\n\n**Audit Fields**\n```sql\ncreated_at TIMESTAMP NOT NULL DEFAULT NOW()\nupdated_at TIMESTAMP NOT NULL DEFAULT NOW()\ncreated_by UUID REFERENCES user(id)\n```\n\n**Polymorphic Relationships**\n```sql\ncommentable_type VARCHAR(50) -- 'post' or 'photo'\ncommentable_id UUID\n```\n";
14
+
15
+ /** Raw SKILL.md content for the `spec-review` skill. */
16
+ export const specReview = "---\nid: spec-review\nname: Review Technical Spec\ndescription: Comprehensive review of technical specification for completeness\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Review Technical Spec\n\nComprehensive review of technical specification for completeness\n\n### Steps\n\n1. Verify problem statement and goals are clear\n2. Check that all functional requirements have acceptance criteria\n3. Verify non-functional requirements have measurable targets\n4. Review architecture for scalability and fault tolerance\n5. Check security considerations are addressed\n6. Verify data model is complete and normalized appropriately\n7. Review API contracts for consistency\n8. Check that deployment and operations are documented\n9. Identify open questions and risks\n10. Provide recommendations for improvement\n\n### Expected Outputs\n\n- Spec review report\n- Open questions list\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"review spec\"\n- \"spec review\"\n- \"is the spec complete\"\n- \"check spec\"\n";
17
+
18
+ /** Raw SKILL.md content for the `security-review` skill. */
19
+ export const securityReview = "---\nid: security-review\nname: security-review\ndescription: Security considerations, threat modeling, and secure design review\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Security Review Skill\n\nWhen the user invokes `/security`, help them identify security considerations and perform threat modeling for their technical specifications.\n\n### Invocation Patterns\n\n- `/security` - Full security review of current spec\n- `/security threats` - Threat modeling (STRIDE)\n- `/security auth` - Authentication/authorization review\n- `/security data` - Data protection review\n\n### STRIDE Threat Model\n\n**S - Spoofing**\n- Can attackers impersonate users/systems?\n- Authentication weaknesses\n- Session hijacking risks\n\n**T - Tampering**\n- Can data be modified in transit/at rest?\n- Input validation gaps\n- Integrity verification\n\n**R - Repudiation**\n- Can users deny actions?\n- Audit logging gaps\n- Non-repudiation measures\n\n**I - Information Disclosure**\n- Can sensitive data leak?\n- Error message exposure\n- Encryption requirements\n\n**D - Denial of Service**\n- Can service be disrupted?\n- Rate limiting needs\n- Resource exhaustion risks\n\n**E - Elevation of Privilege**\n- Can users gain unauthorized access?\n- Authorization bypasses\n- Privilege escalation paths\n\n### Output Format\n\n```markdown\n## Security Review: [Feature/Component]\n\n### Threat Model Summary\n| Threat Category | Risk Level | Mitigations Required |\n|-----------------|------------|---------------------|\n| Spoofing | High | [List] |\n| Tampering | Medium | [List] |\n| Repudiation | Low | [List] |\n| Info Disclosure | High | [List] |\n| Denial of Service | Medium | [List] |\n| Elevation of Privilege | High | [List] |\n\n### Data Flow Diagram\n[ASCII or description of data flows with trust boundaries]\n\n### Assets\n| Asset | Sensitivity | Protection Required |\n|-------|-------------|-------------------|\n| User credentials | Critical | Encryption, hashing |\n| PII | High | Encryption, access control |\n| Session tokens | High | Secure storage, expiration |\n\n### Threat Analysis\n\n#### T1: [Threat Name]\n- **Category**: [STRIDE category]\n- **Attack Vector**: [How attack occurs]\n- **Impact**: [What happens if exploited]\n- **Likelihood**: [High/Medium/Low]\n- **Risk**: [Critical/High/Medium/Low]\n- **Mitigation**: [Required countermeasure]\n\n#### T2: [Threat Name]\n[Same format]\n\n### Security Requirements\n\n#### Authentication\n- [ ] [Requirement 1]\n- [ ] [Requirement 2]\n\n#### Authorization\n- [ ] [Requirement 1]\n\n#### Data Protection\n- [ ] [Requirement 1]\n\n#### Logging & Monitoring\n- [ ] [Requirement 1]\n\n### OWASP Top 10 Checklist\n| Vulnerability | Applicable | Status | Notes |\n|--------------|------------|--------|-------|\n| Injection | Yes/No | [Mitigated/Needs work] | |\n| Broken Auth | Yes/No | | |\n| Sensitive Data | Yes/No | | |\n| XXE | Yes/No | | |\n| Broken Access Control | Yes/No | | |\n| Security Misconfig | Yes/No | | |\n| XSS | Yes/No | | |\n| Insecure Deserialization | Yes/No | | |\n| Vulnerable Components | Yes/No | | |\n| Insufficient Logging | Yes/No | | |\n\n### Recommendations\n1. **Critical**: [Action needed]\n2. **High**: [Action needed]\n3. **Medium**: [Action needed]\n```\n\n### Authentication Checklist\n\n- [ ] Strong password requirements\n- [ ] Account lockout after failed attempts\n- [ ] Secure password storage (bcrypt/argon2)\n- [ ] Multi-factor authentication option\n- [ ] Secure session management\n- [ ] Session timeout\n- [ ] Secure cookie flags (HttpOnly, Secure, SameSite)\n\n### Authorization Checklist\n\n- [ ] Principle of least privilege\n- [ ] Role-based access control\n- [ ] Resource-level permissions\n- [ ] Server-side validation (never trust client)\n- [ ] Indirect object references\n\n### Data Protection Checklist\n\n- [ ] Encryption in transit (TLS 1.3)\n- [ ] Encryption at rest\n- [ ] Data classification\n- [ ] PII handling compliance\n- [ ] Data retention policies\n- [ ] Secure deletion\n\n### Common Vulnerabilities\n\n**Injection**\n- SQL, NoSQL, LDAP, OS commands\n- Mitigation: Parameterized queries, input validation\n\n**XSS**\n- Stored, reflected, DOM-based\n- Mitigation: Output encoding, CSP headers\n\n**CSRF**\n- Cross-site request forgery\n- Mitigation: CSRF tokens, SameSite cookies\n\n**IDOR**\n- Insecure direct object references\n- Mitigation: Authorization checks, indirect references\n";
20
+
21
+ /** Raw SKILL.md content for the `define-component` skill. */
22
+ export const defineComponent = "---\nid: define-component\nname: Define System Component\ndescription: Document a system component with interfaces and responsibilities\nversion: \"1.0.0\"\ntype: invocable\nparameters: [componentName, purpose]\nrequiresVision: false\nrequiresData: false\n---\n\n## Define System Component\n\nDocument a system component with interfaces and responsibilities\n\n### Steps\n\n1. Name and describe the component purpose\n2. Define the component boundaries and responsibilities\n3. Specify the interfaces (APIs) the component exposes\n4. Document dependencies on other components or services\n5. Define data models owned by this component\n6. Specify technology stack and constraints\n7. Document deployment and scaling requirements\n8. Add the component to the architecture diagram\n\n### Inputs Required\n\n- **componentName** (required): Name of the component\n- **purpose** (required): Primary responsibility of the component\n\n### Expected Outputs\n\n- Component specification\n- Updated architecture diagram\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"new component\"\n- \"define component\"\n- \"service spec\"\n- \"microservice\"\n";
23
+
24
+ /** Raw SKILL.md content for the `kit-expertise` skill. */
25
+ export const kitExpertise = "---\nid: kit-expertise\nname: kit-expertise\ndescription: Domain expertise for Technical Specification - applied automatically when working in this kit\nversion: \"1.0.0\"\ntype: background\nrequiresVision: false\nrequiresData: false\n---\n\n## Your Role\n\nTechnical Architect helping you create detailed, implementable technical specifications\n\n## Your Expertise\n\n- Technical writing\n- System architecture design\n- API specification\n- Data modeling\n- Trade-off analysis\n- Security considerations\n- Performance requirements\n- Implementation planning\n\n## Your Approach\n\nWork alongside the user as a creative partner\n\n## Things to Avoid\n\n- Vague technical descriptions\n- Ignoring edge cases\n- Missing security considerations\n- Undocumented assumptions\n\n## Domain Knowledge\n\n### Key Terms\n\n**architecture**\nHigh-level structure of the system\n\n**component**\nModular part of the system\n\n**interface**\nContract between components\n\n**data model**\nStructure of stored information\n\n**sequence diagram**\nFlow of operations over time\n\n**trade-off**\nDecision between competing concerns\n\n**constraint**\nLimitation on the solution\n\n**non-functional requirement**\nQuality attribute (performance, security)\n\n### Best Practices\n\n- Start with problem statement\n- Document all assumptions\n- Include diagrams for architecture\n- Specify error handling\n- Address security explicitly\n- Define testing strategy\n\n### Common Mistakes to Avoid\n\n- Implementation before specification\n- Missing error scenarios\n- Undocumented dependencies\n- No rollback strategy\n- Ignoring scalability\n- Vague performance requirements\n";
26
+
27
+ /** Raw SKILL.md content for the `data-model-design` skill. */
28
+ export const dataModelDesign = "---\nid: data-model-design\nname: Design Data Model\ndescription: Create data model design for a feature or component\nversion: \"1.0.0\"\ntype: invocable\nparameters: [domain]\nrequiresVision: false\nrequiresData: false\n---\n\n## Design Data Model\n\nCreate data model design for a feature or component\n\n### Steps\n\n1. Identify the entities and their attributes\n2. Define relationships between entities\n3. Choose appropriate data types for each attribute\n4. Identify primary keys and unique constraints\n5. Design indexes for query performance\n6. Consider normalization vs denormalization trade-offs\n7. Document the schema with DDL or diagram\n8. Add migration strategy if modifying existing schema\n\n### Inputs Required\n\n- **domain** (required): The domain or feature area\n\n### Expected Outputs\n\n- Data model documentation\n- Schema definition\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"data model\"\n- \"database schema\"\n- \"entities\"\n- \"ERD\"\n- \"schema design\"\n";
29
+
30
+ /** Raw SKILL.md content for the `requirements-analysis` skill. */
31
+ export const requirementsAnalysis = "---\nid: requirements-analysis\nname: Analyze Requirements\ndescription: Break down high-level requirements into detailed specifications\nversion: \"1.0.0\"\ntype: invocable\nparameters: [requirement]\nrequiresVision: false\nrequiresData: false\n---\n\n## Analyze Requirements\n\nBreak down high-level requirements into detailed specifications\n\n### Steps\n\n1. Review the high-level requirement or user story\n2. Identify functional requirements - what the system must do\n3. Identify non-functional requirements - quality attributes\n4. Define acceptance criteria for each requirement\n5. Estimate complexity and dependencies\n6. Identify risks and unknowns\n7. Prioritize using MoSCoW or similar framework\n8. Update the requirements section\n\n### Inputs Required\n\n- **requirement** (required): The requirement or user story to analyze\n\n### Expected Outputs\n\n- Detailed requirement specifications\n- Acceptance criteria\n\n### When to Use\n\nThis workflow is helpful when the user mentions:\n- \"analyze requirement\"\n- \"break down\"\n- \"detail requirement\"\n- \"acceptance criteria\"\n";
32
+
33
+ /** Raw SKILL.md content for the `architecture-decisions` skill. */
34
+ export const architectureDecisions = "---\nid: architecture-decisions\nname: architecture-decisions\ndescription: Document Architecture Decision Records (ADRs) for technical specifications\nversion: \"1.0.0\"\ntype: invocable\nrequiresVision: false\nrequiresData: false\n---\n\n## Architecture Decision Records Skill\n\nWhen the user invokes `/adr`, help them document architecture decisions using the ADR format.\n\n### Invocation Patterns\n\n- `/adr` - Create new ADR for current decision\n- `/adr [title]` - Create ADR with specific title\n- `/adr review` - Review existing ADRs for consistency\n\n### ADR Structure\n\n```markdown\n# ADR-001: [Short Title]\n\n## Status\n[Proposed | Accepted | Deprecated | Superseded by ADR-XXX]\n\n## Context\n[What is the issue that we're seeing that motivates this decision?]\n\n## Decision\n[What is the change that we're proposing and/or doing?]\n\n## Consequences\n[What becomes easier or more difficult because of this change?]\n```\n\n### Extended ADR Template\n\n```markdown\n# ADR-[NUMBER]: [TITLE]\n\n## Status\n[Status]\n\n## Date\n[YYYY-MM-DD]\n\n## Decision Makers\n[Who was involved in the decision]\n\n## Context\n[Background and problem statement]\n\n### Forces\n- [Force 1]: [Description]\n- [Force 2]: [Description]\n\n## Options Considered\n\n### Option 1: [Name]\n**Description**: [How it works]\n**Pros**:\n- [Pro 1]\n- [Pro 2]\n**Cons**:\n- [Con 1]\n- [Con 2]\n\n### Option 2: [Name]\n[Same format]\n\n## Decision\n[The chosen option and clear reasoning]\n\n## Consequences\n\n### Positive\n- [What becomes easier]\n\n### Negative\n- [What becomes harder]\n\n### Risks\n- [Risk 1]: [Mitigation]\n\n## Related Decisions\n- [ADR-XXX]: [Relationship]\n\n## Notes\n[Any additional context or future considerations]\n```\n\n### Output Format\n\n```markdown\n## Architecture Decision Record\n\n# ADR-[NUMBER]: [Generated Title]\n\n## Status\nProposed\n\n## Date\n[Today's date]\n\n## Context\n[Synthesized from discussion]\n\n### Problem Statement\n[The specific problem being solved]\n\n### Forces\n[Constraints and considerations]\n\n## Options Considered\n\n### Option 1: [Name]\n[Analysis]\n\n### Option 2: [Name]\n[Analysis]\n\n### Option 3: [Name]\n[Analysis]\n\n## Decision\nWe will use [Option X] because:\n1. [Reason 1]\n2. [Reason 2]\n\n## Consequences\n\n### Positive\n- [List]\n\n### Negative\n- [List]\n\n### Risks and Mitigations\n| Risk | Likelihood | Impact | Mitigation |\n|------|------------|--------|------------|\n| [Risk] | [L/M/H] | [L/M/H] | [Strategy] |\n\n## Follow-up Actions\n- [ ] [Action item 1]\n- [ ] [Action item 2]\n```\n\n### When to Write an ADR\n\nWrite an ADR when:\n- Choosing between technologies/frameworks\n- Defining major architectural patterns\n- Making security-related decisions\n- Setting coding standards\n- Choosing third-party integrations\n- Making decisions that are hard to reverse\n\n### Good ADR Characteristics\n\n**Concise**: One decision per ADR\n**Contextual**: Future readers understand why\n**Honest**: Include rejected options and tradeoffs\n**Immutable**: Supersede rather than edit\n**Numbered**: Easy to reference\n\n### Common Decision Areas\n\n- Database selection\n- API design patterns\n- Authentication approach\n- Deployment strategy\n- Testing strategy\n- Monitoring approach\n- Error handling patterns\n- Caching strategy\n- Message queue selection\n- Frontend framework\n";
35
+
36
+ /** All skills for the technical-specification kit, keyed by skill ID. */
37
+ export const allSkills: Record<string, string> = {
38
+ 'architecture-decision': architectureDecision,
39
+ 'data-modeling': dataModeling,
40
+ 'spec-review': specReview,
41
+ 'security-review': securityReview,
42
+ 'define-component': defineComponent,
43
+ 'kit-expertise': kitExpertise,
44
+ 'data-model-design': dataModelDesign,
45
+ 'requirements-analysis': requirementsAnalysis,
46
+ 'architecture-decisions': architectureDecisions
47
+ };