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.
Files changed (106) hide show
  1. package/README.md +129 -28
  2. package/out/chunks/chunk-7476PETK.js +309 -0
  3. package/out/chunks/chunk-CVNNNSMQ.js +26 -0
  4. package/out/chunks/chunk-OQBJTZWK.js +60 -0
  5. package/out/chunks/chunk-UCZCF3BQ.js +9 -0
  6. package/out/chunks/command-help-specs-JZXVSLZ5.js +8 -0
  7. package/out/chunks/commands-XBFPLHSQ.js +8 -0
  8. package/out/chunks/help-P7TCOYAJ.js +10 -0
  9. package/out/chunks/main-help-ULF5PAQY.js +10 -0
  10. package/out/chunks/prompts-5E6VKRX5.js +8 -0
  11. package/out/chunks/spinner-URV2OX6O.js +8 -0
  12. package/out/chunks/tool-command-M6VA7P2F.js +8 -0
  13. package/out/octocode-cli.js +1 -1
  14. package/package.json +5 -3
  15. package/skills/README.md +60 -58
  16. package/skills/agentic-flow-best-practices/SKILL.md +280 -0
  17. package/skills/agentic-flow-best-practices/references/agent-collaboration-patterns.md +75 -0
  18. package/skills/agentic-flow-best-practices/references/pr-review-agent-example.md +47 -0
  19. package/skills/agentic-flow-best-practices/references/resources.md +112 -0
  20. package/skills/octocode-brainstorming/.env.example +11 -0
  21. package/skills/octocode-brainstorming/SKILL.md +262 -0
  22. package/skills/octocode-brainstorming/scripts/tavily-search.mjs +138 -0
  23. package/skills/octocode-chrome-devtools/README.md +541 -0
  24. package/skills/octocode-chrome-devtools/SKILL.md +197 -0
  25. package/skills/octocode-chrome-devtools/agents/openai.yaml +7 -0
  26. package/skills/octocode-chrome-devtools/references/CDP_AGENT_REFERENCE.md +401 -0
  27. package/skills/octocode-chrome-devtools/references/CHROME_FLAGS.md +234 -0
  28. package/skills/octocode-chrome-devtools/references/INTENTS.md +108 -0
  29. package/skills/octocode-chrome-devtools/references/INTENTS_AUTH.md +179 -0
  30. package/skills/octocode-chrome-devtools/references/INTENTS_AUTOMATION.md +214 -0
  31. package/skills/octocode-chrome-devtools/references/INTENTS_DEBUG.md +329 -0
  32. package/skills/octocode-chrome-devtools/references/INTENTS_ENVIRONMENT.md +237 -0
  33. package/skills/octocode-chrome-devtools/references/INTENTS_INSPECT.md +263 -0
  34. package/skills/octocode-chrome-devtools/references/INTENTS_STORAGE_CONSENT.md +214 -0
  35. package/skills/octocode-chrome-devtools/references/RECOVERY.md +39 -0
  36. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS.md +43 -0
  37. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_ASYNC_WORKERS.md +345 -0
  38. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_BROWSER.md +403 -0
  39. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_OBSERVE.md +275 -0
  40. package/skills/octocode-chrome-devtools/references/SCRIPT_PATTERNS_SPECIAL.md +18 -0
  41. package/skills/octocode-chrome-devtools/scripts/cdp-runner.mjs +503 -0
  42. package/skills/octocode-chrome-devtools/scripts/cdp-sandbox.mjs +123 -0
  43. package/skills/octocode-chrome-devtools/scripts/cdp-template.mjs +81 -0
  44. package/skills/octocode-chrome-devtools/scripts/octocode-chrome-devtools.vpn.example.json +8 -0
  45. package/skills/octocode-chrome-devtools/scripts/open-browser.mjs +362 -0
  46. package/skills/octocode-chrome-devtools/scripts/sourcemap-resolver.mjs +193 -0
  47. package/skills/octocode-chrome-devtools/scripts/undercover.mjs +226 -0
  48. package/skills/octocode-design/README.md +2 -2
  49. package/skills/octocode-documentation-writer/README.md +1 -1
  50. package/skills/octocode-engineer/README.md +1 -1
  51. package/skills/octocode-engineer/SKILL.md +137 -306
  52. package/skills/octocode-engineer/references/cli-reference.md +13 -0
  53. package/skills/octocode-engineer/references/output-files.md +3 -3
  54. package/skills/octocode-engineer/scripts/run.js +146 -146
  55. package/skills/octocode-engineer/src/pipeline/main.ts +1 -17
  56. package/skills/octocode-engineer/src/pipeline/progress.ts +4 -0
  57. package/skills/octocode-engineer/src/reporting/summary-md.test.ts +48 -0
  58. package/skills/octocode-engineer/src/reporting/summary-md.ts +43 -2
  59. package/skills/octocode-install/SKILL.md +1 -1
  60. package/skills/octocode-pull-request-reviewer/README.md +5 -5
  61. package/skills/octocode-pull-request-reviewer/SKILL.md +1 -1
  62. package/skills/octocode-research/AGENTS.md +1 -1
  63. package/skills/octocode-research/README.md +2 -2
  64. package/skills/octocode-research/docs/ARCHITECTURE.md +1 -1
  65. package/skills/octocode-research/scripts/server.js +184 -239
  66. package/skills/octocode-research/src/routes/github.ts +4 -21
  67. package/skills/octocode-research/src/routes/local.ts +4 -21
  68. package/skills/octocode-research/src/utils/fileContentTransform.ts +44 -0
  69. package/skills/octocode-search-skill/SKILL.md +337 -0
  70. package/skills/octocode-search-skill/references/agent-skills-guide.md +177 -0
  71. package/skills/octocode-search-skill/references/discovery-surfaces.md +162 -0
  72. package/skills/octocode-search-skill/references/fetch-and-create-locally.md +57 -0
  73. package/skills/octocode-search-skill/references/install-reference.md +130 -0
  74. package/skills/octocode-search-skill/references/references-template.md +27 -0
  75. package/skills/octocode-search-skill/references/references.md +62 -0
  76. package/skills/octocode-slides/README.md +307 -0
  77. package/skills/octocode-slides/SKILL.md +410 -0
  78. package/skills/octocode-slides/references/01-brief.md +156 -0
  79. package/skills/octocode-slides/references/02-research.md +149 -0
  80. package/skills/octocode-slides/references/03-outline.md +172 -0
  81. package/skills/octocode-slides/references/04-design.md +301 -0
  82. package/skills/octocode-slides/references/05-implementation.md +213 -0
  83. package/skills/octocode-slides/references/06-review.md +258 -0
  84. package/skills/octocode-slides/references/animation.md +281 -0
  85. package/skills/octocode-slides/references/design-system.md +316 -0
  86. package/skills/octocode-slides/references/html-templates.md +673 -0
  87. package/skills/octocode-slides/references/image-generation.md +448 -0
  88. package/skills/octocode-slides/references/resources.md +840 -0
  89. package/skills/octocode-slides/references/slide-rules.md +541 -0
  90. package/skills/octocode-slides/references/wireframes.md +727 -0
  91. package/skills/octocode-slides/scripts/animation.js +182 -0
  92. package/skills/octocode-slides/scripts/base.css +353 -0
  93. package/skills/octocode-slides/scripts/base.html +655 -0
  94. package/skills/octocode-slides/scripts/generate_image.py +221 -0
  95. package/skills/octocode-slides/scripts/navbridge.js +79 -0
  96. package/skills/octocode-slides/scripts/presenter.js +316 -0
  97. package/skills/octocode-slides/scripts/slide.html +248 -0
  98. package/skills/octocode-stats/SKILL.md +73 -0
  99. package/skills/octocode-stats/assets/template.html +1332 -0
  100. package/skills/octocode-stats/scripts/build_dashboard.mjs +407 -0
  101. package/out/chunks/chunk-LH4AZJPA.js +0 -389
  102. package/out/chunks/command-help-specs-CQ3RBLP6.js +0 -8
  103. package/out/chunks/commands-M3QTWKWE.js +0 -51
  104. package/out/chunks/help-XPXP46ZT.js +0 -10
  105. package/out/chunks/main-help-HXFAFHPG.js +0 -10
  106. 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)