@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
package/README.md ADDED
@@ -0,0 +1,85 @@
1
+ # Huckleberry
2
+
3
+ **Your own AI operations department — one command to install.**
4
+
5
+ ```bash
6
+ npm install -g @jairodri/huckleberry-cli
7
+ huckleberry install
8
+ ```
9
+
10
+ Huckleberry gives you a chief-of-staff AI team running on your own machine, wired to your own Discord, with persistent memory, 120+ professional skills, and a built-in repair agent that keeps the system alive.
11
+
12
+ ## What You Get
13
+
14
+ | Component | What it does |
15
+ |---|---|
16
+ | **Chief of Staff (cos)** | Orchestrator agent — your main interface in Discord |
17
+ | **build / plan / researcher** | Worker agents: execution, strategy, web research |
18
+ | **Hermes (the doctor)** | System administrator — repairs the stack when it breaks, 24/7 watchdog included |
19
+ | **Inkstone** | Persistent memory: decisions, contacts, procedures, past failures — survives restarts |
20
+ | **Jev** | Judgment layer: fast, cheap structured decisions (classification, ranking, verification) |
21
+ | **Skill packs** | 120+ production skills: content, SEO, CRO, outreach, research, web design |
22
+ | **Self-improvement** | Weekly sweep proposes concrete improvements from the week's failures |
23
+
24
+ ## Quick Start
25
+
26
+ ```bash
27
+ # 1. Install the system
28
+ npm install -g @jairodri/huckleberry-cli
29
+ huckleberry install
30
+
31
+ # 2. Install the runtime
32
+ npm install -g opencode kimaki
33
+
34
+ # 3. Personalize (name, business, tone, optional keys)
35
+ huckleberry interview
36
+
37
+ # 4. Add keys to ~/.huckleberry/.env (Discord bot token, Jev API key)
38
+ # Discord bot setup walkthrough: ~/.huckleberry/wiki/discord.md
39
+
40
+ # 5. Verify
41
+ huckleberry doctor
42
+
43
+ # 6. Start
44
+ opencode
45
+ ```
46
+
47
+ ## Commands
48
+
49
+ ```
50
+ huckleberry install Full first-time install
51
+ huckleberry interview Personalize your agents
52
+ huckleberry doctor Health check — run when anything feels off
53
+ huckleberry packs List available skill packs
54
+ huckleberry install-pack <p> Deploy a pack (core, doctor, content, cro,
55
+ web-design, research, outreach-sales, social,
56
+ self-improvement, or all)
57
+ huckleberry cro <url> CRO audit of a landing page
58
+ huckleberry review Weekly self-improvement review (proposals only)
59
+ huckleberry update Update to the latest version
60
+ ```
61
+
62
+ ## Skill Packs
63
+
64
+ | Pack | Focus |
65
+ |---|---|
66
+ | `core` | Memory, context management, formatting (installed by default) |
67
+ | `doctor` | Jev judgment skills + system repair (installed by default) |
68
+ | `content` | Copywriting, articles, hooks, brand voice, quality gates |
69
+ | `cro` | Landing page / form / popup / onboarding CRO, A/B tests, analytics |
70
+ | `web-design` | Design quality (impeccable), landing pages, SEO/AEO, programmatic SEO |
71
+ | `research` | Web research, SERP analysis, Reddit/X/YouTube intelligence |
72
+ | `outreach-sales` | Cold email, lead crafting, sequences, sales enablement |
73
+ | `social` | X posts, campaigns, image gen, marketing strategy |
74
+ | `self-improvement` | Skill optimization loops, auto-research, expertise building |
75
+
76
+ ## Documentation
77
+
78
+ - https://huckleberry.ai
79
+ - Installed wiki: `~/.huckleberry/wiki/` — kimaki, Discord bot setup, opencode, Inkstone, Hermes the doctor
80
+
81
+ ## Philosophy
82
+
83
+ Your AI department runs on **your** machine, with **your** keys, answering in **your** channels. Nothing is rented. When it breaks, the system repairs itself — and shows its work.
84
+
85
+ MIT licensed.
package/agents/cos.json CHANGED
@@ -1,20 +1,17 @@
1
1
  {
2
2
  "name": "cos",
3
3
  "description": "Chief of Staff — orchestrator, not worker. Bound to main Discord channel.",
4
- "model": "omniroute/combo/freellmapi smart models",
5
4
  "mode": "primary",
6
5
  "instructions": [
7
6
  "~/.huckleberry/AGENTS.md",
8
7
  "~/.huckleberry/SOUL.md",
9
8
  "~/.huckleberry/COS_PROTOCOLS.md",
10
- "~/.huckleberry/HEARTBEAT.md",
11
- "~/.huckleberry/EXECUTIVE-MODE.md"
9
+ "~/.huckleberry/HEARTBEAT.md"
12
10
  ],
13
11
  "tools": [
14
12
  "load-business-context",
15
13
  "list-business-files",
16
14
  "inkstone_memory_search",
17
- "inkstone_memory_write",
18
- "inkstone_memory_failures"
15
+ "inkstone_memory_write"
19
16
  ]
20
17
  }
@@ -1,62 +1,38 @@
1
- # AGENTS.md — Hermes Fixer Rules
1
+ # AGENTS.md — Hermes Fixer Rules (Huckleberry System Administrator)
2
+
3
+ ## Bootstrap Context Files (MANDATORY)
4
+ At session start, read these before doing any work (they exist in every Huckleberry install):
5
+ 1. `~/.huckleberry/agents/hermes/SOUL.md` — who you are, boundaries, communication style
6
+ 2. `~/.huckleberry/agents/hermes/hermes-fixer.md` — fixer protocol and step-by-step procedures
7
+ 3. `~/.huckleberry/wiki/kimaki.md` — kimaki architecture, commands, common issues
8
+ 4. `~/.huckleberry/wiki/discord.md` — Discord bot setup, permissions, troubleshooting
9
+ 5. `~/.huckleberry/wiki/opencode.md` — opencode config, plugins, MCP servers
10
+ 6. `~/.huckleberry/wiki/inkstone.md` — Inkstone memory system
11
+
12
+ Never claim context you don't have, and never skip the bootstrap reads.
2
13
 
3
14
  ## Before You Fix
4
- Read the relevant wiki docs first:
5
- 1. `~/.huckleberry/wiki/kimaki.md` — kimaki architecture, commands, common issues
6
- 2. `~/.huckleberry/wiki/discord.md` — Discord bot setup, permissions, troubleshooting
7
- 3. `~/.huckleberry/wiki/opencode.md` — opencode config, plugins, MCP servers
8
- 4. `~/.huckleberry/wiki/inkstone.md` — Inkstone memory system, dream cycle
9
- 5. `~/.huckleberry/hermes-fixer.md` — fixer protocol and step-by-step procedures
15
+ Read the relevant wiki docs first (paths above). Then run the diagnostic.
10
16
 
11
17
  ## Diagnostic First
12
- Always run a full diagnostic before fixing:
18
+ Always run a full diagnostic before fixing (also available non-interactively via `huckleberry doctor`):
13
19
  ```bash
14
20
  echo "=== Node ===" && node --version 2>&1 || echo "MISSING"
15
21
  echo "=== npm ===" && npm --version 2>&1 || echo "MISSING"
16
22
  echo "=== opencode ===" && opencode --version 2>&1 || echo "MISSING"
17
- echo "=== kimaki ===" && kimaki --version 2>&1 || echo "MISSING"
18
- echo "=== Inkstone ===" && ls ~/.huckleberry/mcp/inkstone/node_modules/@jairodri/huckleberry-inkstone/dist/mcp/server.js 2>&1
19
- echo "=== opencode config ===" && node -e "try{JSON.parse(require('fs').readFileSync('$HOME/.opencode/opencode.json','utf8'));console.log('VALID')}catch(e){console.log('INVALID:',e.message)}"
23
+ echo "=== kimaki ===" && (kimaki --version 2>&1 || echo "MISSING")
24
+ echo "=== Inkstone server ===" && ls ~/.huckleberry/mcp/inkstone/node_modules/@jairodri/huckleberry-inkstone/dist/mcp/server.js 2>&1 || echo "MISSING"
25
+ echo "=== Jev MCP ===" && ls ~/.huckleberry/mcp/jev-mcp/node_modules/@jkudish/jev-mcp/dist/index.js 2>&1 || echo "MISSING"
26
+ echo "=== opencode config ===" && node -e "try{JSON.parse(require('fs').readFileSync(require('os').homedir()+'/.opencode/opencode.json','utf8'));console.log('VALID')}catch(e){console.log('INVALID:',e.message)}"
20
27
  echo "=== Processes ===" && ps aux | grep -E "opencode|kimaki|inkstone" | grep -v grep
21
28
  echo "=== Disk ===" && df -h ~ | tail -1
22
- echo "=== Env ===" && grep -v "^#" ~/.huckleberry/.env 2>/dev/null | head -10
23
- ```
24
-
25
- ## Fix One Thing at a Time
26
- 1. Run diagnostic → identify all issues
27
- 2. Fix the most fundamental issue first (e.g., Node.js before kimaki)
28
- 3. Verify after each fix
29
- 4. Run full diagnostic again after all fixes
30
-
31
- ## For Each Fix
32
- 1. Read the relevant wiki page for the component
33
- 2. Follow the fix procedure in the wiki
34
- 3. Verify the fix works
35
- 4. Move to the next issue
36
-
37
- ## Use Context7
38
- When you need to look up documentation:
39
- ```bash
40
- context7_search("$TOOL_NAME", "how to $ACTION")
29
+ echo "=== Env (keys only) ===" && grep -E "^[A-Z_]+=" ~/.huckleberry/.env 2>/dev/null | cut -d= -f1
41
30
  ```
42
- Example: `context7_search("discord.js", "gateway intents")`
31
+ Never print secret values — show key NAMES only.
43
32
 
44
- ## If You Can't Fix
45
- After 3 failed attempts:
46
- - Report to user: what you tried, what failed, what you recommend
47
- - Suggest specific action the user can take (e.g., "regenerate the Discord token in the Developer Portal")
33
+ ## Model Routing Notes
34
+ - Agents inherit the user's configured default model unless a specific model is set in `~/.opencode/opencode.json`.
35
+ - If a model route returns 401/404/410 repeatedly, tell the user which provider/key to check — do not silently rewrite their provider config.
48
36
 
49
- ## Post-Fix Verification
50
- Always run a full verification and report:
51
- ```
52
- ✅ Fix complete:
53
- • Found: [root cause]
54
- • Fixed: [what was done]
55
- • Verified: [how tested]
56
-
57
- Current system status:
58
- - opencode: [version] ✓
59
- - kimaki: [version] ✓/✗
60
- - Inkstone DB: [size] ✓
61
- - Discord bot: [online/offline] ✓/✗
62
- ```
37
+ ## Escalation
38
+ If you're stuck after 3 real attempts: report what you tried, the exact error of each attempt, and your recommended next step. Never guess credentials, IDs, or URLs.
@@ -1,100 +1,27 @@
1
1
  ---
2
2
  name: fix-kimaki
3
- description: >
4
- Diagnose and repair kimaki (Discord bridge) issues. Use when kimaki is not
5
- responding, sessions won't spawn, bot is offline, or Discord integration fails.
6
- Also use when the user says "fix kimaki", "kimaki is down", "bot not working", etc.
7
- version: 1.0.0
3
+ description: Use when the kimaki Discord bot is down, not responding, sessions won't spawn, or Discord integration fails. Also use when the user says "fix kimaki", "kimaki is down", "bot not working", etc.
8
4
  ---
9
5
 
10
- # Fix Kimaki — Comprehensive Troubleshooting
6
+ # Fix Kimaki — Huckleberry System Repair
11
7
 
12
- ## Step 1: Read the Docs
13
- Load these references before fixing:
14
- - `~/.huckleberry/wiki/kimaki.md` — kimaki architecture, commands, common issues
15
- - `~/.huckleberry/wiki/discord.md` — Discord bot setup, permissions, fixes
16
- - `~/.huckleberry/agents/hermes/hermes-fixer.md` — comprehensive fixer protocol
8
+ Diagnose first, fix second, verify third. Full procedures live in `~/.huckleberry/agents/hermes/hermes-fixer.md` — read it before acting.
17
9
 
18
- ## Step 2: Diagnostic
19
- Run the full diagnostic:
20
- ```bash
21
- echo "=== Node ===" && node --version
22
- echo "=== npm ===" && npm --version
23
- echo "=== kimaki process ===" && ps aux | grep kimaki | grep -v grep
24
- echo "=== kimaki version ===" && kimaki --version 2>&1 || echo "NOT FOUND"
25
- echo "=== kimaki logs (last 20) ===" && tail -20 ~/.kimaki/kimaki.log 2>&1 || echo "No logs"
26
- echo "=== token ===" && grep DISCORD_BOT_TOKEN ~/.huckleberry/.env 2>/dev/null | head -1
27
- echo "=== node_modules ===" && ls ~/.kimaki/node_modules/.package-lock.json 2>&1 || echo "Maybe global install"
28
- ```
10
+ ## Quick Path
11
+ 1. Run `huckleberry doctor` (non-interactive diagnostic) — or the manual diagnostic block in hermes-fixer.md
12
+ 2. Read `~/.huckleberry/wiki/kimaki.md` + `~/.huckleberry/wiki/discord.md` for the failing area
13
+ 3. Apply the matching fix procedure (bot down / sessions / token 401 / intents)
14
+ 4. Verify live: process up, `kimaki send` ping lands in Discord, log tail clean
15
+ 5. Report: what broke, root cause, what you changed, proof it works
29
16
 
30
- ## Step 3: Fix by Symptom
17
+ ## Key Facts
18
+ - kimaki config/logs: `~/.kimaki/` (log: `~/.kimaki/kimaki.log`)
19
+ - Discord token: `DISCORD_BOT_TOKEN` in `~/.huckleberry/.env` (never print values)
20
+ - opencode config: `~/.opencode/opencode.json` (must parse as valid JSON)
21
+ - Inkstone MCP: `~/.huckleberry/mcp/inkstone/` · Jev MCP: `~/.huckleberry/mcp/jev-mcp/`
22
+ - macOS services: `launchctl list | grep huckleberry`
31
23
 
32
- ### "kimaki: command not found"
33
- ```bash
34
- npm install -g kimaki
35
- ```
36
-
37
- ### "Bot not responding" — process dead
38
- ```bash
39
- # Start kimaki
40
- cd ~/.kimaki && bash start-kimaki.sh
41
- sleep 5
42
- # Check it's running
43
- ps aux | grep kimaki | grep -v grep
44
- # Check logs
45
- tail -20 ~/.kimaki/kimaki.log
46
- ```
47
-
48
- ### "Bot not responding" — process running but not connecting
49
- ```bash
50
- # Check logs for errors
51
- tail -50 ~/.kimaki/kimaki.log
52
- # Check for 401/Unauthorized → token issue
53
- # Check for rate limits → wait 5 min
54
- # Check for connection refused → Discord API down?
55
- ```
56
-
57
- ### "401 Unauthorized" in logs
58
- Token is invalid or expired:
59
- 1. User needs to go to https://discord.com/developers/applications
60
- 2. Select the bot application
61
- 3. Bot → Reset Token → copy new token
62
- 4. Update `~/.huckleberry/.env`: `DISCORD_BOT_TOKEN=newtoken`
63
- 5. Restart: `killall node && sleep 2 && cd ~/.kimaki && bash start-kimaki.sh`
64
-
65
- ### "Sessions not spawning"
66
- ```bash
67
- # Check opencode config is valid
68
- node -e "JSON.parse(require('fs').readFileSync('$HOME/.opencode/opencode.json','utf8'))" && echo "Config valid"
69
- # Check opencode is the right version
70
- opencode --version
71
- # Check agent names exist in config
72
- grep -A2 '"agent"' ~/.opencode/opencode.json | head -20
73
- # Test a direct spawn
74
- kimaki send --channel ID --prompt 'ping' --agent build
75
- ```
76
-
77
- ### "Can't see messages in channel"
78
- Bot lacks permissions:
79
- 1. Check bot has Read Messages + Send Messages in channel
80
- 2. Check Message Content Intent is ON in Discord Developer Portal
81
- 3. Check server permissions → bot role may be restricted
82
-
83
- ### "Privileged Gateway Intent" errors
84
- User needs to enable in Discord Developer Portal:
85
- 1. Go to https://discord.com/developers/applications
86
- 2. Select app → Bot
87
- 3. Enable "Message Content Intent"
88
- 4. Enable "Server Members Intent" (for user lookups)
89
- 5. Save → restart kimaki
90
-
91
- ### "Rate limited" / 429 errors
92
- Too many requests. Wait 5 minutes, then reduce spawn frequency.
93
-
94
- ## Step 4: Verify
95
- ```bash
96
- # Test connection
97
- kimaki session list --json 2>&1 | head -5
98
- # Send a test ping
99
- kimaki send --channel ID --prompt 'hello from Hermes — system test' --agent build
100
- ```
24
+ ## Hard Rules
25
+ - Never print secret values — key names only
26
+ - Never delete the Inkstone DB
27
+ - Verify every fix with a live test before reporting done
@@ -1,16 +1,19 @@
1
- # Hermes Fxier Protocol
1
+ # Hermes Fixer Protocol
2
2
 
3
3
  ## DIAGNOSTIC (run first — always)
4
+ Non-interactive option: `huckleberry doctor` (prints the same checks).
5
+ Manual diagnostic:
4
6
  ```bash
5
7
  echo "=== Node ===" && node --version 2>&1 || echo "MISSING"
6
8
  echo "=== npm ===" && npm --version 2>&1 || echo "MISSING"
7
9
  echo "=== opencode ===" && opencode --version 2>&1 || echo "MISSING"
8
- echo "=== kimaki ===" && kimaki --version 2>&1 || echo "MISSING"
9
- echo "=== Inkstone ===" && ls ~/.huckleberry/mcp/inkstone/node_modules/@jairodri/huckleberry-inkstone/dist/mcp/server.js 2>&1
10
- echo "=== opencode config ===" && node -e "try{JSON.parse(require('fs').readFileSync('$HOME/.opencode/opencode.json','utf8'));console.log('VALID')}catch(e){console.log('INVALID:',e.message)}"
10
+ echo "=== kimaki ===" && (command -v kimaki >/dev/null && kimaki --version 2>&1 || echo "MISSING")
11
+ echo "=== Inkstone ===" && ls ~/.huckleberry/mcp/inkstone/node_modules/@jairodri/huckleberry-inkstone/dist/mcp/server.js 2>&1 || echo "MISSING"
12
+ echo "=== Jev ===" && ls ~/.huckleberry/mcp/jev-mcp/node_modules/@jkudish/jev-mcp/dist/index.js 2>&1 || echo "MISSING"
13
+ echo "=== opencode config ===" && node -e "try{JSON.parse(require('fs').readFileSync(require('os').homedir()+'/.opencode/opencode.json','utf8'));console.log('VALID')}catch(e){console.log('INVALID:',e.message)}"
11
14
  echo "=== Processes ===" && ps aux | grep -E "opencode|kimaki|inkstone" | grep -v grep
12
15
  echo "=== Disk ===" && df -h ~ | tail -1
13
- echo "=== Env ===" && grep -v "^#" ~/.huckleberry/.env 2>/dev/null | head -5
16
+ echo "=== Env key names (never values) ===" && grep -E "^[A-Z_]+=" ~/.huckleberry/.env 2>/dev/null | cut -d= -f1
14
17
  ```
15
18
 
16
19
  ## Fix Procedures
@@ -20,7 +23,7 @@ echo "=== Env ===" && grep -v "^#" ~/.huckleberry/.env 2>/dev/null | head -5
20
23
 
21
24
  **Bot not responding:**
22
25
  1. Check process: `ps aux | grep kimaki | grep -v grep`
23
- 2. If dead: `cd ~/.kimaki && bash start-kimaki.sh`
26
+ 2. If dead: restart per wiki (kimaki runs as a service — check `launchctl list | grep huckleberry` on macOS, or the systemd unit on Linux)
24
27
  3. Wait 10s, check again
25
28
  4. Read wiki: Section "Common Issues > Bot Not Responding"
26
29
  5. Logs: `tail -50 ~/.kimaki/kimaki.log`
@@ -28,88 +31,55 @@ echo "=== Env ===" && grep -v "^#" ~/.huckleberry/.env 2>/dev/null | head -5
28
31
  **Sessions not spawning:**
29
32
  1. Read wiki: Section "Common Issues > Sessions Not Starting"
30
33
  2. Validate opencode: `opencode --version`
31
- 3. Check agent names in opencode.json match what's being spawned
34
+ 3. Check agent names in `~/.opencode/opencode.json` match what's being spawned
32
35
  4. Test: `kimaki send --channel <id> --prompt 'ping' --agent build`
33
36
 
34
37
  **Token expired (401 errors):**
35
38
  1. Read wiki: Section "Bot Setup (One-Time)"
36
- 2. Read discord.md: Section "Common Issues > Bot Not Online"
37
- 3. User needs to regenerate token in Discord Developer Portal
38
- 4. Update `~/.huckleberry/.env` with new token
39
- 5. Restart kimaki
39
+ 2. Read `~/.huckleberry/wiki/discord.md`: Section "Common Issues > Bot Not Online"
40
+ 3. User regenerates the token in the Discord Developer Portal
41
+ 4. Update `~/.huckleberry/.env` (`DISCORD_BOT_TOKEN=...`)
42
+ 5. Restart the kimaki service
40
43
 
41
44
  ### Discord Bot Fixes
42
45
  **Reference:** `~/.huckleberry/wiki/discord.md`
43
46
 
44
47
  **Bot not online:**
45
- 1. Check token in ~/.huckleberry/.env
46
- 2. Read wiki: Section "Common Issues > Bot Not Online"
47
- 3. If token invalid: user regenerates in Discord Developer Portal
48
- 4. Read discord.md: "Bot Setup" for OAuth2 flow
49
- 5. After token update: `killall node && kimaki start`
48
+ 1. Check that `DISCORD_BOT_TOKEN` exists in `~/.huckleberry/.env` (name only — never print the value)
49
+ 2. If token invalid: user regenerates in Discord Developer Portal
50
+ 3. After token update: restart the kimaki service
50
51
 
51
52
  **Bot can't see messages:**
52
- 1. Read wiki: Section "Common Issues > Bot Can't See Messages"
53
- 2. Check Message Content Intent in Discord Developer Portal
54
- 3. Check channel permissions
55
- 4. Check server permissions override
53
+ 1. Check Message Content Intent in Discord Developer Portal
54
+ 2. Check channel permissions
55
+ 3. Check server permissions override
56
56
 
57
57
  **Bot joined wrong server:**
58
58
  1. Read wiki: Section "Adding to Existing Server"
59
59
  2. Regenerate OAuth2 URL
60
60
  3. Remove bot from old server
61
- 4. Re-add via new URL
62
61
 
63
- ### opencode Fixes
64
- **Reference:** `~/.huckleberry/wiki/opencode.md`
65
-
66
- **Not installed:**
67
- → `npm install -g opencode`
68
-
69
- **Config errors:**
70
- 1. Validate: `node -e "JSON.parse(require('fs').readFileSync('$HOME/.opencode/opencode.json','utf8'))" && echo "VALID"`
71
- 2. Read wiki: Section "Configuration" for key sections
72
- 3. Check MCP server paths exist
73
- 4. Check agent model strings
74
-
75
- **Plugin not loading:**
76
- 1. Read wiki: Section "Common Issues > Plugin Not Loading"
77
- 2. Check plugin file exists at the path in opencode.json
78
- 3. Check plugin syntax
79
- 4. Verify plugin path is relative to opencode.json
80
-
81
- ### Inkstone Fixes
82
- **Reference:** `~/.huckleberry/wiki/inkstone.md`
83
-
84
- **Pre-injection gate blocking tools:**
85
- 1. Read wiki: Section "Common Issues > Pre-injection Gate Blocks Tools"
86
- 2. Fix: run `inkstone_memory_failures()` + `inkstone_memory_search()` in the session
87
- 3. This is normal behavior, not a bug
88
-
89
- **MCP server not starting:**
90
- 1. Read wiki: Section "Common Issues > MCP Server Won't Start"
91
- 2. Check Node.js: `node --version`
92
- 3. Check server file exists
93
- 4. Run manually: `node ~/.huckleberry/mcp/inkstone/node_modules/@jairodri/huckleberry-inkstone/dist/mcp/server.js`
94
- 5. If missing node_modules: `cd ~/.huckleberry/mcp/inkstone && npm install`
95
-
96
- **Database corrupt:**
97
- 1. Read wiki: Section "Common Issues > Database Corruption"
98
- 2. Check: `inkstone status`
99
- 3. Restore from backup if available
100
- 4. Reinitialize if no backup
101
-
102
- ## Final Verification
103
- After all fixes, report:
104
- ```
105
- ✅ Fix complete:
106
- • Found: [root cause]
107
- • Fixed: [what was done]
108
- • Verified: [how tested]
109
-
110
- Status:
111
- - opencode: [version] ✓
112
- - kimaki: [version] ✓
113
- - Inkstone DB: [size] ✓
114
- - Discord bot: [online/offline]
115
- ```
62
+ ### opencode / MCP Fixes
63
+ **Config invalid JSON:**
64
+ 1. `node -e "JSON.parse(require('fs').readFileSync(require('os').homedir()+'/.opencode/opencode.json'))"` prints the parse error
65
+ 2. Fix the syntax error (most common: trailing comma)
66
+ 3. Restart the session
67
+
68
+ **Inkstone MCP missing:**
69
+ 1. `cd ~/.huckleberry/mcp/inkstone && npm install`
70
+ 2. Verify the server file exists (path in diagnostic above)
71
+
72
+ **Jev MCP missing:**
73
+ 1. `cd ~/.huckleberry/mcp/jev-mcp && npm install`
74
+ 2. If 401 from the API: `TYPESAFE_API_KEY` in `~/.huckleberry/.env` is missing/expired — user gets one at typesafe.ai
75
+
76
+ ### Memory & Session Fixes
77
+ - Inkstone DB: `~/.huckleberry/inkstone.db` — never delete; back up before bulk ops
78
+ - Session logs: `~/.local/share/opencode/` — check size if disk is full
79
+
80
+ ## Rules
81
+ - Fix the root cause, not the symptom
82
+ - Verify every fix with a concrete test (run the thing, don't assume)
83
+ - Never print secret values; show key names only
84
+ - If the fix requires user action (portal clicks, new tokens), give exact numbered steps
85
+ - Escalate after 3 real failed attempts with: what you tried, exact errors, recommended next step
@@ -1,26 +1,14 @@
1
1
  {
2
2
  "name": "hermes",
3
3
  "description": "System administrator — fixes the Huckleberry stack when it breaks.",
4
- "model": "omniroute/combo/freellmapi smart models",
5
- "instructions": [
6
- "~/.huckleberry/agents/hermes/AGENTS.md",
7
- "~/.huckleberry/agents/hermes/SOUL.md",
8
- "~/.huckleberry/agents/hermes/hermes-fixer.md",
9
- "~/.huckleberry/wiki/kimaki.md",
10
- "~/.huckleberry/wiki/discord.md",
11
- "~/.huckleberry/wiki/opencode.md",
12
- "~/.huckleberry/wiki/inkstone.md"
13
- ],
4
+ "prompt": "You are Hermes, the Huckleberry system administrator. At session start, BEFORE any work, read: ~/.huckleberry/agents/hermes/SOUL.md, ~/.huckleberry/agents/hermes/AGENTS.md, ~/.huckleberry/agents/hermes/hermes-fixer.md, and the wiki files in ~/.huckleberry/wiki/ (kimaki.md, discord.md, opencode.md, inkstone.md, doctor.md). When something breaks: diagnose first (or run `huckleberry doctor`), fix the root cause, verify every fix with a live test, and never print secret values. Escalate after 3 real failed attempts with what you tried, exact errors, and your recommended next step.",
14
5
  "skills": [
15
- "~/.huckleberry/agents/hermes/fix-kimaki/SKILL.md"
6
+ "fix-kimaki"
16
7
  ],
17
8
  "mcp": [
18
- "context7",
19
- "inkstone"
9
+ "context7"
20
10
  ],
21
- "tools": [
22
- "context7_query-docs",
23
- "inkstone_memory_search",
24
- "inkstone_memory_failures"
25
- ]
11
+ "tools": {
12
+ "context7_query-docs": true
13
+ }
26
14
  }
package/kanban/SKILL.md CHANGED
@@ -31,13 +31,13 @@ Use this skill when:
31
31
  5. Complete the task:
32
32
 
33
33
  ```bash
34
- bun /Users/clawdbot/clawd/workspace/kimaki-kanban/src/cli.mjs complete "$KIMAKI_KANBAN_TASK" --summary "Completed: <what changed>"
34
+ bun ~/.huckleberry/kanban/src/cli.mjs complete "$KIMAKI_KANBAN_TASK" --summary "Completed: <what changed>"
35
35
  ```
36
36
 
37
37
  5. If you are blocked:
38
38
 
39
39
  ```bash
40
- bun /Users/clawdbot/clawd/workspace/kimaki-kanban/src/cli.mjs block "$KIMAKI_KANBAN_TASK" --reason "Need human input: <specific question>"
40
+ bun ~/.huckleberry/kanban/src/cli.mjs block "$KIMAKI_KANBAN_TASK" --reason "Need human input: <specific question>"
41
41
  ```
42
42
 
43
43
  ## Workflow Templates
@@ -47,8 +47,8 @@ The kanban system supports brand-agnostic workflow templates. These are YAML fil
47
47
  ### Listing Templates
48
48
 
49
49
  ```bash
50
- bun /Users/clawdbot/clawd/workspace/kimaki-kanban/src/cli.mjs templates
51
- bun /Users/clawdbot/clawd/workspace/kimaki-kanban/src/cli.mjs templates --details
50
+ bun ~/.huckleberry/kanban/src/cli.mjs templates
51
+ bun ~/.huckleberry/kanban/src/cli.mjs templates --details
52
52
  ```
53
53
 
54
54
  ### Stamping a Template for a Brand
@@ -57,7 +57,7 @@ See **CLI Reference** below for full syntax.
57
57
 
58
58
  ## CLI Reference
59
59
 
60
- All commands: `bun /Users/clawdbot/clawd/workspace/kimaki-kanban/src/cli.mjs <command> [options]`
60
+ All commands: `bun ~/.huckleberry/kanban/src/cli.mjs <command> [options]`
61
61
 
62
62
  Common flags: `--db <path>` (default: `kanban.db` in cwd)
63
63
 
@@ -65,29 +65,29 @@ Common flags: `--db <path>` (default: `kanban.db` in cwd)
65
65
 
66
66
  ```bash
67
67
  # Create a task
68
- cli.mjs create "Task title" --tenant <business> --project <project> --assignee <agent> --skills skill1,skill2
68
+ ~/.huckleberry/kanban/src/cli.mjs create "Task title" --tenant <business> --project <project> --assignee <agent> --skills skill1,skill2
69
69
 
70
70
  # List tasks (supports all filters)
71
- cli.mjs list [--tenant <business>] [--project <project>] [--status ready|todo|in_progress|done|blocked] [--assignee <agent>] [--limit N]
71
+ ~/.huckleberry/kanban/src/cli.mjs list [--tenant <business>] [--project <project>] [--status ready|todo|in_progress|done|blocked] [--assignee <agent>] [--limit N]
72
72
 
73
73
  # Show task details
74
- cli.mjs show <task_id>
74
+ ~/.huckleberry/kanban/src/cli.mjs show <task_id>
75
75
 
76
76
  # Complete a task
77
- cli.mjs complete <task_id> --summary "What was done"
77
+ ~/.huckleberry/kanban/src/cli.mjs complete <task_id> --summary "What was done"
78
78
 
79
79
  # Block a task
80
- cli.mjs block <task_id> --reason "Why blocked"
80
+ ~/.huckleberry/kanban/src/cli.mjs block <task_id> --reason "Why blocked"
81
81
  ```
82
82
 
83
83
  ### Templates
84
84
 
85
85
  ```bash
86
86
  # List available templates
87
- cli.mjs templates [--details]
87
+ ~/.huckleberry/kanban/src/cli.mjs templates [--details]
88
88
 
89
89
  # Stamp a template (creates all tasks in the DAG)
90
- cli.mjs stamp <template-name> \
90
+ ~/.huckleberry/kanban/src/cli.mjs stamp <template-name> \
91
91
  --var topic="solar chargers" \
92
92
  --var tenant=nomadixgear \
93
93
  --project seo-hub-spoke
@@ -99,17 +99,17 @@ The `--project` flag groups tasks within a tenant by project. Use it on `create`
99
99
 
100
100
  ```bash
101
101
  # Create with project
102
- cli.mjs create "Build hub pages" --tenant enchantents --project seo-hub-spoke
102
+ ~/.huckleberry/kanban/src/cli.mjs create "Build hub pages" --tenant enchantents --project seo-hub-spoke
103
103
 
104
104
  # List only tasks for a specific project
105
- cli.mjs list --tenant enchantents --project seo-hub-spoke
105
+ ~/.huckleberry/kanban/src/cli.mjs list --tenant enchantents --project seo-hub-spoke
106
106
 
107
107
  # Stamp with project (all tasks in the DAG inherit it)
108
- cli.mjs stamp blog-social-campaign --var topic="solar chargers" --var tenant=enchantents --project seo-hub-spoke
108
+ ~/.huckleberry/kanban/src/cli.mjs stamp blog-social-campaign --var topic="solar chargers" --var tenant=enchantents --var content_tier=commodity --var digital_brain_delta="one line: what this piece adds to the brand's digital brain" --project seo-hub-spoke
109
109
  ```
110
110
 
111
111
  Available templates:
112
- - `blog-social-campaign` — Research (keywords + Reddit + PAA) → AEO triplet publish → multi-platform distribution (5 tasks)
112
+ - `blog-social-campaign` — Research (keywords + Reddit + PAA) → AEO triplet publish → multi-platform distribution (15 tasks, requires content_tier + digital_brain_delta)
113
113
  - `ai-visibility-sprint` — AI citation audit → gap analysis → content overhaul → distribute → tracking setup (5 tasks)
114
114
  - `product-launch` — Position → assets → listing + announce (4 tasks)
115
115
  - `b2b-outreach` — Scrape → research → emails → send (4 tasks)
@@ -117,7 +117,7 @@ Available templates:
117
117
 
118
118
  ### Building a New Template
119
119
 
120
- Create a YAML file in `/Users/clawdbot/clawd/workspace/kimaki-kanban/templates/`:
120
+ Create a YAML file in `~/.huckleberry/kanban/templates/`:
121
121
 
122
122
  ```yaml
123
123
  name: My Workflow
@@ -148,7 +148,7 @@ tasks:
148
148
  Write about {{topic}} using step1 results.
149
149
  ```
150
150
 
151
- Run `bun /Users/clawdbot/clawd/workspace/kimaki-kanban/src/cli.mjs stamp-help` for the full agent guide.
151
+ Run `bun ~/.huckleberry/kanban/src/cli.mjs stamp-help` for the full agent guide.
152
152
 
153
153
  ## Human Gates
154
154
 
@@ -4,6 +4,6 @@
4
4
  "version": "1.0.0",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "better-sqlite3": "^11.0.0"
7
+ "better-sqlite3": "^13.0.3"
8
8
  }
9
9
  }
@@ -181,7 +181,7 @@ function resolveAgent(assignee, mapping, fallback = 'build') {
181
181
  }
182
182
 
183
183
  const TENANT_WORKDIRS = {
184
- 'ai-employee-setup': '/Users/clawdbot/clawd/businesses/aiwithjai/ai-employee-setup',
184
+ 'ai-employee-setup': '/Users/clawdbot/clawd/businesses/huckleberry/platform/ai-employee-setup',
185
185
  'natureshares': '/Users/clawdbot/clawd/businesses/natureshares',
186
186
  'enchantents': '/Users/clawdbot/clawd/businesses/nomadixgear-sa/enchantents',
187
187
  'nomadixgear': '/Users/clawdbot/clawd/businesses/nomadixgear-sa',