niahere 0.2.34 → 0.2.35

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.
@@ -0,0 +1,455 @@
1
+ ---
2
+ name: marketing-psychology
3
+ description: "When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,' 'cognitive bias,' 'persuasion,' 'behavioral science,' 'why people buy,' 'decision-making,' 'consumer behavior,' 'anchoring,' 'social proof,' 'scarcity,' 'loss aversion,' 'framing,' or 'nudge.' Use this whenever someone wants to understand or leverage how people think and make decisions in a marketing context."
4
+ metadata:
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # Marketing Psychology & Mental Models
9
+
10
+ You are an expert in applying psychological principles and mental models to marketing. Your goal is to help users understand why people buy, how to influence behavior ethically, and how to make better marketing decisions.
11
+
12
+ ## How to Use This Skill
13
+
14
+ **Check for product marketing context first:**
15
+ If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it before applying mental models. Use that context to tailor recommendations to the specific product and audience.
16
+
17
+ Mental models are thinking tools that help you make better decisions, understand customer behavior, and create more effective marketing. When helping users:
18
+
19
+ 1. Identify which mental models apply to their situation
20
+ 2. Explain the psychology behind the model
21
+ 3. Provide specific marketing applications
22
+ 4. Suggest how to implement ethically
23
+
24
+ ---
25
+
26
+ ## Foundational Thinking Models
27
+
28
+ These models sharpen your strategy and help you solve the right problems.
29
+
30
+ ### First Principles
31
+ Break problems down to basic truths and build solutions from there. Instead of copying competitors, ask "why" repeatedly to find root causes. Use the 5 Whys technique to tunnel down to what really matters.
32
+
33
+ **Marketing application**: Don't assume you need content marketing because competitors do. Ask why you need it, what problem it solves, and whether there's a better solution.
34
+
35
+ ### Jobs to Be Done
36
+ People don't buy products—they "hire" them to get a job done. Focus on the outcome customers want, not features.
37
+
38
+ **Marketing application**: A drill buyer doesn't want a drill—they want a hole. Frame your product around the job it accomplishes, not its specifications.
39
+
40
+ ### Circle of Competence
41
+ Know what you're good at and stay within it. Venture outside only with proper learning or expert help.
42
+
43
+ **Marketing application**: Don't chase every channel. Double down where you have genuine expertise and competitive advantage.
44
+
45
+ ### Inversion
46
+ Instead of asking "How do I succeed?", ask "What would guarantee failure?" Then avoid those things.
47
+
48
+ **Marketing application**: List everything that would make your campaign fail—confusing messaging, wrong audience, slow landing page—then systematically prevent each.
49
+
50
+ ### Occam's Razor
51
+ The simplest explanation is usually correct. Avoid overcomplicating strategies or attributing results to complex causes when simple ones suffice.
52
+
53
+ **Marketing application**: If conversions dropped, check the obvious first (broken form, page speed) before assuming complex attribution issues.
54
+
55
+ ### Pareto Principle (80/20 Rule)
56
+ Roughly 80% of results come from 20% of efforts. Identify and focus on the vital few.
57
+
58
+ **Marketing application**: Find the 20% of channels, customers, or content driving 80% of results. Cut or reduce the rest.
59
+
60
+ ### Local vs. Global Optima
61
+ A local optimum is the best solution nearby, but a global optimum is the best overall. Don't get stuck optimizing the wrong thing.
62
+
63
+ **Marketing application**: Optimizing email subject lines (local) won't help if email isn't the right channel (global). Zoom out before zooming in.
64
+
65
+ ### Theory of Constraints
66
+ Every system has one bottleneck limiting throughput. Find and fix that constraint before optimizing elsewhere.
67
+
68
+ **Marketing application**: If your funnel converts well but traffic is low, more conversion optimization won't help. Fix the traffic bottleneck first.
69
+
70
+ ### Opportunity Cost
71
+ Every choice has a cost—what you give up by not choosing alternatives. Consider what you're saying no to.
72
+
73
+ **Marketing application**: Time spent on a low-ROI channel is time not spent on high-ROI activities. Always compare against alternatives.
74
+
75
+ ### Law of Diminishing Returns
76
+ After a point, additional investment yields progressively smaller gains.
77
+
78
+ **Marketing application**: The 10th blog post won't have the same impact as the first. Know when to diversify rather than double down.
79
+
80
+ ### Second-Order Thinking
81
+ Consider not just immediate effects, but the effects of those effects.
82
+
83
+ **Marketing application**: A flash sale boosts revenue (first order) but may train customers to wait for discounts (second order).
84
+
85
+ ### Map ≠ Territory
86
+ Models and data represent reality but aren't reality itself. Don't confuse your analytics dashboard with actual customer experience.
87
+
88
+ **Marketing application**: Your customer persona is a useful model, but real customers are more complex. Stay in touch with actual users.
89
+
90
+ ### Probabilistic Thinking
91
+ Think in probabilities, not certainties. Estimate likelihoods and plan for multiple outcomes.
92
+
93
+ **Marketing application**: Don't bet everything on one campaign. Spread risk and plan for scenarios where your primary strategy underperforms.
94
+
95
+ ### Barbell Strategy
96
+ Combine extreme safety with small high-risk/high-reward bets. Avoid the mediocre middle.
97
+
98
+ **Marketing application**: Put 80% of budget into proven channels, 20% into experimental bets. Avoid moderate-risk, moderate-reward middle.
99
+
100
+ ---
101
+
102
+ ## Understanding Buyers & Human Psychology
103
+
104
+ These models explain how customers think, decide, and behave.
105
+
106
+ ### Fundamental Attribution Error
107
+ People attribute others' behavior to character, not circumstances. "They didn't buy because they're not serious" vs. "The checkout was confusing."
108
+
109
+ **Marketing application**: When customers don't convert, examine your process before blaming them. The problem is usually situational, not personal.
110
+
111
+ ### Mere Exposure Effect
112
+ People prefer things they've seen before. Familiarity breeds liking.
113
+
114
+ **Marketing application**: Consistent brand presence builds preference over time. Repetition across channels creates comfort and trust.
115
+
116
+ ### Availability Heuristic
117
+ People judge likelihood by how easily examples come to mind. Recent or vivid events seem more common.
118
+
119
+ **Marketing application**: Case studies and testimonials make success feel more achievable. Make positive outcomes easy to imagine.
120
+
121
+ ### Confirmation Bias
122
+ People seek information confirming existing beliefs and ignore contradictory evidence.
123
+
124
+ **Marketing application**: Understand what your audience already believes and align messaging accordingly. Fighting beliefs head-on rarely works.
125
+
126
+ ### The Lindy Effect
127
+ The longer something has survived, the longer it's likely to continue. Old ideas often outlast new ones.
128
+
129
+ **Marketing application**: Proven marketing principles (clear value props, social proof) outlast trendy tactics. Don't abandon fundamentals for fads.
130
+
131
+ ### Mimetic Desire
132
+ People want things because others want them. Desire is socially contagious.
133
+
134
+ **Marketing application**: Show that desirable people want your product. Waitlists, exclusivity, and social proof trigger mimetic desire.
135
+
136
+ ### Sunk Cost Fallacy
137
+ People continue investing in something because of past investment, even when it's no longer rational.
138
+
139
+ **Marketing application**: Know when to kill underperforming campaigns. Past spend shouldn't justify future spend if results aren't there.
140
+
141
+ ### Endowment Effect
142
+ People value things more once they own them.
143
+
144
+ **Marketing application**: Free trials, samples, and freemium models let customers "own" the product, making them reluctant to give it up.
145
+
146
+ ### IKEA Effect
147
+ People value things more when they've put effort into creating them.
148
+
149
+ **Marketing application**: Let customers customize, configure, or build something. Their investment increases perceived value and commitment.
150
+
151
+ ### Zero-Price Effect
152
+ Free isn't just a low price—it's psychologically different. "Free" triggers irrational preference.
153
+
154
+ **Marketing application**: Free tiers, free trials, and free shipping have disproportionate appeal. The jump from $1 to $0 is bigger than $2 to $1.
155
+
156
+ ### Hyperbolic Discounting / Present Bias
157
+ People strongly prefer immediate rewards over future ones, even when waiting is more rational.
158
+
159
+ **Marketing application**: Emphasize immediate benefits ("Start saving time today") over future ones ("You'll see ROI in 6 months").
160
+
161
+ ### Status-Quo Bias
162
+ People prefer the current state of affairs. Change requires effort and feels risky.
163
+
164
+ **Marketing application**: Reduce friction to switch. Make the transition feel safe and easy. "Import your data in one click."
165
+
166
+ ### Default Effect
167
+ People tend to accept pre-selected options. Defaults are powerful.
168
+
169
+ **Marketing application**: Pre-select the plan you want customers to choose. Opt-out beats opt-in for subscriptions (ethically applied).
170
+
171
+ ### Paradox of Choice
172
+ Too many options overwhelm and paralyze. Fewer choices often lead to more decisions.
173
+
174
+ **Marketing application**: Limit options. Three pricing tiers beat seven. Recommend a single "best for most" option.
175
+
176
+ ### Goal-Gradient Effect
177
+ People accelerate effort as they approach a goal. Progress visualization motivates action.
178
+
179
+ **Marketing application**: Show progress bars, completion percentages, and "almost there" messaging to drive completion.
180
+
181
+ ### Peak-End Rule
182
+ People judge experiences by the peak (best or worst moment) and the end, not the average.
183
+
184
+ **Marketing application**: Design memorable peaks (surprise upgrades, delightful moments) and strong endings (thank you pages, follow-up emails).
185
+
186
+ ### Zeigarnik Effect
187
+ Unfinished tasks occupy the mind more than completed ones. Open loops create tension.
188
+
189
+ **Marketing application**: "You're 80% done" creates pull to finish. Incomplete profiles, abandoned carts, and cliffhangers leverage this.
190
+
191
+ ### Pratfall Effect
192
+ Competent people become more likable when they show a small flaw. Perfection is less relatable.
193
+
194
+ **Marketing application**: Admitting a weakness ("We're not the cheapest, but...") can increase trust and differentiation.
195
+
196
+ ### Curse of Knowledge
197
+ Once you know something, you can't imagine not knowing it. Experts struggle to explain simply.
198
+
199
+ **Marketing application**: Your product seems obvious to you but confusing to newcomers. Test copy with people unfamiliar with your space.
200
+
201
+ ### Mental Accounting
202
+ People treat money differently based on its source or intended use, even though money is fungible.
203
+
204
+ **Marketing application**: Frame costs in favorable mental accounts. "$3/day" feels different than "$90/month" even though it's the same.
205
+
206
+ ### Regret Aversion
207
+ People avoid actions that might cause regret, even if the expected outcome is positive.
208
+
209
+ **Marketing application**: Address regret directly. Money-back guarantees, free trials, and "no commitment" messaging reduce regret fear.
210
+
211
+ ### Bandwagon Effect / Social Proof
212
+ People follow what others are doing. Popularity signals quality and safety.
213
+
214
+ **Marketing application**: Show customer counts, testimonials, logos, reviews, and "trending" indicators. Numbers create confidence.
215
+
216
+ ---
217
+
218
+ ## Influencing Behavior & Persuasion
219
+
220
+ These models help you ethically influence customer decisions.
221
+
222
+ ### Reciprocity Principle
223
+ People feel obligated to return favors. Give first, and people want to give back.
224
+
225
+ **Marketing application**: Free content, free tools, and generous free tiers create reciprocal obligation. Give value before asking for anything.
226
+
227
+ ### Commitment & Consistency
228
+ Once people commit to something, they want to stay consistent with that commitment.
229
+
230
+ **Marketing application**: Get small commitments first (email signup, free trial). People who've taken one step are more likely to take the next.
231
+
232
+ ### Authority Bias
233
+ People defer to experts and authority figures. Credentials and expertise create trust.
234
+
235
+ **Marketing application**: Feature expert endorsements, certifications, "featured in" logos, and thought leadership content.
236
+
237
+ ### Liking / Similarity Bias
238
+ People say yes to those they like and those similar to themselves.
239
+
240
+ **Marketing application**: Use relatable spokespeople, founder stories, and community language. "Built by marketers for marketers" signals similarity.
241
+
242
+ ### Unity Principle
243
+ Shared identity drives influence. "One of us" is powerful.
244
+
245
+ **Marketing application**: Position your brand as part of the customer's tribe. Use insider language and shared values.
246
+
247
+ ### Scarcity / Urgency Heuristic
248
+ Limited availability increases perceived value. Scarcity signals desirability.
249
+
250
+ **Marketing application**: Limited-time offers, low-stock warnings, and exclusive access create urgency. Only use when genuine.
251
+
252
+ ### Foot-in-the-Door Technique
253
+ Start with a small request, then escalate. Compliance with small requests leads to compliance with larger ones.
254
+
255
+ **Marketing application**: Free trial → paid plan → annual plan → enterprise. Each step builds on the last.
256
+
257
+ ### Door-in-the-Face Technique
258
+ Start with an unreasonably large request, then retreat to what you actually want. The contrast makes the second request seem reasonable.
259
+
260
+ **Marketing application**: Show enterprise pricing first, then reveal the affordable starter plan. The contrast makes it feel like a deal.
261
+
262
+ ### Loss Aversion / Prospect Theory
263
+ Losses feel roughly twice as painful as equivalent gains feel good. People will work harder to avoid losing than to gain.
264
+
265
+ **Marketing application**: Frame in terms of what they'll lose by not acting. "Don't miss out" beats "You could gain."
266
+
267
+ ### Anchoring Effect
268
+ The first number people see heavily influences subsequent judgments.
269
+
270
+ **Marketing application**: Show the higher price first (original price, competitor price, enterprise tier) to anchor expectations.
271
+
272
+ ### Decoy Effect
273
+ Adding a third, inferior option makes one of the original two look better.
274
+
275
+ **Marketing application**: A "decoy" pricing tier that's clearly worse value makes your preferred tier look like the obvious choice.
276
+
277
+ ### Framing Effect
278
+ How something is presented changes how it's perceived. Same facts, different frames.
279
+
280
+ **Marketing application**: "90% success rate" vs. "10% failure rate" are identical but feel different. Frame positively.
281
+
282
+ ### Contrast Effect
283
+ Things seem different depending on what they're compared to.
284
+
285
+ **Marketing application**: Show the "before" state clearly. The contrast with your "after" makes improvements vivid.
286
+
287
+ ---
288
+
289
+ ## Pricing Psychology
290
+
291
+ These models specifically address how people perceive and respond to prices.
292
+
293
+ ### Charm Pricing / Left-Digit Effect
294
+ Prices ending in 9 seem significantly lower than the next round number. $99 feels much cheaper than $100.
295
+
296
+ **Marketing application**: Use .99 or .95 endings for value-focused products. The left digit dominates perception.
297
+
298
+ ### Rounded-Price (Fluency) Effect
299
+ Round numbers feel premium and are easier to process. $100 signals quality; $99 signals value.
300
+
301
+ **Marketing application**: Use round prices for premium products ($500/month), charm prices for value products ($497/month).
302
+
303
+ ### Rule of 100
304
+ For prices under $100, percentage discounts seem larger ("20% off"). For prices over $100, absolute discounts seem larger ("$50 off").
305
+
306
+ **Marketing application**: $80 product: "20% off" beats "$16 off." $500 product: "$100 off" beats "20% off."
307
+
308
+ ### Price Relativity / Good-Better-Best
309
+ People judge prices relative to options presented. A middle tier seems reasonable between cheap and expensive.
310
+
311
+ **Marketing application**: Three tiers where the middle is your target. The expensive tier makes it look reasonable; the cheap tier provides an anchor.
312
+
313
+ ### Mental Accounting (Pricing)
314
+ Framing the same price differently changes perception.
315
+
316
+ **Marketing application**: "$1/day" feels cheaper than "$30/month." "Less than your morning coffee" reframes the expense.
317
+
318
+ ---
319
+
320
+ ## Design & Delivery Models
321
+
322
+ These models help you design effective marketing systems.
323
+
324
+ ### Hick's Law
325
+ Decision time increases with the number and complexity of choices. More options = slower decisions = more abandonment.
326
+
327
+ **Marketing application**: Simplify choices. One clear CTA beats three. Fewer form fields beat more.
328
+
329
+ ### AIDA Funnel
330
+ Attention → Interest → Desire → Action. The classic customer journey model.
331
+
332
+ **Marketing application**: Structure pages and campaigns to move through each stage. Capture attention before building desire.
333
+
334
+ ### Rule of 7
335
+ Prospects need roughly 7 touchpoints before converting. One ad rarely converts; sustained presence does.
336
+
337
+ **Marketing application**: Build multi-touch campaigns across channels. Retargeting, email sequences, and consistent presence compound.
338
+
339
+ ### Nudge Theory / Choice Architecture
340
+ Small changes in how choices are presented significantly influence decisions.
341
+
342
+ **Marketing application**: Default selections, strategic ordering, and friction reduction guide behavior without restricting choice.
343
+
344
+ ### BJ Fogg Behavior Model
345
+ Behavior = Motivation × Ability × Prompt. All three must be present for action.
346
+
347
+ **Marketing application**: High motivation but hard to do = won't happen. Easy to do but no prompt = won't happen. Design for all three.
348
+
349
+ ### EAST Framework
350
+ Make desired behaviors: Easy, Attractive, Social, Timely.
351
+
352
+ **Marketing application**: Reduce friction (easy), make it appealing (attractive), show others doing it (social), ask at the right moment (timely).
353
+
354
+ ### COM-B Model
355
+ Behavior requires: Capability, Opportunity, Motivation.
356
+
357
+ **Marketing application**: Can they do it (capability)? Is the path clear (opportunity)? Do they want to (motivation)? Address all three.
358
+
359
+ ### Activation Energy
360
+ The initial energy required to start something. High activation energy prevents action even if the task is easy overall.
361
+
362
+ **Marketing application**: Reduce starting friction. Pre-fill forms, offer templates, show quick wins. Make the first step trivially easy.
363
+
364
+ ### North Star Metric
365
+ One metric that best captures the value you deliver to customers. Focus creates alignment.
366
+
367
+ **Marketing application**: Identify your North Star (active users, completed projects, revenue per customer) and align all efforts toward it.
368
+
369
+ ### The Cobra Effect
370
+ When incentives backfire and produce the opposite of intended results.
371
+
372
+ **Marketing application**: Test incentive structures. A referral bonus might attract low-quality referrals gaming the system.
373
+
374
+ ---
375
+
376
+ ## Growth & Scaling Models
377
+
378
+ These models explain how marketing compounds and scales.
379
+
380
+ ### Feedback Loops
381
+ Output becomes input, creating cycles. Positive loops accelerate growth; negative loops create decline.
382
+
383
+ **Marketing application**: Build virtuous cycles: more users → more content → better SEO → more users. Identify and strengthen positive loops.
384
+
385
+ ### Compounding
386
+ Small, consistent gains accumulate into large results over time. Early gains matter most.
387
+
388
+ **Marketing application**: Consistent content, SEO, and brand building compound. Start early; benefits accumulate exponentially.
389
+
390
+ ### Network Effects
391
+ A product becomes more valuable as more people use it.
392
+
393
+ **Marketing application**: Design features that improve with more users: shared workspaces, integrations, marketplaces, communities.
394
+
395
+ ### Flywheel Effect
396
+ Sustained effort creates momentum that eventually maintains itself. Hard to start, easy to maintain.
397
+
398
+ **Marketing application**: Content → traffic → leads → customers → case studies → more content. Each element powers the next.
399
+
400
+ ### Switching Costs
401
+ The price (time, money, effort, data) of changing to a competitor. High switching costs create retention.
402
+
403
+ **Marketing application**: Increase switching costs ethically: integrations, data accumulation, workflow customization, team adoption.
404
+
405
+ ### Exploration vs. Exploitation
406
+ Balance trying new things (exploration) with optimizing what works (exploitation).
407
+
408
+ **Marketing application**: Don't abandon working channels for shiny new ones, but allocate some budget to experiments.
409
+
410
+ ### Critical Mass / Tipping Point
411
+ The threshold after which growth becomes self-sustaining.
412
+
413
+ **Marketing application**: Focus resources on reaching critical mass in one segment before expanding. Depth before breadth.
414
+
415
+ ### Survivorship Bias
416
+ Focusing on successes while ignoring failures that aren't visible.
417
+
418
+ **Marketing application**: Study failed campaigns, not just successful ones. The viral hit you're copying had 99 failures you didn't see.
419
+
420
+ ---
421
+
422
+ ## Quick Reference
423
+
424
+ When facing a marketing challenge, consider:
425
+
426
+ | Challenge | Relevant Models |
427
+ |-----------|-----------------|
428
+ | Low conversions | Hick's Law, Activation Energy, BJ Fogg, Friction |
429
+ | Price objections | Anchoring, Framing, Mental Accounting, Loss Aversion |
430
+ | Building trust | Authority, Social Proof, Reciprocity, Pratfall Effect |
431
+ | Increasing urgency | Scarcity, Loss Aversion, Zeigarnik Effect |
432
+ | Retention/churn | Endowment Effect, Switching Costs, Status-Quo Bias |
433
+ | Growth stalling | Theory of Constraints, Local vs Global Optima, Compounding |
434
+ | Decision paralysis | Paradox of Choice, Default Effect, Nudge Theory |
435
+ | Onboarding | Goal-Gradient, IKEA Effect, Commitment & Consistency |
436
+
437
+ ---
438
+
439
+ ## Task-Specific Questions
440
+
441
+ 1. What specific behavior are you trying to influence?
442
+ 2. What does your customer believe before encountering your marketing?
443
+ 3. Where in the journey (awareness → consideration → decision) is this?
444
+ 4. What's currently preventing the desired action?
445
+ 5. Have you tested this with real customers?
446
+
447
+ ---
448
+
449
+ ## Related Skills
450
+
451
+ - **page-cro**: Apply psychology to page optimization
452
+ - **copywriting**: Write copy using psychological principles
453
+ - **popup-cro**: Use triggers and psychology in popups
454
+ - **pricing-page optimization**: See page-cro for pricing psychology
455
+ - **ab-test-setup**: Test psychological hypotheses
@@ -0,0 +1,232 @@
1
+ ---
2
+ name: pptx
3
+ description: "Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill."
4
+ license: Proprietary. LICENSE.txt has complete terms
5
+ ---
6
+
7
+ # PPTX Skill
8
+
9
+ ## Quick Reference
10
+
11
+ | Task | Guide |
12
+ |------|-------|
13
+ | Read/analyze content | `python -m markitdown presentation.pptx` |
14
+ | Edit or create from template | Read [editing.md](editing.md) |
15
+ | Create from scratch | Read [pptxgenjs.md](pptxgenjs.md) |
16
+
17
+ ---
18
+
19
+ ## Reading Content
20
+
21
+ ```bash
22
+ # Text extraction
23
+ python -m markitdown presentation.pptx
24
+
25
+ # Visual overview
26
+ python scripts/thumbnail.py presentation.pptx
27
+
28
+ # Raw XML
29
+ python scripts/office/unpack.py presentation.pptx unpacked/
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Editing Workflow
35
+
36
+ **Read [editing.md](editing.md) for full details.**
37
+
38
+ 1. Analyze template with `thumbnail.py`
39
+ 2. Unpack → manipulate slides → edit content → clean → pack
40
+
41
+ ---
42
+
43
+ ## Creating from Scratch
44
+
45
+ **Read [pptxgenjs.md](pptxgenjs.md) for full details.**
46
+
47
+ Use when no template or reference presentation is available.
48
+
49
+ ---
50
+
51
+ ## Design Ideas
52
+
53
+ **Don't create boring slides.** Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.
54
+
55
+ ### Before Starting
56
+
57
+ - **Pick a bold, content-informed color palette**: The palette should feel designed for THIS topic. If swapping your colors into a completely different presentation would still "work," you haven't made specific enough choices.
58
+ - **Dominance over equality**: One color should dominate (60-70% visual weight), with 1-2 supporting tones and one sharp accent. Never give all colors equal weight.
59
+ - **Dark/light contrast**: Dark backgrounds for title + conclusion slides, light for content ("sandwich" structure). Or commit to dark throughout for a premium feel.
60
+ - **Commit to a visual motif**: Pick ONE distinctive element and repeat it — rounded image frames, icons in colored circles, thick single-side borders. Carry it across every slide.
61
+
62
+ ### Color Palettes
63
+
64
+ Choose colors that match your topic — don't default to generic blue. Use these palettes as inspiration:
65
+
66
+ | Theme | Primary | Secondary | Accent |
67
+ |-------|---------|-----------|--------|
68
+ | **Midnight Executive** | `1E2761` (navy) | `CADCFC` (ice blue) | `FFFFFF` (white) |
69
+ | **Forest & Moss** | `2C5F2D` (forest) | `97BC62` (moss) | `F5F5F5` (cream) |
70
+ | **Coral Energy** | `F96167` (coral) | `F9E795` (gold) | `2F3C7E` (navy) |
71
+ | **Warm Terracotta** | `B85042` (terracotta) | `E7E8D1` (sand) | `A7BEAE` (sage) |
72
+ | **Ocean Gradient** | `065A82` (deep blue) | `1C7293` (teal) | `21295C` (midnight) |
73
+ | **Charcoal Minimal** | `36454F` (charcoal) | `F2F2F2` (off-white) | `212121` (black) |
74
+ | **Teal Trust** | `028090` (teal) | `00A896` (seafoam) | `02C39A` (mint) |
75
+ | **Berry & Cream** | `6D2E46` (berry) | `A26769` (dusty rose) | `ECE2D0` (cream) |
76
+ | **Sage Calm** | `84B59F` (sage) | `69A297` (eucalyptus) | `50808E` (slate) |
77
+ | **Cherry Bold** | `990011` (cherry) | `FCF6F5` (off-white) | `2F3C7E` (navy) |
78
+
79
+ ### For Each Slide
80
+
81
+ **Every slide needs a visual element** — image, chart, icon, or shape. Text-only slides are forgettable.
82
+
83
+ **Layout options:**
84
+ - Two-column (text left, illustration on right)
85
+ - Icon + text rows (icon in colored circle, bold header, description below)
86
+ - 2x2 or 2x3 grid (image on one side, grid of content blocks on other)
87
+ - Half-bleed image (full left or right side) with content overlay
88
+
89
+ **Data display:**
90
+ - Large stat callouts (big numbers 60-72pt with small labels below)
91
+ - Comparison columns (before/after, pros/cons, side-by-side options)
92
+ - Timeline or process flow (numbered steps, arrows)
93
+
94
+ **Visual polish:**
95
+ - Icons in small colored circles next to section headers
96
+ - Italic accent text for key stats or taglines
97
+
98
+ ### Typography
99
+
100
+ **Choose an interesting font pairing** — don't default to Arial. Pick a header font with personality and pair it with a clean body font.
101
+
102
+ | Header Font | Body Font |
103
+ |-------------|-----------|
104
+ | Georgia | Calibri |
105
+ | Arial Black | Arial |
106
+ | Calibri | Calibri Light |
107
+ | Cambria | Calibri |
108
+ | Trebuchet MS | Calibri |
109
+ | Impact | Arial |
110
+ | Palatino | Garamond |
111
+ | Consolas | Calibri |
112
+
113
+ | Element | Size |
114
+ |---------|------|
115
+ | Slide title | 36-44pt bold |
116
+ | Section header | 20-24pt bold |
117
+ | Body text | 14-16pt |
118
+ | Captions | 10-12pt muted |
119
+
120
+ ### Spacing
121
+
122
+ - 0.5" minimum margins
123
+ - 0.3-0.5" between content blocks
124
+ - Leave breathing room—don't fill every inch
125
+
126
+ ### Avoid (Common Mistakes)
127
+
128
+ - **Don't repeat the same layout** — vary columns, cards, and callouts across slides
129
+ - **Don't center body text** — left-align paragraphs and lists; center only titles
130
+ - **Don't skimp on size contrast** — titles need 36pt+ to stand out from 14-16pt body
131
+ - **Don't default to blue** — pick colors that reflect the specific topic
132
+ - **Don't mix spacing randomly** — choose 0.3" or 0.5" gaps and use consistently
133
+ - **Don't style one slide and leave the rest plain** — commit fully or keep it simple throughout
134
+ - **Don't create text-only slides** — add images, icons, charts, or visual elements; avoid plain title + bullets
135
+ - **Don't forget text box padding** — when aligning lines or shapes with text edges, set `margin: 0` on the text box or offset the shape to account for padding
136
+ - **Don't use low-contrast elements** — icons AND text need strong contrast against the background; avoid light text on light backgrounds or dark text on dark backgrounds
137
+ - **NEVER use accent lines under titles** — these are a hallmark of AI-generated slides; use whitespace or background color instead
138
+
139
+ ---
140
+
141
+ ## QA (Required)
142
+
143
+ **Assume there are problems. Your job is to find them.**
144
+
145
+ Your first render is almost never correct. Approach QA as a bug hunt, not a confirmation step. If you found zero issues on first inspection, you weren't looking hard enough.
146
+
147
+ ### Content QA
148
+
149
+ ```bash
150
+ python -m markitdown output.pptx
151
+ ```
152
+
153
+ Check for missing content, typos, wrong order.
154
+
155
+ **When using templates, check for leftover placeholder text:**
156
+
157
+ ```bash
158
+ python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
159
+ ```
160
+
161
+ If grep returns results, fix them before declaring success.
162
+
163
+ ### Visual QA
164
+
165
+ **⚠️ USE SUBAGENTS** — even for 2-3 slides. You've been staring at the code and will see what you expect, not what's there. Subagents have fresh eyes.
166
+
167
+ Convert slides to images (see [Converting to Images](#converting-to-images)), then use this prompt:
168
+
169
+ ```
170
+ Visually inspect these slides. Assume there are issues — find them.
171
+
172
+ Look for:
173
+ - Overlapping elements (text through shapes, lines through words, stacked elements)
174
+ - Text overflow or cut off at edges/box boundaries
175
+ - Decorative lines positioned for single-line text but title wrapped to two lines
176
+ - Source citations or footers colliding with content above
177
+ - Elements too close (< 0.3" gaps) or cards/sections nearly touching
178
+ - Uneven gaps (large empty area in one place, cramped in another)
179
+ - Insufficient margin from slide edges (< 0.5")
180
+ - Columns or similar elements not aligned consistently
181
+ - Low-contrast text (e.g., light gray text on cream-colored background)
182
+ - Low-contrast icons (e.g., dark icons on dark backgrounds without a contrasting circle)
183
+ - Text boxes too narrow causing excessive wrapping
184
+ - Leftover placeholder content
185
+
186
+ For each slide, list issues or areas of concern, even if minor.
187
+
188
+ Read and analyze these images:
189
+ 1. /path/to/slide-01.jpg (Expected: [brief description])
190
+ 2. /path/to/slide-02.jpg (Expected: [brief description])
191
+
192
+ Report ALL issues found, including minor ones.
193
+ ```
194
+
195
+ ### Verification Loop
196
+
197
+ 1. Generate slides → Convert to images → Inspect
198
+ 2. **List issues found** (if none found, look again more critically)
199
+ 3. Fix issues
200
+ 4. **Re-verify affected slides** — one fix often creates another problem
201
+ 5. Repeat until a full pass reveals no new issues
202
+
203
+ **Do not declare success until you've completed at least one fix-and-verify cycle.**
204
+
205
+ ---
206
+
207
+ ## Converting to Images
208
+
209
+ Convert presentations to individual slide images for visual inspection:
210
+
211
+ ```bash
212
+ python scripts/office/soffice.py --headless --convert-to pdf output.pptx
213
+ pdftoppm -jpeg -r 150 output.pdf slide
214
+ ```
215
+
216
+ This creates `slide-01.jpg`, `slide-02.jpg`, etc.
217
+
218
+ To re-render specific slides after fixes:
219
+
220
+ ```bash
221
+ pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Dependencies
227
+
228
+ - `pip install "markitdown[pptx]"` - text extraction
229
+ - `pip install Pillow` - thumbnail grids
230
+ - `npm install -g pptxgenjs` - creating from scratch
231
+ - LibreOffice (`soffice`) - PDF conversion (auto-configured for sandboxed environments via `scripts/office/soffice.py`)
232
+ - Poppler (`pdftoppm`) - PDF to images