carousel-generator-skill 1.0.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/.claude-plugin/marketplace.json +18 -0
- package/.claude-plugin/plugin.json +12 -0
- package/INSTALL.md +47 -0
- package/LICENSE +21 -0
- package/README.md +139 -0
- package/bin/install.mjs +103 -0
- package/commands/carousel.md +14 -0
- package/package.json +50 -0
- package/skills/carousel-generator/SKILL.md +133 -0
- package/skills/carousel-generator/references/carousel-bible.md +262 -0
- package/skills/carousel-generator/references/house-style.md +52 -0
- package/skills/carousel-generator/references/image-prompts.md +185 -0
- package/skills/carousel-generator/references/slide-count.md +75 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nope-fallacy",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "Adrita Mahata",
|
|
5
|
+
"url": "https://github.com/nopefallacy"
|
|
6
|
+
},
|
|
7
|
+
"description": "Skills by Nope Fallacy (Adrita Mahata).",
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "carousel-generator",
|
|
11
|
+
"description": "End-to-end Instagram carousel studio: topic → engineered slide copy → paste-ready ChatGPT Image 2 prompts.",
|
|
12
|
+
"source": "./",
|
|
13
|
+
"category": "content",
|
|
14
|
+
"author": { "name": "Adrita Mahata" },
|
|
15
|
+
"homepage": "https://github.com/nopefallacy/carousel-generator-skill"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "carousel-generator",
|
|
3
|
+
"description": "End-to-end Instagram carousel studio for Nope Fallacy (Adrita Mahata). Topic in → engineered slide copy → fully-populated, paste-ready ChatGPT Image 2 prompts using a visual-anchor workflow.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Adrita Mahata",
|
|
7
|
+
"url": "https://instagram.com/adrita.space"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/nopefallacy/carousel-generator-skill",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": ["instagram", "carousel", "content", "social-media", "image-prompts", "chatgpt"]
|
|
12
|
+
}
|
package/INSTALL.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Install — use this skill across any AI tool
|
|
2
|
+
|
|
3
|
+
The portable core is the folder **`skills/carousel-generator/`** (`SKILL.md` + `references/`). It's plain markdown, so any agent that can read files can use it. Below is how to wire it into each tool.
|
|
4
|
+
|
|
5
|
+
## Quickest — npx installer
|
|
6
|
+
Installs the skill into `~/.claude/skills/carousel-generator` for you:
|
|
7
|
+
```bash
|
|
8
|
+
npx carousel-generator-skill # global
|
|
9
|
+
npx carousel-generator-skill --project # into ./.claude/skills
|
|
10
|
+
npx carousel-generator-skill --dir PATH # custom location
|
|
11
|
+
```
|
|
12
|
+
Before it's published to npm, run it straight from GitHub: `npx github:nopefallacy/carousel-generator-skill`.
|
|
13
|
+
|
|
14
|
+
Or copy just the raw folder anywhere:
|
|
15
|
+
```bash
|
|
16
|
+
npx degit nopefallacy/carousel-generator-skill/skills/carousel-generator ~/.claude/skills/carousel-generator
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Claude Code
|
|
20
|
+
|
|
21
|
+
**As a plugin (skill + `/carousel` command):**
|
|
22
|
+
```text
|
|
23
|
+
/plugin marketplace add nopefallacy/carousel-generator-skill
|
|
24
|
+
/plugin install carousel-generator@nope-fallacy
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**As a skill only:** copy `skills/carousel-generator/` into `~/.claude/skills/carousel-generator/` (global) or `<project>/.claude/skills/carousel-generator/` (per-project). It auto-loads when you mention carousels.
|
|
28
|
+
|
|
29
|
+
**Slash command only:** copy `commands/carousel.md` to `~/.claude/commands/carousel.md`, then run `/carousel a topic`.
|
|
30
|
+
|
|
31
|
+
## Claude.ai / Claude Desktop
|
|
32
|
+
Download the `.skill` file from the repo's Releases and upload it under **Settings → Capabilities → Skills**.
|
|
33
|
+
|
|
34
|
+
## Codex (AGENTS.md)
|
|
35
|
+
Drop `skills/carousel-generator/` in the repo and add to `AGENTS.md`:
|
|
36
|
+
> For Instagram carousels, follow `skills/carousel-generator/SKILL.md` and its `references/`.
|
|
37
|
+
|
|
38
|
+
Or paste `SKILL.md` contents into `AGENTS.md` directly.
|
|
39
|
+
|
|
40
|
+
## Cursor (.cursor/rules)
|
|
41
|
+
Create `.cursor/rules/carousel-generator.mdc` with `description:` + (optionally) `globs:`/`alwaysApply: false`, and point it at `skills/carousel-generator/SKILL.md`, or paste the SKILL.md body in.
|
|
42
|
+
|
|
43
|
+
## Windsurf / Antigravity / other agent IDEs
|
|
44
|
+
Reference `skills/carousel-generator/SKILL.md` from the tool's rules/context file (`.windsurfrules`, `AGENTS.md`, a context doc, etc.), or paste the body. The `references/` files load on demand when SKILL.md points to them.
|
|
45
|
+
|
|
46
|
+
## Universal fallback
|
|
47
|
+
Any chat-based agent: paste `SKILL.md` as a system/instructions message and attach the four `references/*.md` files. That's all the skill is.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Adrita Mahata (Nope Fallacy)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Carousel Generator Skill
|
|
2
|
+
|
|
3
|
+
> **Turn a topic, a script, or a YouTube video into a finished Instagram carousel — automatically.** A [Claude Code](https://claude.com/claude-code) / Claude Agent **skill** that writes virality-engineered slide copy and then hands you fully-populated, paste-ready **ChatGPT Image 2** prompts using a visual-anchor workflow — so your decks look *designed*, not generic-AI.
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<code>npx carousel-generator-skill</code>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="#-quick-start">Quick start</a> ·
|
|
11
|
+
<a href="#-what-it-does">What it does</a> ·
|
|
12
|
+
<a href="#-how-it-works">How it works</a> ·
|
|
13
|
+
<a href="#-install-anywhere">Install anywhere</a> ·
|
|
14
|
+
<a href="#-repo-structure">Structure</a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
[](https://claude.com/claude-code)
|
|
18
|
+
[](https://docs.claude.com/en/docs/claude-code/skills)
|
|
19
|
+
[](LICENSE)
|
|
20
|
+
|
|
21
|
+
Made for [@adrita.space](https://instagram.com/adrita.space) / [@nope.fallacy](https://youtube.com/@nope.fallacy).
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## What is this?
|
|
26
|
+
|
|
27
|
+
A **packaged AI skill** for making **Instagram carousels** (and LinkedIn infographic decks). You give your agent a topic — or a rough script, or a YouTube video — and it runs the whole pipeline:
|
|
28
|
+
|
|
29
|
+
**topic → engineered slide copy → paste-ready ChatGPT Image 2 prompts**
|
|
30
|
+
|
|
31
|
+
The point: you never shuffle text between Google Docs and ChatGPT. You copy one prompt block, paste it into ChatGPT (Image 2 model on), and get a slide. Then the next.
|
|
32
|
+
|
|
33
|
+
It encodes the *standard* — the playbooks, the hook grammar, the slide-3 danger zone, the CTA-by-goal table — plus a **visual-anchor prompting method** that makes generated slides actually transfer your reference's look instead of defaulting to the same kraft-paper typographic poster every AI carousel ends up as.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## ✨ What it does
|
|
38
|
+
|
|
39
|
+
- 📝 **Engineered copy first** — picks the playbook + slide count, writes 3 hook variants, per-slide copy, a caption, and hashtags. You iterate until it's sharp. (~40% of a great carousel is the copy.)
|
|
40
|
+
- 🎯 **Virality by design** — every deck is built for saves, shares, comments, and completion: second-chance hook on slide 2, densest value front-loaded at slide 3, one idea per slide (the screenshot test).
|
|
41
|
+
- 🖼️ **Paste-ready image prompts** — slide 1 becomes a **visual anchor** (5 versions); every other slide (×3) is anchored to it so the deck is one family. Fully populated — copy, paste, done.
|
|
42
|
+
- 🧬 **Real reference transfer** — when you share a reference image, the skill extracts its visual DNA (medium, palette, texture, mood, composition) and bans the generic-poster default. Or go **universal** and let ChatGPT pull the look from your attached image.
|
|
43
|
+
- 🏷️ **Smart elements** — names a tool on a slide? It renders that tool's logo as an object in the scene. Want a screenshot (GitHub repo, a website) on a slide? It tells the model to integrate it, styled to match.
|
|
44
|
+
- 🗣️ **Your voice** — an anti-AI filter cuts templated phrasing, and a `house-style.md` log lets you teach it your own winning patterns over time.
|
|
45
|
+
- 📦 **One-command install** — `npx carousel-generator-skill` drops it into your Claude skills folder.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 🚀 Quick start
|
|
50
|
+
|
|
51
|
+
### 1. Install the skill
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
# Global / user-level (installs to ~/.claude/skills/carousel-generator)
|
|
55
|
+
npx carousel-generator-skill
|
|
56
|
+
|
|
57
|
+
# …or into the current project only (./.claude/skills/carousel-generator)
|
|
58
|
+
npx carousel-generator-skill --project
|
|
59
|
+
|
|
60
|
+
# …or a custom skills directory
|
|
61
|
+
npx carousel-generator-skill --dir /path/to/skills
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
> Before it's published to npm, the same command works straight from GitHub:
|
|
65
|
+
> `npx github:nopefallacy/carousel-generator-skill`
|
|
66
|
+
|
|
67
|
+
### 2. Use it
|
|
68
|
+
|
|
69
|
+
Restart Claude Code, then just ask:
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
make me a carousel about my morning routine
|
|
73
|
+
turn this YouTube script into a carousel and give me the image prompts
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The skill writes the copy first, waits for your approval, then asks for a visual reference and hands you the prompts.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 🧠 How it works
|
|
81
|
+
|
|
82
|
+
A four-phase workflow (full detail in [`skills/carousel-generator/SKILL.md`](skills/carousel-generator/SKILL.md)):
|
|
83
|
+
|
|
84
|
+
1. **Scope + copy** — playbook, slide count, TOFU/BOFU, hook variants, per-slide copy, caption, hashtags.
|
|
85
|
+
2. **Lock** — final numbered slide text as the single source of truth.
|
|
86
|
+
3. **Visual brief** — reference DNA (or universal mode) + per-slide scenes; tool logos rendered as scene objects.
|
|
87
|
+
4. **Prompts** — slide-1 anchor (×5), then each slide (×3) anchored to slide 1, fully populated.
|
|
88
|
+
|
|
89
|
+
Backed by a synthesized carousel playbook in `references/`: 10 commandments, 10 playbook types, hook formulas, content-slide templates, CTA-by-goal, captions, hashtags, advanced visual tactics, and pre-publish checklists.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 🌍 Install anywhere
|
|
94
|
+
|
|
95
|
+
This works in any agent — the core is plain markdown. See [`INSTALL.md`](INSTALL.md) for per-tool setup.
|
|
96
|
+
|
|
97
|
+
**Claude Code — as a plugin (skill + `/carousel` command):**
|
|
98
|
+
```text
|
|
99
|
+
/plugin marketplace add nopefallacy/carousel-generator-skill
|
|
100
|
+
/plugin install carousel-generator@nope-fallacy
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Just the folder (any agent):**
|
|
104
|
+
```sh
|
|
105
|
+
npx degit nopefallacy/carousel-generator-skill/skills/carousel-generator ~/.claude/skills/carousel-generator
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Claude.ai / Desktop:** download the `.skill` file from [Releases](https://github.com/nopefallacy/carousel-generator-skill/releases) → Settings → Capabilities → Skills.
|
|
109
|
+
|
|
110
|
+
**Codex / Cursor / Windsurf / Antigravity:** reference `skills/carousel-generator/SKILL.md` from your tool's rules file — details in [`INSTALL.md`](INSTALL.md).
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 📁 Repo structure
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
carousel-generator-skill/
|
|
118
|
+
├── bin/install.mjs # npx installer (copies the skill into ~/.claude/skills)
|
|
119
|
+
├── package.json # makes `npx carousel-generator-skill` work
|
|
120
|
+
├── .claude-plugin/ # Claude Code plugin + marketplace manifests
|
|
121
|
+
│ ├── plugin.json
|
|
122
|
+
│ └── marketplace.json
|
|
123
|
+
├── skills/
|
|
124
|
+
│ └── carousel-generator/
|
|
125
|
+
│ ├── SKILL.md # the 4-phase workflow
|
|
126
|
+
│ └── references/
|
|
127
|
+
│ ├── carousel-bible.md # commandments, playbooks, hooks, CTAs
|
|
128
|
+
│ ├── slide-count.md # slide-count picker
|
|
129
|
+
│ ├── image-prompts.md # visual-anchor workflow + prompt templates
|
|
130
|
+
│ └── house-style.md # voice rules + your-winners log
|
|
131
|
+
├── commands/carousel.md # /carousel slash command
|
|
132
|
+
├── INSTALL.md · LICENSE · README.md
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## License
|
|
138
|
+
|
|
139
|
+
MIT © 2026 Adrita Mahata (Nope Fallacy). Use it, fork it, make it yours.
|
package/bin/install.mjs
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// install.mjs — installer for the carousel-generator skill.
|
|
3
|
+
//
|
|
4
|
+
// Copies the bundled `skills/carousel-generator/` into a Claude Code skills
|
|
5
|
+
// directory so the skill becomes available to your agent.
|
|
6
|
+
//
|
|
7
|
+
// npx carousel-generator-skill # install to ~/.claude/skills (user/global)
|
|
8
|
+
// npx carousel-generator-skill --project # install to ./.claude/skills (this project)
|
|
9
|
+
// npx carousel-generator-skill --dir PATH # install into PATH/carousel-generator
|
|
10
|
+
// npx carousel-generator-skill --force # overwrite an existing install
|
|
11
|
+
//
|
|
12
|
+
// No dependencies — Node 16+ only.
|
|
13
|
+
|
|
14
|
+
import { cpSync, existsSync, mkdirSync, rmSync, readFileSync } from "node:fs";
|
|
15
|
+
import { homedir } from "node:os";
|
|
16
|
+
import { dirname, join, resolve } from "node:path";
|
|
17
|
+
import { fileURLToPath } from "node:url";
|
|
18
|
+
|
|
19
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
const pkgRoot = resolve(__dirname, "..");
|
|
21
|
+
const SKILL_NAME = "carousel-generator";
|
|
22
|
+
const srcSkill = join(pkgRoot, "skills", SKILL_NAME);
|
|
23
|
+
|
|
24
|
+
function parseArgs(argv) {
|
|
25
|
+
const o = { force: false, project: false, dir: null };
|
|
26
|
+
for (let i = 0; i < argv.length; i++) {
|
|
27
|
+
const a = argv[i];
|
|
28
|
+
if (a === "--force" || a === "-f") o.force = true;
|
|
29
|
+
else if (a === "--project" || a === "-p") o.project = true;
|
|
30
|
+
else if (a === "--dir") o.dir = argv[++i];
|
|
31
|
+
else if (a === "--help" || a === "-h") o.help = true;
|
|
32
|
+
}
|
|
33
|
+
return o;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function help() {
|
|
37
|
+
console.log(`
|
|
38
|
+
carousel-generator-skill — installer
|
|
39
|
+
|
|
40
|
+
Usage:
|
|
41
|
+
npx carousel-generator-skill [options]
|
|
42
|
+
|
|
43
|
+
Options:
|
|
44
|
+
-p, --project Install into ./.claude/skills (current project)
|
|
45
|
+
--dir PATH Install into a custom skills directory
|
|
46
|
+
-f, --force Overwrite an existing install
|
|
47
|
+
-h, --help Show this help
|
|
48
|
+
|
|
49
|
+
Default target: ~/.claude/skills/${SKILL_NAME}
|
|
50
|
+
`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function version() {
|
|
54
|
+
try {
|
|
55
|
+
return JSON.parse(readFileSync(join(pkgRoot, "package.json"), "utf8")).version;
|
|
56
|
+
} catch {
|
|
57
|
+
return "?";
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function main() {
|
|
62
|
+
const args = parseArgs(process.argv.slice(2));
|
|
63
|
+
if (args.help) return help();
|
|
64
|
+
|
|
65
|
+
if (!existsSync(srcSkill)) {
|
|
66
|
+
console.error(`✗ Bundled skill not found at ${srcSkill}`);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
let skillsDir;
|
|
71
|
+
if (args.dir) skillsDir = resolve(args.dir);
|
|
72
|
+
else if (args.project) skillsDir = resolve(process.cwd(), ".claude", "skills");
|
|
73
|
+
else skillsDir = join(homedir(), ".claude", "skills");
|
|
74
|
+
|
|
75
|
+
const dest = join(skillsDir, SKILL_NAME);
|
|
76
|
+
|
|
77
|
+
if (existsSync(dest)) {
|
|
78
|
+
if (!args.force) {
|
|
79
|
+
console.error(
|
|
80
|
+
`✗ ${dest} already exists.\n Re-run with --force to overwrite, or remove it first.`
|
|
81
|
+
);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
rmSync(dest, { recursive: true, force: true });
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
mkdirSync(skillsDir, { recursive: true });
|
|
88
|
+
cpSync(srcSkill, dest, { recursive: true });
|
|
89
|
+
|
|
90
|
+
console.log(`
|
|
91
|
+
✓ Installed Carousel Generator Skill (v${version()})
|
|
92
|
+
→ ${dest}
|
|
93
|
+
|
|
94
|
+
Next steps:
|
|
95
|
+
• Restart Claude Code (or reload skills) so it picks up the new skill.
|
|
96
|
+
• Just ask: "make me a carousel about [topic]" — it writes the copy first,
|
|
97
|
+
then gives you paste-ready ChatGPT Image 2 prompts.
|
|
98
|
+
• Log your own winning carousels in ${SKILL_NAME}/references/house-style.md
|
|
99
|
+
so the voice keeps getting more "you".
|
|
100
|
+
`);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
main();
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate an Instagram carousel (Nope Fallacy) — copy → visual direction → paste-ready ChatGPT Image 2 prompts
|
|
3
|
+
argument-hint: [topic or paste a script/idea]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the `carousel-generator` skill to create an Instagram carousel for Nope Fallacy (Adrita Mahata).
|
|
7
|
+
|
|
8
|
+
Topic / source material: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
Run the full pipeline from the skill's SKILL.md:
|
|
11
|
+
1. Scope + write the slide copy (hook variants, per-slide text, caption, hashtags). Stop and let me approve or adjust.
|
|
12
|
+
2. Lock the final numbered slide text.
|
|
13
|
+
3. Ask me for my ChatGPT Image 2 reference image, then write per-slide visual direction (include tool logos where slides name tools).
|
|
14
|
+
4. Output fully-populated, copy-paste-ready image prompts: slide 1 anchor (×5), then each slide (×3) anchored to slide 1.
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "carousel-generator-skill",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A Claude Code / Claude Agent skill that turns a topic, script, or YouTube video into an engineered Instagram carousel: virality-tuned slide copy plus fully-populated, paste-ready ChatGPT Image 2 prompts using a visual-anchor workflow.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"carousel-generator-skill": "bin/install.mjs"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"install-skill": "node bin/install.mjs"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"bin/",
|
|
14
|
+
"skills/",
|
|
15
|
+
"commands/",
|
|
16
|
+
".claude-plugin/",
|
|
17
|
+
"INSTALL.md",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"claude",
|
|
23
|
+
"claude-code",
|
|
24
|
+
"claude-skill",
|
|
25
|
+
"agent-skill",
|
|
26
|
+
"anthropic",
|
|
27
|
+
"instagram",
|
|
28
|
+
"carousel",
|
|
29
|
+
"instagram-carousel",
|
|
30
|
+
"content-creation",
|
|
31
|
+
"social-media",
|
|
32
|
+
"image-prompts",
|
|
33
|
+
"chatgpt",
|
|
34
|
+
"nano-banana",
|
|
35
|
+
"ai-content"
|
|
36
|
+
],
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=16"
|
|
39
|
+
},
|
|
40
|
+
"author": "nopefallacy",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/nopefallacy/carousel-generator-skill.git"
|
|
45
|
+
},
|
|
46
|
+
"homepage": "https://github.com/nopefallacy/carousel-generator-skill#readme",
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/nopefallacy/carousel-generator-skill/issues"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: carousel-generator
|
|
3
|
+
description: End-to-end Instagram carousel studio for Nope Fallacy (Adrita Mahata). Takes a raw topic, script idea, YouTube video, or rough notes and runs the full pipeline — picks the playbook + slide count, writes virality-engineered slide copy with hook variants, then (on approval) turns the approved deck into fully-populated, copy-paste-ready ChatGPT Image 2 prompts using the visual-anchor workflow. Use this whenever Adrita says "carousel", "make this a carousel", "turn this into slides", "draft a carousel about X", "slide deck for Instagram", "carousel prompts", "image prompts for my carousel", "generate the slides", or hands over list/framework/tutorial/roadmap material that fits the format. Also use for LinkedIn infographic decks. Pulls from references/carousel-bible.md, references/slide-count.md, references/image-prompts.md, and references/house-style.md.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Carousel Generator Skill — Nope Fallacy
|
|
7
|
+
|
|
8
|
+
This is the full studio: idea in, finished slide copy out, then a stack of paste-ready image prompts out. The whole point is that Adrita never has to shuffle text between Google Docs and ChatGPT — she copies one prompt block, pastes it into ChatGPT (Image 2 model on), and gets a slide. Then the next block. Then the next.
|
|
9
|
+
|
|
10
|
+
Carousels are the most underrated format on Instagram: higher engagement than reels, multiple distribution channels (home feed, explore, reels tab when audio is added, and a "second-chance" re-show of slide 2 to anyone who skips slide 1). Every carousel that ships should be *engineered*, not just drafted.
|
|
11
|
+
|
|
12
|
+
**Brand facts (use these, don't invent):**
|
|
13
|
+
- Instagram: `@adrita.space` · YouTube: `@nope.fallacy` · Branded hashtag: `#nopefallacy`
|
|
14
|
+
- Brand voice = Nope Fallacy by Adrita Mahata. Best-practice voice for now; if `references/house-style.md` has filled-in winners, match those patterns instead.
|
|
15
|
+
|
|
16
|
+
## The pipeline (4 phases)
|
|
17
|
+
|
|
18
|
+
Think of this as four phases. **Phases 1–2 are copy. Phase 3 is the anchor decision. Phase 4 is prompts.** Don't sprint to prompts — bad copy + great visuals = a pretty post that dies. Roughly 40% of the effort is copy, and the rest follows from a strong slide-1 anchor.
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
PHASE 1 Scope + write the deck → slide list, hook variants, per-slide copy, caption, hashtags
|
|
22
|
+
↓ (Adrita approves / iterates)
|
|
23
|
+
PHASE 2 Lock the copy → final, numbered slide text she's happy with
|
|
24
|
+
↓
|
|
25
|
+
PHASE 3 Visual reference + direction → ask for her reference image; write per-slide visual direction
|
|
26
|
+
↓
|
|
27
|
+
PHASE 4 Generate image prompts → paste-ready prompts: slide-1 anchor (×5), then each slide (×3)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Stop and get explicit approval at the end of Phase 1 before moving on. The copy is load-bearing — everything downstream inherits its quality.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## PHASE 1 — Scope and write the deck
|
|
35
|
+
|
|
36
|
+
Read `references/carousel-bible.md` and `references/slide-count.md` first. They carry the 10 commandments, the playbook skeletons, the slide-3 danger zone, hook formulas, and the slide-count matrix. They're load-bearing, not background.
|
|
37
|
+
|
|
38
|
+
Then:
|
|
39
|
+
|
|
40
|
+
1. **Pick the playbook** from the Bible's 10 (Tip/Value · Story/Transformation · Curation/Listicle · Same-Meme · Quote Collection · Video Postcard · EDC/Product · Two-Slide Hook · Brand Story · Gamified). State which and why.
|
|
41
|
+
2. **Pick the slide count.** Default to the Magic 8 (hook + 6 content + CTA). Use `references/slide-count.md` for topic-type overrides. IG hard cap is 10.
|
|
42
|
+
3. **Decide TOFU or BOFU.** TOFU = broad, growth, "follow for more." BOFU = narrow, problem-solving, "comment KEYWORD." This changes the hook angle and the CTA.
|
|
43
|
+
4. **Pick the hook category** (Challenge · Mistake · Listicle · Story · Curiosity Gap · Authority) and apply **How-I > How-To** whenever credibility allows. "How I" is more relatable than "How to."
|
|
44
|
+
5. **Write the cover (S1) with 3 hook variants.** 3–7 words each. Run the hook checklist (in the Bible) on each. Recommend one, show all three so she can swap.
|
|
45
|
+
6. **Write S2 as a second-chance hook.** IG re-shows S2 to people who skipped S1, so it has to stand alone AND deepen the curiosity. Don't restate the cover — reveal something.
|
|
46
|
+
7. **Front-load the densest value at S3.** This is the algorithm checkpoint. If a viewer reads S3 and bails, they still got value and the algorithm still got the dwell signal.
|
|
47
|
+
8. **Write the middle slides** — one breath, one idea each, max 2–3 short lines. Each must pass the **screenshot test**: could someone share *just this slide* to their story and have it make sense? If no, split or rewrite.
|
|
48
|
+
9. **Write the penultimate slide (the payoff)** — the "oh shit" / aha that drives shares.
|
|
49
|
+
10. **Write the last slide (CTA + reward)** — ONE specific action matched to the goal. "Comment [KEYWORD] and I'll DM you [deliverable]" beats "follow for more." Use `@adrita.space` in growth CTAs.
|
|
50
|
+
11. **Write the caption** — pick ONE strategy (Inside Joke · Expansion · Question · Story Hook). Don't repeat the slides.
|
|
51
|
+
12. **Add 5–10 hashtags**, varied sizes (3–4 niche, 2–3 audience, 0–1 branded `#nopefallacy`). Avoid 1M+ use tags.
|
|
52
|
+
13. **Run the anti-AI filter** from `references/house-style.md`. Cut anything that reads generic or templated.
|
|
53
|
+
|
|
54
|
+
Then present using the **Phase 1 output format** below and ask: *"Want to lock this copy in, or should we adjust hooks / count / angle first?"*
|
|
55
|
+
|
|
56
|
+
### Phase 1 output format
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
CAROUSEL — [Topic]
|
|
60
|
+
|
|
61
|
+
PLAYBOOK: [which] · TIER: [TOFU/BOFU] · SLIDES: X (why) · HOOK: [category] using [How-I/How-To]
|
|
62
|
+
|
|
63
|
+
S1 (COVER)
|
|
64
|
+
HOOK A: [3-7 words]
|
|
65
|
+
HOOK B: [3-7 words]
|
|
66
|
+
HOOK C: [3-7 words]
|
|
67
|
+
→ RECOMMEND: [A/B/C] because [reason]
|
|
68
|
+
|
|
69
|
+
S2 (SECOND-CHANCE HOOK): [stands alone, deepens curiosity]
|
|
70
|
+
S3 (FIRST VALUE DROP): [densest insight, front-loaded]
|
|
71
|
+
S4…S(N-1): [one idea each] · note save/share/completion intent per slide
|
|
72
|
+
S(N-1) (PAYOFF): [the aha]
|
|
73
|
+
S(N) (CTA): [one specific action] + sign-off/reward line
|
|
74
|
+
|
|
75
|
+
CAPTION ([strategy]): [text]
|
|
76
|
+
HASHTAGS (5-10): [list]
|
|
77
|
+
|
|
78
|
+
🎵 Audio reminder: attach music post-export — without it, only existing followers see this.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## PHASE 2 — Lock the copy
|
|
84
|
+
|
|
85
|
+
When Adrita approves, restate the **final numbered slide text** in a clean block (S1…SN, exact strings). This is the single source of truth the prompts will quote verbatim. No commentary in this block — just the slide numbers and the exact text that must appear on each slide. This is what makes Phase 4 "copy, paste, done" instead of "copy, fix, re-paste."
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## PHASE 3 — Build the visual brief
|
|
90
|
+
|
|
91
|
+
Read `references/image-prompts.md` now — it holds the visual-anchor workflow, the failure mode to avoid, and the prompt templates. **The single most important thing in this phase:** AI image models default to a flat typographic poster (big serif, paper texture) for "carousel slide," which is why most AI carousels look identical. The prompts must *override* that default and transfer the reference's real medium. **How well that works depends on whether you (Claude) can see the reference — so this phase has two modes.**
|
|
92
|
+
|
|
93
|
+
1. **Offer both modes at copy approval.** Tell Adrita: *"Paste a visual reference here and I'll tailor every prompt to it exactly — or just say you'll attach one in ChatGPT yourself and I'll write universal prompts that pull the look from your image."*
|
|
94
|
+
- **Mode A (she pastes the reference to you):** best quality. You can see it, so extract a concrete **Reference Style DNA** (medium, palette, texture, mood, composition, type) and bake it into every prompt. If she only *describes* it in words, build a light DNA from that.
|
|
95
|
+
- **Mode B (she'll only attach it in ChatGPT, or gives nothing):** the default. You can't see it, so do NOT invent a DNA you'd guess wrong. Use the universal templates that tell ChatGPT to study and reproduce *her attached image's* style, with the anti-default guardrail. The look comes from her image.
|
|
96
|
+
No reference at all yet? Suggest 2–3 concrete Pinterest searches that name a *medium* for this topic.
|
|
97
|
+
|
|
98
|
+
2. **Write the per-slide brief.** Mode A: extract the DNA, then invent an on-topic **scene per slide rendered in that medium** (not a "layout") — the creative leap that stops slides looking generic; if a slide names a tool, render its **logo as an object inside the scene**, recognizable. Mode B: note just the exact text + a *light, medium-agnostic* subject idea per slide, phrased so the attached image governs the rendering.
|
|
99
|
+
|
|
100
|
+
3. **Keep text placement loose.** Give placement as a hint, never a spec — the old prompts followed exact placement too literally and slides came out stiff. Phrase it like "let the headline sit naturally, large and dominant the way the reference treats its type; don't force an exact position."
|
|
101
|
+
|
|
102
|
+
Present the brief and confirm before generating the prompts.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## PHASE 4 — Generate the image prompts
|
|
107
|
+
|
|
108
|
+
Now produce the paste-ready prompts using the templates in `references/image-prompts.md`. The rules that make this actually save time:
|
|
109
|
+
|
|
110
|
+
- **Use the Mode A or Mode B templates** from `image-prompts.md` to match Phase 3. Either way, every prompt **bans the default explicitly** — *do NOT reduce this to a plain typographic poster or paper background; stay in the reference's medium* — because that ban is what makes the reference transfer instead of the model falling back to the generic look. Mode A carries the concrete DNA; Mode B tells ChatGPT to study and reproduce the attached image.
|
|
111
|
+
- **Transfer the style, never avoid it.** Don't include "do not copy the composition" — that pushed the model toward the default in the old version. Reuse the reference's medium and composition logic; change only the subject and text.
|
|
112
|
+
- **Fully populate every prompt.** Quote the exact slide text from Phase 2 and drop in the Phase 3 brief. Leave NOTHING for Adrita to fill except attaching the reference image (slide 1) or the anchor (slides 2+). If she has to edit the prompt, the skill failed its job.
|
|
113
|
+
- **Slide 1 first, as the visual anchor.** Output ONE prompt for **5 versions** of slide 1 with her mood reference attached. Slide 1 locks the look — she picks the winner (or regenerates) before anything else.
|
|
114
|
+
- **Then every other slide, ×3 versions each**, each prompt instructing the model to use the chosen slide 1 as the visual anchor (Mode A also reinforces the DNA), so the deck stays one family.
|
|
115
|
+
- **Show the DNA block once at the top** (Mode A only), then format every prompt as its own copy-block (`### SLIDE 1 — anchor prompt`, `### SLIDE 2 prompt`, …) so Adrita can copy one block at a time. Above the stack, give the one-line order of operations: generate slide 1 → pick the winner → attach it as the anchor for the rest.
|
|
116
|
+
|
|
117
|
+
After the prompts, add the close-out reminders: attach audio post-export; the 95% fix (if one slide is *almost* perfect, rebuild it as editable layers in Canva Magic Layers / Magic Studio rather than regenerating); and the pre-publish checklist pointer in the Bible.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## When to push back instead of drafting
|
|
122
|
+
|
|
123
|
+
- News/announcement with no angle → ask for the contrarian take or practical use. News alone = skip.
|
|
124
|
+
- Too thin for 6+ slides → suggest a single image or a Two-Slide Hook instead.
|
|
125
|
+
- Too big for 10 slides → split into two linked carousels, or escalate to a YouTube video (`@nope.fallacy`).
|
|
126
|
+
- Pure opinion with no demo/data/example → ask for one piece of evidence to anchor it.
|
|
127
|
+
|
|
128
|
+
## Reference map
|
|
129
|
+
|
|
130
|
+
- `references/carousel-bible.md` — the operating layer: 10 commandments, universal agreements, 10 playbook skeletons, hook formulas, content-slide templates, CTA-by-goal, captions, hashtags, advanced effects, checklists. **Read every draft.**
|
|
131
|
+
- `references/slide-count.md` — slide-count picker by playbook and by raw topic type.
|
|
132
|
+
- `references/image-prompts.md` — visual-anchor workflow + the slide-1 and per-slide prompt templates. **Read at Phase 3.**
|
|
133
|
+
- `references/house-style.md` — voice rules (dial up / cut on sight) + anti-AI filter + a fill-in-later "your winners" section to model Adrita's own top performers once she has them.
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# The Carousel Bible — Nope Fallacy
|
|
2
|
+
|
|
3
|
+
The operating layer for every carousel. Synthesized from a meta-review of expert carousel creators and adapted for Nope Fallacy (Adrita Mahata). Read this every draft — the commandments, playbook skeletons, and the slide-3 danger zone are load-bearing.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
1. [Why carousels win](#1-why-carousels-win)
|
|
7
|
+
2. [The 10 commandments](#2-the-10-commandments)
|
|
8
|
+
3. [Universal agreements](#3-universal-agreements)
|
|
9
|
+
4. [The contradictions (context-dependent calls)](#4-the-contradictions)
|
|
10
|
+
5. [Frameworks](#5-frameworks)
|
|
11
|
+
6. [The 10 playbook skeletons](#6-the-10-playbook-skeletons)
|
|
12
|
+
7. [Writing the hook (deep dive)](#7-writing-the-hook)
|
|
13
|
+
8. [Writing content slides (deep dive)](#8-writing-content-slides)
|
|
14
|
+
9. [Writing the CTA (deep dive)](#9-writing-the-cta)
|
|
15
|
+
10. [Captions](#10-captions)
|
|
16
|
+
11. [Hashtags](#11-hashtags)
|
|
17
|
+
12. [Advanced visual tactics](#12-advanced-visual-tactics)
|
|
18
|
+
13. [Checklists + quick reference](#13-checklists--quick-reference)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Why carousels win
|
|
23
|
+
|
|
24
|
+
Carousels are multi-slide posts (up to 20 slides) that create a *sequential, self-paced* experience. Unlike a reel that feeds information at someone else's pace, a carousel lets the viewer control the pace — which produces **deep engagement** (pausing, reading, absorbing) instead of the surface engagement of a quick scroll.
|
|
25
|
+
|
|
26
|
+
**The psychology:**
|
|
27
|
+
- **Autonomy** — viewers control the pace, which is more comfortable.
|
|
28
|
+
- **Commitment escalation** — each swipe is a micro-commitment that increases investment.
|
|
29
|
+
- **Dopamine loops** — anticipation of the next slide creates reward-seeking.
|
|
30
|
+
- **Reduced cognitive load** — bite-sized slides are easier to process and remember.
|
|
31
|
+
|
|
32
|
+
**Distribution channels** (why they out-reach single posts):
|
|
33
|
+
1. **Home feed** — shown to followers.
|
|
34
|
+
2. **Explore page** — discovery by non-followers.
|
|
35
|
+
3. **Reels tab** — *only when audio is added* (critical — see Commandment 2).
|
|
36
|
+
4. **Second-chance display** — IG re-shows slide 2 to anyone who skipped slide 1.
|
|
37
|
+
5. **Double impression** — a carousel can hit the same feed twice (it re-surfaces looking "new" on a later slide).
|
|
38
|
+
|
|
39
|
+
The supply/demand is in your favor: reels are oversupplied; well-made carousels are not.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. The 10 commandments
|
|
44
|
+
|
|
45
|
+
1. Thy first slide shall hook, or thy carousel shall die.
|
|
46
|
+
2. Thou shalt add audio, for the algorithm demands it.
|
|
47
|
+
3. Each slide shall stand alone, worthy of its own share.
|
|
48
|
+
4. Thou shalt not overwhelm with walls of text.
|
|
49
|
+
5. Thy visual style shall be consistent and branded.
|
|
50
|
+
6. Thou shalt get viewers past slide 3 at all costs.
|
|
51
|
+
7. Thy final slide shall command a single, clear action.
|
|
52
|
+
8. Thou shalt design for saves and shares, not likes.
|
|
53
|
+
9. Thou shalt use faces and personal photos.
|
|
54
|
+
10. Thou shalt repurpose, reuse, and never waste good content.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 3. Universal agreements
|
|
59
|
+
|
|
60
|
+
These are confirmed across nearly every expert source.
|
|
61
|
+
|
|
62
|
+
### #1 — The first slide is everything (consensus: universal)
|
|
63
|
+
Slide 1 has one job: stop the scroll. If it's weak, nothing else gets seen. Slide 1 is ~90% of the battle.
|
|
64
|
+
|
|
65
|
+
**The 5 elements of a killer cover slide:**
|
|
66
|
+
1. **Big, bold headline** → 3–7 words max → short and strong.
|
|
67
|
+
2. **Clear value or intrigue** → what will they learn? what belief will you challenge? what mistake are they making?
|
|
68
|
+
3. **Visual contrast** → strong background, high-contrast text, ONE clear focal point (clutter = lost attention).
|
|
69
|
+
4. **Emotional / identity trigger** → speak to the viewer directly; tap a pain, desire, or belief.
|
|
70
|
+
5. **Consistent branding** → brand fonts, brand colors, subtle logo placement.
|
|
71
|
+
|
|
72
|
+
**First-slide visual checklist:** strong visual interest or mystery · a face/person when possible · text readable at thumbnail size · effective color contrast · not cluttered · single focal point.
|
|
73
|
+
|
|
74
|
+
### #2 — The second slide is your second chance (consensus: strong)
|
|
75
|
+
IG literally re-shows slide 2 to people who skipped slide 1. So S2 must hit as hard as the cover. Make it a **secondary hook**, not filler: deliver immediate value, continue the curiosity, stand alone, and look just as striking as S1. Ask: *if someone only saw slide 2, would it still give value and make sense?* If not, it needs work.
|
|
76
|
+
|
|
77
|
+
### #3 — Add audio/music to every carousel (consensus: strong)
|
|
78
|
+
Adding music makes the carousel eligible for the **reels tab** — a major reach boost. Without audio, a carousel is mostly shown only to existing followers. **Trending audio is NOT required** — match the audio to the vibe; some of the most viral carousels used old, non-trending songs. Audio-by-vibe guide: Informative/Tips → calm, ambient, lo-fi · Inspirational → uplifting · Cinematic/Aesthetic → cinematic scores · Fun/Meme → trending, upbeat · Professional → subtle, unobtrusive.
|
|
79
|
+
|
|
80
|
+
### #4 — Keep text minimal per slide (consensus: strong)
|
|
81
|
+
People swipe fast (1001, 1002…). The **"one breath" rule**: each slide = one idea understood in one glance. Density guide: hook slide = 3–7 words (headline only); content slide = 1–3 short sentences OR 3–5 bullet points; CTA slide = one clear action + supporting line. Every comma / breath = a new slide. If a slide takes 10+ seconds to read, break it into four.
|
|
82
|
+
|
|
83
|
+
### #5 — Every slide must stand alone (consensus: strong)
|
|
84
|
+
Each slide should make sense with no context from the slides around it. Why: shareability (people share single slides to stories), multiple hooks (each slide is a fresh chance to capture attention), algorithm signals (more shares = more reach). 10 slides = 10 chances to be shared.
|
|
85
|
+
|
|
86
|
+
**The screenshot test:** screenshot any single slide. Does it make sense without context? Would someone share it to their story? Does it deliver value alone? If "no" to any → revise.
|
|
87
|
+
|
|
88
|
+
### #6 — End with a clear CTA (consensus: strong)
|
|
89
|
+
"Follow for more" is too forgettable to be a strategy. Give ONE specific action matched to the goal (see [§9](#9-writing-the-cta)).
|
|
90
|
+
|
|
91
|
+
### #7 — Use faces and personal photos (consensus: strong)
|
|
92
|
+
People relate to people. Photo hierarchy for engagement: (1) your face, (2) you doing something relevant, (3) another person's face, (4) human elements (hands, silhouettes), (5) no humans (lowest, but works for some niches). For a personal brand, a selfie or photo of you wins.
|
|
93
|
+
|
|
94
|
+
### #8 — Maintain visual consistency (consensus: strong)
|
|
95
|
+
Same fonts, colors, and style throughout — it should read as one theme, not stolen slides from different people. Brand kit: primary font (bold/impact for headlines) + secondary font (clean for body), max 2 fonts; primary + accent + high-contrast text color; consistent logo placement. Don't copy what everyone else uses — take inspiration and build your own identity. Bolder headline fonts pair with lighter subheader fonts. Tighten kerning on headlines, loosen it on subheaders.
|
|
96
|
+
|
|
97
|
+
### #9 — Get past slide 3 (consensus: smaller but critical)
|
|
98
|
+
Slide 3 is the danger zone: initial curiosity fades, value must be evident, and the algorithm measures engagement here. If they bail at slide 3, the algorithm reads "clickbait" and kills reach. **Front-load the densest, juiciest value at slide 2–3.** If they read it all by then, you've already delivered.
|
|
99
|
+
|
|
100
|
+
### #10 — Design for saves and shares (consensus: strong)
|
|
101
|
+
Saves and shares are the goals — not likes, not comments, not view time. **Saveable** = actionable tips, checklists, step-by-step guides, resources/templates worth bookmarking. **Shareable** = quotable/screenshottable slides, relatable statements people co-sign, "tag a friend who…" moments, visually attractive enough to post to a story.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 4. The contradictions
|
|
106
|
+
|
|
107
|
+
Where experts disagree — these are context calls, not rules.
|
|
108
|
+
|
|
109
|
+
- **How many slides?** 8 is the "magic" default (you lose 2 to hook + CTA), but broad topics can run 8–20. See `slide-count.md`.
|
|
110
|
+
- **Design complexity?** Minimal vs heavy-graphic vs raw/authentic vs cinematic. Pick by brand: personal brand/creator → minimal + personal photos (authenticity > polish); design pro → high complexity; coach/consultant → clean + moderate; lifestyle → aesthetic/cinematic; news/info → bold + graphic; meme → raw/imperfect. Don't make every slide look completely different — that reads as stolen.
|
|
111
|
+
- **Informative vs revelational?** *Informative* = teaching, building authority ("5 tips for X"), lower per-slide shareability, good for leads/conversions. *Revelational* = each slide a standalone thought, inspirational, higher shareability, good for follower growth. Use informative for BOFU; revelational for TOFU.
|
|
112
|
+
- **Hook style — personal vs preachy?** Flip "how to" → "how I." More relatable, builds trust. Use "How to" only for brand accounts, universal teaching, or when you have no personal angle. With credibility/results/skeptical audiences → "How I."
|
|
113
|
+
- **Trending audio?** Required or not? Resolution: audio is required for reach; trending is *not*. Match audio to mood.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 5. Frameworks
|
|
118
|
+
|
|
119
|
+
**AIDA** — Attention (S1: hook) → Interest (S2–3: build on the promise, don't dump all value) → Desire (S4–6: make them imagine the transformation; educate or entertain) → Action (final: ONE specific thing). Key insight: you lose 2 slides; focus on the Magic Eight.
|
|
120
|
+
|
|
121
|
+
**VSP** — embed at least one of **V**alue (tutorials, resource lists, breakdowns), **S**tory ("anything is a story if it's true to you" — journey, behind-the-scenes, lessons), **P**ersonality (your opinions, aesthetic, voice, face).
|
|
122
|
+
|
|
123
|
+
**Carousel story arc** — S1 hook (bold statement / edgy truth / brave promise) → S2–3 the problem (show you understand them) → S4–6 the solution (your tips/expertise — the meat) → final CTA. You're walking someone through a mini transformation.
|
|
124
|
+
|
|
125
|
+
**Two-tier funnel** — TOFU carousels (broad, max reach, "follow for more") grow the audience; BOFU carousels (narrow, problem-solving, "comment KEYWORD") convert it. Post both types regularly.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 6. The 10 playbook skeletons
|
|
130
|
+
|
|
131
|
+
**1. Tip/Value** — S1 hook "[N] [things] to [outcome]" · S2 why it matters · S3–7 one tip per slide · S8 summary/bonus + CTA. Design: numbered slides, consistent treatment, icon or simple graphic per tip.
|
|
132
|
+
|
|
133
|
+
**2. Story/Transformation** — S1 "How I [result]" / "The story of…" · S2 before/problem · S3–5 the journey/what changed · S6–7 transformation/result · S8 lesson · S9 CTA "Your turn." Design: personal photos throughout, emotional progression, authentic.
|
|
134
|
+
|
|
135
|
+
**3. Curation/Listicle** — S1 "My favorite [X]" / "[N] best [things]" · S2–9 one item per slide w/ brief description · S10 CTA "Which is your favorite?" Design: high-quality image per item, consistent layout, brand colors tying it together.
|
|
136
|
+
|
|
137
|
+
**4. Same-Meme-Different-Meaning** — S1–10 same meme template, swapped labels/text ("Creators when…", "Business owners when…"). Easy to make, very shareable; great for multiple audience segments.
|
|
138
|
+
|
|
139
|
+
**5. Quote Collection** — S1 "Quotes that [changed my life / you need]" · S2–9 one quote per slide · S10 CTA "Which one hit?" Design: varied backgrounds, consistent quote formatting, attribution on each.
|
|
140
|
+
|
|
141
|
+
**6. Video Postcard** — S1 title w/ location/date · S2–8 video clips from different moments · S9 closing/credits. Design: mix of clips across the day, location/date overlays, film texture for cohesion. (3:2 or 4:5.)
|
|
142
|
+
|
|
143
|
+
**7. EDC/Product Breakdown** — S1 hero shot of all items · S2–8 individual item shots + descriptions · S9 CTA. Design: consistent background surface, top-down angle, UI-style boxes highlighting items, product name + why-you-use-it.
|
|
144
|
+
|
|
145
|
+
**8. Two-Slide Hook** — S1 hook/headline (like a YouTube thumbnail) · S2 the content (full context). Best for repurposed reels/Shorts: make the existing reel the second slide and write a fresh hook cover.
|
|
146
|
+
|
|
147
|
+
**9. Brand Story** — S1 event/story teaser · S2–8 chronological story, one element per slide (the space, the guests, the setup, the moments, the details) · S9 takeaway. Showcases what you did as an entertaining visual.
|
|
148
|
+
|
|
149
|
+
**10. Gamified/Interactive** — S1 challenge/game prompt · S2–9 the game · S10 reveal. E.g. "Spot the AI image," "If you make it to slide 4 you're my people," hidden-word scrub-to-reveal, "pick a…". Creates active participation; pairs well with DM automation.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 7. Writing the hook
|
|
154
|
+
|
|
155
|
+
### Hook categories that work
|
|
156
|
+
1. **Challenge** — "If you're [identity] but [contradiction], watch this." ("If you're ambitious but lazy, watch this.")
|
|
157
|
+
2. **Mistake** — "You're doing [X] wrong — here's the fix." / "The [X] mistake that's costing you [Y]."
|
|
158
|
+
3. **Listicle** — "[N] [things] that [outcome]." ("8 tools that replaced my whole workflow.")
|
|
159
|
+
4. **Story** — "How I [outcome]." / "What happened when I [did thing]."
|
|
160
|
+
5. **Curiosity gap** — "This [thing] changed everything." / "Nobody talks about this, but…"
|
|
161
|
+
6. **Authority** — "After [X years/results], here's what I learned."
|
|
162
|
+
|
|
163
|
+
### Hook writing process
|
|
164
|
+
1. Identify the core value — the ONE thing they'll learn/gain.
|
|
165
|
+
2. Find the emotional angle — what pain does this solve? what desire? what identity?
|
|
166
|
+
3. Add specificity — numbers ("7 tips" not "tips"), timeframes ("in 30 days"), results ("that doubled my income").
|
|
167
|
+
4. Create tension/curiosity — an unexpected element or a challenge to belief.
|
|
168
|
+
5. Compress ruthlessly — 3–7 words. Cut fluff. Keep only essential words.
|
|
169
|
+
|
|
170
|
+
### Hook checklist (run on S1 + every variant)
|
|
171
|
+
- [ ] 3–7 words max (above 7 → cut)
|
|
172
|
+
- [ ] topic clear in 1–2 seconds
|
|
173
|
+
- [ ] no possible misparse — simple words, active voice
|
|
174
|
+
- [ ] "you/your" framing OR "How I" personal angle (avoid generic "How to")
|
|
175
|
+
- [ ] A vs B contrast (stated or implied)
|
|
176
|
+
- [ ] identity / emotional trigger
|
|
177
|
+
- [ ] single focal point — one idea, not three
|
|
178
|
+
|
|
179
|
+
If any fail → rewrite.
|
|
180
|
+
|
|
181
|
+
### Where to find hooks
|
|
182
|
+
YouTube trending titles · Twitter/X threads · your past viral Shorts/reels (`@nope.fallacy`) · competitor top performers. Adapt, then fill with your own experience and value.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 8. Writing content slides
|
|
187
|
+
|
|
188
|
+
**The one-idea-per-slide rule.** A dense paragraph covering 4 concepts → 4 slides, one concept each. Absorbable in 2–3 seconds keeps swiping momentum.
|
|
189
|
+
|
|
190
|
+
### Content slide templates
|
|
191
|
+
1. **Tip slide** — `[NUMBER] + [ACTION VERB] + [SPECIFIC THING]`. ("1. Batch your content on Sundays.")
|
|
192
|
+
2. **Contrast slide** — `[WRONG WAY] → [RIGHT WAY]`. ("Posting daily → posting consistently.")
|
|
193
|
+
3. **Quote slide** — `"[memorable quote]" — [attribution]`. Under 15 words ideal.
|
|
194
|
+
4. **Statistic slide** — `[BIG NUMBER]` huge, context small. ("73% of buying decisions happen on social.")
|
|
195
|
+
5. **Question slide** — `[provocative question]?` ("What if your content isn't the problem?")
|
|
196
|
+
|
|
197
|
+
### Flow between slides
|
|
198
|
+
Numbered sequence ("1… 2… 3…") · narrative connectors ("But here's the thing…") · visual continuity (same scheme/compositions) · thematic progression (problem → insight → solution → action).
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 9. Writing the CTA
|
|
203
|
+
|
|
204
|
+
**Anatomy:** main CTA text (what you want them to do) + supporting line (why) + branding (handle/logo/watermark). Be specific — "Comment 'GUIDE' and I'll send you my free template" beats "check out my stuff."
|
|
205
|
+
|
|
206
|
+
### CTA by goal
|
|
207
|
+
| Goal | CTA | Why |
|
|
208
|
+
|---|---|---|
|
|
209
|
+
| Grow followers | "Follow `@adrita.space` for more [niche]" | direct ask |
|
|
210
|
+
| Email list / leads | "Comment [WORD] for the free guide" | DM-automation trigger |
|
|
211
|
+
| Engagement | "Which tip resonated most? Comment below" | starts conversation |
|
|
212
|
+
| Saves | "Save this for your next [situation]" | explicit instruction |
|
|
213
|
+
| Shares | "Tag someone who needs this" | social proof |
|
|
214
|
+
| Sales | "Ready to [transform]? Link in bio" | direct response |
|
|
215
|
+
| DMs | "DM me '[WORD]' to get started" | opens a thread |
|
|
216
|
+
|
|
217
|
+
Create urgency only when real ("only this week," "first 100 comments"). DM automation (Stan/ManyChat-style): user comments keyword → auto-DM with the resource link.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 10. Captions
|
|
222
|
+
|
|
223
|
+
Don't repeat the slides; don't write an essay (attention spans are short). Length by type: value-packed → short (1–3 sentences); story → medium (expand the story); photo dump → short + playful; CTA-heavy → medium (explain the offer).
|
|
224
|
+
|
|
225
|
+
**Strategies:** (1) **Inside joke** only people who read the carousel get; (2) **Expansion** — if slides are brief bullets, the caption expands on one; (3) **Question** — end with a question to drive comments; (4) **Story hook** — open with curiosity ("I almost didn't post this. Here's why…").
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 11. Hashtags
|
|
230
|
+
|
|
231
|
+
5–10 per post, varied sizes. Distribution: **niche-specific (3–4)** directly related to the topic · **audience-based (2–3)** who it's for · **branded (0–1)** `#nopefallacy`. Size mix: small (<100K uses, less competition) + medium (100K–500K, sweet spot); **avoid 1M+** (too competitive). Quick way to source: ask for "8 relevant hashtags for a carousel about [TOPIC], target audience [AUDIENCE]: 3 under 100K uses, 3 at 100K–500K, 2 at 500K–1M."
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 12. Advanced visual tactics
|
|
236
|
+
|
|
237
|
+
(These belong to the design/prompt phase — see also `image-prompts.md`.)
|
|
238
|
+
|
|
239
|
+
- **Behind-object text** — place text *between* the foreground subject and the background for depth (remove background of a duplicate layer, slot text behind it).
|
|
240
|
+
- **Film grain / cinematic** — slight blur (radius 2–4) + noise/grain (10–15%) + lowered exposure; optional B&W for consistency. Makes the text, not the image, the focal point.
|
|
241
|
+
- **Text blur** — subtle blur (7–9) on text for a cinematic, depth-of-field feel.
|
|
242
|
+
- **Watermark** — consistent corner placement, overlay blend, 70–80% opacity, subtle. Brand recognition without intrusion.
|
|
243
|
+
- **Carousel→Reels crossover** — to appear in the reels tab: audio attached + 4:5 (1080×1350) + multiple images + posted with music.
|
|
244
|
+
- **Stop-motion / flip-book** — slides with tiny frame-to-frame changes; viewer holds the dots and scrubs to animate.
|
|
245
|
+
- **Hidden word/object** — scrub-to-reveal a shape/word across 10–15 near-identical slides; pair with a "comment the word" DM trigger.
|
|
246
|
+
- **Cross-frame bleeding** — an element from the top image bleeds into the bottom image for a designed feel.
|
|
247
|
+
|
|
248
|
+
**Aspect ratios:** Feed 4:5 = 1080×1350 (default for carousels) · Square 1:1 = 1080×1080 · Story/Reels 9:16 = 1080×1920 · High-res export 4:5 = 2160×2700.
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 13. Checklists + quick reference
|
|
253
|
+
|
|
254
|
+
**Pre-creation:** define the goal (growth/leads/sales/saves) · choose the playbook · identify the target audience · TOFU or BOFU · gather/create images · write ALL copy first · plan slide count (6–10 core + hook + CTA) · pick audio.
|
|
255
|
+
|
|
256
|
+
**Hook slide must-haves:** headline 3–7 words · value/curiosity immediately clear · high-contrast attention-grabbing visual · readable at thumbnail size · face/person if applicable · speaks to a pain/desire/identity · brand colors/fonts · one focal point.
|
|
257
|
+
|
|
258
|
+
**Content slide must-haves:** one clear idea · understandable without other slides · text minimal (1–3 sentences) · visual supports the message · consistent fonts/colors · worth sharing on its own · moves the narrative forward.
|
|
259
|
+
|
|
260
|
+
**CTA slide must-haves:** ONE clear action · specific (not vague) · matches the goal · branding present (`@adrita.space`/logo) · urgency or value if appropriate · easy to act on immediately.
|
|
261
|
+
|
|
262
|
+
**Pre-publish:** slides in correct order · text error-free · visual consistency · audio added (critical) · caption written + proofread · hashtags (5–10, varied) · location tagged if relevant · posting at optimal time · DM automation set up if using a keyword CTA.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# House style — Nope Fallacy voice
|
|
2
|
+
|
|
3
|
+
The carousel voice for Nope Fallacy (Adrita Mahata). Until Adrita's own top performers are logged below, write from these best-practice patterns. Once the "Your winners" section is filled, **match those real patterns first** — they beat any generic rule.
|
|
4
|
+
|
|
5
|
+
## Dial up
|
|
6
|
+
|
|
7
|
+
- **Short paragraphs.** Line breaks as visual rhythm.
|
|
8
|
+
- **One-sentence claims, no qualifiers.** "That's the entire workflow." Not "this can sometimes help streamline things."
|
|
9
|
+
- **CAPS section labels** — they do real visual work on a slide: `STEP 01`, `01 — THE PROBLEM`, `SKILL 02`, `THE FIX`.
|
|
10
|
+
- **First-person results** ("I built", "I automated", "I shipped") OR **second-person reveal** ("You've been doing this backwards", "You didn't fail the test — you wrote it").
|
|
11
|
+
- **Named tools** — Claude, ChatGPT, Canva, Notion, Figma, etc. Specificity = trust (and gives the slide a logo to anchor on).
|
|
12
|
+
- **Concrete anchors** — numbers, dollars, timeframes ("under 60 seconds", "in 30 days", "3 prompts").
|
|
13
|
+
- **A bottom continuation cue** on middle slides that previews the *next* slide's content ("the fix →", "the part nobody shows →") — never a literal "Swipe →".
|
|
14
|
+
- **Tool/file names in their real casing** (`SKILL.md`, `Image 2`, `@adrita.space`).
|
|
15
|
+
|
|
16
|
+
## Cut on sight (anti-AI filter)
|
|
17
|
+
|
|
18
|
+
Run this on every draft. If a line trips one of these, rewrite it.
|
|
19
|
+
|
|
20
|
+
- **"How to" hooks** → replace with "How I" or "You've been…"
|
|
21
|
+
- **Filler openers/closers** — "Let's dive in", "in conclusion", "in today's fast-paced world", "evolving landscape", "pivotal moment".
|
|
22
|
+
- **Empty importance** — "plays a crucial role", "is a game-changer", "broader trend".
|
|
23
|
+
- **Three generic benefits in a row** (the rule-of-three padding).
|
|
24
|
+
- **Lines that could fit any tool or any topic** — if it's not specific to this carousel, cut it.
|
|
25
|
+
- **Internal pain monologue** — "I used to feel so stuck and overwhelmed…".
|
|
26
|
+
- **Em-dash overload** — one per slide max.
|
|
27
|
+
- **Hedging** — "can help", "might", "in many cases". Make the claim or cut it.
|
|
28
|
+
- **Inflated symbolism / promo voice** — "unlock", "elevate", "supercharge", "seamless", "robust".
|
|
29
|
+
|
|
30
|
+
## Quick voice check
|
|
31
|
+
|
|
32
|
+
For each slide, ask: *would this sentence survive if a real person said it out loud to a friend?* If it sounds like a press release or a LinkedIn-bot, rewrite it shorter and more specific.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Your winners (fill this in later)
|
|
37
|
+
|
|
38
|
+
This is the highest-value reference once it exists. After Adrita ships a carousel and it performs, log it here — title, slide-by-slide text, and views once known. Patterns that recur across winners (a hook shape, a CTA phrasing, a section-label style) become the real house style and should override the generic rules above.
|
|
39
|
+
|
|
40
|
+
Template to copy per entry:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
### [Carousel title] — [views, once known]
|
|
44
|
+
PLAYBOOK: [type] · TIER: [TOFU/BOFU]
|
|
45
|
+
S1: [exact text]
|
|
46
|
+
S2: [exact text]
|
|
47
|
+
...
|
|
48
|
+
SN (CTA): [exact text]
|
|
49
|
+
WHAT WORKED: [the hook shape / visual move / CTA that drove it]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
_(No entries yet — write from the best-practice patterns above until this fills up.)_
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Image prompts — the visual-anchor workflow
|
|
2
|
+
|
|
3
|
+
This is Phase 3–4: turning approved slide copy into ChatGPT Image 2 prompts that Adrita pastes one block at a time. Read this once the copy is locked.
|
|
4
|
+
|
|
5
|
+
## The #1 failure mode (read this first)
|
|
6
|
+
|
|
7
|
+
AI image models have a **default** for the words "Instagram carousel slide": a flat typographic poster — big serif headline, kraft/paper texture, lots of negative space. It's why most AI carousels look identical. When you attach a rich reference (a surreal collage, a painted poster, a magazine spread) and then write a prompt full of abstract design words ("borrow typography, spacing, colour; do NOT copy the composition"), the model ignores the image and falls back to that default. **The reference's actual identity never transfers.**
|
|
8
|
+
|
|
9
|
+
Every prompt's job is to **override that default** and make the model stay in the reference's *medium and finish*. The lever that does this changes depending on whether Claude has actually seen the reference — see the two modes below.
|
|
10
|
+
|
|
11
|
+
## Two modes (pick one in Phase 3)
|
|
12
|
+
|
|
13
|
+
The quality ceiling depends on one thing: **has Adrita shown the reference image to Claude?**
|
|
14
|
+
|
|
15
|
+
- **Mode A — DNA mode (she pasted the reference into the chat with Claude).** Best quality. Claude can *see* the image, so it writes a concrete Style DNA (medium, palette, texture, mood, composition, type) directly into every prompt. The model then gets the right look from both the text and the attached image, reinforcing each other.
|
|
16
|
+
- **Mode B — Universal mode (she will only attach the reference in ChatGPT, not to Claude — or gives no reference yet).** The default fallback. Claude *can't* see the image, so it must NOT invent a DNA it would guess wrong. Instead the prompt tells ChatGPT to **study and reproduce the attached image's own style**, with the anti-default guardrail. The look comes mostly from her attached image — like the original workflow, but with the "don't flatten to a poster" fix.
|
|
17
|
+
|
|
18
|
+
**How to choose:** at copy approval (end of Phase 2), invite her: *"Paste a visual reference here and I'll tailor the prompts to it exactly — or just tell me you'll attach one in ChatGPT yourself and I'll write universal prompts that pull the look from your image."* If she pastes an image → Mode A. If she only describes it in words → write a DNA from her description (a light Mode A). If she says nothing or "I'll attach it myself" → Mode B. Either way, never prescribe a competing look (no "paper texture, big serif") unless that's genuinely the reference.
|
|
19
|
+
|
|
20
|
+
## Where the effort goes
|
|
21
|
+
|
|
22
|
+
| Share | Stage | Why |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| ~40% | Copy (Phases 1–2) | If this is bad, nothing downstream saves it. |
|
|
25
|
+
| ~50% | Slide 1 — the anchor | It sets the medium, palette, mood. Spend until she loves it. |
|
|
26
|
+
| ~10% | Every other slide | The anchor (+ DNA, in Mode A) does the work; she just picks winners. |
|
|
27
|
+
|
|
28
|
+
## Visual anchor, not one-shot
|
|
29
|
+
Image models make one good slide at a time. Nail slide 1, then attach *that slide* as the reference for every other slide. Each new slide is then forced to match the family. (Slide 1 itself is built from her mood reference — plus the DNA in Mode A.)
|
|
30
|
+
|
|
31
|
+
## The stack
|
|
32
|
+
- **Copy** — this skill (Phases 1–2).
|
|
33
|
+
- **Visuals** — ChatGPT with the **Image 2** model on. One slide at a time.
|
|
34
|
+
- **Inspiration** — Pinterest (book covers, surreal collages, posters, editorial spreads). Anything *but* Instagram.
|
|
35
|
+
- **Polish** — Canva Magic Layers / Magic Studio for the "95% fix" (rebuild a near-perfect slide as editable layers).
|
|
36
|
+
|
|
37
|
+
## Order of operations (always tell Adrita this)
|
|
38
|
+
1. Open ChatGPT, switch the model to **Image 2**.
|
|
39
|
+
2. Attach the **mood reference** + paste the **slide-1 prompt**. Get 5 versions. Pick the winner (or regenerate — this is 50% of the work). Don't move on until she loves the look.
|
|
40
|
+
3. For every other slide: attach the **chosen slide 1** as the anchor + paste that slide's prompt. Get 3 versions, pick one.
|
|
41
|
+
4. Near-perfect but one thing off? → Canva Magic Layers, don't regenerate.
|
|
42
|
+
5. Export → attach audio in Instagram (without audio it only reaches existing followers).
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## PHASE 3 — Build the visual brief
|
|
47
|
+
|
|
48
|
+
### If Mode A (Claude can see the reference)
|
|
49
|
+
|
|
50
|
+
**Step 1 — Extract the Reference Style DNA.** From the image, fill this concretely — name real things, not vague adjectives ("editorial, raw" reproduce the default; concrete DNA reproduces the reference). Show it to Adrita to sanity-check.
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
REFERENCE STYLE DNA
|
|
54
|
+
- Medium / finish: [e.g. surreal photographic collage; offset-print grain]
|
|
55
|
+
- Palette: [the actual colors, e.g. cream paper, burnt orange, sky blue, alpine green]
|
|
56
|
+
- Texture: [e.g. vintage print grain, slight halftone, soft film grain]
|
|
57
|
+
- Mood: [e.g. dreamy, aspirational, editorial]
|
|
58
|
+
- Composition logic: [e.g. a hero subject floating in a wide scene, low horizon, tiny caption block bottom-center]
|
|
59
|
+
- Type treatment: [e.g. condensed sans, all-caps, overlapping the subject; small serif body]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Worked example (a real "NOT OF THIS SPACE" reference — astronaut on a cloud-train above an alpine meadow):
|
|
63
|
+
```
|
|
64
|
+
- Medium / finish: surreal photographic collage, matte vintage print
|
|
65
|
+
- Palette: cream/off-white, burnt orange, sky blue, alpine green, soft grey
|
|
66
|
+
- Texture: subtle offset-print grain, gentle film softness
|
|
67
|
+
- Mood: dreamy, aspirational, a little wry
|
|
68
|
+
- Composition logic: hero subject floating mid-frame in a wide natural scene, low horizon with mountains, tiny caption block bottom-center
|
|
69
|
+
- Type treatment: condensed sans, all-caps, set large and overlapping the sky; small serif caption at the bottom
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Step 2 — Invent an on-topic SCENE per slide, in the reference's medium.** Don't describe a "layout" — describe a *scene* that carries the slide's idea, rendered in the reference's medium, inheriting the DNA's palette/texture/type. This is the creative leap that stops slides looking generic. If a slide names a **tool/app/brand**, render its **logo as an object inside the scene** (a sun, a monument, a billboard) — recognizable, not a flat logo pasted on. Per slide note: the scene, the exact text, and a *light* placement hint.
|
|
73
|
+
|
|
74
|
+
### If Mode B (Claude cannot see the reference)
|
|
75
|
+
|
|
76
|
+
Don't invent a DNA. Instead, for each slide note just: (a) the exact text, and (b) a *light* on-topic subject idea phrased so the attached image governs the rendering (e.g. "something representing 'my content team is 5 apps', rendered entirely in the attached image's style"). The prompt template does the heavy lifting by telling ChatGPT to study and reproduce the attached image. Keep subject ideas medium-agnostic — you don't know if her reference is a collage, a painting, or a type poster, so don't assume.
|
|
77
|
+
|
|
78
|
+
### Text placement — keep it loose (both modes)
|
|
79
|
+
Give placement as a *hint*, never a spec. The old prompts followed an exact placement too literally and the slides came out stiff. Phrase it like: *"Let the headline sit naturally in the composition — roughly large and dominant the way the reference treats its type; keep any caption small. Don't force an exact position."* Let the model compose.
|
|
80
|
+
|
|
81
|
+
Present the brief (DNA + scenes in Mode A; text + light subjects in Mode B) and confirm before generating prompts.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## PHASE 4 — The prompts
|
|
86
|
+
|
|
87
|
+
Show the DNA block once at the top (Mode A only), then each prompt as its own fenced block, fully populated — no `[BRACKETS]` left in what she pastes. Lead with the order of operations.
|
|
88
|
+
|
|
89
|
+
### Mode A — Slide 1 (attach the mood reference)
|
|
90
|
+
```
|
|
91
|
+
Recreate the VISUAL STYLE of the attached image as a new Instagram carousel cover.
|
|
92
|
+
The attached image defines the entire look: medium, palette, texture, mood, and composition.
|
|
93
|
+
Reproduce that style faithfully — change only the subject and the text.
|
|
94
|
+
|
|
95
|
+
Match all of this (from the reference):
|
|
96
|
+
- Medium / finish: [DNA medium]
|
|
97
|
+
- Palette: [DNA palette]
|
|
98
|
+
- Texture: [DNA texture]
|
|
99
|
+
- Mood: [DNA mood]
|
|
100
|
+
- Composition logic: [DNA composition]
|
|
101
|
+
- Type treatment: [DNA type]
|
|
102
|
+
|
|
103
|
+
Do NOT reduce this to a plain typographic poster, a flat graphic, or a kraft/paper-texture background.
|
|
104
|
+
Stay in the reference's medium: [DNA medium].
|
|
105
|
+
|
|
106
|
+
New scene for this cover (rendered in that exact medium):
|
|
107
|
+
[ON-TOPIC SCENE]
|
|
108
|
+
|
|
109
|
+
Headline text (use exactly, no extra words):
|
|
110
|
+
[EXACT S1 COPY]
|
|
111
|
+
|
|
112
|
+
Let the headline sit naturally in the composition — large and dominant the way the reference treats its type; keep any caption small. Don't force an exact position.
|
|
113
|
+
|
|
114
|
+
Format: 4:5 vertical, 1080x1350. Make all text readable.
|
|
115
|
+
Produce 5 distinct versions — vary the scene composition, keep the style identical.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Mode A — Every other slide (attach the chosen slide 1 as anchor)
|
|
119
|
+
```
|
|
120
|
+
Create 3 versions of slide [N] of my Instagram carousel.
|
|
121
|
+
Use the attached slide 1 as the visual anchor — match its medium, palette, texture, mood, type, and composition. Same visual family, not a new carousel.
|
|
122
|
+
|
|
123
|
+
Reinforce the style (from slide 1):
|
|
124
|
+
- Medium / finish: [DNA medium]
|
|
125
|
+
- Palette: [DNA palette]
|
|
126
|
+
- Texture: [DNA texture]
|
|
127
|
+
- Type treatment: [DNA type]
|
|
128
|
+
|
|
129
|
+
Do NOT flatten this into a plain typographic poster or paper background. Stay in the medium: [DNA medium].
|
|
130
|
+
|
|
131
|
+
Scene for this slide (in that medium):
|
|
132
|
+
[ON-TOPIC SCENE — include any named tool's logo rendered as an object in the scene]
|
|
133
|
+
|
|
134
|
+
Text on slide (use exactly, no extra words):
|
|
135
|
+
[EXACT SLIDE TEXT]
|
|
136
|
+
|
|
137
|
+
Let the text sit naturally per the reference's type logic — don't force an exact position.
|
|
138
|
+
Slide goal: [from the copy phase]
|
|
139
|
+
|
|
140
|
+
Format: 4:5 vertical, 1080x1350. Make all text readable. One clear idea only.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Mode B — Slide 1 (she attaches her own reference in ChatGPT)
|
|
144
|
+
```
|
|
145
|
+
Recreate the VISUAL STYLE of the attached image as a new Instagram carousel cover.
|
|
146
|
+
The attached image defines the entire look. Study it carefully — its medium (photo, collage, painting, print, 3D render, type poster…), palette, texture/grain, lighting, mood, and composition — and reproduce that exact style. Change only the subject and the text.
|
|
147
|
+
|
|
148
|
+
Do NOT default to a plain typographic poster or a paper-texture background unless the attached image actually is one. Match whatever medium the attached image is.
|
|
149
|
+
|
|
150
|
+
Subject for this cover:
|
|
151
|
+
[LIGHT ON-TOPIC SUBJECT] — rendered entirely in the attached image's style.
|
|
152
|
+
|
|
153
|
+
Headline text (use exactly, no extra words):
|
|
154
|
+
[EXACT S1 COPY]
|
|
155
|
+
|
|
156
|
+
Let the headline sit naturally in the composition the way the reference treats its type — don't force an exact position.
|
|
157
|
+
|
|
158
|
+
Format: 4:5 vertical, 1080x1350. Make all text readable.
|
|
159
|
+
Produce 5 distinct versions in the same style.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Mode B — Every other slide (attach the chosen slide 1 as anchor)
|
|
163
|
+
```
|
|
164
|
+
Create 3 versions of slide [N] of my Instagram carousel.
|
|
165
|
+
Use the attached slide 1 as the visual anchor — study it and reproduce its exact style: same medium, palette, texture, lighting, mood, type, and composition. Same visual family, not a new carousel.
|
|
166
|
+
|
|
167
|
+
Do NOT flatten this into a plain typographic poster or paper background. Match the medium of the attached slide 1.
|
|
168
|
+
|
|
169
|
+
Subject for this slide:
|
|
170
|
+
[LIGHT ON-TOPIC SUBJECT — if the slide names a tool, include its logo as an object in the scene] — rendered in the attached slide 1's style.
|
|
171
|
+
|
|
172
|
+
Text on slide (use exactly, no extra words):
|
|
173
|
+
[EXACT SLIDE TEXT]
|
|
174
|
+
|
|
175
|
+
Let the text sit naturally the way slide 1 treats its type — don't force an exact position.
|
|
176
|
+
Slide goal: [from the copy phase]
|
|
177
|
+
|
|
178
|
+
Format: 4:5 vertical, 1080x1350. Make all text readable. One clear idea only.
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Close-out (after the prompts)
|
|
182
|
+
Attach audio post-export · Canva Magic Layers "95% fix" for a near-perfect slide · run the pre-publish checklist in `carousel-bible.md`.
|
|
183
|
+
|
|
184
|
+
## Aspect ratio
|
|
185
|
+
Default 4:5 (1080×1350) — also reels-tab eligible. 1:1 (1080×1080) only if she asks. LinkedIn infographic: 4:5 still works.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Slide count picker
|
|
2
|
+
|
|
3
|
+
Mapped to the Bible's 10 carousel-type playbooks. The default for *most* carousels is **8 slides (the Magic 8)** — hook + 6 content + CTA.
|
|
4
|
+
|
|
5
|
+
> You basically lose two slides — the first and the last. The first is the hook, the last is the CTA. Neither is "core value." So "8 slides" really means **6 slides of actual value**. Design for the Magic Eight.
|
|
6
|
+
|
|
7
|
+
## Quick decision matrix
|
|
8
|
+
|
|
9
|
+
| Playbook | Slides | Structure |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| **Tip / Value** (default) | **8** | Hook · Why · 5 tips · CTA |
|
|
12
|
+
| Story / Transformation | 9 | Hook · Before · 3 journey · 2 result · Lesson · CTA |
|
|
13
|
+
| Curation / Listicle | 10 | Hook · 8 items · CTA |
|
|
14
|
+
| Same-Meme Different-Meaning | 6–10 | Same template, swapped labels |
|
|
15
|
+
| Quote Collection | 10 | Hook · 8 quotes · CTA |
|
|
16
|
+
| Video Postcard | 9 | Title · 7 clips · Closing |
|
|
17
|
+
| EDC / Product Breakdown | 9 | Hero · 7 items · CTA |
|
|
18
|
+
| Two-Slide Hook | 2 | Hook · Content (best for repurposed reels) |
|
|
19
|
+
| Brand Story | 9 | Hook · 7 chronological · Takeaway |
|
|
20
|
+
| Gamified / Interactive | 10 | Challenge · 8 game · Reveal |
|
|
21
|
+
| **Transformation only** (rare) | 2–3 | Before · After · CTA |
|
|
22
|
+
|
|
23
|
+
## Cross-reference: by raw topic type
|
|
24
|
+
|
|
25
|
+
When Adrita hands you a topic (not a playbook), use this to pick the playbook, then take its slide count.
|
|
26
|
+
|
|
27
|
+
| Topic shape | Playbook to pick | Slides |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| "5 things to do X" | Tip / Value or Curation | 7–10 |
|
|
30
|
+
| "How I [achieved Y]" | Story / Transformation | 9 |
|
|
31
|
+
| "My favorite tools / books" | Curation / Listicle | 10 |
|
|
32
|
+
| "Step-by-step [process]" | Tip / Value (playbook arc) | 8–10 |
|
|
33
|
+
| Framework / system | Tip / Value (extended) | 9–10 |
|
|
34
|
+
| Hot take / opinion | Quote Collection or Tip | 6–8 |
|
|
35
|
+
| Comparison "X vs Y" | Tip / Value (verdict-first) | 7–8 |
|
|
36
|
+
| Roadmap / phased plan | Tip / Value (phased) | 8–10 |
|
|
37
|
+
| Behind-the-scenes / launch | Brand Story | 9 |
|
|
38
|
+
| Photo dump / lifestyle | Video Postcard | 8–15 |
|
|
39
|
+
| Product showcase | EDC / Product Breakdown | 9 |
|
|
40
|
+
| Repurposed viral reel / Short | Two-Slide Hook | 2 |
|
|
41
|
+
| Quotes / mantras | Quote Collection | 10 |
|
|
42
|
+
| Multi-identity meme | Same-Meme Different-Meaning | 6–10 |
|
|
43
|
+
| Interactive / DM-bait | Gamified | 10 |
|
|
44
|
+
| Before / after only | Transformation | 2–3 |
|
|
45
|
+
|
|
46
|
+
## Quick reference: by content depth
|
|
47
|
+
|
|
48
|
+
| Content type | Recommended slides | Notes |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| Quick tip / hack | 3–5 | Punchy, shareable |
|
|
51
|
+
| Standard value post | 6–8 | Optimal for engagement |
|
|
52
|
+
| In-depth guide | 8–12 | Comprehensive (split if >10) |
|
|
53
|
+
| Story-based | 10–15 | Needs a narrative arc (split if >10) |
|
|
54
|
+
| Photo dump | 8–20 | Visual variety (split if >10) |
|
|
55
|
+
| Transformation | 2–3 | Before/after impact |
|
|
56
|
+
| Gamified | 8–15 | Interactive elements (split if >10) |
|
|
57
|
+
|
|
58
|
+
## When to break the rules
|
|
59
|
+
|
|
60
|
+
- **More than 10 slides?** → Split into two carousels with linked CTAs, or escalate to a YouTube video (`@nope.fallacy`). IG hard cap = 10.
|
|
61
|
+
- **Fewer than 6 (and not a Two-Slide Hook or Transformation)?** → Ship as a single image or a tweet. The swipe friction outweighs the payoff.
|
|
62
|
+
- **Mixed playbooks** (e.g. Tip + Story)? → Pick the dominant one. Frameworks usually win because they need the overview-then-detail structure.
|
|
63
|
+
|
|
64
|
+
## Sanity check before drafting
|
|
65
|
+
|
|
66
|
+
For the chosen count and playbook:
|
|
67
|
+
|
|
68
|
+
- Does each slide carry **one breath / one idea**?
|
|
69
|
+
- Does S1 land in 1–2 seconds (3–7 words)?
|
|
70
|
+
- Does S2 stand alone if seen first?
|
|
71
|
+
- Is the **densest value at slide 3**, not buried at slide 8?
|
|
72
|
+
- Does the last slide reward the completer with a specific deliverable?
|
|
73
|
+
- If you removed 2 slides, would it still make sense? If yes, remove them. Tighter = more saves.
|
|
74
|
+
|
|
75
|
+
If any answer is "no," rebuild the slide list before writing copy.
|