cue-ai 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/README.md +148 -170
  3. package/bin/cue-learnings +30 -4
  4. package/bin/cue-review-progress +0 -0
  5. package/bin/cue-review-watch +0 -0
  6. package/dist/cue.js +4328 -3108
  7. package/package.json +1 -1
  8. package/plugins/cue/commands/cue-switch.md +1 -1
  9. package/plugins/cue/commands/cue.md +1 -1
  10. package/profiles/backend/profile.yaml +4 -0
  11. package/profiles/browser/profile.yaml +4 -0
  12. package/profiles/career/profile.yaml +2 -13
  13. package/profiles/commerce/profile.yaml +0 -2
  14. package/profiles/coolify/profile.yaml +0 -1
  15. package/profiles/core/profile.yaml +78 -11
  16. package/profiles/dash-merge-test/profile.yaml +6 -1
  17. package/profiles/designer/profile.yaml +9 -1
  18. package/profiles/dropshipping/profile.yaml +69 -0
  19. package/profiles/frontend/profile.yaml +4 -0
  20. package/profiles/google-ads/profile.yaml +34 -0
  21. package/profiles/google-analytics/profile.yaml +34 -0
  22. package/profiles/google-drive/profile.yaml +34 -0
  23. package/profiles/gstack/profile.yaml +117 -29
  24. package/profiles/marketing/profile.yaml +0 -1
  25. package/profiles/media/README.md +70 -0
  26. package/profiles/media/profile.yaml +104 -0
  27. package/profiles/nano-banana/profile.yaml +52 -0
  28. package/profiles/ops/profile.yaml +1 -2
  29. package/profiles/secops/profile.yaml +3 -0
  30. package/profiles/skill-writer/profile.yaml +15 -0
  31. package/profiles/video/profile.yaml +3 -0
  32. package/profiles/web-frontend-base/profile.yaml +6 -0
  33. package/profiles/webshop/profile.yaml +0 -1
  34. package/profiles/webshop-google/profile.yaml +1 -0
  35. package/profiles/x-growth-bot/profile.yaml +2 -0
  36. package/resources/icons/generate-icons.py +2 -128
  37. package/resources/mcps/configs/claude.sanitized.json +88 -20
  38. package/resources/mcps/configs/claude_runtime.sanitized.json +40 -1
  39. package/resources/mcps/configs/codex.sanitized.json +29 -0
  40. package/resources/skills/skills/career/job-hunter/LICENSE +21 -0
  41. package/resources/skills/skills/career/job-hunter/README.md +323 -0
  42. package/resources/skills/skills/career/job-hunter/SKILL.md +91 -0
  43. package/resources/skills/skills/career/job-hunter/agents/README.md +96 -0
  44. package/resources/skills/skills/career/job-hunter/agents/apply-assessment-prep.md +195 -0
  45. package/resources/skills/skills/career/job-hunter/agents/apply-ats-scan.md +155 -0
  46. package/resources/skills/skills/career/job-hunter/agents/apply-bias-audit.md +224 -0
  47. package/resources/skills/skills/career/job-hunter/agents/apply-cover-letter.md +69 -0
  48. package/resources/skills/skills/career/job-hunter/agents/apply-decode-jd.md +117 -0
  49. package/resources/skills/skills/career/job-hunter/agents/apply-fit-score.md +183 -0
  50. package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-audit.md +74 -0
  51. package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-scrape.md +255 -0
  52. package/resources/skills/skills/career/job-hunter/agents/apply-portfolio-brief.md +123 -0
  53. package/resources/skills/skills/career/job-hunter/agents/apply-reality-check.md +164 -0
  54. package/resources/skills/skills/career/job-hunter/agents/apply-reference-prep.md +150 -0
  55. package/resources/skills/skills/career/job-hunter/agents/apply-rejection-analysis.md +172 -0
  56. package/resources/skills/skills/career/job-hunter/agents/apply-resume.md +70 -0
  57. package/resources/skills/skills/career/job-hunter/agents/apply-skills-gap-filler.md +109 -0
  58. package/resources/skills/skills/career/job-hunter/agents/career-internal.md +94 -0
  59. package/resources/skills/skills/career/job-hunter/agents/career-linkedin-content.md +173 -0
  60. package/resources/skills/skills/career/job-hunter/agents/career-linkedin-scanner.md +262 -0
  61. package/resources/skills/skills/career/job-hunter/agents/career-network-message.md +108 -0
  62. package/resources/skills/skills/career/job-hunter/agents/career-promote.md +102 -0
  63. package/resources/skills/skills/career/job-hunter/agents/career-review.md +71 -0
  64. package/resources/skills/skills/career/job-hunter/agents/interview-debrief.md +117 -0
  65. package/resources/skills/skills/career/job-hunter/agents/interview-mock.md +171 -0
  66. package/resources/skills/skills/career/job-hunter/agents/interview-panel-decoder.md +152 -0
  67. package/resources/skills/skills/career/job-hunter/agents/interview-prep.md +184 -0
  68. package/resources/skills/skills/career/job-hunter/agents/interview-question-bank.md +133 -0
  69. package/resources/skills/skills/career/job-hunter/agents/interview-research.md +148 -0
  70. package/resources/skills/skills/career/job-hunter/agents/offer-compare.md +117 -0
  71. package/resources/skills/skills/career/job-hunter/agents/offer-counteroffer.md +144 -0
  72. package/resources/skills/skills/career/job-hunter/agents/offer-deadline-manager.md +148 -0
  73. package/resources/skills/skills/career/job-hunter/agents/offer-negotiate.md +126 -0
  74. package/resources/skills/skills/career/job-hunter/agents/offer-schedule.md +99 -0
  75. package/resources/skills/skills/career/job-hunter/agents/offer-thankyou.md +80 -0
  76. package/resources/skills/skills/career/job-hunter/agents/search-company-research.md +146 -0
  77. package/resources/skills/skills/career/job-hunter/agents/search-follow-up.md +129 -0
  78. package/resources/skills/skills/career/job-hunter/agents/search-ghost-job-detector.md +152 -0
  79. package/resources/skills/skills/career/job-hunter/agents/search-inbox-scan.md +193 -0
  80. package/resources/skills/skills/career/job-hunter/agents/search-interview-scorecard.md +164 -0
  81. package/resources/skills/skills/career/job-hunter/agents/search-jobs.md +149 -0
  82. package/resources/skills/skills/career/job-hunter/agents/search-momentum-check.md +194 -0
  83. package/resources/skills/skills/career/job-hunter/agents/search-outreach.md +85 -0
  84. package/resources/skills/skills/career/job-hunter/agents/search-referral-finder.md +124 -0
  85. package/resources/skills/skills/career/job-hunter/agents/search-salary.md +96 -0
  86. package/resources/skills/skills/career/job-hunter/agents/search-send-email.md +109 -0
  87. package/resources/skills/skills/career/job-hunter/agents/search-tracker-update.md +127 -0
  88. package/resources/skills/skills/career/job-hunter/inputs/README.md +26 -0
  89. package/resources/skills/skills/career/job-hunter/inputs/apply-linkedin-url.txt +8 -0
  90. package/resources/skills/skills/career/job-hunter/inputs/interview-context.md +24 -0
  91. package/resources/skills/skills/career/job-hunter/inputs/job-description.md +20 -0
  92. package/resources/skills/skills/career/job-hunter/inputs/job-search-criteria.md +36 -0
  93. package/resources/skills/skills/career/job-hunter/inputs/my-linkedin.md +24 -0
  94. package/resources/skills/skills/career/job-hunter/inputs/my-resume.md +28 -0
  95. package/resources/skills/skills/career/job-hunter/inputs/search-outreach-target.md +24 -0
  96. package/resources/skills/skills/career/job-hunter/rules/README.md +37 -0
  97. package/resources/skills/skills/career/job-hunter/rules/writing-rules.md +81 -0
  98. package/resources/skills/skills/design/banana/SKILL.md +375 -0
  99. package/resources/skills/skills/design/banana/references/cost-tracking.md +47 -0
  100. package/resources/skills/skills/design/banana/references/gemini-models.md +236 -0
  101. package/resources/skills/skills/design/banana/references/mcp-tools.md +145 -0
  102. package/resources/skills/skills/design/banana/references/post-processing.md +192 -0
  103. package/resources/skills/skills/design/banana/references/presets.md +69 -0
  104. package/resources/skills/skills/design/banana/references/prompt-engineering.md +481 -0
  105. package/resources/skills/skills/design/banana/scripts/batch.py +97 -0
  106. package/resources/skills/skills/design/banana/scripts/cost_tracker.py +191 -0
  107. package/resources/skills/skills/design/banana/scripts/edit.py +159 -0
  108. package/resources/skills/skills/design/banana/scripts/generate.py +168 -0
  109. package/resources/skills/skills/design/banana/scripts/presets.py +154 -0
  110. package/resources/skills/skills/design/banana/scripts/setup_mcp.py +151 -0
  111. package/resources/skills/skills/design/banana/scripts/validate_setup.py +133 -0
  112. package/resources/skills/skills/gstack/ship/SKILL.md +13 -0
  113. package/resources/skills/skills/media/3d-logo-animation/SKILL.md +59 -0
  114. package/resources/skills/skills/media/action-figure-generator/SKILL.md +48 -0
  115. package/resources/skills/skills/media/ad-creative/SKILL.md +79 -0
  116. package/resources/skills/skills/media/ai-clipping/SKILL.md +194 -0
  117. package/resources/skills/skills/media/ai-clipping/scripts/run-ai-clipping.sh +200 -0
  118. package/resources/skills/skills/media/ai-fight-scene/SKILL.md +132 -0
  119. package/resources/skills/skills/media/amazon-product-listing/SKILL.md +68 -0
  120. package/resources/skills/skills/media/animal-video-generator/SKILL.md +59 -0
  121. package/resources/skills/skills/media/award-ceremony-video/SKILL.md +87 -0
  122. package/resources/skills/skills/media/blog-header/SKILL.md +61 -0
  123. package/resources/skills/skills/media/brand-kit/SKILL.md +72 -0
  124. package/resources/skills/skills/media/brochures/SKILL.md +65 -0
  125. package/resources/skills/skills/media/cartoon-dance-animation/SKILL.md +62 -0
  126. package/resources/skills/skills/media/character-story-video/SKILL.md +84 -0
  127. package/resources/skills/skills/media/chibi-collage-effect/SKILL.md +63 -0
  128. package/resources/skills/skills/media/cinema-director/SKILL.md +93 -0
  129. package/resources/skills/skills/media/cinema-director/scripts/generate-film.sh +78 -0
  130. package/resources/skills/skills/media/color-analysis-board/SKILL.md +71 -0
  131. package/resources/skills/skills/media/core-edit/SKILL.md +48 -0
  132. package/resources/skills/skills/media/core-edit/edit-image.sh +54 -0
  133. package/resources/skills/skills/media/core-edit/enhance-image.sh +191 -0
  134. package/resources/skills/skills/media/core-edit/lipsync.sh +144 -0
  135. package/resources/skills/skills/media/core-edit/video-effects.sh +193 -0
  136. package/resources/skills/skills/media/core-media/SKILL.md +49 -0
  137. package/resources/skills/skills/media/core-media/create-music.sh +169 -0
  138. package/resources/skills/skills/media/core-media/generate-image.sh +161 -0
  139. package/resources/skills/skills/media/core-media/generate-video.sh +137 -0
  140. package/resources/skills/skills/media/core-media/image-to-video.sh +228 -0
  141. package/resources/skills/skills/media/core-media/schema_data.json +18708 -0
  142. package/resources/skills/skills/media/core-media/upload.sh +41 -0
  143. package/resources/skills/skills/media/core-platform/SKILL.md +41 -0
  144. package/resources/skills/skills/media/core-platform/check-result.sh +37 -0
  145. package/resources/skills/skills/media/core-platform/setup.sh +31 -0
  146. package/resources/skills/skills/media/couple-grid-creator/SKILL.md +47 -0
  147. package/resources/skills/skills/media/design-guide/SKILL.md +73 -0
  148. package/resources/skills/skills/media/drone-style-video/SKILL.md +61 -0
  149. package/resources/skills/skills/media/fashion-try-on/SKILL.md +61 -0
  150. package/resources/skills/skills/media/floor-plan-rendering/SKILL.md +56 -0
  151. package/resources/skills/skills/media/freeze-effect-video/SKILL.md +100 -0
  152. package/resources/skills/skills/media/giant-product-showcase/SKILL.md +61 -0
  153. package/resources/skills/skills/media/instagram-post/SKILL.md +58 -0
  154. package/resources/skills/skills/media/interior-design/SKILL.md +61 -0
  155. package/resources/skills/skills/media/interior-design-visualizer/SKILL.md +57 -0
  156. package/resources/skills/skills/media/jewelry-product-video/SKILL.md +61 -0
  157. package/resources/skills/skills/media/kdenlive/SKILL.md +106 -0
  158. package/resources/skills/skills/media/kdenlive/scripts/assemble.sh +57 -0
  159. package/resources/skills/skills/media/kdenlive/scripts/common.sh +30 -0
  160. package/resources/skills/skills/media/kdenlive/scripts/inspect.sh +19 -0
  161. package/resources/skills/skills/media/kdenlive/scripts/reframe.sh +22 -0
  162. package/resources/skills/skills/media/kdenlive/scripts/render.sh +16 -0
  163. package/resources/skills/skills/media/kdenlive/scripts/title-card.sh +25 -0
  164. package/resources/skills/skills/media/keyboard-art-maker/SKILL.md +44 -0
  165. package/resources/skills/skills/media/logo-branding/SKILL.md +70 -0
  166. package/resources/skills/skills/media/logo-creator/SKILL.md +80 -0
  167. package/resources/skills/skills/media/logo-creator/scripts/create-logo.sh +38 -0
  168. package/resources/skills/skills/media/logo-generator/SKILL.md +56 -0
  169. package/resources/skills/skills/media/multi-angle-reshoot/SKILL.md +70 -0
  170. package/resources/skills/skills/media/multi-angle-shots/SKILL.md +73 -0
  171. package/resources/skills/skills/media/music-video/SKILL.md +61 -0
  172. package/resources/skills/skills/media/nano-banana/SKILL.md +80 -0
  173. package/resources/skills/skills/media/nano-banana/scripts/generate-nano-art.sh +54 -0
  174. package/resources/skills/skills/media/one-shot-video/SKILL.md +56 -0
  175. package/resources/skills/skills/media/photo-pack-generator/SKILL.md +205 -0
  176. package/resources/skills/skills/media/photo-pack-generator/scripts/generate-pack.sh +241 -0
  177. package/resources/skills/skills/media/product-ad-cinematic/SKILL.md +78 -0
  178. package/resources/skills/skills/media/product-campaign/SKILL.md +76 -0
  179. package/resources/skills/skills/media/product-showcase-video/SKILL.md +60 -0
  180. package/resources/skills/skills/media/product-video-ad-maker/SKILL.md +59 -0
  181. package/resources/skills/skills/media/rednote-cover/SKILL.md +57 -0
  182. package/resources/skills/skills/media/seedance-2/SKILL.md +632 -0
  183. package/resources/skills/skills/media/seedance-2/scripts/generate-seedance.sh +701 -0
  184. package/resources/skills/skills/media/selfie-with-celebrities/SKILL.md +64 -0
  185. package/resources/skills/skills/media/social-media-video/SKILL.md +277 -0
  186. package/resources/skills/skills/media/social-media-video/scripts/run-social-video.sh +316 -0
  187. package/resources/skills/skills/media/social-pack/SKILL.md +58 -0
  188. package/resources/skills/skills/media/storyboard/SKILL.md +57 -0
  189. package/resources/skills/skills/media/storyboard-to-cooking-video/SKILL.md +143 -0
  190. package/resources/skills/skills/media/talking-baby-video/SKILL.md +57 -0
  191. package/resources/skills/skills/media/ugc-ads-workflow/SKILL.md +70 -0
  192. package/resources/skills/skills/media/ugc-lifestyle-try-on/SKILL.md +65 -0
  193. package/resources/skills/skills/media/ugc-video-factory/SKILL.md +134 -0
  194. package/resources/skills/skills/media/ui-design/SKILL.md +81 -0
  195. package/resources/skills/skills/media/ui-design/scripts/generate-mockup.sh +49 -0
  196. package/resources/skills/skills/media/url-to-design/SKILL.md +61 -0
  197. package/resources/skills/skills/media/workflow/SKILL.md +197 -0
  198. package/resources/skills/skills/media/workflow/scripts/discover-workflow.sh +18 -0
  199. package/resources/skills/skills/media/workflow/scripts/generate-workflow.sh +33 -0
  200. package/resources/skills/skills/media/workflow/scripts/interactive-run.sh +16 -0
  201. package/resources/skills/skills/media/workflow/scripts/list-workflows.sh +20 -0
  202. package/resources/skills/skills/media/workflow/scripts/run-workflow.sh +34 -0
  203. package/resources/skills/skills/media/youtube-shorts/SKILL.md +173 -0
  204. package/resources/skills/skills/media/youtube-shorts/scripts/run-youtube-shorts.sh +141 -0
  205. package/resources/skills/skills/media/youtube-thumbnail/SKILL.md +66 -0
  206. package/resources/skills/skills/meta/cue-developer/references/architecture.md +2 -2
  207. package/resources/skills/skills/meta/cue-usage/SKILL.md +1 -1
  208. package/resources/skills/skills/meta/profile-fit-monitor/SKILL.md +2 -2
  209. package/resources/skills/skills/meta/profile-optimizer/SKILL.md +1 -1
  210. package/resources/skills/skills/meta/profile-suggest/SKILL.md +7 -7
  211. package/resources/skills/skills/meta/profile-summon/SKILL.md +159 -0
  212. package/resources/skills/skills/meta/profile-summon/evals/evals.json +53 -0
  213. package/resources/skills/skills/meta/save-profile/SKILL.md +1 -1
  214. package/resources/skills/skills/meta/skill-reviewer/SKILL.md +3 -0
  215. package/resources/skills/skills/meta/skill-reviewer/references/tdd-for-skills.md +55 -0
  216. package/resources/skills/skills/research/find-skills/SKILL.md +1 -1
  217. package/resources/skills/skills/review/code-review-deep/SKILL.md +20 -0
  218. package/resources/skills/skills/security/trivy-scan/SKILL.md +139 -0
  219. package/resources/skills/skills/security/trivy-scan/scripts/ensure-trivy.sh +21 -0
  220. package/resources/skills/skills/tools/ccusage/SKILL.md +142 -0
  221. package/src/commands/_index.ts +8 -0
  222. package/src/commands/ai.ts +2 -2
  223. package/src/commands/auto-detect.test.ts +74 -0
  224. package/src/commands/auto-detect.ts +9 -7
  225. package/src/commands/cli.test.ts +20 -4
  226. package/src/commands/cli.ts +36 -20
  227. package/src/commands/create-profile.ts +2 -2
  228. package/src/commands/debug.ts +2 -2
  229. package/src/commands/discover.ts +14 -4
  230. package/src/commands/export-docker.ts +1 -1
  231. package/src/commands/features-batch1.test.ts +1 -1
  232. package/src/commands/gates.ts +1 -1
  233. package/src/commands/import-profile.ts +1 -1
  234. package/src/commands/init.ts +15 -11
  235. package/src/commands/install.test.ts +192 -0
  236. package/src/commands/install.ts +610 -0
  237. package/src/commands/launch-handoff.e2e.test.ts +33 -1
  238. package/src/commands/launch.e2e.test.ts +15 -10
  239. package/src/commands/launch.ts +73 -116
  240. package/src/commands/materialize.ts +2 -2
  241. package/src/commands/prune.ts +1 -1
  242. package/src/commands/security-audit.ts +1 -1
  243. package/src/commands/shell.ts +7 -7
  244. package/src/commands/skill-report.ts +1 -1
  245. package/src/commands/skills.ts +3 -3
  246. package/src/commands/snapshot.ts +2 -2
  247. package/src/commands/summon.test.ts +116 -0
  248. package/src/commands/summon.ts +338 -0
  249. package/src/commands/trigger-gaps.ts +1 -1
  250. package/src/commands/use.ts +47 -3
  251. package/src/commands/watch-live.ts +5 -5
  252. package/src/commands/watch.ts +8 -8
  253. package/src/index.ts +2 -0
  254. package/src/lib/active-sessions.test.ts +3 -3
  255. package/src/lib/active-sessions.ts +4 -4
  256. package/src/lib/auto-detect.test.ts +172 -8
  257. package/src/lib/auto-detect.ts +191 -136
  258. package/src/lib/codex-persona-parity.test.ts +58 -0
  259. package/src/lib/companion-detect.test.ts +43 -1
  260. package/src/lib/companion-detect.ts +35 -0
  261. package/src/lib/credentials-sync.test.ts +121 -1
  262. package/src/lib/credentials-sync.ts +95 -1
  263. package/src/lib/cwd-resolver.test.ts +8 -8
  264. package/src/lib/cwd-resolver.ts +2 -2
  265. package/src/lib/dashboard-merge.test.ts +9 -4
  266. package/src/lib/dashboard-server.ts +1 -1
  267. package/src/lib/picker.test.ts +1 -1
  268. package/src/lib/picker.ts +5 -5
  269. package/src/lib/profile-merge.test.ts +8 -0
  270. package/src/lib/profile-names.test.ts +3 -3
  271. package/src/lib/runtime-install.ts +166 -0
  272. package/src/lib/runtime-materializer.test.ts +137 -0
  273. package/src/lib/runtime-materializer.ts +105 -2
  274. package/src/lib/skill-router.test.ts +38 -0
  275. package/src/lib/skill-router.ts +65 -4
  276. package/profiles/eu-tender-research/README.md +0 -48
  277. package/profiles/eu-tender-research/logo.png +0 -0
  278. package/profiles/eu-tender-research/profile.yaml +0 -108
@@ -0,0 +1,236 @@
1
+ # Gemini Image Generation Models
2
+
3
+ > Last updated: 2026-03-19
4
+ > Aligned with Google's March 2026 API state
5
+
6
+ ## Available Models
7
+
8
+ ### gemini-3.1-flash-image-preview -- Nano Banana 2 (DEFAULT)
9
+ | Property | Value |
10
+ |----------|-------|
11
+ | **Model ID** | `gemini-3.1-flash-image-preview` |
12
+ | **Tier** | Nano Banana 2 (Flash) |
13
+ | **Status** | Preview -- **Active, recommended default** |
14
+ | **Speed** | Fast -- optimized for high-volume use |
15
+ | **Aspect Ratios** | All 14 ratios including extreme: 1:4, 4:1, 1:8, 8:1 (see table below) |
16
+ | **Max Resolution** | Up to 4096×4096 (4K tier) |
17
+ | **Input Tokens** | 131,072 |
18
+ | **Features** | Google Search grounding (web + image), thinking levels, image-only output, extreme aspect ratios |
19
+ | **Rate Limits (Free)** | ~5-15 RPM / ~20-500 RPD (per project, resets midnight Pacific. Cut ~92% Dec 2025) |
20
+ | **Output Tokens** | ~1,290 output tokens per image |
21
+ | **Best For** | All standard production generation and editing -- most use cases |
22
+
23
+ ### gemini-2.5-flash-image -- Nano Banana (Original)
24
+ | Property | Value |
25
+ |----------|-------|
26
+ | **Model ID** | `gemini-2.5-flash-image` |
27
+ | **Tier** | Nano Banana (Flash, original generation) |
28
+ | **Status** | GA -- **Active** |
29
+ | **Speed** | Fast |
30
+ | **Aspect Ratios** | 1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2, 4:5, 5:4, 21:9 (10 ratios) |
31
+ | **Max Resolution** | Up to 1024×1024 (1K tier) |
32
+ | **Input Tokens** | 32,768 |
33
+ | **Rate Limits (Free)** | ~5-15 RPM / ~20-500 RPD |
34
+ | **Best For** | Free-tier users, budget-conscious high-volume workflows, 1K-resolution use cases |
35
+ | **Cost** | ~$0.039/image at 1K |
36
+
37
+ ## ⛔ DEPRECATED -- Nano Banana Pro (gemini-3-pro-image-preview)
38
+
39
+ <!-- REMOVED 2026-03-19: gemini-3-pro-image-preview shut down by Google March 9, 2026 -->
40
+
41
+ **Shut down by Google on March 9, 2026.** API calls to this model ID will fail
42
+ with a hard error. Do not use. The replacement is Nano Banana 2
43
+ (`gemini-3.1-flash-image-preview`).
44
+
45
+ **Was:** Nano Banana Pro tier -- professional asset production, 4K output, 14 reference images, 94% text accuracy.
46
+
47
+ **Migration:** Replace all references to `gemini-3-pro-image-preview` with `gemini-3.1-flash-image-preview`.
48
+
49
+ ## Deprecated Models (DO NOT USE)
50
+
51
+ ### gemini-2.0-flash-exp
52
+ - **Status:** Deprecated, replaced by gemini-2.5-flash-image
53
+
54
+ ## Domain-to-Model Routing
55
+
56
+ | Domain Mode | Recommended Model | Reason |
57
+ |---|---|---|
58
+ | Cinema, Landscape, Abstract | Nano Banana 2 | Thinking mode improves complex compositions |
59
+ | Product, Portrait | Nano Banana 2 | 2K/4K resolution for fidelity |
60
+ | UI, Infographic | Nano Banana 2 | Search grounding for factual diagrams |
61
+ | Logo | Nano Banana 2 | Text rendering improvements in 3.1 |
62
+ | Editorial | Nano Banana 2 | Default |
63
+ | Free tier / budget | Nano Banana (original) | $0.039/image, still excellent |
64
+
65
+ ## Resolution Defaults by Domain
66
+
67
+ | Domain | Default `imageSize` | Rationale |
68
+ |--------|-------------------|-----------|
69
+ | Portrait, Product, Logo | `2K` | Fine detail and text fidelity |
70
+ | Cinema, Landscape | `2K` + widescreen ratio | Atmospheric depth at larger canvas |
71
+ | UI, Infographic | `1K` | Structured output doesn't benefit from 4K |
72
+ | Quick draft / preview | `512` (Nano Banana 2 only) | Rapid iteration |
73
+ | Print / high fidelity | `4K` | Maximum resolution for physical output |
74
+
75
+ ## Aspect Ratios
76
+
77
+ All 14 supported ratios. Availability varies by model:
78
+
79
+ | Ratio | Orientation | Use Cases | NB2 (3.1 Flash) | NB (2.5 Flash) |
80
+ |-------|-------------|-----------|:----------------:|:--------------:|
81
+ | `1:1` | Square | Social posts, avatars, thumbnails | ✅ | ✅ |
82
+ | `16:9` | Landscape | Blog headers, YouTube thumbnails, presentations | ✅ | ✅ |
83
+ | `9:16` | Portrait | Stories, Reels, TikTok, mobile | ✅ | ✅ |
84
+ | `4:3` | Landscape | Product shots, classic display | ✅ | ✅ |
85
+ | `3:4` | Portrait | Book covers, portrait framing | ✅ | ✅ |
86
+ | `2:3` | Portrait | Pinterest pins, posters | ✅ | ✅ |
87
+ | `3:2` | Landscape | DSLR standard, photo prints | ✅ | ✅ |
88
+ | `4:5` | Portrait | Instagram portrait, social | ✅ | ✅ |
89
+ | `5:4` | Landscape | Large format photography | ✅ | ✅ |
90
+ | `21:9` | Ultra-wide | Cinematic, film-grade, ultra-wide monitors | ✅ | ✅ |
91
+ | `1:4` | Tall strip | Vertical banners, side panels | ✅ | ❌ |
92
+ | `4:1` | Wide strip | Website banners, headers | ✅ | ❌ |
93
+ | `1:8` | Extreme tall | Narrow vertical strips | ✅ | ❌ |
94
+ | `8:1` | Extreme wide | Ultra-wide banners | ✅ | ❌ |
95
+
96
+ ## Resolution Tiers
97
+
98
+ Control output resolution with the `imageSize` parameter. Note the **UPPERCASE** requirement -- lowercase values are silently rejected.
99
+
100
+ | `imageSize` Value | Pixel Range | Model Availability | Use Case |
101
+ |-------------------|-------------|-------------------|----------|
102
+ | `512` | Up to 512×512 | Nano Banana 2 only | Drafts, quick iteration, low bandwidth |
103
+ | `1K` | Up to 1024×1024 | All models | Standard web use, social media |
104
+ | `2K` | Up to 2048×2048 | Nano Banana 2 only | Quality assets, detailed work |
105
+ | `4K` | Up to 4096×4096 | Nano Banana 2 only | Print production, hero images, final assets |
106
+
107
+ **Notes:**
108
+ - Actual pixel dimensions depend on aspect ratio (e.g., 4K at 16:9 = 4096×2304)
109
+ - Higher resolutions consume more tokens and cost more
110
+ - The API default is `1K` if `imageSize` is omitted. The banana skill defaults to `2K` -- always pass `imageSize` explicitly
111
+ - `imageSize` value MUST be uppercase -- `"2k"` will be silently ignored
112
+
113
+ ## API Configuration
114
+
115
+ ### Endpoint
116
+ ```
117
+ https://generativelanguage.googleapis.com/v1beta/models/{model-id}:generateContent
118
+ ```
119
+
120
+ ### Required Parameters
121
+ ```json
122
+ {
123
+ "contents": [{"parts": [{"text": "your prompt here"}]}],
124
+ "generationConfig": {
125
+ "responseModalities": ["TEXT", "IMAGE"],
126
+ "imageConfig": {
127
+ "aspectRatio": "16:9",
128
+ "imageSize": "2K"
129
+ }
130
+ }
131
+ }
132
+ ```
133
+
134
+ ### Image-Only Output Mode
135
+ Force the model to return only an image (no text response):
136
+ ```json
137
+ {
138
+ "generationConfig": {
139
+ "responseModalities": ["IMAGE"]
140
+ }
141
+ }
142
+ ```
143
+
144
+ ### Thinking Level
145
+ Control how much the model "thinks" before generating. Higher levels improve complex compositions but increase latency:
146
+ ```json
147
+ {
148
+ "generationConfig": {
149
+ "thinkingConfig": {
150
+ "thinkingLevel": "medium"
151
+ }
152
+ }
153
+ }
154
+ ```
155
+ Levels: `minimal`, `low`, `medium`, `high`
156
+
157
+ ### Google Search Grounding
158
+ Ground generation in real-world visual references. Supports web and image search (Nano Banana 2):
159
+ ```json
160
+ {
161
+ "tools": [{"googleSearch": {}}]
162
+ }
163
+ ```
164
+ **Prompt pattern:** `[Search/source request] + [Analytical task] + [Visual translation]`
165
+
166
+ Example: "Search for the latest SpaceX Starship design, analyze its proportions and markings, then generate a photorealistic image of it at sunset on the launch pad."
167
+
168
+ ### Multi-Image Input
169
+ Up to 14 reference images can be provided:
170
+ - **10 object references** -- for style, composition, or visual matching
171
+ - **4 character references** -- assign distinct names to preserve features across generations
172
+
173
+ Useful for character consistency, style transfer, and brand-aligned generation.
174
+
175
+ ## Rate Limits by Tier
176
+
177
+ | Tier | RPM | RPD | Notes |
178
+ |------|-----|-----|-------|
179
+ | Free | ~5-15 | ~20-500 | Per project, resets midnight Pacific. Cut ~92% Dec 2025. |
180
+ | Tier 1 (billing enabled) | 150-300 | 1,500-10,000 | Production workloads |
181
+ | Tier 2 ($250+ spend) | 1,000+ | Unlimited | High-volume |
182
+ | Enterprise | Custom | Custom | Contact Google |
183
+
184
+ ## Pricing
185
+
186
+ | Model | Resolution | Cost per Image | Notes |
187
+ |-------|-----------|---------------|-------|
188
+ | NB2 (3.1 Flash) | 1K | ~$0.067 | Standard |
189
+ | NB2 (3.1 Flash) | 2K | ~$0.134 | 2x standard |
190
+ | NB2 (3.1 Flash) | 4K | ~$0.268 | 4x standard |
191
+ | NB (2.5 Flash) | 1K | ~$0.039 | Previous gen, budget option |
192
+ | Batch API | Any | 50% discount | Asynchronous, higher latency |
193
+
194
+ Pricing is approximate and based on ~1,290 output tokens per image.
195
+
196
+ ## Image Output Specs
197
+
198
+ | Property | Value |
199
+ |----------|-------|
200
+ | **Format** | PNG |
201
+ | **Max Resolution** | Up to 4096×4096 (4K tier, Nano Banana 2) |
202
+ | **Color Space** | sRGB |
203
+ | **Text Rendering** | Supported -- excellent under 25 characters |
204
+ | **Style Control** | Via prompt engineering |
205
+
206
+ ## Safety Filters
207
+
208
+ Gemini uses a two-layer safety architecture:
209
+
210
+ 1. **Input filters** -- block prompts containing prohibited content before generation
211
+ 2. **Output filters** -- analyze generated images and block unsafe results
212
+
213
+ | `finishReason` | Meaning | Retryable? |
214
+ |----------------|---------|:----------:|
215
+ | `STOP` | Successful generation | N/A |
216
+ | `IMAGE_SAFETY` | Output blocked by safety filter | Rephrase prompt |
217
+ | `PROHIBITED_CONTENT` | Content policy violation | No -- topic is blocked |
218
+ | `SAFETY` | General safety block | Rephrase prompt |
219
+ | `RECITATION` | Detected copyrighted content | Rephrase prompt |
220
+
221
+ **Known issue:** Filters are known to be overly cautious -- benign prompts may be blocked. Iterate with rephrased wording if this happens.
222
+
223
+ ## Content Credentials
224
+
225
+ - **SynthID watermarks** are always embedded in generated images (invisible, machine-readable)
226
+ - **C2PA metadata** is included on paid outputs (verifiable provenance chain)
227
+
228
+ ## Key Limitations
229
+ - No video generation (image only)
230
+ - No transparent backgrounds (PNG but always with background -- use green screen workaround)
231
+ - Text rendering quality varies -- keep text under 25 characters for best results
232
+ - Safety filters may block some prompts (violence, NSFW, public figures) -- known to be overly cautious
233
+ - Session context resets between Claude Code conversations
234
+ - `imageSize` values MUST be uppercase -- lowercase fails silently
235
+ - Gemini generates ONE image per API call -- no batch parameter exists
236
+ - No negative prompt parameter -- use semantic reframing instead
@@ -0,0 +1,145 @@
1
+ # MCP Tools Reference -- @ycse/nanobanana-mcp
2
+
3
+ > Package: `@ycse/nanobanana-mcp`
4
+ > GitHub: https://github.com/YCSE/nanobanana-mcp
5
+
6
+ ## Tools
7
+
8
+ ### gemini_generate_image
9
+ Generate an image from a text prompt.
10
+
11
+ **Parameters:**
12
+ | Param | Type | Required | Description |
13
+ |-------|------|----------|-------------|
14
+ | `prompt` | string | Yes | Text description of the image to generate |
15
+
16
+ **Returns:** Image data + file path (saved to `~/Documents/nanobanana_generated/`)
17
+
18
+ **Example usage in Claude Code:**
19
+ ```
20
+ User: "Generate a sunset over mountains in watercolor style"
21
+ → Claude calls gemini_generate_image with prompt
22
+ → Returns image path and description
23
+ ```
24
+
25
+ ### gemini_edit_image
26
+ Edit an existing image with text instructions.
27
+
28
+ **Parameters:**
29
+ | Param | Type | Required | Description |
30
+ |-------|------|----------|-------------|
31
+ | `imagePath` | string | Yes | Path to the image file to edit |
32
+ | `prompt` | string | Yes | Edit instructions |
33
+
34
+ **Returns:** Modified image data + file path
35
+
36
+ **Example:**
37
+ ```
38
+ User: "Remove the background from ~/Documents/photo.png"
39
+ → Claude calls gemini_edit_image with path and instruction
40
+ ```
41
+
42
+ ### gemini_chat
43
+ Multi-turn visual conversation maintaining session context.
44
+
45
+ **Parameters:**
46
+ | Param | Type | Required | Description |
47
+ |-------|------|----------|-------------|
48
+ | `message` | string | Yes | Chat message (can reference previous images) |
49
+
50
+ **Returns:** Text response + optional image
51
+
52
+ **Key feature:** Session consistency -- maintains style, characters, and context across turns. Great for iterative refinement.
53
+
54
+ ### set_aspect_ratio
55
+ Configure the aspect ratio for subsequent image generations.
56
+
57
+ **Parameters:**
58
+ | Param | Type | Required | Description |
59
+ |-------|------|----------|-------------|
60
+ | `ratio` | string | Yes | Aspect ratio (e.g., "16:9", "1:1", "9:16") |
61
+
62
+ **Supported ratios:** 1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2, 4:5, 5:4, 1:4, 4:1, 1:8, 8:1, 21:9
63
+
64
+ ### set_model
65
+ Switch the active Gemini model.
66
+
67
+ **Parameters:**
68
+ | Param | Type | Required | Description |
69
+ |-------|------|----------|-------------|
70
+ | `model` | string | Yes | Model identifier |
71
+
72
+ **Available models:**
73
+ - `gemini-3.1-flash-image-preview` (default, recommended -- Nano Banana 2)
74
+ - `gemini-2.5-flash-image` (stable fallback -- Nano Banana original)
75
+ <!-- REMOVED 2026-03-19: gemini-3-pro-image-preview shut down by Google March 9, 2026. Do not use. -->
76
+
77
+ ### get_image_history
78
+ Retrieve list of images generated in the current session.
79
+
80
+ **Parameters:** None
81
+
82
+ **Returns:** Array of image entries with paths and prompts
83
+
84
+ ### clear_conversation
85
+ Reset session context and conversation history.
86
+
87
+ **Parameters:** None
88
+
89
+ **Returns:** Confirmation of reset
90
+
91
+ ## Environment Variables
92
+
93
+ | Variable | Required | Description |
94
+ |----------|----------|-------------|
95
+ | `GOOGLE_AI_API_KEY` | Yes | API key from https://aistudio.google.com/apikey |
96
+ | `NANOBANANA_MODEL` | No | Override default model (default: `gemini-3.1-flash-image-preview`) |
97
+
98
+ ## Output Directory
99
+ All generated images are saved to: `~/Documents/nanobanana_generated/`
100
+
101
+ Images are named with timestamps for easy identification.
102
+
103
+ ## Feature Availability via MCP
104
+
105
+ Some newer Gemini API features depend on the MCP package version of `@ycse/nanobanana-mcp`. Check the package version to confirm support:
106
+
107
+ | Feature | API Status | MCP Support |
108
+ |---------|-----------|-------------|
109
+ | `imageSize` (resolution control) | Available | Depends on package version |
110
+ | Thinking level (`thinkingConfig`) | Available | Depends on package version |
111
+ | Search grounding (`googleSearch`) | Available | Depends on package version |
112
+ | Image-only output (`responseModalities: ["IMAGE"]`) | Available | Depends on package version |
113
+ | Multi-image input (up to 14 refs) | Available | Via `gemini_chat` with image paths |
114
+ | All 14 aspect ratios | Available | Via `set_aspect_ratio` |
115
+
116
+ If a feature is not yet supported by the MCP package, you can still use it via direct API calls with the fallback scripts (`scripts/generate.py` and `scripts/edit.py`).
117
+
118
+ ## ImageConfig Parameter Reference
119
+
120
+ | Parameter | Type | Valid values | Default | Critical notes |
121
+ |---|---|---|---|---|
122
+ | `aspect_ratio` | string | "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9", "1:4"*, "4:1"*, "1:8"*, "8:1"* | "1:1" | * = Nano Banana 2 only |
123
+ | `image_size` | string | "512"*, "1K", "2K"*, "4K"* | "1K" | MUST be uppercase. "2k" silently fails. * = Nano Banana 2 only |
124
+ | `person_generation` | string | "ALLOW_ALL", "ALLOW_ADULT", "ALLOW_NONE" | Varies | ALLOW_ALL restricted in EU/UK |
125
+
126
+ ## ❌ Parameters That Do NOT Exist for Gemini Image Models
127
+
128
+ These are common copy-paste errors from Imagen or other model documentation.
129
+ Passing them will not cause errors -- they will be silently ignored.
130
+
131
+ - `numberOfImages` / `n` / `sampleCount` -- Gemini generates ONE image per call. These are Imagen-only. There is no batch parameter.
132
+ - `negativePrompt` -- See prompt-engineering.md for the correct approach (semantic reframing).
133
+ - `output_mime_type` -- Vertex AI only, not available in Gemini API.
134
+ - `candidate_count` -- Only 1 supported for image models.
135
+ - `seed` -- Not supported for reproducible generation.
136
+
137
+ ## Error Response Taxonomy
138
+
139
+ | Error type | Cause | Correct response |
140
+ |---|---|---|
141
+ | HTTP 429 | Rate limit | Exponential backoff. Free tier: ~5-15 RPM. |
142
+ | HTTP 400 FAILED_PRECONDITION | Billing not enabled | User must enable billing in Google AI Studio |
143
+ | `finishReason: "IMAGE_SAFETY"` | Content policy block | Apply safety rephrase from prompt-engineering.md, retry once |
144
+ | Empty `parts` in response | Wrong `response_modalities` | Must include "IMAGE" in responseModalities |
145
+ | `thought_signature` missing | Multi-turn editing on Gemini 3 | Preserve this field from previous response for edit continuity |
@@ -0,0 +1,192 @@
1
+ # Post-Processing Pipeline Reference
2
+
3
+ > Load this on-demand when the user needs image manipulation after generation.
4
+
5
+ ## Prerequisites
6
+
7
+ Check availability before using:
8
+ ```bash
9
+ which magick # ImageMagick 7 (preferred)
10
+ which convert # ImageMagick 6 (fallback)
11
+ which ffmpeg # For video/animation
12
+ ```
13
+
14
+ Install ImageMagick if not present: `sudo apt install imagemagick` (Debian/Ubuntu) or `brew install imagemagick` (macOS).
15
+
16
+ ## Common Operations
17
+
18
+ ### Resize for Platforms
19
+
20
+ ```bash
21
+ # Instagram post (1080x1080)
22
+ magick input.png -resize 1080x1080^ -gravity center -extent 1080x1080 instagram.png
23
+
24
+ # Twitter/X header (1500x500)
25
+ magick input.png -resize 1500x500^ -gravity center -extent 1500x500 twitter-header.png
26
+
27
+ # YouTube thumbnail (1280x720)
28
+ magick input.png -resize 1280x720^ -gravity center -extent 1280x720 youtube-thumb.png
29
+
30
+ # LinkedIn banner (1584x396)
31
+ magick input.png -resize 1584x396^ -gravity center -extent 1584x396 linkedin-banner.png
32
+
33
+ # Favicon (multi-size ICO)
34
+ magick input.png -resize 32x32 favicon.ico
35
+ ```
36
+
37
+ ### Background Removal (Transparency)
38
+
39
+ ```bash
40
+ # Remove solid white background
41
+ magick input.png -fuzz 10% -transparent white output.png
42
+
43
+ # Remove solid color background (specify color)
44
+ magick input.png -fuzz 15% -transparent "#F0F0F0" output.png
45
+
46
+ # Clean edges after transparency (anti-alias)
47
+ magick input.png -fuzz 10% -transparent white -channel A -blur 0x1 -level 50%,100% output.png
48
+
49
+ # Auto-crop transparent padding
50
+ magick input.png -trim +repage output.png
51
+ ```
52
+
53
+ ### Format Conversion
54
+
55
+ ```bash
56
+ # PNG to WebP (web-optimized, smaller file)
57
+ magick input.png -quality 85 output.webp
58
+
59
+ # PNG to JPEG (with white background for transparency)
60
+ magick input.png -background white -flatten -quality 90 output.jpg
61
+
62
+ # PNG to AVIF (modern, smallest size)
63
+ magick input.png -quality 80 output.avif
64
+
65
+ # SVG trace (for logos -- requires potrace)
66
+ potrace input.pbm -s -o output.svg
67
+ ```
68
+
69
+ ### Color Adjustments
70
+
71
+ ```bash
72
+ # Increase contrast
73
+ magick input.png -contrast-stretch 2%x1% output.png
74
+
75
+ # Warm color temperature
76
+ magick input.png -modulate 100,110,105 output.png
77
+
78
+ # Cool color temperature
79
+ magick input.png -modulate 100,90,95 output.png
80
+
81
+ # Desaturate (muted colors)
82
+ magick input.png -modulate 100,70,100 output.png
83
+
84
+ # Convert to grayscale
85
+ magick input.png -colorspace Gray output.png
86
+
87
+ # Sepia tone
88
+ magick input.png -sepia-tone 80% output.png
89
+ ```
90
+
91
+ ### Compositing
92
+
93
+ ```bash
94
+ # Overlay watermark (bottom-right, 20% opacity)
95
+ magick base.png watermark.png -gravity southeast -geometry +20+20 \
96
+ -compose dissolve -define compose:args=20 -composite output.png
97
+
98
+ # Side-by-side comparison
99
+ magick input1.png input2.png +append comparison.png
100
+
101
+ # Vertical stack
102
+ magick input1.png input2.png -append stack.png
103
+
104
+ # Add padding/border
105
+ magick input.png -bordercolor white -border 40 output.png
106
+
107
+ # Add rounded corners
108
+ magick input.png \( +clone -alpha extract -draw \
109
+ "roundrectangle 0,0,%[fx:w-1],%[fx:h-1],20,20" \) \
110
+ -alpha off -compose CopyOpacity -composite rounded.png
111
+ ```
112
+
113
+ ### Batch Processing
114
+
115
+ ```bash
116
+ # Resize all PNGs in directory
117
+ for f in ~/Documents/nanobanana_generated/*.png; do
118
+ magick "$f" -resize 800x800 "${f%.png}_thumb.png"
119
+ done
120
+
121
+ # Convert all to WebP
122
+ for f in ~/Documents/nanobanana_generated/*.png; do
123
+ magick "$f" -quality 85 "${f%.png}.webp"
124
+ done
125
+ ```
126
+
127
+ ## Animation (GIF/Video from Multiple Frames)
128
+
129
+ ```bash
130
+ # Create GIF from multiple images
131
+ magick -delay 100 frame1.png frame2.png frame3.png animation.gif
132
+
133
+ # Create MP4 from image sequence
134
+ ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
135
+ -c:v libx264 -pix_fmt yuv420p slideshow.mp4
136
+ ```
137
+
138
+ ## Note on 4K Output
139
+
140
+ With Gemini 3.1 Flash's `imageSize: "4K"` option (up to 4096×4096), many traditional
141
+ upscaling post-processing steps are no longer necessary. If your target platform accepts
142
+ images at or below 4K resolution, generate at native 4K instead of generating at 1K
143
+ and upscaling. This produces better detail and avoids upscaling artifacts.
144
+
145
+ ## Green Screen Transparency Pipeline
146
+
147
+ Gemini cannot generate transparent backgrounds. Use this workaround:
148
+
149
+ ### 1. Generate with green screen prompt
150
+
151
+ Append to any prompt:
152
+ ```
153
+ on a solid bright green (#00FF00) chroma key background
154
+ with a thin white outline separating the subject from the background
155
+ ```
156
+
157
+ ### 2. Remove green screen (ImageMagick)
158
+
159
+ ```bash
160
+ magick input.png -fuzz 20% -transparent "#00FF00" output.png
161
+ ```
162
+
163
+ ### 3. Clean edges + trim (ImageMagick)
164
+
165
+ ```bash
166
+ magick output.png -channel A -blur 0x1 -level 50%,100% -trim +repage final.png
167
+ ```
168
+
169
+ ### 4. Alternative (FFmpeg, better for batch)
170
+
171
+ ```bash
172
+ ffmpeg -i input.png -vf "colorkey=0x00FF00:0.3:0.1,despill=type=green" -pix_fmt rgba output.png
173
+ ```
174
+
175
+ ### Tips
176
+ - `-fuzz 20%` handles slight color variations at edges; increase to 25% for softer edges
177
+ - The white outline in the prompt helps prevent color spill on subject edges
178
+ - For batch processing, the FFmpeg approach is faster and handles despill automatically
179
+ - Always verify edges after conversion -- may need manual touchup for hair/fur
180
+
181
+ ## Quality Assessment
182
+
183
+ ```bash
184
+ # Get image dimensions and info
185
+ magick identify -verbose input.png | head -20
186
+
187
+ # Check file size
188
+ ls -lh input.png
189
+
190
+ # Get exact pixel dimensions
191
+ magick identify -format "%wx%h" input.png
192
+ ```
@@ -0,0 +1,69 @@
1
+ # Brand/Style Presets Reference
2
+
3
+ > Load this on-demand when the user asks about presets or brand consistency.
4
+
5
+ ## Preset Schema
6
+
7
+ Each preset is stored as `~/.banana/presets/NAME.json`:
8
+
9
+ ```json
10
+ {
11
+ "name": "tech-saas",
12
+ "description": "Clean tech SaaS brand",
13
+ "colors": ["#2563EB", "#1E40AF", "#F8FAFC"],
14
+ "style": "clean minimal tech illustration, flat vectors, soft shadows",
15
+ "typography": "bold geometric sans-serif",
16
+ "lighting": "bright diffused studio, no harsh shadows",
17
+ "mood": "professional, trustworthy, modern",
18
+ "default_ratio": "16:9",
19
+ "default_resolution": "2K"
20
+ }
21
+ ```
22
+
23
+ ## Example Presets
24
+
25
+ ### tech-saas
26
+ - **Colors:** #2563EB, #1E40AF, #F8FAFC (blue + white)
27
+ - **Style:** Clean minimal tech illustration, flat vectors, soft shadows
28
+ - **Typography:** Bold geometric sans-serif
29
+ - **Mood:** Professional, trustworthy, modern
30
+
31
+ ### luxury-brand
32
+ - **Colors:** #1A1A1A, #C9A96E, #FAFAF5 (black + gold + cream)
33
+ - **Style:** Elegant high-end photography, rich textures, deep contrast
34
+ - **Typography:** Thin elegant serif, generous letter-spacing
35
+ - **Mood:** Exclusive, sophisticated, aspirational
36
+
37
+ ### editorial-magazine
38
+ - **Colors:** #000000, #FFFFFF, #FF3B30 (black + white + accent red)
39
+ - **Style:** Bold editorial photography, strong geometric composition
40
+ - **Typography:** Condensed all-caps sans-serif headlines
41
+ - **Mood:** Bold, provocative, contemporary
42
+
43
+ ## How Presets Merge into Reasoning Brief
44
+
45
+ When a preset is active, Claude uses its values as defaults for the Reasoning Brief:
46
+ 1. **Colors** → inform palette descriptions in Context and Style components
47
+ 2. **Style** → becomes the base for the Style component
48
+ 3. **Typography** → used for any text rendering
49
+ 4. **Lighting** → becomes the base for the Lighting component
50
+ 5. **Mood** → influences Action and Context components
51
+
52
+ User instructions always override preset values. If a user says "make it dark"
53
+ but the preset has bright lighting, follow the user's instruction.
54
+
55
+ ## Managing Presets
56
+
57
+ ```bash
58
+ # List presets
59
+ presets.py list
60
+
61
+ # Show details
62
+ presets.py show tech-saas
63
+
64
+ # Create interactively (Claude fills in details from conversation)
65
+ presets.py create NAME --colors "#hex,#hex" --style "..." --mood "..."
66
+
67
+ # Delete
68
+ presets.py delete NAME --confirm
69
+ ```