@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,121 @@
1
+ # Eval Guide
2
+
3
+ How to write eval criteria that actually improve your skills instead of giving you false confidence.
4
+
5
+ ---
6
+
7
+ ## the golden rule
8
+
9
+ Every eval must be a yes/no question. Not a scale. Not a vibe check. Binary.
10
+
11
+ Why: Scales compound variability. If you have 4 evals scored 1-7, your total score has massive variance across runs. Binary evals give you a reliable signal.
12
+
13
+ ---
14
+
15
+ ## good evals vs bad evals
16
+
17
+ ### Text/copy skills (newsletters, tweets, emails, landing pages)
18
+
19
+ **Bad evals:**
20
+ - "Is the writing good?" (too vague — what's "good"?)
21
+ - "Rate the engagement potential 1-10" (scale = unreliable)
22
+ - "Does it sound like a human?" (subjective, inconsistent scoring)
23
+
24
+ **Good evals:**
25
+ - "Does the output contain zero phrases from this banned list: [game-changer, here's the kicker, the best part, level up]?" (binary, specific)
26
+ - "Does the opening sentence reference a specific time, place, or sensory detail?" (binary, checkable)
27
+ - "Is the output between 150-400 words?" (binary, measurable)
28
+ - "Does it end with a specific CTA that tells the reader exactly what to do next?" (binary, structural)
29
+
30
+ ### Visual/design skills (diagrams, images, slides)
31
+
32
+ **Bad evals:**
33
+ - "Does it look professional?" (subjective)
34
+ - "Rate the visual quality 1-5" (scale)
35
+ - "Is the layout good?" (vague)
36
+
37
+ **Good evals:**
38
+ - "Is all text in the image legible with no truncated or overlapping words?" (binary, specific)
39
+ - "Does the color palette use only soft/pastel tones with no neon, bright red, or high-saturation colors?" (binary, checkable)
40
+ - "Is the layout linear — flowing either left-to-right or top-to-bottom with no scattered elements?" (binary, structural)
41
+ - "Is the image free of numbered steps, ordinals, or sequential numbering?" (binary, specific)
42
+
43
+ ### Code/technical skills (code generation, configs, scripts)
44
+
45
+ **Bad evals:**
46
+ - "Is the code clean?" (subjective)
47
+ - "Does it follow best practices?" (vague, which best practices?)
48
+
49
+ **Good evals:**
50
+ - "Does the code run without errors?" (binary, testable — actually execute it)
51
+ - "Does the output contain zero TODO or placeholder comments?" (binary, greppable)
52
+ - "Are all function and variable names descriptive (no single-letter names except loop counters)?" (binary, checkable)
53
+ - "Does the code include error handling for all external calls (API, file I/O, network)?" (binary, structural)
54
+
55
+ ### Document skills (proposals, reports, decks)
56
+
57
+ **Bad evals:**
58
+ - "Is it comprehensive?" (compared to what?)
59
+ - "Does it address the client's needs?" (too open-ended)
60
+
61
+ **Good evals:**
62
+ - "Does the document contain all required sections: [list them]?" (binary, structural)
63
+ - "Is every claim backed by a specific number, date, or source?" (binary, checkable)
64
+ - "Is the document under [X] pages/words?" (binary, measurable)
65
+ - "Does the executive summary fit in one paragraph of 3 sentences or fewer?" (binary, countable)
66
+
67
+ ---
68
+
69
+ ## common mistakes
70
+
71
+ ### 1. Too many evals
72
+ More than 6 evals and the skill starts gaming them — it optimizes for passing the test instead of producing good output. Like a student who memorizes answers without understanding the material.
73
+
74
+ **Fix:** Pick the 3-6 checks that matter most. If everything passes those, the output is probably good.
75
+
76
+ ### 2. Too narrow/rigid
77
+ "Must contain exactly 3 bullet points" or "Must use the word 'because' at least twice" — these create skills that technically pass but produce weird, stilted output.
78
+
79
+ **Fix:** Evals should check for qualities you care about, not arbitrary structural constraints.
80
+
81
+ ### 3. Overlapping evals
82
+ If eval 1 is "Is the text grammatically correct?" and eval 4 is "Are there any spelling errors?" — these overlap. A grammar fail often includes spelling. You're double-counting.
83
+
84
+ **Fix:** Each eval should test something distinct.
85
+
86
+ ### 4. Unmeasurable by an agent
87
+ "Would a human find this engaging?" — an agent can't reliably answer this. It'll say "yes" almost every time.
88
+
89
+ **Fix:** Translate subjective qualities into observable signals. "Engaging" might mean: "Does the first sentence contain a specific claim, story, or question (not a generic statement)?"
90
+
91
+ ---
92
+
93
+ ## writing your evals: the 3-question test
94
+
95
+ Before finalizing an eval, ask:
96
+
97
+ 1. **Could two different agents score the same output and agree?** If not, the eval is too subjective. Rewrite it.
98
+ 2. **Could a skill game this eval without actually improving?** If yes, the eval is too narrow. Broaden it.
99
+ 3. **Does this eval test something the user actually cares about?** If not, drop it. Every eval that doesn't matter dilutes the signal from evals that do.
100
+
101
+ ---
102
+
103
+ ## template
104
+
105
+ Copy this for each eval:
106
+
107
+ ```
108
+ EVAL [N]: [Short name]
109
+ Question: [Yes/no question]
110
+ Pass: [What "yes" looks like — one sentence, specific]
111
+ Fail: [What triggers "no" — one sentence, specific]
112
+ ```
113
+
114
+ Example:
115
+
116
+ ```
117
+ EVAL 1: Text legibility
118
+ Question: Is all text in the output fully legible with no truncated, overlapping, or cut-off words?
119
+ Pass: Every word is complete and readable without squinting or guessing
120
+ Fail: Any word is partially hidden, overlapping another element, or cut off at the edge
121
+ ```
@@ -0,0 +1,322 @@
1
+ ---
2
+ name: b2b-cold-outreach
3
+ description: "Build and execute a B2B cold outreach pipeline: scrape qualified leads, research decision makers, identify pain points, craft pain-point-specific..."
4
+ allowed-tools: []
5
+ ---
6
+
7
+ # /b2b-cold-outreach — B2B Cold Outreach Pipeline
8
+
9
+ Build and execute a complete B2B cold outreach pipeline from lead scraping to email sending
10
+ and CRM tracking. This skill orchestrates lead discovery, decision-maker research, pain-point
11
+ identification, email crafting, and delivery — all tailored to the brand's offering and target
12
+ market.
13
+
14
+ For brand memory protocol, see /cmo [rules/brand-memory.md](../cmo/rules/brand-memory.md).
15
+
16
+ ## On Activation
17
+
18
+ 1. Read `brand/` directory: load `voice-profile.md`, `audience.md`, `positioning.md`, `competitors.md`, `learnings.md` if present.
19
+ 2. Show what loaded:
20
+ ```
21
+ Brand context loaded:
22
+ ├── Voice Profile ✓/✗
23
+ ├── Audience ✓/✗
24
+ ├── Positioning ✓/✗
25
+ ├── Competitors ✓/✗
26
+ └── Learnings ✓/✗
27
+ ```
28
+ 3. If files missing, note suggestions at the end (e.g., run /brand-voice).
29
+ 4. Assess the user's request and determine if this is the right skill.
30
+ 5. Verify brand/ directory has creative-kit.md for visual context (optional but recommended).
31
+
32
+ ## Phase 0: Gate Check
33
+
34
+ Gate check. Verify this skill is the right one for the request:
35
+
36
+ | Signal | Action |
37
+ |--------|--------|
38
+ | User wants to build a B2B prospecting pipeline for a specific region/vertical | Proceed. |
39
+ | User needs general marketing advice or brand building | Skip. Run `/cmo` or `/brainstorm` first. |
40
+ | User only wants to send emails without research/personalization | Skip. Run `/typefully` or `/email-sequences` for generic blasts. |
41
+ | User has no defined offering or target audience | Suggest running `/brand-voice` and `/audience-research` first. |
42
+
43
+ ## Phase 1: Scrape Qualified Leads
44
+
45
+ Scrape Google Maps and other sources for qualified businesses in the target region/vertical:
46
+
47
+ 1. Define search terms based on brand positioning and target audience:
48
+ - Use `positioning.md` for vertical (e.g., "glamping structures", "eco-resorts")
49
+ - Use `audience.md` for geographic focus (e.g., "Yucatan", "Quintana Roo")
50
+ - Combine: `"[vertical] hotels [region]"`, `"[vertical] resort [region]"`, `"[vertical] lodge [region]"`
51
+
52
+ 2. Execute scraping:
53
+ - If Firecrawl credits available (>0): Use firecrawl to scrape Google Maps results
54
+ - If Firecrawl credits exhausted: Use manual research notes or previously scraped data
55
+ - Extract: business name, website, location, phone, amenities visible from photos
56
+
57
+ 3. Filter leads:
58
+ - Remove businesses that already have the competitor's offering (if known)
59
+ - Keep only those with websites (for further research)
60
+ - Tag each lead with: source, business_type, location, website_url
61
+
62
+ 4. Save raw leads to: `sources/exports/raw-leads.json`
63
+
64
+ ## Phase 2: Enrich and Research Leads
65
+
66
+ Enrich leads with contact information, decision makers, and pain points:
67
+
68
+ 1. Email enrichment:
69
+ - For each lead website, try to find:
70
+ - General contact: info@, reservations@, bookings@
71
+ - Decision maker emails: look for director, owner, GM, managing director on team pages
72
+ - LinkedIn profiles of key decision makers
73
+ - Save enriched leads to: `sources/exports/enriched-leads.json`
74
+
75
+ 2. Decision-maker research (Playwriter/manual):
76
+ - For top prospects (HOT/WARM tiers), research:
77
+ - Names and titles of owners, GMs, directors
78
+ - Recent news, expansions, renovations
79
+ - Social media activity (LinkedIn, Instagram)
80
+ - Pain points visible from public info (occupancy complaints, expansion desires)
81
+
82
+ 3. Pain point identification:
83
+ - For each lead, identify 1-3 specific pain points based on:
84
+ - Website content (what they emphasize/complain about)
85
+ - Reviews (common guest complaints)
86
+ - Visible gaps (missing amenities, expansion potential)
87
+ - Local market trends (new competitors, changing guest preferences)
88
+ - Tag each lead with: `pain_points` array, `intent_signals`, `amenity_gaps`
89
+
90
+ 4. Tier leads based on outreach readiness:
91
+ - HOT: Has email + decision maker name + clear pain point + no competitor offering
92
+ - WARM: Has email + some research OR pain point inferred
93
+ - COLD: Missing email or minimal data
94
+ - EXISTING: Already has similar offering (partner/competitor)
95
+
96
+ ## Phase 3: Craft Pain-Point-Specific Emails
97
+
98
+ Craft emails that speak directly to each prospect's pain points in their language:
99
+
100
+ 1. For each HOT/WARM lead with email:
101
+ - Select primary pain point from research (must be specific and verifiable)
102
+ - Craft subject line UNDER 40 characters that touches THAT specific pain point
103
+ - Never use generic product descriptions in subject
104
+ - Never use em dashes (—) in ANY language (AI slop indicator)
105
+ - Use Mexican Spanish (tú not vos) for Mexico prospects
106
+ - Subject must pass: "If I saw this on my phone, would I open it?"
107
+
108
+ 2. **CRITICAL: Verify ALL client data before using it.** Never assume or invent:
109
+ - Every client name, model, quantity, and location used in emails MUST be verified from Zoho Books
110
+ - Use `mcporter call 'zoho-bigin.ZohoBooks_list_invoices'` with `customer_name` filter
111
+ - Use `mcporter call 'zoho-bigin.ZohoBooks_get_invoice'` with `path_variables` for line items
112
+ - Use `mcporter call 'zoho-bigin.ZohoBooks_list_items'` for product catalog
113
+ - The invoice `line_items[].description` contains product model info (name field is often empty)
114
+ - Client info in the email must match WHAT ZOHO BOOKS SAYS - not what you assume
115
+ - **CONSEQUENCE OF LYING**: If you put wrong info about a client (wrong model, wrong units), it destroys Jairo's credibility with the prospect. This is non-negotiable.
116
+
117
+ 3. **CRITICAL: Describe the product in the prospect's language.**
118
+ - For Mexico hoteliers: "carpa de glamping de lujo" + specific materials (lona acrílica 300gr, acero galvanizado, hilo Tenara, 5 años garantía)
119
+ - NOT vague corporate language like "estructuras modulares de alta gama" - that means nothing to a hotelier
120
+ - NOT what the product is NOT (no camping, no safari, no domo) - only what it IS
121
+ - Mention specific model names: Hexagome, Octagome, Decagome, Pentagome, Tatun, Dakini
122
+ - The "por qué nosotros" = local Mexican manufacturer, materials premium, modular system, proven in tropical climate (Habitas, LJS Chichikan, Destino Mío)
123
+
124
+ 4. Key constraints from Jairo's rules:
125
+ - Subject lines under 40 chars, mobile-first
126
+ - Subject MUST touch specific pain point, not generic product info
127
+ - NEVER use em dashes (—) in ANY language
128
+ - NEVER use voseo (venís, tenés, sabés). Use Mexican Spanish.
129
+ - NEVER describe what product is NOT — only what it IS
130
+ - "Why us" = local Mexico manufacturer, modular village system, proven in tropical climate
131
+ - Must reach decision makers (owner/GM/director), NOT info@/reservations@
132
+ - Body must sound human-typed, not marketing copy
133
+ - Hook must be specific (numbers, competitor names), not generic
134
+ - **STOP writing full emails until subject lines are approved first**
135
+
136
+ 4. Subject line approval gate - CRITICAL WORKFLOW:
137
+ - **Write ONLY subject lines first** - 3-4 options per prospect, under 40 chars, pain-point-specific
138
+ - **Present subject lines for user approval** - do NOT write a single body line until approved
139
+ - **Rationale**: If the subject doesn't make them open, nothing else matters. Writing the body first is wasted work.
140
+ - After approval: write body, present for approval again
141
+ - Only after body approval: send + push to CRM
142
+
143
+ 5. Save email drafts to: `outreach/drafts/` as individual files or sequence
144
+
145
+ ## Phase 3.5: Social Proof — Use Cached Evergreen Data First
146
+
147
+ **Before writing any client claim in an email, use this order of sources:**
148
+
149
+ 1. **Check cached social proof first (`brand-assets/social-proof.md` or evergreen social proof section)**
150
+ - The evergreen already stores verified social proof (client names, verified relationships, testimonial claims)
151
+ - This data was verified from Zoho Books at the time it was written — no need to re-verify every run
152
+ - Load it once, use it across all emails in this batch
153
+
154
+ 2. **Only hit Zoho Books for NEW verification needs** — situations where:
155
+ - A new client name is being used that isn't in the evergreen yet
156
+ - You need specific model/quantity info that the evergreen doesn't have
157
+ - The evergreen social proof is stale (more than 30 days since last update)
158
+
159
+ 3. **If Zoho Books access is needed:**
160
+ ```
161
+ mcporter call 'zoho-bigin.ZohoBooks_list_invoices' \
162
+ --config /path/to/mcporter.json \
163
+ 'query_params={"organization_id":"2738724","per_page":"200","customer_name":"Client Name"}'
164
+ ```
165
+ Invoice line items: `name` is often empty — read `description` instead.
166
+
167
+ 4. **After Zoho Books verification, update the evergreen's social proof section** so the next run doesn't need to re-verify.
168
+
169
+ 5. **NEVER** put a client claim in an email that isn't supported by either the evergreen or Zoho Books.
170
+ - Wrong: "Instalamos Hexagome y Pentagome con Habitas" (if Zoho shows replacement panels)
171
+ - Right: "Trabajamos con Habitas" (general, verified relationship)
172
+ - Right: "Destino Mío nos compró terraza para Hexagome en Tulum este año" (specific, verified from INV-1092 line items)
173
+
174
+ ## Phase 4: Send Emails and Track in CRM
175
+
176
+ Send approved emails and track engagement:
177
+
178
+ 1. SMTP Setup:
179
+ - Use credentials from `.env`: SKYE_SMTP_HOST, SKYE_SMTP_PORT, SKYE_SMTP_USER, SKYE_SMTP_PASS
180
+ - Verify connection before sending
181
+ - From: skye@enchantents.com (or brand equivalent)
182
+ - Rate limit: 5 seconds between sends
183
+
184
+ 2. Sending Process:
185
+ - For each approved email draft:
186
+ - Parse subject and body
187
+ - Send via SMTP (nodemailer or equivalent)
188
+ - Log result to: `outreach/sent/tracking.csv` with columns:
189
+ timestamp, lead_email, business_name, template, sequence_step, smtp_status, lang
190
+
191
+ 3. CRM Integration (Bigin/Zoho):
192
+ - Only send leads with verified emails to CRM
193
+ - For each sent lead:
194
+ - Create Contact in Bigin with: First_Name, Last_Name, Email, Phone, Company, Description, Source
195
+ - Create Deal linked to Contact with: Deal_Name, Stage (Primer contacto), Pipeline, Description
196
+ - Track sync in: `sources/exports/bigin-sync.json` to avoid duplicates
197
+ - Use mcporter for Zoho access: `npx mcporter@latest call 'zoho-bigin.ZohoBooks_list_invoices' --config ./config/mcporter.json`
198
+
199
+ ## Phase 5: Review and Optimize
200
+
201
+ Review results and suggest next steps:
202
+
203
+ 1. Check sent emails tracking for:
204
+ - Delivery rates, opens (if tracking enabled)
205
+ - Replies and engagement
206
+ - Patterns in what subject lines/worked
207
+
208
+ 2. Update learnings.md with:
209
+ - What subject lines got opens/replies
210
+ - Which pain points resonated
211
+ - Which decision makers responded
212
+ - Any changes to ideal customer profile
213
+
214
+ 3. Suggest next actions:
215
+ - Run skill again with refined search terms
216
+ - Create follow-up sequence for non-responders
217
+ - Route interested leads to sales nurture
218
+ - Run /deepen-plan if strategy needs validation
219
+
220
+ ## Worked Example
221
+
222
+ **User request:** 'Build a B2B cold outreach pipeline for Enchantents glamping structures targeting hotels in Yucatan and Quintana Roo, Mexico'
223
+
224
+ **Execution:**
225
+ 1. **Gate Check**: Confirmed - user wants B2B pipeline for specific region/vertical
226
+ 2. **On Activation**: Loads brand/ files (finds evergreen.md showing two segments: A=resort developers, B=smaller operators)
227
+ 3. **Phase 1 - Scrape**:
228
+ - Search terms: "glamping hotels Yucatan", "eco resorts Quintana Roo", "sustainable lodge Riviera Maya"
229
+ - Scrapes 28 qualified prospects from Google Maps
230
+ - Saves to sources/exports/raw-leads.json
231
+ 4. **Phase 2 - Enrich**:
232
+ - Finds emails for 19 prospects
233
+ - Researches decision makers via Playwriter/LinkedIn:
234
+ - Lourdes Vila (Cabañas Tulum) - Commercial Director
235
+ - Alejandra Abella (Namron Hospitality) - Managing Director
236
+ - Roth (AZULIK) - Founder
237
+ - Daniel Aguayo (Ahau Collection) - Owner
238
+ - LUV Tulum team - Ownership group
239
+ - Colibri Boutique Hotels - Manages La Zebra
240
+ - Identifies pain points:
241
+ - Namron: Only 22 suites at La Valise, wants to expand without new construction
242
+ - Cabañas Tulum: Wants extra occupancy without construction disruption
243
+ - AZULIK: Expanding to new territories but wants zero concrete impact
244
+ - Ahau: Has unused jungle land generating $0
245
+ - LUV: 5 acres with 3 cenotes but zero installations
246
+ - Colibri: 20 years in Tulum but has undeveloped land
247
+ - Tiers 6 as HOT (decision maker + email + clear gap)
248
+ 5. **Phase 3 - Craft Emails**:
249
+ - Writes 6 subject lines focused on SPECIFIC pain points:
250
+ - Alejandra: "La Valise solo tiene 22 suites" (22 suites = specific, verifiable)
251
+ - Lourdes: "Ocupación extra en 3 semanas" (specific timeframe)
252
+ - Roth: "Roth, zero concreto" (matches their brand language)
253
+ - Daniel: "Ahau tiene tierra desperdiciada" (specific asset)
254
+ - LUV: "5 acres vacíos generando $0" (specific dollar amount)
255
+ - Colibri: "Colibri tiene terreno sin monetizar" (speaks to their asset mindset)
256
+ - Waits for subject line approval (per Jairo's rule) ✓
257
+ - After approval, writes first draft of bodies but makes MISTAKES:
258
+ - ❌ Uses "estructuras modulares de alta gama" (vague, means nothing)
259
+ - ❌ Says "Hexagome y Pentagome con Habitas" **(UNVERIFIED - invented, not in Zoho Books)**
260
+ - ❌ Says "40+ unidades en LJS Chichikan" **(UNVERIFIED - assumed quantity)**
261
+ - Jairo catches these mistakes and corrects:
262
+ - ✅ Describe product as: "carpa de glamping de lujo" + materials (lona acrílica 300gr, acero galvanizado, hilo Tenara, 5 años garantía)
263
+ - ✅ Verify ALL claims in Zoho Books before writing:
264
+ - Habitas invoices show replacement panels for Bacalar structures - say "trabajamos con Habitas en Bacalar" (general)
265
+ - LJS Chichikan has 14 invoices with Decagome + Tatun - say "14 facturas con LJS Chichikan" (verified)
266
+ - Destino Mío bought Hexagome terrace kit in 2026 - say "Destino Mío nos compró terraza para Hexagome en Tulum este año" (specific, verified)
267
+ - ✅ Product models = specific: Hexagome, Octagome, Decagome, Pentagome, Tatun, Dakini (from products.md / Zoho Books items)
268
+ - Learns: never write data you haven't verified from Zoho Books
269
+ - Learns: describe product in prospect's language, not corporate-speak
270
+ - Corrects all 6 emails with verified data before presenting for approval
271
+ 6. **Phase 4 - Send and Track**:
272
+ - Sends 6 emails via SMTP from skye@enchantents.com
273
+ - Pushes 6 leads to Bigin CRM as Contacts + Deals in "Proceso de venta" → "Primer contacto"
274
+ - Logs all to tracking.csv and bigin-sync.json
275
+ 7. **Phase 5 - Review**:
276
+ - Suggests waiting 3-4 days for replies
277
+ - Recommends creating 3-touch follow-up sequence
278
+ - Notes to update learnings.md with which subject lines performed best
279
+
280
+ ---
281
+ ## Chain Offers
282
+
283
+ - `/deepen-plan` — if you need to validate positioning or messaging with deeper research
284
+ - `/email-sequences` — to create automated follow-up sequences for non-responders
285
+ - `/typefully` — to schedule LinkedIn outreach for prospects without emails
286
+ - `/page-cro` — if you create a landing page for these prospects to visit
287
+
288
+ ---
289
+ ## Anti-Patterns
290
+
291
+ | Anti-pattern | Instead |
292
+ |-------------|---------|
293
+ | Using generic subject lines like "Glamping opportunity for [Business]" | Subject lines must touch SPECIFIC, verifiable pain point (e.g., "La Valise solo tiene 22 suites") |
294
+ | Sending to info@/reservations@ without targeting decision maker | Must reach actual decision makers (owner/GM/director) - Jairo called this lazy |
295
+ | Describing what product is NOT ("no son carpas safari") | Only describe what it IS (carpa de glamping de lujo, lona acrílica 300gr, acero galvanizado, 5 años garantía) |
296
+ | Using em dashes (—) in any language | No em dashes in ANY language. Use a period, comma, or colon instead. Applies to English copy too. |
297
+ | Writing full emails before subject line approval | STOP - if they don't open, nothing else matters. Get subjects approved first. |
298
+ | **Inventing client data (models, quantities, locations)** | **ALWAYS verify from Zoho Books via mcporter first. "Trabajamos con Habitas" is OK. "Instalamos Hexagome y Pentagome con Habitas" is a LIE unless Zoho Books confirms it.** |
299
+ | Using vague product descriptions like "estructuras modulares de alta gama" | Say what the product IS: "carpa de glamping de lujo con lona acrílica 300gr, acero galvanizado, hilo Tenara" |
300
+ | Using generic proof like "we're the best" | Use specific local proof: "Trabajamos con Habitas en Bacalar, Destino Mío en Tulum, LJS Chichikan en Valladolid (14 facturas)" |
301
+ | Forgetting to track in CRM | Every sent email must create a Contact + Deal in Bigin for traceability |
302
+ | Sending blasts without personalization | Each email must reference the specific pain point discovered in research |
303
+ | Using English for Mexico prospects | Match prospect's language - use Mexican Spanish for Mexico businesses |
304
+ | Making product description the hero | Product is the solution to THEIR pain point - lead with THEIR problem |
305
+ | **Trying to find data via raw web search instead of Zoho Books** | Client data lives in Zoho Books, accessed via mcporter. Don't guess, don't web search - use the CRM. |
306
+ | **Writing what you think is true instead of what Zoho Books says** | If Zoho Books shows "replacement panels" not "Hexagome units", then say "replacement panels" or keep it general. Never upgrade the truth. |
307
+ | **Over-describing social proof** | Keep it general when you don't have specifics. "Trabajamos con Habitas" is enough. You don't need to say models or quantities if you're not sure. |
308
+ | **Hitting Zoho Books on every run for cached data** | Use the evergreen's social proof section first. It was verified when written. Only hit Zoho Books for NEW verification needs not in the evergreen. Update evergreen after verifying new data. |
309
+
310
+ ---
311
+ ## YAGNI Principles
312
+
313
+ - Don't add LinkedIn automation unless user explicitly asks for multi-channel
314
+ - Don't create complex email sequences (>3 touches) until first sequence validated
315
+ - Don't build custom tracking beyond SMTP logs + CRM until volume justifies it
316
+ - Don't create separate skills for each vertical - this skill is brand-agnostic
317
+ - Don't over-engineer the CRM sync - simple JSON file is fine for <100 leads/month
318
+ - Don't add email open tracking unless SMTP service supports it reliably
319
+ - Don't create HTML-rich emails - plain text sounds more human (Jairo's preference)
320
+ - Don't send more than 20-30 emails/day per sender to avoid spam flags
321
+ - Don't research beyond what's publicly available (no paid databases unless budgeted)
322
+ - Don't try to close in first email - goal is to start conversation, not sell
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: birdclaw
3
+ description: Use for X/Twitter archive search, mentions triage, likes/bookmarks sync, and reply workflows. Local SQLite-backed Twitter workspace.
4
+ ---
5
+
6
+ # Birdclaw
7
+
8
+ Local-first Twitter workspace — archive import, live sync, mentions triage, reply flows. Uses `bird` CLI for live transport (no `xurl` needed).
9
+
10
+ ## Setup
11
+
12
+ - Repo: `~/Projects/birdclaw`
13
+ - DB: `~/.birdclaw/birdclaw.sqlite`
14
+ - Config: `~/.birdclaw/config.json` (bird transport via authed wrapper)
15
+ - Auth wrapper: `~/.local/bin/bird-authed` (loads `~/.config/bird/auth.env`)
16
+
17
+ All CLI commands run from `~/Projects/birdclaw`:
18
+ ```bash
19
+ cd ~/Projects/birdclaw && pnpm cli <command>
20
+ ```
21
+
22
+ ## Health Check
23
+
24
+ ```bash
25
+ cd ~/Projects/birdclaw && pnpm cli db stats --json
26
+ ```
27
+
28
+ ## Key Commands
29
+
30
+ ### Mentions (for agents)
31
+ ```bash
32
+ # All recent mentions
33
+ cd ~/Projects/birdclaw && pnpm cli mentions export --mode bird --limit 20 --json
34
+
35
+ # Unreplied only (triage queue)
36
+ cd ~/Projects/birdclaw && pnpm cli mentions export --unreplied --mode bird --limit 10 --json
37
+
38
+ # Filtered mentions
39
+ cd ~/Projects/birdclaw && pnpm cli mentions export "agent" --mode bird --limit 10 --json
40
+ ```
41
+
42
+ ### Sync Likes & Bookmarks
43
+ ```bash
44
+ cd ~/Projects/birdclaw && pnpm cli sync likes --mode bird --limit 20 --json
45
+ cd ~/Projects/birdclaw && pnpm cli sync bookmarks --mode bird --limit 20 --json
46
+ ```
47
+
48
+ ### Search (requires archived/imported data)
49
+ ```bash
50
+ cd ~/Projects/birdclaw && pnpm cli --json search tweets "query" --limit 20
51
+ cd ~/Projects/birdclaw && pnpm cli --json search tweets --since 2025-01-01 --until 2026-01-01 --originals-only --hide-low-quality --limit 20000
52
+ ```
53
+
54
+ ### DMs
55
+ ```bash
56
+ cd ~/Projects/birdclaw && pnpm cli dms --help
57
+ ```
58
+
59
+ ### Compose (tweet/reply)
60
+ ```bash
61
+ cd ~/Projects/birdclaw && pnpm cli compose --help
62
+ ```
63
+
64
+ ## Picking the Right Approach
65
+
66
+ - **Mentions triage for agents** → `mentions export --unreplied --mode bird`
67
+ - **Single tweet lookup** → `search tweets "query"`
68
+ - **Year vibe summary** → `search tweets --since YYYY-01-01 --until (YYYY+1)-01-01 --originals-only --hide-low-quality --limit 20000`
69
+ - **Multi-year arc** → Run per year, do NOT shortcut with top-N like_count
70
+
71
+ ## Filters
72
+
73
+ - `--originals-only` — excludes replies, keeps authored posts only
74
+ - `--hide-low-quality` — removes noise (pure RTs, tiny posts, low-signal link captions)
75
+ - "low-like" = `like_count < 50`
76
+
77
+ ## Notes
78
+
79
+ - Live reads use `bird` via `~/.local/bin/bird-authed` wrapper
80
+ - No Twitter archive imported yet — search only works on live-synced data (likes, bookmarks, mentions)
81
+ - To import archive: place Twitter zip in Downloads, then `pnpm cli import`
82
+ - WIP status — expect some rough edges