@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,159 @@
1
+ # Phased Launch Timeline
2
+
3
+ Week-by-week breakdown for product launches. Adapt timelines based on product complexity and team size. Solo founders can compress; funded teams should expand for coordination.
4
+
5
+ ---
6
+
7
+ ## Phase 1: Foundation (8-6 Weeks Before Launch)
8
+
9
+ ### Week 8: Research & Positioning
10
+ - Run audience research — identify where your buyers hang out online
11
+ - Analyze 3-5 competitor launches (what channels, what messaging, what worked)
12
+ - Define your launch angle — what makes THIS launch newsworthy?
13
+ - Draft initial positioning statement (1 sentence: who it's for, what it does, why now)
14
+
15
+ ### Week 7: Asset Planning
16
+ - Map your ORB channels — which owned, rented, borrowed channels will you activate?
17
+ - Identify 10-20 borrowed channel targets (podcasts, newsletters, influencers)
18
+ - Outline content calendar: what gets published when, on which channel
19
+ - Set up analytics — UTM naming convention, conversion goals, dashboard
20
+
21
+ ### Week 6: Landing Page & Capture
22
+ - Build landing page with clear value prop, social proof placeholder, email capture
23
+ - Set up waitlist or early access signup flow
24
+ - Install tracking pixels (analytics, retargeting, heatmaps)
25
+ - Create lead magnet if applicable (free resource that attracts your target buyer)
26
+
27
+ ---
28
+
29
+ ## Phase 2: Build-Up (5-3 Weeks Before Launch)
30
+
31
+ ### Week 5: Content Creation
32
+ - Write launch blog post (problem → solution → proof → CTA)
33
+ - Create demo video or product walkthrough (60-90 seconds max for social)
34
+ - Design social media assets: announcement graphics, feature GIFs, quote cards
35
+ - Draft email announcement sequence (tease → announce → remind → last chance)
36
+
37
+ ### Week 4: Social Proof & Outreach
38
+ - Send product to 5-10 beta testers — collect testimonials and case studies
39
+ - Screenshot or record early user wins for social proof
40
+ - Begin outreach to borrowed channels: pitch guest posts, podcast appearances, newsletter features
41
+ - Prepare Product Hunt listing if applicable (tagline, description, media, maker comment)
42
+
43
+ ### Week 3: Distribution Setup
44
+ - Schedule social media posts across launch week (use scheduling tools)
45
+ - Segment email list: power users, new subscribers, lapsed, VIPs
46
+ - Draft all email sequences: pre-launch tease, launch day, follow-up, onboarding
47
+ - Confirm all partnership/collaboration dates and deliverables
48
+ - Prep in-app announcement: banner, tooltip, or modal for existing users
49
+
50
+ ---
51
+
52
+ ## Phase 3: Pre-Launch Heat (2-1 Weeks Before Launch)
53
+
54
+ ### Week 2: Build Anticipation
55
+ - Start teaser campaign on social: "Something's coming" posts with countdowns
56
+ - Send first pre-launch email to list (tease the problem you're solving)
57
+ - Publish a "behind the scenes" or "making of" post to build narrative
58
+ - Activate early supporters: brief them on launch date, give them share templates
59
+ - Finalize all landing page copy with real testimonials and social proof
60
+
61
+ ### Week 1: Final Prep
62
+ - Send second pre-launch email (reveal what's launching, build excitement)
63
+ - Test all links, forms, checkout flows, and tracking end-to-end
64
+ - Brief support team on new feature/product FAQs
65
+ - Prepare real-time engagement plan for launch day (who monitors what, response templates)
66
+ - Queue all scheduled posts — double-check times and links
67
+ - Do a dry run: click through the entire user journey from ad/post → landing → signup → onboard
68
+
69
+ ---
70
+
71
+ ## Phase 4: Launch Week
72
+
73
+ ### Launch Day (Day 1)
74
+ - **Morning:** Publish blog post, activate landing page, send announcement email
75
+ - **Mid-morning:** Post across all social channels, submit to Product Hunt/directories
76
+ - **All day:** Monitor and respond to every comment, question, and mention in real-time
77
+ - **Evening:** Share early traction numbers with supporters, thank early adopters
78
+ - **Track:** Signups, page views, conversion rate, email opens, social engagement
79
+
80
+ ### Day 2-3: Sustain Momentum
81
+ - Share user reactions, testimonials, and early wins on social
82
+ - Send follow-up email to non-openers with different subject line
83
+ - Engage in communities where your audience lives (Reddit, Slack groups, Discord)
84
+ - Publish a "launch lessons" or "day 1 results" thread (transparency builds trust)
85
+
86
+ ### Day 4-5: Convert Stragglers
87
+ - Send "in case you missed it" email to remaining list
88
+ - Run retargeting ads to landing page visitors who didn't convert
89
+ - Post case study or detailed use case content
90
+ - Reach out personally to high-value prospects who showed interest
91
+
92
+ ### Day 6-7: Transition to Growth
93
+ - Compile launch metrics: total signups, conversion rates, CAC, channel performance
94
+ - Identify top-performing channels and double down
95
+ - Collect structured feedback from new users (what almost stopped you from signing up?)
96
+ - Begin transitioning from "launch" messaging to "ongoing" messaging
97
+
98
+ ---
99
+
100
+ ## Phase 5: Post-Launch (Weeks 1-4)
101
+
102
+ ### Week 1 Post-Launch: Optimize & Learn
103
+ - Review all channel metrics — kill underperforming, scale what works
104
+ - Run post-signup survey: "How did you hear about us?" and "What almost stopped you?"
105
+ - Fix any UX friction points flagged during launch
106
+ - Publish roundup: "What we learned launching X" (content that compounds)
107
+
108
+ ### Week 2-3 Post-Launch: Deepen Engagement
109
+ - Launch onboarding email sequence for new signups
110
+ - Publish comparison content: "X vs Y" pages targeting competitor keywords
111
+ - Create customer case study from best early adopter
112
+ - Start building content flywheel: repurpose launch content into blog posts, threads, short videos
113
+ - Set up referral program if product has network effects
114
+
115
+ ### Week 4 Post-Launch: Sustain & Compound
116
+ - Transition from launch mode to content marketing mode
117
+ - Establish regular publishing cadence (1-2x/week blog, daily social)
118
+ - Build evergreen content around launch keywords
119
+ - Plan next launch moment (feature update, milestone, partnership)
120
+
121
+ ---
122
+
123
+ ## Phase 6: Long-Term Growth (Month 2-3)
124
+
125
+ ### Compound the Launch
126
+ - Repurpose launch content: blog → newsletter → social threads → video
127
+ - Build SEO content cluster around your primary use case
128
+ - Develop referral loop: in-product sharing, affiliate program, word-of-mouth triggers
129
+ - Create "second launch" opportunities: major feature, pricing change, milestone (1K users)
130
+
131
+ ### Metrics to Track Monthly
132
+ | Metric | What It Tells You | Action If Low |
133
+ |---|---|---|
134
+ | Signup rate | Landing page effectiveness | Revise copy, test new angles |
135
+ | Activation rate | Onboarding quality | Simplify first-run experience |
136
+ | Day 7 retention | Product-market fit signal | Survey churned users, fix gaps |
137
+ | Referral rate | Organic growth potential | Add sharing prompts, incentivize |
138
+ | CAC by channel | Channel efficiency | Reallocate budget to winners |
139
+
140
+ ### Re-Launch Triggers
141
+ Not every product nails it the first time. Re-launch when:
142
+ - You've significantly improved the product based on feedback
143
+ - You've found a new positioning angle that resonates better
144
+ - You've identified a new audience segment
145
+ - You hit a milestone worth celebrating (100 customers, $10K MRR)
146
+ - A competitor stumbles and creates an opening
147
+
148
+ ---
149
+
150
+ ## Timeline Compression Guide
151
+
152
+ | Scenario | Compress To | What to Cut |
153
+ |---|---|---|
154
+ | Solo founder, simple product | 3-4 weeks total | Skip borrowed channels, minimize assets |
155
+ | Feature launch (existing product) | 2 weeks | Skip Phase 1, use existing channels |
156
+ | Urgent competitive response | 1 week | Blog + email + social only, skip PR |
157
+ | Funded team, major product | Keep 8 weeks | Don't compress — coordinate properly |
158
+
159
+ The timeline is a framework, not a cage. Ship when ready, not when the calendar says so.
@@ -0,0 +1,522 @@
1
+ ---
2
+ name: lead-email-craft
3
+ repo: https://github.com/clawdbot/clawd
4
+ depends-on:
5
+ - hook-generator
6
+ description: >
7
+ Generate intelligence-driven, tailor-made sales emails per lead. NOT a template system — each email
8
+ is crafted from CRM data, brand assets, and lead-specific research. Triggers on "craft email for",
9
+ "write email to lead", "draft outreach to", "sales email for", or any request to write a
10
+ per-lead email using brand voice + CRM intel. Also triggers on "lead email", "re-engage lead",
11
+ "follow up with lead", or "write to [lead name]".
12
+ ---
13
+
14
+ # lead-email-craft
15
+
16
+ Intelligence-driven per-lead email generation. Every email is custom-built from CRM intel, brand assets, and lead-specific research. No templates. No merge fields. No "just checking in."
17
+
18
+ ## When to Use This Skill
19
+
20
+ - Writing a sales email to a specific lead (not batch outreach)
21
+ - Re-engaging a stale/cold lead
22
+ - Following up with a lead who went quiet
23
+ - Responding to an inbound inquiry with substance
24
+
25
+ ## When NOT to Use
26
+
27
+ - Batch outbound sequences (use `b2b-cold-outreach` instead)
28
+ - Social media posts or marketing copy
29
+ - Internal communications
30
+
31
+ ---
32
+
33
+ ## Phase 1: CRM Intel (MANDATORY — do this FIRST, before any drafting)
34
+
35
+ Never draft an email without completing ALL intel steps. Classification determines everything downstream.
36
+
37
+ ### Step 1: Pull Bigin deal record
38
+
39
+ ```bash
40
+ npx mcporter call zoho-bigin.Bigin_searchRecords \
41
+ query_parameters='{"module_api_name":"Pipelines","search_criteria":"(Deal_Name:contains:LEAD_NAME)"}'
42
+ ```
43
+
44
+ Extract: Deal name, stage, amount, phone, email, description, source, assigned owner, created date, last activity.
45
+
46
+ ### Step 2: Cross-reference Zoho Books
47
+
48
+ A lead may have an estimate or invoice in Zoho Books with NO record in Bigin. If you only check Bigin, you risk treating a quoted/invoiced lead as "never contacted" or sending duplicate pricing.
49
+
50
+ ```bash
51
+ npx mcporter call zoho-books.Estimates_listEstimates \
52
+ query_parameters='{"search_text":"LEAD_NAME"}'
53
+ ```
54
+
55
+ ```bash
56
+ npx mcporter call zoho-books.Invoices_listInvoices \
57
+ query_parameters='{"search_text":"LEAD_NAME"}'
58
+ ```
59
+
60
+ If estimates/invoices exist: note what was quoted, amounts, dates, line items. Do NOT re-quote something already quoted.
61
+
62
+ ### Step 3: Check contact history
63
+
64
+ Look for existing notes, calls, or tasks on the Bigin contact:
65
+
66
+ ```bash
67
+ npx mcporter call zoho-bigin.Bigin_getRecords \
68
+ path_variables='{"module_api_name":"Contacts"}' \
69
+ query_parameters='{"search_criteria":"(Email:equals:LEAD_EMAIL)"}'
70
+ ```
71
+
72
+ Then pull notes for that contact ID.
73
+
74
+ ### Step 4: CLAIM VERIFICATION GATE — No Fabricated Claims of ANY Kind
75
+
76
+ **Awareness Check:** Before verifying claims, determine the lead's awareness level from CRM data. See `references/awareness-level-guide.md`. Cold leads are typically problem-aware or solution-aware — use the advertorial funnel approach (validate → cause → mechanism → product), never lead with a product pitch.
77
+
78
+ Before drafting any email, verify ALL factual claims against authoritative sources. This applies to ALL claim types, not just product specs.
79
+
80
+ **Four claim categories that require verification:**
81
+
82
+ | Category | Examples | Authoritative Sources |
83
+ |----------|----------|----------------------|
84
+ | **Product specs** | model, size, price, material, features, certifications | brand docs, OPS.md, evergreen.md, Zoho Books |
85
+ | **Prospect facts** | expansion plans, locations, current setup, timeline, business model | their website, LinkedIn, Bigin CRM notes, lead dossiers |
86
+ | **Social proof** | "X resorts use our tents", quantities, locations, client relationship status | Zoho Books invoices, verified social proof docs |
87
+ | **Relationship claims** | "expanding with you", "following our conversation", "as discussed" | Bigin CRM thread history, actual prior correspondence |
88
+
89
+ If ANY claim (spec, prospect fact, social proof, relationship) is NOT documented in a source, you MUST either:
90
+ 1. Research it from primary sources (their website, supplier docs, product pages)
91
+ 2. Write it as `[VERIFY: need source]` and flag it for Jairo's review
92
+
93
+ **NEVER fabricate claims.** This includes prospect business claims ("expanding with you this year"), invented locations ("your Vail property" when Vail isn't on their site), and performance metrics ("installs in days" when no installation data exists). Wrong claims in sales emails destroy trust permanently.
94
+
95
+ ### Step 5: Detect language (CRITICAL)
96
+
97
+ | Signal | Language |
98
+ |--------|----------|
99
+ | Phone starts with +52, +53, +54, +55, +56, +57, +58, +502-507, +591, +593, +595, +598, +34 | Spanish |
100
+ | Deal description contains Spanish ("cotizar", "precio", "catálogo", "modelos") | Spanish |
101
+ | WhatsApp-sourced lead | Likely Spanish |
102
+ | Inquiry text is in Spanish | Spanish |
103
+ | None of the above | English |
104
+
105
+ **NEVER mix English and Spanish in the same email.** If Spanish, write the ENTIRE email in Spanish. Use "Hola [Nombre]," NOT "Hi [Nombre]," — the greeting must match the language.
106
+
107
+ **Spanish rules:**
108
+ - "grado marino" NOT "grado marítimo"
109
+ - "acero galvanizado" NOT "aluminio" NOT "acero galvanizado en caliente"
110
+ - NO voseo (venís, tenés, sabés) — use standard conjugations
111
+ - "cotización" not "estimación"
112
+ - "lona" for canvas/fabric
113
+ - Currency in USD, written as "USD" not "$" alone to avoid confusion
114
+
115
+ ### Step 5: Classify lead warmth
116
+
117
+ | Classification | Signals | Research Depth |
118
+ |----------------|---------|---------------|
119
+ | **Warm** | Inbound inquiry, recent activity, deal has description with specifics | Freshness check only — verify their situation is still current |
120
+ | **Lukewarm** | Old inquiry, went quiet after seeing price, no response to follow-up | Moderate research — find one new angle/hook |
121
+ | **Cold** | Stale deal, no activity in 30+ days, no response to multiple touches | Deep research — website, social, news, competitor usage. Build a profile. |
122
+
123
+ ### Step 6: Extract their inquiry words
124
+
125
+ From the Bigin deal description, pull the lead's EXACT words. These are your strongest hook material.
126
+
127
+ Examples:
128
+ - "Sería posible me enviaran un catálogo, con modelos y precios" → catalog request in Spanish
129
+ - "What are the key differences between enchantents and gome-tribal?" → comparison question
130
+ - "Cotización de propuesta/precio" → saw price, went quiet
131
+
132
+ ### Step 7: Check for deal-breakers
133
+
134
+ - **Jairo handles directly:** Steve Conley, SylvanSport — do NOT outreach
135
+ - **ElevenLabs phone not set up:** Never include a phone number for the agent
136
+ - **Already quoted in Zoho Books:** Do NOT re-quote with different pricing
137
+ - **Lead asked a question that Kareen may have answered by phone:** Never assume an inquiry went unanswered
138
+
139
+ ---
140
+
141
+ ## Phase 2: Load Brand Arsenal (from files, NEVER hardcode)
142
+
143
+ Read these files at runtime. Product specs change. Pricing changes. The skill must load current data.
144
+
145
+ ### Required reads
146
+
147
+ ```bash
148
+ # Product lineup (models, sizes, pricing)
149
+ cat /Users/Shared/nomadixgear/business-knowledge/products/tent-specifications.md
150
+
151
+ # Material specs (what they're made of)
152
+ cat /Users/Shared/nomadixgear/business-knowledge/products/technical-specifications.md
153
+
154
+ # Voice guide (how to sound)
155
+ cat ./businesses/nomadixgear-sa/enchantents/brand-assets/voice-guide.md
156
+
157
+ # Brand overrides (banned terms, material rules, currency)
158
+ cat ./businesses/nomadixgear-sa/enchantents/brand-assets/brand-overrides.md
159
+
160
+ # ICP profiles (who we sell to)
161
+ cat ./businesses/nomadixgear-sa/enchantents/brand-assets/icp-profiles.md
162
+
163
+ # Competitive landscape (for comparison questions)
164
+ cat ./businesses/nomadixgear-sa/enchantents/brand-assets/competitive-landscape.md
165
+ ```
166
+
167
+ ### Critical material specs (verified 2026-05-10)
168
+
169
+ These are CORRECT. Previous docs said "hot-dip galvanized" — that was WRONG.
170
+
171
+ - **Structure:** Galvanized steel (NOT aluminum, NOT "hot-dip galvanized")
172
+ - **Frame connectors:** Galvanized-steel couplings (2.28mm, Schedule 30), marine-grade epoxy coating
173
+ - **Fabric:** Solution-dyed acrylic (Mehler/Masacril), 10+ year fade-proof, mold/mildew resistant
174
+ - **Waterproofing:** 360mm water column (never say "with a water column rating" without the number)
175
+ - **Warranty:** 5-year manufacturing
176
+
177
+ ### Product model links
178
+
179
+ Every model name MUST be a markdown link to its page:
180
+
181
+ ```
182
+ [Quatin](https://enchantents.com/quatin) — 6.2 m², $3K
183
+ [Pentagome](https://enchantents.com/pentagome) — 10.7 m², $4K
184
+ [Hexagome](https://enchantents.com/hexagome) — 16 m², $6K
185
+ [Qualan](https://enchantents.com/qualan) — 25 m², $7.5K
186
+ [Octagome](https://enchantents.com/octagome) — 30 m², $8.5K
187
+ [Decagome](https://enchantents.com/decagome) — 48 m², $12.5K
188
+ [Zoltan](https://enchantents.com/zoltan) — 50 m², $15K
189
+ [Kanton](https://enchantents.com/kanton) — 60 m², $17.5K
190
+ [Megagome](https://enchantents.com/megagome) — 70 m², $20K
191
+ [Quazar](https://enchantents.com/quazar) — 100 m², $25K
192
+ [Kapuma](https://enchantents.com/kapuma) — 108 m², $27.5K
193
+ ```
194
+
195
+ Max 2 models per email. Always: link + price + explain WHY it fits their situation.
196
+
197
+ ---
198
+
199
+ ## Phase 3: Research (depth depends on classification)
200
+
201
+ ### Warm leads — freshness check (5 min max)
202
+
203
+ - Verify their project is still active (website check, recent news)
204
+ - Note any changes since last contact
205
+ - Skip deep research
206
+
207
+ ### Lukewarm leads — moderate research
208
+
209
+ - Check their website/social for current projects
210
+ - Find ONE new angle since last touch
211
+ - If they went quiet after price: prepare value angle (ROI, comparison, social proof)
212
+
213
+ ### Cold leads — deep research
214
+
215
+ - Website analysis: what they do, current projects, expansion signals
216
+ - LinkedIn/social: recent posts, hiring, announcements
217
+ - News: funding, acquisitions, permits, expansion plans
218
+ - Competitor usage: are they using competitor products? Which ones? What are the gaps?
219
+ - Build a one-paragraph lead profile with verified facts ONLY
220
+
221
+ **Creepiness rule:** Research is for finding genuine business hooks. Never reference personal information. Never say "I saw your post about your daughter's graduation." If you wouldn't say it in a professional conversation, don't write it.
222
+
223
+ **Never fabricate pain points.** Use actual inquiry + verified facts only. Don't invent "challenges with X" unless you have evidence.
224
+
225
+ ---
226
+
227
+ ## Phase 4: Hook + Subject Line (80% of your effort here)
228
+
229
+ The subject line determines whether the email gets opened. Spend disproportionate time here.
230
+
231
+ ### Hook-generator integration
232
+
233
+ Spawn a hook-generator subagent for subject line and opening hook candidates:
234
+ ```
235
+ Load the hook-generator skill and execute the full Phase 1-6 pipeline with this context.
236
+ Context:
237
+ - WHO: <lead role/industry from CRM>
238
+ - WHAT/WHY: <value prop relevant to this lead's inquiry>
239
+ - Knife: <lead's specific pain point from their inquiry words>
240
+ - Platform: email
241
+ - Brand: enchantents
242
+ - Target Score: 85
243
+ Return ONLY this JSON array: [{"hook":"...","score":<0-100>,"pattern":"...","formula":"..."}]
244
+ ```
245
+ Select top-scored hooks that reference something specific to the lead (their property, their project, their question). Discard any generic hooks that could belong to any lead. If subagent fails, fall back to manual hook/subject construction per rules below.
246
+
247
+ ### Subject line rules
248
+
249
+ **MUST:**
250
+ - Reference something specific to THEM (their property, their project, their question)
251
+ - Create curiosity or an open loop
252
+ - Stay under 40 characters
253
+ - Match the email's language (Spanish subject for Spanish email)
254
+
255
+ **NEVER:**
256
+ - Generic subjects that could belong to any lead (if you could swap the name and it still works, it's too generic)
257
+ - "Following up" / "Checking in" / "Circling back"
258
+ - "For your project" without naming what the project IS
259
+ - Anything about Enchantents — always reference THEM
260
+ - Subject lines about "shade solutions" or "glamping infrastructure" — too corporate
261
+
262
+ **Good examples:**
263
+ - "Quick idea for Capella Kenting" (specific property)
264
+ - "Gome Tribal vs Qualan — key differences" (their exact question)
265
+ - "Cotización Hexagome para Oleovinsa" (specific product + their company, in Spanish)
266
+ - "Modular tents for Phantom Canyon" (specific property)
267
+
268
+ **Bad examples:**
269
+ - "Following up on your inquiry" (any lead)
270
+ - "Glamping solutions for your project" (what project?)
271
+ - "Enchantents product update" (about us, not them)
272
+
273
+ ### Hook construction
274
+
275
+ The hook is the first sentence. It must be:
276
+ 1. Specific to THEM (reference their property, their question, their situation)
277
+ 2. Factually verifiable (never hallucinate a connection point)
278
+ 3. One sentence
279
+
280
+ **Good hooks:**
281
+ - "Saw the groundbreaking news for Capella Kenting — 65 oceanfront villas on the Hengchun Peninsula is a serious project."
282
+ - "You asked about the key differences between our tents and Gome Tribal — here's a straight comparison."
283
+ - "Me contacto por su solicitud de catálogo con modelos y precios."
284
+
285
+ **Bad hooks:**
286
+ - "I hope this email finds you well"
287
+ - "I'm reaching out because"
288
+ - "I wanted to check if [company] is still eyeing glamping infrastructure"
289
+
290
+ ---
291
+
292
+ ## Phase 5: Write the Email
293
+
294
+ ### Structure (Kareen's actual pattern)
295
+
296
+ 1. **Hook** — one sentence, specific to them
297
+ 2. **Value** — what our product does for THEIR situation, with concrete numbers
298
+ 3. **Product specs + pricing** — specific model (linked), size, price, WHY it fits
299
+ 4. **ROI or proof point** — payback timeline, or reference to similar install
300
+ 5. **Ask** — one clear question, easy to answer on a phone
301
+
302
+ ### Voice rules (NON-NEGOTIABLE)
303
+
304
+ - **Warm and professional.** "Hi [Name]," not "Hey [Name]," not "Dear [Name]."
305
+ - **Lead with substance.** Hook is a specific observation, then immediately into how we can help.
306
+ - **Specifics everywhere.** Never "fast delivery" — say "7 business days from production to your site." Never "durable" — say "solution-dyed acrylic, 10+ year fade-proof, 360mm water column waterproofing."
307
+ - **Consultative tone.** Solve their problem, don't pitch a product. Frame from their perspective.
308
+ - **One clear ask.** Not "let's schedule a call." More like "Want me to send a sample?" or "Should I put together a quote for 3 Octagomes?"
309
+ - **4-8 sentences** in the body. Long enough for value, short enough to read on a phone.
310
+ - **Sign-off:** "Skye — Enchantents"
311
+
312
+ ### Never say
313
+
314
+ - "I hope this email finds you well"
315
+ - "Just checking in" / "Circling back" / "Following up on this"
316
+ - "Yo," "looks sick," "btw," "no joke," or any forced casual slang
317
+ - "I'm reaching out because"
318
+ - "Synergy," "solution" (as buzzword), "stakeholder," "optimize," "leverage"
319
+ - "I'd love to schedule a brief 15-minute discovery call"
320
+ - "Frame material isn't specified" (sounds like stupid AI filler)
321
+ - "With a water column rating" (without the number: 360mm)
322
+ - Anything that could belong to any lead (if you could swap names and it still works, rewrite)
323
+ - Competitor product names as recommendations (Twin Peaks, Gloyts, etc.) — terminable offense
324
+
325
+ ### Em dashes
326
+
327
+ NO em dashes (—) in email body text. Use periods or commas instead. Metadata headers in reasoning files can use dashes.
328
+
329
+ ### Kareen's quote pattern
330
+
331
+ When a lead saw pricing and went quiet, don't downsell. Use Kareen's pattern:
332
+ - Reaffirm the value at the existing price point
333
+ - Add context that makes the price make sense (ROI, durability, warranty)
334
+ - Offer a concrete next step that reduces friction
335
+
336
+ **Don't downsell without evidence they can't afford it.** Price is rarely the real objection — it's uncertainty about value.
337
+
338
+ ---
339
+
340
+ ## Phase 6: Reasoning Audit (MANDATORY)
341
+
342
+ Every email draft MUST have an accompanying reasoning file. No exceptions.
343
+
344
+ ### File naming
345
+
346
+ ```
347
+ enq-YYYYMMDD-lead-slug-v1.md # The email draft
348
+ enq-YYYYMMDD-lead-slug-v1-reasoning.md # The reasoning audit
349
+ ```
350
+
351
+ ### Reasoning file structure
352
+
353
+ ```markdown
354
+ # Reasoning Audit: [Draft ID]
355
+
356
+ ## Lead intelligence
357
+ - CRM source: Bigin deal [ID] / Zoho Books estimate [ID]
358
+ - Classification: [warm/lukewarm/cold] — [why]
359
+ - Language: [English/Spanish — how determined: phone code, inquiry language, country]
360
+ - Deal amount: $[amount]
361
+ - Last activity: [date]
362
+ - Their inquiry words: "[exact quote from deal description]"
363
+
364
+ ## Research findings
365
+ - [What you found, with source URLs]
366
+ - [Only verified facts, no assumptions]
367
+
368
+ ## Hook logic
369
+ - Why this hook: [reason]
370
+ - Verified fact it references: [what + source]
371
+
372
+ ## Subject line alternatives (at least 3)
373
+ 1. [subject] — [why it works]
374
+ 2. [subject] — [why it works]
375
+ 3. [subject] — [why it works]
376
+ → Selected: [#] because [reason]
377
+
378
+ ## Model selection
379
+ - [Model 1]: Why it fits — [reason tied to lead's situation]
380
+ - [Model 2]: Why it fits — [reason tied to lead's situation]
381
+
382
+ ## Language audit
383
+ - [ ] Entire email in one language (no mixing)
384
+ - [ ] Greeting matches language
385
+ - [ ] Spanish: no voseo, "grado marino" not "marítimo", "acero galvanizado" not "en caliente"
386
+
387
+ ## Fact check
388
+ - [ ] No hallucinated interaction history
389
+ - [ ] No unverified claims about installs/social proof
390
+ - [ ] No fabricated pain points
391
+ - [ ] No fabricated prospect claims (expansion plans, locations, current setup, timeline)
392
+ - [ ] No invented locations (verify every location reference against their website)
393
+ - [ ] No fabricated performance claims (installation time, foundation requirements, etc.)
394
+ - [ ] No assumption that a question went unanswered (Kareen may have called)
395
+ - [ ] Every factual claim in the email has a cited source (Zoho, OPS.md, their website, CRM)
396
+ - [ ] Material specs: "galvanized steel" NOT "hot-dip" NOT "aluminum"
397
+ - [ ] Water column: "360mm" specified, not vague
398
+ - [ ] No em dashes in email body
399
+
400
+ ## What I'm uncertain about
401
+ - [Anything you couldn't verify, flagged for human review]
402
+ ```
403
+
404
+ ---
405
+
406
+ ## Phase 7: Deliver to Human
407
+
408
+ **Never show approval buttons before the human has read the full email text.** Present both the email and the reasoning file, then ask for approval.
409
+
410
+ Deliver format:
411
+ 1. Subject line (with alternatives)
412
+ 2. Full email body
413
+ 3. Reasoning audit summary (or link to file)
414
+ 4. Ask: approve, revise, or kill
415
+
416
+ ---
417
+
418
+ ## Post-Send: Bigin Update (MANDATORY — immediately after every send)
419
+
420
+ **Every email sent MUST be logged in Bigin before moving to the next lead. No exceptions.**
421
+
422
+ ### Add note
423
+
424
+ ```bash
425
+ npx mcporter call zoho-bigin.Bigin_addNotesToSpecificRecord \
426
+ body='{"data":[{"Note_Title":"Email sent YYYY-MM-DD","Note_Content":"Subject: [subject]. Key products: [models]. Ask: [what you asked]. Status: awaiting reply."}]}' \
427
+ path_variables='{"module_api_name":"Pipelines","id":"DEAL_ID"}'
428
+ ```
429
+
430
+ ### Update deal stage
431
+
432
+ ```bash
433
+ npx mcporter call zoho-bigin.Bigin_updateRecords \
434
+ body='{"data":[{"id":"DEAL_ID","Stage":"Contacted"}]}' \
435
+ path_variables='{"module_api_name":"Pipelines"}'
436
+ ```
437
+
438
+ ### Email sending command
439
+
440
+ ```bash
441
+ npx zele mail send \
442
+ --account skye@enchantents.com \
443
+ --from "Skye at Enchantents <skye@enchantents.com>" \
444
+ --to LEAD_EMAIL \
445
+ --subject 'SUBJECT' \
446
+ --body 'BODY'
447
+ ```
448
+
449
+ ### Reply monitoring
450
+
451
+ ```bash
452
+ npx zele mail list --account skye@enchantents.com --limit 100
453
+ ```
454
+
455
+ Check for replies after 48 hours. If no reply in 7 days, plan re-engagement with NEW value (never "just checking in").
456
+
457
+ ---
458
+
459
+ ## Quick Reference: Anti-Patterns
460
+
461
+ | Anti-pattern | Why it fails | What to do instead |
462
+ |-------------|-------------|-------------------|
463
+ | "Following up on your inquiry" | Could be any lead | Reference their SPECIFIC inquiry words |
464
+ | "For your project" | What project? | Name the project/property |
465
+ | Em dashes in body | Not how Kareen writes | Use periods or commas |
466
+ | "Hot-dip galvanized" | Wrong per Jairo (2026-05-10) | "Galvanized steel" / "acero galvanizado" |
467
+ | "Frame material isn't specified" | AI filler | Know the spec or leave it unmentioned |
468
+ | "Water column rating" | Vague | "360mm water column" |
469
+ | Mixing English/Spanish | Confusing, unprofessional | Entire email in one language |
470
+ | "Hi [Name]" in Spanish email | Language mismatch | "Hola [Nombre]," |
471
+ | 3+ models in one email | Overwhelming | Max 2, with links and WHY |
472
+ | Model name without link | Tells them nothing | Always `[Model](https://enchantents.com/model)` |
473
+ | Downselling without evidence | Undermines value | Use Kareen's quote pattern |
474
+ | Fabricated pain points | Destroys trust | Use only verified facts |
475
+ | Phone number in signature | Not set up yet | Omit until ElevenLabs is configured |
476
+ | Recommending competitor products | Terminable | Never. Compare only when they ask. |
477
+
478
+ ---
479
+
480
+ ## STEP N: Copywriting Tournament (RECOMMENDED for subject lines + opening lines)
481
+
482
+ Generate 3-5 variants of the key subject lines + opening lines, then run them through 5 parallel judge personas to find the winner:
483
+
484
+ 1. Generate 3-5 variants (different angles, formulas, or approaches)
485
+ 2. Save each to: `content/tournaments/{slug}/variant-1.md` through `variant-N.md`
486
+ 3. Spawn 5 PARALLEL `build` subagents (one per judge persona):
487
+ - `~/.claude/skills/quality-gate/judge-personas/skeptic.md`
488
+ - `~/.claude/skills/quality-gate/judge-personas/scanner.md`
489
+ - `~/.claude/skills/quality-gate/judge-personas/buyer.md`
490
+ - `~/.claude/skills/quality-gate/judge-personas/expert.md`
491
+ - `~/.claude/skills/quality-gate/judge-personas/outsider.md`
492
+ - Each gets: tournament_dir, variant_count, mode=`cold-email`, original_prompt
493
+ 4. Collect all 5 JSON results, aggregate: sum weighted_avg per variant across judges
494
+ 5. Pick winner, apply recommended_edits, save as draft
495
+ 6. Winner enters standard quality-gate below
496
+
497
+ **When to use:** Every lead email — the Scanner judge filters anything that does not stop the scroll
498
+
499
+ ---
500
+
501
+ ## FINAL STEP: Quality Gate (MANDATORY — DO NOT SKIP)
502
+
503
+ Before presenting ANY draft to Jairo, run the quality gate:
504
+
505
+ 1. Save your complete draft to a file (e.g., `content/drafts/{slug}.md` or a temp file)
506
+ 2. Spawn a `build` subagent using the Task tool with the quality-gate prompt from `Skill: quality-gate`
507
+ 3. Pass these inputs to the subagent:
508
+ - **draft_path**: absolute path to the saved draft
509
+ - **mode**: `cold-email`
510
+ - **original_prompt**: the writing prompt that started this task
511
+ - **attempt**: current attempt number (start at 1)
512
+ 4. Parse the JSON result from the subagent
513
+ 5. If FAIL and attempt < 3:
514
+ - Rewrite the draft addressing the specific `rewrite_instructions` from the quality gate
515
+ - Save the new draft (overwrite or new file)
516
+ - Spawn another subagent with attempt + 1
517
+ 6. If FAIL and attempt = 3:
518
+ - Present to Jairo with all score reports attached
519
+ - Say: "Couldn't pass quality gate after 3 attempts. Here's what's wrong and what I tried to fix."
520
+ 7. If PASS:
521
+ - Present to Jairo as normal (do NOT show scores — they're internal)
522
+ 8. NEVER present a draft that hasn't passed quality gate (except after 3 failed attempts)