@selesai/code 0.10.0 → 0.10.2

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 (458) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cli/credential-print.js +4 -4
  3. package/dist/cli.js +0 -0
  4. package/dist/config.d.ts +5 -3
  5. package/dist/config.js +6 -4
  6. package/dist/core/compaction/branch-summarization.js +30 -30
  7. package/dist/core/compaction/compaction.js +81 -81
  8. package/dist/core/compaction/utils.js +2 -2
  9. package/dist/core/export-html/template.css +1066 -1066
  10. package/dist/core/export-html/template.html +55 -55
  11. package/dist/core/export-html/template.js +1864 -1864
  12. package/dist/core/export-html/vendor/highlight.min.js +1212 -1212
  13. package/dist/core/export-html/vendor/marked.min.js +78 -78
  14. package/dist/core/messages.js +7 -7
  15. package/dist/core/skills.d.ts +2 -0
  16. package/dist/core/skills.js +1 -0
  17. package/dist/extensions/context-compaction-reminder.test.ts +82 -82
  18. package/dist/extensions/context-compaction-reminder.ts +28 -28
  19. package/dist/extensions/pi-intercom/LICENSE +21 -21
  20. package/dist/extensions/pi-intercom/broker/client.test.ts +83 -83
  21. package/dist/extensions/pi-intercom/broker/framing.test.ts +114 -114
  22. package/dist/extensions/pi-intercom/broker/paths.ts +134 -134
  23. package/dist/extensions/pi-intercom/broker/runtime-claim.test.ts +34 -34
  24. package/dist/extensions/pi-intercom/broker/runtime-claim.ts +21 -21
  25. package/dist/extensions/pi-intercom/cwd.test.ts +40 -40
  26. package/dist/extensions/pi-intercom/cwd.ts +31 -31
  27. package/dist/extensions/pi-intercom/format-context.test.ts +31 -31
  28. package/dist/extensions/pi-intercom/format-context.ts +32 -32
  29. package/dist/extensions/pi-intercom/test/overlay-width.test.ts +66 -66
  30. package/dist/extensions/pi-intercom/ui/compose.ts +143 -143
  31. package/dist/extensions/pi-intercom/ui/session-list.ts +166 -166
  32. package/dist/extensions/pi-rewind-hook/README.md +245 -245
  33. package/dist/extensions/pi-rewind-hook/index.ts +1445 -1445
  34. package/dist/extensions/pi-rewind-hook/package.json +29 -29
  35. package/dist/extensions/pi-subagents/install.mjs +0 -0
  36. package/dist/extensions/pi-web-agent/package.json +31 -31
  37. package/dist/extensions/pi-web-agent/src/backends/config.ts +205 -205
  38. package/dist/extensions/pi-web-agent/src/backends/doctor.ts +136 -136
  39. package/dist/extensions/pi-web-agent/src/backends/factory.ts +152 -152
  40. package/dist/extensions/pi-web-agent/src/backends/settings-reader.ts +25 -25
  41. package/dist/extensions/pi-web-agent/src/cache/ttl-cache.ts +28 -28
  42. package/dist/extensions/pi-web-agent/src/changelog-notice.ts +136 -136
  43. package/dist/extensions/pi-web-agent/src/commands/web-agent-config.ts +946 -946
  44. package/dist/extensions/pi-web-agent/src/extension.ts +126 -126
  45. package/dist/extensions/pi-web-agent/src/extract/readability.ts +118 -118
  46. package/dist/extensions/pi-web-agent/src/fetch/browser-resolution.ts +199 -199
  47. package/dist/extensions/pi-web-agent/src/fetch/firecrawl-fetch.ts +100 -100
  48. package/dist/extensions/pi-web-agent/src/fetch/headless-fetch.ts +117 -117
  49. package/dist/extensions/pi-web-agent/src/fetch/http-fetch.ts +67 -67
  50. package/dist/extensions/pi-web-agent/src/orchestration/answer-synthesizer.ts +60 -60
  51. package/dist/extensions/pi-web-agent/src/orchestration/candidate-selector.ts +50 -50
  52. package/dist/extensions/pi-web-agent/src/orchestration/direct-url.ts +52 -52
  53. package/dist/extensions/pi-web-agent/src/orchestration/evidence-quality.ts +105 -105
  54. package/dist/extensions/pi-web-agent/src/orchestration/evidence-ranker.ts +45 -45
  55. package/dist/extensions/pi-web-agent/src/orchestration/index.ts +28 -28
  56. package/dist/extensions/pi-web-agent/src/orchestration/query-planner.ts +47 -47
  57. package/dist/extensions/pi-web-agent/src/orchestration/research-orchestrator.ts +376 -376
  58. package/dist/extensions/pi-web-agent/src/orchestration/research-types.ts +64 -64
  59. package/dist/extensions/pi-web-agent/src/orchestration/research-worker.ts +181 -181
  60. package/dist/extensions/pi-web-agent/src/orchestration/source-profile.ts +101 -101
  61. package/dist/extensions/pi-web-agent/src/orchestration/stop-decider.ts +81 -81
  62. package/dist/extensions/pi-web-agent/src/presentation/config-store.ts +210 -210
  63. package/dist/extensions/pi-web-agent/src/presentation/config.ts +75 -75
  64. package/dist/extensions/pi-web-agent/src/presentation/explore-presentation.ts +61 -61
  65. package/dist/extensions/pi-web-agent/src/presentation/fetch-presentation.ts +54 -54
  66. package/dist/extensions/pi-web-agent/src/presentation/search-presentation.ts +41 -41
  67. package/dist/extensions/pi-web-agent/src/presentation/select-view.ts +20 -20
  68. package/dist/extensions/pi-web-agent/src/presentation/types.ts +63 -63
  69. package/dist/extensions/pi-web-agent/src/search/brave.ts +114 -114
  70. package/dist/extensions/pi-web-agent/src/search/duckduckgo.ts +72 -72
  71. package/dist/extensions/pi-web-agent/src/search/searxng.ts +96 -96
  72. package/dist/extensions/pi-web-agent/src/tools/web-explore.ts +71 -71
  73. package/dist/extensions/pi-web-agent/src/tools/web-fetch-headless.ts +31 -31
  74. package/dist/extensions/pi-web-agent/src/tools/web-fetch.ts +31 -31
  75. package/dist/extensions/pi-web-agent/src/tools/web-search.ts +157 -157
  76. package/dist/extensions/pi-web-agent/src/types.ts +88 -88
  77. package/dist/extensions/ponytail/package.json +8 -8
  78. package/dist/extensions/question/constants.ts +30 -30
  79. package/dist/extensions/question/helpers.ts +58 -58
  80. package/dist/extensions/question/navigation.ts +14 -14
  81. package/dist/extensions/question/package.json +19 -19
  82. package/dist/extensions/question/selection-mode.ts +46 -46
  83. package/dist/extensions/question/shortcuts.ts +44 -44
  84. package/dist/extensions/question/types.ts +132 -132
  85. package/dist/extensions/test-resolve-hook-impl.mjs +6 -6
  86. package/dist/extensions/test-resolve-hook.mjs +6 -6
  87. package/dist/extensions/web-agent-onboarding.ts +222 -222
  88. package/dist/modes/interactive/components/settings-selector.d.ts +1 -1
  89. package/dist/modes/interactive/components/startup-box.d.ts +38 -0
  90. package/dist/modes/interactive/components/startup-box.js +90 -0
  91. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  92. package/dist/modes/interactive/interactive-mode.js +72 -123
  93. package/dist/package-manager-cli.js +71 -71
  94. package/dist/rpc-entry.js +0 -0
  95. package/dist/skills/agent-browser/SKILL.md +1 -0
  96. package/dist/skills/batch-grill-me/SKILL.md +1 -0
  97. package/dist/skills/brandkit/SKILL.md +1 -0
  98. package/dist/skills/design-references/SKILL.md +1 -0
  99. package/dist/skills/design-taste-frontend/SKILL.md +1 -0
  100. package/dist/skills/design-taste-frontend-v1/SKILL.md +1 -0
  101. package/dist/skills/full-output-enforcement/SKILL.md +1 -0
  102. package/dist/skills/gpt-taste/SKILL.md +1 -0
  103. package/dist/skills/grill-me/SKILL.md +1 -0
  104. package/dist/skills/handoff/SKILL.md +1 -0
  105. package/dist/skills/handoff-text/SKILL.md +1 -0
  106. package/dist/skills/high-end-visual-design/SKILL.md +1 -0
  107. package/dist/skills/image-to-code/SKILL.md +1 -0
  108. package/dist/skills/imagegen-frontend-mobile/SKILL.md +1 -0
  109. package/dist/skills/imagegen-frontend-web/SKILL.md +1 -0
  110. package/dist/skills/implanger/SKILL.md +1 -0
  111. package/dist/skills/improve-codebase/REFERENCE.md +78 -78
  112. package/dist/skills/improve-codebase/SKILL.md +1 -0
  113. package/dist/skills/industrial-brutalist-ui/SKILL.md +1 -0
  114. package/dist/skills/minimalist-ui/SKILL.md +1 -0
  115. package/dist/skills/pi-subagents/SKILL.md +1 -0
  116. package/dist/skills/planger/SKILL.md +1 -0
  117. package/dist/skills/ponytail/SKILL.md +1 -0
  118. package/dist/skills/ponytail-audit/SKILL.md +1 -0
  119. package/dist/skills/ponytail-debt/SKILL.md +1 -0
  120. package/dist/skills/ponytail-gain/SKILL.md +1 -0
  121. package/dist/skills/ponytail-help/SKILL.md +1 -0
  122. package/dist/skills/ponytail-review/SKILL.md +1 -0
  123. package/dist/skills/redesign-existing-projects/SKILL.md +1 -0
  124. package/dist/skills/selesai-handoff/SKILL.md +1 -0
  125. package/dist/skills/stitch-design-taste/SKILL.md +1 -0
  126. package/dist/skills/unlazy/SKILL.md +1 -0
  127. package/dist/skills/web-design-guidelines/SKILL.md +1 -0
  128. package/dist/skills/workflow/SKILL.md +1 -0
  129. package/docs/compaction.md +396 -396
  130. package/docs/containerization.md +111 -111
  131. package/docs/development.md +71 -71
  132. package/docs/docs.json +164 -164
  133. package/docs/environment-variables.md +86 -86
  134. package/docs/index.md +83 -83
  135. package/docs/json.md +82 -82
  136. package/docs/models.md +502 -502
  137. package/docs/packages.md +227 -227
  138. package/docs/plans/subagent-delegation/phase-0-correctness.md +264 -264
  139. package/docs/plans/subagent-delegation/phase-1-behavioral-contract.md +485 -485
  140. package/docs/plans/subagent-delegation/phase-2-context-controls.md +281 -281
  141. package/docs/plans/subagent-delegation/phase-3-advisory-routing.md +361 -361
  142. package/docs/plans/subagent-delegation/phase-4-optional-enforcement.md +380 -380
  143. package/docs/prompt-templates.md +95 -95
  144. package/docs/providers.md +293 -293
  145. package/docs/security.md +59 -59
  146. package/docs/session-format.md +414 -414
  147. package/docs/sessions.md +145 -145
  148. package/docs/shared-host-extensions.md +109 -109
  149. package/docs/shell-aliases.md +13 -13
  150. package/docs/skills.md +231 -231
  151. package/docs/terminal-setup.md +142 -142
  152. package/docs/termux.md +127 -127
  153. package/docs/themes.md +295 -295
  154. package/docs/tmux.md +63 -63
  155. package/docs/tui.md +927 -927
  156. package/docs/windows.md +17 -17
  157. package/examples/README.md +25 -25
  158. package/examples/extensions/README.md +211 -211
  159. package/examples/extensions/auto-commit-on-exit.ts +49 -49
  160. package/examples/extensions/bash-spawn-hook.ts +30 -30
  161. package/examples/extensions/bookmark.ts +50 -50
  162. package/examples/extensions/border-status-editor.ts +150 -150
  163. package/examples/extensions/built-in-tool-renderer.ts +249 -249
  164. package/examples/extensions/claude-rules.ts +86 -86
  165. package/examples/extensions/commands.ts +72 -72
  166. package/examples/extensions/confirm-destructive.ts +59 -59
  167. package/examples/extensions/custom-compaction.ts +130 -130
  168. package/examples/extensions/custom-footer.ts +64 -64
  169. package/examples/extensions/custom-header.ts +73 -73
  170. package/examples/extensions/custom-provider-anthropic/index.ts +610 -610
  171. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -24
  172. package/examples/extensions/custom-provider-anthropic/package.json +19 -19
  173. package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -404
  174. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -16
  175. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -82
  176. package/examples/extensions/dirty-repo-guard.ts +56 -56
  177. package/examples/extensions/doom-overlay/README.md +46 -46
  178. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -21
  179. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  180. package/examples/extensions/doom-overlay/doom/build.sh +152 -152
  181. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -72
  182. package/examples/extensions/doom-overlay/doom-component.ts +132 -132
  183. package/examples/extensions/doom-overlay/doom-engine.ts +173 -173
  184. package/examples/extensions/doom-overlay/doom-keys.ts +104 -104
  185. package/examples/extensions/doom-overlay/index.ts +74 -74
  186. package/examples/extensions/doom-overlay/wad-finder.ts +51 -51
  187. package/examples/extensions/dynamic-resources/SKILL.md +8 -8
  188. package/examples/extensions/dynamic-resources/dynamic.json +79 -79
  189. package/examples/extensions/dynamic-resources/dynamic.md +5 -5
  190. package/examples/extensions/dynamic-resources/index.ts +15 -15
  191. package/examples/extensions/dynamic-tools.ts +74 -74
  192. package/examples/extensions/event-bus.ts +43 -43
  193. package/examples/extensions/file-trigger.ts +41 -41
  194. package/examples/extensions/git-checkpoint.ts +53 -53
  195. package/examples/extensions/git-merge-and-resolve.ts +115 -115
  196. package/examples/extensions/github-issue-autocomplete.ts +185 -185
  197. package/examples/extensions/gondolin/index.ts +531 -531
  198. package/examples/extensions/gondolin/package-lock.json +185 -185
  199. package/examples/extensions/gondolin/package.json +19 -19
  200. package/examples/extensions/handoff.ts +199 -199
  201. package/examples/extensions/hello.ts +26 -26
  202. package/examples/extensions/hidden-thinking-label.ts +53 -53
  203. package/examples/extensions/inline-bash.ts +94 -94
  204. package/examples/extensions/input-transform-streaming.ts +39 -39
  205. package/examples/extensions/input-transform.ts +43 -43
  206. package/examples/extensions/interactive-shell.ts +196 -196
  207. package/examples/extensions/mac-system-theme.ts +47 -47
  208. package/examples/extensions/message-renderer.ts +59 -59
  209. package/examples/extensions/minimal-mode.ts +426 -426
  210. package/examples/extensions/modal-editor.ts +85 -85
  211. package/examples/extensions/model-status.ts +31 -31
  212. package/examples/extensions/notify.ts +55 -55
  213. package/examples/extensions/overlay-qa-tests.ts +1450 -1450
  214. package/examples/extensions/overlay-test.ts +153 -153
  215. package/examples/extensions/permission-gate.ts +34 -34
  216. package/examples/extensions/pirate.ts +47 -47
  217. package/examples/extensions/plan-mode/README.md +66 -66
  218. package/examples/extensions/plan-mode/index.ts +390 -390
  219. package/examples/extensions/plan-mode/utils.ts +168 -168
  220. package/examples/extensions/preset.ts +436 -436
  221. package/examples/extensions/project-trust.ts +64 -64
  222. package/examples/extensions/prompt-customizer.ts +97 -97
  223. package/examples/extensions/protected-paths.ts +30 -30
  224. package/examples/extensions/provider-payload.ts +18 -18
  225. package/examples/extensions/qna.ts +122 -122
  226. package/examples/extensions/question.ts +285 -285
  227. package/examples/extensions/questionnaire.ts +448 -448
  228. package/examples/extensions/rainbow-editor.ts +88 -88
  229. package/examples/extensions/reload-runtime.ts +37 -37
  230. package/examples/extensions/rpc-demo.ts +118 -118
  231. package/examples/extensions/sandbox/index.ts +321 -321
  232. package/examples/extensions/sandbox/package-lock.json +92 -92
  233. package/examples/extensions/sandbox/package.json +19 -19
  234. package/examples/extensions/send-user-message.ts +97 -97
  235. package/examples/extensions/session-name.ts +27 -27
  236. package/examples/extensions/shutdown-command.ts +63 -63
  237. package/examples/extensions/snake.ts +343 -343
  238. package/examples/extensions/space-invaders.ts +560 -560
  239. package/examples/extensions/ssh.ts +220 -220
  240. package/examples/extensions/status-line.ts +32 -32
  241. package/examples/extensions/structured-output.ts +65 -65
  242. package/examples/extensions/subagent/README.md +175 -175
  243. package/examples/extensions/subagent/agents/planner.md +37 -37
  244. package/examples/extensions/subagent/agents/reviewer.md +35 -35
  245. package/examples/extensions/subagent/agents/scout.md +50 -50
  246. package/examples/extensions/subagent/agents/worker.md +24 -24
  247. package/examples/extensions/subagent/agents.ts +126 -126
  248. package/examples/extensions/subagent/index.ts +1015 -1015
  249. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -10
  250. package/examples/extensions/subagent/prompts/implement.md +10 -10
  251. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -9
  252. package/examples/extensions/summarize.ts +209 -209
  253. package/examples/extensions/system-prompt-header.ts +17 -17
  254. package/examples/extensions/tic-tac-toe.ts +1008 -1008
  255. package/examples/extensions/timed-confirm.ts +70 -70
  256. package/examples/extensions/titlebar-spinner.ts +58 -58
  257. package/examples/extensions/todo.ts +297 -297
  258. package/examples/extensions/tool-override.ts +144 -144
  259. package/examples/extensions/tools.ts +146 -146
  260. package/examples/extensions/trigger-compact.ts +50 -50
  261. package/examples/extensions/truncated-tool.ts +195 -195
  262. package/examples/extensions/widget-placement.ts +9 -9
  263. package/examples/extensions/with-deps/index.ts +32 -32
  264. package/examples/extensions/with-deps/package-lock.json +31 -31
  265. package/examples/extensions/with-deps/package.json +22 -22
  266. package/examples/extensions/working-indicator.ts +123 -123
  267. package/examples/extensions/working-message-test.ts +25 -25
  268. package/examples/rpc-extension-ui.ts +632 -632
  269. package/examples/sdk/01-minimal.ts +26 -26
  270. package/examples/sdk/02-custom-model.ts +53 -53
  271. package/examples/sdk/03-custom-prompt.ts +75 -75
  272. package/examples/sdk/04-skills.ts +55 -55
  273. package/examples/sdk/05-tools.ts +48 -48
  274. package/examples/sdk/06-extensions.ts +99 -99
  275. package/examples/sdk/07-context-files.ts +47 -47
  276. package/examples/sdk/08-prompt-templates.ts +51 -51
  277. package/examples/sdk/09-api-keys-and-oauth.ts +52 -52
  278. package/examples/sdk/10-settings.ts +53 -53
  279. package/examples/sdk/11-sessions.ts +52 -52
  280. package/examples/sdk/12-full-control.ts +79 -79
  281. package/examples/sdk/13-session-runtime.ts +67 -67
  282. package/examples/sdk/README.md +144 -144
  283. package/package.json +1 -1
  284. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +0 -3
  285. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +0 -2
  286. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +0 -17
  287. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +0 -57
  288. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +0 -16
  289. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +0 -15
  290. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +0 -18
  291. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +0 -9
  292. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +0 -10
  293. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +0 -10
  294. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +0 -20
  295. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +0 -3
  296. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +0 -96
  297. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +0 -119
  298. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +0 -85
  299. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +0 -620
  300. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +0 -5
  301. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +0 -56
  302. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +0 -32
  303. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +0 -49
  304. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +0 -93
  305. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +0 -128
  306. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +0 -7
  307. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +0 -38
  308. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +0 -3
  309. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +0 -15
  310. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +0 -9
  311. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +0 -29
  312. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +0 -2
  313. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +0 -22
  314. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +0 -37
  315. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +0 -34
  316. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +0 -12
  317. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +0 -23
  318. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +0 -171
  319. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +0 -1261
  320. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +0 -20
  321. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +0 -54
  322. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +0 -22
  323. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +0 -13
  324. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +0 -358
  325. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +0 -77
  326. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +0 -512
  327. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +0 -43
  328. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +0 -121
  329. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +0 -82
  330. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +0 -17
  331. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +0 -7
  332. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +0 -210
  333. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +0 -15
  334. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +0 -54
  335. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +0 -4
  336. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +0 -55
  337. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +0 -2
  338. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +0 -5
  339. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +0 -30
  340. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +0 -206
  341. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +0 -15
  342. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +0 -106
  343. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +0 -19
  344. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +0 -356
  345. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +0 -297
  346. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +0 -60
  347. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +0 -15
  348. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +0 -18
  349. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +0 -28
  350. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +0 -3
  351. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +0 -10
  352. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +0 -68
  353. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +0 -106
  354. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +0 -51
  355. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +0 -6
  356. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +0 -35
  357. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +0 -37
  358. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +0 -40
  359. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +0 -37
  360. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +0 -52
  361. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +0 -10
  362. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +0 -35
  363. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +0 -24
  364. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  365. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +0 -70
  366. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +0 -26
  367. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +0 -36
  368. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +0 -19
  369. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +0 -3
  370. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +0 -61
  371. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +0 -23
  372. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +0 -3
  373. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +0 -10
  374. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +0 -42
  375. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +0 -35
  376. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +0 -12
  377. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +0 -33
  378. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +0 -9
  379. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +0 -34
  380. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +0 -22
  381. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  382. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  383. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  384. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  385. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +0 -102
  386. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  387. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  388. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +0 -19
  389. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +0 -20
  390. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +0 -23
  391. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +0 -12
  392. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  393. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  394. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +0 -22
  395. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +0 -23
  396. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +0 -26
  397. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +0 -25
  398. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +0 -32
  399. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +0 -34
  400. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
  401. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +0 -52
  402. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +0 -54
  403. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +0 -33
  404. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
  405. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  406. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +0 -95
  407. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +0 -77
  408. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  409. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  410. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +0 -28
  411. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  412. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  413. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +0 -63
  414. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +0 -94
  415. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +0 -23
  416. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  417. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +0 -14
  418. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  419. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +0 -394
  420. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +0 -12
  421. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +0 -29
  422. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +0 -120
  423. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +0 -28
  424. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +0 -17
  425. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +0 -246
  426. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +0 -20
  427. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +0 -457
  428. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +0 -8
  429. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +0 -3
  430. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +0 -2
  431. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +0 -22
  432. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +0 -18
  433. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +0 -11
  434. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +0 -11
  435. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +0 -4
  436. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +0 -4
  437. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +0 -5
  438. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +0 -8
  439. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +0 -5
  440. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +0 -26
  441. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +0 -7
  442. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +0 -10
  443. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +0 -18
  444. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +0 -30
  445. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +0 -2
  446. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +0 -16
  447. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +0 -3
  448. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +0 -3
  449. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +0 -9
  450. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +0 -31
  451. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +0 -21
  452. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +0 -2
  453. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +0 -31
  454. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +0 -5
  455. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +0 -12
  456. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +0 -3
  457. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +0 -15
  458. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +0 -3
@@ -48,6 +48,7 @@ import { CustomEntryComponent } from "./components/custom-entry.js";
48
48
  import { CustomMessageComponent } from "./components/custom-message.js";
49
49
  import { DaxnutsComponent } from "./components/daxnuts.js";
50
50
  import { DynamicBorder } from "./components/dynamic-border.js";
51
+ import { StartupBox } from "./components/startup-box.js";
51
52
  import { EarendilAnnouncementComponent } from "./components/earendil-announcement.js";
52
53
  import { ExtensionEditorComponent } from "./components/extension-editor.js";
53
54
  import { ExtensionInputComponent } from "./components/extension-input.js";
@@ -99,6 +100,15 @@ function isDeadTerminalError(error) {
99
100
  return code !== undefined && DEAD_TERMINAL_ERROR_CODES.has(code);
100
101
  }
101
102
  const ANTHROPIC_SUBSCRIPTION_AUTH_WARNING = "Anthropic subscription auth is active. Third-party harness usage draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage. Disable this warning in /settings.";
103
+ const SELESAI_LOGO = [
104
+ " ____ ____ __ ____ ____ ______ ______",
105
+ "/\\ _`\\ /\\ _`\\ /\\ \\ /\\ _`\\ /\\ _`\\ /\\ _ \\/\\__ _\\",
106
+ "\\ \\,\\L\\_\\ \\ \\L\\_\\ \\ \\ \\ \\ \\L\\_\\ \\,\\L\\_\\ \\ \\L\\ \\/_/\\ \\/",
107
+ " \\/_\\__ \\\\ \\ _\\L\\ \\ \\ __\\ \\ _\\L\\/_\\__ \\\\ \\ __ \\ \\ \\ \\",
108
+ " /\\ \\L\\ \\ \\ \\L\\ \\ \\ \\L\\ \\\\ \\ \\L\\ \\/\\ \\L\\ \\ \\ \\/\\ \\ \\_\\ \\__",
109
+ " \\ `\\____\\ \\____/\\ \\____/ \\ \\____/\\ `\\____\\ \\_\\ \\_\\/\\_____\\",
110
+ " \\/_____/\\/___/ \\/___/ \\/___/ \\/_____/\\/_/\\/_/\\/_____/",
111
+ ].join("\n");
102
112
  function isAnthropicSubscriptionAuthKey(apiKey) {
103
113
  return typeof apiKey === "string" && apiKey.startsWith("sk-ant-oat");
104
114
  }
@@ -310,6 +320,8 @@ export class InteractiveMode {
310
320
  headerContainer;
311
321
  // Built-in header (logo + keybinding hints + changelog)
312
322
  builtInHeader = undefined;
323
+ // Startup banner (logo + loaded resources) dismisses on first user message
324
+ startupBannerDismissed = false;
313
325
  // Custom header from extension (undefined = use built-in header)
314
326
  customHeader = undefined;
315
327
  options;
@@ -665,52 +677,36 @@ export class InteractiveMode {
665
677
  this.ui.start();
666
678
  this.isInitialized = true;
667
679
  await this.themeController.applyFromSettings();
668
- // Add header with keybindings from config (unless silenced)
669
- if (this.options.verbose || !this.settingsManager.getQuietStartup()) {
670
- const logo = theme.bold(theme.fg("accent", APP_NAME)) + theme.fg("dim", ` v${this.version}`);
671
- // Build startup instructions using keybinding hint helpers
672
- const hint = (keybinding, description) => keyHint(keybinding, description);
673
- const expandedInstructions = [
674
- hint("app.interrupt", "to interrupt"),
675
- hint("app.clear", "to clear"),
676
- rawKeyHint(`${keyText("app.clear")} twice`, "to exit"),
677
- hint("app.exit", "to exit (empty)"),
678
- hint("app.suspend", "to suspend"),
679
- keyHint("tui.editor.deleteToLineEnd", "to delete to end"),
680
- hint("app.thinking.cycle", "to cycle thinking level"),
681
- rawKeyHint(`${keyText("app.model.cycleForward")}/${keyText("app.model.cycleBackward")}`, "to cycle models"),
682
- hint("app.model.select", "to select model"),
683
- hint("app.tools.expand", "to expand tools"),
684
- hint("app.thinking.toggle", "to expand thinking"),
685
- hint("app.editor.external", "for external editor"),
686
- rawKeyHint("/", "for commands"),
687
- rawKeyHint("!", "to run bash"),
688
- rawKeyHint("!!", "to run bash (no context)"),
689
- hint("app.message.followUp", "to queue follow-up"),
690
- hint("app.message.dequeue", "to edit all queued messages"),
691
- hint("app.clipboard.pasteImage", "to paste image (with text fallback)"),
692
- rawKeyHint("drop files", "to attach"),
693
- ].join("\n");
694
- const compactInstructions = [
695
- hint("app.interrupt", "interrupt"),
696
- rawKeyHint(`${keyText("app.clear")}/${keyText("app.exit")}`, "clear/exit"),
697
- rawKeyHint("/", "commands"),
698
- rawKeyHint("!", "bash"),
699
- hint("app.tools.expand", "more"),
700
- ].join(theme.fg("muted", " · "));
701
- const compactOnboarding = theme.fg("dim", `Press ${keyText("app.tools.expand")} to show full startup help and loaded resources.`);
702
- const onboarding = theme.fg("dim", `Pi can explain its own features and look up its docs. Ask it how to use or extend Pi.`);
703
- this.builtInHeader = new ExpandableText(() => `${logo}\n${compactInstructions}\n${compactOnboarding}\n\n${onboarding}`, () => `${logo}\n${expandedInstructions}\n\n${onboarding}`, this.getStartupExpansionState(), 1, 0);
704
- // Setup UI layout
705
- this.headerContainer.addChild(new Spacer(1));
706
- this.headerContainer.addChild(this.builtInHeader);
707
- this.headerContainer.addChild(new Spacer(1));
708
- }
709
- else {
710
- // Minimal header when silenced
711
- this.builtInHeader = new Text("", 0, 0);
712
- this.headerContainer.addChild(this.builtInHeader);
713
- }
680
+ // Brand banner always appears; quiet startup only hides keybinding help.
681
+ const logo = `${theme.bold(theme.fg("accent", SELESAI_LOGO))}\n${theme.fg("dim", ` ${APP_NAME} v${this.version} · /help for commands`)}`;
682
+ // Build startup instructions using keybinding hint helpers
683
+ const hint = (keybinding, description) => keyHint(keybinding, description);
684
+ const expandedInstructions = [
685
+ hint("app.interrupt", "to interrupt"),
686
+ hint("app.clear", "to clear"),
687
+ rawKeyHint(`${keyText("app.clear")} twice`, "to exit"),
688
+ hint("app.exit", "to exit (empty)"),
689
+ hint("app.suspend", "to suspend"),
690
+ keyHint("tui.editor.deleteToLineEnd", "to delete to end"),
691
+ hint("app.thinking.cycle", "to cycle thinking level"),
692
+ rawKeyHint(`${keyText("app.model.cycleForward")}/${keyText("app.model.cycleBackward")}`, "to cycle models"),
693
+ hint("app.model.select", "to select model"),
694
+ hint("app.tools.expand", "to expand tools"),
695
+ hint("app.thinking.toggle", "to expand thinking"),
696
+ hint("app.editor.external", "for external editor"),
697
+ rawKeyHint("/", "for commands"),
698
+ rawKeyHint("!", "to run bash"),
699
+ rawKeyHint("!!", "to run bash (no context)"),
700
+ hint("app.message.followUp", "to queue follow-up"),
701
+ hint("app.message.dequeue", "to edit all queued messages"),
702
+ hint("app.clipboard.pasteImage", "to paste image (with text fallback)"),
703
+ rawKeyHint("drop files", "to attach"),
704
+ ].join("\n");
705
+ this.builtInHeader = new ExpandableText(() => logo, () => `${logo}\n\n${expandedInstructions}`, this.getStartupExpansionState(), 1, 0);
706
+ // Setup UI layout
707
+ this.headerContainer.addChild(new Spacer(1));
708
+ this.headerContainer.addChild(this.builtInHeader);
709
+ this.headerContainer.addChild(new Spacer(1));
714
710
  this.ui.requestRender();
715
711
  // Ensure fd and rg are available after mounting the TUI (downloads if missing, adds to PATH via getBinDir)
716
712
  // so slow downloads do not make startup appear frozen.
@@ -1235,25 +1231,14 @@ export class InteractiveMode {
1235
1231
  }
1236
1232
  showLoadedResources(options) {
1237
1233
  // Resource rendering is idempotent; chat clears no longer clear this separate container.
1234
+ if (this.startupBannerDismissed)
1235
+ return;
1238
1236
  this.loadedResourcesContainer.clear();
1239
- const showListing = options?.force || this.options.verbose || !this.settingsManager.getQuietStartup();
1237
+ const showListing = options?.force || !this.startupBannerDismissed || this.options.verbose || !this.settingsManager.getQuietStartup();
1240
1238
  const showDiagnostics = showListing || options?.showDiagnosticsWhenQuiet === true;
1241
1239
  if (!showListing && !showDiagnostics) {
1242
1240
  return;
1243
1241
  }
1244
- const sectionHeader = (name, color = "mdHeading") => theme.fg(color, `[${name}]`);
1245
- const formatCompactList = (items, options) => {
1246
- const labels = items.map((item) => item.trim()).filter((item) => item.length > 0);
1247
- if (options?.sort !== false) {
1248
- labels.sort((a, b) => a.localeCompare(b));
1249
- }
1250
- return theme.fg("dim", ` ${labels.join(", ")}`);
1251
- };
1252
- const addLoadedSection = (name, collapsedBody, expandedBody = collapsedBody, color = "mdHeading") => {
1253
- const section = new ExpandableText(() => `${sectionHeader(name, color)}\n${collapsedBody}`, () => `${sectionHeader(name, color)}\n${expandedBody}`, this.getStartupExpansionState(), 0, 0);
1254
- this.loadedResourcesContainer.addChild(section);
1255
- this.loadedResourcesContainer.addChild(new Spacer(1));
1256
- };
1257
1242
  const skillsResult = this.session.resourceLoader.getSkills();
1258
1243
  const promptsResult = this.session.resourceLoader.getPrompts();
1259
1244
  const themesResult = this.session.resourceLoader.getThemes();
@@ -1287,70 +1272,16 @@ export class InteractiveMode {
1287
1272
  }
1288
1273
  }
1289
1274
  if (showListing) {
1290
- const systemPromptSource = this.session.resourceLoader.getSystemPromptSource();
1291
- const contextFiles = [
1292
- ...(systemPromptSource ? [systemPromptSource] : []),
1293
- ...this.session.resourceLoader.getAppendSystemPromptSources(),
1294
- ...this.session.resourceLoader.getAgentsFiles().agentsFiles,
1295
- ];
1296
- if (contextFiles.length > 0) {
1297
- this.loadedResourcesContainer.addChild(new Spacer(1));
1298
- const contextList = contextFiles
1299
- .map((f) => theme.fg("dim", ` ${this.formatDisplayPath(f.path)}`))
1300
- .join("\n");
1301
- const contextCompactList = formatCompactList(contextFiles.map((contextFile) => this.formatContextPath(contextFile.path)), { sort: false });
1302
- addLoadedSection("Context", contextCompactList, contextList);
1303
- }
1304
1275
  const skills = skillsResult.skills;
1305
1276
  if (skills.length > 0) {
1306
- const groups = this.buildScopeGroups(skills.map((skill) => ({ path: skill.filePath, sourceInfo: skill.sourceInfo })));
1307
- const skillList = this.formatScopeGroups(groups, {
1308
- formatPath: (item) => this.formatDisplayPath(item.path),
1309
- formatPackagePath: (item) => this.getShortPath(item.path, item.sourceInfo),
1310
- });
1311
- const skillCompactList = formatCompactList(skills.map((skill) => skill.name));
1312
- addLoadedSection("Skills", skillCompactList, skillList);
1313
- }
1314
- const templates = this.session.promptTemplates;
1315
- if (templates.length > 0) {
1316
- const groups = this.buildScopeGroups(templates.map((template) => ({ path: template.filePath, sourceInfo: template.sourceInfo })));
1317
- const templateByPath = new Map(templates.map((t) => [t.filePath, t]));
1318
- const templateList = this.formatScopeGroups(groups, {
1319
- formatPath: (item) => {
1320
- const template = templateByPath.get(item.path);
1321
- return template ? `/${template.name}` : this.formatDisplayPath(item.path);
1322
- },
1323
- formatPackagePath: (item) => {
1324
- const template = templateByPath.get(item.path);
1325
- return template ? `/${template.name}` : this.formatDisplayPath(item.path);
1326
- },
1327
- });
1328
- const promptCompactList = formatCompactList(templates.map((template) => `/${template.name}`));
1329
- addLoadedSection("Prompts", promptCompactList, templateList);
1330
- }
1331
- if (extensions.length > 0) {
1332
- const groups = this.buildScopeGroups(extensions);
1333
- const extList = this.formatScopeGroups(groups, {
1334
- formatPath: (item) => this.formatExtensionDisplayPath(item.path),
1335
- formatPackagePath: (item) => this.formatExtensionDisplayPath(this.getShortPath(item.path, item.sourceInfo)),
1336
- });
1337
- const extensionCompactList = formatCompactList(this.getCompactExtensionLabels(extensions));
1338
- addLoadedSection("Extensions", extensionCompactList, extList, "mdHeading");
1339
- }
1340
- // Show loaded themes (excluding built-in)
1341
- const loadedThemes = themesResult.themes;
1342
- const customThemes = loadedThemes.filter((t) => t.sourcePath);
1343
- if (customThemes.length > 0) {
1344
- const groups = this.buildScopeGroups(customThemes.map((loadedTheme) => ({
1345
- path: loadedTheme.sourcePath,
1346
- sourceInfo: loadedTheme.sourceInfo,
1347
- })));
1348
- const themeList = this.formatScopeGroups(groups, {
1349
- formatPath: (item) => this.formatDisplayPath(item.path),
1350
- formatPackagePath: (item) => this.getShortPath(item.path, item.sourceInfo),
1351
- });
1352
- const themeCompactList = formatCompactList(customThemes.map((loadedTheme) => loadedTheme.name ?? this.getCompactPathLabel(loadedTheme.sourcePath, loadedTheme.sourceInfo)));
1353
- addLoadedSection("Themes", themeCompactList, themeList);
1277
+ const skillLabels = skills.map((skill) => skill.category ? `[${skill.category}] ${skill.name}` : skill.name);
1278
+ this.loadedResourcesContainer.addChild(new StartupBox("Skills", skillLabels));
1279
+ this.loadedResourcesContainer.addChild(new Spacer(1));
1280
+ }
1281
+ const tools = this.session.getActiveToolNames();
1282
+ if (tools.length > 0) {
1283
+ this.loadedResourcesContainer.addChild(new StartupBox("Tools", tools));
1284
+ this.loadedResourcesContainer.addChild(new Spacer(1));
1354
1285
  }
1355
1286
  }
1356
1287
  if (showDiagnostics) {
@@ -1391,6 +1322,15 @@ export class InteractiveMode {
1391
1322
  }
1392
1323
  }
1393
1324
  }
1325
+ /** Dismiss the startup banner (logo + loaded resources) on first user message. */
1326
+ dismissStartupBanner() {
1327
+ if (this.startupBannerDismissed)
1328
+ return;
1329
+ this.startupBannerDismissed = true;
1330
+ this.headerContainer.clear();
1331
+ this.loadedResourcesContainer.clear();
1332
+ this.ui.requestRender();
1333
+ }
1394
1334
  /**
1395
1335
  * Initialize the extension system with TUI-based UI context.
1396
1336
  */
@@ -2496,6 +2436,7 @@ export class InteractiveMode {
2496
2436
  this.editor.setText(text);
2497
2437
  return;
2498
2438
  }
2439
+ this.dismissStartupBanner();
2499
2440
  this.editor.addToHistory?.(text);
2500
2441
  await this.handleBashCommand(command, isExcluded);
2501
2442
  this.isBashMode = false;
@@ -2506,11 +2447,13 @@ export class InteractiveMode {
2506
2447
  // Queue input during compaction (extension commands execute immediately)
2507
2448
  if (this.session.isCompacting) {
2508
2449
  if (this.isExtensionCommand(text)) {
2450
+ this.dismissStartupBanner();
2509
2451
  this.editor.addToHistory?.(text);
2510
2452
  this.editor.setText("");
2511
2453
  await this.session.prompt(text, { images });
2512
2454
  }
2513
2455
  else {
2456
+ this.dismissStartupBanner();
2514
2457
  this.queueCompactionMessage(text, "steer", images);
2515
2458
  }
2516
2459
  return;
@@ -2518,6 +2461,7 @@ export class InteractiveMode {
2518
2461
  // If streaming, use prompt() with steer behavior
2519
2462
  // This handles extension commands (execute immediately), prompt template expansion, and queueing
2520
2463
  if (this.session.isStreaming) {
2464
+ this.dismissStartupBanner();
2521
2465
  this.editor.addToHistory?.(text);
2522
2466
  this.editor.setText("");
2523
2467
  await this.session.prompt(text, { streamingBehavior: "steer", images });
@@ -2528,6 +2472,7 @@ export class InteractiveMode {
2528
2472
  // Normal message submission
2529
2473
  // First, move any pending bash components to chat
2530
2474
  this.flushPendingBashComponents();
2475
+ this.dismissStartupBanner();
2531
2476
  const input = { text, images };
2532
2477
  if (this.onInputCallback) {
2533
2478
  this.onInputCallback(input);
@@ -3103,6 +3048,10 @@ export class InteractiveMode {
3103
3048
  const times = compactionCount === 1 ? "1 time" : `${compactionCount} times`;
3104
3049
  this.showStatus(`Session compacted ${times}`);
3105
3050
  }
3051
+ // Resume: jump to the end of the transcript
3052
+ if (entries.length > 0) {
3053
+ this.transcriptScrollView?.scrollToEnd();
3054
+ }
3106
3055
  }
3107
3056
  renderProjectTrustWarningIfNeeded() {
3108
3057
  if (this.settingsManager.isProjectTrusted() || !hasTrustRequiringProjectResources(this.sessionManager.getCwd())) {
@@ -3687,7 +3636,7 @@ export class InteractiveMode {
3687
3636
  const currentModel = slash > 0 ? this.session.modelRuntime.getModel(currentValue.slice(0, slash), currentValue.slice(slash + 1)) : undefined;
3688
3637
  return new ModelSelectorComponent(this.ui, currentModel, this.settingsManager, this.session.modelRuntime, this.session.scopedModels, (model) => {
3689
3638
  this.settingsManager.setImageCaptionModel(model ? `${model.provider}/${model.id}` : undefined);
3690
- selectorDone();
3639
+ selectorDone(model ? `${model.provider}/${model.id}` : "off");
3691
3640
  this.showStatus(model ? `Vision caption model: ${model.provider}/${model.id}` : "Vision captioning disabled");
3692
3641
  }, selectorDone, undefined, { modelFilter: (model) => model.input.includes("image"), allowOff: true, persistSelection: false });
3693
3642
  },
@@ -52,91 +52,91 @@ function getPackageCommandUsage(command) {
52
52
  }
53
53
  const CONFIG_COMMAND_USAGE = `${APP_NAME} config [-l] [--approve|--no-approve]`;
54
54
  function printConfigCommandHelp() {
55
- console.log(`${chalk.bold("Usage:")}
56
- ${CONFIG_COMMAND_USAGE}
57
-
58
- Open the resource configuration TUI to enable or disable package resources.
59
- Without -l, starts in global settings (~/${CONFIG_DIR_NAME}/agent/settings.json).
60
- Press Tab in the TUI to switch between global and project-local modes.
61
-
62
- Options:
63
- -l, --local Edit project overrides (${CONFIG_DIR_NAME}/settings.json)
64
- -a, --approve Trust project-local files for this command with -l
65
- -na, --no-approve Ignore project-local files for this command with -l
55
+ console.log(`${chalk.bold("Usage:")}
56
+ ${CONFIG_COMMAND_USAGE}
57
+
58
+ Open the resource configuration TUI to enable or disable package resources.
59
+ Without -l, starts in global settings (~/${CONFIG_DIR_NAME}/agent/settings.json).
60
+ Press Tab in the TUI to switch between global and project-local modes.
61
+
62
+ Options:
63
+ -l, --local Edit project overrides (${CONFIG_DIR_NAME}/settings.json)
64
+ -a, --approve Trust project-local files for this command with -l
65
+ -na, --no-approve Ignore project-local files for this command with -l
66
66
  `);
67
67
  }
68
68
  function printPackageCommandHelp(command) {
69
69
  switch (command) {
70
70
  case "install":
71
- console.log(`${chalk.bold("Usage:")}
72
- ${getPackageCommandUsage("install")}
73
-
74
- Install a package and add it to settings.
75
-
76
- Options:
77
- -l, --local Install project-locally (${CONFIG_DIR_NAME}/settings.json)
78
- -a, --approve Trust project-local files for this command
79
- -na, --no-approve Ignore project-local files for this command
80
-
81
- Examples:
82
- ${APP_NAME} install npm:@foo/bar
83
- ${APP_NAME} install git:github.com/user/repo
84
- ${APP_NAME} install git:git@github.com:user/repo
85
- ${APP_NAME} install https://github.com/user/repo
86
- ${APP_NAME} install ssh://git@github.com/user/repo
87
- ${APP_NAME} install ./local/path
71
+ console.log(`${chalk.bold("Usage:")}
72
+ ${getPackageCommandUsage("install")}
73
+
74
+ Install a package and add it to settings.
75
+
76
+ Options:
77
+ -l, --local Install project-locally (${CONFIG_DIR_NAME}/settings.json)
78
+ -a, --approve Trust project-local files for this command
79
+ -na, --no-approve Ignore project-local files for this command
80
+
81
+ Examples:
82
+ ${APP_NAME} install npm:@foo/bar
83
+ ${APP_NAME} install git:github.com/user/repo
84
+ ${APP_NAME} install git:git@github.com:user/repo
85
+ ${APP_NAME} install https://github.com/user/repo
86
+ ${APP_NAME} install ssh://git@github.com/user/repo
87
+ ${APP_NAME} install ./local/path
88
88
  `);
89
89
  return;
90
90
  case "remove":
91
- console.log(`${chalk.bold("Usage:")}
92
- ${getPackageCommandUsage("remove")}
93
-
94
- Remove a package and its source from settings.
95
- Alias: ${APP_NAME} uninstall <source> [-l]
96
-
97
- Options:
98
- -l, --local Remove from project settings (${CONFIG_DIR_NAME}/settings.json)
99
- -a, --approve Trust project-local files for this command
100
- -na, --no-approve Ignore project-local files for this command
101
-
102
- Examples:
103
- ${APP_NAME} remove npm:@foo/bar
104
- ${APP_NAME} uninstall npm:@foo/bar
91
+ console.log(`${chalk.bold("Usage:")}
92
+ ${getPackageCommandUsage("remove")}
93
+
94
+ Remove a package and its source from settings.
95
+ Alias: ${APP_NAME} uninstall <source> [-l]
96
+
97
+ Options:
98
+ -l, --local Remove from project settings (${CONFIG_DIR_NAME}/settings.json)
99
+ -a, --approve Trust project-local files for this command
100
+ -na, --no-approve Ignore project-local files for this command
101
+
102
+ Examples:
103
+ ${APP_NAME} remove npm:@foo/bar
104
+ ${APP_NAME} uninstall npm:@foo/bar
105
105
  `);
106
106
  return;
107
107
  case "update":
108
- console.log(`${chalk.bold("Usage:")}
109
- ${getPackageCommandUsage("update")}
110
-
111
- Update pi, installed packages, or model catalogs.
112
-
113
- Options:
114
- --self Update pi only (default when no target is given)
115
- --extensions Update installed packages only
116
- --models Refresh model catalogs only
117
- --all Update pi and installed packages
118
- --extension <source> Update one package only
119
- -a, --approve Trust project-local files for this command
120
- -na, --no-approve Ignore project-local files for this command
121
- --force Reinstall pi even if the current version is latest
122
-
123
- Short forms:
124
- ${APP_NAME} update Update pi only
125
- ${APP_NAME} update --all Update pi and all extensions
126
- ${APP_NAME} update --models Refresh model catalogs only
127
- ${APP_NAME} update <source> Update one package
128
- ${APP_NAME} update pi Update pi only (self works as alias to pi)
108
+ console.log(`${chalk.bold("Usage:")}
109
+ ${getPackageCommandUsage("update")}
110
+
111
+ Update pi, installed packages, or model catalogs.
112
+
113
+ Options:
114
+ --self Update pi only (default when no target is given)
115
+ --extensions Update installed packages only
116
+ --models Refresh model catalogs only
117
+ --all Update pi and installed packages
118
+ --extension <source> Update one package only
119
+ -a, --approve Trust project-local files for this command
120
+ -na, --no-approve Ignore project-local files for this command
121
+ --force Reinstall pi even if the current version is latest
122
+
123
+ Short forms:
124
+ ${APP_NAME} update Update pi only
125
+ ${APP_NAME} update --all Update pi and all extensions
126
+ ${APP_NAME} update --models Refresh model catalogs only
127
+ ${APP_NAME} update <source> Update one package
128
+ ${APP_NAME} update pi Update pi only (self works as alias to pi)
129
129
  `);
130
130
  return;
131
131
  case "list":
132
- console.log(`${chalk.bold("Usage:")}
133
- ${getPackageCommandUsage("list")}
134
-
135
- List installed packages from user and project settings.
136
-
137
- Options:
138
- -a, --approve Trust project-local files for this command
139
- -na, --no-approve Ignore project-local files for this command
132
+ console.log(`${chalk.bold("Usage:")}
133
+ ${getPackageCommandUsage("list")}
134
+
135
+ List installed packages from user and project settings.
136
+
137
+ Options:
138
+ -a, --approve Trust project-local files for this command
139
+ -na, --no-approve Ignore project-local files for this command
140
140
  `);
141
141
  return;
142
142
  }
package/dist/rpc-entry.js CHANGED
File without changes
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: agent-browser
3
+ category: automation
3
4
  description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
4
5
  allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)
5
6
  hidden: true
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: batch-grill-me
3
+ category: interview
3
4
  description: A relentless interview that asks every frontier question at once, round by round.
4
5
  disable-model-invocation: true
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: brandkit
3
+ category: design
3
4
  description: Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained for minimalist, cinematic, editorial, dark-tech, luxury, cultural, security, gaming, developer-tool, and consumer-app brand systems. Optimized for intentional logo concepting, refined composition, sparse typography, strong symbolic meaning, premium mockups, art-directed imagery, and flexible grid layouts.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: design-references
3
+ category: design
3
4
  description: Design-reference lookup from VoltAgent's Awesome DESIGN.md collection. Use when the user asks for design references or inspiration, or wants a page/product to feel like a known site or brand (Linear, Stripe, Apple, etc.).
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: design-taste-frontend
3
+ category: design
3
4
  description: Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: design-taste-frontend-v1
3
+ category: design
3
4
  description: The original v1 taste-skill, preserved for projects depending on its exact behavior. The current default is `design-taste-frontend` (v2 experimental), which is a substantial rewrite. Use this v1 install name only if you need exact backward compatibility.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: full-output-enforcement
3
+ category: discipline
3
4
  description: Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: gpt-taste
3
+ category: design
3
4
  description: Elite UX/UI & Advanced GSAP Motion Engineer. Enforces Python-driven true randomization for layout variance, strict AIDA page structure, wide editorial typography (bans 6-line wraps), gapless bento grids, strict GSAP ScrollTriggers (pinning, stacking, scrubbing), inline micro-images, and massive section spacing.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: grill-me
3
+ category: interview
3
4
  description: Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
4
5
  ---
5
6
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: handoff
3
+ category: handoff
3
4
  description: Compact the current conversation into a handoff document for another agent to pick up.
4
5
  argument-hint: "What will the next session be used for?"
5
6
  disable-model-invocation: true
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: handoff-text
3
+ category: handoff
3
4
  description: Compact the current conversation into a handoff document for another agent to pick up.
4
5
  argument-hint: "What will the next session be used for?"
5
6
  disable-model-invocation: true
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: high-end-visual-design
3
+ category: design
3
4
  description: Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive. Blocks all the common defaults that make AI designs look cheap or generic.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: image-to-code
3
+ category: imagegen
3
4
  description: Elite website image-to-code skill for Codex. For visually important web tasks, it must first generate the design image(s) itself, deeply analyze them, then implement the website to match them as closely as possible. In Codex, it must prefer large, readable, section-specific images instead of tiny compressed boards, generate fresh standalone images for sections or detail views instead of cropping old ones, avoid lazy under-generation, avoid cards-inside-cards-inside-cards UI, and keep the hero clean, spacious, readable, and visible on a small laptop.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: imagegen-frontend-mobile
3
+ category: imagegen
3
4
  description: Elite mobile app image-generation skill for creating premium, app-native screen concepts and flows. Designed for iOS, Android, and cross-platform mobile products. Prioritizes clean hierarchy, comfortably readable text, strong multi-screen consistency, controlled color palettes, non-generic creative direction, textured surfaces, image-led composition, tasteful custom iconography, and clean phone mockup framing. By default, screens should be shown inside a subtle premium iPhone or similar phone mockup with a visible frame, while the main focus stays on the app content itself. This skill generates images only. It does not write code.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: imagegen-frontend-web
3
+ category: imagegen
3
4
  description: Elite frontend image-direction skill for generating premium, conversion-aware website design references. CRITICAL OUTPUT RULE — generate ONE separate horizontal image FOR EVERY section. A landing page with 8 sections produces 8 images. Never compress multiple sections into one image. Enforces composition variety (not always left-text / right-image), background-image freedom, varied CTAs, varied hero scales (giant / mid / mini minimalist), narrative concept spine, second-read moments, and a single consistent palette across all images. Optimized for landing pages, marketing sites, and product comps that developers or coding models can accurately recreate.
4
5
  license: MIT
5
6
  ---
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: implanger
3
+ category: planning
3
4
  description: Execute the Planger's style planning
4
5
  argument-hint: "For Subagent to be able to understand Planger and can execute it perfectly"
5
6
  disable-model-invocation: true