@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,510 @@
1
+ ---
2
+ name: seo-content
3
+ description: >
4
+ Create high-quality, SEO-optimized content that ranks AND reads like a human
5
+ wrote it. Performs live SERP gap analysis, writes with anti-AI detection
6
+ techniques, and adds schema markup. Use when someone needs a blog post,
7
+ article, SEO page, or wants content that drives search traffic. Triggers on
8
+ 'SEO content', 'blog post', 'article', 'SERP', 'programmatic SEO', 'content
9
+ at scale', 'write a post about', 'rank for', or 'search-optimized content'.
10
+ Two modes: single article or programmatic SEO at scale.
11
+ category: copy-content
12
+ tier: must-have
13
+ depends-on:
14
+ - hook-generator
15
+ - sharp-thesis-validator
16
+ reads:
17
+ - brand/voice-profile.md
18
+ - brand/keyword-plan.md
19
+ - brand/audience.md
20
+ writes:
21
+ - assets.md
22
+ triggers:
23
+ - blog post
24
+ - SEO article
25
+ - long-form content
26
+ - rankable content
27
+ - programmatic SEO
28
+ - pages at scale
29
+ - write SEO content for X
30
+ - create article for keyword
31
+ - refresh article
32
+ - update blog post
33
+ ---
34
+
35
+ # /seo-content -- Publication-Ready SEO Content
36
+
37
+ SEO content has a reputation problem. Most of it is low-value -- keyword-stuffed,
38
+ AI-sounding, says nothing new. It ranks for a month, then dies.
39
+
40
+ This skill creates content that ranks AND builds trust. Content that sounds like
41
+ an expert sharing what they know, not a content mill churning out filler.
42
+
43
+ The goal: Would someone bookmark this? Would they share it? Would they come back?
44
+
45
+ If yes, Google will reward it. If no, no amount of optimization saves it.
46
+
47
+ ---
48
+
49
+ ## Phase 0: Awareness Gate (MANDATORY)
50
+
51
+ Before any copy work, determine the target audience's awareness level:
52
+
53
+ 1. **Can you determine awareness level from the prompt/context?**
54
+ - For SEO: keyword intent maps to awareness level
55
+ - Informational ("how to fix X") → Problem-aware
56
+ - Comparative ("X vs Y") → Solution-aware
57
+ - Branded ("your product") → Product-aware
58
+ - Transactional ("buy X") → Most-aware
59
+ - For social: content topic + audience → awareness level
60
+ - For email: subscriber stage → awareness level
61
+
62
+ 2. **If YES** → Proceed with awareness-matched strategy
63
+ - Load `references/awareness-level-guide.md`
64
+ - Select copy framework based on awareness level
65
+
66
+ 3. **If NO** → ASK THE USER before proceeding:
67
+ "What awareness level is your target audience at?"
68
+ - Unaware — doesn't know they have a problem
69
+ - Problem-aware — knows the problem, doesn't know solutions exist
70
+ - Solution-aware — knows solutions exist, doesn't know your product
71
+ - Product-aware — knows your product, not convinced it's right
72
+ - Most-aware — ready to buy, just needs the offer
73
+
74
+ ---
75
+
76
+ ## Phase 1: Sharp-Thesis Validation (MANDATORY)
77
+
78
+ Before writing any SEO content, validate the topic/keyword passes the Sharp-Thesis Test:
79
+
80
+ ```
81
+ sharp-thesis-validator --mode long-form --brand {brand} "{proposed title or keyword-derived topic}"
82
+ ```
83
+
84
+ **On PASS:** Proceed to On Activation / Full Creation Mode.
85
+ **On FAIL:** STOP. Return reframing suggestions. Do not write content for topics that can't pass the thesis test — they will rank poorly and fail conversion.
86
+
87
+ ---
88
+
89
+ ## On Activation
90
+
91
+ 1. Read `brand/` directory: load `voice-profile.md`, `keyword-plan.md`,
92
+ `audience.md`, `positioning.md`, `competitors.md`, `learnings.md` if present.
93
+ 2. Show what loaded:
94
+ ```
95
+ Brand context loaded:
96
+ ├── Voice Profile ✓ "{tone summary}"
97
+ ├── Keyword Plan ✓ {N} pillars, {N} briefs
98
+ ├── Audience ✓ "{audience summary}"
99
+ ├── Positioning ✓ "{primary angle}"
100
+ ├── Competitors ✓ {N} competitors profiled
101
+ └── Learnings ✓ {N} entries
102
+ ```
103
+ 3. If files missing, note suggestions at the end (e.g., run /brand-voice).
104
+ 4. Check for existing content file at `./campaigns/content/{keyword-slug}.md`.
105
+ - **If exists** → Content Refresh Mode (see below).
106
+ - **If not** → Full Creation Mode.
107
+ 5. **Preservation guard**: If re-editing an existing article, FIRST read the current version. Identify what works (structure, voice, specific phrases, data points). Changes must IMPROVE on the existing content, not replace it. Show a diff of what changed and why. Never overwrite working content without justification. If the existing article is good, say so and suggest targeted improvements instead of a full rewrite.
108
+ 6. Determine mode: **Single article** or **Scale mode** (programmatic SEO).
109
+ 7. Read `brand/landscape.md` if it exists — check the Claims Blacklist before making ecosystem or competitive claims. If stale (>14 days) or missing, warn that market claims may be outdated.
110
+
111
+ ## Prioritization (defer to seo-machine's publishing order)
112
+
113
+ When the user asks "what should I write next?" — the answer follows seo-machine's **conversion-intent-first publishing order**, not "whatever has highest volume":
114
+
115
+ | Order | Pattern | Why |
116
+ |---|---|---|
117
+ | 1 | `/alternatives/[competitor]` | Highest conversion intent — reader is already in market |
118
+ | 2 | `/compare/[a]-vs-[b]` | Be the third option in any two-vendor comparison |
119
+ | 3 | `/for/[use-case]` and `/for/[audience]` | JTBD without competitor name — high TP/volume ratio |
120
+ | 4 | Long-form playbooks (this skill's wheelhouse) | Authority + AI-citation + inbound link draw |
121
+ | 5 | Generic blog posts | Lowest conversion — defer until ~10 indexed pages exist |
122
+
123
+ If `docs/seo-machine.md` exists at the project root, route the user to that skill's Resume mode instead of writing standalone articles — the roadmap there already encodes the priority order. seo-content is the right tool for **single articles** and **playbook-pattern long-form**; alternatives/compare/use-case pages belong in seo-machine's programmatic sprint.
124
+
125
+ ---
126
+
127
+ ## Brand Memory
128
+
129
+ ### Reads (if they exist)
130
+
131
+ | File | What it provides | How it shapes output |
132
+ |------|-----------------|---------------------|
133
+ | voice-profile.md | Tone, personality, vocabulary, rhythm | Directly shapes writing style |
134
+ | keyword-plan.md | Prioritized keywords, content briefs, SERP data | Target keyword, cluster, intent, content type |
135
+ | audience.md | Buyer profiles, sophistication level, pain points | How technical to write, what examples to use |
136
+ | positioning.md | Market angles, differentiators | Unique angle for the piece |
137
+ | competitors.md | Named competitors, their positioning | What angle competitors take |
138
+ | learnings.md | Past performance data | What content approaches worked before |
139
+
140
+ ### Writes
141
+
142
+ | File | What it contains |
143
+ |------|-----------------|
144
+ | ./campaigns/content/{keyword-slug}.md | Publication-ready article with frontmatter |
145
+ | ./brand/assets.md | Appends entry for the created content piece |
146
+ | ./brand/learnings.md | Appends findings after feedback collection |
147
+
148
+ ---
149
+
150
+ ## Required Inputs
151
+
152
+ 1. **Target keyword** -- Primary keyword to rank for
153
+ 2. **Keyword cluster** -- Related keywords to include naturally
154
+ 3. **Search intent** -- Informational / Commercial / Transactional
155
+ 4. **Content type** -- Pillar guide / How-to / Comparison / Listicle / etc.
156
+ 5. **Brand voice profile** -- (from voice-profile.md, if available)
157
+ 6. **Unique angle** -- What perspective makes this different?
158
+
159
+ Pre-fill from brand memory when available. Ask the user only for what's missing.
160
+
161
+ ---
162
+
163
+ ## The Workflow (Single Article)
164
+
165
+ ```
166
+ RESEARCH --> BRIEF --> OUTLINE --> DRAFT --> HUMANIZE --> OPTIMIZE --> SCHEMA --> REVIEW --> SAVE
167
+ ```
168
+
169
+ ### Phase 1: Research (SERP Analysis)
170
+
171
+ Use Exa MCP, **Agent-Reach** (skill: `agent-reach`), or firecrawl for live SERP research. Analyze top 5 results.
172
+
173
+ **Agent-Reach** provides free Exa semantic search via mcporter:
174
+ ```bash
175
+ agent-reach doctor --json # Check if Exa is available
176
+ mcporter call 'exa.web_search_exa(query: "your keyword", numResults: 5)'
177
+ mcporter call 'exa.get_code_context_exa(query: "technical question", tokensNum: 3000)'
178
+ ```
179
+
180
+ **For each result capture:** Title/URL, content type, word count, structure,
181
+ unique angles, gaps, recency, domain type.
182
+
183
+ **Extract SERP features:** People Also Ask (ALL of them), Featured Snippet
184
+ format, AI Overview presence.
185
+
186
+ **Gap analysis:** What's missing? What's outdated? What's generic? What's your edge?
187
+
188
+ Present findings in structured format. See `references/serp-analysis-format.md`.
189
+
190
+ If web search unavailable (Exa MCP, Agent-Reach, and firecrawl all down): flag to user, prefix SERP claims with `~`, skip to Phase 2 using brand context instead.
191
+
192
+ ### Phase 2: Content Brief
193
+
194
+ Create or enhance an existing brief from /keyword-research. Include: target
195
+ keyword, secondary keywords, search intent, content type, target word count,
196
+ audience, unique angle, key points, PAA questions, competitor gaps, internal
197
+ links, CTA.
198
+
199
+ ### Phase 3: Outline
200
+
201
+ Structure based on content type. See `references/content-structures.md` for
202
+ templates (Pillar Guide, How-To, Comparison, Listicle).
203
+
204
+ Map PAA questions: depth-worthy ones become H2s, brief ones go to FAQ section.
205
+
206
+ ### Phase 4: Draft
207
+
208
+ **Voice calibration:** Match voice-profile.md if loaded. Default: direct,
209
+ conversational, specific, opinionated.
210
+
211
+ **SEO title + hook integration:** Spawn a hook-generator subagent for title and H2 headline candidates:
212
+ ```
213
+ Load the hook-generator skill and execute the full Phase 1-6 pipeline with this context.
214
+ Context:
215
+ - WHO: <target reader from keyword intent>
216
+ - WHAT/WHY: <article's core answer to the search query>
217
+ - Knife: <pain or misconception the query implies>
218
+ - Platform: medium
219
+ - Brand: <brand name>
220
+ - Target Score: 85
221
+ Return ONLY this JSON array: [{"hook":"...","score":<0-100>,"pattern":"...","formula":"..."}]
222
+ ```
223
+ Use top-scored hook as SEO title candidate. Discard any that sacrifice keyword clarity for cleverness. If subagent fails, write title manually using keyword + benefit formula.
224
+
225
+ **Rules:**
226
+ - Answer the search query in the first 2-3 sentences
227
+ - Apply the "So What?" chain -- write from the bottom, not the top
228
+ - Specificity over generality (numbers, examples, always)
229
+ - Show your work (how you know, not just what you claim)
230
+ - Use positioning angle from positioning.md to shape perspective
231
+
232
+ ### Phase 5: Humanize (Critical)
233
+
234
+ This is the soul of the skill. See `references/anti-ai-detection.md` for the
235
+ full detection pattern guide.
236
+
237
+ **Summary checklist:**
238
+ - Kill AI words (delve, comprehensive, crucial, leverage, landscape, etc.)
239
+ - Kill AI phrases ("In today's...", "It's important to note...", "Let's dive in")
240
+ - Break the triple pattern -- humans are messier
241
+ - Inject: personal experience, opinions with reasoning, admitted limitations,
242
+ specific examples, honest uncertainty, tangents and asides
243
+ - Vary rhythm: short punches, long explanations, fragments, questions
244
+
245
+ **The Read-Aloud Test:** If you stumble reading it aloud, rewrite it.
246
+
247
+ ### Phase 6: Optimize (On-Page SEO)
248
+
249
+ ```
250
+ [ ] Primary keyword in title (front-loaded), H1, first 100 words, 1+ H2, meta, URL slug
251
+ [ ] Secondary keywords in H2s naturally
252
+ [ ] Meta description: 150-160 chars, compelling, includes keyword
253
+ [ ] Internal links: 4-8 per piece
254
+ [ ] External links: 2-4 authoritative sources
255
+ [ ] Featured snippet optimization (definition/list/table format)
256
+ [ ] Image alt text with relevant keywords
257
+ ```
258
+
259
+ **Title format:** [Primary Keyword]: [Benefit or Hook] ([Year] if relevant)
260
+ Under 60 characters, front-load keyword.
261
+
262
+ ### Phase 7: Schema Markup (JSON-LD)
263
+
264
+ Generate for EVERY article:
265
+
266
+ 1. **Article schema** -- headline, description, author, dates, publisher, keywords
267
+ 2. **FAQ schema** -- from PAA questions answered in the article
268
+ 3. **HowTo schema** -- if content type is how-to tutorial
269
+
270
+ Include schema in article frontmatter. See `references/schema-templates.md`.
271
+
272
+ ### Phase 8: Quality Review
273
+
274
+ Run all checklists before saving:
275
+ - **Content quality:** Answers title in first 300 words, 3+ specific examples,
276
+ unique angle present, all PAA answered, SERP gaps addressed
277
+ - **Voice quality:** No AI-isms, personality present, matches voice-profile.md
278
+ - **SEO quality:** Keywords placed, meta compelling, links included, schema valid
279
+ - **E-E-A-T:** Experience shown, expertise demonstrated, sources cited
280
+
281
+ See `references/eeat-examples.md` for 20 top-performing human content examples.
282
+
283
+ ---
284
+
285
+ ## Content Refresh Mode
286
+
287
+ Triggered when content file already exists for the target keyword.
288
+
289
+ 1. Present existing content summary with options: Refresh / Rewrite / Expand / Start Fresh
290
+ 2. **If Refresh:** Re-run SERP analysis, compare against article:
291
+ - New competitors since publication?
292
+ - New PAA questions not covered?
293
+ - Featured Snippet format changed?
294
+ - Search intent shifted?
295
+ 3. Generate specific, actionable update recommendations (not "update the content"
296
+ but "add section on {topic} after {section} because {evidence}")
297
+ 4. Apply updates, bump `last_updated` and `serp_snapshot_date` in frontmatter
298
+
299
+ ---
300
+
301
+ ## Scale Mode (Programmatic SEO)
302
+
303
+ Triggered when user wants template-driven pages at scale ("programmatic SEO",
304
+ "pages at scale", "100 pages for...", "location pages", etc.).
305
+
306
+ ### Core Principles
307
+
308
+ 1. **Unique value per page** -- not just swapped variables in a template
309
+ 2. **Proprietary data wins** -- hierarchy: proprietary > product-derived >
310
+ user-generated > licensed > public
311
+ 3. **Clean URL structure** -- use subfolders, not subdomains
312
+ 4. **Search intent match** -- pages must answer what people are searching
313
+ 5. **Quality over quantity** -- 100 great pages beat 10,000 thin ones
314
+
315
+ ### The 12 Playbooks
316
+
317
+ | Playbook | Pattern | Example |
318
+ |----------|---------|---------|
319
+ | Templates | "[Type] template" | "resume template" |
320
+ | Curation | "best [category]" | "best website builders" |
321
+ | Conversions | "[X] to [Y]" | "$10 USD to GBP" |
322
+ | Comparisons | "[X] vs [Y]" | "webflow vs wordpress" |
323
+ | Examples | "[type] examples" | "landing page examples" |
324
+ | Locations | "[service] in [location]" | "dentists in austin" |
325
+ | Personas | "[product] for [audience]" | "crm for real estate" |
326
+ | Integrations | "[product A] + [product B]" | "slack asana integration" |
327
+ | Glossary | "what is [term]" | "what is pSEO" |
328
+ | Translations | Content in multiple languages | Localized content |
329
+ | Directory | "[category] tools" | "ai copywriting tools" |
330
+ | Profiles | "[entity name]" | "stripe ceo" |
331
+
332
+ See `references/pseo-playbooks.md` for detailed implementation of each playbook.
333
+
334
+ ### Choosing a Playbook
335
+
336
+ | If you have... | Consider... |
337
+ |----------------|-------------|
338
+ | Proprietary data | Directories, Profiles |
339
+ | Product with integrations | Integrations |
340
+ | Design/creative product | Templates, Examples |
341
+ | Multi-segment audience | Personas |
342
+ | Local presence | Locations |
343
+ | Tool or utility product | Conversions |
344
+ | Content/expertise | Glossary, Curation |
345
+ | Competitor landscape | Comparisons |
346
+
347
+ You can layer multiple playbooks (e.g., "Best coworking spaces in San Diego").
348
+
349
+ ### Scale Mode Implementation
350
+
351
+ 1. **Keyword pattern research** -- identify repeating structure, variables, combinations
352
+ 2. **Data requirements** -- what populates each page, how it's updated
353
+ 3. **Template design** -- page structure with conditional content for uniqueness
354
+ 4. **Internal linking architecture** -- hub and spoke model, no orphan pages
355
+ 5. **Indexation strategy** -- prioritize high-volume, noindex thin variations,
356
+ separate sitemaps by type
357
+
358
+ ### Scale Mode Quality Checks
359
+
360
+ - [ ] Each page provides unique value (not just variable swaps)
361
+ - [ ] Unique titles and meta descriptions per page
362
+ - [ ] Proper heading structure and schema markup
363
+ - [ ] Connected to site architecture, no orphan pages
364
+ - [ ] In XML sitemap, crawlable, no conflicting noindex
365
+
366
+ ---
367
+
368
+ ## Worked Example
369
+
370
+ **Target keyword:** 'is doordash organic'
371
+ **SERP gap:** Top 5 results are forum posts and outdated blog articles. No definitive guide exists.
372
+
373
+ **Article outline:**
374
+ 1. H1: Is DoorDash Organic? The Complete Guide for Health-Conscious Families
375
+ 2. Quick answer (Featured Snippet target): 'DoorDash itself doesn't verify verification status...'
376
+ 3. How to find verified-source restaurants on DoorDash (step-by-step with screenshots)
377
+ 4. The problem with DoorDash's verification filter (cross-contamination, no certification)
378
+ 5. Better alternatives for guaranteed verified meal delivery
379
+ 6. FAQ schema: 'Does DoorDash have verified-source options?' / 'How do I know if a restaurant is really verified?'
380
+
381
+ **Word count:** 1,800 (benchmark: top 3 results average 1,200 — we go deeper)
382
+
383
+ ---
384
+
385
+ ## File Output Format
386
+
387
+ ### File Location
388
+
389
+ ```
390
+ ./campaigns/content/{keyword-slug}.md
391
+ ```
392
+
393
+ Slug: lowercase kebab-case, remove stop words if over 60 chars.
394
+
395
+ ### Frontmatter
396
+
397
+ ```yaml
398
+ ---
399
+ title: "{SEO-Optimized Title}"
400
+ meta_description: "{150-160 character meta description}"
401
+ primary_keyword: "{target keyword}"
402
+ secondary_keywords: ["{kw1}", "{kw2}", "{kw3}"]
403
+ content_type: "{pillar-guide / how-to / comparison / listicle}"
404
+ search_intent: "{informational / commercial / transactional}"
405
+ target_word_count: {number}
406
+ actual_word_count: {number}
407
+ author: "{author name}"
408
+ date_created: "{YYYY-MM-DD}"
409
+ last_updated: "{YYYY-MM-DD}"
410
+ status: "draft"
411
+ serp_snapshot_date: "{YYYY-MM-DD}"
412
+ paa_questions_answered: {number}
413
+ schema_article: |
414
+ {Article JSON-LD}
415
+ schema_faq: |
416
+ {FAQ JSON-LD}
417
+ ---
418
+ ```
419
+
420
+ ---
421
+
422
+ ## Chain Offers
423
+
424
+ After saving, present:
425
+
426
+ - `/content-atomizer` -- distribute across social (3-5 LinkedIn, 8-12 Twitter, 2-3 IG carousels)
427
+ - `/newsletter` -- feature article in next edition
428
+ - `/email-sequences` -- nurture readers into subscribers
429
+ - `/seo-content` -- write next article from keyword plan
430
+ - "Refresh" to update this article later
431
+
432
+ ---
433
+
434
+ ## Error States
435
+
436
+ - **No web search:** Skip Phase 1, note limitation, proceed with brand context
437
+ - **No target keyword:** Ask user or suggest /keyword-research
438
+ - **No voice profile:** Use defaults (direct, conversational), suggest /brand-voice
439
+ - **Can't save:** Display content for manual copy, suggest checking permissions
440
+
441
+ ---
442
+
443
+ ## Anti-Patterns
444
+
445
+ | Anti-pattern | Instead | Why |
446
+ |-------------|---------|-----|
447
+ | Skipping Phase 5 (Humanize) to save time | Cut research depth before cutting humanization | Unhumanized content reads like AI slop — readers bounce, Google devalues it, and the brand takes a credibility hit. Content that sounds like a committee wrote it doesn't earn trust, links, or shares. |
448
+ | Skipping schema markup | Always add Article + FAQ JSON-LD — it takes minutes | Schema compounds over time: rich results, AI citations, and structured search features for the life of the content. Skipping it leaves free visibility on the table. |
449
+ | Keyword-stuffing headings | One keyword in H1, natural secondary keywords in H2s | Google detects keyword stuffing and users find it off-putting. If every heading reads like an SEO template, it's over-optimized. |
450
+ | Starting with a generic intro | Answer the search query in sentence one | "In today's digital world..." tells the reader nothing. The search query brought them here — if the value prop isn't instant, they bounce. |
451
+
452
+ ---
453
+
454
+ ## Implementation Notes
455
+
456
+ 1. **Never skip SERP analysis** when web search is available -- it's the differentiator
457
+ 2. **Always check for existing content first** -- refresh mode is high value
458
+ 3. **Always generate schema markup** -- Article + FAQ JSON-LD minimum
459
+ 4. **Always save to disk** -- the file IS the deliverable
460
+ 5. **PAA questions are mandatory** -- every one appears as H2 or FAQ entry
461
+ 6. **Phase 5 (Humanize) is non-negotiable** -- run the full AI detection checklist
462
+ 7. **Always offer chain to /content-atomizer** -- one article = 10+ social assets
463
+ 8. **Register every piece** in `./brand/assets.md`
464
+ 9. **Feedback closes the loop** -- always present, always log
465
+
466
+ ---
467
+
468
+ ## STEP N: Copywriting Tournament (RECOMMENDED for headlines + meta descriptions + CTAs)
469
+
470
+ Generate 3-5 variants of the key headlines + meta descriptions + CTAs, then run them through 5 parallel judge personas to find the winner:
471
+
472
+ 1. Generate 3-5 variants (different angles, formulas, or approaches)
473
+ 2. Save each to: `content/tournaments/{slug}/variant-1.md` through `variant-N.md`
474
+ 3. Spawn 5 PARALLEL `build` subagents (one per judge persona):
475
+ - `~/.claude/skills/quality-gate/judge-personas/skeptic.md`
476
+ - `~/.claude/skills/quality-gate/judge-personas/scanner.md`
477
+ - `~/.claude/skills/quality-gate/judge-personas/buyer.md`
478
+ - `~/.claude/skills/quality-gate/judge-personas/expert.md`
479
+ - `~/.claude/skills/quality-gate/judge-personas/outsider.md`
480
+ - Each gets: tournament_dir, variant_count, mode=`copy`, original_prompt
481
+ 4. Collect all 5 JSON results, aggregate: sum weighted_avg per variant across judges
482
+ 5. Pick winner, apply recommended_edits, save as draft
483
+ 6. Winner enters standard quality-gate below
484
+
485
+ **When to use:** For the article headline and CTA — these determine click-through rate
486
+
487
+ ---
488
+
489
+ ## FINAL STEP: Quality Gate (MANDATORY — DO NOT SKIP)
490
+
491
+ Before presenting ANY draft to Jairo, run the quality gate:
492
+
493
+ 1. Save your complete draft to a file (e.g., `content/drafts/{slug}.md` or a temp file)
494
+ 2. Spawn a `build` subagent using the Task tool with the quality-gate prompt from `Skill: quality-gate`
495
+ 3. Pass these inputs to the subagent:
496
+ - **draft_path**: absolute path to the saved draft
497
+ - **mode**: `blog`
498
+ - **original_prompt**: the writing prompt that started this task
499
+ - **attempt**: current attempt number (start at 1)
500
+ 4. Parse the JSON result from the subagent
501
+ 5. If FAIL and attempt < 3:
502
+ - Rewrite the draft addressing the specific `rewrite_instructions` from the quality gate
503
+ - Save the new draft (overwrite or new file)
504
+ - Spawn another subagent with attempt + 1
505
+ 6. If FAIL and attempt = 3:
506
+ - Present to Jairo with all score reports attached
507
+ - Say: "Couldn't pass quality gate after 3 attempts. Here's what's wrong and what I tried to fix."
508
+ 7. If PASS:
509
+ - Present to Jairo as normal (do NOT show scores — they're internal)
510
+ 8. NEVER present a draft that hasn't passed quality gate (except after 3 failed attempts)
@@ -0,0 +1,184 @@
1
+ # Anti-AI Detection Guide
2
+
3
+ AI-generated content has tells. Remove them ruthlessly.
4
+
5
+ The goal is not "sounds okay." It is "sounds like a specific person wrote this
6
+ based on real experience."
7
+
8
+ ---
9
+
10
+ ## Word-Level Tells
11
+
12
+ Kill these immediately:
13
+ - delve, dive into, dig into
14
+ - comprehensive, robust, cutting-edge
15
+ - utilize (just say "use")
16
+ - leverage (as a verb)
17
+ - crucial, vital, essential
18
+ - unlock, unleash, supercharge
19
+ - game-changer, revolutionary
20
+ - landscape, navigate, streamline
21
+ - tapestry, multifaceted, myriad
22
+ - foster, facilitate, enhance
23
+ - realm, paradigm, synergy
24
+ - embark, journey (for processes)
25
+ - plethora, myriad, bevy
26
+ - nuanced, intricate, seamless
27
+
28
+ ---
29
+
30
+ ## Phrase-Level Tells
31
+
32
+ These scream "AI wrote this":
33
+ - "In today's fast-paced world..."
34
+ - "In today's digital age..."
35
+ - "It's important to note that..."
36
+ - "When it comes to..."
37
+ - "In order to..." (just say "to")
38
+ - "Whether you're a... or a..."
39
+ - "Let's dive in" / "Let's explore"
40
+ - "Without further ado"
41
+ - "At the end of the day"
42
+ - "It goes without saying"
43
+ - "In conclusion" (especially at the end)
44
+ - "This comprehensive guide will..."
45
+ - "Are you looking for..." (fake questions)
46
+ - "Look no further"
47
+
48
+ ---
49
+
50
+ ## Structure-Level Tells
51
+
52
+ AI has recognizable structural patterns:
53
+
54
+ - **The Triple Pattern**: Everything in threes. Three benefits. Three examples.
55
+ Three subpoints. Humans are messier.
56
+ - **Perfect Parallelism**: Every bullet point same length, same structure. Too clean.
57
+ - **The Hedge Stack**: "While X, it's important to consider Y, but also Z."
58
+ Never commits.
59
+ - **Fake Objectivity**: "Some experts say... others believe..." without taking
60
+ a position.
61
+ - **Summary Sandwich**: Intro summarizes, body covers, conclusion summarizes
62
+ again. Boring.
63
+ - **Empty Transitions**: "Now that we've covered X, let's move on to Y." Adds nothing.
64
+
65
+ ---
66
+
67
+ ## Voice-Level Tells
68
+
69
+ The hardest to fix:
70
+
71
+ - **No Opinions**: Everything balanced, nothing claimed. Real experts have takes.
72
+ - **No Mistakes Mentioned**: Never wrong about anything, ever. Suspicious.
73
+ - **Generic Examples**: "For example, a business might..." instead of a real story.
74
+ - **Distance from Subject**: Writing about, not from experience of.
75
+ - **Uniform Certainty**: Every statement equally confident. Humans hedge where
76
+ uncertain, commit where sure.
77
+
78
+ ---
79
+
80
+ ## Before/After Examples
81
+
82
+ **AI Version:**
83
+ > "Email marketing remains a crucial component of any comprehensive digital
84
+ > marketing strategy. When it comes to improving open rates, it's important to
85
+ > consider several key factors. First, crafting compelling subject lines is
86
+ > essential. Second, segmenting your audience allows for more targeted messaging.
87
+ > Third, timing plays a vital role in engagement."
88
+
89
+ **Human Version:**
90
+ > "I ignored email for two years. Social media was sexier. Then I looked at the
91
+ > numbers: email drove 3x the revenue of all social combined. Here's what actually
92
+ > moves open rates--the stuff that worked when we tested it across 12 client accounts."
93
+
94
+ ---
95
+
96
+ **AI Version:**
97
+ > "In today's fast-paced business landscape, professionals are increasingly turning
98
+ > to automation tools to streamline their workflows and enhance productivity. These
99
+ > comprehensive solutions offer a myriad of benefits for organizations of all sizes."
100
+
101
+ **Human Version:**
102
+ > "Most automation tools are shelfware. You buy them, set them up, use them twice,
103
+ > forget they exist. Here are the three that actually stuck after a year of
104
+ > testing--and the 14 I wasted money on."
105
+
106
+ ---
107
+
108
+ **AI Version:**
109
+ > "Whether you're a seasoned marketer or just starting your journey, understanding
110
+ > SEO fundamentals is crucial for success. Let's dive into the essential strategies
111
+ > that can help you navigate the complex landscape of search engine optimization."
112
+
113
+ **Human Version:**
114
+ > "Most SEO advice is outdated. The tactics that worked in 2019 will get you
115
+ > penalized now. I'm going to show you what's actually ranking in December 2024--
116
+ > pulled from 300+ sites we analyzed last month."
117
+
118
+ ---
119
+
120
+ ## Voice Injection Points
121
+
122
+ Human content has these. AI content does not. Add them:
123
+
124
+ **Personal experience with specifics:**
125
+ > "I made this mistake for two years. Cost me roughly $40K in lost revenue before
126
+ > someone on Twitter pointed out what I was doing wrong."
127
+
128
+ **Opinion with reasoning:**
129
+ > "Honestly, most SEO advice is written by people who've never ranked anything.
130
+ > They're regurgitating what they read somewhere else. Here's what I've actually
131
+ > seen work..."
132
+
133
+ **Admission of limitations:**
134
+ > "This won't work for everyone. If you're in YMYL niches, ignore this
135
+ > entirely--different rules apply. If you're B2B enterprise, probably not either."
136
+
137
+ **Specific examples from real work:**
138
+ > "When we implemented this for [specific client--an e-commerce brand selling
139
+ > outdoor gear], their organic traffic went from 12K to 89K monthly in four months."
140
+
141
+ **Uncertainty where honest:**
142
+ > "I'm not 100% sure why this works. Best guess: the semantic density signals
143
+ > topical authority. But I've seen it work across 40+ sites, so I stopped
144
+ > questioning it."
145
+
146
+ **Tangents and asides:**
147
+ > "This is the part where most guides tell you to 'create quality content.'
148
+ > (Useless advice.) What does that actually mean? Here's the specific bar to
149
+ > clear..."
150
+
151
+ ---
152
+
153
+ ## Rhythm Variation
154
+
155
+ AI writes in monotonous rhythm. Fix it:
156
+
157
+ - Vary sentence length. Short punch. Then longer explanatory sentences that
158
+ build out the context and add nuance.
159
+ - Use fragments. For emphasis. Or drama.
160
+ - Start sentences with "And" or "But" when natural.
161
+ - Include parenthetical asides (the kind of thing you'd say out loud).
162
+ - Ask questions. Then answer them. Or don't.
163
+ - One-word paragraphs.
164
+
165
+ Really.
166
+
167
+ ---
168
+
169
+ ## The Detection Checklist
170
+
171
+ Before publishing, run through:
172
+
173
+ ```
174
+ [ ] No AI words (delve, comprehensive, crucial, leverage, landscape)
175
+ [ ] No AI phrases (in today's world, it's important to note, let's dive in)
176
+ [ ] Not everything in threes
177
+ [ ] At least one personal opinion stated directly
178
+ [ ] At least one specific number from real experience
179
+ [ ] At least one admission of limitation or uncertainty
180
+ [ ] Sentence lengths vary (some under 5 words, some over 20)
181
+ [ ] Would I say this out loud to a smart friend?
182
+ [ ] Does it sound like a specific person, or a committee?
183
+ [ ] Can I identify whose voice this is?
184
+ ```