jfl 0.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 (381) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +313 -0
  3. package/clawdbot-skill/README.md +328 -0
  4. package/clawdbot-skill/SKILL.md +362 -0
  5. package/clawdbot-skill/index.ts +486 -0
  6. package/clawdbot-skill/package.json +28 -0
  7. package/clawdbot-skill/skill.json +28 -0
  8. package/dist/commands/agents.d.ts +5 -0
  9. package/dist/commands/agents.d.ts.map +1 -0
  10. package/dist/commands/agents.js +399 -0
  11. package/dist/commands/agents.js.map +1 -0
  12. package/dist/commands/context-hub.d.ts +12 -0
  13. package/dist/commands/context-hub.d.ts.map +1 -0
  14. package/dist/commands/context-hub.js +642 -0
  15. package/dist/commands/context-hub.js.map +1 -0
  16. package/dist/commands/deploy.d.ts +5 -0
  17. package/dist/commands/deploy.d.ts.map +1 -0
  18. package/dist/commands/deploy.js +370 -0
  19. package/dist/commands/deploy.js.map +1 -0
  20. package/dist/commands/feedback.d.ts +2 -0
  21. package/dist/commands/feedback.d.ts.map +1 -0
  22. package/dist/commands/feedback.js +178 -0
  23. package/dist/commands/feedback.js.map +1 -0
  24. package/dist/commands/hud.d.ts +4 -0
  25. package/dist/commands/hud.d.ts.map +1 -0
  26. package/dist/commands/hud.js +262 -0
  27. package/dist/commands/hud.js.map +1 -0
  28. package/dist/commands/init.d.ts +4 -0
  29. package/dist/commands/init.d.ts.map +1 -0
  30. package/dist/commands/init.js +553 -0
  31. package/dist/commands/init.js.map +1 -0
  32. package/dist/commands/login.d.ts +23 -0
  33. package/dist/commands/login.d.ts.map +1 -0
  34. package/dist/commands/login.js +818 -0
  35. package/dist/commands/login.js.map +1 -0
  36. package/dist/commands/ralph.d.ts +9 -0
  37. package/dist/commands/ralph.d.ts.map +1 -0
  38. package/dist/commands/ralph.js +67 -0
  39. package/dist/commands/ralph.js.map +1 -0
  40. package/dist/commands/repair.d.ts +7 -0
  41. package/dist/commands/repair.d.ts.map +1 -0
  42. package/dist/commands/repair.js +283 -0
  43. package/dist/commands/repair.js.map +1 -0
  44. package/dist/commands/session-mgmt.d.ts +33 -0
  45. package/dist/commands/session-mgmt.d.ts.map +1 -0
  46. package/dist/commands/session-mgmt.js +404 -0
  47. package/dist/commands/session-mgmt.js.map +1 -0
  48. package/dist/commands/session.d.ts +2 -0
  49. package/dist/commands/session.d.ts.map +1 -0
  50. package/dist/commands/session.js +639 -0
  51. package/dist/commands/session.js.map +1 -0
  52. package/dist/commands/skills.d.ts +31 -0
  53. package/dist/commands/skills.d.ts.map +1 -0
  54. package/dist/commands/skills.js +314 -0
  55. package/dist/commands/skills.js.map +1 -0
  56. package/dist/commands/status.d.ts +2 -0
  57. package/dist/commands/status.d.ts.map +1 -0
  58. package/dist/commands/status.js +127 -0
  59. package/dist/commands/status.js.map +1 -0
  60. package/dist/commands/synopsis.d.ts +10 -0
  61. package/dist/commands/synopsis.d.ts.map +1 -0
  62. package/dist/commands/synopsis.js +277 -0
  63. package/dist/commands/synopsis.js.map +1 -0
  64. package/dist/commands/update.d.ts +10 -0
  65. package/dist/commands/update.d.ts.map +1 -0
  66. package/dist/commands/update.js +165 -0
  67. package/dist/commands/update.js.map +1 -0
  68. package/dist/commands/voice.d.ts +410 -0
  69. package/dist/commands/voice.d.ts.map +1 -0
  70. package/dist/commands/voice.js +4763 -0
  71. package/dist/commands/voice.js.map +1 -0
  72. package/dist/index.d.ts +9 -0
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.js +512 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/mcp/context-hub-mcp.d.ts +11 -0
  77. package/dist/mcp/context-hub-mcp.d.ts.map +1 -0
  78. package/dist/mcp/context-hub-mcp.js +548 -0
  79. package/dist/mcp/context-hub-mcp.js.map +1 -0
  80. package/dist/telegram/voice.d.ts +146 -0
  81. package/dist/telegram/voice.d.ts.map +1 -0
  82. package/dist/telegram/voice.js +351 -0
  83. package/dist/telegram/voice.js.map +1 -0
  84. package/dist/types/skills.d.ts +44 -0
  85. package/dist/types/skills.d.ts.map +1 -0
  86. package/dist/types/skills.js +5 -0
  87. package/dist/types/skills.js.map +1 -0
  88. package/dist/ui/banner.d.ts +18 -0
  89. package/dist/ui/banner.d.ts.map +1 -0
  90. package/dist/ui/banner.js +323 -0
  91. package/dist/ui/banner.js.map +1 -0
  92. package/dist/ui/index.d.ts +8 -0
  93. package/dist/ui/index.d.ts.map +1 -0
  94. package/dist/ui/index.js +8 -0
  95. package/dist/ui/index.js.map +1 -0
  96. package/dist/ui/prompts.d.ts +52 -0
  97. package/dist/ui/prompts.d.ts.map +1 -0
  98. package/dist/ui/prompts.js +72 -0
  99. package/dist/ui/prompts.js.map +1 -0
  100. package/dist/ui/theme.d.ts +82 -0
  101. package/dist/ui/theme.d.ts.map +1 -0
  102. package/dist/ui/theme.js +142 -0
  103. package/dist/ui/theme.js.map +1 -0
  104. package/dist/utils/auth-guard.d.ts +66 -0
  105. package/dist/utils/auth-guard.d.ts.map +1 -0
  106. package/dist/utils/auth-guard.js +348 -0
  107. package/dist/utils/auth-guard.js.map +1 -0
  108. package/dist/utils/ensure-project.d.ts +11 -0
  109. package/dist/utils/ensure-project.d.ts.map +1 -0
  110. package/dist/utils/ensure-project.js +70 -0
  111. package/dist/utils/ensure-project.js.map +1 -0
  112. package/dist/utils/git.d.ts +73 -0
  113. package/dist/utils/git.d.ts.map +1 -0
  114. package/dist/utils/git.js +219 -0
  115. package/dist/utils/git.js.map +1 -0
  116. package/dist/utils/github-auth.d.ts +54 -0
  117. package/dist/utils/github-auth.d.ts.map +1 -0
  118. package/dist/utils/github-auth.js +375 -0
  119. package/dist/utils/github-auth.js.map +1 -0
  120. package/dist/utils/github-repo.d.ts +30 -0
  121. package/dist/utils/github-repo.d.ts.map +1 -0
  122. package/dist/utils/github-repo.js +219 -0
  123. package/dist/utils/github-repo.js.map +1 -0
  124. package/dist/utils/platform-auth.d.ts +81 -0
  125. package/dist/utils/platform-auth.d.ts.map +1 -0
  126. package/dist/utils/platform-auth.js +191 -0
  127. package/dist/utils/platform-auth.js.map +1 -0
  128. package/dist/utils/project-config.d.ts +43 -0
  129. package/dist/utils/project-config.d.ts.map +1 -0
  130. package/dist/utils/project-config.js +97 -0
  131. package/dist/utils/project-config.js.map +1 -0
  132. package/dist/utils/skill-registry.d.ts +49 -0
  133. package/dist/utils/skill-registry.d.ts.map +1 -0
  134. package/dist/utils/skill-registry.js +192 -0
  135. package/dist/utils/skill-registry.js.map +1 -0
  136. package/dist/utils/wallet.d.ts +62 -0
  137. package/dist/utils/wallet.d.ts.map +1 -0
  138. package/dist/utils/wallet.js +252 -0
  139. package/dist/utils/wallet.js.map +1 -0
  140. package/dist/utils/x402-client.d.ts +86 -0
  141. package/dist/utils/x402-client.d.ts.map +1 -0
  142. package/dist/utils/x402-client.js +265 -0
  143. package/dist/utils/x402-client.js.map +1 -0
  144. package/package.json +76 -0
  145. package/scripts/postinstall.js +116 -0
  146. package/scripts/test-onboarding.sh +121 -0
  147. package/scripts/voice-start.sh +128 -0
  148. package/scripts/voice-stop.sh +33 -0
  149. package/template/.claude/settings.json +92 -0
  150. package/template/.claude/skills/agent-browser/SKILL.md +116 -0
  151. package/template/.claude/skills/brand-architect/SKILL.md +240 -0
  152. package/template/.claude/skills/brand-architect/config.yaml +137 -0
  153. package/template/.claude/skills/campaign-hud/config.yaml +112 -0
  154. package/template/.claude/skills/content-creator/SKILL.md +294 -0
  155. package/template/.claude/skills/debug/MULTI_AGENT.md +360 -0
  156. package/template/.claude/skills/debug/SKILL.md +549 -0
  157. package/template/.claude/skills/fly-deploy/SKILL.md +676 -0
  158. package/template/.claude/skills/founder-video/SKILL.md +467 -0
  159. package/template/.claude/skills/hud/SKILL.md +157 -0
  160. package/template/.claude/skills/ralph-tui/SKILL.md +210 -0
  161. package/template/.claude/skills/react-best-practices/AGENTS.md +2249 -0
  162. package/template/.claude/skills/react-best-practices/README.md +123 -0
  163. package/template/.claude/skills/react-best-practices/SKILL.md +125 -0
  164. package/template/.claude/skills/react-best-practices/metadata.json +15 -0
  165. package/template/.claude/skills/react-best-practices/rules/_sections.md +46 -0
  166. package/template/.claude/skills/react-best-practices/rules/_template.md +28 -0
  167. package/template/.claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  168. package/template/.claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  169. package/template/.claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
  170. package/template/.claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
  171. package/template/.claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
  172. package/template/.claude/skills/react-best-practices/rules/async-parallel.md +28 -0
  173. package/template/.claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  174. package/template/.claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  175. package/template/.claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  176. package/template/.claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  177. package/template/.claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  178. package/template/.claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
  179. package/template/.claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  180. package/template/.claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  181. package/template/.claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  182. package/template/.claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  183. package/template/.claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  184. package/template/.claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  185. package/template/.claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  186. package/template/.claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
  187. package/template/.claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  188. package/template/.claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
  189. package/template/.claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  190. package/template/.claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  191. package/template/.claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  192. package/template/.claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  193. package/template/.claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
  194. package/template/.claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  195. package/template/.claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  196. package/template/.claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  197. package/template/.claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  198. package/template/.claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  199. package/template/.claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  200. package/template/.claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  201. package/template/.claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  202. package/template/.claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  203. package/template/.claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  204. package/template/.claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  205. package/template/.claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
  206. package/template/.claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  207. package/template/.claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  208. package/template/.claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  209. package/template/.claude/skills/react-best-practices/rules/server-cache-react.md +26 -0
  210. package/template/.claude/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  211. package/template/.claude/skills/react-best-practices/rules/server-serialization.md +38 -0
  212. package/template/.claude/skills/remotion-best-practices/SKILL.md +43 -0
  213. package/template/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
  214. package/template/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
  215. package/template/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  216. package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  217. package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  218. package/template/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
  219. package/template/.claude/skills/remotion-best-practices/rules/audio.md +172 -0
  220. package/template/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  221. package/template/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
  222. package/template/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
  223. package/template/.claude/skills/remotion-best-practices/rules/compositions.md +146 -0
  224. package/template/.claude/skills/remotion-best-practices/rules/display-captions.md +126 -0
  225. package/template/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  226. package/template/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
  227. package/template/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  228. package/template/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  229. package/template/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  230. package/template/.claude/skills/remotion-best-practices/rules/gifs.md +138 -0
  231. package/template/.claude/skills/remotion-best-practices/rules/images.md +130 -0
  232. package/template/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
  233. package/template/.claude/skills/remotion-best-practices/rules/lottie.md +68 -0
  234. package/template/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  235. package/template/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
  236. package/template/.claude/skills/remotion-best-practices/rules/sequencing.md +106 -0
  237. package/template/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
  238. package/template/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
  239. package/template/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
  240. package/template/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
  241. package/template/.claude/skills/remotion-best-practices/rules/transitions.md +122 -0
  242. package/template/.claude/skills/remotion-best-practices/rules/trimming.md +53 -0
  243. package/template/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
  244. package/template/.claude/skills/search/SKILL.md +220 -0
  245. package/template/.claude/skills/spec/SKILL.md +377 -0
  246. package/template/.claude/skills/startup/SKILL.md +310 -0
  247. package/template/.claude/skills/web-architect/SKILL.md +309 -0
  248. package/template/.claude/skills/x-algorithm/SKILL.md +305 -0
  249. package/template/.jfl/config.json +8 -0
  250. package/template/.mcp.json +11 -0
  251. package/template/CLAUDE.md +960 -0
  252. package/template/content/.gitkeep +0 -0
  253. package/template/context-hub +3 -0
  254. package/template/knowledge/BRAND_BRIEF.md +124 -0
  255. package/template/knowledge/BRAND_DECISIONS.md +168 -0
  256. package/template/knowledge/NARRATIVE.md +114 -0
  257. package/template/knowledge/ROADMAP.md +128 -0
  258. package/template/knowledge/THESIS.md +108 -0
  259. package/template/knowledge/VISION.md +74 -0
  260. package/template/knowledge/VOICE_AND_TONE.md +146 -0
  261. package/template/previews/.gitkeep +0 -0
  262. package/template/scripts/session/auto-commit.sh +245 -0
  263. package/template/scripts/session/auto-merge.sh +325 -0
  264. package/template/scripts/session/jfl-doctor.sh +587 -0
  265. package/template/scripts/session/session-end.sh +194 -0
  266. package/template/scripts/session/session-init.sh +163 -0
  267. package/template/scripts/session/session-sync.sh +167 -0
  268. package/template/scripts/session/test-context-preservation.sh +160 -0
  269. package/template/skills/agent-browser/SKILL.md +116 -0
  270. package/template/skills/brand-architect/SKILL.md +240 -0
  271. package/template/skills/brand-architect/config.yaml +137 -0
  272. package/template/skills/campaign-hud/config.yaml +112 -0
  273. package/template/skills/content-creator/SKILL.md +294 -0
  274. package/template/skills/debug/MULTI_AGENT.md +360 -0
  275. package/template/skills/debug/SKILL.md +549 -0
  276. package/template/skills/fly-deploy/SKILL.md +676 -0
  277. package/template/skills/founder-video/SKILL.md +467 -0
  278. package/template/skills/hud/SKILL.md +204 -0
  279. package/template/skills/ralph-tui/SKILL.md +210 -0
  280. package/template/skills/react-best-practices/AGENTS.md +2249 -0
  281. package/template/skills/react-best-practices/README.md +123 -0
  282. package/template/skills/react-best-practices/SKILL.md +125 -0
  283. package/template/skills/react-best-practices/metadata.json +15 -0
  284. package/template/skills/react-best-practices/rules/_sections.md +46 -0
  285. package/template/skills/react-best-practices/rules/_template.md +28 -0
  286. package/template/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  287. package/template/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  288. package/template/skills/react-best-practices/rules/async-api-routes.md +38 -0
  289. package/template/skills/react-best-practices/rules/async-defer-await.md +80 -0
  290. package/template/skills/react-best-practices/rules/async-dependencies.md +36 -0
  291. package/template/skills/react-best-practices/rules/async-parallel.md +28 -0
  292. package/template/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  293. package/template/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  294. package/template/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  295. package/template/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  296. package/template/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  297. package/template/skills/react-best-practices/rules/bundle-preload.md +50 -0
  298. package/template/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  299. package/template/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  300. package/template/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  301. package/template/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  302. package/template/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  303. package/template/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  304. package/template/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  305. package/template/skills/react-best-practices/rules/js-early-exit.md +50 -0
  306. package/template/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  307. package/template/skills/react-best-practices/rules/js-index-maps.md +37 -0
  308. package/template/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  309. package/template/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  310. package/template/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  311. package/template/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  312. package/template/skills/react-best-practices/rules/rendering-activity.md +26 -0
  313. package/template/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  314. package/template/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  315. package/template/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  316. package/template/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  317. package/template/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  318. package/template/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  319. package/template/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  320. package/template/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  321. package/template/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  322. package/template/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  323. package/template/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  324. package/template/skills/react-best-practices/rules/rerender-memo.md +44 -0
  325. package/template/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  326. package/template/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  327. package/template/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  328. package/template/skills/react-best-practices/rules/server-cache-react.md +26 -0
  329. package/template/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  330. package/template/skills/react-best-practices/rules/server-serialization.md +38 -0
  331. package/template/skills/remotion-best-practices/SKILL.md +43 -0
  332. package/template/skills/remotion-best-practices/rules/3d.md +86 -0
  333. package/template/skills/remotion-best-practices/rules/animations.md +29 -0
  334. package/template/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  335. package/template/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  336. package/template/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  337. package/template/skills/remotion-best-practices/rules/assets.md +78 -0
  338. package/template/skills/remotion-best-practices/rules/audio.md +172 -0
  339. package/template/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  340. package/template/skills/remotion-best-practices/rules/can-decode.md +75 -0
  341. package/template/skills/remotion-best-practices/rules/charts.md +58 -0
  342. package/template/skills/remotion-best-practices/rules/compositions.md +146 -0
  343. package/template/skills/remotion-best-practices/rules/display-captions.md +126 -0
  344. package/template/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  345. package/template/skills/remotion-best-practices/rules/fonts.md +152 -0
  346. package/template/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  347. package/template/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  348. package/template/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  349. package/template/skills/remotion-best-practices/rules/gifs.md +138 -0
  350. package/template/skills/remotion-best-practices/rules/images.md +130 -0
  351. package/template/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
  352. package/template/skills/remotion-best-practices/rules/lottie.md +68 -0
  353. package/template/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  354. package/template/skills/remotion-best-practices/rules/measuring-text.md +143 -0
  355. package/template/skills/remotion-best-practices/rules/sequencing.md +106 -0
  356. package/template/skills/remotion-best-practices/rules/tailwind.md +11 -0
  357. package/template/skills/remotion-best-practices/rules/text-animations.md +20 -0
  358. package/template/skills/remotion-best-practices/rules/timing.md +179 -0
  359. package/template/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
  360. package/template/skills/remotion-best-practices/rules/transitions.md +122 -0
  361. package/template/skills/remotion-best-practices/rules/trimming.md +53 -0
  362. package/template/skills/remotion-best-practices/rules/videos.md +171 -0
  363. package/template/skills/search/SKILL.md +220 -0
  364. package/template/skills/spec/SKILL.md +377 -0
  365. package/template/skills/startup/SKILL.md +310 -0
  366. package/template/skills/web-architect/SKILL.md +309 -0
  367. package/template/skills/x-algorithm/SKILL.md +305 -0
  368. package/template/suggestions/.gitkeep +0 -0
  369. package/template/templates/QUICKSTART_SKILL_TO_PRODUCT.md +242 -0
  370. package/template/templates/brand/BRAND_BRIEF.md +124 -0
  371. package/template/templates/brand/BRAND_DECISIONS.md +168 -0
  372. package/template/templates/brand/BRAND_GUIDELINES.md +251 -0
  373. package/template/templates/brand/VOICE_AND_TONE.md +146 -0
  374. package/template/templates/brand/global.css +240 -0
  375. package/template/templates/collaboration/CONTRIBUTOR.md +74 -0
  376. package/template/templates/collaboration/CRM.md +97 -0
  377. package/template/templates/collaboration/TASKS.md +83 -0
  378. package/template/templates/strategic/NARRATIVE.md +114 -0
  379. package/template/templates/strategic/ROADMAP.md +128 -0
  380. package/template/templates/strategic/THESIS.md +108 -0
  381. package/template/templates/strategic/VISION.md +74 -0
@@ -0,0 +1,220 @@
1
+ ---
2
+ name: search
3
+ description: Semantic search across GTM knowledge base using qmd - find context by meaning, not just keywords
4
+ ---
5
+
6
+ # Search
7
+
8
+ Semantic search across your GTM workspace. Find decisions, context, and knowledge by meaning.
9
+
10
+ Uses [qmd](https://github.com/tobi/qmd) - local hybrid search combining BM25 keywords, vector embeddings, and LLM reranking.
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /search "what did we decide about pricing"
16
+ /search "authentication flow"
17
+ /search --keyword "API" # Fast keyword-only
18
+ /search --semantic "how to deploy" # Vector-only
19
+ ```
20
+
21
+ ## Setup
22
+
23
+ **New workspaces:** Search is set up automatically during `jfl init` if you choose to enable it.
24
+
25
+ **Existing workspaces:** Follow the manual setup below.
26
+
27
+ ## On Skill Invoke
28
+
29
+ ### Step 1: Check if qmd is installed
30
+
31
+ ```bash
32
+ which qmd
33
+ ```
34
+
35
+ **If not installed:**
36
+
37
+ ```
38
+ qmd not found. It's a local search engine for your markdown files.
39
+
40
+ Install it?
41
+
42
+ bun install -g https://github.com/tobi/qmd
43
+
44
+ [Yes] [No]
45
+ ```
46
+
47
+ If yes, run:
48
+ ```bash
49
+ bun install -g https://github.com/tobi/qmd
50
+ ```
51
+
52
+ ### Step 2: Check if GTM is indexed
53
+
54
+ ```bash
55
+ qmd status
56
+ ```
57
+
58
+ Look for a collection that matches this workspace (check `.jfl/config.json` for the collection name).
59
+
60
+ **If no collection exists, guide setup:**
61
+
62
+ ```
63
+ This GTM workspace isn't indexed yet.
64
+
65
+ To set up search, run these commands:
66
+
67
+ # Add the workspace as a collection
68
+ qmd collection add . --name <project-name>
69
+
70
+ # Add context to help search understand the content
71
+ qmd context add qmd://<project-name> "GTM workspace: vision, narrative, specs, content, and decisions"
72
+ qmd context add qmd://<project-name>/knowledge "Strategic docs: vision, thesis, roadmap, brand"
73
+ qmd context add qmd://<project-name>/content "Marketing content: articles, threads, posts"
74
+
75
+ # Generate embeddings (takes a minute, downloads ~1.5GB of models first time)
76
+ qmd embed
77
+
78
+ After running these, try /search again.
79
+ ```
80
+
81
+ **Note:** These commands are run automatically during `jfl init` if search is enabled. Only run manually for existing workspaces.
82
+
83
+ ### Step 3: Run the search
84
+
85
+ **Default (hybrid with reranking - best quality):**
86
+ ```bash
87
+ qmd query "USER_QUERY" -n 10
88
+ ```
89
+
90
+ **Keyword-only (fast):**
91
+ ```bash
92
+ qmd search "USER_QUERY" -n 10
93
+ ```
94
+
95
+ **Semantic-only:**
96
+ ```bash
97
+ qmd vsearch "USER_QUERY" -n 10
98
+ ```
99
+
100
+ ### Step 4: Present results
101
+
102
+ Show results with:
103
+ - File path (relative to workspace)
104
+ - Score (percentage)
105
+ - Snippet with context
106
+
107
+ ```
108
+ Found 5 results for "pricing":
109
+
110
+ knowledge/PRODUCT_SPEC_V2.md (87%)
111
+ "The day pass model: $5/day per person. Only pay days you use it..."
112
+
113
+ knowledge/THESIS.md (72%)
114
+ "Before: $355k/year (tools + coordination headcount). After: $240/year..."
115
+
116
+ content/articles/YOU_SHOULD_BE_WORKING_ON_CONTEXT.md (58%)
117
+ "The entire SaaS economy is a $300B/year patch..."
118
+ ```
119
+
120
+ If user wants full content, use:
121
+ ```bash
122
+ qmd get "FILE_PATH" --full
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Search Modes
128
+
129
+ | Mode | Command | Use When |
130
+ |------|---------|----------|
131
+ | **Hybrid** | `qmd query` | Best quality, default |
132
+ | **Keyword** | `qmd search` | Fast, exact matches |
133
+ | **Semantic** | `qmd vsearch` | Conceptual similarity |
134
+
135
+ ---
136
+
137
+ ## Keeping Index Fresh
138
+
139
+ When files change, the index needs updating:
140
+
141
+ ```bash
142
+ # Re-index all collections
143
+ qmd update
144
+
145
+ # Re-index and pull git changes first
146
+ qmd update --pull
147
+
148
+ # Re-generate embeddings (after significant changes)
149
+ qmd embed
150
+ ```
151
+
152
+ **Do not run these automatically.** Mention to user if results seem stale.
153
+
154
+ ---
155
+
156
+ ## Advanced Options
157
+
158
+ ```bash
159
+ # Filter by collection
160
+ qmd query "API design" -c knowledge
161
+
162
+ # Minimum score threshold
163
+ qmd query "authentication" --min-score 0.5
164
+
165
+ # All results above threshold
166
+ qmd query "error handling" --all --min-score 0.3
167
+
168
+ # JSON output for processing
169
+ qmd query "deployment" --json
170
+
171
+ # Get full document content
172
+ qmd get "knowledge/VISION.md" --full
173
+ ```
174
+
175
+ ---
176
+
177
+ ## MCP Server (Optional)
178
+
179
+ For deeper integration, qmd can run as an MCP server so Claude has it as a native tool.
180
+
181
+ Add to `~/.claude/settings.json`:
182
+ ```json
183
+ {
184
+ "mcpServers": {
185
+ "qmd": {
186
+ "command": "qmd",
187
+ "args": ["mcp"]
188
+ }
189
+ }
190
+ }
191
+ ```
192
+
193
+ Then Claude can use `qmd_search`, `qmd_vsearch`, `qmd_query`, `qmd_get` directly without invoking the skill.
194
+
195
+ ---
196
+
197
+ ## What Gets Indexed
198
+
199
+ Default glob pattern indexes all markdown files:
200
+ - `knowledge/` - vision, narrative, thesis, brand, specs
201
+ - `content/` - articles, threads, posts
202
+ - `product/` - product specs, decisions
203
+ - `suggestions/` - contributor work
204
+ - `drafts/` - work in progress
205
+
206
+ Customize with `--mask` when adding collection:
207
+ ```bash
208
+ qmd collection add . --name gtm --mask "**/*.md"
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Why Local Search
214
+
215
+ - **Private** - everything stays on your machine
216
+ - **Semantic** - finds related concepts, not just keywords
217
+ - **Fast** - SQLite + local models, no API calls
218
+ - **Context-aware** - understands your knowledge base structure
219
+
220
+ The context layer becomes searchable. Decisions don't get lost.
@@ -0,0 +1,377 @@
1
+ ---
2
+ name: spec
3
+ description: Refine product specs through parallel adversarial agents - multiple perspectives catch what any single review would miss
4
+ ---
5
+
6
+ # Spec Refinement
7
+
8
+ Multi-agent adversarial review for product specs. Parallel agents with different personas critique your spec until consensus.
9
+
10
+ **Why this matters:** A single reviewer will miss things. Multiple perspectives - skeptic, implementer, user advocate, security engineer - will catch gaps, challenge assumptions, and surface edge cases. The result is a document that has survived rigorous review before you write a single line of code.
11
+
12
+ **Dogfooding:** This skill uses JFL's own multi-agent infrastructure. No external API keys needed. Parallel Task agents debate using the same Claude that powers everything else.
13
+
14
+ ## Usage
15
+
16
+ ```
17
+ /spec # Start from scratch - describe what to build
18
+ /spec ./docs/my-spec.md # Refine an existing spec
19
+ /spec --interview # Deep requirements gathering first
20
+ /spec --focus security # Focus critique on security concerns
21
+ ```
22
+
23
+ ## On Skill Invoke
24
+
25
+ ### Step 1: Determine Input
26
+
27
+ **If user provided a file path:**
28
+ - Read the file
29
+ - Use as starting spec
30
+
31
+ **If user said --interview:**
32
+ - Start interview mode (see Interview section below)
33
+
34
+ **If user just described what to build:**
35
+ - Ask 2-4 clarifying questions first
36
+ - Draft initial spec based on answers
37
+ - Show draft for approval before debate
38
+
39
+ ### Step 2: Select Document Type
40
+
41
+ ```
42
+ What type of document?
43
+
44
+ 1. PRD - Product requirements (for stakeholders, PMs)
45
+ 2. Tech Spec - Technical architecture (for engineers)
46
+ ```
47
+
48
+ ### Step 3: Select Personas
49
+
50
+ ```
51
+ Which perspectives should review this spec?
52
+ (More = more rigorous review)
53
+
54
+ [x] Skeptic - challenges assumptions, asks "why not X?"
55
+ [x] Implementer - cares about buildability, edge cases
56
+ [x] User Advocate - focuses on UX, accessibility, real usage
57
+ [ ] Security Engineer - thinks like an attacker
58
+ [ ] Oncall Engineer - cares about debugging at 3am
59
+ [ ] Junior Developer - flags ambiguity, missing context
60
+ [ ] Product Manager - user value, success metrics
61
+ [ ] QA Engineer - missing test scenarios, failure modes
62
+ ```
63
+
64
+ Default: Skeptic + Implementer + User Advocate (3 perspectives)
65
+
66
+ ### Step 4: Run Parallel Critique
67
+
68
+ **Spawn Task agents in parallel, each with their persona:**
69
+
70
+ ```
71
+ Launching 3 agents in parallel:
72
+
73
+ [Skeptic] Challenging assumptions...
74
+ [Implementer] Checking buildability...
75
+ [User Advocate] Evaluating UX...
76
+ ```
77
+
78
+ Each agent receives:
79
+ - The spec content
80
+ - Their persona description
81
+ - Instructions to critique independently
82
+ - Focus area if specified (--focus security, etc.)
83
+
84
+ **Example agent prompts:**
85
+
86
+ **Skeptic Agent:**
87
+ ```
88
+ You are a skeptical technical reviewer. Your job is to challenge assumptions and ask "why not X?"
89
+
90
+ Read this spec and identify:
91
+ 1. Assumptions that aren't justified
92
+ 2. Alternative approaches not considered
93
+ 3. Potential failure modes
94
+ 4. Questions that should be answered before building
95
+ 5. Scope that could be cut
96
+
97
+ Be constructively critical. Don't just criticize - suggest alternatives.
98
+
99
+ SPEC:
100
+ <spec content>
101
+ ```
102
+
103
+ **Implementer Agent:**
104
+ ```
105
+ You are a senior engineer who will build this. Your job is to evaluate buildability.
106
+
107
+ Read this spec and identify:
108
+ 1. Missing technical details needed to implement
109
+ 2. Edge cases not covered
110
+ 3. Integration points that are underspecified
111
+ 4. Performance concerns
112
+ 5. Dependencies and ordering constraints
113
+ 6. Ambiguous requirements
114
+
115
+ Be specific about what's missing. Give examples of edge cases.
116
+
117
+ SPEC:
118
+ <spec content>
119
+ ```
120
+
121
+ **User Advocate Agent:**
122
+ ```
123
+ You are a UX-focused product person. Your job is to advocate for real users.
124
+
125
+ Read this spec and identify:
126
+ 1. User journeys that are incomplete
127
+ 2. Error states not handled
128
+ 3. Accessibility concerns
129
+ 4. Mobile vs desktop gaps
130
+ 5. Onboarding friction
131
+ 6. Confusing terminology
132
+
133
+ Think about actual humans using this. What will frustrate them?
134
+
135
+ SPEC:
136
+ <spec content>
137
+ ```
138
+
139
+ ### Step 5: Synthesize Critiques
140
+
141
+ After all agents complete, synthesize their feedback:
142
+
143
+ ```
144
+ ## Critique Summary
145
+
146
+ ### Skeptic raised:
147
+ - [concern 1]
148
+ - [concern 2]
149
+
150
+ ### Implementer raised:
151
+ - [concern 1]
152
+ - [concern 2]
153
+
154
+ ### User Advocate raised:
155
+ - [concern 1]
156
+ - [concern 2]
157
+
158
+ ## Overlapping concerns (multiple agents flagged):
159
+ - [high priority issue]
160
+
161
+ ## Questions that need answers:
162
+ - [question 1]
163
+ - [question 2]
164
+ ```
165
+
166
+ ### Step 6: Get User Input on Questions
167
+
168
+ If agents raised questions that need user input:
169
+
170
+ ```
171
+ The reviewers raised some questions:
172
+
173
+ 1. What are your expected traffic patterns for rate limiting?
174
+ 2. Should offline mode be supported?
175
+ 3. What happens if the WebSocket disconnects mid-huddle?
176
+
177
+ Your answers:
178
+ ```
179
+
180
+ ### Step 7: Revise Spec
181
+
182
+ Based on critiques and user input:
183
+ 1. Address each concern raised
184
+ 2. Add missing details
185
+ 3. Clarify ambiguities
186
+ 4. Document decisions made
187
+
188
+ Show the revised spec sections.
189
+
190
+ ### Step 8: Validate (Optional Second Round)
191
+
192
+ ```
193
+ Run another round of review?
194
+
195
+ [Yes - full review] [Yes - quick check] [No - spec is ready]
196
+ ```
197
+
198
+ If yes, spawn agents again on revised spec. Repeat until consensus or user is satisfied.
199
+
200
+ ### Step 9: Output Final Spec
201
+
202
+ When done:
203
+ - Write to `product/SPEC.md` or user-specified location
204
+ - Show summary of rounds and refinements
205
+ - Offer to continue to tech spec if PRD was just completed
206
+
207
+ ---
208
+
209
+ ## Interview Mode
210
+
211
+ Deep requirements gathering before drafting. Covers:
212
+
213
+ 1. **Problem & Context** - What are we solving? Who has this pain?
214
+ 2. **Users & Stakeholders** - All user types, technical levels, concerns
215
+ 3. **Functional Requirements** - Core user journey, decision points, edge cases
216
+ 4. **Technical Constraints** - Integrations, performance, scale, compliance
217
+ 5. **UI/UX** - Desired experience, critical flows, mobile vs desktop
218
+ 6. **Tradeoffs** - What gets cut first? Build vs buy?
219
+ 7. **Risks** - What could cause failure? What assumptions might be wrong?
220
+ 8. **Success Criteria** - How do we know it worked? What metrics?
221
+
222
+ After interview, synthesize into complete spec, then run through adversarial review.
223
+
224
+ ---
225
+
226
+ ## Focus Modes
227
+
228
+ Direct critique toward specific concerns:
229
+
230
+ ```
231
+ /spec --focus security # Auth, validation, encryption, vulnerabilities
232
+ /spec --focus scalability # Horizontal scaling, sharding, caching
233
+ /spec --focus performance # Latency, throughput, optimization
234
+ /spec --focus ux # User journeys, error states, accessibility
235
+ /spec --focus reliability # Failure modes, circuit breakers, recovery
236
+ /spec --focus cost # Infrastructure costs, resource efficiency
237
+ ```
238
+
239
+ When focus is specified, agents weight that area more heavily in their critique.
240
+
241
+ ---
242
+
243
+ ## Persona Definitions
244
+
245
+ ### Skeptic
246
+ - Challenges every assumption
247
+ - Asks "why not just use X?"
248
+ - Identifies scope creep
249
+ - Questions necessity of features
250
+ - Suggests simpler alternatives
251
+
252
+ ### Implementer
253
+ - Focuses on buildability
254
+ - Catches edge cases
255
+ - Identifies missing technical specs
256
+ - Thinks about testing
257
+ - Flags integration complexity
258
+
259
+ ### User Advocate
260
+ - Thinks about real usage
261
+ - Catches UX friction
262
+ - Advocates for accessibility
263
+ - Identifies confusing flows
264
+ - Focuses on error states
265
+
266
+ ### Security Engineer
267
+ - Thinks like an attacker
268
+ - Reviews auth/authz
269
+ - Identifies injection points
270
+ - Checks data handling
271
+ - Reviews trust boundaries
272
+
273
+ ### Oncall Engineer
274
+ - Cares about observability
275
+ - Wants clear error messages
276
+ - Thinks about debugging at 3am
277
+ - Asks about runbooks
278
+ - Flags monitoring gaps
279
+
280
+ ### Junior Developer
281
+ - Flags unclear context
282
+ - Identifies assumed knowledge
283
+ - Asks "dumb" questions
284
+ - Catches jargon
285
+ - Wants more examples
286
+
287
+ ### Product Manager
288
+ - Focuses on user value
289
+ - Asks about success metrics
290
+ - Prioritizes features
291
+ - Thinks about launch
292
+ - Identifies missing stakeholders
293
+
294
+ ### QA Engineer
295
+ - Thinks about test scenarios
296
+ - Identifies failure modes
297
+ - Asks about data states
298
+ - Catches race conditions
299
+ - Wants acceptance criteria
300
+
301
+ ---
302
+
303
+ ## The Flow
304
+
305
+ ```
306
+ You describe what to build
307
+
308
+ (Optional) Interview mode for deep requirements
309
+
310
+ Claude drafts initial spec
311
+
312
+ Parallel agents critique (3+ perspectives)
313
+
314
+ Synthesize feedback + get user input on questions
315
+
316
+ Revise spec
317
+
318
+ (Optional) Another round until consensus
319
+
320
+ Final spec output
321
+
322
+ Ready to build
323
+ ```
324
+
325
+ ---
326
+
327
+ ## Why Before Building
328
+
329
+ This is agents working together to catch what a single review misses.
330
+
331
+ Before writing code:
332
+ - Edge cases surfaced
333
+ - Assumptions challenged
334
+ - Gaps identified
335
+ - Clarifying questions asked
336
+
337
+ The spec that survives adversarial review is the spec worth building.
338
+
339
+ ---
340
+
341
+ ## Integration with JFL
342
+
343
+ After spec is finalized:
344
+ - Save to `product/SPEC.md` or appropriate location
345
+ - Reference during build for decisions already made
346
+ - Update as implementation reveals new questions
347
+
348
+ The spec becomes part of the context layer - persistent knowledge that survives sessions.
349
+
350
+ ---
351
+
352
+ ## Example Output
353
+
354
+ ```
355
+ ## Spec Review Complete
356
+
357
+ Rounds: 2
358
+ Personas: Skeptic, Implementer, User Advocate
359
+
360
+ ### Key refinements made:
361
+ 1. Added WebSocket reconnection handling (Implementer)
362
+ 2. Clarified mobile-first approach (User Advocate)
363
+ 3. Removed over-engineered participant limit system (Skeptic)
364
+ 4. Added error states for all async operations (Implementer)
365
+ 5. Defined success metrics (User Advocate)
366
+
367
+ ### Concerns addressed:
368
+ - 8 edge cases documented
369
+ - 3 security considerations added
370
+ - 2 features descoped to v2
371
+
372
+ ### Remaining open questions (for implementation):
373
+ - Exact voice transcription service TBD
374
+ - Rate limiting thresholds need load testing
375
+
376
+ Spec saved to: product/HUDDLE_SPEC.md
377
+ ```