@jairodri/huckleberry-cli 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (745) hide show
  1. package/README.md +85 -0
  2. package/agents/cos.json +2 -5
  3. package/agents/hermes/AGENTS.md +25 -49
  4. package/agents/hermes/fix-kimaki/SKILL.md +19 -92
  5. package/agents/hermes/hermes-fixer.md +44 -74
  6. package/agents/hermes.json +6 -18
  7. package/kanban/SKILL.md +18 -18
  8. package/kanban/package.json +1 -1
  9. package/kanban/src/dispatcher.mjs +1 -1
  10. package/kanban/templates/blog-social-campaign.yaml +6 -2
  11. package/kanban/templates/social-campaign.yaml +9 -4
  12. package/mcp/jev-calibration.mjs +335 -0
  13. package/mcp/jev-client.mjs +119 -0
  14. package/mcp/jev-thresholds.json +27 -0
  15. package/package.json +13 -9
  16. package/scripts/doctor-watchdog.sh +73 -0
  17. package/scripts/install-services.sh +34 -27
  18. package/scripts/self-improve-weekly.sh +34 -0
  19. package/scripts/sync-skills.mjs +121 -0
  20. package/skills/ab-test-setup/SKILL.md +266 -0
  21. package/skills/ab-test-setup/evals/evals.json +105 -0
  22. package/skills/ab-test-setup/references/sample-size-guide.md +263 -0
  23. package/skills/ab-test-setup/references/test-templates.md +277 -0
  24. package/skills/agent-reach/SKILL.md +132 -0
  25. package/skills/agent-reach/references/career.md +29 -0
  26. package/skills/agent-reach/references/dev.md +62 -0
  27. package/skills/agent-reach/references/search.md +33 -0
  28. package/skills/agent-reach/references/social.md +232 -0
  29. package/skills/agent-reach/references/video.md +130 -0
  30. package/skills/agent-reach/references/web.md +50 -0
  31. package/skills/ai-agent-seo/SKILL.md +450 -0
  32. package/skills/ai-cold-email-intelligence/SKILL.md +54 -0
  33. package/skills/ai-cold-email-intelligence/references/prompts.md +21 -0
  34. package/skills/ai-consensus-builder/SKILL.md +324 -0
  35. package/skills/ai-seo/SKILL.md +399 -0
  36. package/skills/ai-seo/evals/evals.json +90 -0
  37. package/skills/ai-seo/references/content-patterns.md +284 -0
  38. package/skills/ai-seo/references/platform-ranking-factors.md +152 -0
  39. package/skills/ai-visibility-audit/SKILL.md +322 -0
  40. package/skills/analytics-tracking/SKILL.md +309 -0
  41. package/skills/analytics-tracking/evals/evals.json +90 -0
  42. package/skills/analytics-tracking/references/event-library.md +260 -0
  43. package/skills/analytics-tracking/references/ga4-implementation.md +300 -0
  44. package/skills/analytics-tracking/references/gtm-implementation.md +390 -0
  45. package/skills/article-generator/SKILL.md +216 -0
  46. package/skills/auto-indexing/SKILL.md +179 -0
  47. package/skills/auto-indexing/scripts/auto-indexing.js +257 -0
  48. package/skills/auto-skill/SKILL.md +151 -0
  49. package/skills/auto-skill/correction-queue.js +102 -0
  50. package/skills/auto-skill/dedup.js +97 -0
  51. package/skills/auto-skill/skill-router.js +224 -0
  52. package/skills/autoresearch/SKILL.md +334 -0
  53. package/skills/autoresearch/autoresearch-autoresearch/SKILL.md.baseline +329 -0
  54. package/skills/autoresearch/autoresearch-autoresearch/changelog.md +34 -0
  55. package/skills/autoresearch/autoresearch-autoresearch/dashboard.html +116 -0
  56. package/skills/autoresearch/autoresearch-autoresearch/evals.md +39 -0
  57. package/skills/autoresearch/autoresearch-autoresearch/results.json +44 -0
  58. package/skills/autoresearch/autoresearch-autoresearch/results.tsv +3 -0
  59. package/skills/autoresearch/eval-guide.md +121 -0
  60. package/skills/b2b-cold-outreach/SKILL.md +322 -0
  61. package/skills/birdclaw/SKILL.md +82 -0
  62. package/skills/brainstorm/SKILL.md +168 -0
  63. package/skills/brand-kit-playground/SKILL.md +312 -0
  64. package/skills/brand-kit-playground/references/html-architecture.md +316 -0
  65. package/skills/brand-kit-playground/references/steal-patterns.md +88 -0
  66. package/skills/brand-voice/SKILL.md +223 -0
  67. package/skills/brand-voice/references/honesty-as-positioning.md +60 -0
  68. package/skills/brand-voice/references/voice-modes.md +1158 -0
  69. package/skills/business-advisory-council/README.md +136 -0
  70. package/skills/business-advisory-council/SKILL.md +94 -0
  71. package/skills/business-advisory-council/business-advisory-council.py +492 -0
  72. package/skills/business-advisory-council/discord-components-decision.json +8 -0
  73. package/skills/business-advisory-council/examples/steve-conley-partnership.json +6 -0
  74. package/skills/business-advisory-council/steve-conley-call-brief.json +6 -0
  75. package/skills/churn-prevention/SKILL.md +305 -0
  76. package/skills/churn-prevention/evals/evals.json +93 -0
  77. package/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
  78. package/skills/churn-prevention/references/dunning-playbook.md +408 -0
  79. package/skills/claw-compactor/LICENSE +21 -0
  80. package/skills/claw-compactor/README.md +459 -0
  81. package/skills/claw-compactor/SKILL.md +329 -0
  82. package/skills/claw-compactor/benchmark/RESULTS.md +104 -0
  83. package/skills/claw-compactor/benchmark/__init__.py +1 -0
  84. package/skills/claw-compactor/benchmark/compressors.py +520 -0
  85. package/skills/claw-compactor/benchmark/data/sample_01_devops.json +82 -0
  86. package/skills/claw-compactor/benchmark/data/sample_02_trading.json +54 -0
  87. package/skills/claw-compactor/benchmark/data/sample_03_ml_short.json +38 -0
  88. package/skills/claw-compactor/benchmark/data/sample_04_mixed_long.json +318 -0
  89. package/skills/claw-compactor/benchmark/data/sample_05_sysadmin.json +56 -0
  90. package/skills/claw-compactor/benchmark/evaluate.py +278 -0
  91. package/skills/claw-compactor/benchmark/report.py +241 -0
  92. package/skills/claw-compactor/benchmark/results/benchmark_results.json +405 -0
  93. package/skills/claw-compactor/benchmark/run_benchmark.py +238 -0
  94. package/skills/claw-compactor/engram.yaml +49 -0
  95. package/skills/claw-compactor/proxy/README.md +87 -0
  96. package/skills/claw-compactor/proxy/dashboard.html +804 -0
  97. package/skills/claw-compactor/proxy/event-log.mjs +213 -0
  98. package/skills/claw-compactor/proxy/fair-queue.mjs +288 -0
  99. package/skills/claw-compactor/proxy/metrics-store.mjs +425 -0
  100. package/skills/claw-compactor/proxy/package-lock.json +125 -0
  101. package/skills/claw-compactor/proxy/package.json +15 -0
  102. package/skills/claw-compactor/proxy/portal.html +360 -0
  103. package/skills/claw-compactor/proxy/process-registry.mjs +447 -0
  104. package/skills/claw-compactor/proxy/rate-limiter.mjs +117 -0
  105. package/skills/claw-compactor/proxy/redis-client.mjs +75 -0
  106. package/skills/claw-compactor/proxy/retry.mjs +182 -0
  107. package/skills/claw-compactor/proxy/server.mjs +2100 -0
  108. package/skills/claw-compactor/proxy/session-affinity.mjs +177 -0
  109. package/skills/claw-compactor/proxy/start.sh +23 -0
  110. package/skills/claw-compactor/proxy/test/event-log.test.mjs +237 -0
  111. package/skills/claw-compactor/proxy/test/helpers.mjs +103 -0
  112. package/skills/claw-compactor/proxy/test/integration.test.mjs +297 -0
  113. package/skills/claw-compactor/proxy/test/metrics-store.test.mjs +243 -0
  114. package/skills/claw-compactor/proxy/test/process-registry.test.mjs +390 -0
  115. package/skills/claw-compactor/proxy/test/rate-limiter.test.mjs +121 -0
  116. package/skills/claw-compactor/proxy/test/redis-client.test.mjs +62 -0
  117. package/skills/claw-compactor/proxy/test/token-tracker.test.mjs +200 -0
  118. package/skills/claw-compactor/proxy/token-tracker.mjs +482 -0
  119. package/skills/claw-compactor/pyproject.toml +26 -0
  120. package/skills/claw-compactor/references/README.md +44 -0
  121. package/skills/claw-compactor/references/architecture.md +197 -0
  122. package/skills/claw-compactor/references/benchmarks.md +94 -0
  123. package/skills/claw-compactor/references/compression-prompts.md +39 -0
  124. package/skills/claw-compactor/references/compression-techniques.md +219 -0
  125. package/skills/claw-compactor/references/testing.md +160 -0
  126. package/skills/claw-compactor/scripts/audit_memory.py +216 -0
  127. package/skills/claw-compactor/scripts/compress_memory.py +236 -0
  128. package/skills/claw-compactor/scripts/compressed_context.py +280 -0
  129. package/skills/claw-compactor/scripts/dedup_memory.py +147 -0
  130. package/skills/claw-compactor/scripts/dictionary_compress.py +170 -0
  131. package/skills/claw-compactor/scripts/engram-auto.sh +152 -0
  132. package/skills/claw-compactor/scripts/engram_auto.py +695 -0
  133. package/skills/claw-compactor/scripts/engram_cli.py +474 -0
  134. package/skills/claw-compactor/scripts/estimate_tokens.py +131 -0
  135. package/skills/claw-compactor/scripts/generate_summary_tiers.py +292 -0
  136. package/skills/claw-compactor/scripts/lib/__init__.py +34 -0
  137. package/skills/claw-compactor/scripts/lib/config.py +289 -0
  138. package/skills/claw-compactor/scripts/lib/dedup.py +119 -0
  139. package/skills/claw-compactor/scripts/lib/dictionary.py +281 -0
  140. package/skills/claw-compactor/scripts/lib/engram.py +793 -0
  141. package/skills/claw-compactor/scripts/lib/engram_prompts.py +175 -0
  142. package/skills/claw-compactor/scripts/lib/engram_storage.py +254 -0
  143. package/skills/claw-compactor/scripts/lib/exceptions.py +24 -0
  144. package/skills/claw-compactor/scripts/lib/markdown.py +312 -0
  145. package/skills/claw-compactor/scripts/lib/rle.py +165 -0
  146. package/skills/claw-compactor/scripts/lib/tokenizer_optimizer.py +188 -0
  147. package/skills/claw-compactor/scripts/lib/tokens.py +68 -0
  148. package/skills/claw-compactor/scripts/mem_compress.py +788 -0
  149. package/skills/claw-compactor/scripts/observation_compressor.py +346 -0
  150. package/skills/claw-compactor/tests/__init__.py +0 -0
  151. package/skills/claw-compactor/tests/conftest.py +94 -0
  152. package/skills/claw-compactor/tests/test_audit_comprehensive.py +123 -0
  153. package/skills/claw-compactor/tests/test_audit_memory.py +67 -0
  154. package/skills/claw-compactor/tests/test_benchmark.py +122 -0
  155. package/skills/claw-compactor/tests/test_cli_commands.py +228 -0
  156. package/skills/claw-compactor/tests/test_compress_memory.py +109 -0
  157. package/skills/claw-compactor/tests/test_compress_memory_comprehensive.py +191 -0
  158. package/skills/claw-compactor/tests/test_compressed_context.py +145 -0
  159. package/skills/claw-compactor/tests/test_config.py +54 -0
  160. package/skills/claw-compactor/tests/test_dedup_memory.py +124 -0
  161. package/skills/claw-compactor/tests/test_dictionary.py +327 -0
  162. package/skills/claw-compactor/tests/test_dictionary_comprehensive.py +241 -0
  163. package/skills/claw-compactor/tests/test_engram.py +1091 -0
  164. package/skills/claw-compactor/tests/test_engram_auto.py +529 -0
  165. package/skills/claw-compactor/tests/test_error_handling.py +194 -0
  166. package/skills/claw-compactor/tests/test_estimate_tokens.py +99 -0
  167. package/skills/claw-compactor/tests/test_generate_summary_tiers.py +105 -0
  168. package/skills/claw-compactor/tests/test_integration.py +249 -0
  169. package/skills/claw-compactor/tests/test_lib_dedup.py +135 -0
  170. package/skills/claw-compactor/tests/test_lib_markdown.py +388 -0
  171. package/skills/claw-compactor/tests/test_lib_tokens.py +82 -0
  172. package/skills/claw-compactor/tests/test_main_entry.py +176 -0
  173. package/skills/claw-compactor/tests/test_markdown_advanced.py +284 -0
  174. package/skills/claw-compactor/tests/test_new_features.py +77 -0
  175. package/skills/claw-compactor/tests/test_observation_comprehensive.py +261 -0
  176. package/skills/claw-compactor/tests/test_observation_compressor.py +128 -0
  177. package/skills/claw-compactor/tests/test_performance.py +172 -0
  178. package/skills/claw-compactor/tests/test_pipeline.py +109 -0
  179. package/skills/claw-compactor/tests/test_real_workspace.py +161 -0
  180. package/skills/claw-compactor/tests/test_rle.py +114 -0
  181. package/skills/claw-compactor/tests/test_rle_comprehensive.py +151 -0
  182. package/skills/claw-compactor/tests/test_roundtrip.py +253 -0
  183. package/skills/claw-compactor/tests/test_roundtrip_comprehensive.py +192 -0
  184. package/skills/claw-compactor/tests/test_tiers_comprehensive.py +171 -0
  185. package/skills/claw-compactor/tests/test_token_economics.py +237 -0
  186. package/skills/claw-compactor/tests/test_tokenizer_optimizer.py +175 -0
  187. package/skills/claw-compactor/tests/test_tokenizer_optimizer_comprehensive.py +241 -0
  188. package/skills/claw-compactor/tests/test_tokens.py +27 -0
  189. package/skills/cmo/CHANGELOG.md +61 -0
  190. package/skills/cmo/SKILL.md +500 -0
  191. package/skills/cmo/references/ai-slop-patterns.md +56 -0
  192. package/skills/cmo/references/analytics-guide.md +152 -0
  193. package/skills/cmo/references/ideas-library.md +197 -0
  194. package/skills/cmo/rules/brand-file-map.md +198 -0
  195. package/skills/cmo/rules/brand-memory.md +158 -0
  196. package/skills/cmo/rules/cli-runtime-index.md +95 -0
  197. package/skills/cmo/rules/command-reference.md +167 -0
  198. package/skills/cmo/rules/communication.md +15 -0
  199. package/skills/cmo/rules/context-switch.md +101 -0
  200. package/skills/cmo/rules/ecosystem.md +125 -0
  201. package/skills/cmo/rules/error-recovery.md +98 -0
  202. package/skills/cmo/rules/learning-loop.md +170 -0
  203. package/skills/cmo/rules/monorepo.md +78 -0
  204. package/skills/cmo/rules/output-format.md +124 -0
  205. package/skills/cmo/rules/persona.md +15 -0
  206. package/skills/cmo/rules/playbooks.md +327 -0
  207. package/skills/cmo/rules/progressive-enhancement.md +231 -0
  208. package/skills/cmo/rules/publish-index.md +106 -0
  209. package/skills/cmo/rules/quality-gate.md +90 -0
  210. package/skills/cmo/rules/recency-grounding.md +124 -0
  211. package/skills/cmo/rules/safety.md +80 -0
  212. package/skills/cmo/rules/studio-api-index.md +138 -0
  213. package/skills/cmo/rules/studio-integration.md +147 -0
  214. package/skills/cmo/rules/sub-agents.md +167 -0
  215. package/skills/cold-email/SKILL.md +240 -0
  216. package/skills/cold-email/evals/evals.json +94 -0
  217. package/skills/cold-email/references/benchmarks.md +83 -0
  218. package/skills/cold-email/references/follow-up-sequences.md +81 -0
  219. package/skills/cold-email/references/frameworks.md +90 -0
  220. package/skills/cold-email/references/personalization.md +79 -0
  221. package/skills/cold-email/references/subject-lines.md +53 -0
  222. package/skills/competitive-intel/SKILL.md +433 -0
  223. package/skills/competitive-intel/references/competitive-frameworks.md +145 -0
  224. package/skills/competitor-alternatives/SKILL.md +362 -0
  225. package/skills/competitor-alternatives/evals/evals.json +93 -0
  226. package/skills/competitor-alternatives/references/content-architecture.md +271 -0
  227. package/skills/competitor-alternatives/references/templates.md +223 -0
  228. package/skills/concreteness-fixer/SKILL.md +483 -0
  229. package/skills/concreteness-fixer/scripts/validation/concreteness-validator.js +221 -0
  230. package/skills/concreteness-fixer/utils/execFileNoThrow.js +16 -0
  231. package/skills/content-atomizer/SKILL.md +424 -0
  232. package/skills/content-atomizer/references/hook-strategies.md +56 -0
  233. package/skills/content-atomizer/references/platform-specs.md +118 -0
  234. package/skills/content-atomizer/references/platforms/bluesky.md +64 -0
  235. package/skills/content-atomizer/references/platforms/instagram.md +77 -0
  236. package/skills/content-atomizer/references/platforms/linkedin.md +120 -0
  237. package/skills/content-atomizer/references/platforms/reddit.md +73 -0
  238. package/skills/content-atomizer/references/platforms/threads.md +64 -0
  239. package/skills/content-atomizer/references/platforms/tiktok.md +55 -0
  240. package/skills/content-atomizer/references/platforms/twitter.md +123 -0
  241. package/skills/content-atomizer/references/platforms/youtube.md +56 -0
  242. package/skills/content-atomizer/references/tweet-patterns.md +40 -0
  243. package/skills/content-repost-manager/SKILL.md +245 -0
  244. package/skills/content-repost-manager/scripts/content-repost-scan.py +133 -0
  245. package/skills/context-recovery/.clawdhub/origin.json +7 -0
  246. package/skills/context-recovery/SKILL.md +198 -0
  247. package/skills/context-recovery/_meta.json +6 -0
  248. package/skills/conversion-flow-cro/SKILL.md +248 -0
  249. package/skills/conversion-flow-cro/references/flow-benchmarks.md +158 -0
  250. package/skills/copy-editing/SKILL.md +474 -0
  251. package/skills/copy-editing/evals/evals.json +89 -0
  252. package/skills/copy-editing/references/plain-english-alternatives.md +394 -0
  253. package/skills/copywriting/SKILL.md +349 -0
  254. package/skills/copywriting/evals/evals.json +111 -0
  255. package/skills/copywriting/references/awareness-level-guide.md +227 -0
  256. package/skills/copywriting/references/copy-frameworks.md +389 -0
  257. package/skills/copywriting/references/natural-transitions.md +272 -0
  258. package/skills/creative/SKILL.md +365 -0
  259. package/skills/creative/modes/ad-creative.md +1748 -0
  260. package/skills/creative/modes/product-photo.md +1520 -0
  261. package/skills/creative/modes/product-video.md +1657 -0
  262. package/skills/creative/modes/social-graphics.md +1511 -0
  263. package/skills/creative/modes/talking-head.md +2208 -0
  264. package/skills/creative/references/VISUAL_INTELLIGENCE.md +1233 -0
  265. package/skills/deep-serp-article/SKILL.md +677 -0
  266. package/skills/deep-serp-article/SKILL.md.bak +530 -0
  267. package/skills/earned-media/SKILL.md +260 -0
  268. package/skills/email-sequences/SKILL.md +446 -0
  269. package/skills/email-sequences/references/sequence-templates.md +1217 -0
  270. package/skills/firecrawl/.skill-meta.json +13 -0
  271. package/skills/firecrawl/SKILL.md +154 -0
  272. package/skills/firecrawl/rules/install.md +63 -0
  273. package/skills/firecrawl/rules/security.md +26 -0
  274. package/skills/form-cro/SKILL.md +429 -0
  275. package/skills/form-cro/evals/evals.json +90 -0
  276. package/skills/free-tool-strategy/SKILL.md +325 -0
  277. package/skills/free-tool-strategy/evals/evals.json +90 -0
  278. package/skills/free-tool-strategy/references/tool-types.md +253 -0
  279. package/skills/frontend-slides/SKILL.md +248 -0
  280. package/skills/frontend-slides/STYLE_PRESETS.md +347 -0
  281. package/skills/frontend-slides/animation-patterns.md +110 -0
  282. package/skills/frontend-slides/html-template.md +347 -0
  283. package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  284. package/skills/frontend-slides/viewport-base.css +153 -0
  285. package/skills/guardrail-framework/SKILL.md +319 -0
  286. package/skills/hook-generator/SKILL.md +438 -0
  287. package/skills/hook-generator/database/2026-PLATFORM-RESEARCH.md +211 -0
  288. package/skills/hook-generator/database/instagram-hooks.json +591 -0
  289. package/skills/hook-generator/database/linkedin-hooks.json +502 -0
  290. package/skills/hook-generator/database/medium-hooks.json +181 -0
  291. package/skills/hook-generator/database/tiktok-hooks.json +337 -0
  292. package/skills/hook-generator/database/twitter-hooks.json +567 -0
  293. package/skills/hook-generator/database/youtube-hooks.json +275 -0
  294. package/skills/hook-generator/package-lock.json +24 -0
  295. package/skills/hook-generator/package.json +5 -0
  296. package/skills/hook-generator/references/hook-generation-system.md +257 -0
  297. package/skills/hook-generator/references/hook-performance-analysis.json +153 -0
  298. package/skills/hook-generator/references/hooks-library.md +128 -0
  299. package/skills/hook-generator/references/platform-hook-frameworks.md +275 -0
  300. package/skills/hook-generator/scripts/generate-hooks-unified.js +722 -0
  301. package/skills/hook-generator/scripts/generate-hooks.js +225 -0
  302. package/skills/hook-generator/scripts/generate.sh +36 -0
  303. package/skills/hook-generator/scripts/ralph-hook-enhancer.js +864 -0
  304. package/skills/hook-generator/scripts/test-gemini-output.js +51 -0
  305. package/skills/humanizer/README.md +120 -0
  306. package/skills/humanizer/SKILL.md +699 -0
  307. package/skills/image-gen/SKILL.md +277 -0
  308. package/skills/image-gen/references/prompt-patterns.md +114 -0
  309. package/skills/image-gen/references/visual-metaphors.md +51 -0
  310. package/skills/impeccable/SKILL.md +86 -0
  311. package/skills/impeccable/reference/adapt.md +312 -0
  312. package/skills/impeccable/reference/adapt.native.md +58 -0
  313. package/skills/impeccable/reference/android.md +40 -0
  314. package/skills/impeccable/reference/animate.md +86 -0
  315. package/skills/impeccable/reference/audit.md +136 -0
  316. package/skills/impeccable/reference/audit.native.md +139 -0
  317. package/skills/impeccable/reference/bolder.md +31 -0
  318. package/skills/impeccable/reference/clarify.md +94 -0
  319. package/skills/impeccable/reference/colorize.md +86 -0
  320. package/skills/impeccable/reference/craft-floor.md +42 -0
  321. package/skills/impeccable/reference/craft.md +5 -0
  322. package/skills/impeccable/reference/critique.md +788 -0
  323. package/skills/impeccable/reference/degraded/asset-producer.md +90 -0
  324. package/skills/impeccable/reference/degraded/documenter.md +24 -0
  325. package/skills/impeccable/reference/degraded/finish-reviewer.md +37 -0
  326. package/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
  327. package/skills/impeccable/reference/delight.md +70 -0
  328. package/skills/impeccable/reference/distill.md +111 -0
  329. package/skills/impeccable/reference/doctor.md +53 -0
  330. package/skills/impeccable/reference/document.md +416 -0
  331. package/skills/impeccable/reference/extract.md +69 -0
  332. package/skills/impeccable/reference/harden.md +336 -0
  333. package/skills/impeccable/reference/hooks.md +105 -0
  334. package/skills/impeccable/reference/init.md +125 -0
  335. package/skills/impeccable/reference/ios.md +45 -0
  336. package/skills/impeccable/reference/layout.md +84 -0
  337. package/skills/impeccable/reference/live-setup.md +102 -0
  338. package/skills/impeccable/reference/live.md +323 -0
  339. package/skills/impeccable/reference/new-work.md +110 -0
  340. package/skills/impeccable/reference/onboard.md +234 -0
  341. package/skills/impeccable/reference/operate.md +61 -0
  342. package/skills/impeccable/reference/optimize.md +258 -0
  343. package/skills/impeccable/reference/overdrive.md +127 -0
  344. package/skills/impeccable/reference/polish.md +97 -0
  345. package/skills/impeccable/reference/quieter.md +99 -0
  346. package/skills/impeccable/reference/routing.md +18 -0
  347. package/skills/impeccable/reference/shape.md +59 -0
  348. package/skills/impeccable/reference/typeset.md +80 -0
  349. package/skills/impeccable/reference/visualize.md +49 -0
  350. package/skills/impeccable/scripts/command-metadata.json +94 -0
  351. package/skills/impeccable/scripts/concept-seed.mjs +558 -0
  352. package/skills/impeccable/scripts/context-signals.mjs +334 -0
  353. package/skills/impeccable/scripts/context.mjs +1467 -0
  354. package/skills/impeccable/scripts/critique-storage.mjs +213 -0
  355. package/skills/impeccable/scripts/detect-csp.mjs +198 -0
  356. package/skills/impeccable/scripts/detect.mjs +21 -0
  357. package/skills/impeccable/scripts/detector/browser/injected/index.mjs +2023 -0
  358. package/skills/impeccable/scripts/detector/cli/main.mjs +438 -0
  359. package/skills/impeccable/scripts/detector/design-system.mjs +1046 -0
  360. package/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +8283 -0
  361. package/skills/impeccable/scripts/detector/detect-antipatterns.mjs +50 -0
  362. package/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +372 -0
  363. package/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +1168 -0
  364. package/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +1186 -0
  365. package/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +264 -0
  366. package/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  367. package/skills/impeccable/scripts/detector/findings.mjs +18 -0
  368. package/skills/impeccable/scripts/detector/node/file-system.mjs +203 -0
  369. package/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  370. package/skills/impeccable/scripts/detector/registry/antipatterns.mjs +617 -0
  371. package/skills/impeccable/scripts/detector/rules/checks.mjs +5580 -0
  372. package/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
  373. package/skills/impeccable/scripts/detector/shared/constants.mjs +112 -0
  374. package/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
  375. package/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
  376. package/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  377. package/skills/impeccable/scripts/doctor.mjs +336 -0
  378. package/skills/impeccable/scripts/embed-prompt.mjs +133 -0
  379. package/skills/impeccable/scripts/generate-image.mjs +240 -0
  380. package/skills/impeccable/scripts/hook-admin.mjs +801 -0
  381. package/skills/impeccable/scripts/hook-before-edit.mjs +508 -0
  382. package/skills/impeccable/scripts/hook-lib.mjs +2153 -0
  383. package/skills/impeccable/scripts/hook.mjs +78 -0
  384. package/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
  385. package/skills/impeccable/scripts/lib/composition-catalog.mjs +200 -0
  386. package/skills/impeccable/scripts/lib/concept-catalog.mjs +384 -0
  387. package/skills/impeccable/scripts/lib/design-parser.mjs +925 -0
  388. package/skills/impeccable/scripts/lib/impeccable-config.mjs +658 -0
  389. package/skills/impeccable/scripts/lib/impeccable-paths.mjs +137 -0
  390. package/skills/impeccable/scripts/lib/is-generated.mjs +69 -0
  391. package/skills/impeccable/scripts/lib/provider.mjs +5 -0
  392. package/skills/impeccable/scripts/lib/roll-selection.mjs +362 -0
  393. package/skills/impeccable/scripts/lib/staleness-deep.mjs +478 -0
  394. package/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
  395. package/skills/impeccable/scripts/lib/staleness.mjs +457 -0
  396. package/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
  397. package/skills/impeccable/scripts/lib/target-args.mjs +42 -0
  398. package/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
  399. package/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
  400. package/skills/impeccable/scripts/live/accept-css.mjs +617 -0
  401. package/skills/impeccable/scripts/live/accept-verify.mjs +60 -0
  402. package/skills/impeccable/scripts/live/browser-script-parts.mjs +55 -0
  403. package/skills/impeccable/scripts/live/completion.mjs +28 -0
  404. package/skills/impeccable/scripts/live/event-validation.mjs +199 -0
  405. package/skills/impeccable/scripts/live/frameworks/astro.mjs +47 -0
  406. package/skills/impeccable/scripts/live/frameworks/detect-utils.mjs +73 -0
  407. package/skills/impeccable/scripts/live/frameworks/index.mjs +143 -0
  408. package/skills/impeccable/scripts/live/frameworks/journal.mjs +197 -0
  409. package/skills/impeccable/scripts/live/frameworks/nextjs.mjs +49 -0
  410. package/skills/impeccable/scripts/live/frameworks/nuxt.mjs +161 -0
  411. package/skills/impeccable/scripts/live/frameworks/script-src.mjs +17 -0
  412. package/skills/impeccable/scripts/live/frameworks/static-html.mjs +26 -0
  413. package/skills/impeccable/scripts/live/frameworks/sveltekit.mjs +71 -0
  414. package/skills/impeccable/scripts/live/frameworks/tag-strategy.mjs +247 -0
  415. package/skills/impeccable/scripts/live/frameworks/tanstack-start.mjs +70 -0
  416. package/skills/impeccable/scripts/live/frameworks/vite-generic.mjs +42 -0
  417. package/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
  418. package/skills/impeccable/scripts/live/insert-ui.mjs +458 -0
  419. package/skills/impeccable/scripts/live/instructions.mjs +142 -0
  420. package/skills/impeccable/scripts/live/manual-apply.mjs +939 -0
  421. package/skills/impeccable/scripts/live/manual-edit-routes.mjs +357 -0
  422. package/skills/impeccable/scripts/live/manual-edits-buffer.mjs +152 -0
  423. package/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
  424. package/skills/impeccable/scripts/live/roots.mjs +508 -0
  425. package/skills/impeccable/scripts/live/session-store.mjs +563 -0
  426. package/skills/impeccable/scripts/live/source-lock.mjs +105 -0
  427. package/skills/impeccable/scripts/live/source-search.mjs +105 -0
  428. package/skills/impeccable/scripts/live/svelte-ast.mjs +961 -0
  429. package/skills/impeccable/scripts/live/svelte-component.mjs +1342 -0
  430. package/skills/impeccable/scripts/live/sveltekit-adapter.mjs +316 -0
  431. package/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
  432. package/skills/impeccable/scripts/live/ui-core.mjs +180 -0
  433. package/skills/impeccable/scripts/live/vocabulary.mjs +171 -0
  434. package/skills/impeccable/scripts/live-accept.mjs +954 -0
  435. package/skills/impeccable/scripts/live-browser-dom.js +146 -0
  436. package/skills/impeccable/scripts/live-browser-session.js +123 -0
  437. package/skills/impeccable/scripts/live-browser.js +12520 -0
  438. package/skills/impeccable/scripts/live-commit-manual-edits.mjs +1244 -0
  439. package/skills/impeccable/scripts/live-complete.mjs +107 -0
  440. package/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
  441. package/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
  442. package/skills/impeccable/scripts/live-inject.mjs +503 -0
  443. package/skills/impeccable/scripts/live-insert.mjs +292 -0
  444. package/skills/impeccable/scripts/live-manual-edit-evidence.mjs +368 -0
  445. package/skills/impeccable/scripts/live-poll.mjs +429 -0
  446. package/skills/impeccable/scripts/live-resume.mjs +123 -0
  447. package/skills/impeccable/scripts/live-server.mjs +1669 -0
  448. package/skills/impeccable/scripts/live-status.mjs +71 -0
  449. package/skills/impeccable/scripts/live-target.mjs +30 -0
  450. package/skills/impeccable/scripts/live-wrap.mjs +927 -0
  451. package/skills/impeccable/scripts/live.mjs +359 -0
  452. package/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  453. package/skills/impeccable/scripts/palette.mjs +628 -0
  454. package/skills/impeccable/scripts/pin.mjs +221 -0
  455. package/skills/impeccable/scripts/serve-question.mjs +932 -0
  456. package/skills/impeccable/scripts/surface-brief.mjs +74 -0
  457. package/skills/inkstone-admin/SKILL.md +66 -0
  458. package/skills/jev-hook-gate/SKILL.md +111 -0
  459. package/skills/keyword-research/SKILL.md +503 -0
  460. package/skills/keyword-research/references/dr-cap-and-confidence.md +62 -0
  461. package/skills/keyword-research/references/keyword-examples.md +769 -0
  462. package/skills/landing-page-architect/SKILL.md +585 -0
  463. package/skills/landing-page-architect/references/architecture-reference.md +32 -0
  464. package/skills/launch-strategy/SKILL.md +384 -0
  465. package/skills/launch-strategy/evals/evals.json +91 -0
  466. package/skills/launch-strategy/references/launch-checklist.md +209 -0
  467. package/skills/launch-strategy/references/launch-timeline.md +159 -0
  468. package/skills/lead-email-craft/SKILL.md +522 -0
  469. package/skills/lead-magnets/SKILL.md +310 -0
  470. package/skills/lead-magnets/references/benchmarks.md +129 -0
  471. package/skills/lead-magnets/references/format-guide.md +196 -0
  472. package/skills/link-building-seo/SKILL.md +210 -0
  473. package/skills/lint-report.txt +1 -0
  474. package/skills/manifest.json +129 -0
  475. package/skills/marketing-demo/SKILL.md +249 -0
  476. package/skills/marketing-demo/references/remotion-examples.md +281 -0
  477. package/skills/marketing-ideas/SKILL.md +167 -0
  478. package/skills/marketing-ideas/evals/evals.json +90 -0
  479. package/skills/marketing-ideas/references/ideas-by-category.md +366 -0
  480. package/skills/marketing-psychology/SKILL.md +374 -0
  481. package/skills/marketing-psychology/evals/evals.json +88 -0
  482. package/skills/marketing-psychology/references/case-studies.md +148 -0
  483. package/skills/narrative-research-article/SKILL.md +469 -0
  484. package/skills/narrative-research-article/references/lanusse-patterns.md +166 -0
  485. package/skills/notebooklm/SKILL.md +674 -0
  486. package/skills/off-page-seo/SKILL.md +219 -0
  487. package/skills/onboarding-cro/SKILL.md +220 -0
  488. package/skills/onboarding-cro/evals/evals.json +92 -0
  489. package/skills/onboarding-cro/references/experiments.md +258 -0
  490. package/skills/original-research/SKILL.md +388 -0
  491. package/skills/page-cro/SKILL.md +269 -0
  492. package/skills/page-cro/references/cro-benchmarks.md +140 -0
  493. package/skills/paper-marketing/SKILL.md +448 -0
  494. package/skills/paper-marketing/references/agent-quality-rubric.md +68 -0
  495. package/skills/paper-marketing/references/brand-system-template.md +120 -0
  496. package/skills/paper-marketing/references/paper-mcp-rules.md +71 -0
  497. package/skills/paper-marketing/references/platform-conventions.md +43 -0
  498. package/skills/paywall-upgrade-cro/SKILL.md +227 -0
  499. package/skills/paywall-upgrade-cro/evals/evals.json +93 -0
  500. package/skills/paywall-upgrade-cro/references/experiments.md +164 -0
  501. package/skills/platform-formatting/SKILL.md +51 -0
  502. package/skills/popup-cro/SKILL.md +454 -0
  503. package/skills/popup-cro/evals/evals.json +94 -0
  504. package/skills/positioning-angles/SKILL.md +524 -0
  505. package/skills/positioning-angles/references/ad-matrix-and-examples.md +176 -0
  506. package/skills/positioning-angles/references/angle-frameworks.md +187 -0
  507. package/skills/positioning-angles/references/dunford-positioning.md +135 -0
  508. package/skills/positioning-angles/references/hormozi-offer.md +247 -0
  509. package/skills/positioning-angles/references/schwartz-sophistication.md +166 -0
  510. package/skills/positioning-angles/references/unique-mechanism.md +162 -0
  511. package/skills/pricing-strategy/SKILL.md +346 -0
  512. package/skills/pricing-strategy/evals/evals.json +90 -0
  513. package/skills/pricing-strategy/references/research-methods.md +152 -0
  514. package/skills/pricing-strategy/references/tier-structure.md +307 -0
  515. package/skills/programmatic-seo/SKILL.md +238 -0
  516. package/skills/programmatic-seo/evals/evals.json +94 -0
  517. package/skills/programmatic-seo/references/playbooks.md +308 -0
  518. package/skills/project-rag/SKILL.md +127 -0
  519. package/skills/quality-gate/SKILL.md +519 -0
  520. package/skills/quality-gate/judge-personas/buyer.md +47 -0
  521. package/skills/quality-gate/judge-personas/expert.md +47 -0
  522. package/skills/quality-gate/judge-personas/outsider.md +47 -0
  523. package/skills/quality-gate/judge-personas/scanner.md +41 -0
  524. package/skills/quality-gate/judge-personas/skeptic.md +40 -0
  525. package/skills/referral-program/SKILL.md +290 -0
  526. package/skills/referral-program/evals/evals.json +89 -0
  527. package/skills/referral-program/references/affiliate-programs.md +163 -0
  528. package/skills/referral-program/references/program-examples.md +143 -0
  529. package/skills/review-sites/SKILL.md +279 -0
  530. package/skills/revops/SKILL.md +343 -0
  531. package/skills/revops/evals/evals.json +91 -0
  532. package/skills/revops/references/automation-playbooks.md +290 -0
  533. package/skills/revops/references/lifecycle-definitions.md +278 -0
  534. package/skills/revops/references/routing-rules.md +203 -0
  535. package/skills/revops/references/scoring-models.md +247 -0
  536. package/skills/saas-product-seo/SKILL.md +324 -0
  537. package/skills/sales-enablement/SKILL.md +349 -0
  538. package/skills/sales-enablement/evals/evals.json +91 -0
  539. package/skills/sales-enablement/references/deck-frameworks.md +263 -0
  540. package/skills/sales-enablement/references/demo-scripts.md +355 -0
  541. package/skills/sales-enablement/references/objection-library.md +270 -0
  542. package/skills/sales-enablement/references/one-pager-templates.md +208 -0
  543. package/skills/schema-markup/SKILL.md +179 -0
  544. package/skills/schema-markup/evals/evals.json +87 -0
  545. package/skills/schema-markup/references/schema-examples.md +398 -0
  546. package/skills/self-improve/SKILL.md +166 -0
  547. package/skills/self-improving-agent/README.md +243 -0
  548. package/skills/self-improving-agent/SKILL.md +437 -0
  549. package/skills/self-improving-agent/scripts/__init__.py +16 -0
  550. package/skills/self-improving-agent/scripts/__pycache__/auto_detect.cpython-314.pyc +0 -0
  551. package/skills/self-improving-agent/scripts/__pycache__/nlm_curation.cpython-314.pyc +0 -0
  552. package/skills/self-improving-agent/scripts/__pycache__/self_improving_agent.cpython-314.pyc +0 -0
  553. package/skills/self-improving-agent/scripts/auto_detect.py +270 -0
  554. package/skills/self-improving-agent/scripts/init_expertise_registry.py +89 -0
  555. package/skills/self-improving-agent/scripts/nlm_curation.py +259 -0
  556. package/skills/self-improving-agent/scripts/self-improving-agent +113 -0
  557. package/skills/self-improving-agent/scripts/self_improving_agent.py +603 -0
  558. package/skills/self-improving-agent/scripts/test_curation_scorer.py +20 -0
  559. package/skills/self-improving-agent/scripts/test_self_improving.py +184 -0
  560. package/skills/send-email/SKILL.md +426 -0
  561. package/skills/send-email/references/batch-email-examples.md +807 -0
  562. package/skills/send-email/references/best-practices.md +453 -0
  563. package/skills/send-email/references/installation.md +123 -0
  564. package/skills/send-email/references/single-email-examples.md +470 -0
  565. package/skills/send-email/references/webhooks.md +221 -0
  566. package/skills/seo-audit/SKILL.md +362 -0
  567. package/skills/seo-audit/references/ai-writing-detection.md +200 -0
  568. package/skills/seo-audit/references/architecture-patterns.md +271 -0
  569. package/skills/seo-audit/references/schema-templates.md +427 -0
  570. package/skills/seo-content/SKILL.md +510 -0
  571. package/skills/seo-content/references/anti-ai-detection.md +184 -0
  572. package/skills/seo-content/references/content-structures.md +148 -0
  573. package/skills/seo-content/references/eeat-examples.md +235 -0
  574. package/skills/seo-content/references/on-page-seo.md +261 -0
  575. package/skills/seo-content/references/pseo-playbooks.md +226 -0
  576. package/skills/seo-content/references/schema-templates.md +104 -0
  577. package/skills/seo-content/references/serp-analysis-format.md +151 -0
  578. package/skills/seo-machine/SKILL.md +331 -0
  579. package/skills/seo-machine/assets/brand-template.md +73 -0
  580. package/skills/seo-machine/assets/link-inventory-template.md +74 -0
  581. package/skills/seo-machine/assets/roadmap-template.md +184 -0
  582. package/skills/seo-machine/references/api-stack-recipes.md +230 -0
  583. package/skills/seo-machine/references/exa-recipes.md +260 -0
  584. package/skills/seo-machine/references/manual-research.md +73 -0
  585. package/skills/seo-machine/references/methodology.md +87 -0
  586. package/skills/seo-machine/references/off-page.md +123 -0
  587. package/skills/seo-machine/references/patterns/alternatives.md +176 -0
  588. package/skills/seo-machine/references/patterns/compare.md +105 -0
  589. package/skills/seo-machine/references/patterns/playbooks.md +106 -0
  590. package/skills/seo-machine/references/patterns/use-case.md +109 -0
  591. package/skills/seo-machine/references/quality-bars.md +99 -0
  592. package/skills/seo-machine/references/stacks/astro.md +156 -0
  593. package/skills/seo-machine/references/stacks/detection.md +61 -0
  594. package/skills/seo-machine/references/stacks/markdown-fallback.md +181 -0
  595. package/skills/seo-machine/references/stacks/nextjs.md +108 -0
  596. package/skills/seo-machine/references/stacks/rails-inertia.md +99 -0
  597. package/skills/seo-machine/references/striking-distance.md +116 -0
  598. package/skills/seo-machine/references/technical-audit.md +153 -0
  599. package/skills/seo-machine/scripts/link_audit.py +265 -0
  600. package/skills/seo-machine/scripts/tech_audit.py +221 -0
  601. package/skills/seo-machine/scripts/word_count.py +154 -0
  602. package/skills/sharp-thesis-validator/SKILL.md +393 -0
  603. package/skills/sharp-thesis-validator/examples.md +186 -0
  604. package/skills/signup-flow-cro/SKILL.md +359 -0
  605. package/skills/signup-flow-cro/evals/evals.json +88 -0
  606. package/skills/site-architecture/SKILL.md +357 -0
  607. package/skills/site-architecture/evals/evals.json +88 -0
  608. package/skills/site-architecture/references/mermaid-templates.md +216 -0
  609. package/skills/site-architecture/references/navigation-patterns.md +305 -0
  610. package/skills/site-architecture/references/site-type-templates.md +293 -0
  611. package/skills/skill-self-improvement/SKILL.md +151 -0
  612. package/skills/slideshow-script/SKILL.md +274 -0
  613. package/skills/slideshow-script/references/content-spec-schema.md +77 -0
  614. package/skills/slideshow-script/references/frameworks.md +84 -0
  615. package/skills/slideshow-script/references/paips-framework.md +37 -0
  616. package/skills/social-campaign/SKILL.md +419 -0
  617. package/skills/social-campaign/references/paper-mcp-workflow.md +48 -0
  618. package/skills/social-content/SKILL.md +359 -0
  619. package/skills/social-content/evals/evals.json +92 -0
  620. package/skills/social-content/references/platforms.md +170 -0
  621. package/skills/social-content/references/post-templates.md +177 -0
  622. package/skills/social-content/references/reverse-engineering.md +195 -0
  623. package/skills/social-worker/SKILL.md +204 -0
  624. package/skills/startup-launcher/SKILL.md +252 -0
  625. package/skills/startup-launcher/references/file-router.md +64 -0
  626. package/skills/startup-launcher/references/platform-matrix.md +65 -0
  627. package/skills/startup-launcher/references/platforms/alternativeto.md +283 -0
  628. package/skills/startup-launcher/references/platforms/appsumo.md +495 -0
  629. package/skills/startup-launcher/references/platforms/auraplusplus.md +736 -0
  630. package/skills/startup-launcher/references/platforms/betalist.md +98 -0
  631. package/skills/startup-launcher/references/platforms/capterra.md +276 -0
  632. package/skills/startup-launcher/references/platforms/crunchbase.md +514 -0
  633. package/skills/startup-launcher/references/platforms/dealify.md +291 -0
  634. package/skills/startup-launcher/references/platforms/dealmirror.md +313 -0
  635. package/skills/startup-launcher/references/platforms/desifounder.md +490 -0
  636. package/skills/startup-launcher/references/platforms/devhunt.md +210 -0
  637. package/skills/startup-launcher/references/platforms/devpost.md +448 -0
  638. package/skills/startup-launcher/references/platforms/fazier.md +56 -0
  639. package/skills/startup-launcher/references/platforms/firsto.md +489 -0
  640. package/skills/startup-launcher/references/platforms/g2.md +226 -0
  641. package/skills/startup-launcher/references/platforms/hackernews.md +99 -0
  642. package/skills/startup-launcher/references/platforms/hackernoon.md +385 -0
  643. package/skills/startup-launcher/references/platforms/indiedeals.md +367 -0
  644. package/skills/startup-launcher/references/platforms/indiehackers.md +80 -0
  645. package/skills/startup-launcher/references/platforms/kenmoo.md +231 -0
  646. package/skills/startup-launcher/references/platforms/labstartups.md +618 -0
  647. package/skills/startup-launcher/references/platforms/launchboard.md +307 -0
  648. package/skills/startup-launcher/references/platforms/launchfast.md +560 -0
  649. package/skills/startup-launcher/references/platforms/launchigniter.md +56 -0
  650. package/skills/startup-launcher/references/platforms/launchingnext.md +674 -0
  651. package/skills/startup-launcher/references/platforms/launchit.md +574 -0
  652. package/skills/startup-launcher/references/platforms/launchyourapp.md +677 -0
  653. package/skills/startup-launcher/references/platforms/libhunt.md +220 -0
  654. package/skills/startup-launcher/references/platforms/ltdhunt.md +221 -0
  655. package/skills/startup-launcher/references/platforms/microlaunch.md +45 -0
  656. package/skills/startup-launcher/references/platforms/openalternative.md +195 -0
  657. package/skills/startup-launcher/references/platforms/peerlist.md +56 -0
  658. package/skills/startup-launcher/references/platforms/peerpush.md +64 -0
  659. package/skills/startup-launcher/references/platforms/primeclub.md +282 -0
  660. package/skills/startup-launcher/references/platforms/productcanyon.md +190 -0
  661. package/skills/startup-launcher/references/platforms/producthunt.md +98 -0
  662. package/skills/startup-launcher/references/platforms/rankinpublic.md +315 -0
  663. package/skills/startup-launcher/references/platforms/rockethub.md +374 -0
  664. package/skills/startup-launcher/references/platforms/saasgenius.md +175 -0
  665. package/skills/startup-launcher/references/platforms/saashub.md +205 -0
  666. package/skills/startup-launcher/references/platforms/saasmantra.md +221 -0
  667. package/skills/startup-launcher/references/platforms/saaspirate.md +287 -0
  668. package/skills/startup-launcher/references/platforms/saaswarrior.md +190 -0
  669. package/skills/startup-launcher/references/platforms/saaszilla.md +194 -0
  670. package/skills/startup-launcher/references/platforms/selected.md +925 -0
  671. package/skills/startup-launcher/references/platforms/sideprojectors.md +86 -0
  672. package/skills/startup-launcher/references/platforms/softonic.md +240 -0
  673. package/skills/startup-launcher/references/platforms/sourceforge.md +251 -0
  674. package/skills/startup-launcher/references/platforms/stacksocial.md +244 -0
  675. package/skills/startup-launcher/references/platforms/startupstash.md +326 -0
  676. package/skills/startup-launcher/references/platforms/theresanaiforthat.md +253 -0
  677. package/skills/startup-launcher/references/platforms/tinylaunch.md +70 -0
  678. package/skills/startup-launcher/references/platforms/tinystartups.md +72 -0
  679. package/skills/startup-launcher/references/platforms/toolfolio.md +291 -0
  680. package/skills/startup-launcher/references/platforms/trustmrr.md +194 -0
  681. package/skills/startup-launcher/references/platforms/trylaunch.md +531 -0
  682. package/skills/startup-launcher/references/platforms/uneed.md +57 -0
  683. package/skills/startup-launcher/references/templates/asset-checklist.md +218 -0
  684. package/skills/startup-launcher/references/templates/launch-tracker.md +195 -0
  685. package/skills/startup-launcher/references/templates/product-brief.md +98 -0
  686. package/skills/summarize/.skill-meta.json +13 -0
  687. package/skills/summarize/SKILL.md +170 -0
  688. package/skills/summarize/rules/install.md +157 -0
  689. package/skills/summarize/rules/usage.md +207 -0
  690. package/skills/topical-authority/SKILL.md +307 -0
  691. package/skills/topical-authority/references/jake-ward-framework.md +201 -0
  692. package/skills/topical-authority/references/serp-clustering-algorithm.md +325 -0
  693. package/skills/topical-authority/scripts/orchestrator.js +367 -0
  694. package/skills/topical-authority/scripts/seo/analyze-competitor-coverage.js +3 -0
  695. package/skills/topical-authority/scripts/seo/audit-internal-links.js +3 -0
  696. package/skills/topical-authority/scripts/seo/build-clusters-from-serp.js +3 -0
  697. package/skills/topical-authority/scripts/seo/extract-keywords-from-forums.js +3 -0
  698. package/skills/topical-authority/scripts/seo/extract-paa-questions.js +3 -0
  699. package/skills/topical-authority/scripts/seo/fetch-serp-urls.js +3 -0
  700. package/skills/topical-authority/scripts/seo/gemini-serp-clustering.js +3 -0
  701. package/skills/topical-authority/scripts/seo/identify-content-gaps.js +3 -0
  702. package/skills/topical-authority/scripts/seo/identify-research-gaps.js +3 -0
  703. package/skills/topical-authority/scripts/seo/scrape-quora-questions.js +3 -0
  704. package/skills/topical-authority/scripts/seo/scrape-reddit-pain-points.js +3 -0
  705. package/skills/topical-authority/scripts/seo/weave-internal-links.js +3 -0
  706. package/skills/visual-style/SKILL.md +199 -0
  707. package/skills/voice-brand-alignment/SKILL.md +70 -0
  708. package/skills/voice-brand-alignment/references/ai-slop-patterns.md +405 -0
  709. package/skills/voice-brand-alignment/scripts/validation/gemini-voice-validator.js +96 -0
  710. package/skills/voice-extraction/SKILL.md +234 -0
  711. package/skills/voice-extraction/references/extraction-prompt.md +155 -0
  712. package/skills/voice-extraction/references/voice-dna-template.md +168 -0
  713. package/skills/voice-extraction/references/voice-elements.md +259 -0
  714. package/skills/voice-extraction/scripts/build-corpus.js +120 -0
  715. package/skills/voice-extraction/scripts/collect-sources.sh +168 -0
  716. package/skills/warm-outbound/SKILL.md +299 -0
  717. package/skills/warm-outbound/templates/warm-message.md +39 -0
  718. package/skills/weekly-newsletter-digest/SKILL.md +78 -0
  719. package/skills/x-playwriter/SKILL.md +428 -0
  720. package/skills/x-playwriter/scripts/x-browser.js +185 -0
  721. package/skills/x-post-generator-openclaw/SKILL.md +138 -0
  722. package/skills/x-post-generator-openclaw/scripts/generate-x-post.js +537 -0
  723. package/skills/x-posting-playwriter/SKILL.md +203 -0
  724. package/skills/x-research/SKILL.md +129 -0
  725. package/skills/x-research/x-research.sh +85 -0
  726. package/skills/youtube-summarize/SKILL.md +90 -0
  727. package/skills/youtube-summarize/scripts/youtube-summarize.sh +143 -0
  728. package/src/cli.js +349 -172
  729. package/src/harness/deepseek-adapter.js +102 -0
  730. package/src/harness/deepseek.js +225 -0
  731. package/src/harness/opencode-adapter.js +174 -0
  732. package/src/harness/pi-adapter.js +172 -0
  733. package/src/harness/registry.js +121 -0
  734. package/src/harness/telemetry.js +102 -0
  735. package/src/harness/types.js +165 -0
  736. package/src/interview.js +36 -4
  737. package/src/postinstall.js +10 -12
  738. package/templates/AGENTS.md +17 -17
  739. package/templates/ORG.md +1 -1
  740. package/templates/TOOLS.md +7 -2
  741. package/templates/opencode.json +26 -29
  742. package/wiki/doctor.md +54 -0
  743. package/wiki/inkstone.md +4 -4
  744. package/wiki/opencode.md +3 -3
  745. package/skills/curated.txt +0 -68
@@ -0,0 +1,1520 @@
1
+ # Product Photo Mode
2
+ **depends-on: [hook-generator]**
3
+
4
+ Generate professional product photography that sells. Not generic AI images — strategic visual assets that highlight product value, create desire, and convert viewers to buyers.
5
+
6
+ **Loaded by:** `creative/SKILL.md` when user selects mode 1 (Product Photos).
7
+ **Model selection:** Handled by `brand/stack.md` — never hardcode model IDs in prompts or workflows.
8
+ **Brand consistency:** Reads from `./brand/creative-kit.md` before every generation.
9
+
10
+ ---
11
+
12
+ ## Why This Mode Exists
13
+
14
+ **The problem:** Most AI product photos fail because they:
15
+ 1. Look obviously AI-generated (uncanny details, wrong reflections)
16
+ 2. Don't follow commercial photography principles
17
+ 3. Miss what makes products sell (features hidden, benefits unclear)
18
+ 4. Ignore platform-specific requirements (Amazon vs Instagram vs hero banners)
19
+
20
+ **The solution:** A systematic approach that:
21
+ - Uses proven commercial photography techniques in prompts
22
+ - Optimizes for specific platforms and use cases
23
+ - Highlights product benefits, not just appearance
24
+ - Creates desire through strategic styling and context
25
+ - Enforces e-commerce compliance automatically
26
+ - Supports reference-image workflows for brand-locked assets
27
+ - Generates complete shoot sets in a single command
28
+
29
+ ---
30
+
31
+ ## Model Selection
32
+
33
+ **Do NOT hardcode model IDs.** Always refer to `brand/stack.md` for the current default image model and its verified API payload.
34
+
35
+ Check `brand/stack.md` for the currently configured default image model. The specific model varies per project.
36
+
37
+ ### How to Call
38
+
39
+ 1. Open `brand/stack.md`
40
+ 2. Find the **Image Generation** section
41
+ 3. Copy the verified payload structure
42
+ 4. Insert your constructed prompt and desired aspect ratio
43
+ 5. Execute the API call via your configured generation provider
44
+
45
+ ### Reference Image Workflow (Image-to-Image)
46
+
47
+ When the user provides an existing product photo, brand reference, or style example, use the `image_input` parameter from MODEL_REGISTRY.md to guide generation.
48
+
49
+ **When to use reference images:**
50
+ - User has a physical product photo they want enhanced or restyled
51
+ - User wants to match an existing brand aesthetic from a screenshot
52
+ - User wants variations of an approved product shot
53
+ - User needs consistency with previously generated images
54
+
55
+ **Workflow:**
56
+
57
+ ```
58
+ 1. Receive reference image URL or file path
59
+ 2. Upload to accessible URL if local file
60
+ 3. Construct prompt describing desired changes/style
61
+ 4. Include image_input parameter in API payload:
62
+
63
+ {
64
+ "model": "[see MODEL_REGISTRY.md]",
65
+ "input": {
66
+ "prompt": "{{product description + desired style changes}}",
67
+ "image_input": ["{{reference_image_url}}"],
68
+ "aspect_ratio": "{{ratio}}",
69
+ "output_format": "png"
70
+ }
71
+ }
72
+
73
+ 5. The model uses the reference to guide composition, color, and structure
74
+ 6. Review output against reference for consistency
75
+ ```
76
+
77
+ **Reference image best practices:**
78
+ - Use high-resolution references (1000px+ on longest side)
79
+ - The prompt should describe what to CHANGE, not what the reference already shows
80
+ - For style transfer: describe the new style, let the image provide the composition
81
+ - For enhancement: describe the improvements, let the image provide the product
82
+ - Combine with seed locking for reproducible reference-guided outputs
83
+
84
+ ---
85
+
86
+ ## Style Exploration (Before Execution)
87
+
88
+ **Critical principle:** Don't lock into one visual approach. Product photography has many valid styles — the right one depends on brand, platform, and competitive landscape.
89
+
90
+ ### Why This Matters for Products
91
+
92
+ The same product photographed differently can feel:
93
+ - Premium luxury vs accessible value
94
+ - Innovative tech vs reliable traditional
95
+ - Lifestyle aspirational vs utility functional
96
+
97
+ **One style = hope. Multiple styles = strategic choice.**
98
+
99
+ ### Generate 5 Different Approaches
100
+
101
+ For any new product photography project:
102
+
103
+ ```
104
+ Style 1 - Clean E-commerce:
105
+ [Product] on pure white background, professional studio lighting,
106
+ sharp commercial photography, Amazon listing optimized,
107
+ clean minimal, product hero shot
108
+
109
+ Style 2 - Lifestyle Context:
110
+ [Product] in real-world [setting], natural lighting,
111
+ lifestyle product photography, human context,
112
+ aspirational but relatable
113
+
114
+ Style 3 - Dark Premium:
115
+ [Product] against dark gradient background, dramatic spotlight,
116
+ luxury product photography, premium positioning,
117
+ sophisticated mood, high-end commercial
118
+
119
+ Style 4 - Editorial Magazine:
120
+ [Product] editorial photography style, artistic composition,
121
+ magazine quality, creative angles, fashion-adjacent aesthetic
122
+
123
+ Style 5 - Warm Natural:
124
+ [Product] in warm natural setting, soft window light,
125
+ organic styling, [wood/linen/natural materials],
126
+ approachable premium feel
127
+ ```
128
+
129
+ ### Style Decision Framework
130
+
131
+ | Brand Positioning | Best Style Direction |
132
+ |-------------------|---------------------|
133
+ | Premium/Luxury | Dark Premium or Editorial Magazine |
134
+ | Accessible/Friendly | Lifestyle Context or Warm Natural |
135
+ | Tech/Innovation | Clean E-commerce or Dark Premium |
136
+ | Natural/Organic | Warm Natural or Lifestyle Context |
137
+ | Fashion/Beauty | Editorial Magazine or Dark Premium |
138
+ | Utility/Practical | Clean E-commerce or Lifestyle Context |
139
+
140
+ ### Extract Principles from Winner
141
+
142
+ Once style is chosen, document:
143
+
144
+ ```markdown
145
+ ## Winning Style: [Name]
146
+
147
+ **Visual Principles:**
148
+ - Background: [specific approach]
149
+ - Lighting: [mood and direction]
150
+ - Color palette: [tones]
151
+ - Composition: [approach]
152
+ - Props/styling: [elements]
153
+
154
+ **Apply across:**
155
+ - Hero shot: [how]
156
+ - Secondary angles: [how]
157
+ - Lifestyle variants: [how]
158
+ - Detail shots: [how]
159
+ ```
160
+
161
+ ---
162
+
163
+ ## Photography Shot Types
164
+
165
+ ### Hero Shot (Primary)
166
+
167
+ The main product image. Highest stakes, most important.
168
+
169
+ ```
170
+ [Product name] hero shot, professional product photography,
171
+ [lighting setup], [background], product as focal point,
172
+ commercial advertising quality, ultra-detailed, sharp focus,
173
+ space for text on [left/right] if needed
174
+ ```
175
+
176
+ **What makes hero shots work:**
177
+ - Product clearly visible from best angle
178
+ - Lighting that creates depth and dimension
179
+ - Background that doesn't compete
180
+ - Composition that draws eye to product
181
+ - Space for marketing copy if needed
182
+
183
+ ---
184
+
185
+ ### Detail/Feature Shot
186
+
187
+ Highlights specific product features.
188
+
189
+ ```
190
+ Close-up detail shot of [specific feature] on [product],
191
+ macro product photography, [feature] clearly visible,
192
+ shallow depth of field on [feature], professional lighting,
193
+ technical detail showcase
194
+ ```
195
+
196
+ ---
197
+
198
+ ### Lifestyle/Context Shot
199
+
200
+ Product in use or realistic setting.
201
+
202
+ ```
203
+ [Product] in [specific setting], lifestyle product photography,
204
+ [person using/product on surface/in environment],
205
+ natural lighting, authentic scene, editorial quality,
206
+ aspirational but believable context
207
+ ```
208
+
209
+ ---
210
+
211
+ ### Group/Collection Shot
212
+
213
+ Multiple products or variants together.
214
+
215
+ ```
216
+ Product collection shot, [multiple products] arranged together,
217
+ professional studio photography, cohesive styling,
218
+ group composition, clear hierarchy with [hero product] prominent,
219
+ commercial catalog quality
220
+ ```
221
+
222
+ ---
223
+
224
+ ### Flat Lay
225
+
226
+ Top-down arrangement, popular for social media.
227
+
228
+ ```
229
+ Flat lay photography, [product] arranged with [complementary items],
230
+ top-down view, [surface material], organized aesthetic,
231
+ styled composition, editorial product photography
232
+ ```
233
+
234
+ ---
235
+
236
+ ### Scale/Size Reference
237
+
238
+ Shows product size with familiar objects.
239
+
240
+ ```
241
+ [Product] with scale reference, shown next to [familiar object],
242
+ size comparison photography, clear proportion,
243
+ professional lighting, clean background
244
+ ```
245
+
246
+ ---
247
+
248
+ ## Product Category Deep Dives
249
+
250
+ ### Electronics & Tech
251
+
252
+ **Challenges:** Reflective surfaces, screens, small details
253
+ **Opportunities:** Premium tech aesthetic, innovation positioning
254
+
255
+ ```
256
+ [Electronic product] professional tech photography,
257
+ controlled reflections on metallic/glass surfaces,
258
+ screen displaying [content or off], subtle rim lighting on edges,
259
+ dark gradient background, premium technology aesthetic,
260
+ clean minimal composition, commercial advertising quality
261
+ ```
262
+
263
+ **Lighting for tech:**
264
+ ```
265
+ + subtle rim lighting on edges for dimension
266
+ + controlled reflections (not eliminated, controlled)
267
+ + gradient lighting on screens
268
+ + separation light from background
269
+ ```
270
+
271
+ **Common tech products:**
272
+ - Headphones: Show both ear cups, cable management, premium materials
273
+ - Phones/tablets: Screen content matters, show thinness
274
+ - Laptops: Screen angle, keyboard visible, premium materials
275
+ - Speakers: Show driver details, premium finishes
276
+ - Wearables: Show on wrist/body for scale
277
+
278
+ ---
279
+
280
+ ### Fashion & Apparel
281
+
282
+ **Challenges:** Fabric texture, accurate colors, shape/drape
283
+ **Opportunities:** Lifestyle aspiration, styling context
284
+
285
+ ```
286
+ [Apparel item] fashion product photography,
287
+ visible fabric texture, accurate [color] reproduction,
288
+ natural draping/structure, [styled flat/on model/on hanger],
289
+ professional fashion lighting, editorial quality
290
+ ```
291
+
292
+ **Key considerations:**
293
+ - **Flat lay:** Good for details, pattern visibility
294
+ - **On mannequin/form:** Shows structure without model
295
+ - **On model:** Highest aspiration, shows fit and movement
296
+ - **Hanging:** Simple, shows drape naturally
297
+
298
+ **Fabric-specific additions:**
299
+ - Silk/satin: `+ subtle sheen, controlled highlights, luxurious drape`
300
+ - Denim: `+ visible texture and weave, authentic blue tones`
301
+ - Leather: `+ rich material quality, subtle surface texture`
302
+ - Knitwear: `+ visible knit pattern, cozy texture, soft lighting`
303
+
304
+ ---
305
+
306
+ ### Food & Beverage
307
+
308
+ **Challenges:** Appetite appeal, freshness, color accuracy
309
+ **Opportunities:** Sensory triggers, desire creation
310
+
311
+ ```
312
+ [Food/beverage product] professional food photography,
313
+ appetizing presentation, [steam/condensation/freshness cues],
314
+ natural daylight aesthetic, [surface/props],
315
+ editorial food styling, commercial quality
316
+ ```
317
+
318
+ **Food photography essentials:**
319
+ - **Steam:** Shows freshness, warmth (for hot items)
320
+ - **Condensation:** Shows coldness, refreshment (for beverages)
321
+ - **Garnish:** Fresh herbs, citrus, adds life
322
+ - **Imperfection:** Slight drips, crumbs = authenticity
323
+
324
+ **Lighting for food:**
325
+ ```
326
+ soft overhead natural daylight feel,
327
+ backlit for steam visibility,
328
+ side lighting for texture,
329
+ warm tones for appetite appeal
330
+ ```
331
+
332
+ ---
333
+
334
+ ### Beauty & Cosmetics
335
+
336
+ **Challenges:** Color accuracy, texture rendering, premium feel
337
+ **Opportunities:** Aspirational beauty, sensory luxury
338
+
339
+ ```
340
+ [Beauty product] professional cosmetic photography,
341
+ clean premium aesthetic, [product details visible],
342
+ soft diffused beauty lighting, [color] accurate rendering,
343
+ luxury cosmetic branding, commercial advertising quality
344
+ ```
345
+
346
+ **Product-specific approaches:**
347
+ - **Lipstick/makeup:** Show color accurately, often swatched
348
+ - **Skincare:** Clean, clinical or spa-like depending on brand
349
+ - **Perfume:** Aspirational, often abstract/artistic
350
+ - **Haircare:** Often lifestyle with results implied
351
+
352
+ **Textures to showcase:**
353
+ ```
354
+ + visible product texture (cream, gel, powder, liquid)
355
+ + packaging material quality
356
+ + applicator/closure details
357
+ ```
358
+
359
+ ---
360
+
361
+ ### Jewelry & Watches
362
+
363
+ **Challenges:** Reflections, sparkle, small scale
364
+ **Opportunities:** Ultimate luxury positioning
365
+
366
+ ```
367
+ [Jewelry/watch] luxury product photography,
368
+ controlled reflections with intentional sparkle,
369
+ [metal type] surface quality, premium black/gradient background,
370
+ rim lighting on metal edges, macro detail visible,
371
+ high-end commercial jewelry photography
372
+ ```
373
+
374
+ **Jewelry lighting formula:**
375
+ ```
376
+ + main light for overall exposure
377
+ + rim/edge light for metal definition
378
+ + small accent light for sparkle on stones
379
+ + gradient background for depth
380
+ ```
381
+
382
+ **Watch-specific:**
383
+ - Show time as 10:10 (traditional, balanced look)
384
+ - Highlight dial details, hands, indices
385
+ - Show case thickness and finishing
386
+ - Crown and pushers visible
387
+
388
+ ---
389
+
390
+ ### Home & Furniture
391
+
392
+ **Challenges:** Scale, context, room integration
393
+ **Opportunities:** Lifestyle aspiration, room transformation
394
+
395
+ ```
396
+ [Furniture/home item] interior product photography,
397
+ shown in [styled room setting], professional interior photography,
398
+ natural window lighting, lifestyle context,
399
+ aspirational home aesthetic, editorial interiors quality
400
+ ```
401
+
402
+ **Key considerations:**
403
+ - Show scale with familiar objects
404
+ - Style with complementary decor (not competing)
405
+ - Realistic room settings > white void
406
+ - Lifestyle aspiration = desire creation
407
+
408
+ ---
409
+
410
+ ## Lighting Mastery
411
+
412
+ Lighting is the difference between amateur and professional product photography.
413
+
414
+ ### Studio Lighting Setups
415
+
416
+ **Three-Point (Classic):**
417
+ ```
418
+ three-point lighting setup:
419
+ - key light from upper left (main illumination)
420
+ - fill light from right (soften shadows)
421
+ - rim light from behind (edge separation)
422
+ ```
423
+
424
+ **Single Source (Dramatic):**
425
+ ```
426
+ single dramatic spotlight from [direction],
427
+ deep shadows, high contrast, gradient falloff,
428
+ premium moody aesthetic
429
+ ```
430
+
431
+ **Soft Diffused (Beauty):**
432
+ ```
433
+ soft diffused overhead lighting,
434
+ large soft box, minimal shadows,
435
+ even illumination, beauty product aesthetic
436
+ ```
437
+
438
+ **Rim/Edge (Definition):**
439
+ ```
440
+ strong rim lighting from behind,
441
+ edge definition on product silhouette,
442
+ glowing outline effect, dark background
443
+ ```
444
+
445
+ ### Natural Lighting Setups
446
+
447
+ **Window Light (Lifestyle):**
448
+ ```
449
+ natural window lighting from [side],
450
+ soft diffused daylight, organic shadows,
451
+ lifestyle photography aesthetic
452
+ ```
453
+
454
+ **Golden Hour (Warm):**
455
+ ```
456
+ golden hour lighting quality,
457
+ warm directional light, long soft shadows,
458
+ aspirational warmth
459
+ ```
460
+
461
+ **Overcast (Even):**
462
+ ```
463
+ soft overcast natural light,
464
+ even illumination, no harsh shadows,
465
+ diffused daylight aesthetic
466
+ ```
467
+
468
+ ### Lighting Direction Guide
469
+
470
+ | Direction | Effect | Best For |
471
+ |-----------|--------|----------|
472
+ | Front | Flat, even, safe | E-commerce basics |
473
+ | 45-degree side | Depth, dimension | Most products |
474
+ | Side (90-degree) | Dramatic texture | Textured items |
475
+ | Back | Silhouette, glow | Drama, beverages |
476
+ | Top (overhead) | Food, flat lay | Food, accessories |
477
+ | Under | Dramatic, unusual | Creative/artistic |
478
+
479
+ ---
480
+
481
+ ## Background & Staging
482
+
483
+ ### Studio Backgrounds
484
+
485
+ **Pure White (#FFFFFF):**
486
+ ```
487
+ on pure white background, seamless backdrop,
488
+ no shadows (or: soft drop shadow),
489
+ e-commerce clean aesthetic
490
+ ```
491
+ *Best for: Amazon, Shopify, catalog, transparent backgrounds*
492
+
493
+ **Light Gray Gradient:**
494
+ ```
495
+ on light gray gradient background,
496
+ subtle depth, soft shadow beneath product,
497
+ professional studio aesthetic
498
+ ```
499
+ *Best for: Website heroes, professional presentations*
500
+
501
+ **Dark Gradient:**
502
+ ```
503
+ against dark charcoal gradient background,
504
+ dramatic studio lighting, premium aesthetic,
505
+ product highlighted against dark
506
+ ```
507
+ *Best for: Premium/luxury positioning, tech products*
508
+
509
+ **Colored Backdrop:**
510
+ ```
511
+ against [color] background,
512
+ complementary or brand-aligned color,
513
+ bold product presentation
514
+ ```
515
+ *Best for: Brand campaigns, social media*
516
+
517
+ ### Surface Staging
518
+
519
+ **Marble:**
520
+ ```
521
+ on white marble surface, elegant staging,
522
+ luxury product photography, subtle veining
523
+ ```
524
+
525
+ **Wood:**
526
+ ```
527
+ on [oak/walnut/rustic] wood surface,
528
+ warm organic aesthetic, natural grain visible
529
+ ```
530
+
531
+ **Concrete:**
532
+ ```
533
+ on concrete surface, industrial aesthetic,
534
+ modern minimal, textured background
535
+ ```
536
+
537
+ **Fabric/Linen:**
538
+ ```
539
+ on [white/neutral] linen fabric,
540
+ soft organic texture, lifestyle aesthetic
541
+ ```
542
+
543
+ ### Props & Styling
544
+
545
+ **Rule:** Props enhance, never compete.
546
+
547
+ **Good props:**
548
+ - Complementary materials (leaves for natural products)
549
+ - Lifestyle context items (coffee cup near morning product)
550
+ - Scale references (hand, familiar objects)
551
+ - Brand-aligned accessories
552
+
553
+ **Bad props:**
554
+ - Competing products
555
+ - Distracting colors
556
+ - Unrelated items
557
+ - Too many elements
558
+
559
+ ---
560
+
561
+ ## Composition Principles
562
+
563
+ ### Rule of Thirds
564
+
565
+ ```
566
+ product positioned at rule of thirds intersection,
567
+ not centered, dynamic composition,
568
+ visual interest through placement
569
+ ```
570
+
571
+ ### Centered (Hero)
572
+
573
+ ```
574
+ product centered in frame,
575
+ symmetrical composition, hero positioning,
576
+ commanding central presence
577
+ ```
578
+
579
+ ### Negative Space (Text Room)
580
+
581
+ ```
582
+ product positioned [left/right/lower],
583
+ negative space on [opposite side] for text overlay,
584
+ marketing composition, headline room
585
+ ```
586
+
587
+ ### Angle Guide
588
+
589
+ | Angle | Effect | Best For |
590
+ |-------|--------|----------|
591
+ | Eye level | Relatable, natural | Most products |
592
+ | Slightly above | Overview, context | Collections, scenes |
593
+ | Slightly below | Powerful, imposing | Premium, hero |
594
+ | 45-degree | Classic product shot | E-commerce |
595
+ | Top-down | Flat lay, pattern | Food, accessories |
596
+ | Macro/close | Detail, texture | Features, quality |
597
+
598
+ ---
599
+
600
+ ## Platform-Specific Optimization
601
+
602
+ ### Amazon / E-commerce
603
+
604
+ ```
605
+ Requirements:
606
+ - Main image: Pure white background
607
+ - 85%+ frame fill
608
+ - No text, graphics, or watermarks
609
+ - 1000x1000 minimum (1500x1500 preferred)
610
+ - RGB color
611
+
612
+ Prompt addition:
613
+ + Amazon product listing optimized, pure white background,
614
+ product fills 85% of frame, no props or text,
615
+ e-commerce compliant, commercial product photography
616
+ ```
617
+
618
+ ### Shopify / DTC Website
619
+
620
+ ```
621
+ More creative freedom than Amazon.
622
+ - Hero images can have context
623
+ - Lifestyle images encouraged
624
+ - Brand aesthetic consistent
625
+
626
+ Prompt addition:
627
+ + e-commerce hero shot, [brand aesthetic] style,
628
+ website product page optimized, commercial quality
629
+ ```
630
+
631
+ ### Instagram / Social
632
+
633
+ ```
634
+ - 1:1 or 4:5 aspect ratio
635
+ - Scroll-stopping visuals
636
+ - Lifestyle context often better
637
+ - Bold colors perform
638
+
639
+ Prompt addition:
640
+ + Instagram product photography, [1:1/4:5] composition,
641
+ scroll-stopping visual, social media optimized,
642
+ lifestyle context, bold engaging aesthetic
643
+ ```
644
+
645
+ ### Hero Banner (Website)
646
+
647
+ ```
648
+ - 16:9 or wider aspect ratio
649
+ - Space for text overlay
650
+ - Product as hero element
651
+ - Brand-aligned styling
652
+
653
+ Prompt addition:
654
+ + hero banner product shot, 16:9 landscape composition,
655
+ product as hero element, space for headline on [side],
656
+ website banner optimized, marketing asset
657
+ ```
658
+
659
+ ### Pinterest
660
+
661
+ ```
662
+ - 2:3 vertical (1000x1500)
663
+ - Aspirational lifestyle
664
+ - Text overlays work here
665
+ - Save-worthy aesthetic
666
+
667
+ Prompt addition:
668
+ + Pinterest product pin, vertical 2:3 composition,
669
+ aspirational lifestyle photography, save-worthy visual,
670
+ space for text overlay, editorial product aesthetic
671
+ ```
672
+
673
+ ---
674
+
675
+ ## Multi-Shot Consistency Technique
676
+
677
+ When generating multiple product photos (across shot types, angles, or campaign variants), visual consistency is critical. Inconsistent lighting, color temperature, or angle across images looks amateur and breaks brand trust.
678
+
679
+ ### The Consistency Lock
680
+
681
+ Before generating any set of related images, establish and lock these parameters:
682
+
683
+ ```markdown
684
+ ## Consistency Lock — [Product Name]
685
+
686
+ **Lighting:**
687
+ - Type: [e.g., three-point studio, soft diffused, natural window]
688
+ - Direction: [e.g., key from upper left, fill from right]
689
+ - Temperature: [e.g., neutral 5500K, warm 3500K, cool 6500K]
690
+ - Mood: [e.g., bright and clean, dramatic and moody, warm and inviting]
691
+
692
+ **Color:**
693
+ - Color temperature keyword: [e.g., "neutral white balance", "warm golden tones", "cool blue cast"]
694
+ - Product color accuracy: [specific hex or color names for product colors]
695
+ - Background tone: [specific color/gradient]
696
+
697
+ **Camera:**
698
+ - Distance: [e.g., medium shot, close-up, wide establishing]
699
+ - Height: [e.g., eye level, slightly above, overhead]
700
+ - Lens feel: [e.g., "85mm portrait lens feel", "macro close-up", "wide angle"]
701
+
702
+ **Styling:**
703
+ - Surface: [specific material]
704
+ - Props: [specific items, or none]
705
+ - Background: [specific setup]
706
+
707
+ **Seed Strategy:**
708
+ - Base seed: [number] (use same seed across shots for maximum consistency)
709
+ - Vary only: [what changes between shots — angle, crop, props]
710
+ ```
711
+
712
+ ### Applying the Lock Across Shots
713
+
714
+ Once locked, every prompt in the set includes the locked parameters as a prefix or suffix:
715
+
716
+ ```
717
+ [SHOT-SPECIFIC CONTENT],
718
+ [LOCKED LIGHTING], [LOCKED COLOR TEMPERATURE],
719
+ [LOCKED BACKGROUND], [LOCKED STYLING],
720
+ [LOCKED QUALITY TERMS]
721
+ ```
722
+
723
+ **Example — 4-shot consistent set:**
724
+
725
+ ```
726
+ Lock: warm studio lighting from upper left, neutral white balance,
727
+ light gray gradient background, marble surface, premium commercial quality
728
+
729
+ Shot 1 (Hero):
730
+ Premium wireless headphones hero shot, product centered,
731
+ warm studio lighting from upper left, neutral white balance,
732
+ light gray gradient background, marble surface, premium commercial quality
733
+
734
+ Shot 2 (Detail):
735
+ Close-up of ear cushion texture on premium wireless headphones,
736
+ shallow depth of field, warm studio lighting from upper left,
737
+ neutral white balance, light gray gradient background,
738
+ marble surface, premium commercial quality
739
+
740
+ Shot 3 (Lifestyle):
741
+ Premium wireless headphones on modern desk workspace,
742
+ warm studio lighting from upper left, neutral white balance,
743
+ light gray gradient background visible through scene,
744
+ premium commercial quality
745
+
746
+ Shot 4 (Flat Lay):
747
+ Premium wireless headphones flat lay with carrying case and cable,
748
+ warm studio lighting from upper left, neutral white balance,
749
+ marble surface, top-down composition, premium commercial quality
750
+ ```
751
+
752
+ ### Seed Locking for Maximum Consistency
753
+
754
+ For the tightest visual consistency, use the `seed` parameter from MODEL_REGISTRY.md:
755
+
756
+ 1. Generate the first image (hero shot) without a seed
757
+ 2. If the result is good, note the generation — use that image as the style anchor
758
+ 3. For subsequent shots, use a fixed seed value and vary only the shot-specific content
759
+ 4. Same seed + similar prompt structure = consistent lighting, color grading, and rendering style
760
+
761
+ **Important:** Seed ensures consistency only when prompts are structurally similar. Drastically different prompts will diverge even with the same seed. Keep the locked parameters identical across all prompts.
762
+
763
+ ---
764
+
765
+ ## Complete Shoot Mode
766
+
767
+ **One command produces an entire product photo set.** Instead of generating shots one at a time, the complete shoot dispatches all shot types in parallel using Claude Code task agents.
768
+
769
+ ### What Gets Generated
770
+
771
+ A complete shoot produces 5 images in parallel:
772
+
773
+ | Shot | Type | Aspect Ratio | Purpose |
774
+ |------|------|-------------|---------|
775
+ | 1 | Hero Shot | 16:9 | Primary marketing image, headline space |
776
+ | 2 | Detail/Feature | 1:1 | Close-up of key selling feature |
777
+ | 3 | Lifestyle | 4:5 | Product in real-world context |
778
+ | 4 | Flat Lay | 1:1 | Top-down with complementary items |
779
+ | 5 | Scale Reference | 1:1 | Size context with familiar object |
780
+
781
+ ### How to Trigger
782
+
783
+ User says any of:
784
+ - "Do a complete shoot for [product]"
785
+ - "Full product shoot"
786
+ - "Generate all shot types for [product]"
787
+ - "Complete photo set"
788
+
789
+ ### Execution Flow
790
+
791
+ ```
792
+ COMPLETE SHOOT WORKFLOW
793
+
794
+ Step 1: Gather Product Brief
795
+ ├─ Product name and description
796
+ ├─ Key features to highlight
797
+ ├─ Target platform(s)
798
+ ├─ Brand kit loaded? (if not, prompt for it)
799
+ └─ Style preference (or run style exploration first)
800
+
801
+ Step 2: Establish Consistency Lock
802
+ ├─ Lock lighting, color temp, background, styling
803
+ ├─ Document in consistency lock format
804
+ └─ All 5 agents will read this lock
805
+
806
+ Step 3: Dispatch 5 Parallel Agents
807
+ ├─ Agent 1: Hero shot (16:9)
808
+ ├─ Agent 2: Detail shot (1:1)
809
+ ├─ Agent 3: Lifestyle shot (4:5)
810
+ ├─ Agent 4: Flat lay (1:1)
811
+ └─ Agent 5: Scale reference (1:1)
812
+
813
+ Each agent:
814
+ 1. Reads brand kit (creative-kit.md)
815
+ 2. Reads consistency lock
816
+ 3. Constructs shot-specific prompt
817
+ 4. Calls MODEL_REGISTRY.md image API
818
+ 5. Saves to ./campaigns/{product}/photos/{shot-type}/
819
+ 6. Reports back with URL + quality assessment
820
+
821
+ Step 4: Present All 5 Results
822
+ ├─ Display all shots in a grid review
823
+ ├─ Note any consistency issues
824
+ ├─ Offer per-shot iteration or full reshoot
825
+ └─ Run e-commerce compliance check if needed
826
+
827
+ Step 5: Iterate or Approve
828
+ ├─ Replace individual shots that need work
829
+ ├─ Approve complete set
830
+ └─ Export to campaigns directory
831
+ ```
832
+
833
+ ### Complete Shoot Output Template
834
+
835
+ ```markdown
836
+ ## Complete Shoot — [Product Name]
837
+
838
+ ### Consistency Lock Applied
839
+ - Lighting: [locked setup]
840
+ - Color Temperature: [locked temp]
841
+ - Background: [locked background]
842
+ - Surface: [locked surface]
843
+
844
+ ---
845
+
846
+ ### Shot 1: Hero
847
+ ![Hero](url)
848
+ **Aspect Ratio:** 16:9
849
+ **Prompt:** > [prompt used]
850
+ **Status:** Pending review
851
+
852
+ ### Shot 2: Detail
853
+ ![Detail](url)
854
+ **Aspect Ratio:** 1:1
855
+ **Feature Highlighted:** [feature]
856
+ **Prompt:** > [prompt used]
857
+ **Status:** Pending review
858
+
859
+ ### Shot 3: Lifestyle
860
+ ![Lifestyle](url)
861
+ **Aspect Ratio:** 4:5
862
+ **Setting:** [context]
863
+ **Prompt:** > [prompt used]
864
+ **Status:** Pending review
865
+
866
+ ### Shot 4: Flat Lay
867
+ ![Flat Lay](url)
868
+ **Aspect Ratio:** 1:1
869
+ **Styled With:** [items]
870
+ **Prompt:** > [prompt used]
871
+ **Status:** Pending review
872
+
873
+ ### Shot 5: Scale Reference
874
+ ![Scale](url)
875
+ **Aspect Ratio:** 1:1
876
+ **Reference Object:** [object]
877
+ **Prompt:** > [prompt used]
878
+ **Status:** Pending review
879
+
880
+ ---
881
+
882
+ **Actions:**
883
+ - [ ] Approve all shots
884
+ - [ ] Iterate on specific shot(s): [list numbers]
885
+ - [ ] Reshoot with different style
886
+ - [ ] Run e-commerce compliance check
887
+ - [ ] Export to campaigns directory
888
+ ```
889
+
890
+ ### Wall-Clock Time
891
+
892
+ Because all 5 shots generate in parallel, total time equals the slowest single generation (typically 15-40 seconds per image), not the sum. A full 5-image shoot completes in under 1 minute.
893
+
894
+ ---
895
+
896
+ ## E-Commerce Compliance Checker
897
+
898
+ Before delivering product photos for marketplace listings, validate against platform-specific requirements. Non-compliant images get rejected by automated listing systems or perform poorly in search.
899
+
900
+ ### Amazon Product Image Requirements
901
+
902
+ | Requirement | Rule | How to Check |
903
+ |-------------|------|-------------|
904
+ | Background | Pure white (RGB 255,255,255) | Prompt must include "pure white background" |
905
+ | Frame fill | Product fills 85%+ of image | Prompt must include "product fills 85% of frame" |
906
+ | Text/graphics | No text, logos, watermarks, or overlays | Prompt must NOT include text overlay instructions |
907
+ | Borders | No borders, insets, or additional images | Single product, clean edges |
908
+ | Color mode | RGB (not CMYK) | Use PNG or JPG output format |
909
+ | Minimum size | 1000x1000 pixels (1500x1500 preferred) | Model generates at sufficient resolution natively |
910
+ | Main image | Product only, no accessories unless included in sale | Remove lifestyle props for main listing image |
911
+ | Additional | Lifestyle, infographic, size chart allowed | Shots 2-7 in listing can include context |
912
+
913
+ ### Shopify Product Image Requirements
914
+
915
+ | Requirement | Rule | How to Check |
916
+ |-------------|------|-------------|
917
+ | Recommended size | 2048x2048 pixels | Model generates at sufficient resolution |
918
+ | Aspect ratio | Square (1:1) recommended for consistency | Set aspect_ratio to "1:1" |
919
+ | File format | JPEG, PNG, GIF, WebP | Use output_format "png" or "jpg" |
920
+ | File size | Under 20MB | PNG at model resolution is well within this |
921
+ | Background | Consistent across all products (white recommended) | Lock background in consistency settings |
922
+ | Multiple angles | 3-5 images per product recommended | Use complete shoot mode |
923
+
924
+ ### Compliance Check Workflow
925
+
926
+ Run this check after generation, before delivery:
927
+
928
+ ```
929
+ E-COMMERCE COMPLIANCE CHECK
930
+
931
+ Product: [name]
932
+ Platform: [Amazon / Shopify / Both]
933
+ Shot Type: [main listing / secondary / lifestyle]
934
+
935
+ Amazon Main Image:
936
+ □ Pure white background (no gray, no gradient, no color)
937
+ □ Product fills 85%+ of frame
938
+ □ No text, logos, or watermarks in image
939
+ □ No borders or inset images
940
+ □ Single product (no lifestyle props)
941
+ □ Product is the actual product (not illustration/drawing)
942
+ □ Sharp focus, professional quality
943
+ □ Correct color representation
944
+
945
+ Amazon Secondary Images:
946
+ □ May include lifestyle context
947
+ □ May include text overlays / infographics
948
+ □ May show size/scale references
949
+ □ Must still be professional quality
950
+ □ No offensive or misleading content
951
+
952
+ Shopify:
953
+ □ Square aspect ratio (1:1)
954
+ □ Consistent background across all product images
955
+ □ Minimum 3 images per product
956
+ □ High resolution (2048x2048 target)
957
+ □ Fast-loading file size
958
+
959
+ Result: [PASS / FAIL — list specific failures]
960
+ Action: [Re-generate with corrected prompt / Approve as-is]
961
+ ```
962
+
963
+ ### Auto-Correcting Non-Compliant Prompts
964
+
965
+ If the compliance check fails, auto-correct the prompt:
966
+
967
+ | Failure | Auto-Correction |
968
+ |---------|----------------|
969
+ | Background not white | Append: "on pure white background, seamless white backdrop, RGB 255 255 255" |
970
+ | Product too small | Append: "product fills 85 percent of frame, tight crop on product" |
971
+ | Contains text/graphics | Remove any text overlay instructions from prompt |
972
+ | Has lifestyle props | Remove prop/context instructions, add "product only, no props" |
973
+ | Not sharp enough | Append: "ultra-sharp focus, high resolution, professional product photography" |
974
+ | Colors look off | Append: "accurate color rendering, true-to-life colors, neutral white balance" |
975
+
976
+ ---
977
+
978
+ ## File Output Conventions
979
+
980
+ ### Directory Structure
981
+
982
+ All product photo outputs are saved to organized directories under the project root:
983
+
984
+ ```
985
+ ./campaigns/{product-name}/photos/
986
+ ├── hero/
987
+ │ └── hero-{product}-16x9-v1.png
988
+ ├── detail/
989
+ │ └── detail-{feature}-1x1-v1.png
990
+ ├── lifestyle/
991
+ │ └── lifestyle-{setting}-4x5-v1.png
992
+ ├── ecommerce/
993
+ │ └── ecommerce-{product}-1x1-v1.png
994
+ ├── flat-lay/
995
+ │ └── flatlay-{product}-1x1-v1.png
996
+ ├── scale/
997
+ │ └── scale-{product}-1x1-v1.png
998
+ └── explorations/
999
+ ├── direction-1.png
1000
+ ├── direction-2.png
1001
+ ├── direction-3.png
1002
+ ├── direction-4.png
1003
+ └── direction-5.png
1004
+ ```
1005
+
1006
+ ### Naming Convention
1007
+
1008
+ ```
1009
+ [shot-type]-[descriptor]-[aspect-ratio]-[version].ext
1010
+
1011
+ Examples:
1012
+ hero-wireless-headphones-16x9-v1.png
1013
+ detail-ear-cushion-1x1-v1.png
1014
+ lifestyle-desk-workspace-4x5-v1.png
1015
+ ecommerce-main-listing-1x1-v1.png
1016
+ flatlay-accessories-1x1-v1.png
1017
+ scale-hand-reference-1x1-v1.png
1018
+ ```
1019
+
1020
+ ### Saving Generated Images
1021
+
1022
+ After each successful generation:
1023
+
1024
+ 1. Download the image from the your configured generation provider output URL
1025
+ 2. Save to the correct subdirectory under `./campaigns/{product}/photos/`
1026
+ 3. Use the naming convention above
1027
+ 4. If iterating, increment the version number (v1 -> v2 -> v3)
1028
+ 5. Keep all versions — do not overwrite previous iterations
1029
+
1030
+ ### Campaign Export
1031
+
1032
+ When a complete shoot is approved, the full set lives at:
1033
+
1034
+ ```
1035
+ ./campaigns/{product-name}/photos/
1036
+ ```
1037
+
1038
+ This path is referenced by other skills (ad-creative, social-graphics, content-atomizer) when they need product imagery for downstream assets.
1039
+
1040
+ ---
1041
+
1042
+ ## Execution Workflow
1043
+
1044
+ ### Step 1: Gather Requirements
1045
+
1046
+ ```
1047
+ [ ] What product? (specific details, materials, features)
1048
+ [ ] What use case? (Amazon, hero banner, social, etc.)
1049
+ [ ] What style? (or need style exploration?)
1050
+ [ ] What aspect ratio?
1051
+ [ ] Text space needed?
1052
+ [ ] Brand colors/aesthetic?
1053
+ [ ] Reference images available?
1054
+ [ ] Complete shoot or single shot?
1055
+ ```
1056
+
1057
+ ### Step 2: Style Exploration (if new product/brand)
1058
+
1059
+ Generate 5 different visual approaches, pick winner, extract principles.
1060
+
1061
+ ### Step 3: Construct Prompt
1062
+
1063
+ Use the formula:
1064
+ ```
1065
+ [Product specific description] + [Shot type] + [Lighting] +
1066
+ [Background/staging] + [Composition] + [Quality boosters] +
1067
+ [Platform optimization]
1068
+ ```
1069
+
1070
+ ### Step 4: Generate
1071
+
1072
+ Refer to `brand/stack.md` for the current image generation payload. Construct the API call with your prompt and the verified payload structure.
1073
+
1074
+ ```
1075
+ Model: [see MODEL_REGISTRY.md → Image Generation → Default Model]
1076
+ Payload: [see MODEL_REGISTRY.md → Verified API Payload]
1077
+ Inputs: prompt, aspect_ratio, output_format, output_quality
1078
+ ```
1079
+
1080
+ If using a reference image, add `image_input` to the payload per MODEL_REGISTRY.md specifications.
1081
+
1082
+ ### Step 5: Review & Iterate
1083
+
1084
+ **Check against requirements:**
1085
+ - Product accurately represented?
1086
+ - Correct lighting mood?
1087
+ - Background works?
1088
+ - Composition effective?
1089
+ - Platform requirements met?
1090
+
1091
+ **Common iteration adjustments:**
1092
+ ```
1093
+ Too dark → add "bright, well-lit, high key"
1094
+ Too cluttered → add "minimal, clean, simple"
1095
+ Wrong angle → specify angle explicitly
1096
+ Reflections wrong → add "controlled reflections"
1097
+ Not premium enough → add "luxury, premium, high-end"
1098
+ ```
1099
+
1100
+ ### Step 6: Approve or Variant
1101
+
1102
+ - If approved → Save to `./campaigns/{product}/photos/` and deliver final
1103
+ - If close → Iterate with adjustments
1104
+ - If fundamentally wrong → New prompt approach
1105
+
1106
+ ---
1107
+
1108
+ ## Quality Checklist
1109
+
1110
+ ### Technical Quality
1111
+ - [ ] Resolution sufficient for intended use
1112
+ - [ ] No obvious AI artifacts (weird reflections, melted details)
1113
+ - [ ] Sharp focus on product
1114
+ - [ ] Appropriate for platform requirements
1115
+
1116
+ ### Product Accuracy
1117
+ - [ ] Product features clearly visible
1118
+ - [ ] Colors accurate to actual product
1119
+ - [ ] Scale/proportions correct
1120
+ - [ ] Key selling points highlighted
1121
+
1122
+ ### Commercial Quality
1123
+ - [ ] Looks professionally photographed
1124
+ - [ ] Lighting creates depth and dimension
1125
+ - [ ] Background supports (not competes with) product
1126
+ - [ ] Composition is intentional
1127
+
1128
+ ### Platform Fit
1129
+ - [ ] Correct aspect ratio
1130
+ - [ ] Meets platform requirements (Amazon white, etc.)
1131
+ - [ ] Style matches platform expectations
1132
+ - [ ] Text space if needed
1133
+
1134
+ ### Brand Consistency (v2)
1135
+ - [ ] Colors match creative-kit.md palette
1136
+ - [ ] Style matches locked visual principles
1137
+ - [ ] Consistent with other shots in the set
1138
+ - [ ] Mood aligns with brand personality
1139
+
1140
+ ---
1141
+
1142
+ ## Common Issues & Solutions
1143
+
1144
+ | Issue | Cause | Solution |
1145
+ |-------|-------|----------|
1146
+ | Looks obviously AI | Generic prompt | Add specific commercial photography terms |
1147
+ | Wrong reflections | Not controlled | Add "controlled reflections, professional lighting" |
1148
+ | Flat lighting | No direction | Specify lighting direction and type |
1149
+ | Product unclear | Too much context | Simplify, focus on product |
1150
+ | Wrong scale | No reference | Add scale context or familiar objects |
1151
+ | Colors off | Model interpretation | Be very specific about colors |
1152
+ | Too perfect | Hyperreal rendering | Add subtle imperfection cues if needed |
1153
+ | Wrong background | Default used | Explicitly specify background |
1154
+ | Not commercial | Missing quality terms | Add "commercial, advertising, professional" |
1155
+ | Competing elements | Props too prominent | Simplify staging, props should be subtle |
1156
+ | Inconsistent set | No consistency lock | Apply multi-shot consistency technique |
1157
+ | Amazon rejection | Non-compliant image | Run e-commerce compliance checker |
1158
+ | Style drift across shots | Different prompts diverge | Use seed locking + identical locked parameters |
1159
+
1160
+ ---
1161
+
1162
+ ## Output Format
1163
+
1164
+ ```markdown
1165
+ ## Product Photo Generated
1166
+
1167
+ **Product:** [name]
1168
+ **Shot Type:** [hero/detail/lifestyle/etc.]
1169
+ **Style:** [visual approach]
1170
+ **Aspect Ratio:** [ratio]
1171
+ **Saved To:** ./campaigns/[product]/photos/[shot-type]/[filename]
1172
+
1173
+ **Image URL:** [URL]
1174
+
1175
+ **Prompt Used:**
1176
+ > [full prompt for reference]
1177
+
1178
+ **Quality Check:**
1179
+ - [ ] Product accurate
1180
+ - [ ] Lighting effective
1181
+ - [ ] Background appropriate
1182
+ - [ ] Platform requirements met
1183
+ - [ ] Brand kit aligned
1184
+ - [ ] E-commerce compliant (if applicable)
1185
+
1186
+ **Feedback?**
1187
+ - Product representation accurate?
1188
+ - Lighting/mood right?
1189
+ - Background works?
1190
+ - Ready to approve or iterate?
1191
+
1192
+ **Options:**
1193
+ - [ ] Approve this shot
1194
+ - [ ] Iterate (specify changes)
1195
+ - [ ] Generate different angle
1196
+ - [ ] Try different style approach
1197
+ - [ ] Run complete shoot (all 5 shot types)
1198
+ - [ ] Run e-commerce compliance check
1199
+ ```
1200
+
1201
+ ---
1202
+
1203
+ ## Integration with Creative Engine
1204
+
1205
+ ```
1206
+ PRODUCT PHOTO PIPELINE (v2)
1207
+
1208
+ ┌─────────────────────────────────────────┐
1209
+ │ Request arrives │
1210
+ │ → From creative SKILL.md (mode 1) │
1211
+ │ → Or direct invocation │
1212
+ │ → Clarify product and requirements │
1213
+ └─────────────────────────────────────────┘
1214
+ │
1215
+ ▼
1216
+ ┌─────────────────────────────────────────┐
1217
+ │ Brand Kit Check │
1218
+ │ → Load ./brand/creative-kit.md │
1219
+ │ → If missing, prompt user to create │
1220
+ │ → Apply brand colors/style to prompts │
1221
+ └─────────────────────────────────────────┘
1222
+ │
1223
+ ▼
1224
+ ┌─────────────────────────────────────────┐
1225
+ │ Style Exploration (if needed) │
1226
+ │ → Generate 5 different approaches │
1227
+ │ → User selects winner │
1228
+ │ → Extract principles for consistency │
1229
+ │ → Save explorations to campaigns dir │
1230
+ └─────────────────────────────────────────┘
1231
+ │
1232
+ ┌─────────┴──────────┐
1233
+ ▼ ▼
1234
+ ┌──────────────────┐ ┌──────────────────────┐
1235
+ │ Single Shot │ │ Complete Shoot │
1236
+ │ → One prompt │ │ → 5 parallel agents │
1237
+ │ → One image │ │ → Consistency lock │
1238
+ │ → Quick iterate │ │ → Full product set │
1239
+ └──────────────────┘ └──────────────────────┘
1240
+ │ │
1241
+ └─────────┬──────────┘
1242
+ ▼
1243
+ ┌─────────────────────────────────────────┐
1244
+ │ Product Photo Mode (THIS FILE) │
1245
+ │ → Construct platform-optimized prompt │
1246
+ │ → Reference MODEL_REGISTRY.md for API │
1247
+ │ → Generate image(s) │
1248
+ │ → Review against quality checklist │
1249
+ │ → Run compliance check (if e-commerce) │
1250
+ │ → Iterate as needed │
1251
+ └─────────────────────────────────────────┘
1252
+ │
1253
+ ┌─────────┴──────────┐
1254
+ ▼ ▼
1255
+ ┌──────────────────┐ ┌──────────────────┐
1256
+ │ Save & Deliver │ │ Route to Video │
1257
+ │ → Save to │ │ → Product video │
1258
+ │ campaigns dir │ │ mode for │
1259
+ │ → Export ready │ │ animation │
1260
+ └──────────────────┘ └──────────────────┘
1261
+ ```
1262
+
1263
+ ---
1264
+
1265
+ ## Handoff Protocols
1266
+
1267
+ ### Receiving from Creative Engine (SKILL.md)
1268
+
1269
+ ```yaml
1270
+ Receive:
1271
+ product: "[what product]"
1272
+ category: "[electronics/fashion/food/etc.]"
1273
+ shot_type: "[hero/detail/lifestyle/etc.]"
1274
+ platform: "[Amazon/Instagram/hero banner/etc.]"
1275
+ style: "[if established]"
1276
+ brand_kit: "[path to creative-kit.md]"
1277
+ reference_image: "[URL if provided]"
1278
+ text_space: true/false
1279
+ complete_shoot: true/false
1280
+ ```
1281
+
1282
+ ### Returning to Creative Engine
1283
+
1284
+ ```yaml
1285
+ Return:
1286
+ status: "complete" | "needs_iteration" | "needs_different_approach"
1287
+ deliverables:
1288
+ - path: "./campaigns/[product]/photos/[type]/[filename]"
1289
+ url: "[image URL]"
1290
+ shot_type: "[type]"
1291
+ aspect_ratio: "[ratio]"
1292
+ prompt_used: "[prompt]"
1293
+ compliance: "pass" | "fail" | "not_checked"
1294
+ additional_shots_available: true/false
1295
+ consistency_lock: "[lock parameters if established]"
1296
+ ```
1297
+
1298
+ ### Routing to Video Mode
1299
+
1300
+ ```yaml
1301
+ Route to product-video mode:
1302
+ image_url: "[approved product image URL]"
1303
+ image_path: "./campaigns/[product]/photos/hero/[filename]"
1304
+ product: "[product name]"
1305
+ animation_type: "[reveal/360/floating/etc.]"
1306
+ platform: "[destination platform]"
1307
+ consistency_lock: "[carry forward from photo shoot]"
1308
+ ```
1309
+
1310
+ ### Routing to Ad Creative Mode
1311
+
1312
+ ```yaml
1313
+ Route to ad-creative mode:
1314
+ product_photos:
1315
+ hero: "./campaigns/[product]/photos/hero/[filename]"
1316
+ lifestyle: "./campaigns/[product]/photos/lifestyle/[filename]"
1317
+ detail: "./campaigns/[product]/photos/detail/[filename]"
1318
+ product: "[product name]"
1319
+ campaign_goal: "[awareness/conversion/etc.]"
1320
+ platforms: ["Facebook", "Instagram", "Google Display"]
1321
+ ```
1322
+
1323
+ ---
1324
+
1325
+ ## Pro Tips from Commercial Photography
1326
+
1327
+ ### What Actually Sells
1328
+
1329
+ 1. **Show the benefit, not just the product** — Headphones in use > headphones floating
1330
+ 2. **Lighting creates desire** — Dramatic lighting = premium perception
1331
+ 3. **Context triggers imagination** — "I could use that here"
1332
+ 4. **Details signal quality** — Close-ups show craftsmanship
1333
+ 5. **Consistency builds brand** — Same style across all product shots
1334
+
1335
+ ### Common Amateur Mistakes
1336
+
1337
+ 1. **Flat front lighting** — Use directional light for depth
1338
+ 2. **Random backgrounds** — Match background to positioning
1339
+ 3. **Product too small** — Fill the frame (especially e-commerce)
1340
+ 4. **Competing props** — Props enhance, never distract
1341
+ 5. **Inconsistent style** — Build a system, not one-offs
1342
+
1343
+ ### The 80/20 of Product Photography
1344
+
1345
+ 80% of results come from:
1346
+ 1. Specific product description in prompt
1347
+ 2. Appropriate lighting direction/type
1348
+ 3. Background that supports positioning
1349
+ 4. Platform-correct composition
1350
+
1351
+ Get these four right and you'll outperform most AI product photos.
1352
+
1353
+ ### v2 Additions to the 80/20
1354
+
1355
+ The remaining 20% that separates good from great:
1356
+ 5. Multi-shot consistency (same light, same temp, same mood across all images)
1357
+ 6. Reference image guidance (build on proven results, not from scratch)
1358
+ 7. E-commerce compliance (no rejected listings, no wasted time)
1359
+ 8. Complete shoot workflow (full product set in one command, not five separate sessions)
1360
+
1361
+ ---
1362
+
1363
+ ## Example Prompts (Complete)
1364
+
1365
+ ### Tech Hero Shot
1366
+ ```
1367
+ Premium wireless over-ear headphones hero shot,
1368
+ silver and black colorway, soft padding visible,
1369
+ floating against dark charcoal gradient background,
1370
+ dramatic single spotlight from upper left,
1371
+ subtle rim lighting on edges, metallic surface reflections controlled,
1372
+ negative space on right for headline,
1373
+ commercial technology advertising photography,
1374
+ ultra-detailed, professional quality, 16:9 composition
1375
+ ```
1376
+
1377
+ ### Skincare E-commerce
1378
+ ```
1379
+ Luxury skincare serum bottle product photography,
1380
+ glass bottle with dropper, golden serum visible,
1381
+ on pure white background, Amazon listing optimized,
1382
+ soft diffused studio lighting, product fills 85% of frame,
1383
+ clean minimal composition, accurate color rendering,
1384
+ commercial beauty product photography, 1:1 square
1385
+ ```
1386
+
1387
+ ### Food Lifestyle
1388
+ ```
1389
+ Artisan coffee bag product in lifestyle setting,
1390
+ kraft paper bag with window showing beans,
1391
+ on rustic wooden kitchen counter, morning light through window,
1392
+ fresh coffee beans scattered, ceramic mug nearby,
1393
+ lifestyle food photography, warm inviting tones,
1394
+ editorial quality, aspirational home aesthetic
1395
+ ```
1396
+
1397
+ ### Jewelry Macro
1398
+ ```
1399
+ Diamond engagement ring luxury photography,
1400
+ platinum band, brilliant cut center stone,
1401
+ extreme detail macro shot, sparkle on facets,
1402
+ black gradient background, controlled reflections,
1403
+ rim lighting on metal edges, jeweler quality detail,
1404
+ high-end commercial jewelry photography
1405
+ ```
1406
+
1407
+ ### Fashion Flat Lay
1408
+ ```
1409
+ Premium leather wallet flat lay photography,
1410
+ brown full-grain leather, visible stitching detail,
1411
+ on white marble surface, minimalist styling,
1412
+ styled with brass key holder and pen,
1413
+ top-down composition, editorial menswear aesthetic,
1414
+ soft even lighting, luxury accessories photography
1415
+ ```
1416
+
1417
+ ### Complete Shoot Prompt Set (Consistent)
1418
+
1419
+ This example shows all 5 prompts for a complete shoot with consistency lock applied:
1420
+
1421
+ ```
1422
+ CONSISTENCY LOCK:
1423
+ - Lighting: soft three-point studio lighting, key from upper left
1424
+ - Color temp: neutral white balance, 5500K daylight
1425
+ - Background: light gray gradient
1426
+ - Surface: white marble
1427
+ - Quality: commercial advertising photography, ultra-detailed, sharp focus
1428
+
1429
+ ---
1430
+
1431
+ Shot 1 — Hero (16:9):
1432
+ Premium ceramic pour-over coffee dripper hero shot,
1433
+ matte white glaze, wooden collar detail,
1434
+ centered composition with negative space on right for text,
1435
+ soft three-point studio lighting key from upper left,
1436
+ neutral white balance, light gray gradient background,
1437
+ white marble surface, commercial advertising photography,
1438
+ ultra-detailed, sharp focus
1439
+
1440
+ Shot 2 — Detail (1:1):
1441
+ Close-up of wooden collar and ceramic join on pour-over coffee dripper,
1442
+ visible wood grain and glaze texture, shallow depth of field,
1443
+ soft three-point studio lighting key from upper left,
1444
+ neutral white balance, light gray gradient background,
1445
+ white marble surface, commercial advertising photography,
1446
+ ultra-detailed, sharp focus
1447
+
1448
+ Shot 3 — Lifestyle (4:5):
1449
+ Ceramic pour-over coffee dripper on kitchen counter,
1450
+ morning coffee ritual scene, fresh brewed coffee dripping,
1451
+ steam rising, natural window light supplemented by
1452
+ soft three-point studio lighting key from upper left,
1453
+ neutral white balance, aspirational home aesthetic,
1454
+ commercial advertising photography, ultra-detailed, sharp focus
1455
+
1456
+ Shot 4 — Flat Lay (1:1):
1457
+ Ceramic pour-over coffee dripper flat lay arrangement,
1458
+ with paper filters, coffee beans, wooden scoop, and mug,
1459
+ top-down composition, soft three-point studio lighting key from upper left,
1460
+ neutral white balance, light gray gradient background,
1461
+ white marble surface, styled editorial,
1462
+ commercial advertising photography, ultra-detailed, sharp focus
1463
+
1464
+ Shot 5 — Scale Reference (1:1):
1465
+ Ceramic pour-over coffee dripper next to standard coffee mug,
1466
+ size comparison clearly visible, both items on white marble surface,
1467
+ soft three-point studio lighting key from upper left,
1468
+ neutral white balance, light gray gradient background,
1469
+ commercial advertising photography, ultra-detailed, sharp focus
1470
+ ```
1471
+
1472
+ ---
1473
+
1474
+ ## Reference Image Examples
1475
+
1476
+ ### Style Transfer from Brand Photo
1477
+
1478
+ ```
1479
+ User provides: Existing brand product photo with specific lighting/mood
1480
+ Goal: New product in the same visual style
1481
+
1482
+ Prompt: "Premium bluetooth speaker product photography,
1483
+ matching the warm editorial style of the reference image,
1484
+ same lighting direction and color grading,
1485
+ same background treatment and composition approach,
1486
+ commercial advertising quality"
1487
+
1488
+ API: Include image_input parameter per MODEL_REGISTRY.md
1489
+ ```
1490
+
1491
+ ### Enhancement of Physical Photo
1492
+
1493
+ ```
1494
+ User provides: Phone photo of their actual product
1495
+ Goal: Professional-quality version
1496
+
1497
+ Prompt: "Professional product photography of [product from reference],
1498
+ upgraded to commercial studio quality,
1499
+ three-point studio lighting, clean background,
1500
+ sharp focus, color-corrected, professional retouching aesthetic"
1501
+
1502
+ API: Include image_input parameter per MODEL_REGISTRY.md
1503
+ ```
1504
+
1505
+ ### Variation Generation
1506
+
1507
+ ```
1508
+ User provides: Approved product photo they want variants of
1509
+ Goal: Same product, different angles/contexts
1510
+
1511
+ Prompt: "Same product as reference image but from [new angle],
1512
+ in [new setting], maintaining the same lighting quality
1513
+ and color temperature, consistent commercial style"
1514
+
1515
+ API: Include image_input parameter per MODEL_REGISTRY.md
1516
+ ```
1517
+
1518
+ ---
1519
+
1520
+ *This mode is part of the Vibe Marketing Skills v2 creative engine. It is loaded by `creative/SKILL.md` when the user selects mode 1 (Product Photos). All model configurations are maintained in `brand/stack.md` — never hardcode model IDs in this file.*