@jairodri/huckleberry-cli 1.0.2 → 1.1.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 (745) hide show
  1. package/README.md +85 -0
  2. package/agents/cos.json +2 -5
  3. package/agents/hermes/AGENTS.md +25 -49
  4. package/agents/hermes/fix-kimaki/SKILL.md +19 -92
  5. package/agents/hermes/hermes-fixer.md +44 -74
  6. package/agents/hermes.json +6 -18
  7. package/kanban/SKILL.md +18 -18
  8. package/kanban/package.json +1 -1
  9. package/kanban/src/dispatcher.mjs +1 -1
  10. package/kanban/templates/blog-social-campaign.yaml +6 -2
  11. package/kanban/templates/social-campaign.yaml +9 -4
  12. package/mcp/jev-calibration.mjs +335 -0
  13. package/mcp/jev-client.mjs +119 -0
  14. package/mcp/jev-thresholds.json +27 -0
  15. package/package.json +13 -9
  16. package/scripts/doctor-watchdog.sh +73 -0
  17. package/scripts/install-services.sh +34 -27
  18. package/scripts/self-improve-weekly.sh +34 -0
  19. package/scripts/sync-skills.mjs +121 -0
  20. package/skills/ab-test-setup/SKILL.md +266 -0
  21. package/skills/ab-test-setup/evals/evals.json +105 -0
  22. package/skills/ab-test-setup/references/sample-size-guide.md +263 -0
  23. package/skills/ab-test-setup/references/test-templates.md +277 -0
  24. package/skills/agent-reach/SKILL.md +132 -0
  25. package/skills/agent-reach/references/career.md +29 -0
  26. package/skills/agent-reach/references/dev.md +62 -0
  27. package/skills/agent-reach/references/search.md +33 -0
  28. package/skills/agent-reach/references/social.md +232 -0
  29. package/skills/agent-reach/references/video.md +130 -0
  30. package/skills/agent-reach/references/web.md +50 -0
  31. package/skills/ai-agent-seo/SKILL.md +450 -0
  32. package/skills/ai-cold-email-intelligence/SKILL.md +54 -0
  33. package/skills/ai-cold-email-intelligence/references/prompts.md +21 -0
  34. package/skills/ai-consensus-builder/SKILL.md +324 -0
  35. package/skills/ai-seo/SKILL.md +399 -0
  36. package/skills/ai-seo/evals/evals.json +90 -0
  37. package/skills/ai-seo/references/content-patterns.md +284 -0
  38. package/skills/ai-seo/references/platform-ranking-factors.md +152 -0
  39. package/skills/ai-visibility-audit/SKILL.md +322 -0
  40. package/skills/analytics-tracking/SKILL.md +309 -0
  41. package/skills/analytics-tracking/evals/evals.json +90 -0
  42. package/skills/analytics-tracking/references/event-library.md +260 -0
  43. package/skills/analytics-tracking/references/ga4-implementation.md +300 -0
  44. package/skills/analytics-tracking/references/gtm-implementation.md +390 -0
  45. package/skills/article-generator/SKILL.md +216 -0
  46. package/skills/auto-indexing/SKILL.md +179 -0
  47. package/skills/auto-indexing/scripts/auto-indexing.js +257 -0
  48. package/skills/auto-skill/SKILL.md +151 -0
  49. package/skills/auto-skill/correction-queue.js +102 -0
  50. package/skills/auto-skill/dedup.js +97 -0
  51. package/skills/auto-skill/skill-router.js +224 -0
  52. package/skills/autoresearch/SKILL.md +334 -0
  53. package/skills/autoresearch/autoresearch-autoresearch/SKILL.md.baseline +329 -0
  54. package/skills/autoresearch/autoresearch-autoresearch/changelog.md +34 -0
  55. package/skills/autoresearch/autoresearch-autoresearch/dashboard.html +116 -0
  56. package/skills/autoresearch/autoresearch-autoresearch/evals.md +39 -0
  57. package/skills/autoresearch/autoresearch-autoresearch/results.json +44 -0
  58. package/skills/autoresearch/autoresearch-autoresearch/results.tsv +3 -0
  59. package/skills/autoresearch/eval-guide.md +121 -0
  60. package/skills/b2b-cold-outreach/SKILL.md +322 -0
  61. package/skills/birdclaw/SKILL.md +82 -0
  62. package/skills/brainstorm/SKILL.md +168 -0
  63. package/skills/brand-kit-playground/SKILL.md +312 -0
  64. package/skills/brand-kit-playground/references/html-architecture.md +316 -0
  65. package/skills/brand-kit-playground/references/steal-patterns.md +88 -0
  66. package/skills/brand-voice/SKILL.md +223 -0
  67. package/skills/brand-voice/references/honesty-as-positioning.md +60 -0
  68. package/skills/brand-voice/references/voice-modes.md +1158 -0
  69. package/skills/business-advisory-council/README.md +136 -0
  70. package/skills/business-advisory-council/SKILL.md +94 -0
  71. package/skills/business-advisory-council/business-advisory-council.py +492 -0
  72. package/skills/business-advisory-council/discord-components-decision.json +8 -0
  73. package/skills/business-advisory-council/examples/steve-conley-partnership.json +6 -0
  74. package/skills/business-advisory-council/steve-conley-call-brief.json +6 -0
  75. package/skills/churn-prevention/SKILL.md +305 -0
  76. package/skills/churn-prevention/evals/evals.json +93 -0
  77. package/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
  78. package/skills/churn-prevention/references/dunning-playbook.md +408 -0
  79. package/skills/claw-compactor/LICENSE +21 -0
  80. package/skills/claw-compactor/README.md +459 -0
  81. package/skills/claw-compactor/SKILL.md +329 -0
  82. package/skills/claw-compactor/benchmark/RESULTS.md +104 -0
  83. package/skills/claw-compactor/benchmark/__init__.py +1 -0
  84. package/skills/claw-compactor/benchmark/compressors.py +520 -0
  85. package/skills/claw-compactor/benchmark/data/sample_01_devops.json +82 -0
  86. package/skills/claw-compactor/benchmark/data/sample_02_trading.json +54 -0
  87. package/skills/claw-compactor/benchmark/data/sample_03_ml_short.json +38 -0
  88. package/skills/claw-compactor/benchmark/data/sample_04_mixed_long.json +318 -0
  89. package/skills/claw-compactor/benchmark/data/sample_05_sysadmin.json +56 -0
  90. package/skills/claw-compactor/benchmark/evaluate.py +278 -0
  91. package/skills/claw-compactor/benchmark/report.py +241 -0
  92. package/skills/claw-compactor/benchmark/results/benchmark_results.json +405 -0
  93. package/skills/claw-compactor/benchmark/run_benchmark.py +238 -0
  94. package/skills/claw-compactor/engram.yaml +49 -0
  95. package/skills/claw-compactor/proxy/README.md +87 -0
  96. package/skills/claw-compactor/proxy/dashboard.html +804 -0
  97. package/skills/claw-compactor/proxy/event-log.mjs +213 -0
  98. package/skills/claw-compactor/proxy/fair-queue.mjs +288 -0
  99. package/skills/claw-compactor/proxy/metrics-store.mjs +425 -0
  100. package/skills/claw-compactor/proxy/package-lock.json +125 -0
  101. package/skills/claw-compactor/proxy/package.json +15 -0
  102. package/skills/claw-compactor/proxy/portal.html +360 -0
  103. package/skills/claw-compactor/proxy/process-registry.mjs +447 -0
  104. package/skills/claw-compactor/proxy/rate-limiter.mjs +117 -0
  105. package/skills/claw-compactor/proxy/redis-client.mjs +75 -0
  106. package/skills/claw-compactor/proxy/retry.mjs +182 -0
  107. package/skills/claw-compactor/proxy/server.mjs +2100 -0
  108. package/skills/claw-compactor/proxy/session-affinity.mjs +177 -0
  109. package/skills/claw-compactor/proxy/start.sh +23 -0
  110. package/skills/claw-compactor/proxy/test/event-log.test.mjs +237 -0
  111. package/skills/claw-compactor/proxy/test/helpers.mjs +103 -0
  112. package/skills/claw-compactor/proxy/test/integration.test.mjs +297 -0
  113. package/skills/claw-compactor/proxy/test/metrics-store.test.mjs +243 -0
  114. package/skills/claw-compactor/proxy/test/process-registry.test.mjs +390 -0
  115. package/skills/claw-compactor/proxy/test/rate-limiter.test.mjs +121 -0
  116. package/skills/claw-compactor/proxy/test/redis-client.test.mjs +62 -0
  117. package/skills/claw-compactor/proxy/test/token-tracker.test.mjs +200 -0
  118. package/skills/claw-compactor/proxy/token-tracker.mjs +482 -0
  119. package/skills/claw-compactor/pyproject.toml +26 -0
  120. package/skills/claw-compactor/references/README.md +44 -0
  121. package/skills/claw-compactor/references/architecture.md +197 -0
  122. package/skills/claw-compactor/references/benchmarks.md +94 -0
  123. package/skills/claw-compactor/references/compression-prompts.md +39 -0
  124. package/skills/claw-compactor/references/compression-techniques.md +219 -0
  125. package/skills/claw-compactor/references/testing.md +160 -0
  126. package/skills/claw-compactor/scripts/audit_memory.py +216 -0
  127. package/skills/claw-compactor/scripts/compress_memory.py +236 -0
  128. package/skills/claw-compactor/scripts/compressed_context.py +280 -0
  129. package/skills/claw-compactor/scripts/dedup_memory.py +147 -0
  130. package/skills/claw-compactor/scripts/dictionary_compress.py +170 -0
  131. package/skills/claw-compactor/scripts/engram-auto.sh +152 -0
  132. package/skills/claw-compactor/scripts/engram_auto.py +695 -0
  133. package/skills/claw-compactor/scripts/engram_cli.py +474 -0
  134. package/skills/claw-compactor/scripts/estimate_tokens.py +131 -0
  135. package/skills/claw-compactor/scripts/generate_summary_tiers.py +292 -0
  136. package/skills/claw-compactor/scripts/lib/__init__.py +34 -0
  137. package/skills/claw-compactor/scripts/lib/config.py +289 -0
  138. package/skills/claw-compactor/scripts/lib/dedup.py +119 -0
  139. package/skills/claw-compactor/scripts/lib/dictionary.py +281 -0
  140. package/skills/claw-compactor/scripts/lib/engram.py +793 -0
  141. package/skills/claw-compactor/scripts/lib/engram_prompts.py +175 -0
  142. package/skills/claw-compactor/scripts/lib/engram_storage.py +254 -0
  143. package/skills/claw-compactor/scripts/lib/exceptions.py +24 -0
  144. package/skills/claw-compactor/scripts/lib/markdown.py +312 -0
  145. package/skills/claw-compactor/scripts/lib/rle.py +165 -0
  146. package/skills/claw-compactor/scripts/lib/tokenizer_optimizer.py +188 -0
  147. package/skills/claw-compactor/scripts/lib/tokens.py +68 -0
  148. package/skills/claw-compactor/scripts/mem_compress.py +788 -0
  149. package/skills/claw-compactor/scripts/observation_compressor.py +346 -0
  150. package/skills/claw-compactor/tests/__init__.py +0 -0
  151. package/skills/claw-compactor/tests/conftest.py +94 -0
  152. package/skills/claw-compactor/tests/test_audit_comprehensive.py +123 -0
  153. package/skills/claw-compactor/tests/test_audit_memory.py +67 -0
  154. package/skills/claw-compactor/tests/test_benchmark.py +122 -0
  155. package/skills/claw-compactor/tests/test_cli_commands.py +228 -0
  156. package/skills/claw-compactor/tests/test_compress_memory.py +109 -0
  157. package/skills/claw-compactor/tests/test_compress_memory_comprehensive.py +191 -0
  158. package/skills/claw-compactor/tests/test_compressed_context.py +145 -0
  159. package/skills/claw-compactor/tests/test_config.py +54 -0
  160. package/skills/claw-compactor/tests/test_dedup_memory.py +124 -0
  161. package/skills/claw-compactor/tests/test_dictionary.py +327 -0
  162. package/skills/claw-compactor/tests/test_dictionary_comprehensive.py +241 -0
  163. package/skills/claw-compactor/tests/test_engram.py +1091 -0
  164. package/skills/claw-compactor/tests/test_engram_auto.py +529 -0
  165. package/skills/claw-compactor/tests/test_error_handling.py +194 -0
  166. package/skills/claw-compactor/tests/test_estimate_tokens.py +99 -0
  167. package/skills/claw-compactor/tests/test_generate_summary_tiers.py +105 -0
  168. package/skills/claw-compactor/tests/test_integration.py +249 -0
  169. package/skills/claw-compactor/tests/test_lib_dedup.py +135 -0
  170. package/skills/claw-compactor/tests/test_lib_markdown.py +388 -0
  171. package/skills/claw-compactor/tests/test_lib_tokens.py +82 -0
  172. package/skills/claw-compactor/tests/test_main_entry.py +176 -0
  173. package/skills/claw-compactor/tests/test_markdown_advanced.py +284 -0
  174. package/skills/claw-compactor/tests/test_new_features.py +77 -0
  175. package/skills/claw-compactor/tests/test_observation_comprehensive.py +261 -0
  176. package/skills/claw-compactor/tests/test_observation_compressor.py +128 -0
  177. package/skills/claw-compactor/tests/test_performance.py +172 -0
  178. package/skills/claw-compactor/tests/test_pipeline.py +109 -0
  179. package/skills/claw-compactor/tests/test_real_workspace.py +161 -0
  180. package/skills/claw-compactor/tests/test_rle.py +114 -0
  181. package/skills/claw-compactor/tests/test_rle_comprehensive.py +151 -0
  182. package/skills/claw-compactor/tests/test_roundtrip.py +253 -0
  183. package/skills/claw-compactor/tests/test_roundtrip_comprehensive.py +192 -0
  184. package/skills/claw-compactor/tests/test_tiers_comprehensive.py +171 -0
  185. package/skills/claw-compactor/tests/test_token_economics.py +237 -0
  186. package/skills/claw-compactor/tests/test_tokenizer_optimizer.py +175 -0
  187. package/skills/claw-compactor/tests/test_tokenizer_optimizer_comprehensive.py +241 -0
  188. package/skills/claw-compactor/tests/test_tokens.py +27 -0
  189. package/skills/cmo/CHANGELOG.md +61 -0
  190. package/skills/cmo/SKILL.md +500 -0
  191. package/skills/cmo/references/ai-slop-patterns.md +56 -0
  192. package/skills/cmo/references/analytics-guide.md +152 -0
  193. package/skills/cmo/references/ideas-library.md +197 -0
  194. package/skills/cmo/rules/brand-file-map.md +198 -0
  195. package/skills/cmo/rules/brand-memory.md +158 -0
  196. package/skills/cmo/rules/cli-runtime-index.md +95 -0
  197. package/skills/cmo/rules/command-reference.md +167 -0
  198. package/skills/cmo/rules/communication.md +15 -0
  199. package/skills/cmo/rules/context-switch.md +101 -0
  200. package/skills/cmo/rules/ecosystem.md +125 -0
  201. package/skills/cmo/rules/error-recovery.md +98 -0
  202. package/skills/cmo/rules/learning-loop.md +170 -0
  203. package/skills/cmo/rules/monorepo.md +78 -0
  204. package/skills/cmo/rules/output-format.md +124 -0
  205. package/skills/cmo/rules/persona.md +15 -0
  206. package/skills/cmo/rules/playbooks.md +327 -0
  207. package/skills/cmo/rules/progressive-enhancement.md +231 -0
  208. package/skills/cmo/rules/publish-index.md +106 -0
  209. package/skills/cmo/rules/quality-gate.md +90 -0
  210. package/skills/cmo/rules/recency-grounding.md +124 -0
  211. package/skills/cmo/rules/safety.md +80 -0
  212. package/skills/cmo/rules/studio-api-index.md +138 -0
  213. package/skills/cmo/rules/studio-integration.md +147 -0
  214. package/skills/cmo/rules/sub-agents.md +167 -0
  215. package/skills/cold-email/SKILL.md +240 -0
  216. package/skills/cold-email/evals/evals.json +94 -0
  217. package/skills/cold-email/references/benchmarks.md +83 -0
  218. package/skills/cold-email/references/follow-up-sequences.md +81 -0
  219. package/skills/cold-email/references/frameworks.md +90 -0
  220. package/skills/cold-email/references/personalization.md +79 -0
  221. package/skills/cold-email/references/subject-lines.md +53 -0
  222. package/skills/competitive-intel/SKILL.md +433 -0
  223. package/skills/competitive-intel/references/competitive-frameworks.md +145 -0
  224. package/skills/competitor-alternatives/SKILL.md +362 -0
  225. package/skills/competitor-alternatives/evals/evals.json +93 -0
  226. package/skills/competitor-alternatives/references/content-architecture.md +271 -0
  227. package/skills/competitor-alternatives/references/templates.md +223 -0
  228. package/skills/concreteness-fixer/SKILL.md +483 -0
  229. package/skills/concreteness-fixer/scripts/validation/concreteness-validator.js +221 -0
  230. package/skills/concreteness-fixer/utils/execFileNoThrow.js +16 -0
  231. package/skills/content-atomizer/SKILL.md +424 -0
  232. package/skills/content-atomizer/references/hook-strategies.md +56 -0
  233. package/skills/content-atomizer/references/platform-specs.md +118 -0
  234. package/skills/content-atomizer/references/platforms/bluesky.md +64 -0
  235. package/skills/content-atomizer/references/platforms/instagram.md +77 -0
  236. package/skills/content-atomizer/references/platforms/linkedin.md +120 -0
  237. package/skills/content-atomizer/references/platforms/reddit.md +73 -0
  238. package/skills/content-atomizer/references/platforms/threads.md +64 -0
  239. package/skills/content-atomizer/references/platforms/tiktok.md +55 -0
  240. package/skills/content-atomizer/references/platforms/twitter.md +123 -0
  241. package/skills/content-atomizer/references/platforms/youtube.md +56 -0
  242. package/skills/content-atomizer/references/tweet-patterns.md +40 -0
  243. package/skills/content-repost-manager/SKILL.md +245 -0
  244. package/skills/content-repost-manager/scripts/content-repost-scan.py +133 -0
  245. package/skills/context-recovery/.clawdhub/origin.json +7 -0
  246. package/skills/context-recovery/SKILL.md +198 -0
  247. package/skills/context-recovery/_meta.json +6 -0
  248. package/skills/conversion-flow-cro/SKILL.md +248 -0
  249. package/skills/conversion-flow-cro/references/flow-benchmarks.md +158 -0
  250. package/skills/copy-editing/SKILL.md +474 -0
  251. package/skills/copy-editing/evals/evals.json +89 -0
  252. package/skills/copy-editing/references/plain-english-alternatives.md +394 -0
  253. package/skills/copywriting/SKILL.md +349 -0
  254. package/skills/copywriting/evals/evals.json +111 -0
  255. package/skills/copywriting/references/awareness-level-guide.md +227 -0
  256. package/skills/copywriting/references/copy-frameworks.md +389 -0
  257. package/skills/copywriting/references/natural-transitions.md +272 -0
  258. package/skills/creative/SKILL.md +365 -0
  259. package/skills/creative/modes/ad-creative.md +1748 -0
  260. package/skills/creative/modes/product-photo.md +1520 -0
  261. package/skills/creative/modes/product-video.md +1657 -0
  262. package/skills/creative/modes/social-graphics.md +1511 -0
  263. package/skills/creative/modes/talking-head.md +2208 -0
  264. package/skills/creative/references/VISUAL_INTELLIGENCE.md +1233 -0
  265. package/skills/deep-serp-article/SKILL.md +677 -0
  266. package/skills/deep-serp-article/SKILL.md.bak +530 -0
  267. package/skills/earned-media/SKILL.md +260 -0
  268. package/skills/email-sequences/SKILL.md +446 -0
  269. package/skills/email-sequences/references/sequence-templates.md +1217 -0
  270. package/skills/firecrawl/.skill-meta.json +13 -0
  271. package/skills/firecrawl/SKILL.md +154 -0
  272. package/skills/firecrawl/rules/install.md +63 -0
  273. package/skills/firecrawl/rules/security.md +26 -0
  274. package/skills/form-cro/SKILL.md +429 -0
  275. package/skills/form-cro/evals/evals.json +90 -0
  276. package/skills/free-tool-strategy/SKILL.md +325 -0
  277. package/skills/free-tool-strategy/evals/evals.json +90 -0
  278. package/skills/free-tool-strategy/references/tool-types.md +253 -0
  279. package/skills/frontend-slides/SKILL.md +248 -0
  280. package/skills/frontend-slides/STYLE_PRESETS.md +347 -0
  281. package/skills/frontend-slides/animation-patterns.md +110 -0
  282. package/skills/frontend-slides/html-template.md +347 -0
  283. package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  284. package/skills/frontend-slides/viewport-base.css +153 -0
  285. package/skills/guardrail-framework/SKILL.md +319 -0
  286. package/skills/hook-generator/SKILL.md +438 -0
  287. package/skills/hook-generator/database/2026-PLATFORM-RESEARCH.md +211 -0
  288. package/skills/hook-generator/database/instagram-hooks.json +591 -0
  289. package/skills/hook-generator/database/linkedin-hooks.json +502 -0
  290. package/skills/hook-generator/database/medium-hooks.json +181 -0
  291. package/skills/hook-generator/database/tiktok-hooks.json +337 -0
  292. package/skills/hook-generator/database/twitter-hooks.json +567 -0
  293. package/skills/hook-generator/database/youtube-hooks.json +275 -0
  294. package/skills/hook-generator/package-lock.json +24 -0
  295. package/skills/hook-generator/package.json +5 -0
  296. package/skills/hook-generator/references/hook-generation-system.md +257 -0
  297. package/skills/hook-generator/references/hook-performance-analysis.json +153 -0
  298. package/skills/hook-generator/references/hooks-library.md +128 -0
  299. package/skills/hook-generator/references/platform-hook-frameworks.md +275 -0
  300. package/skills/hook-generator/scripts/generate-hooks-unified.js +722 -0
  301. package/skills/hook-generator/scripts/generate-hooks.js +225 -0
  302. package/skills/hook-generator/scripts/generate.sh +36 -0
  303. package/skills/hook-generator/scripts/ralph-hook-enhancer.js +864 -0
  304. package/skills/hook-generator/scripts/test-gemini-output.js +51 -0
  305. package/skills/humanizer/README.md +120 -0
  306. package/skills/humanizer/SKILL.md +699 -0
  307. package/skills/image-gen/SKILL.md +277 -0
  308. package/skills/image-gen/references/prompt-patterns.md +114 -0
  309. package/skills/image-gen/references/visual-metaphors.md +51 -0
  310. package/skills/impeccable/SKILL.md +86 -0
  311. package/skills/impeccable/reference/adapt.md +312 -0
  312. package/skills/impeccable/reference/adapt.native.md +58 -0
  313. package/skills/impeccable/reference/android.md +40 -0
  314. package/skills/impeccable/reference/animate.md +86 -0
  315. package/skills/impeccable/reference/audit.md +136 -0
  316. package/skills/impeccable/reference/audit.native.md +139 -0
  317. package/skills/impeccable/reference/bolder.md +31 -0
  318. package/skills/impeccable/reference/clarify.md +94 -0
  319. package/skills/impeccable/reference/colorize.md +86 -0
  320. package/skills/impeccable/reference/craft-floor.md +42 -0
  321. package/skills/impeccable/reference/craft.md +5 -0
  322. package/skills/impeccable/reference/critique.md +788 -0
  323. package/skills/impeccable/reference/degraded/asset-producer.md +90 -0
  324. package/skills/impeccable/reference/degraded/documenter.md +24 -0
  325. package/skills/impeccable/reference/degraded/finish-reviewer.md +37 -0
  326. package/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
  327. package/skills/impeccable/reference/delight.md +70 -0
  328. package/skills/impeccable/reference/distill.md +111 -0
  329. package/skills/impeccable/reference/doctor.md +53 -0
  330. package/skills/impeccable/reference/document.md +416 -0
  331. package/skills/impeccable/reference/extract.md +69 -0
  332. package/skills/impeccable/reference/harden.md +336 -0
  333. package/skills/impeccable/reference/hooks.md +105 -0
  334. package/skills/impeccable/reference/init.md +125 -0
  335. package/skills/impeccable/reference/ios.md +45 -0
  336. package/skills/impeccable/reference/layout.md +84 -0
  337. package/skills/impeccable/reference/live-setup.md +102 -0
  338. package/skills/impeccable/reference/live.md +323 -0
  339. package/skills/impeccable/reference/new-work.md +110 -0
  340. package/skills/impeccable/reference/onboard.md +234 -0
  341. package/skills/impeccable/reference/operate.md +61 -0
  342. package/skills/impeccable/reference/optimize.md +258 -0
  343. package/skills/impeccable/reference/overdrive.md +127 -0
  344. package/skills/impeccable/reference/polish.md +97 -0
  345. package/skills/impeccable/reference/quieter.md +99 -0
  346. package/skills/impeccable/reference/routing.md +18 -0
  347. package/skills/impeccable/reference/shape.md +59 -0
  348. package/skills/impeccable/reference/typeset.md +80 -0
  349. package/skills/impeccable/reference/visualize.md +49 -0
  350. package/skills/impeccable/scripts/command-metadata.json +94 -0
  351. package/skills/impeccable/scripts/concept-seed.mjs +558 -0
  352. package/skills/impeccable/scripts/context-signals.mjs +334 -0
  353. package/skills/impeccable/scripts/context.mjs +1467 -0
  354. package/skills/impeccable/scripts/critique-storage.mjs +213 -0
  355. package/skills/impeccable/scripts/detect-csp.mjs +198 -0
  356. package/skills/impeccable/scripts/detect.mjs +21 -0
  357. package/skills/impeccable/scripts/detector/browser/injected/index.mjs +2023 -0
  358. package/skills/impeccable/scripts/detector/cli/main.mjs +438 -0
  359. package/skills/impeccable/scripts/detector/design-system.mjs +1046 -0
  360. package/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +8283 -0
  361. package/skills/impeccable/scripts/detector/detect-antipatterns.mjs +50 -0
  362. package/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +372 -0
  363. package/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +1168 -0
  364. package/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +1186 -0
  365. package/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +264 -0
  366. package/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  367. package/skills/impeccable/scripts/detector/findings.mjs +18 -0
  368. package/skills/impeccable/scripts/detector/node/file-system.mjs +203 -0
  369. package/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  370. package/skills/impeccable/scripts/detector/registry/antipatterns.mjs +617 -0
  371. package/skills/impeccable/scripts/detector/rules/checks.mjs +5580 -0
  372. package/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
  373. package/skills/impeccable/scripts/detector/shared/constants.mjs +112 -0
  374. package/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
  375. package/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
  376. package/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  377. package/skills/impeccable/scripts/doctor.mjs +336 -0
  378. package/skills/impeccable/scripts/embed-prompt.mjs +133 -0
  379. package/skills/impeccable/scripts/generate-image.mjs +240 -0
  380. package/skills/impeccable/scripts/hook-admin.mjs +801 -0
  381. package/skills/impeccable/scripts/hook-before-edit.mjs +508 -0
  382. package/skills/impeccable/scripts/hook-lib.mjs +2153 -0
  383. package/skills/impeccable/scripts/hook.mjs +78 -0
  384. package/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
  385. package/skills/impeccable/scripts/lib/composition-catalog.mjs +200 -0
  386. package/skills/impeccable/scripts/lib/concept-catalog.mjs +384 -0
  387. package/skills/impeccable/scripts/lib/design-parser.mjs +925 -0
  388. package/skills/impeccable/scripts/lib/impeccable-config.mjs +658 -0
  389. package/skills/impeccable/scripts/lib/impeccable-paths.mjs +137 -0
  390. package/skills/impeccable/scripts/lib/is-generated.mjs +69 -0
  391. package/skills/impeccable/scripts/lib/provider.mjs +5 -0
  392. package/skills/impeccable/scripts/lib/roll-selection.mjs +362 -0
  393. package/skills/impeccable/scripts/lib/staleness-deep.mjs +478 -0
  394. package/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
  395. package/skills/impeccable/scripts/lib/staleness.mjs +457 -0
  396. package/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
  397. package/skills/impeccable/scripts/lib/target-args.mjs +42 -0
  398. package/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
  399. package/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
  400. package/skills/impeccable/scripts/live/accept-css.mjs +617 -0
  401. package/skills/impeccable/scripts/live/accept-verify.mjs +60 -0
  402. package/skills/impeccable/scripts/live/browser-script-parts.mjs +55 -0
  403. package/skills/impeccable/scripts/live/completion.mjs +28 -0
  404. package/skills/impeccable/scripts/live/event-validation.mjs +199 -0
  405. package/skills/impeccable/scripts/live/frameworks/astro.mjs +47 -0
  406. package/skills/impeccable/scripts/live/frameworks/detect-utils.mjs +73 -0
  407. package/skills/impeccable/scripts/live/frameworks/index.mjs +143 -0
  408. package/skills/impeccable/scripts/live/frameworks/journal.mjs +197 -0
  409. package/skills/impeccable/scripts/live/frameworks/nextjs.mjs +49 -0
  410. package/skills/impeccable/scripts/live/frameworks/nuxt.mjs +161 -0
  411. package/skills/impeccable/scripts/live/frameworks/script-src.mjs +17 -0
  412. package/skills/impeccable/scripts/live/frameworks/static-html.mjs +26 -0
  413. package/skills/impeccable/scripts/live/frameworks/sveltekit.mjs +71 -0
  414. package/skills/impeccable/scripts/live/frameworks/tag-strategy.mjs +247 -0
  415. package/skills/impeccable/scripts/live/frameworks/tanstack-start.mjs +70 -0
  416. package/skills/impeccable/scripts/live/frameworks/vite-generic.mjs +42 -0
  417. package/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
  418. package/skills/impeccable/scripts/live/insert-ui.mjs +458 -0
  419. package/skills/impeccable/scripts/live/instructions.mjs +142 -0
  420. package/skills/impeccable/scripts/live/manual-apply.mjs +939 -0
  421. package/skills/impeccable/scripts/live/manual-edit-routes.mjs +357 -0
  422. package/skills/impeccable/scripts/live/manual-edits-buffer.mjs +152 -0
  423. package/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
  424. package/skills/impeccable/scripts/live/roots.mjs +508 -0
  425. package/skills/impeccable/scripts/live/session-store.mjs +563 -0
  426. package/skills/impeccable/scripts/live/source-lock.mjs +105 -0
  427. package/skills/impeccable/scripts/live/source-search.mjs +105 -0
  428. package/skills/impeccable/scripts/live/svelte-ast.mjs +961 -0
  429. package/skills/impeccable/scripts/live/svelte-component.mjs +1342 -0
  430. package/skills/impeccable/scripts/live/sveltekit-adapter.mjs +316 -0
  431. package/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
  432. package/skills/impeccable/scripts/live/ui-core.mjs +180 -0
  433. package/skills/impeccable/scripts/live/vocabulary.mjs +171 -0
  434. package/skills/impeccable/scripts/live-accept.mjs +954 -0
  435. package/skills/impeccable/scripts/live-browser-dom.js +146 -0
  436. package/skills/impeccable/scripts/live-browser-session.js +123 -0
  437. package/skills/impeccable/scripts/live-browser.js +12520 -0
  438. package/skills/impeccable/scripts/live-commit-manual-edits.mjs +1244 -0
  439. package/skills/impeccable/scripts/live-complete.mjs +107 -0
  440. package/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
  441. package/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
  442. package/skills/impeccable/scripts/live-inject.mjs +503 -0
  443. package/skills/impeccable/scripts/live-insert.mjs +292 -0
  444. package/skills/impeccable/scripts/live-manual-edit-evidence.mjs +368 -0
  445. package/skills/impeccable/scripts/live-poll.mjs +429 -0
  446. package/skills/impeccable/scripts/live-resume.mjs +123 -0
  447. package/skills/impeccable/scripts/live-server.mjs +1669 -0
  448. package/skills/impeccable/scripts/live-status.mjs +71 -0
  449. package/skills/impeccable/scripts/live-target.mjs +30 -0
  450. package/skills/impeccable/scripts/live-wrap.mjs +927 -0
  451. package/skills/impeccable/scripts/live.mjs +359 -0
  452. package/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  453. package/skills/impeccable/scripts/palette.mjs +628 -0
  454. package/skills/impeccable/scripts/pin.mjs +221 -0
  455. package/skills/impeccable/scripts/serve-question.mjs +932 -0
  456. package/skills/impeccable/scripts/surface-brief.mjs +74 -0
  457. package/skills/inkstone-admin/SKILL.md +66 -0
  458. package/skills/jev-hook-gate/SKILL.md +111 -0
  459. package/skills/keyword-research/SKILL.md +503 -0
  460. package/skills/keyword-research/references/dr-cap-and-confidence.md +62 -0
  461. package/skills/keyword-research/references/keyword-examples.md +769 -0
  462. package/skills/landing-page-architect/SKILL.md +585 -0
  463. package/skills/landing-page-architect/references/architecture-reference.md +32 -0
  464. package/skills/launch-strategy/SKILL.md +384 -0
  465. package/skills/launch-strategy/evals/evals.json +91 -0
  466. package/skills/launch-strategy/references/launch-checklist.md +209 -0
  467. package/skills/launch-strategy/references/launch-timeline.md +159 -0
  468. package/skills/lead-email-craft/SKILL.md +522 -0
  469. package/skills/lead-magnets/SKILL.md +310 -0
  470. package/skills/lead-magnets/references/benchmarks.md +129 -0
  471. package/skills/lead-magnets/references/format-guide.md +196 -0
  472. package/skills/link-building-seo/SKILL.md +210 -0
  473. package/skills/lint-report.txt +1 -0
  474. package/skills/manifest.json +129 -0
  475. package/skills/marketing-demo/SKILL.md +249 -0
  476. package/skills/marketing-demo/references/remotion-examples.md +281 -0
  477. package/skills/marketing-ideas/SKILL.md +167 -0
  478. package/skills/marketing-ideas/evals/evals.json +90 -0
  479. package/skills/marketing-ideas/references/ideas-by-category.md +366 -0
  480. package/skills/marketing-psychology/SKILL.md +374 -0
  481. package/skills/marketing-psychology/evals/evals.json +88 -0
  482. package/skills/marketing-psychology/references/case-studies.md +148 -0
  483. package/skills/narrative-research-article/SKILL.md +469 -0
  484. package/skills/narrative-research-article/references/lanusse-patterns.md +166 -0
  485. package/skills/notebooklm/SKILL.md +674 -0
  486. package/skills/off-page-seo/SKILL.md +219 -0
  487. package/skills/onboarding-cro/SKILL.md +220 -0
  488. package/skills/onboarding-cro/evals/evals.json +92 -0
  489. package/skills/onboarding-cro/references/experiments.md +258 -0
  490. package/skills/original-research/SKILL.md +388 -0
  491. package/skills/page-cro/SKILL.md +269 -0
  492. package/skills/page-cro/references/cro-benchmarks.md +140 -0
  493. package/skills/paper-marketing/SKILL.md +448 -0
  494. package/skills/paper-marketing/references/agent-quality-rubric.md +68 -0
  495. package/skills/paper-marketing/references/brand-system-template.md +120 -0
  496. package/skills/paper-marketing/references/paper-mcp-rules.md +71 -0
  497. package/skills/paper-marketing/references/platform-conventions.md +43 -0
  498. package/skills/paywall-upgrade-cro/SKILL.md +227 -0
  499. package/skills/paywall-upgrade-cro/evals/evals.json +93 -0
  500. package/skills/paywall-upgrade-cro/references/experiments.md +164 -0
  501. package/skills/platform-formatting/SKILL.md +51 -0
  502. package/skills/popup-cro/SKILL.md +454 -0
  503. package/skills/popup-cro/evals/evals.json +94 -0
  504. package/skills/positioning-angles/SKILL.md +524 -0
  505. package/skills/positioning-angles/references/ad-matrix-and-examples.md +176 -0
  506. package/skills/positioning-angles/references/angle-frameworks.md +187 -0
  507. package/skills/positioning-angles/references/dunford-positioning.md +135 -0
  508. package/skills/positioning-angles/references/hormozi-offer.md +247 -0
  509. package/skills/positioning-angles/references/schwartz-sophistication.md +166 -0
  510. package/skills/positioning-angles/references/unique-mechanism.md +162 -0
  511. package/skills/pricing-strategy/SKILL.md +346 -0
  512. package/skills/pricing-strategy/evals/evals.json +90 -0
  513. package/skills/pricing-strategy/references/research-methods.md +152 -0
  514. package/skills/pricing-strategy/references/tier-structure.md +307 -0
  515. package/skills/programmatic-seo/SKILL.md +238 -0
  516. package/skills/programmatic-seo/evals/evals.json +94 -0
  517. package/skills/programmatic-seo/references/playbooks.md +308 -0
  518. package/skills/project-rag/SKILL.md +127 -0
  519. package/skills/quality-gate/SKILL.md +519 -0
  520. package/skills/quality-gate/judge-personas/buyer.md +47 -0
  521. package/skills/quality-gate/judge-personas/expert.md +47 -0
  522. package/skills/quality-gate/judge-personas/outsider.md +47 -0
  523. package/skills/quality-gate/judge-personas/scanner.md +41 -0
  524. package/skills/quality-gate/judge-personas/skeptic.md +40 -0
  525. package/skills/referral-program/SKILL.md +290 -0
  526. package/skills/referral-program/evals/evals.json +89 -0
  527. package/skills/referral-program/references/affiliate-programs.md +163 -0
  528. package/skills/referral-program/references/program-examples.md +143 -0
  529. package/skills/review-sites/SKILL.md +279 -0
  530. package/skills/revops/SKILL.md +343 -0
  531. package/skills/revops/evals/evals.json +91 -0
  532. package/skills/revops/references/automation-playbooks.md +290 -0
  533. package/skills/revops/references/lifecycle-definitions.md +278 -0
  534. package/skills/revops/references/routing-rules.md +203 -0
  535. package/skills/revops/references/scoring-models.md +247 -0
  536. package/skills/saas-product-seo/SKILL.md +324 -0
  537. package/skills/sales-enablement/SKILL.md +349 -0
  538. package/skills/sales-enablement/evals/evals.json +91 -0
  539. package/skills/sales-enablement/references/deck-frameworks.md +263 -0
  540. package/skills/sales-enablement/references/demo-scripts.md +355 -0
  541. package/skills/sales-enablement/references/objection-library.md +270 -0
  542. package/skills/sales-enablement/references/one-pager-templates.md +208 -0
  543. package/skills/schema-markup/SKILL.md +179 -0
  544. package/skills/schema-markup/evals/evals.json +87 -0
  545. package/skills/schema-markup/references/schema-examples.md +398 -0
  546. package/skills/self-improve/SKILL.md +166 -0
  547. package/skills/self-improving-agent/README.md +243 -0
  548. package/skills/self-improving-agent/SKILL.md +437 -0
  549. package/skills/self-improving-agent/scripts/__init__.py +16 -0
  550. package/skills/self-improving-agent/scripts/__pycache__/auto_detect.cpython-314.pyc +0 -0
  551. package/skills/self-improving-agent/scripts/__pycache__/nlm_curation.cpython-314.pyc +0 -0
  552. package/skills/self-improving-agent/scripts/__pycache__/self_improving_agent.cpython-314.pyc +0 -0
  553. package/skills/self-improving-agent/scripts/auto_detect.py +270 -0
  554. package/skills/self-improving-agent/scripts/init_expertise_registry.py +89 -0
  555. package/skills/self-improving-agent/scripts/nlm_curation.py +259 -0
  556. package/skills/self-improving-agent/scripts/self-improving-agent +113 -0
  557. package/skills/self-improving-agent/scripts/self_improving_agent.py +603 -0
  558. package/skills/self-improving-agent/scripts/test_curation_scorer.py +20 -0
  559. package/skills/self-improving-agent/scripts/test_self_improving.py +184 -0
  560. package/skills/send-email/SKILL.md +426 -0
  561. package/skills/send-email/references/batch-email-examples.md +807 -0
  562. package/skills/send-email/references/best-practices.md +453 -0
  563. package/skills/send-email/references/installation.md +123 -0
  564. package/skills/send-email/references/single-email-examples.md +470 -0
  565. package/skills/send-email/references/webhooks.md +221 -0
  566. package/skills/seo-audit/SKILL.md +362 -0
  567. package/skills/seo-audit/references/ai-writing-detection.md +200 -0
  568. package/skills/seo-audit/references/architecture-patterns.md +271 -0
  569. package/skills/seo-audit/references/schema-templates.md +427 -0
  570. package/skills/seo-content/SKILL.md +510 -0
  571. package/skills/seo-content/references/anti-ai-detection.md +184 -0
  572. package/skills/seo-content/references/content-structures.md +148 -0
  573. package/skills/seo-content/references/eeat-examples.md +235 -0
  574. package/skills/seo-content/references/on-page-seo.md +261 -0
  575. package/skills/seo-content/references/pseo-playbooks.md +226 -0
  576. package/skills/seo-content/references/schema-templates.md +104 -0
  577. package/skills/seo-content/references/serp-analysis-format.md +151 -0
  578. package/skills/seo-machine/SKILL.md +331 -0
  579. package/skills/seo-machine/assets/brand-template.md +73 -0
  580. package/skills/seo-machine/assets/link-inventory-template.md +74 -0
  581. package/skills/seo-machine/assets/roadmap-template.md +184 -0
  582. package/skills/seo-machine/references/api-stack-recipes.md +230 -0
  583. package/skills/seo-machine/references/exa-recipes.md +260 -0
  584. package/skills/seo-machine/references/manual-research.md +73 -0
  585. package/skills/seo-machine/references/methodology.md +87 -0
  586. package/skills/seo-machine/references/off-page.md +123 -0
  587. package/skills/seo-machine/references/patterns/alternatives.md +176 -0
  588. package/skills/seo-machine/references/patterns/compare.md +105 -0
  589. package/skills/seo-machine/references/patterns/playbooks.md +106 -0
  590. package/skills/seo-machine/references/patterns/use-case.md +109 -0
  591. package/skills/seo-machine/references/quality-bars.md +99 -0
  592. package/skills/seo-machine/references/stacks/astro.md +156 -0
  593. package/skills/seo-machine/references/stacks/detection.md +61 -0
  594. package/skills/seo-machine/references/stacks/markdown-fallback.md +181 -0
  595. package/skills/seo-machine/references/stacks/nextjs.md +108 -0
  596. package/skills/seo-machine/references/stacks/rails-inertia.md +99 -0
  597. package/skills/seo-machine/references/striking-distance.md +116 -0
  598. package/skills/seo-machine/references/technical-audit.md +153 -0
  599. package/skills/seo-machine/scripts/link_audit.py +265 -0
  600. package/skills/seo-machine/scripts/tech_audit.py +221 -0
  601. package/skills/seo-machine/scripts/word_count.py +154 -0
  602. package/skills/sharp-thesis-validator/SKILL.md +393 -0
  603. package/skills/sharp-thesis-validator/examples.md +186 -0
  604. package/skills/signup-flow-cro/SKILL.md +359 -0
  605. package/skills/signup-flow-cro/evals/evals.json +88 -0
  606. package/skills/site-architecture/SKILL.md +357 -0
  607. package/skills/site-architecture/evals/evals.json +88 -0
  608. package/skills/site-architecture/references/mermaid-templates.md +216 -0
  609. package/skills/site-architecture/references/navigation-patterns.md +305 -0
  610. package/skills/site-architecture/references/site-type-templates.md +293 -0
  611. package/skills/skill-self-improvement/SKILL.md +151 -0
  612. package/skills/slideshow-script/SKILL.md +274 -0
  613. package/skills/slideshow-script/references/content-spec-schema.md +77 -0
  614. package/skills/slideshow-script/references/frameworks.md +84 -0
  615. package/skills/slideshow-script/references/paips-framework.md +37 -0
  616. package/skills/social-campaign/SKILL.md +419 -0
  617. package/skills/social-campaign/references/paper-mcp-workflow.md +48 -0
  618. package/skills/social-content/SKILL.md +359 -0
  619. package/skills/social-content/evals/evals.json +92 -0
  620. package/skills/social-content/references/platforms.md +170 -0
  621. package/skills/social-content/references/post-templates.md +177 -0
  622. package/skills/social-content/references/reverse-engineering.md +195 -0
  623. package/skills/social-worker/SKILL.md +204 -0
  624. package/skills/startup-launcher/SKILL.md +252 -0
  625. package/skills/startup-launcher/references/file-router.md +64 -0
  626. package/skills/startup-launcher/references/platform-matrix.md +65 -0
  627. package/skills/startup-launcher/references/platforms/alternativeto.md +283 -0
  628. package/skills/startup-launcher/references/platforms/appsumo.md +495 -0
  629. package/skills/startup-launcher/references/platforms/auraplusplus.md +736 -0
  630. package/skills/startup-launcher/references/platforms/betalist.md +98 -0
  631. package/skills/startup-launcher/references/platforms/capterra.md +276 -0
  632. package/skills/startup-launcher/references/platforms/crunchbase.md +514 -0
  633. package/skills/startup-launcher/references/platforms/dealify.md +291 -0
  634. package/skills/startup-launcher/references/platforms/dealmirror.md +313 -0
  635. package/skills/startup-launcher/references/platforms/desifounder.md +490 -0
  636. package/skills/startup-launcher/references/platforms/devhunt.md +210 -0
  637. package/skills/startup-launcher/references/platforms/devpost.md +448 -0
  638. package/skills/startup-launcher/references/platforms/fazier.md +56 -0
  639. package/skills/startup-launcher/references/platforms/firsto.md +489 -0
  640. package/skills/startup-launcher/references/platforms/g2.md +226 -0
  641. package/skills/startup-launcher/references/platforms/hackernews.md +99 -0
  642. package/skills/startup-launcher/references/platforms/hackernoon.md +385 -0
  643. package/skills/startup-launcher/references/platforms/indiedeals.md +367 -0
  644. package/skills/startup-launcher/references/platforms/indiehackers.md +80 -0
  645. package/skills/startup-launcher/references/platforms/kenmoo.md +231 -0
  646. package/skills/startup-launcher/references/platforms/labstartups.md +618 -0
  647. package/skills/startup-launcher/references/platforms/launchboard.md +307 -0
  648. package/skills/startup-launcher/references/platforms/launchfast.md +560 -0
  649. package/skills/startup-launcher/references/platforms/launchigniter.md +56 -0
  650. package/skills/startup-launcher/references/platforms/launchingnext.md +674 -0
  651. package/skills/startup-launcher/references/platforms/launchit.md +574 -0
  652. package/skills/startup-launcher/references/platforms/launchyourapp.md +677 -0
  653. package/skills/startup-launcher/references/platforms/libhunt.md +220 -0
  654. package/skills/startup-launcher/references/platforms/ltdhunt.md +221 -0
  655. package/skills/startup-launcher/references/platforms/microlaunch.md +45 -0
  656. package/skills/startup-launcher/references/platforms/openalternative.md +195 -0
  657. package/skills/startup-launcher/references/platforms/peerlist.md +56 -0
  658. package/skills/startup-launcher/references/platforms/peerpush.md +64 -0
  659. package/skills/startup-launcher/references/platforms/primeclub.md +282 -0
  660. package/skills/startup-launcher/references/platforms/productcanyon.md +190 -0
  661. package/skills/startup-launcher/references/platforms/producthunt.md +98 -0
  662. package/skills/startup-launcher/references/platforms/rankinpublic.md +315 -0
  663. package/skills/startup-launcher/references/platforms/rockethub.md +374 -0
  664. package/skills/startup-launcher/references/platforms/saasgenius.md +175 -0
  665. package/skills/startup-launcher/references/platforms/saashub.md +205 -0
  666. package/skills/startup-launcher/references/platforms/saasmantra.md +221 -0
  667. package/skills/startup-launcher/references/platforms/saaspirate.md +287 -0
  668. package/skills/startup-launcher/references/platforms/saaswarrior.md +190 -0
  669. package/skills/startup-launcher/references/platforms/saaszilla.md +194 -0
  670. package/skills/startup-launcher/references/platforms/selected.md +925 -0
  671. package/skills/startup-launcher/references/platforms/sideprojectors.md +86 -0
  672. package/skills/startup-launcher/references/platforms/softonic.md +240 -0
  673. package/skills/startup-launcher/references/platforms/sourceforge.md +251 -0
  674. package/skills/startup-launcher/references/platforms/stacksocial.md +244 -0
  675. package/skills/startup-launcher/references/platforms/startupstash.md +326 -0
  676. package/skills/startup-launcher/references/platforms/theresanaiforthat.md +253 -0
  677. package/skills/startup-launcher/references/platforms/tinylaunch.md +70 -0
  678. package/skills/startup-launcher/references/platforms/tinystartups.md +72 -0
  679. package/skills/startup-launcher/references/platforms/toolfolio.md +291 -0
  680. package/skills/startup-launcher/references/platforms/trustmrr.md +194 -0
  681. package/skills/startup-launcher/references/platforms/trylaunch.md +531 -0
  682. package/skills/startup-launcher/references/platforms/uneed.md +57 -0
  683. package/skills/startup-launcher/references/templates/asset-checklist.md +218 -0
  684. package/skills/startup-launcher/references/templates/launch-tracker.md +195 -0
  685. package/skills/startup-launcher/references/templates/product-brief.md +98 -0
  686. package/skills/summarize/.skill-meta.json +13 -0
  687. package/skills/summarize/SKILL.md +170 -0
  688. package/skills/summarize/rules/install.md +157 -0
  689. package/skills/summarize/rules/usage.md +207 -0
  690. package/skills/topical-authority/SKILL.md +307 -0
  691. package/skills/topical-authority/references/jake-ward-framework.md +201 -0
  692. package/skills/topical-authority/references/serp-clustering-algorithm.md +325 -0
  693. package/skills/topical-authority/scripts/orchestrator.js +367 -0
  694. package/skills/topical-authority/scripts/seo/analyze-competitor-coverage.js +3 -0
  695. package/skills/topical-authority/scripts/seo/audit-internal-links.js +3 -0
  696. package/skills/topical-authority/scripts/seo/build-clusters-from-serp.js +3 -0
  697. package/skills/topical-authority/scripts/seo/extract-keywords-from-forums.js +3 -0
  698. package/skills/topical-authority/scripts/seo/extract-paa-questions.js +3 -0
  699. package/skills/topical-authority/scripts/seo/fetch-serp-urls.js +3 -0
  700. package/skills/topical-authority/scripts/seo/gemini-serp-clustering.js +3 -0
  701. package/skills/topical-authority/scripts/seo/identify-content-gaps.js +3 -0
  702. package/skills/topical-authority/scripts/seo/identify-research-gaps.js +3 -0
  703. package/skills/topical-authority/scripts/seo/scrape-quora-questions.js +3 -0
  704. package/skills/topical-authority/scripts/seo/scrape-reddit-pain-points.js +3 -0
  705. package/skills/topical-authority/scripts/seo/weave-internal-links.js +3 -0
  706. package/skills/visual-style/SKILL.md +199 -0
  707. package/skills/voice-brand-alignment/SKILL.md +70 -0
  708. package/skills/voice-brand-alignment/references/ai-slop-patterns.md +405 -0
  709. package/skills/voice-brand-alignment/scripts/validation/gemini-voice-validator.js +96 -0
  710. package/skills/voice-extraction/SKILL.md +234 -0
  711. package/skills/voice-extraction/references/extraction-prompt.md +155 -0
  712. package/skills/voice-extraction/references/voice-dna-template.md +168 -0
  713. package/skills/voice-extraction/references/voice-elements.md +259 -0
  714. package/skills/voice-extraction/scripts/build-corpus.js +120 -0
  715. package/skills/voice-extraction/scripts/collect-sources.sh +168 -0
  716. package/skills/warm-outbound/SKILL.md +299 -0
  717. package/skills/warm-outbound/templates/warm-message.md +39 -0
  718. package/skills/weekly-newsletter-digest/SKILL.md +78 -0
  719. package/skills/x-playwriter/SKILL.md +428 -0
  720. package/skills/x-playwriter/scripts/x-browser.js +185 -0
  721. package/skills/x-post-generator-openclaw/SKILL.md +138 -0
  722. package/skills/x-post-generator-openclaw/scripts/generate-x-post.js +537 -0
  723. package/skills/x-posting-playwriter/SKILL.md +203 -0
  724. package/skills/x-research/SKILL.md +129 -0
  725. package/skills/x-research/x-research.sh +85 -0
  726. package/skills/youtube-summarize/SKILL.md +90 -0
  727. package/skills/youtube-summarize/scripts/youtube-summarize.sh +143 -0
  728. package/src/cli.js +347 -172
  729. package/src/harness/deepseek-adapter.js +102 -0
  730. package/src/harness/deepseek.js +225 -0
  731. package/src/harness/opencode-adapter.js +174 -0
  732. package/src/harness/pi-adapter.js +172 -0
  733. package/src/harness/registry.js +121 -0
  734. package/src/harness/telemetry.js +102 -0
  735. package/src/harness/types.js +165 -0
  736. package/src/interview.js +36 -4
  737. package/src/postinstall.js +10 -12
  738. package/templates/AGENTS.md +17 -17
  739. package/templates/ORG.md +1 -1
  740. package/templates/TOOLS.md +7 -2
  741. package/templates/opencode.json +26 -29
  742. package/wiki/doctor.md +54 -0
  743. package/wiki/inkstone.md +4 -4
  744. package/wiki/opencode.md +3 -3
  745. package/skills/curated.txt +0 -68
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: skill-self-improvement
3
+ description: "Weekly self-improvement pipeline for skills. Reads outcome journals, corrections, and content analytics to generate targeted skill mutations."
4
+ ---
5
+
6
+ # Skill Self-Improvement — Weekly Pipeline
7
+
8
+ Closes the loop between content performance data → skill file improvements.
9
+
10
+ ## Architecture
11
+
12
+ ```
13
+ Monday 10:00 UTC cron fires
14
+ → Phase 1: Gather — read outcomes, corrections, analytics, skill queue
15
+ → Phase 2: Score — run eval scoring (weekly-review.mjs)
16
+ → Phase 3: Analyze — match correction patterns to skill files
17
+ → Phase 4: Mutate — generate specific skill improvements, queue for approval
18
+ → Phase 5: Log — record outcomes of the improvement run
19
+ ```
20
+
21
+ ## When Triggered
22
+
23
+ Either by cron (Mondays 10:00 UTC) or manual invocation:
24
+ ```bash
25
+ node scripts/self-improve/weekly-review/weekly-review.mjs run
26
+ ```
27
+
28
+ ## Phase 1: Gather
29
+
30
+ Read these data sources:
31
+
32
+ ```bash
33
+ # 1. Outcome journal + eval scores
34
+ node scripts/self-improve/outcome-journal/log-outcome.mjs summary
35
+ node scripts/self-improve/outcome-journal/log-outcome.mjs json
36
+
37
+ # 2. Active corrections
38
+ cat memory/corrections.md
39
+
40
+ # 3. Skill queue (unprocessed items)
41
+ cat memory/skill-queue.md
42
+
43
+ # 4. Content analytics (if available per business)
44
+ # aiwithjai:
45
+ ls businesses/aiwithjai/analytics/reports/ 2>/dev/null
46
+ # nomadixgear:
47
+ ls businesses/nomadixgear-sa/analytics/reports/ 2>/dev/null
48
+ ```
49
+
50
+ ## Phase 2: Score
51
+
52
+ Run the weekly review eval scoring:
53
+
54
+ ```bash
55
+ node scripts/self-improve/weekly-review/weekly-review.mjs score
56
+ ```
57
+
58
+ This returns a JSON score with pass/fail per eval. Any eval that failed gets flagged for mutation in Phase 4.
59
+
60
+ ## Phase 3: Analyze — Match Corrections to Skills
61
+
62
+ For each correction in the active queue and each "corrected" outcome from the past week:
63
+
64
+ 1. **Extract the core failure pattern** — what specific behavior caused the correction?
65
+ 2. **Fuzzy-match against skill index** — which skill(s) should have prevented this?
66
+ 3. **If match found** — record "this skill needs an anti-pattern entry"
67
+ 4. **If no match** — record "new skill may be needed" with `status: pending-approval`
68
+
69
+ Correction-to-skill mapping heuristics:
70
+
71
+ | Correction Pattern | Likely Skill |
72
+ |---|---|
73
+ | Forgot to use tool/skill X | Any skill named X; add trigger phrase |
74
+ | Wrong format for platform | `humanizer` or `platform-formatting` |
75
+ | Content too generic/boring | `hook-generator`, `direct-response-copy` |
76
+ | Forgot lint/typecheck | `self-improve` (add to pre-task check) |
77
+ | Voice doesn't sound human | `humanizer`, `brand-voice` |
78
+ | Wrong dependency assumed | `concierge-post-call` or `remotion-best-practices` |
79
+ | Not checking existing files | `document-review` |
80
+ | Wrong SEO/article format | `seo-content`, `blog-worker` |
81
+
82
+ ## Phase 4: Mutate — Generate Skill Improvements
83
+
84
+ For each skill identified in Phase 3:
85
+
86
+ 1. **Read the SKILL.md** for the affected skill
87
+ 2. **Determine improvement type:**
88
+ - **ADD_ANTI_PATTERN** — Add a row to the Anti-Patterns table documenting what went wrong
89
+ - **ADD_TRIGGER** — Add trigger words to the description frontmatter
90
+ - **ADD_STEP** — Add a verification step to the workflow
91
+ - **REORDER** — Change the sequence of steps to prevent skip
92
+ - **REWRITE_PROMPT** — Update a prompt template based on what actually works
93
+ 3. **Write the improvement** — Write it to `memory/skill-queue.md` with status `pending-approval`
94
+ ```
95
+ ## Improvement — <skill-name> — <timestamp>
96
+ - **status:** pending-approval
97
+ - **type:** ADD_ANTI_PATTERN
98
+ - **file:** .claude/skills/<skill-name>/SKILL.md
99
+ - **change:** Add anti-pattern: "Agent forgot to use this skill when pattern X appeared"
100
+ - **evidence:** Correction from <date>: <correction text>
101
+ ```
102
+ 4. **DO NOT auto-edit** — skill files are read-only without human approval
103
+
104
+ ## Phase 5: Log Outcomes
105
+
106
+ After the pipeline completes, log the result:
107
+
108
+ ```bash
109
+ node scripts/self-improve/outcome-journal/log-outcome.mjs log \
110
+ "skill-self-improvement weekly run" \
111
+ success \
112
+ "" \
113
+ kestrel
114
+ ```
115
+
116
+ If the pipeline failed (scripts errored, no data, etc.), log as `corrected` or `failed` with the specific issue.
117
+
118
+ ## Phase 6: Auto-Skill Queue Revival
119
+
120
+ **This is the most important phase if the queue is stale.**
121
+
122
+ 1. Read `memory/skill-queue.md`
123
+ 2. Count entries with `status: done` that have actionable correction text
124
+ 3. Filter OUT: praise ("this is fucking good", "this is fucking excellent"), non-sequiturs, duplicates
125
+ 4. Filter IN: corrections about specific skills or behaviors ("fix the skill", "use the hook generator", "check for skills")
126
+ 5. For each actionable entry: change `status: done` → `status: pending`
127
+ 6. The auto-skill cron will pick these up on next Monday run
128
+
129
+ **Filtering examples:**
130
+ - "Fuck yeah! Now we need to develop an X offer" → KEEP (actionable request)
131
+ - "This is fucking good!" → DISCARD (praise)
132
+ - "Fucking fix the skill" → KEEP (vague but actionable — flag for review)
133
+ - "I don't use Claude code" → DISCARD (not a skill issue)
134
+ - "That Landing page is fucking good!" → DISCARD (praise)
135
+ - "who the fuck cares about citations in X?" → KEEP (signals skill needs to respect platform context)
136
+
137
+ ## Known Behaviors
138
+
139
+ - **First run after setup:** Expect some failing evals because the system was always reporting 100%. This is healthy — it means scoring is finally working.
140
+ - **No analytics data:** Some weeks may have no content analytics. The pipeline still runs on corrections + outcomes alone; analytics are a bonus signal.
141
+ - **Empty queue is success:** If Phase 3 finds nothing actionable, that means skills are working. Log and move on.
142
+
143
+ ## Anti-Patterns
144
+
145
+ | Mistake | Why Wrong | Fix |
146
+ |---|---|---|
147
+ | Auto-editing skill files | Bypasses human review, can break working skills | Always queue for approval |
148
+ | Ignoring corrections with anger | Frustration signals the most important failures | Extract signal from noise |
149
+ | Only checking corrections file | Outcome journal has richer correction data | Check both sources |
150
+ | Skipping content analytics | Misses the connection between skill quality and content performance | Always check analytics dirs |
151
+ | Marking queue as done without applying | This is what killed the auto-skill system | Never mark done until applied |
@@ -0,0 +1,274 @@
1
+ ---
2
+ name: slideshow-script
3
+ description: "Generate 5 different narrative scripts for visual slideshows from a single positioning angle. Each script uses a different storytelling framework..."
4
+ category: creative
5
+ tier: core
6
+ reads:
7
+ - brand/positioning.md
8
+ - brand/audience.md
9
+ - brand/voice-profile.md
10
+ writes:
11
+ - marketing/content-specs/*.yaml
12
+ depends-on:
13
+ - brand-voice
14
+ - positioning-angles
15
+ - hook-generator
16
+ triggers:
17
+ - slideshow script
18
+ - generate scripts
19
+ - narrative scripts
20
+ - content scripts
21
+ - TikTok scripts
22
+ - storytelling frameworks
23
+ - carousel scripts
24
+ allowed-tools:
25
+ - Bash(mktg status *)
26
+ ---
27
+
28
+ # /slideshow-script — Narrative Script Generation
29
+
30
+ Generate 5 different narrative scripts from a single positioning angle. Each script uses a different storytelling framework, producing 5 publishable pieces of content instead of 5 variations of 1 script.
31
+
32
+ For scripting frameworks reference, see [references/frameworks.md](references/frameworks.md).
33
+ For content spec YAML schema, see [references/content-spec-schema.md](references/content-spec-schema.md).
34
+
35
+ ## Why 5 Scripts, Not 5 Layouts
36
+
37
+ ```
38
+ Old model: 1 script × 5 visual layouts = 1 usable output (pick 1, waste 4)
39
+ New model: 5 scripts × 5 visual layouts = 5 usable outputs (post all 5)
40
+ ```
41
+
42
+ Each script has a DIFFERENT narrative, DIFFERENT hook, DIFFERENT proof points. When paired with /paper-marketing, each agent gets a unique script AND a unique design direction.
43
+
44
+ ## Workflow
45
+
46
+ ### Phase 1: Load Brand Context
47
+
48
+ Read in parallel (if they exist):
49
+ - `brand/positioning.md` — available angles, headlines, proof points
50
+ - `brand/audience.md` — pain points, desires, language patterns
51
+ - `brand/voice-profile.md` — tone, vocabulary, do's/don'ts, signature phrases
52
+
53
+ If any files are missing, the skill still works — see Progressive Enhancement below for how to handle zero-context and partial-context scenarios.
54
+
55
+ ### Phase 2: Select Positioning Angle
56
+
57
+ If the user hasn't specified an angle, present the available angles from `brand/positioning.md`:
58
+
59
+ ```
60
+ "Which positioning angle should I write 5 scripts for?"
61
+
62
+ [List angles from positioning.md with their headlines]
63
+
64
+ Options:
65
+ 1-N. Select a specific angle
66
+ N+1. "Use the primary angle"
67
+ ```
68
+
69
+ ### Phase 3: Generate 5 Scripts
70
+
71
+ For the selected positioning angle, generate 5 narratively distinct scripts — one per framework:
72
+
73
+ | # | Framework | Structure | Hook Style |
74
+ |---|-----------|-----------|------------|
75
+ | 1 | **AIDA** | Attention → Interest → Desire → Action | Bold claim or question |
76
+ | 2 | **PAS** | Problem → Agitate → Solution | Pain point the audience feels |
77
+ | 3 | **BAB** | Before → After → Bridge | "Life before" vs "life after" |
78
+ | 4 | **Star-Story-Solution** | Hook character → conflict → resolution | Personal/relatable story |
79
+ | 5 | **PAIPS** | Problem → Agitate → Intrigue → Positive → Solution | Pain then curiosity pull |
80
+
81
+ **PAIPS framework** (Problem → Agitate → Intrigue → Positive → Solution): A 5-phase framework that combines PAS agitation with an "intrigue" phase that hints at the solution before revealing it. The "Positive" phase shows the ideal outcome before the actual solution is presented. See [references/paips-framework.md](references/paips-framework.md) for full breakdown with examples.
82
+
83
+ **Each script includes:**
84
+ - **Hook** (slide 1) — the first thing seen, must grab in 1-3 seconds
85
+ - **5-7 slides** — each with `type` annotation (stat, anchor_word, emotional_pivot, cascade, cta, logo_intro)
86
+ - **CTA** (final slide) — clear action with URL/handle
87
+ - **Animation hints** — spring preset suggestion per slide (bouncy, smooth, heavy, snappy)
88
+
89
+ **Script generation rules:**
90
+ - All 5 must use the SAME positioning angle but tell DIFFERENT stories
91
+ - No two scripts should share the same hook
92
+ - Each script should use different proof points from the positioning doc
93
+ - Voice rules from voice-profile.md apply to ALL scripts
94
+ - Slide count can vary (5-9) based on what the narrative needs
95
+
96
+ ### 3a. Generate hooks via hook-generator subagent
97
+
98
+ Launch 5 parallel subagents — one per framework — via the `task` tool with `subagent_type: general`. Each subagent loads hook-generator and executes Phase 1-6, using the framework to bias hook style.
99
+
100
+ **Framework → Subagent parameter mapping:**
101
+
102
+ | Framework | Hook Style | Sentence Strategy Bias |
103
+ |-----------|-----------|----------------------|
104
+ | AIDA | Bold claim or question | Declarative |
105
+ | PAS | Pain point the audience feels | Controversial |
106
+ | BAB | "Life before" vs "life after" | Moment |
107
+ | Star-Story-Solution | Personal/relatable story | Vulnerable |
108
+ | PAIPS | Pain then curiosity pull | Insight |
109
+
110
+ **Subagent prompt template (fill per framework):**
111
+
112
+ ```
113
+ Load the hook-generator skill and execute the full Phase 1-6 pipeline with this context.
114
+
115
+ Context:
116
+ - WHO: <target audience from brand>
117
+ - WHAT/WHY: <topic/core insight>
118
+ - Knife: <pain point from brand>
119
+ - Platform: TikTok
120
+ - Brand: <brand name>
121
+ - Target Score: 85
122
+ - Framework: <AIDA | PAS | BAB | Star-Story-Solution | PAIPS>
123
+ - Hook Style: <corresponding hook style from table above>
124
+
125
+ Return ONLY this JSON array with 1-2 hooks:
126
+ [{"hook":"...","score":<0-100>,"pattern":"...","formula":"..."}]
127
+ ```
128
+
129
+ Each subagent returns 1-2 scored hooks. Assign the highest-scoring hook to the corresponding script. If a subagent fails (quota, timeout), fall back to writing the hook manually following the framework's hook style.
130
+
131
+ ### Phase 4: Match Scripts to Visual Directions
132
+
133
+ Each script gets a recommended visual direction for /paper-marketing:
134
+
135
+ | Framework | Best Visual Direction | Why |
136
+ |-----------|---------------------|-----|
137
+ | AIDA | Typographic | Text IS the design, progressive revelation |
138
+ | PAS | Contrast Play / Split | Tension between problem and solution |
139
+ | BAB | Atmospheric | Emotional transformation needs breathing room |
140
+ | Star-Story-Solution | Editorial | Story flow needs magazine-like pacing |
141
+ | Stat-Flip | Data-Led | Numbers are the visual anchors |
142
+
143
+ These are recommendations — the user can override.
144
+
145
+ ### Phase 5: Present for Approval
146
+
147
+ Use **AskUserQuestion** to show all 5 scripts with their visual direction:
148
+
149
+ ```
150
+ "Here are 5 narrative scripts for '{angle_name}', each using a different storytelling framework:"
151
+
152
+ 1. **AIDA** (→ Typographic): "{hook}" — Attention grab → feature interest → desire trigger → CTA
153
+ 2. **PAS** (→ Contrast Play): "{hook}" — Pain → twist → relief
154
+ 3. **BAB** (→ Atmospheric): "{hook}" — Before/after transformation
155
+ 4. **Star-Story-Solution** (→ Editorial): "{hook}" — Story arc → resolution
156
+ 5. **Stat-Flip** (→ Data-Led): "{hook}" — Shocking stat → reframe
157
+
158
+ Options:
159
+ 1. "All 5 look great" — write all 5 content specs
160
+ 2. "Regenerate #{n}" — rewrite a specific script
161
+ 3. "Change the angle" — try a different positioning angle
162
+ 4. "Edit a script" — modify specific slides
163
+ 5. "Only use 3 of these" — select a subset
164
+ ```
165
+
166
+ ### Phase 6: Write Content Spec YAMLs
167
+
168
+ For each approved script, write a structured YAML file:
169
+
170
+ **Path:** `marketing/content-specs/{project}-{framework}.yaml`
171
+
172
+ Example: `marketing/content-specs/lumi-aida.yaml`
173
+
174
+ See [references/content-spec-schema.md](references/content-spec-schema.md) for the full schema.
175
+
176
+ ```yaml
177
+ spec_version: 1
178
+ project: lumi
179
+ content_type: tiktok-slideshow
180
+ scripting_framework: AIDA
181
+ platform:
182
+ name: tiktok
183
+ width: 1080
184
+ height: 1920
185
+ aspect: "9:16"
186
+ positioning_angle: "The 30-Second Active Gate"
187
+ visual_direction: typographic
188
+ slides:
189
+ - index: 1
190
+ type: stat
191
+ headline: "30"
192
+ subhead: "seconds."
193
+ body: null
194
+ animation_hint: spring_bouncy
195
+ role: hook
196
+ - index: 2
197
+ type: anchor_word
198
+ headline: "Breathe in"
199
+ subhead: "That's how long five deep breaths take."
200
+ body: null
201
+ animation_hint: spring_heavy
202
+ role: interest
203
+ # ... more slides
204
+ - index: 7
205
+ type: cta
206
+ headline: "lumi.com"
207
+ subhead: "Presence before everything."
208
+ body: null
209
+ animation_hint: spring_smooth
210
+ role: action
211
+ cta:
212
+ url: "lumi.com"
213
+ tagline: "Presence before everything."
214
+ handle: "@lumi"
215
+ voice_constraints:
216
+ tone: "calm, certain, mindful"
217
+ avoid: ["hype", "guilt", "exclamation marks"]
218
+ signature_phrases: ["Take 5 breaths. Unlock your phone.", "Presence before everything."]
219
+ ```
220
+
221
+ ### Phase 7: Summary
222
+
223
+ Report what was written:
224
+ ```
225
+ 5 content specs written to marketing/content-specs/:
226
+ 1. lumi-aida.yaml (7 slides, Typographic)
227
+ 2. lumi-pas.yaml (6 slides, Contrast Play)
228
+ 3. lumi-bab.yaml (7 slides, Atmospheric)
229
+ 4. lumi-story.yaml (8 slides, Editorial)
230
+ 5. lumi-statflip.yaml (5 slides, Data-Led)
231
+
232
+ Next: Run /paper-marketing to design each script, or /tiktok-slideshow for the full pipeline.
233
+ ```
234
+
235
+ ## Standalone Usage
236
+
237
+ This skill works independently from any orchestrator:
238
+ - `/slideshow-script` alone → generates scripts for manual design work
239
+ - `/slideshow-script` → `/paper-marketing` → manual export (no video)
240
+ - `/slideshow-script` → `/content-atomizer` → repurpose scripts as text posts
241
+ - `/slideshow-script` → `/email-sequences` → use narratives in email campaigns
242
+
243
+ ## Progressive Enhancement
244
+
245
+ This skill works at three levels of context:
246
+
247
+ 1. **Zero context** — No brand files. Ask the user for: product name, one-sentence description, target audience, and the key benefit. Generate scripts from that. They'll be generic but functional.
248
+ 2. **Partial context** — Only `positioning.md` exists. Generate scripts from the positioning angles. Copy will be accurate but may lack voice personality.
249
+ 3. **Full context** — All three brand files exist (`positioning.md`, `audience.md`, `voice-profile.md`). Scripts use the right angles, speak to the right pain points, and sound like the brand.
250
+
251
+ ## Anti-Patterns
252
+
253
+ - **Same hook across scripts** — The whole point of 5 scripts is 5 chances to grab attention differently. If two scripts start with a question hook, you've wasted one. A viewer who scrolled past hook A might stop for hook B — but only if B looks and sounds different.
254
+ - **Recycled proof points** — Reusing the same stat in multiple scripts means a viewer who sees script 2 after script 1 hears the same argument. Each script should use different proof points from positioning.md so every post adds new information.
255
+ - **Generic voice** — "Transform your life" could be any brand on any platform. Viewers tune it out because they've seen it a thousand times. Using the exact vocabulary and signature phrases from voice-profile.md makes the content feel authored and recognizable.
256
+ - **Platform-specific copy in scripts** — Scripts are the narrative layer, not the design layer. Writing "swipe right" or "link in bio" locks the script to one platform. Keep scripts platform-agnostic so the same narrative works for TikTok, Instagram, YouTube Shorts, or any other format.
257
+ - **Too many slides** — Every slide the viewer must sit through is friction. If a slide doesn't advance the narrative toward the CTA, it's a drop-off point. 5-7 slides usually hits the sweet spot for social content.
258
+ - **Ignoring the framework** — Each framework works because of its specific psychological structure. AIDA builds desire before asking for action. PAS makes pain visceral before offering relief. Blending frameworks dilutes the psychological effect that makes each one work.
259
+
260
+ ## Edge Cases
261
+
262
+ - **positioning.md missing** — Ask the user: "What's the main angle or benefit you want to highlight?" Use their answer as the positioning angle. Offer to run /positioning-angles to build proper angles.
263
+ - **Only 1-2 proof points available** — Generate fewer scripts (3 instead of 5) and tell the user which frameworks were dropped and why. Quality over quantity.
264
+ - **User wants fewer than 5 scripts** — Respect the request. Ask which frameworks they want, or recommend the best 2-3 for their content type.
265
+ - **User wants a framework not in the list** — Accept custom frameworks. Ask for the structure (what are the phases?) and generate a script following that structure.
266
+ - **Brand voice conflicts with framework** — If the brand voice is "calm, no hype" but PAS requires agitation, dial the agitation to match the voice. Agitate with quiet observations, not exclamation marks.
267
+
268
+ ## Principles
269
+
270
+ - **5 narratives, not 5 variations** — every output should be publishable
271
+ - **Frameworks enforce diversity** — AIDA and PAS produce fundamentally different stories
272
+ - **Content spec is the contract** — downstream skills read YAML, not prose
273
+ - **Archetype annotations matter** — `type: stat` tells Paper agents AND Remotion what to emphasize
274
+ - **Voice rules are non-negotiable** — all 5 scripts must sound like the brand
@@ -0,0 +1,77 @@
1
+ # Content Spec YAML Schema
2
+
3
+ The content spec is the shared contract between all skills in the video pipeline. Written by `/slideshow-script`, read by `/paper-marketing` agents, ffmpeg, and Remotion.
4
+
5
+ ## Schema
6
+
7
+ ```yaml
8
+ # Required fields
9
+ spec_version: 1 # Schema version
10
+ project: string # Project name (kebab-case)
11
+ content_type: string # tiktok-slideshow | instagram-carousel | instagram-post | youtube-short
12
+ scripting_framework: string # AIDA | PAS | BAB | star-story-solution | stat-flip
13
+
14
+ # Platform spec
15
+ platform:
16
+ name: string # tiktok | instagram | youtube
17
+ width: number # pixels (1080)
18
+ height: number # pixels (1920 for 9:16, 1350 for 4:5)
19
+ aspect: string # "9:16" | "4:5" | "1:1" | "16:9"
20
+
21
+ # Brand context
22
+ positioning_angle: string # Which angle from positioning.md
23
+ visual_direction: string # typographic | data-led | atmospheric | editorial | bold-minimal | contrast-play | split | structured
24
+
25
+ # Slide content
26
+ slides:
27
+ - index: number # 1-based slide number
28
+ type: string # stat | anchor_word | emotional_pivot | cascade | cta | logo_intro | comparison | question
29
+ headline: string | null # Primary text (can be a number for stat type)
30
+ subhead: string | null # Secondary text
31
+ body: string | null # Body text (can include Arabic/special characters)
32
+ label: string | null # Small section label (e.g., "BREATH SYSTEM")
33
+ animation_hint: string # spring_bouncy | spring_smooth | spring_heavy | spring_snappy
34
+ role: string # attention | interest | desire | action | problem | agitate | solution | before | after | bridge | star | story | hook
35
+
36
+ # CTA (always present)
37
+ cta:
38
+ url: string # Primary URL
39
+ tagline: string # Signature phrase
40
+ handle: string | null # Social handle (@username)
41
+
42
+ # Voice rules (copied from brand)
43
+ voice_constraints:
44
+ tone: string # e.g., "calm, certain, mindful"
45
+ avoid: string[] # Words/patterns to never use
46
+ signature_phrases: string[] # Available brand phrases
47
+ ```
48
+
49
+ ## File Naming
50
+
51
+ ```
52
+ marketing/content-specs/{project}-{framework}.yaml
53
+ ```
54
+
55
+ Examples:
56
+ - `marketing/content-specs/lumi-aida.yaml`
57
+ - `marketing/content-specs/lumi-pas.yaml`
58
+ - `marketing/content-specs/myapp-stat-flip.yaml`
59
+
60
+ ## Consumers
61
+
62
+ | Consumer | What They Read | How They Use It |
63
+ |----------|---------------|-----------------|
64
+ | /paper-marketing agents | `slides[].type`, `slides[].headline/subhead/body`, `visual_direction` | Layout decisions, text content, archetype-aware design |
65
+ | ffmpeg (v1/v1.5) | `slides[].index`, `platform.width/height` | Slice coordinates, crossfade timing |
66
+ | Remotion (v2) | `slides[].type`, `slides[].animation_hint`, full slide content | Archetype component selection, spring configs, text |
67
+ | /video-content | `platform`, `cta`, `voice_constraints` | Output format, overlays, TTS voice settings |
68
+
69
+ ## Validation Rules
70
+
71
+ 1. `spec_version` must be `1`
72
+ 2. At least 3 slides, at most 12
73
+ 3. First slide must have `role: hook` or `role: attention` or `role: problem` or `role: stat`
74
+ 4. Last slide must have `type: cta`
75
+ 5. Every slide must have at least `headline` OR `body`
76
+ 6. `animation_hint` must be one of: `spring_bouncy`, `spring_smooth`, `spring_heavy`, `spring_snappy`
77
+ 7. `type` must be one of: `stat`, `anchor_word`, `emotional_pivot`, `cascade`, `cta`, `logo_intro`, `comparison`, `question`
@@ -0,0 +1,84 @@
1
+ > **Note:** Examples below use fictional brands (Acme, Lumi, Helm). Replace with your own brand context.
2
+
3
+ # Slideshow Scripting Frameworks
4
+
5
+ ## AIDA — Attention, Interest, Desire, Action
6
+
7
+ **Structure:**
8
+ 1. **Attention** (Slide 1): Bold claim, shocking stat, or provocative question
9
+ 2. **Interest** (Slides 2-3): Explain the mechanism, share the "how"
10
+ 3. **Desire** (Slides 4-5): Show the outcome, paint the picture of "after"
11
+ 4. **Action** (Slides 6-7): Clear CTA with URL/handle
12
+
13
+ **Best for:** Broad awareness, product introductions, feature showcases
14
+ **Visual pairing:** Typographic — progressive text revelation matches the framework's build-up
15
+
16
+ **Example pattern:**
17
+ - "30 seconds." → "That's how long 5 deep breaths take." → "Your phone opens when your breath is done." → "lumi.app"
18
+
19
+ ## PAS — Problem, Agitate, Solution
20
+
21
+ **Structure:**
22
+ 1. **Problem** (Slide 1-2): Name the pain the audience knows
23
+ 2. **Agitate** (Slides 3-4): Make the pain worse, show consequences
24
+ 3. **Solution** (Slides 5-7): Introduce the fix, prove it works, CTA
25
+
26
+ **Best for:** Pain-driven products, alternatives to existing solutions, "there's a better way"
27
+ **Visual pairing:** Contrast Play or Split — tension between problem and solution halves
28
+
29
+ **Example pattern:**
30
+ - "Every app blocker just makes you wait." → "Wait. Or breathe. Or read quotes. None of it sticks." → "Lumi makes you take a real pause. Then your phone opens."
31
+
32
+ ## BAB — Before, After, Bridge
33
+
34
+ **Structure:**
35
+ 1. **Before** (Slides 1-2): Current reality (relatable struggle)
36
+ 2. **After** (Slides 3-4): Dream state (what life looks like solved)
37
+ 3. **Bridge** (Slides 5-7): How to get there (the product), CTA
38
+
39
+ **Best for:** Transformation stories, lifestyle products, habit change
40
+ **Visual pairing:** Atmospheric — emotional transformation needs breathing room
41
+
42
+ **Example pattern:**
43
+ - "My phone was the first thing I touched every morning." → "Now my breath is." → "Lumi is the bridge."
44
+
45
+ ## Star-Story-Solution
46
+
47
+ **Structure:**
48
+ 1. **Star** (Slide 1): Introduce a relatable character or persona
49
+ 2. **Story** (Slides 2-5): Take them through a conflict or journey
50
+ 3. **Solution** (Slides 6-7): The product resolves the story, CTA
51
+
52
+ **Best for:** Emotional connection, community-building, personal narratives
53
+ **Visual pairing:** Editorial — story flow needs magazine-like pacing with asymmetric text
54
+
55
+ **Example pattern:**
56
+ - "Maya unlocks her phone 150 times a day." → "One day she set Lumi. Five deep breaths before each unlock." → "Now her first act is presence."
57
+
58
+ ## Stat-Flip
59
+
60
+ **Structure:**
61
+ 1. **Stat** (Slide 1-2): Surprising, specific data point
62
+ 2. **Flip** (Slides 3-4): Reframe the stat, challenge assumptions
63
+ 3. **CTA** (Slides 5-6): Clear call to action anchored in the data
64
+
65
+ **Best for:** Data-driven audiences, proof points, credibility building
66
+ **Visual pairing:** Data-Led — giant numbers as visual anchors, text supports the data
67
+
68
+ **Example pattern:**
69
+ - "You unlock your phone 150 times a day." → "That's 150 chances to take a breath." → "Lumi turns screen time into breath time."
70
+
71
+ ## Slide Type Reference
72
+
73
+ Each slide should be annotated with one of these types:
74
+
75
+ | Type | Visual Treatment | Animation |
76
+ |------|-----------------|-----------|
77
+ | `stat` | Giant number (300px+), small label | Spring bouncy, counter tick |
78
+ | `anchor_word` | One massive word fills slide | Spring heavy/snappy |
79
+ | `emotional_pivot` | Centered text, generous whitespace | Smooth, glow pulse |
80
+ | `cascade` | Sequential lines, left-aligned | Smooth, staggered reveal |
81
+ | `cta` | Centered, ornamental, URL prominent | Smooth, sequential fade |
82
+ | `logo_intro` | Logo centered, clean backdrop | Spring bouncy, sparkle |
83
+ | `comparison` | Split layout, two zones | Slide transition |
84
+ | `question` | Large text with ? or ... | Smooth fade |
@@ -0,0 +1,37 @@
1
+ # PAIPS Framework
2
+
3
+ A 5-step copy framework for persuasive short-form content. Use for tweets, short-form video scripts, and carousel copy where you need agitation before the solution.
4
+
5
+ ## The 5 Steps
6
+
7
+ ### 1. Problem — Highlight something painful
8
+ The first line highlights a painful problem that people experience. This line is intended to elicit a strong emotional response and get the reader to the next line.
9
+
10
+ ### 2. Agitate — Agitate the pain
11
+ Next, get under the reader's skin and make them agitated. Once someone is agitated, they are much more likely to be open to a solution.
12
+
13
+ ### 3. Intrigue — Introduce something intriguing
14
+ Introduce something that makes them think, "Wait, what's that?" Get the audience to lean in with interest to carry them through the content.
15
+
16
+ ### 4. Positive Future — Paint a positive future
17
+ Paint a picture of what a positive future would look like. The positive future is tied to something intriguing.
18
+
19
+ ### 5. Solution — Present your solution
20
+ Introduce the solution which should be tied to the problem.
21
+
22
+ ## Usage in Scripts
23
+
24
+ When using PAIPS for a slideshow script:
25
+ - Slides 1-2: Problem + Agitate (establish the pain)
26
+ - Slide 3: Intrigue (the "wait, what?" moment)
27
+ - Slides 4-5: Positive Future + Solution (deliver the payoff)
28
+
29
+ ## Writing Constraints (from PAIPS source)
30
+ - Break up sentences longer than 25 words
31
+ - Hook sentence must answer: "How will this help me?" or "What will I learn?" or "Is this worth my time?"
32
+ - Mix 3-4 short (7-15 word) sentences with one longer (15-25 word) sentence
33
+ - Use transition words: However, Anyway, More than that, But
34
+ - Use bullets when applicable
35
+ - Short, simple, easy-to-read sentences
36
+ - Do not repeat concepts
37
+ - Do not use "unleash", "unlock", or "imagine"