@jairodri/huckleberry-cli 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -0
- package/agents/cos.json +2 -5
- package/agents/hermes/AGENTS.md +25 -49
- package/agents/hermes/fix-kimaki/SKILL.md +19 -92
- package/agents/hermes/hermes-fixer.md +44 -74
- package/agents/hermes.json +6 -18
- package/kanban/SKILL.md +18 -18
- package/kanban/package.json +1 -1
- package/kanban/src/dispatcher.mjs +1 -1
- package/kanban/templates/blog-social-campaign.yaml +6 -2
- package/kanban/templates/social-campaign.yaml +9 -4
- package/mcp/jev-calibration.mjs +335 -0
- package/mcp/jev-client.mjs +119 -0
- package/mcp/jev-thresholds.json +27 -0
- package/package.json +13 -9
- package/scripts/doctor-watchdog.sh +73 -0
- package/scripts/install-services.sh +34 -27
- package/scripts/self-improve-weekly.sh +34 -0
- package/scripts/sync-skills.mjs +121 -0
- package/skills/ab-test-setup/SKILL.md +266 -0
- package/skills/ab-test-setup/evals/evals.json +105 -0
- package/skills/ab-test-setup/references/sample-size-guide.md +263 -0
- package/skills/ab-test-setup/references/test-templates.md +277 -0
- package/skills/agent-reach/SKILL.md +132 -0
- package/skills/agent-reach/references/career.md +29 -0
- package/skills/agent-reach/references/dev.md +62 -0
- package/skills/agent-reach/references/search.md +33 -0
- package/skills/agent-reach/references/social.md +232 -0
- package/skills/agent-reach/references/video.md +130 -0
- package/skills/agent-reach/references/web.md +50 -0
- package/skills/ai-agent-seo/SKILL.md +450 -0
- package/skills/ai-cold-email-intelligence/SKILL.md +54 -0
- package/skills/ai-cold-email-intelligence/references/prompts.md +21 -0
- package/skills/ai-consensus-builder/SKILL.md +324 -0
- package/skills/ai-seo/SKILL.md +399 -0
- package/skills/ai-seo/evals/evals.json +90 -0
- package/skills/ai-seo/references/content-patterns.md +284 -0
- package/skills/ai-seo/references/platform-ranking-factors.md +152 -0
- package/skills/ai-visibility-audit/SKILL.md +322 -0
- package/skills/analytics-tracking/SKILL.md +309 -0
- package/skills/analytics-tracking/evals/evals.json +90 -0
- package/skills/analytics-tracking/references/event-library.md +260 -0
- package/skills/analytics-tracking/references/ga4-implementation.md +300 -0
- package/skills/analytics-tracking/references/gtm-implementation.md +390 -0
- package/skills/article-generator/SKILL.md +216 -0
- package/skills/auto-indexing/SKILL.md +179 -0
- package/skills/auto-indexing/scripts/auto-indexing.js +257 -0
- package/skills/auto-skill/SKILL.md +151 -0
- package/skills/auto-skill/correction-queue.js +102 -0
- package/skills/auto-skill/dedup.js +97 -0
- package/skills/auto-skill/skill-router.js +224 -0
- package/skills/autoresearch/SKILL.md +334 -0
- package/skills/autoresearch/autoresearch-autoresearch/SKILL.md.baseline +329 -0
- package/skills/autoresearch/autoresearch-autoresearch/changelog.md +34 -0
- package/skills/autoresearch/autoresearch-autoresearch/dashboard.html +116 -0
- package/skills/autoresearch/autoresearch-autoresearch/evals.md +39 -0
- package/skills/autoresearch/autoresearch-autoresearch/results.json +44 -0
- package/skills/autoresearch/autoresearch-autoresearch/results.tsv +3 -0
- package/skills/autoresearch/eval-guide.md +121 -0
- package/skills/b2b-cold-outreach/SKILL.md +322 -0
- package/skills/birdclaw/SKILL.md +82 -0
- package/skills/brainstorm/SKILL.md +168 -0
- package/skills/brand-kit-playground/SKILL.md +312 -0
- package/skills/brand-kit-playground/references/html-architecture.md +316 -0
- package/skills/brand-kit-playground/references/steal-patterns.md +88 -0
- package/skills/brand-voice/SKILL.md +223 -0
- package/skills/brand-voice/references/honesty-as-positioning.md +60 -0
- package/skills/brand-voice/references/voice-modes.md +1158 -0
- package/skills/business-advisory-council/README.md +136 -0
- package/skills/business-advisory-council/SKILL.md +94 -0
- package/skills/business-advisory-council/business-advisory-council.py +492 -0
- package/skills/business-advisory-council/discord-components-decision.json +8 -0
- package/skills/business-advisory-council/examples/steve-conley-partnership.json +6 -0
- package/skills/business-advisory-council/steve-conley-call-brief.json +6 -0
- package/skills/churn-prevention/SKILL.md +305 -0
- package/skills/churn-prevention/evals/evals.json +93 -0
- package/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/skills/churn-prevention/references/dunning-playbook.md +408 -0
- package/skills/claw-compactor/LICENSE +21 -0
- package/skills/claw-compactor/README.md +459 -0
- package/skills/claw-compactor/SKILL.md +329 -0
- package/skills/claw-compactor/benchmark/RESULTS.md +104 -0
- package/skills/claw-compactor/benchmark/__init__.py +1 -0
- package/skills/claw-compactor/benchmark/compressors.py +520 -0
- package/skills/claw-compactor/benchmark/data/sample_01_devops.json +82 -0
- package/skills/claw-compactor/benchmark/data/sample_02_trading.json +54 -0
- package/skills/claw-compactor/benchmark/data/sample_03_ml_short.json +38 -0
- package/skills/claw-compactor/benchmark/data/sample_04_mixed_long.json +318 -0
- package/skills/claw-compactor/benchmark/data/sample_05_sysadmin.json +56 -0
- package/skills/claw-compactor/benchmark/evaluate.py +278 -0
- package/skills/claw-compactor/benchmark/report.py +241 -0
- package/skills/claw-compactor/benchmark/results/benchmark_results.json +405 -0
- package/skills/claw-compactor/benchmark/run_benchmark.py +238 -0
- package/skills/claw-compactor/engram.yaml +49 -0
- package/skills/claw-compactor/proxy/README.md +87 -0
- package/skills/claw-compactor/proxy/dashboard.html +804 -0
- package/skills/claw-compactor/proxy/event-log.mjs +213 -0
- package/skills/claw-compactor/proxy/fair-queue.mjs +288 -0
- package/skills/claw-compactor/proxy/metrics-store.mjs +425 -0
- package/skills/claw-compactor/proxy/package-lock.json +125 -0
- package/skills/claw-compactor/proxy/package.json +15 -0
- package/skills/claw-compactor/proxy/portal.html +360 -0
- package/skills/claw-compactor/proxy/process-registry.mjs +447 -0
- package/skills/claw-compactor/proxy/rate-limiter.mjs +117 -0
- package/skills/claw-compactor/proxy/redis-client.mjs +75 -0
- package/skills/claw-compactor/proxy/retry.mjs +182 -0
- package/skills/claw-compactor/proxy/server.mjs +2100 -0
- package/skills/claw-compactor/proxy/session-affinity.mjs +177 -0
- package/skills/claw-compactor/proxy/start.sh +23 -0
- package/skills/claw-compactor/proxy/test/event-log.test.mjs +237 -0
- package/skills/claw-compactor/proxy/test/helpers.mjs +103 -0
- package/skills/claw-compactor/proxy/test/integration.test.mjs +297 -0
- package/skills/claw-compactor/proxy/test/metrics-store.test.mjs +243 -0
- package/skills/claw-compactor/proxy/test/process-registry.test.mjs +390 -0
- package/skills/claw-compactor/proxy/test/rate-limiter.test.mjs +121 -0
- package/skills/claw-compactor/proxy/test/redis-client.test.mjs +62 -0
- package/skills/claw-compactor/proxy/test/token-tracker.test.mjs +200 -0
- package/skills/claw-compactor/proxy/token-tracker.mjs +482 -0
- package/skills/claw-compactor/pyproject.toml +26 -0
- package/skills/claw-compactor/references/README.md +44 -0
- package/skills/claw-compactor/references/architecture.md +197 -0
- package/skills/claw-compactor/references/benchmarks.md +94 -0
- package/skills/claw-compactor/references/compression-prompts.md +39 -0
- package/skills/claw-compactor/references/compression-techniques.md +219 -0
- package/skills/claw-compactor/references/testing.md +160 -0
- package/skills/claw-compactor/scripts/audit_memory.py +216 -0
- package/skills/claw-compactor/scripts/compress_memory.py +236 -0
- package/skills/claw-compactor/scripts/compressed_context.py +280 -0
- package/skills/claw-compactor/scripts/dedup_memory.py +147 -0
- package/skills/claw-compactor/scripts/dictionary_compress.py +170 -0
- package/skills/claw-compactor/scripts/engram-auto.sh +152 -0
- package/skills/claw-compactor/scripts/engram_auto.py +695 -0
- package/skills/claw-compactor/scripts/engram_cli.py +474 -0
- package/skills/claw-compactor/scripts/estimate_tokens.py +131 -0
- package/skills/claw-compactor/scripts/generate_summary_tiers.py +292 -0
- package/skills/claw-compactor/scripts/lib/__init__.py +34 -0
- package/skills/claw-compactor/scripts/lib/config.py +289 -0
- package/skills/claw-compactor/scripts/lib/dedup.py +119 -0
- package/skills/claw-compactor/scripts/lib/dictionary.py +281 -0
- package/skills/claw-compactor/scripts/lib/engram.py +793 -0
- package/skills/claw-compactor/scripts/lib/engram_prompts.py +175 -0
- package/skills/claw-compactor/scripts/lib/engram_storage.py +254 -0
- package/skills/claw-compactor/scripts/lib/exceptions.py +24 -0
- package/skills/claw-compactor/scripts/lib/markdown.py +312 -0
- package/skills/claw-compactor/scripts/lib/rle.py +165 -0
- package/skills/claw-compactor/scripts/lib/tokenizer_optimizer.py +188 -0
- package/skills/claw-compactor/scripts/lib/tokens.py +68 -0
- package/skills/claw-compactor/scripts/mem_compress.py +788 -0
- package/skills/claw-compactor/scripts/observation_compressor.py +346 -0
- package/skills/claw-compactor/tests/__init__.py +0 -0
- package/skills/claw-compactor/tests/conftest.py +94 -0
- package/skills/claw-compactor/tests/test_audit_comprehensive.py +123 -0
- package/skills/claw-compactor/tests/test_audit_memory.py +67 -0
- package/skills/claw-compactor/tests/test_benchmark.py +122 -0
- package/skills/claw-compactor/tests/test_cli_commands.py +228 -0
- package/skills/claw-compactor/tests/test_compress_memory.py +109 -0
- package/skills/claw-compactor/tests/test_compress_memory_comprehensive.py +191 -0
- package/skills/claw-compactor/tests/test_compressed_context.py +145 -0
- package/skills/claw-compactor/tests/test_config.py +54 -0
- package/skills/claw-compactor/tests/test_dedup_memory.py +124 -0
- package/skills/claw-compactor/tests/test_dictionary.py +327 -0
- package/skills/claw-compactor/tests/test_dictionary_comprehensive.py +241 -0
- package/skills/claw-compactor/tests/test_engram.py +1091 -0
- package/skills/claw-compactor/tests/test_engram_auto.py +529 -0
- package/skills/claw-compactor/tests/test_error_handling.py +194 -0
- package/skills/claw-compactor/tests/test_estimate_tokens.py +99 -0
- package/skills/claw-compactor/tests/test_generate_summary_tiers.py +105 -0
- package/skills/claw-compactor/tests/test_integration.py +249 -0
- package/skills/claw-compactor/tests/test_lib_dedup.py +135 -0
- package/skills/claw-compactor/tests/test_lib_markdown.py +388 -0
- package/skills/claw-compactor/tests/test_lib_tokens.py +82 -0
- package/skills/claw-compactor/tests/test_main_entry.py +176 -0
- package/skills/claw-compactor/tests/test_markdown_advanced.py +284 -0
- package/skills/claw-compactor/tests/test_new_features.py +77 -0
- package/skills/claw-compactor/tests/test_observation_comprehensive.py +261 -0
- package/skills/claw-compactor/tests/test_observation_compressor.py +128 -0
- package/skills/claw-compactor/tests/test_performance.py +172 -0
- package/skills/claw-compactor/tests/test_pipeline.py +109 -0
- package/skills/claw-compactor/tests/test_real_workspace.py +161 -0
- package/skills/claw-compactor/tests/test_rle.py +114 -0
- package/skills/claw-compactor/tests/test_rle_comprehensive.py +151 -0
- package/skills/claw-compactor/tests/test_roundtrip.py +253 -0
- package/skills/claw-compactor/tests/test_roundtrip_comprehensive.py +192 -0
- package/skills/claw-compactor/tests/test_tiers_comprehensive.py +171 -0
- package/skills/claw-compactor/tests/test_token_economics.py +237 -0
- package/skills/claw-compactor/tests/test_tokenizer_optimizer.py +175 -0
- package/skills/claw-compactor/tests/test_tokenizer_optimizer_comprehensive.py +241 -0
- package/skills/claw-compactor/tests/test_tokens.py +27 -0
- package/skills/cmo/CHANGELOG.md +61 -0
- package/skills/cmo/SKILL.md +500 -0
- package/skills/cmo/references/ai-slop-patterns.md +56 -0
- package/skills/cmo/references/analytics-guide.md +152 -0
- package/skills/cmo/references/ideas-library.md +197 -0
- package/skills/cmo/rules/brand-file-map.md +198 -0
- package/skills/cmo/rules/brand-memory.md +158 -0
- package/skills/cmo/rules/cli-runtime-index.md +95 -0
- package/skills/cmo/rules/command-reference.md +167 -0
- package/skills/cmo/rules/communication.md +15 -0
- package/skills/cmo/rules/context-switch.md +101 -0
- package/skills/cmo/rules/ecosystem.md +125 -0
- package/skills/cmo/rules/error-recovery.md +98 -0
- package/skills/cmo/rules/learning-loop.md +170 -0
- package/skills/cmo/rules/monorepo.md +78 -0
- package/skills/cmo/rules/output-format.md +124 -0
- package/skills/cmo/rules/persona.md +15 -0
- package/skills/cmo/rules/playbooks.md +327 -0
- package/skills/cmo/rules/progressive-enhancement.md +231 -0
- package/skills/cmo/rules/publish-index.md +106 -0
- package/skills/cmo/rules/quality-gate.md +90 -0
- package/skills/cmo/rules/recency-grounding.md +124 -0
- package/skills/cmo/rules/safety.md +80 -0
- package/skills/cmo/rules/studio-api-index.md +138 -0
- package/skills/cmo/rules/studio-integration.md +147 -0
- package/skills/cmo/rules/sub-agents.md +167 -0
- package/skills/cold-email/SKILL.md +240 -0
- package/skills/cold-email/evals/evals.json +94 -0
- package/skills/cold-email/references/benchmarks.md +83 -0
- package/skills/cold-email/references/follow-up-sequences.md +81 -0
- package/skills/cold-email/references/frameworks.md +90 -0
- package/skills/cold-email/references/personalization.md +79 -0
- package/skills/cold-email/references/subject-lines.md +53 -0
- package/skills/competitive-intel/SKILL.md +433 -0
- package/skills/competitive-intel/references/competitive-frameworks.md +145 -0
- package/skills/competitor-alternatives/SKILL.md +362 -0
- package/skills/competitor-alternatives/evals/evals.json +93 -0
- package/skills/competitor-alternatives/references/content-architecture.md +271 -0
- package/skills/competitor-alternatives/references/templates.md +223 -0
- package/skills/concreteness-fixer/SKILL.md +483 -0
- package/skills/concreteness-fixer/scripts/validation/concreteness-validator.js +221 -0
- package/skills/concreteness-fixer/utils/execFileNoThrow.js +16 -0
- package/skills/content-atomizer/SKILL.md +424 -0
- package/skills/content-atomizer/references/hook-strategies.md +56 -0
- package/skills/content-atomizer/references/platform-specs.md +118 -0
- package/skills/content-atomizer/references/platforms/bluesky.md +64 -0
- package/skills/content-atomizer/references/platforms/instagram.md +77 -0
- package/skills/content-atomizer/references/platforms/linkedin.md +120 -0
- package/skills/content-atomizer/references/platforms/reddit.md +73 -0
- package/skills/content-atomizer/references/platforms/threads.md +64 -0
- package/skills/content-atomizer/references/platforms/tiktok.md +55 -0
- package/skills/content-atomizer/references/platforms/twitter.md +123 -0
- package/skills/content-atomizer/references/platforms/youtube.md +56 -0
- package/skills/content-atomizer/references/tweet-patterns.md +40 -0
- package/skills/content-repost-manager/SKILL.md +245 -0
- package/skills/content-repost-manager/scripts/content-repost-scan.py +133 -0
- package/skills/context-recovery/.clawdhub/origin.json +7 -0
- package/skills/context-recovery/SKILL.md +198 -0
- package/skills/context-recovery/_meta.json +6 -0
- package/skills/conversion-flow-cro/SKILL.md +248 -0
- package/skills/conversion-flow-cro/references/flow-benchmarks.md +158 -0
- package/skills/copy-editing/SKILL.md +474 -0
- package/skills/copy-editing/evals/evals.json +89 -0
- package/skills/copy-editing/references/plain-english-alternatives.md +394 -0
- package/skills/copywriting/SKILL.md +349 -0
- package/skills/copywriting/evals/evals.json +111 -0
- package/skills/copywriting/references/awareness-level-guide.md +227 -0
- package/skills/copywriting/references/copy-frameworks.md +389 -0
- package/skills/copywriting/references/natural-transitions.md +272 -0
- package/skills/creative/SKILL.md +365 -0
- package/skills/creative/modes/ad-creative.md +1748 -0
- package/skills/creative/modes/product-photo.md +1520 -0
- package/skills/creative/modes/product-video.md +1657 -0
- package/skills/creative/modes/social-graphics.md +1511 -0
- package/skills/creative/modes/talking-head.md +2208 -0
- package/skills/creative/references/VISUAL_INTELLIGENCE.md +1233 -0
- package/skills/deep-serp-article/SKILL.md +677 -0
- package/skills/deep-serp-article/SKILL.md.bak +530 -0
- package/skills/earned-media/SKILL.md +260 -0
- package/skills/email-sequences/SKILL.md +446 -0
- package/skills/email-sequences/references/sequence-templates.md +1217 -0
- package/skills/firecrawl/.skill-meta.json +13 -0
- package/skills/firecrawl/SKILL.md +154 -0
- package/skills/firecrawl/rules/install.md +63 -0
- package/skills/firecrawl/rules/security.md +26 -0
- package/skills/form-cro/SKILL.md +429 -0
- package/skills/form-cro/evals/evals.json +90 -0
- package/skills/free-tool-strategy/SKILL.md +325 -0
- package/skills/free-tool-strategy/evals/evals.json +90 -0
- package/skills/free-tool-strategy/references/tool-types.md +253 -0
- package/skills/frontend-slides/SKILL.md +248 -0
- package/skills/frontend-slides/STYLE_PRESETS.md +347 -0
- package/skills/frontend-slides/animation-patterns.md +110 -0
- package/skills/frontend-slides/html-template.md +347 -0
- package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
- package/skills/frontend-slides/viewport-base.css +153 -0
- package/skills/guardrail-framework/SKILL.md +319 -0
- package/skills/hook-generator/SKILL.md +438 -0
- package/skills/hook-generator/database/2026-PLATFORM-RESEARCH.md +211 -0
- package/skills/hook-generator/database/instagram-hooks.json +591 -0
- package/skills/hook-generator/database/linkedin-hooks.json +502 -0
- package/skills/hook-generator/database/medium-hooks.json +181 -0
- package/skills/hook-generator/database/tiktok-hooks.json +337 -0
- package/skills/hook-generator/database/twitter-hooks.json +567 -0
- package/skills/hook-generator/database/youtube-hooks.json +275 -0
- package/skills/hook-generator/package-lock.json +24 -0
- package/skills/hook-generator/package.json +5 -0
- package/skills/hook-generator/references/hook-generation-system.md +257 -0
- package/skills/hook-generator/references/hook-performance-analysis.json +153 -0
- package/skills/hook-generator/references/hooks-library.md +128 -0
- package/skills/hook-generator/references/platform-hook-frameworks.md +275 -0
- package/skills/hook-generator/scripts/generate-hooks-unified.js +722 -0
- package/skills/hook-generator/scripts/generate-hooks.js +225 -0
- package/skills/hook-generator/scripts/generate.sh +36 -0
- package/skills/hook-generator/scripts/ralph-hook-enhancer.js +864 -0
- package/skills/hook-generator/scripts/test-gemini-output.js +51 -0
- package/skills/humanizer/README.md +120 -0
- package/skills/humanizer/SKILL.md +699 -0
- package/skills/image-gen/SKILL.md +277 -0
- package/skills/image-gen/references/prompt-patterns.md +114 -0
- package/skills/image-gen/references/visual-metaphors.md +51 -0
- package/skills/impeccable/SKILL.md +86 -0
- package/skills/impeccable/reference/adapt.md +312 -0
- package/skills/impeccable/reference/adapt.native.md +58 -0
- package/skills/impeccable/reference/android.md +40 -0
- package/skills/impeccable/reference/animate.md +86 -0
- package/skills/impeccable/reference/audit.md +136 -0
- package/skills/impeccable/reference/audit.native.md +139 -0
- package/skills/impeccable/reference/bolder.md +31 -0
- package/skills/impeccable/reference/clarify.md +94 -0
- package/skills/impeccable/reference/colorize.md +86 -0
- package/skills/impeccable/reference/craft-floor.md +42 -0
- package/skills/impeccable/reference/craft.md +5 -0
- package/skills/impeccable/reference/critique.md +788 -0
- package/skills/impeccable/reference/degraded/asset-producer.md +90 -0
- package/skills/impeccable/reference/degraded/documenter.md +24 -0
- package/skills/impeccable/reference/degraded/finish-reviewer.md +37 -0
- package/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
- package/skills/impeccable/reference/delight.md +70 -0
- package/skills/impeccable/reference/distill.md +111 -0
- package/skills/impeccable/reference/doctor.md +53 -0
- package/skills/impeccable/reference/document.md +416 -0
- package/skills/impeccable/reference/extract.md +69 -0
- package/skills/impeccable/reference/harden.md +336 -0
- package/skills/impeccable/reference/hooks.md +105 -0
- package/skills/impeccable/reference/init.md +125 -0
- package/skills/impeccable/reference/ios.md +45 -0
- package/skills/impeccable/reference/layout.md +84 -0
- package/skills/impeccable/reference/live-setup.md +102 -0
- package/skills/impeccable/reference/live.md +323 -0
- package/skills/impeccable/reference/new-work.md +110 -0
- package/skills/impeccable/reference/onboard.md +234 -0
- package/skills/impeccable/reference/operate.md +61 -0
- package/skills/impeccable/reference/optimize.md +258 -0
- package/skills/impeccable/reference/overdrive.md +127 -0
- package/skills/impeccable/reference/polish.md +97 -0
- package/skills/impeccable/reference/quieter.md +99 -0
- package/skills/impeccable/reference/routing.md +18 -0
- package/skills/impeccable/reference/shape.md +59 -0
- package/skills/impeccable/reference/typeset.md +80 -0
- package/skills/impeccable/reference/visualize.md +49 -0
- package/skills/impeccable/scripts/command-metadata.json +94 -0
- package/skills/impeccable/scripts/concept-seed.mjs +558 -0
- package/skills/impeccable/scripts/context-signals.mjs +334 -0
- package/skills/impeccable/scripts/context.mjs +1467 -0
- package/skills/impeccable/scripts/critique-storage.mjs +213 -0
- package/skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/skills/impeccable/scripts/detect.mjs +21 -0
- package/skills/impeccable/scripts/detector/browser/injected/index.mjs +2023 -0
- package/skills/impeccable/scripts/detector/cli/main.mjs +438 -0
- package/skills/impeccable/scripts/detector/design-system.mjs +1046 -0
- package/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +8283 -0
- package/skills/impeccable/scripts/detector/detect-antipatterns.mjs +50 -0
- package/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +372 -0
- package/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +1168 -0
- package/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +1186 -0
- package/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +264 -0
- package/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/skills/impeccable/scripts/detector/findings.mjs +18 -0
- package/skills/impeccable/scripts/detector/node/file-system.mjs +203 -0
- package/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/skills/impeccable/scripts/detector/registry/antipatterns.mjs +617 -0
- package/skills/impeccable/scripts/detector/rules/checks.mjs +5580 -0
- package/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/skills/impeccable/scripts/detector/shared/constants.mjs +112 -0
- package/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
- package/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
- package/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/skills/impeccable/scripts/doctor.mjs +336 -0
- package/skills/impeccable/scripts/embed-prompt.mjs +133 -0
- package/skills/impeccable/scripts/generate-image.mjs +240 -0
- package/skills/impeccable/scripts/hook-admin.mjs +801 -0
- package/skills/impeccable/scripts/hook-before-edit.mjs +508 -0
- package/skills/impeccable/scripts/hook-lib.mjs +2153 -0
- package/skills/impeccable/scripts/hook.mjs +78 -0
- package/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
- package/skills/impeccable/scripts/lib/composition-catalog.mjs +200 -0
- package/skills/impeccable/scripts/lib/concept-catalog.mjs +384 -0
- package/skills/impeccable/scripts/lib/design-parser.mjs +925 -0
- package/skills/impeccable/scripts/lib/impeccable-config.mjs +658 -0
- package/skills/impeccable/scripts/lib/impeccable-paths.mjs +137 -0
- package/skills/impeccable/scripts/lib/is-generated.mjs +69 -0
- package/skills/impeccable/scripts/lib/provider.mjs +5 -0
- package/skills/impeccable/scripts/lib/roll-selection.mjs +362 -0
- package/skills/impeccable/scripts/lib/staleness-deep.mjs +478 -0
- package/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
- package/skills/impeccable/scripts/lib/staleness.mjs +457 -0
- package/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
- package/skills/impeccable/scripts/lib/target-args.mjs +42 -0
- package/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
- package/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
- package/skills/impeccable/scripts/live/accept-css.mjs +617 -0
- package/skills/impeccable/scripts/live/accept-verify.mjs +60 -0
- package/skills/impeccable/scripts/live/browser-script-parts.mjs +55 -0
- package/skills/impeccable/scripts/live/completion.mjs +28 -0
- package/skills/impeccable/scripts/live/event-validation.mjs +199 -0
- package/skills/impeccable/scripts/live/frameworks/astro.mjs +47 -0
- package/skills/impeccable/scripts/live/frameworks/detect-utils.mjs +73 -0
- package/skills/impeccable/scripts/live/frameworks/index.mjs +143 -0
- package/skills/impeccable/scripts/live/frameworks/journal.mjs +197 -0
- package/skills/impeccable/scripts/live/frameworks/nextjs.mjs +49 -0
- package/skills/impeccable/scripts/live/frameworks/nuxt.mjs +161 -0
- package/skills/impeccable/scripts/live/frameworks/script-src.mjs +17 -0
- package/skills/impeccable/scripts/live/frameworks/static-html.mjs +26 -0
- package/skills/impeccable/scripts/live/frameworks/sveltekit.mjs +71 -0
- package/skills/impeccable/scripts/live/frameworks/tag-strategy.mjs +247 -0
- package/skills/impeccable/scripts/live/frameworks/tanstack-start.mjs +70 -0
- package/skills/impeccable/scripts/live/frameworks/vite-generic.mjs +42 -0
- package/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
- package/skills/impeccable/scripts/live/insert-ui.mjs +458 -0
- package/skills/impeccable/scripts/live/instructions.mjs +142 -0
- package/skills/impeccable/scripts/live/manual-apply.mjs +939 -0
- package/skills/impeccable/scripts/live/manual-edit-routes.mjs +357 -0
- package/skills/impeccable/scripts/live/manual-edits-buffer.mjs +152 -0
- package/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
- package/skills/impeccable/scripts/live/roots.mjs +508 -0
- package/skills/impeccable/scripts/live/session-store.mjs +563 -0
- package/skills/impeccable/scripts/live/source-lock.mjs +105 -0
- package/skills/impeccable/scripts/live/source-search.mjs +105 -0
- package/skills/impeccable/scripts/live/svelte-ast.mjs +961 -0
- package/skills/impeccable/scripts/live/svelte-component.mjs +1342 -0
- package/skills/impeccable/scripts/live/sveltekit-adapter.mjs +316 -0
- package/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
- package/skills/impeccable/scripts/live/ui-core.mjs +180 -0
- package/skills/impeccable/scripts/live/vocabulary.mjs +171 -0
- package/skills/impeccable/scripts/live-accept.mjs +954 -0
- package/skills/impeccable/scripts/live-browser-dom.js +146 -0
- package/skills/impeccable/scripts/live-browser-session.js +123 -0
- package/skills/impeccable/scripts/live-browser.js +12520 -0
- package/skills/impeccable/scripts/live-commit-manual-edits.mjs +1244 -0
- package/skills/impeccable/scripts/live-complete.mjs +107 -0
- package/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
- package/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
- package/skills/impeccable/scripts/live-inject.mjs +503 -0
- package/skills/impeccable/scripts/live-insert.mjs +292 -0
- package/skills/impeccable/scripts/live-manual-edit-evidence.mjs +368 -0
- package/skills/impeccable/scripts/live-poll.mjs +429 -0
- package/skills/impeccable/scripts/live-resume.mjs +123 -0
- package/skills/impeccable/scripts/live-server.mjs +1669 -0
- package/skills/impeccable/scripts/live-status.mjs +71 -0
- package/skills/impeccable/scripts/live-target.mjs +30 -0
- package/skills/impeccable/scripts/live-wrap.mjs +927 -0
- package/skills/impeccable/scripts/live.mjs +359 -0
- package/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/skills/impeccable/scripts/palette.mjs +628 -0
- package/skills/impeccable/scripts/pin.mjs +221 -0
- package/skills/impeccable/scripts/serve-question.mjs +932 -0
- package/skills/impeccable/scripts/surface-brief.mjs +74 -0
- package/skills/inkstone-admin/SKILL.md +66 -0
- package/skills/jev-hook-gate/SKILL.md +111 -0
- package/skills/keyword-research/SKILL.md +503 -0
- package/skills/keyword-research/references/dr-cap-and-confidence.md +62 -0
- package/skills/keyword-research/references/keyword-examples.md +769 -0
- package/skills/landing-page-architect/SKILL.md +585 -0
- package/skills/landing-page-architect/references/architecture-reference.md +32 -0
- package/skills/launch-strategy/SKILL.md +384 -0
- package/skills/launch-strategy/evals/evals.json +91 -0
- package/skills/launch-strategy/references/launch-checklist.md +209 -0
- package/skills/launch-strategy/references/launch-timeline.md +159 -0
- package/skills/lead-email-craft/SKILL.md +522 -0
- package/skills/lead-magnets/SKILL.md +310 -0
- package/skills/lead-magnets/references/benchmarks.md +129 -0
- package/skills/lead-magnets/references/format-guide.md +196 -0
- package/skills/link-building-seo/SKILL.md +210 -0
- package/skills/lint-report.txt +1 -0
- package/skills/manifest.json +129 -0
- package/skills/marketing-demo/SKILL.md +249 -0
- package/skills/marketing-demo/references/remotion-examples.md +281 -0
- package/skills/marketing-ideas/SKILL.md +167 -0
- package/skills/marketing-ideas/evals/evals.json +90 -0
- package/skills/marketing-ideas/references/ideas-by-category.md +366 -0
- package/skills/marketing-psychology/SKILL.md +374 -0
- package/skills/marketing-psychology/evals/evals.json +88 -0
- package/skills/marketing-psychology/references/case-studies.md +148 -0
- package/skills/narrative-research-article/SKILL.md +469 -0
- package/skills/narrative-research-article/references/lanusse-patterns.md +166 -0
- package/skills/notebooklm/SKILL.md +674 -0
- package/skills/off-page-seo/SKILL.md +219 -0
- package/skills/onboarding-cro/SKILL.md +220 -0
- package/skills/onboarding-cro/evals/evals.json +92 -0
- package/skills/onboarding-cro/references/experiments.md +258 -0
- package/skills/original-research/SKILL.md +388 -0
- package/skills/page-cro/SKILL.md +269 -0
- package/skills/page-cro/references/cro-benchmarks.md +140 -0
- package/skills/paper-marketing/SKILL.md +448 -0
- package/skills/paper-marketing/references/agent-quality-rubric.md +68 -0
- package/skills/paper-marketing/references/brand-system-template.md +120 -0
- package/skills/paper-marketing/references/paper-mcp-rules.md +71 -0
- package/skills/paper-marketing/references/platform-conventions.md +43 -0
- package/skills/paywall-upgrade-cro/SKILL.md +227 -0
- package/skills/paywall-upgrade-cro/evals/evals.json +93 -0
- package/skills/paywall-upgrade-cro/references/experiments.md +164 -0
- package/skills/platform-formatting/SKILL.md +51 -0
- package/skills/popup-cro/SKILL.md +454 -0
- package/skills/popup-cro/evals/evals.json +94 -0
- package/skills/positioning-angles/SKILL.md +524 -0
- package/skills/positioning-angles/references/ad-matrix-and-examples.md +176 -0
- package/skills/positioning-angles/references/angle-frameworks.md +187 -0
- package/skills/positioning-angles/references/dunford-positioning.md +135 -0
- package/skills/positioning-angles/references/hormozi-offer.md +247 -0
- package/skills/positioning-angles/references/schwartz-sophistication.md +166 -0
- package/skills/positioning-angles/references/unique-mechanism.md +162 -0
- package/skills/pricing-strategy/SKILL.md +346 -0
- package/skills/pricing-strategy/evals/evals.json +90 -0
- package/skills/pricing-strategy/references/research-methods.md +152 -0
- package/skills/pricing-strategy/references/tier-structure.md +307 -0
- package/skills/programmatic-seo/SKILL.md +238 -0
- package/skills/programmatic-seo/evals/evals.json +94 -0
- package/skills/programmatic-seo/references/playbooks.md +308 -0
- package/skills/project-rag/SKILL.md +127 -0
- package/skills/quality-gate/SKILL.md +519 -0
- package/skills/quality-gate/judge-personas/buyer.md +47 -0
- package/skills/quality-gate/judge-personas/expert.md +47 -0
- package/skills/quality-gate/judge-personas/outsider.md +47 -0
- package/skills/quality-gate/judge-personas/scanner.md +41 -0
- package/skills/quality-gate/judge-personas/skeptic.md +40 -0
- package/skills/referral-program/SKILL.md +290 -0
- package/skills/referral-program/evals/evals.json +89 -0
- package/skills/referral-program/references/affiliate-programs.md +163 -0
- package/skills/referral-program/references/program-examples.md +143 -0
- package/skills/review-sites/SKILL.md +279 -0
- package/skills/revops/SKILL.md +343 -0
- package/skills/revops/evals/evals.json +91 -0
- package/skills/revops/references/automation-playbooks.md +290 -0
- package/skills/revops/references/lifecycle-definitions.md +278 -0
- package/skills/revops/references/routing-rules.md +203 -0
- package/skills/revops/references/scoring-models.md +247 -0
- package/skills/saas-product-seo/SKILL.md +324 -0
- package/skills/sales-enablement/SKILL.md +349 -0
- package/skills/sales-enablement/evals/evals.json +91 -0
- package/skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/skills/sales-enablement/references/demo-scripts.md +355 -0
- package/skills/sales-enablement/references/objection-library.md +270 -0
- package/skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/skills/schema-markup/SKILL.md +179 -0
- package/skills/schema-markup/evals/evals.json +87 -0
- package/skills/schema-markup/references/schema-examples.md +398 -0
- package/skills/self-improve/SKILL.md +166 -0
- package/skills/self-improving-agent/README.md +243 -0
- package/skills/self-improving-agent/SKILL.md +437 -0
- package/skills/self-improving-agent/scripts/__init__.py +16 -0
- package/skills/self-improving-agent/scripts/__pycache__/auto_detect.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/__pycache__/nlm_curation.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/__pycache__/self_improving_agent.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/auto_detect.py +270 -0
- package/skills/self-improving-agent/scripts/init_expertise_registry.py +89 -0
- package/skills/self-improving-agent/scripts/nlm_curation.py +259 -0
- package/skills/self-improving-agent/scripts/self-improving-agent +113 -0
- package/skills/self-improving-agent/scripts/self_improving_agent.py +603 -0
- package/skills/self-improving-agent/scripts/test_curation_scorer.py +20 -0
- package/skills/self-improving-agent/scripts/test_self_improving.py +184 -0
- package/skills/send-email/SKILL.md +426 -0
- package/skills/send-email/references/batch-email-examples.md +807 -0
- package/skills/send-email/references/best-practices.md +453 -0
- package/skills/send-email/references/installation.md +123 -0
- package/skills/send-email/references/single-email-examples.md +470 -0
- package/skills/send-email/references/webhooks.md +221 -0
- package/skills/seo-audit/SKILL.md +362 -0
- package/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/skills/seo-audit/references/architecture-patterns.md +271 -0
- package/skills/seo-audit/references/schema-templates.md +427 -0
- package/skills/seo-content/SKILL.md +510 -0
- package/skills/seo-content/references/anti-ai-detection.md +184 -0
- package/skills/seo-content/references/content-structures.md +148 -0
- package/skills/seo-content/references/eeat-examples.md +235 -0
- package/skills/seo-content/references/on-page-seo.md +261 -0
- package/skills/seo-content/references/pseo-playbooks.md +226 -0
- package/skills/seo-content/references/schema-templates.md +104 -0
- package/skills/seo-content/references/serp-analysis-format.md +151 -0
- package/skills/seo-machine/SKILL.md +331 -0
- package/skills/seo-machine/assets/brand-template.md +73 -0
- package/skills/seo-machine/assets/link-inventory-template.md +74 -0
- package/skills/seo-machine/assets/roadmap-template.md +184 -0
- package/skills/seo-machine/references/api-stack-recipes.md +230 -0
- package/skills/seo-machine/references/exa-recipes.md +260 -0
- package/skills/seo-machine/references/manual-research.md +73 -0
- package/skills/seo-machine/references/methodology.md +87 -0
- package/skills/seo-machine/references/off-page.md +123 -0
- package/skills/seo-machine/references/patterns/alternatives.md +176 -0
- package/skills/seo-machine/references/patterns/compare.md +105 -0
- package/skills/seo-machine/references/patterns/playbooks.md +106 -0
- package/skills/seo-machine/references/patterns/use-case.md +109 -0
- package/skills/seo-machine/references/quality-bars.md +99 -0
- package/skills/seo-machine/references/stacks/astro.md +156 -0
- package/skills/seo-machine/references/stacks/detection.md +61 -0
- package/skills/seo-machine/references/stacks/markdown-fallback.md +181 -0
- package/skills/seo-machine/references/stacks/nextjs.md +108 -0
- package/skills/seo-machine/references/stacks/rails-inertia.md +99 -0
- package/skills/seo-machine/references/striking-distance.md +116 -0
- package/skills/seo-machine/references/technical-audit.md +153 -0
- package/skills/seo-machine/scripts/link_audit.py +265 -0
- package/skills/seo-machine/scripts/tech_audit.py +221 -0
- package/skills/seo-machine/scripts/word_count.py +154 -0
- package/skills/sharp-thesis-validator/SKILL.md +393 -0
- package/skills/sharp-thesis-validator/examples.md +186 -0
- package/skills/signup-flow-cro/SKILL.md +359 -0
- package/skills/signup-flow-cro/evals/evals.json +88 -0
- package/skills/site-architecture/SKILL.md +357 -0
- package/skills/site-architecture/evals/evals.json +88 -0
- package/skills/site-architecture/references/mermaid-templates.md +216 -0
- package/skills/site-architecture/references/navigation-patterns.md +305 -0
- package/skills/site-architecture/references/site-type-templates.md +293 -0
- package/skills/skill-self-improvement/SKILL.md +151 -0
- package/skills/slideshow-script/SKILL.md +274 -0
- package/skills/slideshow-script/references/content-spec-schema.md +77 -0
- package/skills/slideshow-script/references/frameworks.md +84 -0
- package/skills/slideshow-script/references/paips-framework.md +37 -0
- package/skills/social-campaign/SKILL.md +419 -0
- package/skills/social-campaign/references/paper-mcp-workflow.md +48 -0
- package/skills/social-content/SKILL.md +359 -0
- package/skills/social-content/evals/evals.json +92 -0
- package/skills/social-content/references/platforms.md +170 -0
- package/skills/social-content/references/post-templates.md +177 -0
- package/skills/social-content/references/reverse-engineering.md +195 -0
- package/skills/social-worker/SKILL.md +204 -0
- package/skills/startup-launcher/SKILL.md +252 -0
- package/skills/startup-launcher/references/file-router.md +64 -0
- package/skills/startup-launcher/references/platform-matrix.md +65 -0
- package/skills/startup-launcher/references/platforms/alternativeto.md +283 -0
- package/skills/startup-launcher/references/platforms/appsumo.md +495 -0
- package/skills/startup-launcher/references/platforms/auraplusplus.md +736 -0
- package/skills/startup-launcher/references/platforms/betalist.md +98 -0
- package/skills/startup-launcher/references/platforms/capterra.md +276 -0
- package/skills/startup-launcher/references/platforms/crunchbase.md +514 -0
- package/skills/startup-launcher/references/platforms/dealify.md +291 -0
- package/skills/startup-launcher/references/platforms/dealmirror.md +313 -0
- package/skills/startup-launcher/references/platforms/desifounder.md +490 -0
- package/skills/startup-launcher/references/platforms/devhunt.md +210 -0
- package/skills/startup-launcher/references/platforms/devpost.md +448 -0
- package/skills/startup-launcher/references/platforms/fazier.md +56 -0
- package/skills/startup-launcher/references/platforms/firsto.md +489 -0
- package/skills/startup-launcher/references/platforms/g2.md +226 -0
- package/skills/startup-launcher/references/platforms/hackernews.md +99 -0
- package/skills/startup-launcher/references/platforms/hackernoon.md +385 -0
- package/skills/startup-launcher/references/platforms/indiedeals.md +367 -0
- package/skills/startup-launcher/references/platforms/indiehackers.md +80 -0
- package/skills/startup-launcher/references/platforms/kenmoo.md +231 -0
- package/skills/startup-launcher/references/platforms/labstartups.md +618 -0
- package/skills/startup-launcher/references/platforms/launchboard.md +307 -0
- package/skills/startup-launcher/references/platforms/launchfast.md +560 -0
- package/skills/startup-launcher/references/platforms/launchigniter.md +56 -0
- package/skills/startup-launcher/references/platforms/launchingnext.md +674 -0
- package/skills/startup-launcher/references/platforms/launchit.md +574 -0
- package/skills/startup-launcher/references/platforms/launchyourapp.md +677 -0
- package/skills/startup-launcher/references/platforms/libhunt.md +220 -0
- package/skills/startup-launcher/references/platforms/ltdhunt.md +221 -0
- package/skills/startup-launcher/references/platforms/microlaunch.md +45 -0
- package/skills/startup-launcher/references/platforms/openalternative.md +195 -0
- package/skills/startup-launcher/references/platforms/peerlist.md +56 -0
- package/skills/startup-launcher/references/platforms/peerpush.md +64 -0
- package/skills/startup-launcher/references/platforms/primeclub.md +282 -0
- package/skills/startup-launcher/references/platforms/productcanyon.md +190 -0
- package/skills/startup-launcher/references/platforms/producthunt.md +98 -0
- package/skills/startup-launcher/references/platforms/rankinpublic.md +315 -0
- package/skills/startup-launcher/references/platforms/rockethub.md +374 -0
- package/skills/startup-launcher/references/platforms/saasgenius.md +175 -0
- package/skills/startup-launcher/references/platforms/saashub.md +205 -0
- package/skills/startup-launcher/references/platforms/saasmantra.md +221 -0
- package/skills/startup-launcher/references/platforms/saaspirate.md +287 -0
- package/skills/startup-launcher/references/platforms/saaswarrior.md +190 -0
- package/skills/startup-launcher/references/platforms/saaszilla.md +194 -0
- package/skills/startup-launcher/references/platforms/selected.md +925 -0
- package/skills/startup-launcher/references/platforms/sideprojectors.md +86 -0
- package/skills/startup-launcher/references/platforms/softonic.md +240 -0
- package/skills/startup-launcher/references/platforms/sourceforge.md +251 -0
- package/skills/startup-launcher/references/platforms/stacksocial.md +244 -0
- package/skills/startup-launcher/references/platforms/startupstash.md +326 -0
- package/skills/startup-launcher/references/platforms/theresanaiforthat.md +253 -0
- package/skills/startup-launcher/references/platforms/tinylaunch.md +70 -0
- package/skills/startup-launcher/references/platforms/tinystartups.md +72 -0
- package/skills/startup-launcher/references/platforms/toolfolio.md +291 -0
- package/skills/startup-launcher/references/platforms/trustmrr.md +194 -0
- package/skills/startup-launcher/references/platforms/trylaunch.md +531 -0
- package/skills/startup-launcher/references/platforms/uneed.md +57 -0
- package/skills/startup-launcher/references/templates/asset-checklist.md +218 -0
- package/skills/startup-launcher/references/templates/launch-tracker.md +195 -0
- package/skills/startup-launcher/references/templates/product-brief.md +98 -0
- package/skills/summarize/.skill-meta.json +13 -0
- package/skills/summarize/SKILL.md +170 -0
- package/skills/summarize/rules/install.md +157 -0
- package/skills/summarize/rules/usage.md +207 -0
- package/skills/topical-authority/SKILL.md +307 -0
- package/skills/topical-authority/references/jake-ward-framework.md +201 -0
- package/skills/topical-authority/references/serp-clustering-algorithm.md +325 -0
- package/skills/topical-authority/scripts/orchestrator.js +367 -0
- package/skills/topical-authority/scripts/seo/analyze-competitor-coverage.js +3 -0
- package/skills/topical-authority/scripts/seo/audit-internal-links.js +3 -0
- package/skills/topical-authority/scripts/seo/build-clusters-from-serp.js +3 -0
- package/skills/topical-authority/scripts/seo/extract-keywords-from-forums.js +3 -0
- package/skills/topical-authority/scripts/seo/extract-paa-questions.js +3 -0
- package/skills/topical-authority/scripts/seo/fetch-serp-urls.js +3 -0
- package/skills/topical-authority/scripts/seo/gemini-serp-clustering.js +3 -0
- package/skills/topical-authority/scripts/seo/identify-content-gaps.js +3 -0
- package/skills/topical-authority/scripts/seo/identify-research-gaps.js +3 -0
- package/skills/topical-authority/scripts/seo/scrape-quora-questions.js +3 -0
- package/skills/topical-authority/scripts/seo/scrape-reddit-pain-points.js +3 -0
- package/skills/topical-authority/scripts/seo/weave-internal-links.js +3 -0
- package/skills/visual-style/SKILL.md +199 -0
- package/skills/voice-brand-alignment/SKILL.md +70 -0
- package/skills/voice-brand-alignment/references/ai-slop-patterns.md +405 -0
- package/skills/voice-brand-alignment/scripts/validation/gemini-voice-validator.js +96 -0
- package/skills/voice-extraction/SKILL.md +234 -0
- package/skills/voice-extraction/references/extraction-prompt.md +155 -0
- package/skills/voice-extraction/references/voice-dna-template.md +168 -0
- package/skills/voice-extraction/references/voice-elements.md +259 -0
- package/skills/voice-extraction/scripts/build-corpus.js +120 -0
- package/skills/voice-extraction/scripts/collect-sources.sh +168 -0
- package/skills/warm-outbound/SKILL.md +299 -0
- package/skills/warm-outbound/templates/warm-message.md +39 -0
- package/skills/weekly-newsletter-digest/SKILL.md +78 -0
- package/skills/x-playwriter/SKILL.md +428 -0
- package/skills/x-playwriter/scripts/x-browser.js +185 -0
- package/skills/x-post-generator-openclaw/SKILL.md +138 -0
- package/skills/x-post-generator-openclaw/scripts/generate-x-post.js +537 -0
- package/skills/x-posting-playwriter/SKILL.md +203 -0
- package/skills/x-research/SKILL.md +129 -0
- package/skills/x-research/x-research.sh +85 -0
- package/skills/youtube-summarize/SKILL.md +90 -0
- package/skills/youtube-summarize/scripts/youtube-summarize.sh +143 -0
- package/src/cli.js +347 -172
- package/src/harness/deepseek-adapter.js +102 -0
- package/src/harness/deepseek.js +225 -0
- package/src/harness/opencode-adapter.js +174 -0
- package/src/harness/pi-adapter.js +172 -0
- package/src/harness/registry.js +121 -0
- package/src/harness/telemetry.js +102 -0
- package/src/harness/types.js +165 -0
- package/src/interview.js +36 -4
- package/src/postinstall.js +10 -12
- package/templates/AGENTS.md +17 -17
- package/templates/ORG.md +1 -1
- package/templates/TOOLS.md +7 -2
- package/templates/opencode.json +26 -29
- package/wiki/doctor.md +54 -0
- package/wiki/inkstone.md +4 -4
- package/wiki/opencode.md +3 -3
- 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
|
+

|
|
848
|
+
**Aspect Ratio:** 16:9
|
|
849
|
+
**Prompt:** > [prompt used]
|
|
850
|
+
**Status:** Pending review
|
|
851
|
+
|
|
852
|
+
### Shot 2: Detail
|
|
853
|
+

|
|
854
|
+
**Aspect Ratio:** 1:1
|
|
855
|
+
**Feature Highlighted:** [feature]
|
|
856
|
+
**Prompt:** > [prompt used]
|
|
857
|
+
**Status:** Pending review
|
|
858
|
+
|
|
859
|
+
### Shot 3: Lifestyle
|
|
860
|
+

|
|
861
|
+
**Aspect Ratio:** 4:5
|
|
862
|
+
**Setting:** [context]
|
|
863
|
+
**Prompt:** > [prompt used]
|
|
864
|
+
**Status:** Pending review
|
|
865
|
+
|
|
866
|
+
### Shot 4: Flat Lay
|
|
867
|
+

|
|
868
|
+
**Aspect Ratio:** 1:1
|
|
869
|
+
**Styled With:** [items]
|
|
870
|
+
**Prompt:** > [prompt used]
|
|
871
|
+
**Status:** Pending review
|
|
872
|
+
|
|
873
|
+
### Shot 5: Scale Reference
|
|
874
|
+

|
|
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.*
|