@kenkaiiii/ggcoder 5.71.0 → 5.72.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 (40) hide show
  1. package/assets/motion/skills/app-walkthrough/SKILL.md +4 -0
  2. package/assets/motion/skills/before-after/SKILL.md +4 -0
  3. package/assets/motion/skills/dev-tool-video/SKILL.md +4 -0
  4. package/assets/motion/skills/launch-video/SKILL.md +4 -0
  5. package/assets/motion/skills/match-reference/SKILL.md +4 -0
  6. package/assets/motion/skills/motion/SKILL.md +78 -21
  7. package/assets/motion/skills/website-video/SKILL.md +47 -30
  8. package/assets/skills/bulletproof/SKILL.md +1 -1
  9. package/assets/skills/lean/SKILL.md +1 -1
  10. package/dist/app-sidecar.js +3 -0
  11. package/dist/app-sidecar.js.map +1 -1
  12. package/dist/cli/thinking-arg.d.ts +6 -0
  13. package/dist/cli/thinking-arg.js +13 -0
  14. package/dist/cli/thinking-arg.js.map +1 -0
  15. package/dist/cli.d.ts +1 -2
  16. package/dist/cli.js +1 -8
  17. package/dist/cli.js.map +1 -1
  18. package/dist/core/agent-session.d.ts +1 -0
  19. package/dist/core/agent-session.js +12 -0
  20. package/dist/core/agent-session.js.map +1 -1
  21. package/dist/core/codex-request-shape.d.ts +12 -0
  22. package/dist/core/codex-request-shape.js +31 -0
  23. package/dist/core/codex-request-shape.js.map +1 -0
  24. package/dist/core/settings-manager.d.ts +10 -0
  25. package/dist/core/settings-manager.js +10 -0
  26. package/dist/core/settings-manager.js.map +1 -1
  27. package/dist/motion-agent/motion-prompt.d.ts +1 -1
  28. package/dist/motion-agent/motion-prompt.js +4 -3
  29. package/dist/motion-agent/motion-prompt.js.map +1 -1
  30. package/dist/system-prompt.js +2 -1
  31. package/dist/system-prompt.js.map +1 -1
  32. package/dist/tools/prompt-hints.js +4 -1
  33. package/dist/tools/prompt-hints.js.map +1 -1
  34. package/dist/tools/subagent.d.ts +6 -0
  35. package/dist/tools/subagent.js +13 -2
  36. package/dist/tools/subagent.js.map +1 -1
  37. package/dist/tools/tool-tiers.d.ts +6 -0
  38. package/dist/tools/tool-tiers.js +7 -1
  39. package/dist/tools/tool-tiers.js.map +1 -1
  40. package/package.json +4 -4
@@ -11,6 +11,10 @@ specific to walkthroughs.
11
11
 
12
12
  ## Ask (on the motion skill's single card)
13
13
 
14
+ Use the shared visual-approach question from `motion` when unsettled, ahead of
15
+ an optional idea pitch. Adapt its choices to this job; keep the card to four
16
+ questions total and skip choices the brief or requested reference already settles.
17
+
14
18
  - "Which task should the video walk through?" Offer the two or three tasks the
15
19
  prompt or screenshots suggest, plus "Let GG Motion choose".
16
20
  - "Where will people mostly watch this?" (from the `motion` skill).
@@ -10,6 +10,10 @@ skill describes; this page adds what is specific to comparisons.
10
10
 
11
11
  ## Ask (on the motion skill's single card)
12
12
 
13
+ Use the shared visual-approach question from `motion` when unsettled, ahead of
14
+ an optional idea pitch. Adapt its choices to this job; keep the card to four
15
+ questions total and skip choices the brief or requested reference already settles.
16
+
13
17
  - "What's the annoying part of life without it?" Offer two or three guesses
14
18
  from the prompt, plus "Let GG Motion choose".
15
19
  - "Where will people mostly watch this?" (from the `motion` skill).
@@ -10,6 +10,10 @@ describes; this page adds what is specific to developer tools.
10
10
 
11
11
  ## Ask (on the motion skill's single card)
12
12
 
13
+ Use the shared visual-approach question from `motion` when unsettled, ahead of
14
+ an optional idea pitch. Adapt its choices to this job; keep the card to four
15
+ questions total and skip choices the brief or requested reference already settles.
16
+
13
17
  - "What's the one command or line of code that shows it best?" Offer the
14
18
  README's quick-start as recommended, plus "Let GG Motion choose".
15
19
  - "Where will people mostly watch this?" (from the `motion` skill).
@@ -10,6 +10,10 @@ skill describes; this page adds what is specific to launches.
10
10
 
11
11
  ## Ask (on the motion skill's single card)
12
12
 
13
+ Use the shared visual-approach question from `motion` when unsettled, ahead of
14
+ an optional idea pitch. Adapt its choices to this job; keep the card to four
15
+ questions total and skip choices the brief or requested reference already settles.
16
+
13
17
  Pick what the prompt leaves open, at most four questions with the idea pitch:
14
18
 
15
19
  - "Where will people mostly watch this?" (from the `motion` skill).
@@ -11,6 +11,10 @@ skill describes; this page adds the study step.
11
11
 
12
12
  ## Ask (on the motion skill's single card)
13
13
 
14
+ Use the shared visual-approach question from `motion` when unsettled, ahead of
15
+ an optional idea pitch. Adapt its choices to this job; keep the card to four
16
+ questions total and skip choices the brief or requested reference already settles.
17
+
14
18
  - "What should the new video be about?" when the prompt doesn't say.
15
19
  - "What do you like most about the example?" The pace · The look · How one
16
20
  scene flows into the next · All of it (recommended).
@@ -20,13 +20,15 @@ be corrected.
20
20
  **When to ask.** For a new video from an open prompt, ask once, before planning,
21
21
  about what only the user knows and would be costly to change later: where it
22
22
  will be watched (it sets shape, length and pace), whether it has music (the
23
- timing is built on it) and, when the subject suggests they have some, material to
24
- include. Ask about purpose, feeling or length only when nothing in the prompt
25
- hints at it. Own everything else: look, colour, type, pacing, transitions.
23
+ timing is built on it), and what the visuals should be made from: their own
24
+ images, source material, original illustrations or a mix. A URL, logo or photo
25
+ attachment alone does not choose that approach. Ask about purpose, feeling or
26
+ length only when nothing in the prompt hints at it. Own the execution: colour,
27
+ type, pacing and transitions, within the user's chosen approach.
26
28
 
27
29
  - Skip anything the prompt, attachments, a brand kit or workspace preferences
28
- already answer. A detailed brief, a shot list or an edit gets no
29
- questions.
30
+ already answer. An edit gets no intake questions. A detailed brief or shot
31
+ list skips questions only for choices it actually settles.
30
32
  - Use one `ask_user` card with at most four questions, each with a recommended
31
33
  answer drawn from the prompt. Then build without further stops: this gathers
32
34
  facts; it is not an approval step.
@@ -47,8 +49,12 @@ LUFS, safe zone, lower third, CTA, fps, kinetic type, loop seam. If one is
47
49
  unavoidable, explain it in the same line. If the user writes in those terms,
48
50
  answer in them.
49
51
 
50
- **Starting wording.** Adapt it to the prompt and pick at most three, plus the
51
- idea question below.
52
+ **Starting wording.** All job skills use this bank. Keep one card, at most four
53
+ questions total. When visual approach is unsettled, include it before an idea
54
+ pitch or an optional purpose/feeling question; do not add a second card. Skip
55
+ it for edits or when the brief or an explicitly requested reference style
56
+ already settles it. Tailor the options to the source: website product photos,
57
+ app screens, supplied footage or diagrams, not the same choices for every job.
52
58
 
53
59
  1. "Where will people mostly watch this?"
54
60
  - Scrolling on a phone: Tall video. Grabs attention right away and works with
@@ -69,9 +75,25 @@ idea question below.
69
75
  muted.
70
76
  - I'll add music myself: Silent for now, with a steady rhythm so your music is
71
77
  easy to add.
72
- 3. "Do you have anything it should include?" (pick any): My logo or colours ·
78
+ 3. "What should we build the visuals from?"
79
+ - Use my images: Build around your own photos or footage; if not attached,
80
+ wait for you to supply them before building.
81
+ - Use website photos: Use individual product or lifestyle photos from the
82
+ supplied site, not screenshots of whole pages. Offer only for a real site.
83
+ - Animate illustrations: Create drawn scenes, objects and diagrams that
84
+ explain your subject, using its real brand and facts.
85
+ - Mix photos and animation: Combine real product images or footage with
86
+ illustrated scenes and transitions.
87
+
88
+ Mark the best fit recommended, but never silently choose an approach. Offer
89
+ only relevant options; rename the source option for app screens or other
90
+ supplied material. Missing assets are a blocker, not permission to invent
91
+ them. Illustrations use HTML/SVG/CSS; image generation still needs an explicit
92
+ user request. Their choice guides the ideas and the build, not just sourcing.
93
+
94
+ 4. "Do you have anything it should include?" (pick any): My logo or colours ·
73
95
  My photos or videos · Exact words or numbers · Nothing, start fresh
74
- 4. "What should people get from it?"
96
+ 5. "What should people get from it?"
75
97
  - Understand something: Explains an idea, a process or some numbers, step by
76
98
  step.
77
99
  - Want to buy or try it: Shows what it does for them and ends with one clear
@@ -79,14 +101,14 @@ idea question below.
79
101
  - Hear some news: A launch, an event or a milestone.
80
102
  - Feel something: A mood piece, celebration or tribute, led by feeling rather
81
103
  than facts.
82
- 5. "How should it feel?"
104
+ 6. "How should it feel?"
83
105
  - Calm and clear: Gentle movement and time to read. Nothing flashy.
84
106
  - Bold and energetic: Quick cuts, big words, a strong beat.
85
107
  - Playful: Bright and bouncy, with a bit of fun.
86
108
  - Elegant: Slow, precise and spacious, like a luxury ad.
87
109
  - Warm and personal: Soft and unhurried; lets photos and moments breathe.
88
110
  - Serious and respectful: Restrained, for sensitive or factual subjects.
89
- 6. "How long should it be?"
111
+ 7. "How long should it be?"
90
112
  - About 10 seconds: One idea, quick to watch.
91
113
  - About 30 seconds: Room for a short story or a few points.
92
114
  - About a minute: Room to explain something step by step.
@@ -99,12 +121,13 @@ opens into the answer"), with your favourite marked recommended, plus
99
121
  "Let GG Motion choose". Make the ideas differ in kind: one carried object, one led by
100
122
  big words, one built on a person's day or on real numbers. Skip it when the
101
123
  prompt already describes the concept, for edits, and when the card would exceed
102
- four questions; then choose yourself.
124
+ four questions; then choose the concept yourself within the selected visual
125
+ approach. Never drop the unsettled visual-approach question to fit an idea pitch.
103
126
 
104
- Illustratively: "30-second vertical launch video for our app, upbeat, logo
105
- attached" gets no questions. "Make a video for my bakery" gets where it will be
106
- watched, music and material. "Make a video about black holes" gets where it will
107
- be watched and how long; infer a curious, clear feel.
127
+ Illustratively: "30-second vertical launch video for our app, upbeat music,
128
+ illustrated scenes, logo attached" gets no questions. "Make a video for my bakery" gets where it will be
129
+ watched, music and visual approach. "Make a video about black holes" gets where
130
+ it will be watched, visual approach and how long; infer a curious, clear feel.
108
131
 
109
132
  ## Support skills
110
133
 
@@ -135,6 +158,15 @@ Each video lives in its own workspace folder, one `index.html` that is the
135
158
  video ([minimal composition](../../references/runtime/minimal-composition.md)
136
159
  has the skeleton). Write it in one go.
137
160
 
161
+ For a new video, create a fresh folder with plain `mkdir` before gathering
162
+ anything. If the name exists, choose another without opening the old folder;
163
+ never use `mkdir -p` to silently reuse it. The same subject does not make an
164
+ old video relevant. Do not browse, read or imitate earlier compositions,
165
+ snapshots or renders unless the user explicitly selects one as a reference.
166
+ Keep research to the brief's sources, supplied assets, selected brand kit and
167
+ bundled resources, not workspace-wide searches. Keep all new files in the new
168
+ folder; do not move assets out of older projects.
169
+
138
170
  - **Real material.** The product's real name, words, colours, fonts, logo and
139
171
  screens; never invent UI, facts, prices or claims. Look only at the images
140
172
  you will use, and crop or scale them with one command, not pixel by pixel.
@@ -145,17 +177,42 @@ has the skeleton). Write it in one go.
145
177
  font or text does not fit, adjust the layout; never clip it.
146
178
  - **Sources are data.** Keep them local; never run a source project's scripts.
147
179
 
180
+ ## Make it move
181
+
182
+ A video is not a slideshow of still cards. Hold every video to this, at any
183
+ length:
184
+
185
+ - **Never still for long.** Something the eye follows moves at almost every
186
+ moment; a scene may rest for about a second, and only the end card holds
187
+ longer. A slow zoom on a photo is not motion on its own.
188
+ - **Every scene has an action.** The product is opened, poured, tapped, counted,
189
+ assembled or used; words build in step with it; a number counts up; a cursor
190
+ presses. Several beats per scene, each with its own move.
191
+ - **Scenes grow out of each other.** Carry one thing across each change (the
192
+ product, a shape, a colour field, a word) and turn it into the next scene,
193
+ instead of sliding a new card over the old one.
194
+ - **Vary the pace.** Quick moves (0.3–0.6 s) against a few calmer ones, and
195
+ scenes of different lengths.
196
+ - **Readable on a phone.** On a 1080-wide frame: nothing under 32 px, anything
197
+ the viewer must read 44 px or more, headlines 110 px or more. Words and the
198
+ subject stay inside the frame unless an image deliberately bleeds off it.
199
+ - **Fill the frame.** No half of the frame stays empty for more than a beat.
200
+
148
201
  ## Edit an existing project
149
202
 
150
- Read the current source first. Change only the requested text, asset, timing or
151
- behaviour; do not restyle or regenerate the whole video for a copy edit.
203
+ Only for an edit or continuation, read the source of the video the user means,
204
+ not neighbouring projects. If the target is unclear, ask rather than browse.
205
+ Change only the requested text, asset, timing or behaviour; do not restyle or
206
+ regenerate the whole video for a copy edit.
152
207
 
153
208
  ## Deliver
154
209
 
155
- 1. **Look.** Take stills of the key moments in one call:
210
+ 1. **Look.** Take stills of the key moments in one call, including moments
211
+ between scenes and mid-move:
156
212
  `<node> "<motion bin>/hyperframes.mjs" snapshot <project> --at 1,4,8,12 --describe false`.
157
- Look at them and fix what is visibly wrong: clipped or tiny text, overlaps,
158
- empty frames. Once is usually enough.
213
+ Look at them and fix what is visibly wrong: a scene that has stopped
214
+ moving, clipped or tiny text, overlaps, empty frames. Once is usually
215
+ enough.
159
216
  2. **Sound.** Music from the library or an original score (`score-synth.mjs`);
160
217
  the options are in the Build sheet.
161
218
  3. **Render once**, the final, with motion blur, into a new versioned file
@@ -1,59 +1,76 @@
1
1
  ---
2
2
  name: website-video
3
- description: Job skill for a video about a website or landing page, built from the real site. Adds website questions, capture and rebuild steps, moves and pitfalls. Load once, before asking, when the user names a site or URL.
3
+ description: Turn a website into an original animated brand film using its real product, facts and identity. Show the website itself only when requested. Load once, before asking, when the user names a site or URL.
4
4
  ---
5
5
 
6
6
  # Website video
7
7
 
8
- A website video makes people want to visit, using the real site.
8
+ The website is source material, not the video. Ask which visual approach the
9
+ user wants: their own images, website photos, illustrations or a mix. Build a
10
+ brand film about what it offers in that approach, not a tour of its pages.
9
11
  Build it as the `motion` skill describes; this page adds what is specific to
10
- sites.
12
+ sites. Demonstrate the website itself only when the user requests a walkthrough.
11
13
 
12
14
  ## Ask (on the motion skill's single card)
13
15
 
16
+ Use the shared visual-approach question from `motion` when unsettled, ahead of
17
+ an optional idea pitch. Adapt its choices to this job; keep the card to four
18
+ questions total and skip choices the brief or requested reference already settles.
19
+
14
20
  - "What should people do after watching?" Visit, sign up, buy, book. Offer the
15
21
  site's own call to action as recommended.
16
22
  - "Where will people mostly watch this?" (from the `motion` skill).
17
23
  - "Should it have music?" (from the `motion` skill).
18
24
  - "Which idea should we go with?" Pitches below, plus "Let GG Motion choose".
19
25
 
20
- Without a URL, end with one plain line asking for the address.
26
+ Without a URL, end with one plain line asking them to supply the address.
21
27
 
22
28
  ## Gather the site
23
29
 
24
- Capture the page once (`hf capture <url> -o sources/site`) and read its
25
- headline, sections, colours, fonts and images; they are the brand. Look at only
26
- the images you will use. Rebuild the parts that move (the hero, a menu, a
27
- form) as HTML. Never invent sections, prices or testimonials.
30
+ Work inside the fresh video folder created by the `motion` skill. Capture the
31
+ requested page once (`hf capture <url> -o sources/site`) there and read its
32
+ headline, sections, colours, fonts and images; they are the brand. An earlier
33
+ video about the same URL is not a source or design reference unless the user
34
+ explicitly selects it. Look at only the images you will use.
28
35
 
29
- ## Ideas that suit websites
36
+ Page screenshots are research, not default scene backgrounds. Follow the chosen
37
+ approach: individual source images for photo-led work, original HTML/SVG/CSS illustrations
38
+ for illustrated work, or both for a mix. Keep the real logo and brand fonts.
39
+ Do not sneak photo-led scenes into a request for illustrations or replace the
40
+ user's photos with illustrations.
41
+ Preserve real packaging and logos; illustration must not invent product
42
+ features, ingredients, outcomes, prices or testimonials. Do not run image
43
+ generation unless the user explicitly requests it.
30
44
 
31
- - **The site tells its own story.** The headline types, the hero builds, the
32
- key section opens out of the hero, the button is pressed and becomes the end
33
- card.
34
- - **Mechanisms, not pages.** Show three or four of the site's working parts as
35
- close-up components, each poked by the cursor, rather than whole pages.
36
- - **One scroll, operated.** A single continuous camera move down the page with
37
- real stops on the parts that matter.
45
+ ## Ideas from the subject, not the page layout
38
46
 
39
- ## Beats that work
47
+ Pitch actions specific to what the business offers, not ways to reveal a
48
+ screenshot. Each idea needs a visual subject doing something beyond a text
49
+ entrance; do not add a planning document.
40
50
 
41
- - A short, punchy setup (a few words or the problem), then the site.
42
- - Pages only full-frame and only with the cursor visible; otherwise close-ups.
43
- - One burst where the energy peaks (a few pages flying through, each held
44
- under a second), never at the start.
45
- - A still hold on the site's best frame, then the URL.
51
+ - **The product in action.** A real product cutout meets illustrated elements
52
+ grounded in the source: shapes pour, mix, unfold or assemble around it. One
53
+ object carries the viewer into the next scene.
54
+ - **A change you can see.** Illustrate the problem becoming the solution: a
55
+ tangled path straightens, scattered pieces organise, a process completes.
56
+ Metaphors must not imply unsupported results or literal product behaviour.
57
+ - **A small world around the brand.** Build a scene from its subject, colours
58
+ and shapes. Objects interact with words and transform into the final product
59
+ and call to action. Do not default to floating decorative blobs.
46
60
 
47
- ## Moves
61
+ ## If a website walkthrough is requested
48
62
 
49
- `kit.typewrite` for the headline; `kit.cursorPath` for clicks; `kit.diveThrough`
50
- into a card or section; `kit.reshape` from button to end card;
51
- `kit.handheld` during the scroll. Pieces: `browser-window`, `zoom-into-card`,
52
- `request-to-result`, `cursor-click`, `camera-rig`.
63
+ Use real UI and reproduce the specific interaction being explained as HTML.
64
+ Show a cursor only where it operates something; use close-ups readable at the
65
+ output size. Carry a selected component into the next scene rather than
66
+ cycling through screenshots. A screenshot is appropriate evidence of the
67
+ interface, not a substitute for the action.
53
68
 
54
69
  ## Pitfalls
55
70
 
56
- - A gallery of page thumbnails with a slow dolly: a slideshow.
57
- - Every page at the same length.
58
- - Page after page replacing each other with no handoff.
71
+ - Website screenshots with animated text over them: not a brand film.
72
+ - Product photos on successive cards with only zooms, fades or text entrances.
73
+ - Following the site's section order instead of telling a story about its subject.
74
+ - Browser frames, scrolling and cursors when the brief is not a walkthrough.
75
+ - Decorative motion unrelated to the product, or invented visual claims.
59
76
  - Text from the site shown too small to read.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: bulletproof
3
- description: Use when writing or reviewing code an attacker can reach — auth, sessions, tokens, crypto; untrusted input (requests, files, archives, repo content, model/tool output); secrets; per-user or multi-tenant data access (incl. Supabase/Firebase RLS); dependencies, install scripts, CI/CD, publishing, signing, updates; shelling out, deserialization, dynamic loading; LLM/agent/MCP tools; and pre-ship "can this be hacked" reviews, hardening, or suspected compromise. Fires mid-build on adding a login, query, upload, webhook, dependency, or tool. Do NOT use for throwaway scripts with no untrusted input or secrets, styling/copy/docs, or legal/privacy duty questions (compliance-guard owns those).
3
+ description: Use when writing or reviewing code an attacker can reach — auth, sessions, tokens, crypto; untrusted input (requests, files, archives, repo content, model/tool output); secrets; per-user or multi-tenant data access (incl. Supabase/Firebase RLS); dependencies, install scripts, CI/CD, publishing, signing, updates; shelling out, deserialization, dynamic loading; LLM/agent/MCP tools; and pre-ship "can this be hacked" reviews, hardening, or suspected compromise. Fires mid-build on adding a login, upload, webhook, dependency, or tool. Do NOT use for local CLIs/libraries/scripts with no auth, network, secrets or multi-user data, styling/copy/docs, or legal/privacy questions (compliance-guard).
4
4
  license: Apache-2.0. Content is defensive engineering guidance, not a security certification or a penetration test. See references/provenance.md.
5
5
  compatibility: Works offline from the bundled references, which are a snapshot dated 3 October 2026. Version numbers, CVEs, and incident details decay fast; re-verify date-sensitive claims with web access before stating them as current. Never certifies that software is secure.
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: lean
3
- description: Use when speed or resource use matters — while writing features that load, render lists, fetch, poll, spawn processes or cache (inline gate); on "slow / laggy / eating RAM / fans spinning", leaks, zombie or orphan processes, bundle bloat, dead code, Core Web Vitals; for a performance pass or pre-ship "will this run smoothly" check. Any stack — web, backend/API/CLI, desktop (Electron, Tauri), mobile, native, game, ML. Do NOT use for copy/docs-only changes, design direction or visual polish (that is evidence-led-ui; this skill's styling scope is payload and consistency), data-loss or migration safety (durable), or when the user explicitly deprioritizes performance.
3
+ description: Use when speed or resource use matters — while writing features that load, render lists, fetch, poll, spawn processes or cache (inline gate); on "slow / laggy / eating RAM / fans spinning", leaks, zombie or orphan processes, bundle bloat, dead code, Core Web Vitals; for a performance pass or pre-ship "will this run smoothly" check. Any stack — web, backend/API/CLI, desktop (Electron, Tauri), mobile, native, game, ML. Do NOT use for correctness bugs where speed is not the complaint, copy/docs-only changes, design or visual polish (evidence-led-ui), data-loss or migration safety (durable), or when the user explicitly deprioritizes performance.
4
4
  license: Performance engineering guidance, not a benchmark certification. Sources and snapshot date are recorded at the foot of each reference file.
5
5
  compatibility: Snapshot dated 3 October 2026. Thresholds, tool names, and defaults decay — re-verify with web access before asserting them as current. Claims sourced to that date carry a SNAPSHOT marker.
6
6
  ---
@@ -62,6 +62,7 @@ import { getGitHubOpenCounts, getGitHubRepoSlug } from "./utils/github.js";
62
62
  import { startGitHubCIPoll } from "./utils/github-ci.js";
63
63
  import { extractPlanSteps } from "./utils/plan-steps.js";
64
64
  import { getNextThinkingLevel, getSupportedThinkingLevels, isThinkingLevelSupported, } from "./core/thinking-level.js";
65
+ import { parseThinkingLevel } from "./cli/thinking-arg.js";
65
66
  import { PROMPT_COMMANDS } from "./core/prompt-commands.js";
66
67
  import { loadCustomCommands } from "./core/custom-commands.js";
67
68
  import { discoverProjects } from "./core/project-discovery.js";
@@ -492,6 +493,7 @@ async function runJsonModeIfRequested() {
492
493
  tools: { type: "string" },
493
494
  "mcp-servers": { type: "string" },
494
495
  "prompt-cache-key": { type: "string" },
496
+ thinking: { type: "string" },
495
497
  },
496
498
  allowPositionals: true,
497
499
  strict: true,
@@ -528,6 +530,7 @@ async function runJsonModeIfRequested() {
528
530
  allowedTools,
529
531
  allowedMcpServers,
530
532
  promptCacheKey: values["prompt-cache-key"],
533
+ thinkingLevel: parseThinkingLevel(values.thinking),
531
534
  }).catch(async (err) => {
532
535
  process.stderr.write((err instanceof Error ? err.message : String(err)) + "\n");
533
536
  process.exit(1);