@jairodri/huckleberry-cli 1.0.1 → 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 +349 -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,448 @@
1
+ ---
2
+ name: paper-marketing
3
+ description: >
4
+ On-brand visual marketing content using Paper MCP and parallel agent teams.
5
+ Reads the project's brand/ directory to build a design system, then spawns
6
+ designer agents in parallel — each creating a unique artboard with a
7
+ different on-brand layout interpretation. Intelligently adapts agent count
8
+ and approach based on user goals via AskUserQuestion interrogation.
9
+ Produces Instagram carousels, TikTok slideshows, social posts, story slides,
10
+ and visual assets. When used with content spec YAMLs from /slideshow-script,
11
+ each agent gets a unique script AND unique design direction.
12
+ Make sure to use this skill whenever the user wants visual marketing
13
+ content designed in Paper — carousels, slideshows, social posts, story
14
+ slides, or any visual asset. Even if they just say "design something" or
15
+ "make slides" or "create visual content", this is the skill. Also triggers
16
+ on "paper marketing", "instagram design", "TikTok design", "slideshow
17
+ design", "create carousel", or "social graphics".
18
+ category: creative
19
+ tier: core
20
+ reads:
21
+ - brand/voice-profile.md
22
+ - brand/creative-kit.md
23
+ - brand/positioning.md
24
+ - brand/assets.md
25
+ - marketing/content-specs/*.yaml
26
+ writes:
27
+ - brand/creative-kit.md
28
+ - marketing/content-specs/*.yaml
29
+ - marketing/handoffs/*-handoff.yaml
30
+ - brand/assets.md
31
+ depends-on:
32
+ - brand-voice
33
+ triggers:
34
+ - paper marketing
35
+ - design carousel
36
+ - create slides
37
+ - visual content
38
+ - instagram design
39
+ - social graphics
40
+ - slide design
41
+ - TikTok design
42
+ - slideshow design
43
+ allowed-tools:
44
+ - Bash(mktg status *)
45
+ ---
46
+
47
+ # /paper-marketing — On-Brand Visual Content in Paper MCP
48
+
49
+ Spawn parallel designer agents in Paper, each creating a unique on-brand interpretation of marketing content. Same brand system, different creative executions. Agent count and approach intelligently adapt to the user's actual goal.
50
+
51
+ ## Quick Reference
52
+
53
+ | Phase | What Happens | Key Tool |
54
+ |-------|-------------|----------|
55
+ | 1. Load Brand | Read brand/ files, discover Paper file, confirm with user | `mcp__paper__get_basic_info()` |
56
+ | 2. Goal Discovery | Interrogate user: content type, variation count, priority | `AskUserQuestion` |
57
+ | 3. Create Tasks | Build rich task descriptions with full brand system + content | `TeamCreate` + `TaskCreate` |
58
+ | 4. Spawn Agents | Launch N designer agents in parallel | `Agent` (background, Sonnet) |
59
+ | 5. Review | Screenshot artboards, compare, user selects winner | `mcp__paper__get_screenshot()` |
60
+ | 6. Export | Extract JSX, write handoff YAML, instruct user to export PNG | `mcp__paper__get_jsx()` |
61
+ | 7. Log | Update brand/assets.md, append workflow log | File writes |
62
+
63
+ For Paper MCP HTML rules, see [references/paper-mcp-rules.md](references/paper-mcp-rules.md).
64
+ For brand system extraction template, see [references/brand-system-template.md](references/brand-system-template.md).
65
+ For platform-specific conventions, see [references/platform-conventions.md](references/platform-conventions.md).
66
+ For agent quality rubric, see [references/agent-quality-rubric.md](references/agent-quality-rubric.md).
67
+
68
+ ## Workflow
69
+
70
+ ### Phase 1: Load Brand System + Discover Paper File
71
+
72
+ **Step 1a: Load brand context.** Run `mktg status --json` to confirm brand files exist. Then read in parallel:
73
+ - `brand/voice-profile.md` — tone, vocabulary, do's/don'ts, signature phrases
74
+ - `brand/creative-kit.md` — colors (hex + roles), fonts (families + weights + sizes), spacing rhythm
75
+ - `brand/positioning.md` — angles, headlines, proof points
76
+ - `brand/assets.md` — what already exists (avoid duplication)
77
+
78
+ **Step 1b: Extract the design system.** From brand files, build:
79
+ - **Palette**: every color token with hex and role (bg, accent, text, muted, divider)
80
+ - **Typography**: font families, weights, sizes for each role (display, section, body, label, stat)
81
+ - **Layout tokens**: slide dimensions, padding, content area, footer structure
82
+ - **Voice rules**: signature phrases, copy rules, words to use/avoid
83
+ - **Positioning angles**: available angles and their headline directions
84
+
85
+ If `creative-kit.md` is missing, use AskUserQuestion to gather basics (bg color light/dark, accent color, font preference), then write the result to `brand/creative-kit.md` so it persists.
86
+
87
+ **Step 1c: Discover the Paper workspace.** Call `mcp__paper__get_basic_info()` and record:
88
+ - **File name** — this is the workspace all agents will use
89
+ - **Existing artboards** — names and IDs, so agents know what's already there
90
+ - **Loaded fonts** — so agents can use them without guessing
91
+
92
+ **Step 1d: Confirm with AskUserQuestion:**
93
+ ```
94
+ "I see Paper file '{fileName}' is open with artboards: {list}. I'll create new artboards here for the marketing designs. Right file?"
95
+
96
+ Options:
97
+ 1. "Yes, use this file" — proceed
98
+ 2. "Different file" — user specifies which file to open
99
+ ```
100
+
101
+ Do NOT proceed until the user confirms.
102
+
103
+ ### Phase 2: Intelligent Goal Discovery
104
+
105
+ This is the most important phase. Use **AskUserQuestion** to understand what the user actually needs before deciding how many agents to spawn.
106
+
107
+ #### 2a. Check for Content Specs
108
+
109
+ First, check if content spec YAMLs already exist (written by `/slideshow-script` or `/tiktok-slideshow`):
110
+
111
+ ```bash
112
+ ls marketing/content-specs/*.yaml 2>/dev/null
113
+ ```
114
+
115
+ **If content specs exist:** Read them. Each spec has `content_type`, `visual_direction`, `slides[]`, and `scripting_framework`. Skip to Phase 2d — the scripts are already written.
116
+
117
+ **If no content specs:** Proceed to interrogation (2b).
118
+
119
+ #### 2b. Interrogate the User
120
+
121
+ Use AskUserQuestion to understand the goal. Don't assume 5 agents or any specific format:
122
+
123
+ ```
124
+ "What visual content do you need? Help me understand so I can design the right approach."
125
+
126
+ Options:
127
+ 1. "TikTok slideshow (1080×1920, 5-9 slides)" — vertical storytelling
128
+ 2. "Instagram carousel (1080×1350, 5-9 slides)" — educational/positioning
129
+ 3. "Instagram single post (1080×1080 or 1080×1350)" — one powerful image
130
+ 4. "Instagram story / Reel cover (1080×1920)" — single claim
131
+ 5. "Social graphics batch" — multiple formats for one message
132
+ 6. "Ad creative" — single high-impact visual for ads
133
+ 7. "Custom" — user describes what they need
134
+ ```
135
+
136
+ Then follow up based on answer:
137
+
138
+ ```
139
+ "How many variations do you want to explore?"
140
+
141
+ Options:
142
+ 1. "Just 1 great one" — single agent, iterate until perfect
143
+ 2. "2-3 options" — focused exploration
144
+ 3. "5 full variations" — maximum creative exploration
145
+ 4. "Match my content specs" — 1 per content spec YAML
146
+ ```
147
+
148
+ Then:
149
+
150
+ ```
151
+ "What's the priority?"
152
+
153
+ Options:
154
+ 1. "Speed — get something designed fast" → fewer agents, simpler approach
155
+ 2. "Quality — make it exceptional" → load /frontend-design, thorough review
156
+ 3. "Exploration — see many different directions" → max agents, varied styles
157
+ ```
158
+
159
+ **Use these answers to determine:**
160
+ - How many agents to spawn (1-5)
161
+ - Whether to load `/frontend-design` for design quality
162
+ - Which variation directions to use
163
+ - How much review/iteration to do
164
+
165
+ #### 2c. Select Variations (Intelligent)
166
+
167
+ Based on interrogation, select the RIGHT number of variations with the RIGHT directions:
168
+
169
+ **Variation types for marketing content:**
170
+
171
+ | Direction | What Changes | Good For |
172
+ |-----------|-------------|----------|
173
+ | **Typographic** | Text-dominant, massive display type, minimal decoration | Quote posts, positioning statements |
174
+ | **Data-Led** | Giant stat numbers as visual anchors, text secondary | Proof points, market data, before/after |
175
+ | **Editorial** | Magazine-layout feel, asymmetric text placement, generous white space | Long-form carousel slides, thought leadership |
176
+ | **Product-Forward** | Mockup/screenshot center stage, text supports the visual | Feature demos, app screenshots |
177
+ | **Atmospheric** | Arabic script as decoration, calligraphic accents, spacious and reverent | Spiritual content, Quranic references |
178
+ | **Bold Minimal** | One idea per slide, maximum white space, zero ornamentation | Hook slides, CTAs, single-message posts |
179
+ | **Structured** | Clear grid feel, numbered steps, consistent slot layout | How-it-works, listicles, tutorials |
180
+ | **Contrast Play** | Dramatic scale differences, weight extremes | Attention-grabbing hooks, comparison content |
181
+ | **Stacked** | Vertical rhythm, everything centered, one element per visual beat | Stories, reels covers |
182
+ | **Split** | Two-column or two-zone layout, tension between halves | Before/after, problem/solution |
183
+
184
+ Rules for selection:
185
+ - Each must be **tangibly different** (different layout structure, emphasis, visual rhythm)
186
+ - Match directions to the content type and user's priority
187
+ - If user chose "Just 1 great one" — pick the best direction for their content and go
188
+ - If content specs exist, use their `visual_direction` field
189
+
190
+ Present the plan via AskUserQuestion:
191
+ ```
192
+ "Here's my design plan: {N} variation(s), {content_type}:"
193
+
194
+ 1. **{Direction}** — {one-line description of this approach}
195
+ [... more if multiple]
196
+
197
+ Options:
198
+ 1. "Looks great, go" — proceed
199
+ 2. "Change direction(s)" — user adjusts
200
+ 3. "Add more variations" — increase agent count
201
+ 4. "Fewer variations" — reduce agent count
202
+ ```
203
+
204
+ #### 2d. Define Content Spec
205
+
206
+ **If content specs exist from /slideshow-script:** Read them. Each agent gets its own spec's content.
207
+
208
+ **If no content specs:** Write out the exact content each agent will design with:
209
+ - Every text string (headings, body copy, labels, CTAs)
210
+ - Which positioning angle is being used
211
+ - Every slide/section and its purpose
212
+ - Information hierarchy (what's most important)
213
+ - Signature phrases from `brand/voice-profile.md`
214
+
215
+ Show to user via AskUserQuestion:
216
+ ```
217
+ "Here's the content for the designs. Anything to add or change?"
218
+
219
+ [slide-by-slide or section-by-section copy]
220
+
221
+ Options:
222
+ 1. "Looks complete, go" — proceed
223
+ 2. "Missing something" — user adds content
224
+ 3. "Change the copy" — user edits specific text
225
+ ```
226
+
227
+ **Write approved content to `marketing/content-specs/{name}.yaml`** so it persists for downstream skills (/video-content). If content specs already exist from `/slideshow-script`, do NOT overwrite them — they are the source of truth. Only write new specs when running standalone (no prior scripting phase).
228
+
229
+ Do NOT proceed to Phase 3 until user approves variations AND content.
230
+
231
+ ### Phase 3: Create Team and Tasks
232
+
233
+ ```
234
+ TeamCreate: name="paper-mktg", description="{N} on-brand marketing designers in Paper"
235
+ ```
236
+
237
+ Create N tasks (all parallel, no dependencies) + 1 review task (blocked by all N).
238
+
239
+ **Each task description MUST include all of this** (the agent picking it up has zero prior context):
240
+
241
+ 1. **Paper Workspace**: File name (from get_basic_info), existing artboards to avoid, loaded fonts available
242
+ 2. **Context**: What is being designed, which project, what the product does (1-2 sentences)
243
+ 3. **Brand System**: Full palette (every hex with role), typography (every font/weight/size with role), layout tokens. Copied verbatim.
244
+ 4. **Voice Rules**: Key do's/don'ts from voice-profile.md. Signature phrases. Words to avoid.
245
+ 5. **Design Brief**: This variation's specific layout approach, emphasis, vibe. What makes it different.
246
+ 6. **Content Spec**: Every piece of text, every slide/section — from content spec YAML or Phase 2d
247
+ 7. **Paper MCP Workflow**: The exact tool sequence (see Phase 4)
248
+ 8. **Paper HTML Rules**: From [references/paper-mcp-rules.md](references/paper-mcp-rules.md)
249
+ 9. **Quality Rubric**: From [references/agent-quality-rubric.md](references/agent-quality-rubric.md)
250
+ 10. **Platform Conventions**: From [references/platform-conventions.md](references/platform-conventions.md) for the target platform
251
+ 11. **Tradeoffs**: What could go wrong with this layout variation and how to counter it
252
+ 12. **Artboard spec**: Name ("Marketing: {variation_name}"), width, height
253
+
254
+ ### Phase 4: Spawn Designer Agents
255
+
256
+ Spawn all in a **single message** (parallel). Each agent gets:
257
+
258
+ ```
259
+ subagent_type: "general-purpose"
260
+ model: "sonnet"
261
+ team_name: "paper-mktg"
262
+ run_in_background: true
263
+ ```
264
+
265
+ **Agent prompt structure:**
266
+
267
+ ```
268
+ You are a senior marketing designer creating on-brand visual content.
269
+ Your layout approach: {variation_style}. {one-sentence vibe}
270
+
271
+ ## Design Quality
272
+ Read the /frontend-design skill at ~/.claude/skills/frontend-design/SKILL.md for design principles.
273
+ Apply Swiss editorial typography: maximize contrast between display (700, 200px+) and label (300, 14px).
274
+ Spacing: tighter to group, generous to breathe. Color: one accent moment per slide.
275
+ Layout: favor asymmetry. Scale: dramatic differences (hero 3x larger than secondary).
276
+
277
+ ## Your Task
278
+ Design {content_type} for {project_name} in Paper design tool. Create ONE artboard ({width}x{height}).
279
+
280
+ Read your full task description by calling TaskGet with taskId "{id}",
281
+ then mark it in_progress with TaskUpdate. When done, mark it completed.
282
+
283
+ ## Paper Workspace
284
+ You are working in Paper file "{fileName}".
285
+ Existing artboards: {list}.
286
+ Loaded fonts: {list from get_basic_info}.
287
+ Do NOT modify existing artboards.
288
+
289
+ ## Paper MCP Workflow
290
+ 1. mcp__paper__get_basic_info() — confirm file state
291
+ 2. mcp__paper__get_font_family_info({brand fonts}) — VERIFY every font before use
292
+ 3. mcp__paper__create_artboard() — name: "Marketing: {variation_name}", width/height
293
+ 4. mcp__paper__write_html() — build slide 1 in detail (2-3 calls for first slide)
294
+ 5. mcp__paper__duplicate_nodes() — clone slide 1 structure for remaining slides
295
+ 6. mcp__paper__set_text_content() — swap text per cloned slide
296
+ 7. mcp__paper__update_styles() — adjust colors, sizes, emphasis per slide
297
+ 8. mcp__paper__get_screenshot() — every 2-3 modifications, critique against quality rubric
298
+ 9. mcp__paper__finish_working_on_nodes() — ALWAYS call when done
299
+
300
+ ## Brand System
301
+ {full palette, typography, layout tokens from task description}
302
+
303
+ ## Voice Rules
304
+ {key do's/don'ts, signature phrases, words to avoid}
305
+
306
+ ## Design Brief
307
+ {this variation's layout approach, emphasis, vibe, tradeoffs}
308
+
309
+ ## Content
310
+ {verbatim content spec — unique script per agent if from /slideshow-script}
311
+
312
+ ## Quality Rubric
313
+ After each screenshot, check: (1) text readability at 50% zoom, (2) brand fidelity,
314
+ (3) archetype match, (4) platform safe zones, (5) visual rhythm, (6) hierarchy.
315
+ Fix any failures BEFORE moving to next slide.
316
+
317
+ ## Paper HTML Rules
318
+ - Inline styles ONLY (style="...")
319
+ - display: flex for ALL containers (no grid, no margins, no tables)
320
+ - Google Fonts via font-family name (verify with get_font_family_info first)
321
+ - NO emojis — use SVG icons or text
322
+ - Arabic text: direction: rtl; font-family: "Noto Naskh Arabic"
323
+ - Build incrementally. Screenshot every 2-3 writes.
324
+ - Set layer-name attribute for semantic names.
325
+ ```
326
+
327
+ ### Phase 5: Monitor and Review
328
+
329
+ 1. Shut down agents as they complete (`SendMessage type: "shutdown_request"`)
330
+ 2. When all done, screenshot each artboard via `mcp__paper__get_screenshot()`
331
+ 3. Present all with critique for each:
332
+ - **Best element**: The standout design/layout decision
333
+ - **Brand fidelity**: Does it feel on-brand? Colors, fonts, voice correct?
334
+ - **Risk**: What could go wrong if this is the chosen direction
335
+ 4. If multiple variations, show comparison matrix:
336
+
337
+ ```
338
+ | Criterion | {Var 1} | {Var 2} | ... |
339
+ |-----------|---------|---------|-----|
340
+ | Hook strength | 8/10 | 9/10 | ... |
341
+ | Text readability | 9/10 | 8/10 | ... |
342
+ | Brand fidelity | 9/10 | 9/10 | ... |
343
+ | Visual variety | 7/10 | 9/10 | ... |
344
+ | Animation potential | 7/10 | 9/10 | ... |
345
+ ```
346
+
347
+ 5. Ask user via AskUserQuestion:
348
+ ```
349
+ "Here are the variations. What would you like to do?"
350
+
351
+ Options:
352
+ 1. "Use #{n}" — pick one as the final
353
+ 2. "Mix elements" — combine best parts of multiple
354
+ 3. "Refine #{n}" — iterate on a favorite
355
+ 4. "Create more slides in #{n}'s style" — extend the chosen direction
356
+ 5. "Start over with different content" — new round
357
+ ```
358
+ 6. Clean up: `TeamDelete`
359
+
360
+ ### Phase 6: Export and Handoff
361
+
362
+ After user selects a variation:
363
+
364
+ 1. **Extract JSX** from selected artboard via `mcp__paper__get_jsx()`:
365
+ ```
366
+ mcp__paper__get_jsx(nodeId: "{selected_artboard_id}")
367
+ ```
368
+ Save extracted HTML/CSS for Remotion reference.
369
+
370
+ 2. **Write handoff YAML** to `marketing/handoffs/{name}-handoff.yaml`:
371
+ ```yaml
372
+ handoff_version: 1
373
+ project: {project_name}
374
+ content_type: {content_type}
375
+ selected_variation: {variation_name}
376
+ artboard:
377
+ name: "Marketing: {variation_name}"
378
+ width: {width}
379
+ height: {height}
380
+ slide_count: {N}
381
+ content_spec: "marketing/content-specs/{name}.yaml"
382
+ brand_snapshot:
383
+ bg_primary: "{hex}"
384
+ bg_deep: "{hex}"
385
+ accent: "{hex}"
386
+ accent_muted: "{rgba}"
387
+ text_primary: "{hex}"
388
+ text_muted: "{rgba}"
389
+ divider: "{rgba}"
390
+ font_display: "{font_family}"
391
+ font_display_weights: [300, 400, 700]
392
+ font_body: "{font_family}"
393
+ font_body_weights: [300, 400]
394
+ export_search_pattern: "{variation_name}@2x.png"
395
+ extracted_jsx:
396
+ slide_1: "{jsx}"
397
+ slide_2: "{jsx}"
398
+ ```
399
+
400
+ 3. **Instruct user to export** from Paper UI:
401
+ ```
402
+ "Select the '{variation_name}' artboard in Paper and export as PNG @ 2x.
403
+ Save to ~/Desktop/ or your preferred location.
404
+ Then tell me the file path so /video-content can process it."
405
+ ```
406
+
407
+ ### Phase 7: Log and Register (if workflow logging active)
408
+
409
+ If a workflow log exists at `marketing/logs/`, append steps for:
410
+ - Which brand files were read
411
+ - Which content type was created
412
+ - Which variation was chosen
413
+ - What the final artboard looks like
414
+ - Tool calls made
415
+
416
+ Update `brand/assets.md` with the new asset.
417
+
418
+ ## Anti-Patterns
419
+
420
+ - **Spawning before confirming** — Each agent costs tokens and time. Creating 5 agents for a user who wanted 1 is wasteful and frustrating. Always get explicit approval on both the variation plan AND the content before spawning.
421
+ - **Hardcoding brand values** — If you put hex codes or font names directly in the skill, it breaks the moment it's used on a different project. Always read from brand/ files at runtime so the skill works universally.
422
+ - **Using CSS grid in Paper** — Paper MCP's HTML renderer only supports `display: flex`. Using `grid`, margins, or HTML tables produces broken layouts with no error message — elements just disappear or stack incorrectly.
423
+ - **Modifying existing artboards** — The user's existing artboards may contain in-progress work. Agents must create new artboards only. Touching existing work risks destroying hours of effort.
424
+ - **Identical variations** — The entire value of spawning multiple agents is seeing genuinely different creative directions. If two designs look similar, the user got one option at the cost of two. Each variation must use a structurally different layout approach from the direction table.
425
+ - **Skipping font verification** — Paper renders missing fonts as a default fallback, which silently breaks the brand look. Always call `get_font_family_info()` first to confirm the font is loaded.
426
+ - **Giant write_html calls** — Paper's HTML renderer handles ~15 lines per call reliably. Larger blocks risk partial rendering or silent truncation. Build incrementally: hero first, then body, then footer.
427
+
428
+ ## Edge Cases
429
+
430
+ - **Paper MCP not connected** — If `get_basic_info()` fails, tell the user to open Paper and connect the MCP server. Do not proceed without it.
431
+ - **Font not available** — If `get_font_family_info()` returns no match, fall back to a similar Google Font that IS available. Note the substitution in the task description.
432
+ - **Agent task fails** — If an agent can't complete (Paper errors, timeout), note which variation failed and offer to re-run just that one.
433
+ - **No brand files exist** — Skill still works. Use AskUserQuestion to gather basics (colors, fonts, vibe) and write creative-kit.md before proceeding.
434
+ - **Content specs from /slideshow-script are stale** — If content spec YAMLs exist but are older than the current positioning.md, flag this to the user and ask whether to use existing specs or regenerate.
435
+
436
+ ## Principles
437
+
438
+ - **Intelligent interrogation**: Use AskUserQuestion to understand the goal BEFORE deciding agent count and approach. Don't assume 5 agents every time.
439
+ - **Rich task descriptions**: An agent picking up a task cold must have everything. No assumptions.
440
+ - **Duplicate-first building**: Build slide 1 in detail, duplicate for remaining slides, then customize. 40% faster, more consistent.
441
+ - **Frontend design quality**: Load /frontend-design skill for Swiss editorial typography and layout principles.
442
+ - **Screenshot reviews with rubric**: Agents screenshot every 2-3 writes and check against the 6-point quality rubric.
443
+ - **Font verification**: Always get_font_family_info before using any font.
444
+ - **Distinct variations**: If two designs look similar, the skill failed. Same brand, different layouts.
445
+ - **Brand fidelity**: Every variation MUST use the project's brand palette, fonts, and voice.
446
+ - **Content spec persistence**: Write approved content to YAML so downstream skills can read it.
447
+ - **JSX extraction**: Always get_jsx from selected artboard for Remotion handoff.
448
+ - **Universal**: Works for any project with `brand/` files. Reads brand system at runtime, never hardcodes.
@@ -0,0 +1,68 @@
1
+ # Agent Quality Rubric
2
+
3
+ Screenshot every 2-3 writes. After each screenshot, rate against these criteria. If any criterion fails, fix BEFORE moving to the next slide.
4
+
5
+ ## 6-Point Checklist
6
+
7
+ ### 1. Text Readability
8
+ Can every word be read at 50% zoom?
9
+ - Body text: minimum 48px (TikTok/Story) or 36px (carousel)
10
+ - Hero text: minimum 120px (TikTok/Story) or 80px (carousel)
11
+ - If text is too small, increase immediately — readability is non-negotiable
12
+
13
+ ### 2. Brand Fidelity
14
+ Does this look like the brand?
15
+ - Colors match palette exactly (check hex values, not "close enough")
16
+ - Font family and weights match creative-kit.md
17
+ - Voice rules respected (no hype words, correct tone)
18
+ - Signature phrases used where appropriate
19
+
20
+ ### 3. Archetype Match
21
+ Does this slide match its content spec type?
22
+ - `stat` → big number is the BIGGEST element on the slide
23
+ - `anchor_word` → one word dominates, everything else is secondary
24
+ - `cascade` → sequential lines with clear vertical rhythm
25
+ - `cta` → centered, ornamental, URL prominent
26
+ - `emotional_pivot` → generous whitespace, centered, breathing room
27
+
28
+ ### 4. Safe Zones
29
+ Is content within platform safe zones?
30
+ - TikTok: center 70% (avoid top 150px, bottom 300px)
31
+ - Instagram carousel: 5% padding all edges
32
+ - Instagram story: avoid top 10% and bottom 20%
33
+
34
+ ### 5. Visual Rhythm
35
+ Does this slide feel different from the previous one?
36
+ - Alternate backgrounds (navy / navy-deep)
37
+ - Vary scale (huge headline → small body → huge stat)
38
+ - Different slide types in sequence (stat → anchor → cascade, not stat → stat → stat)
39
+
40
+ ### 6. Hierarchy
41
+ Is the most important element the most visually dominant?
42
+ - Hero element should be 3-5x larger than secondary elements
43
+ - One focal point per slide (not two competing elements)
44
+ - Information flows: hero → supporting → detail
45
+ - Gold accent draws the eye to the key moment
46
+
47
+ ## Quick Decision Tree
48
+
49
+ ```
50
+ Screenshot taken. What's wrong?
51
+
52
+ Text too small? → Increase font size, re-screenshot
53
+ Wrong colors? → Check creative-kit.md, fix hex values
54
+ Slide looks like previous → Change background shade, vary layout
55
+ Two elements competing → Make one 3x larger, reduce the other
56
+ Content near edges → Add padding, move to center zone
57
+ Doesn't match archetype → Redesign to emphasize the right element
58
+ ```
59
+
60
+ ## Post-Build Final Review
61
+
62
+ After all slides are built, take one final full-artboard screenshot and check:
63
+ - [ ] Consistent footer across all slides
64
+ - [ ] Background alternation creates visual rhythm
65
+ - [ ] First slide has the strongest visual hook
66
+ - [ ] Last slide has clear CTA with URL
67
+ - [ ] No two adjacent slides have the same layout structure
68
+ - [ ] Brand palette used throughout (no off-brand colors crept in)
@@ -0,0 +1,120 @@
1
+ # Brand System Template
2
+
3
+ This is the template for extracting a design system from a project's `brand/` directory. The `/paper-marketing` skill reads brand files at runtime and populates this structure.
4
+
5
+ ## How It Works
6
+
7
+ 1. Skill reads `brand/creative-kit.md` (primary source for design tokens)
8
+ 2. Falls back to `brand/voice-profile.md` for copy rules
9
+ 3. Falls back to asking the user if neither exists
10
+ 4. Writes `brand/creative-kit.md` if it had to gather info manually
11
+
12
+ ## Expected creative-kit.md Structure
13
+
14
+ ```markdown
15
+ # Creative Kit
16
+
17
+ ## Palette
18
+
19
+ | Token | Hex | Role |
20
+ |-------|-----|------|
21
+ | bg-primary | #XXXXXX | Primary background |
22
+ | bg-deep | #XXXXXX | Deeper background, page bg |
23
+ | accent | #XXXXXX | Headlines, accents, section labels |
24
+ | accent-muted | rgba(...) | Subtle highlight fills |
25
+ | accent-line | rgba(...) | Dividers, rules |
26
+ | text-primary | #XXXXXX | Body text |
27
+ | text-muted | rgba(...) | Subdued body text |
28
+ | text-dim | rgba(...) | Ghost text, metadata |
29
+ | surface | #XXXXXX | Card/panel backgrounds |
30
+
31
+ ## Typography
32
+
33
+ | Role | Font | Weight | Size | Notes |
34
+ |------|------|--------|------|-------|
35
+ | Display headline | {font} | 700 | 72-96px | |
36
+ | Section headline | {font} | 600 | 36-48px | |
37
+ | Body | {font} | 400 | 18-22px | 1.5 line-height |
38
+ | Label / meta | {font} | 500 | 11-14px | All-caps, tracked |
39
+ | Stat number | {font} | 700 | 120-160px | Accent color |
40
+
41
+ ## Slide Dimensions
42
+
43
+ | Format | Width | Height | Ratio | Use |
44
+ |--------|-------|--------|-------|-----|
45
+ | Instagram carousel | 1080px | 1350px | 4:5 | Primary content |
46
+ | Instagram square | 1080px | 1080px | 1:1 | Feed posts |
47
+ | Instagram story | 1080px | 1920px | 9:16 | Stories, reels, TikTok |
48
+
49
+ ## Layout
50
+
51
+ - Padding: {X}px horizontal, {Y}px vertical
52
+ - Section labels: accent color, all-caps, tracked
53
+ - Dividers: accent-line, 1px
54
+ - Footer: brand mark + handle, text-dim
55
+ ```
56
+
57
+ ## Slide Archetypes (Universal)
58
+
59
+ These work for any brand. The colors and fonts come from the brand system.
60
+
61
+ ### Hook Slide (slide 1)
62
+ - Large statement or question in accent color (display size)
63
+ - No section label
64
+ - Purpose: stop the scroll
65
+
66
+ ### Content Slide (slides 2-N)
67
+ - Section label at top (accent, small caps)
68
+ - Headline in text-primary (section headline size)
69
+ - Body text in text-muted (body size)
70
+ - Optional stat number in accent (stat size)
71
+ - Purpose: deliver value
72
+
73
+ ### Evidence Slide
74
+ - Large number in accent (stat size)
75
+ - Single explanatory line in text-primary
76
+ - Reframe or positioning statement below
77
+ - Purpose: proof through data
78
+
79
+ ### CTA Slide (final)
80
+ - Brand tagline in accent
81
+ - Handle / URL in text-primary
82
+ - Divider above footer
83
+ - Purpose: close with authority, not urgency
84
+
85
+ ## Content Templates (Universal)
86
+
87
+ ### Stat Post
88
+ ```
89
+ [SECTION LABEL: accent, small caps]
90
+ [BIG NUMBER: accent, 120-160px]
91
+ [Explanatory line: text-primary]
92
+ [Reframe: text-primary]
93
+ [divider: accent-line]
94
+ [Brand + URL: text-dim]
95
+ ```
96
+
97
+ ### Quote / Statement
98
+ ```
99
+ [Large quote: accent, 72-88px]
100
+ [divider: accent-line]
101
+ [Brand: text-dim]
102
+ ```
103
+
104
+ ### Proof Point
105
+ ```
106
+ [SECTION LABEL: accent]
107
+ [Bold statement: text-primary, 36px]
108
+ [Body: text-muted, 18px]
109
+ [divider: accent-line]
110
+ [Brand: text-dim]
111
+ ```
112
+
113
+ ### Demo / Product
114
+ ```
115
+ [Headline: text-primary, 36px]
116
+ [Product mockup: surface bg, rounded rect]
117
+ [Action line: text-primary]
118
+ [divider: accent-line]
119
+ [Brand: text-dim]
120
+ ```