octocode-cli 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -28
- package/out/chunks/chunk-7476PETK.js +309 -0
- package/out/chunks/chunk-CVNNNSMQ.js +26 -0
- package/out/chunks/chunk-OQBJTZWK.js +60 -0
- package/out/chunks/chunk-UCZCF3BQ.js +9 -0
- package/out/chunks/command-help-specs-JZXVSLZ5.js +8 -0
- package/out/chunks/commands-XBFPLHSQ.js +8 -0
- package/out/chunks/help-P7TCOYAJ.js +10 -0
- package/out/chunks/main-help-ULF5PAQY.js +10 -0
- package/out/chunks/prompts-5E6VKRX5.js +8 -0
- package/out/chunks/spinner-URV2OX6O.js +8 -0
- package/out/chunks/tool-command-M6VA7P2F.js +8 -0
- package/out/octocode-cli.js +1 -1
- package/package.json +5 -3
- package/skills/README.md +60 -58
- package/skills/agentic-flow-best-practices/SKILL.md +280 -0
- package/skills/agentic-flow-best-practices/references/agent-collaboration-patterns.md +75 -0
- package/skills/agentic-flow-best-practices/references/pr-review-agent-example.md +47 -0
- package/skills/agentic-flow-best-practices/references/resources.md +112 -0
- package/skills/octocode-brainstorming/.env.example +11 -0
- package/skills/octocode-brainstorming/SKILL.md +262 -0
- package/skills/octocode-brainstorming/scripts/tavily-search.mjs +138 -0
- package/skills/octocode-chrome-devtools/README.md +541 -0
- package/skills/octocode-chrome-devtools/SKILL.md +197 -0
- package/skills/octocode-chrome-devtools/agents/openai.yaml +7 -0
- package/skills/octocode-chrome-devtools/references/CDP_AGENT_REFERENCE.md +401 -0
- package/skills/octocode-chrome-devtools/references/CHROME_FLAGS.md +234 -0
- package/skills/octocode-chrome-devtools/references/INTENTS.md +108 -0
- package/skills/octocode-chrome-devtools/references/INTENTS_AUTH.md +179 -0
- package/skills/octocode-chrome-devtools/references/INTENTS_AUTOMATION.md +214 -0
- package/skills/octocode-chrome-devtools/references/INTENTS_DEBUG.md +329 -0
- package/skills/octocode-chrome-devtools/references/INTENTS_ENVIRONMENT.md +237 -0
- package/skills/octocode-chrome-devtools/references/INTENTS_INSPECT.md +263 -0
- package/skills/octocode-chrome-devtools/references/INTENTS_STORAGE_CONSENT.md +214 -0
- package/skills/octocode-chrome-devtools/references/RECOVERY.md +39 -0
- package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS.md +43 -0
- package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_ASYNC_WORKERS.md +345 -0
- package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_BROWSER.md +403 -0
- package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_OBSERVE.md +275 -0
- package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_SPECIAL.md +18 -0
- package/skills/octocode-chrome-devtools/scripts/cdp-runner.mjs +503 -0
- package/skills/octocode-chrome-devtools/scripts/cdp-sandbox.mjs +123 -0
- package/skills/octocode-chrome-devtools/scripts/cdp-template.mjs +81 -0
- package/skills/octocode-chrome-devtools/scripts/octocode-chrome-devtools.vpn.example.json +8 -0
- package/skills/octocode-chrome-devtools/scripts/open-browser.mjs +362 -0
- package/skills/octocode-chrome-devtools/scripts/sourcemap-resolver.mjs +193 -0
- package/skills/octocode-chrome-devtools/scripts/undercover.mjs +226 -0
- package/skills/octocode-design/README.md +2 -2
- package/skills/octocode-documentation-writer/README.md +1 -1
- package/skills/octocode-engineer/README.md +1 -1
- package/skills/octocode-engineer/SKILL.md +137 -306
- package/skills/octocode-engineer/references/cli-reference.md +13 -0
- package/skills/octocode-engineer/references/output-files.md +3 -3
- package/skills/octocode-engineer/scripts/run.js +146 -146
- package/skills/octocode-engineer/src/pipeline/main.ts +1 -17
- package/skills/octocode-engineer/src/pipeline/progress.ts +4 -0
- package/skills/octocode-engineer/src/reporting/summary-md.test.ts +48 -0
- package/skills/octocode-engineer/src/reporting/summary-md.ts +43 -2
- package/skills/octocode-install/SKILL.md +1 -1
- package/skills/octocode-pull-request-reviewer/README.md +5 -5
- package/skills/octocode-pull-request-reviewer/SKILL.md +1 -1
- package/skills/octocode-research/AGENTS.md +1 -1
- package/skills/octocode-research/README.md +2 -2
- package/skills/octocode-research/docs/ARCHITECTURE.md +1 -1
- package/skills/octocode-research/scripts/server.js +184 -239
- package/skills/octocode-research/src/routes/github.ts +4 -21
- package/skills/octocode-research/src/routes/local.ts +4 -21
- package/skills/octocode-research/src/utils/fileContentTransform.ts +44 -0
- package/skills/octocode-search-skill/SKILL.md +337 -0
- package/skills/octocode-search-skill/references/agent-skills-guide.md +177 -0
- package/skills/octocode-search-skill/references/discovery-surfaces.md +162 -0
- package/skills/octocode-search-skill/references/fetch-and-create-locally.md +57 -0
- package/skills/octocode-search-skill/references/install-reference.md +130 -0
- package/skills/octocode-search-skill/references/references-template.md +27 -0
- package/skills/octocode-search-skill/references/references.md +62 -0
- package/skills/octocode-slides/README.md +307 -0
- package/skills/octocode-slides/SKILL.md +410 -0
- package/skills/octocode-slides/references/01-brief.md +156 -0
- package/skills/octocode-slides/references/02-research.md +149 -0
- package/skills/octocode-slides/references/03-outline.md +172 -0
- package/skills/octocode-slides/references/04-design.md +301 -0
- package/skills/octocode-slides/references/05-implementation.md +213 -0
- package/skills/octocode-slides/references/06-review.md +258 -0
- package/skills/octocode-slides/references/animation.md +281 -0
- package/skills/octocode-slides/references/design-system.md +316 -0
- package/skills/octocode-slides/references/html-templates.md +673 -0
- package/skills/octocode-slides/references/image-generation.md +448 -0
- package/skills/octocode-slides/references/resources.md +840 -0
- package/skills/octocode-slides/references/slide-rules.md +541 -0
- package/skills/octocode-slides/references/wireframes.md +727 -0
- package/skills/octocode-slides/scripts/animation.js +182 -0
- package/skills/octocode-slides/scripts/base.css +353 -0
- package/skills/octocode-slides/scripts/base.html +655 -0
- package/skills/octocode-slides/scripts/generate_image.py +221 -0
- package/skills/octocode-slides/scripts/navbridge.js +79 -0
- package/skills/octocode-slides/scripts/presenter.js +316 -0
- package/skills/octocode-slides/scripts/slide.html +248 -0
- package/skills/octocode-stats/SKILL.md +73 -0
- package/skills/octocode-stats/assets/template.html +1332 -0
- package/skills/octocode-stats/scripts/build_dashboard.mjs +407 -0
- package/out/chunks/chunk-LH4AZJPA.js +0 -389
- package/out/chunks/command-help-specs-CQ3RBLP6.js +0 -8
- package/out/chunks/commands-M3QTWKWE.js +0 -51
- package/out/chunks/help-XPXP46ZT.js +0 -10
- package/out/chunks/main-help-HXFAFHPG.js +0 -10
- package/out/chunks/tool-command-VHFLPIHY.js +0 -8
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# Octocode Slides
|
|
2
|
+
|
|
3
|
+
AI agent skill → polished HTML presentation from a plain brief. Local, no cloud, no upload.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Trigger
|
|
8
|
+
|
|
9
|
+
Say any of these to your agent (Claude, Cursor, Codex…):
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Create slides about X
|
|
13
|
+
Make a presentation from this PDF / notes / codebase
|
|
14
|
+
Build a deck explaining Y for [audience]
|
|
15
|
+
Generate HTML slides — fast mode ← skips design approval, just builds
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Six-phase flow
|
|
21
|
+
|
|
22
|
+
| Phase | Goal | Agent pauses? | Output |
|
|
23
|
+
|-------|------|--------------|--------|
|
|
24
|
+
| **1 · Brief** | Extract: audience, goal, depth, sources, constraints | Only if audience/goal missing | `.content/request.md` |
|
|
25
|
+
| **2 · Research** | Fill gaps via Octocode / web / local tools. Unknown claims → `[NEEDS SOURCE]` | Rarely | Appended to `request.md` |
|
|
26
|
+
| **3 · Outline** | Narrative arc + per-slide rows (title, layout, evidence, notes). Two-pass: top-down then ghost-read | **Yes — confirm structure** | `.content/outline.md` |
|
|
27
|
+
| **4 · Design** | 3 style directions → you pick → CSS tokens + library choices | **Yes — pick a direction** | `.content/DESIGN.md` + `css/theme.css` |
|
|
28
|
+
| **5 · Implementation** | Build slides from outline rows. 3-second test per slide. Images → placeholder unless you said "generate images" | Only for missing assets | `slides/*.html` + `index.html` |
|
|
29
|
+
| **6 · Review** | Visual Slop ≤1/8 · Content Slop 0/8 · navbridge · no `{{…}}` · no overflow | Never | Approved deck + serve command |
|
|
30
|
+
|
|
31
|
+
**Fast mode** (`"just build it"` / `"your call"` / `"fast mode"`): skips Phase 3/4 pauses, auto-selects theme, still runs Phase 6.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Audience depth
|
|
36
|
+
|
|
37
|
+
The agent adapts everything to who's in the room:
|
|
38
|
+
|
|
39
|
+
| Depth | Slides | Style |
|
|
40
|
+
|-------|--------|-------|
|
|
41
|
+
| Executive | 5–10 | Conclusion-first, stats, no code |
|
|
42
|
+
| Management | 10–20 | Charts, evidence, high-level diagrams |
|
|
43
|
+
| Technical | 15–30+ | Code, benchmarks, real architecture |
|
|
44
|
+
| Async / self-read | any | Self-explanatory titles, denser content, notes as narration |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Slide layout types
|
|
49
|
+
|
|
50
|
+
| Type | Use when |
|
|
51
|
+
|------|----------|
|
|
52
|
+
| `title` | Opening — deck name + subtitle |
|
|
53
|
+
| `agenda` | Orientation slide for longer decks |
|
|
54
|
+
| `section` | Transition between narrative sections |
|
|
55
|
+
| `content` | Default — one claim + supporting bullets |
|
|
56
|
+
| `two-col` | Comparison, before/after, text + visual |
|
|
57
|
+
| `comparison` | Structured side-by-side tradeoff |
|
|
58
|
+
| `stats` | 2–4 numbers that carry the point |
|
|
59
|
+
| `code` | Real code with syntax highlighting |
|
|
60
|
+
| `chart` | Data viz (Chart.js / D3 / Vega-Lite) |
|
|
61
|
+
| `image` | Full-bleed visual — screenshot, diagram |
|
|
62
|
+
| `timeline` | Sequence, roadmap, history |
|
|
63
|
+
| `quote` | Testimonial or pull quote |
|
|
64
|
+
| `closing` | CTA — never "Thank you" / "Questions?" |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Build features
|
|
69
|
+
|
|
70
|
+
| Feature | How it works |
|
|
71
|
+
|---------|--------------|
|
|
72
|
+
| Presenter mode | `P` opens current/next slide previews, notes, timer, and jump control |
|
|
73
|
+
| Speaker notes | Each slide can include `<aside class="speaker-notes">` for presenter mode |
|
|
74
|
+
| Overview grid | `G` opens a thumbnail grid; slide hashes use descriptive names |
|
|
75
|
+
| Step reveal | Optional `animation.js` reveals `[data-step]` elements before advancing slides |
|
|
76
|
+
| Slide animations | CSS, Motion, GSAP, and View Transitions are available when the slide needs them |
|
|
77
|
+
| Charts / data viz | Chart.js, ECharts, uPlot, ApexCharts, D3, or CSS-only charts; one chart library per slide |
|
|
78
|
+
| Diagrams | Mermaid for flowcharts, sequences, Gantt, and architecture diagrams |
|
|
79
|
+
| Code slides | highlight.js for real syntax highlighting |
|
|
80
|
+
| Markdown slides | marked.js can render long-form Markdown into slide HTML |
|
|
81
|
+
| Pointer chrome | Optional custom cursor + click spark for live demos; off by default |
|
|
82
|
+
| PDF export | Decktape or browser print via `@media print` |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Quality gates (Phase 6)
|
|
87
|
+
|
|
88
|
+
Both tests run before every delivery. Fix before showing the user.
|
|
89
|
+
|
|
90
|
+
### Visual Slop — target 0/8, max 1/8
|
|
91
|
+
|
|
92
|
+
| # | Auto-fail signal |
|
|
93
|
+
|---|-----------------|
|
|
94
|
+
| 1 | Inter / Roboto as the only heading font |
|
|
95
|
+
| 2 | `background-clip: text` gradient on headings |
|
|
96
|
+
| 3 | Emoji leading every bullet or section |
|
|
97
|
+
| 4 | Every slide uses the same centered-stack layout |
|
|
98
|
+
| 5 | Cyan + magenta + purple on dark background |
|
|
99
|
+
| 6 | Animated glowing `box-shadow` on cards |
|
|
100
|
+
| 7 | Three-dot window chrome on every code block |
|
|
101
|
+
| 8 | Accent color on more than 3 elements per slide |
|
|
102
|
+
|
|
103
|
+
### Content Slop — 0/8 zero tolerance
|
|
104
|
+
|
|
105
|
+
| # | Auto-fail signal |
|
|
106
|
+
|---|-----------------|
|
|
107
|
+
| 1 | Title is a noun phrase, not a claim ("Architecture Overview" not "Caching cut latency 40%") |
|
|
108
|
+
| 2 | Bullet contains: "leverages", "seamless", "robust", "innovative", "cutting-edge", "world-class" |
|
|
109
|
+
| 3 | Statistic without a source citation |
|
|
110
|
+
| 4 | Slide that delivers no new information |
|
|
111
|
+
| 5 | Closing slide ends on "Thank you" / "Questions?" with no CTA |
|
|
112
|
+
| 6 | Vague claim with no specific number, name, or outcome |
|
|
113
|
+
| 7 | Diagram is approximate or invented, not real |
|
|
114
|
+
| 8 | Decorative image (stock photo, texture) instead of informational |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Output structure
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
.octocode/slides/<deck-name>/
|
|
122
|
+
├── index.html ← open this in browser
|
|
123
|
+
├── README.md ← per-deck handoff notes
|
|
124
|
+
├── css/
|
|
125
|
+
│ ├── base.css ← layout primitives (never edit)
|
|
126
|
+
│ └── theme.css ← deck colors, fonts, tokens
|
|
127
|
+
├── js/
|
|
128
|
+
│ ├── navbridge.js ← arrow-key iframe→parent forwarding
|
|
129
|
+
│ ├── presenter.js ← P-key presenter popup
|
|
130
|
+
│ └── animation.js ← optional per-slide step reveal engine
|
|
131
|
+
├── slides/
|
|
132
|
+
│ └── <slug>.html ← one file per slide
|
|
133
|
+
├── assets/ ← images: ../assets/filename.png
|
|
134
|
+
└── .content/
|
|
135
|
+
├── request.md ← brief + research
|
|
136
|
+
├── outline.md ← narrative arc + every slide row
|
|
137
|
+
└── DESIGN.md ← visual system + reasoning
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Open:** double-click `index.html` in Chrome/Firefox — no server needed.
|
|
141
|
+
**Serve:** `npx serve .octocode/slides/<deck-name>`
|
|
142
|
+
|
|
143
|
+
### Browser controls
|
|
144
|
+
|
|
145
|
+
| Key | Action |
|
|
146
|
+
|-----|--------|
|
|
147
|
+
| `→` / `↓` / `Space` | Next slide |
|
|
148
|
+
| `←` / `↑` | Previous slide |
|
|
149
|
+
| `Home` / `End` | First / last slide |
|
|
150
|
+
| `G` | Overview grid |
|
|
151
|
+
| `F` | Fullscreen |
|
|
152
|
+
| `P` | Presenter popup (previews + notes + timer + jump) |
|
|
153
|
+
| `B` | Blackout |
|
|
154
|
+
| `W` | Whiteout |
|
|
155
|
+
| Scroll | Navigate |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Editing an existing deck
|
|
160
|
+
|
|
161
|
+
Agent enters the correct phase — never rebuilds from scratch.
|
|
162
|
+
|
|
163
|
+
| You say | Agent enters |
|
|
164
|
+
|---------|-------------|
|
|
165
|
+
| "Review" / "what's wrong" / "audit" | Phase 6 |
|
|
166
|
+
| "Fix this slide" / "update content" | Phase 5 → re-run Phase 6 |
|
|
167
|
+
| "Add / remove a slide" | Phase 3 → 5 |
|
|
168
|
+
| "Change theme / colors / fonts" | Phase 4 |
|
|
169
|
+
| "Restructure" / "reorder" | Phase 3 |
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Image generation (opt-in)
|
|
174
|
+
|
|
175
|
+
**Never silent.** Say "generate images" explicitly.
|
|
176
|
+
|
|
177
|
+
| Path | Auth | Best for |
|
|
178
|
+
|------|------|----------|
|
|
179
|
+
| **A — Python SDK** (default) | `GEMINI_API_KEY` | Automated builds, scripting |
|
|
180
|
+
| **B — `belt` CLI** | inference.sh account | One-liners, Google Search grounding |
|
|
181
|
+
| **C — Gemini CLI + MCP** | GCP project + ADC (`gcloud auth application-default login`) | Conversational sessions in Gemini CLI |
|
|
182
|
+
|
|
183
|
+
### Path A setup
|
|
184
|
+
|
|
185
|
+
#### 1. Get API key → [aistudio.google.com/apikey](https://aistudio.google.com/apikey)
|
|
186
|
+
|
|
187
|
+
#### 2. Set `GEMINI_API_KEY`
|
|
188
|
+
|
|
189
|
+
**macOS / Linux**
|
|
190
|
+
```bash
|
|
191
|
+
# Temporary
|
|
192
|
+
export GEMINI_API_KEY="your-key-here"
|
|
193
|
+
|
|
194
|
+
# Permanent — zsh (macOS default)
|
|
195
|
+
echo 'export GEMINI_API_KEY="your-key-here"' >> ~/.zshrc && source ~/.zshrc
|
|
196
|
+
|
|
197
|
+
# Permanent — bash
|
|
198
|
+
echo 'export GEMINI_API_KEY="your-key-here"' >> ~/.bashrc && source ~/.bashrc
|
|
199
|
+
|
|
200
|
+
# Verify
|
|
201
|
+
echo $GEMINI_API_KEY
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Windows**
|
|
205
|
+
```powershell
|
|
206
|
+
# Temporary (PowerShell session)
|
|
207
|
+
$env:GEMINI_API_KEY = "your-key-here"
|
|
208
|
+
|
|
209
|
+
# Permanent (PowerShell — restart terminal after)
|
|
210
|
+
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "your-key-here", "User")
|
|
211
|
+
|
|
212
|
+
# Permanent (GUI): Win+S → "Edit the system environment variables"
|
|
213
|
+
# → Environment Variables → User variables → New
|
|
214
|
+
# Name: GEMINI_API_KEY Value: your-key-here → OK → restart terminal
|
|
215
|
+
|
|
216
|
+
# Verify
|
|
217
|
+
echo $env:GEMINI_API_KEY
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
#### 3. Install `uv` (auto-installs Python deps on first run)
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# macOS / Linux
|
|
224
|
+
brew install uv
|
|
225
|
+
# or
|
|
226
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
227
|
+
|
|
228
|
+
# Windows (PowerShell)
|
|
229
|
+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
230
|
+
|
|
231
|
+
# Verify
|
|
232
|
+
uv --version
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
#### 4. Use it
|
|
236
|
+
|
|
237
|
+
Ask agent: `Create slides about X — generate images`
|
|
238
|
+
|
|
239
|
+
Or call directly:
|
|
240
|
+
```bash
|
|
241
|
+
cd .octocode/slides/my-deck
|
|
242
|
+
|
|
243
|
+
uv run /path/to/skills/octocode-slides/scripts/generate_image.py \
|
|
244
|
+
--prompt "Cinematic wide shot, modern server room, blue hour, no text" \
|
|
245
|
+
--filename "assets/hero.png" \
|
|
246
|
+
--resolution 2K \
|
|
247
|
+
--aspect-ratio 16:9
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Script flags:**
|
|
251
|
+
|
|
252
|
+
| Flag | Required | Values |
|
|
253
|
+
|------|----------|--------|
|
|
254
|
+
| `--prompt` / `-p` | Yes | Generation prompt |
|
|
255
|
+
| `--filename` / `-f` | Yes | Output path in `assets/` |
|
|
256
|
+
| `--resolution` / `-r` | No | `512px` · `1K` (default) · `2K` · `4K` |
|
|
257
|
+
| `--aspect-ratio` / `-a` | No | `16:9` · `1:1` · `4:5` · `2:3` · … |
|
|
258
|
+
| `--input-image` / `-i` | No | Reference image — repeat up to 14× |
|
|
259
|
+
| `--api-key` / `-k` | No | Override `GEMINI_API_KEY` for this call |
|
|
260
|
+
|
|
261
|
+
Resolution guidance: `512px` → draft/iterate · `1K` → inline/decorative · `2K` → two-col half · `4K` → full-bleed only.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Animations
|
|
266
|
+
|
|
267
|
+
Animations are opt-in per slide. Use them only when they clarify a sequence, reveal, chart, or live-demo moment.
|
|
268
|
+
|
|
269
|
+
| Need | Use |
|
|
270
|
+
|------|-----|
|
|
271
|
+
| Step-by-step reveal | `data-step="1"` / `data-step="2"` + `js/animation.js` |
|
|
272
|
+
| Simple entrance | CSS `.fade-in`, `.slide-up`, or local CSS |
|
|
273
|
+
| Staggered bullets/cards | CSS `sibling-index()` when supported; Motion fallback |
|
|
274
|
+
| Counters / progress fills | Motion `animate()` |
|
|
275
|
+
| Complex SVG choreography | GSAP |
|
|
276
|
+
| Slide-to-slide transition | View Transitions API in `index.html` |
|
|
277
|
+
|
|
278
|
+
For step reveal slides, load scripts in this exact order:
|
|
279
|
+
|
|
280
|
+
```html
|
|
281
|
+
<script src="../js/animation.js"></script>
|
|
282
|
+
<script src="../js/navbridge.js"></script>
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Troubleshooting
|
|
288
|
+
|
|
289
|
+
| Problem | Fix |
|
|
290
|
+
|---------|-----|
|
|
291
|
+
| `Error: No API key provided` | `echo $GEMINI_API_KEY` — empty? Set it (Step 2 above) |
|
|
292
|
+
| `uv: command not found` | Install `uv` (Step 3 above) |
|
|
293
|
+
| `ModuleNotFoundError: google` | Use `uv run`, not `python` — uv installs deps automatically |
|
|
294
|
+
| Slides don't open | Double-click `index.html` in Chrome or Firefox |
|
|
295
|
+
| Arrow keys stop working after click | Verify every slide includes `../js/navbridge.js`; step slides must load `../js/animation.js` before navbridge |
|
|
296
|
+
| Images not generating | Say "generate images" — agent never generates silently |
|
|
297
|
+
| Slide content overflows | Agent splits into a new slide — max 1280×720, no scrolling |
|
|
298
|
+
| `[NEEDS SOURCE]` in slide | Agent hit an unverifiable claim — provide the source or confirm the data |
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## References
|
|
303
|
+
|
|
304
|
+
- [Gemini API key](https://aistudio.google.com/apikey) · [uv](https://astral.sh/uv) · [Nano Banana 2 model docs](https://ai.google.dev/gemini-api/docs/image-generation)
|
|
305
|
+
- [Image generation reference](https://github.com/bgauryy/octocode-mcp/blob/main/skills/octocode-slides/references/image-generation.md)
|
|
306
|
+
- [Animation reference](https://github.com/bgauryy/octocode-mcp/blob/main/skills/octocode-slides/references/animation.md) · [Libraries/resources](https://github.com/bgauryy/octocode-mcp/blob/main/skills/octocode-slides/references/resources.md)
|
|
307
|
+
- [SKILL.md](https://github.com/bgauryy/octocode-mcp/blob/main/skills/octocode-slides/SKILL.md) · [slide-rules.md](https://github.com/bgauryy/octocode-mcp/blob/main/skills/octocode-slides/references/slide-rules.md)
|