npcsh 1.1.22__py3-none-any.whl → 1.1.23__py3-none-any.whl

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 (172) hide show
  1. npcsh/_state.py +272 -120
  2. npcsh/benchmark/npcsh_agent.py +77 -240
  3. npcsh/benchmark/templates/install-npcsh.sh.j2 +12 -4
  4. npcsh/config.py +5 -2
  5. npcsh/npc_team/alicanto.npc +4 -8
  6. npcsh/npc_team/corca.npc +5 -11
  7. npcsh/npc_team/frederic.npc +4 -6
  8. npcsh/npc_team/guac.npc +4 -4
  9. npcsh/npc_team/jinxs/lib/core/delegate.jinx +1 -1
  10. npcsh/npc_team/jinxs/lib/core/edit_file.jinx +1 -1
  11. npcsh/npc_team/jinxs/lib/core/sh.jinx +1 -1
  12. npcsh/npc_team/jinxs/lib/core/skill.jinx +59 -0
  13. npcsh/npc_team/jinxs/lib/utils/help.jinx +194 -10
  14. npcsh/npc_team/jinxs/lib/utils/init.jinx +528 -37
  15. npcsh/npc_team/jinxs/lib/utils/jinxs.jinx +0 -1
  16. npcsh/npc_team/jinxs/lib/utils/serve.jinx +938 -21
  17. npcsh-1.1.22.data/data/npcsh/npc_team/config_tui.jinx → npcsh/npc_team/jinxs/modes/config.jinx +1 -1
  18. npcsh/npc_team/jinxs/modes/convene.jinx +76 -3
  19. npcsh/npc_team/jinxs/modes/crond.jinx +818 -0
  20. npcsh/npc_team/jinxs/modes/plonk.jinx +76 -14
  21. npcsh/npc_team/jinxs/modes/roll.jinx +368 -55
  22. npcsh/npc_team/jinxs/modes/skills.jinx +621 -0
  23. npcsh/npc_team/jinxs/modes/yap.jinx +504 -30
  24. npcsh/npc_team/jinxs/skills/code-review/SKILL.md +45 -0
  25. npcsh/npc_team/jinxs/skills/debugging/SKILL.md +44 -0
  26. npcsh/npc_team/jinxs/skills/git-workflow.jinx +44 -0
  27. npcsh/npc_team/kadiefa.npc +4 -5
  28. npcsh/npc_team/npcsh.ctx +16 -0
  29. npcsh/npc_team/plonk.npc +5 -9
  30. npcsh/npc_team/sibiji.npc +13 -5
  31. npcsh/npcsh.py +1 -0
  32. npcsh/routes.py +0 -4
  33. npcsh/yap.py +22 -4
  34. npcsh-1.1.23.data/data/npcsh/npc_team/SKILL.md +44 -0
  35. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/alicanto.npc +4 -8
  36. npcsh/npc_team/jinxs/modes/config_tui.jinx → npcsh-1.1.23.data/data/npcsh/npc_team/config.jinx +1 -1
  37. npcsh-1.1.23.data/data/npcsh/npc_team/convene.jinx +670 -0
  38. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/corca.npc +5 -11
  39. npcsh-1.1.23.data/data/npcsh/npc_team/crond.jinx +818 -0
  40. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/delegate.jinx +1 -1
  41. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/edit_file.jinx +1 -1
  42. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/frederic.npc +4 -6
  43. npcsh-1.1.23.data/data/npcsh/npc_team/git-workflow.jinx +44 -0
  44. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/guac.npc +4 -4
  45. npcsh-1.1.23.data/data/npcsh/npc_team/help.jinx +236 -0
  46. npcsh-1.1.23.data/data/npcsh/npc_team/init.jinx +532 -0
  47. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/jinxs.jinx +0 -1
  48. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/kadiefa.npc +4 -5
  49. npcsh-1.1.23.data/data/npcsh/npc_team/npcsh.ctx +34 -0
  50. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonk.jinx +76 -14
  51. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonk.npc +5 -9
  52. npcsh-1.1.23.data/data/npcsh/npc_team/roll.jinx +378 -0
  53. npcsh-1.1.23.data/data/npcsh/npc_team/serve.jinx +943 -0
  54. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sh.jinx +1 -1
  55. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sibiji.npc +13 -5
  56. npcsh-1.1.23.data/data/npcsh/npc_team/skill.jinx +59 -0
  57. npcsh-1.1.23.data/data/npcsh/npc_team/skills.jinx +621 -0
  58. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/yap.jinx +504 -30
  59. {npcsh-1.1.22.dist-info → npcsh-1.1.23.dist-info}/METADATA +168 -7
  60. npcsh-1.1.23.dist-info/RECORD +216 -0
  61. npcsh/npc_team/jinxs/incognide/add_tab.jinx +0 -11
  62. npcsh/npc_team/jinxs/incognide/close_pane.jinx +0 -9
  63. npcsh/npc_team/jinxs/incognide/close_tab.jinx +0 -10
  64. npcsh/npc_team/jinxs/incognide/confirm.jinx +0 -10
  65. npcsh/npc_team/jinxs/incognide/focus_pane.jinx +0 -9
  66. npcsh/npc_team/jinxs/incognide/list_panes.jinx +0 -8
  67. npcsh/npc_team/jinxs/incognide/navigate.jinx +0 -10
  68. npcsh/npc_team/jinxs/incognide/notify.jinx +0 -10
  69. npcsh/npc_team/jinxs/incognide/open_pane.jinx +0 -13
  70. npcsh/npc_team/jinxs/incognide/read_pane.jinx +0 -9
  71. npcsh/npc_team/jinxs/incognide/run_terminal.jinx +0 -10
  72. npcsh/npc_team/jinxs/incognide/send_message.jinx +0 -10
  73. npcsh/npc_team/jinxs/incognide/split_pane.jinx +0 -12
  74. npcsh/npc_team/jinxs/incognide/switch_npc.jinx +0 -10
  75. npcsh/npc_team/jinxs/incognide/switch_tab.jinx +0 -10
  76. npcsh/npc_team/jinxs/incognide/write_file.jinx +0 -11
  77. npcsh/npc_team/jinxs/incognide/zen_mode.jinx +0 -9
  78. npcsh/npc_team/jinxs/lib/core/convene.jinx +0 -232
  79. npcsh-1.1.22.data/data/npcsh/npc_team/add_tab.jinx +0 -11
  80. npcsh-1.1.22.data/data/npcsh/npc_team/close_pane.jinx +0 -9
  81. npcsh-1.1.22.data/data/npcsh/npc_team/close_tab.jinx +0 -10
  82. npcsh-1.1.22.data/data/npcsh/npc_team/confirm.jinx +0 -10
  83. npcsh-1.1.22.data/data/npcsh/npc_team/convene.jinx +0 -232
  84. npcsh-1.1.22.data/data/npcsh/npc_team/focus_pane.jinx +0 -9
  85. npcsh-1.1.22.data/data/npcsh/npc_team/help.jinx +0 -52
  86. npcsh-1.1.22.data/data/npcsh/npc_team/init.jinx +0 -41
  87. npcsh-1.1.22.data/data/npcsh/npc_team/list_panes.jinx +0 -8
  88. npcsh-1.1.22.data/data/npcsh/npc_team/navigate.jinx +0 -10
  89. npcsh-1.1.22.data/data/npcsh/npc_team/notify.jinx +0 -10
  90. npcsh-1.1.22.data/data/npcsh/npc_team/npcsh.ctx +0 -18
  91. npcsh-1.1.22.data/data/npcsh/npc_team/open_pane.jinx +0 -13
  92. npcsh-1.1.22.data/data/npcsh/npc_team/read_pane.jinx +0 -9
  93. npcsh-1.1.22.data/data/npcsh/npc_team/roll.jinx +0 -65
  94. npcsh-1.1.22.data/data/npcsh/npc_team/run_terminal.jinx +0 -10
  95. npcsh-1.1.22.data/data/npcsh/npc_team/send_message.jinx +0 -10
  96. npcsh-1.1.22.data/data/npcsh/npc_team/serve.jinx +0 -26
  97. npcsh-1.1.22.data/data/npcsh/npc_team/split_pane.jinx +0 -12
  98. npcsh-1.1.22.data/data/npcsh/npc_team/switch_npc.jinx +0 -10
  99. npcsh-1.1.22.data/data/npcsh/npc_team/switch_tab.jinx +0 -10
  100. npcsh-1.1.22.data/data/npcsh/npc_team/write_file.jinx +0 -11
  101. npcsh-1.1.22.data/data/npcsh/npc_team/zen_mode.jinx +0 -9
  102. npcsh-1.1.22.dist-info/RECORD +0 -240
  103. /npcsh/npc_team/jinxs/{incognide → lib/utils}/incognide.jinx +0 -0
  104. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/alicanto.jinx +0 -0
  105. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/alicanto.png +0 -0
  106. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/arxiv.jinx +0 -0
  107. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/benchmark.jinx +0 -0
  108. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/browser_action.jinx +0 -0
  109. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/browser_screenshot.jinx +0 -0
  110. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/build.jinx +0 -0
  111. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/chat.jinx +0 -0
  112. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/click.jinx +0 -0
  113. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/close_browser.jinx +0 -0
  114. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/cmd.jinx +0 -0
  115. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/compile.jinx +0 -0
  116. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/compress.jinx +0 -0
  117. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/corca.jinx +0 -0
  118. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/corca.png +0 -0
  119. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/corca_example.png +0 -0
  120. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/db_search.jinx +0 -0
  121. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/file_search.jinx +0 -0
  122. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/frederic4.png +0 -0
  123. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/git.jinx +0 -0
  124. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/guac.jinx +0 -0
  125. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/guac.png +0 -0
  126. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/incognide.jinx +0 -0
  127. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/kadiefa.png +0 -0
  128. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/key_press.jinx +0 -0
  129. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/kg.jinx +0 -0
  130. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/launch_app.jinx +0 -0
  131. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/load_file.jinx +0 -0
  132. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/memories.jinx +0 -0
  133. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/models.jinx +0 -0
  134. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/npcsh_sibiji.png +0 -0
  135. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/nql.jinx +0 -0
  136. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/open_browser.jinx +0 -0
  137. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/ots.jinx +0 -0
  138. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/papers.jinx +0 -0
  139. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/paste.jinx +0 -0
  140. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonk.png +0 -0
  141. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/plonkjr.png +0 -0
  142. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/pti.jinx +0 -0
  143. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/python.jinx +0 -0
  144. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/reattach.jinx +0 -0
  145. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sample.jinx +0 -0
  146. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/screenshot.jinx +0 -0
  147. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/set.jinx +0 -0
  148. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/setup.jinx +0 -0
  149. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/shh.jinx +0 -0
  150. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sibiji.png +0 -0
  151. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sleep.jinx +0 -0
  152. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/spool.jinx +0 -0
  153. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/spool.png +0 -0
  154. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sql.jinx +0 -0
  155. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/switch.jinx +0 -0
  156. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/switches.jinx +0 -0
  157. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/sync.jinx +0 -0
  158. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/team.jinx +0 -0
  159. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/teamviz.jinx +0 -0
  160. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/trigger.jinx +0 -0
  161. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/type_text.jinx +0 -0
  162. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/usage.jinx +0 -0
  163. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/verbose.jinx +0 -0
  164. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/vixynt.jinx +0 -0
  165. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/wait.jinx +0 -0
  166. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/wander.jinx +0 -0
  167. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/web_search.jinx +0 -0
  168. {npcsh-1.1.22.data → npcsh-1.1.23.data}/data/npcsh/npc_team/yap.png +0 -0
  169. {npcsh-1.1.22.dist-info → npcsh-1.1.23.dist-info}/WHEEL +0 -0
  170. {npcsh-1.1.22.dist-info → npcsh-1.1.23.dist-info}/entry_points.txt +0 -0
  171. {npcsh-1.1.22.dist-info → npcsh-1.1.23.dist-info}/licenses/LICENSE +0 -0
  172. {npcsh-1.1.22.dist-info → npcsh-1.1.23.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: npcsh
3
- Version: 1.1.22
3
+ Version: 1.1.23
4
4
  Summary: npcsh is a command-line toolkit for using AI agents in novel ways.
5
5
  Home-page: https://github.com/NPC-Worldwide/npcsh
6
6
  Author: Christopher Agostino
@@ -167,10 +167,11 @@ Once installed, run `npcsh` to enter the NPC shell. The pip installation also pr
167
167
  - **Computer Use**
168
168
 
169
169
  ```bash
170
- /plonk 'find out the latest news on cnn' gemma3:12b ollama
170
+ /plonk
171
171
  ```
172
172
  <p align="center">
173
- <img src="gh_images/plonk.png" alt="Plonk GUI automation TUI", width=500>
173
+ <img src="gh_images/plonk.png" alt="Plonk GUI automation TUI — task entry" width=500>
174
+ <img src="gh_images/plonk_task.png" alt="Plonk GUI automation — completed flight search task" width=500>
174
175
  </p>
175
176
 
176
177
  - **Generate Images with Vixynt**
@@ -189,11 +190,14 @@ Once installed, run `npcsh` to enter the NPC shell. The pip installation also pr
189
190
  <p align="center">
190
191
  <img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/test_data/rabbit.PNG" alt="a rabbit eating ham in the bring of dawn", width=350>
191
192
  </p>
192
- - **Generate Videos**
193
+ - **Generate Videos with Roll**
193
194
 
194
195
  ```bash
195
196
  /roll
196
197
  ```
198
+ <p align="center">
199
+ <img src="gh_images/roll.png" alt="Roll Video Creation Studio" width=500>
200
+ </p>
197
201
 
198
202
  - Generate videos directly
199
203
 
@@ -205,6 +209,16 @@ Once installed, run `npcsh` to enter the NPC shell. The pip installation also pr
205
209
  <img src="https://raw.githubusercontent.com/NPC-Worldwide/npcsh/main/test_data/hatridingdog.gif" alt="video of a hat riding a dog", width=350>
206
210
  </p>
207
211
 
212
+ - **Multi-Agent Discussions**
213
+
214
+ ```bash
215
+ /convene "Is the universe a simulation?" npcs=alicanto,corca,guac rounds=3
216
+ ```
217
+ <p align="center">
218
+ <img src="gh_images/convene.png" alt="Convene — multi-NPC structured discussion" width=500>
219
+ <img src="gh_images/convene_convene.png" alt="Convene — live discussion view" width=500>
220
+ </p>
221
+
208
222
  - **Serve an NPC Team**
209
223
  ```bash
210
224
  /serve --port 5337 --cors='http://localhost:5137/'
@@ -288,6 +302,108 @@ When an NPC is invoked, they can only use the jinxs assigned to them. This creat
288
302
 
289
303
  The forenpc (orchestrator) can delegate to any team member based on their specialization.
290
304
 
305
+ ## Skills — Knowledge Content for Agents
306
+
307
+ Skills are jinxs that serve instructional content instead of executing code. They use the `skill.jinx` sub-jinx (just like code jinxs use `python.jinx` or `sh.jinx`) and return sections of methodology on demand.
308
+
309
+ Because skills are jinxs, they're assigned to agents the same way — through the `jinxs:` list in `.npc` files:
310
+
311
+ ```yaml
312
+ # reviewer.npc
313
+ name: reviewer
314
+ primary_directive: "You review code and provide feedback."
315
+ jinxs:
316
+ - lib/core/sh
317
+ - lib/core/python
318
+ - skills/code-review
319
+ - skills/debugging
320
+ ```
321
+
322
+ The agent sees `code-review` and `debugging` in its tool catalog alongside `sh` and `python`. When it encounters a review task, it calls the skill to get methodology, then uses `sh` or `python` to do the actual work.
323
+
324
+ ### Two Authoring Formats
325
+
326
+ **SKILL.md folder** — a folder with a `SKILL.md` file (folder name = skill name):
327
+
328
+ ```
329
+ jinxs/skills/debugging/
330
+ SKILL.md # YAML frontmatter + ## sections
331
+ scripts/ # Optional
332
+ references/ # Optional
333
+ ```
334
+
335
+ ```markdown
336
+ ---
337
+ description: Debugging methodology. Use when asked to debug or troubleshoot.
338
+ ---
339
+ # Debugging
340
+
341
+ ## reproduce
342
+ First, reproduce the bug consistently.
343
+ Find the minimal reproduction case.
344
+
345
+ ## isolate
346
+ Binary search through the codebase (git bisect).
347
+ Comment out components to isolate the cause.
348
+
349
+ ## fix
350
+ Fix the root cause, not the symptom.
351
+ Add a test that fails without the fix.
352
+ ```
353
+
354
+ **`.jinx` file** — a regular jinx with `engine: skill` steps:
355
+
356
+ ```yaml
357
+ jinx_name: git-workflow
358
+ description: "Git workflow best practices. [Sections: branching, commits, merging]"
359
+ inputs:
360
+ - section: all
361
+ steps:
362
+ - engine: skill
363
+ skill_name: git-workflow
364
+ skill_description: Git workflow best practices.
365
+ sections:
366
+ branching: |
367
+ Use feature branches off main/develop.
368
+ Name branches: feature/, fix/, chore/
369
+ commits: |
370
+ Imperative summary under 72 chars.
371
+ One logical change per commit.
372
+ merging: |
373
+ Prefer squash merges for feature branches.
374
+ Delete branches after merging.
375
+ scripts_json: '[]'
376
+ references_json: '[]'
377
+ assets_json: '[]'
378
+ section: '{{section}}'
379
+ ```
380
+
381
+ ### Using Skills
382
+
383
+ In npcsh, skills work as slash commands like any jinx:
384
+
385
+ ```bash
386
+ /debugging # All sections
387
+ /debugging -s reproduce # Just the reproduce section
388
+ /debugging -s list # Available section names
389
+ /code-review -s correctness # Just the correctness section
390
+ ```
391
+
392
+ In the agent loop, the agent calls skills automatically when relevant — requesting specific sections to minimize token usage (progressive disclosure).
393
+
394
+ ### Importing External Skills
395
+
396
+ Add `SKILLS_DIRECTORY` to your `.ctx` file to load skills from an external directory:
397
+
398
+ ```yaml
399
+ model: llama3.2
400
+ provider: ollama
401
+ forenpc: lead-dev
402
+ SKILLS_DIRECTORY: ~/shared-skills
403
+ ```
404
+
405
+ All `SKILL.md` folders and `.jinx` skill files in that directory are loaded alongside the team's own jinxs. This lets you maintain a single skills library shared across multiple teams.
406
+
291
407
  ## Delegation with Review Loop
292
408
 
293
409
  The `/delegate` jinx sends a task to another NPC with automatic review and feedback:
@@ -581,14 +697,15 @@ npc sample "a sunset over mountains"
581
697
  | `/git` | Git integration TUI |
582
698
  | `/build` | Build team to deployable format (flask, docker, cli, static) |
583
699
  | `/team` | Team config browser — context, NPCs, jinxs |
584
- | `/config_tui` | Interactive config editor |
700
+ | `/config` | Interactive config editor |
585
701
  | `/reattach` | Resume previous conversation sessions |
586
702
  | `/delegate` | Delegate task to NPC with review loop |
587
703
  | `/web_search` | Web search |
588
704
  | `/db_search` | Database search |
589
705
  | `/file_search` | File search |
590
706
  | `/vixynt` | Generate/edit images |
591
- | `/roll` | Generate videos |
707
+ | `/roll` | Video creation studio |
708
+ | `/crond` | System task manager (cron, daemons, processes) |
592
709
  | `/sample` | Context-free LLM prompt |
593
710
  | `/serve` | Serve NPC team as API with OpenAI-compatible endpoints |
594
711
  | `/compile` | Compile NPC profiles |
@@ -642,6 +759,44 @@ Browse all available models across providers (Ollama, OpenAI, Anthropic, etc.),
642
759
  <img src="gh_images/models.png" alt="Models browser", width=500>
643
760
  </p>
644
761
 
762
+ ### `/roll` — Video Creation Studio
763
+ Interactive TUI for generating videos with parameter controls. Edit prompt, model, provider, dimensions, and frame count, then generate. Includes a gallery browser for previously generated videos.
764
+
765
+ ```bash
766
+ /roll # Open interactive TUI
767
+ /roll "a sunset" # Generate video directly (one-shot mode)
768
+ ```
769
+
770
+ <p align="center">
771
+ <img src="gh_images/roll.png" alt="Roll Video Creation Studio" width=500>
772
+ </p>
773
+
774
+ ### `/config` — Configuration Editor
775
+ Interactive TUI for editing `~/.npcshrc` settings — models, providers, modes, and toggles. Navigate with j/k, edit text fields, toggle booleans, and cycle choices.
776
+
777
+ ```bash
778
+ /config
779
+ ```
780
+
781
+ <p align="center">
782
+ <img src="gh_images/config.png" alt="Config editor TUI" width=500>
783
+ </p>
784
+
785
+ ### `/crond` — System Task Manager
786
+ Multi-tab TUI for managing cron jobs, systemd user daemons, and system processes. Create new cron jobs and daemons using natural language, start/stop/restart services, kill processes, and monitor resource usage.
787
+
788
+ ```bash
789
+ /crond
790
+ ```
791
+
792
+ <p align="center">
793
+ <img src="gh_images/crond.png" alt="Crond Cron tab" width=500>
794
+ <img src="gh_images/crondaemon.png" alt="Crond Daemons tab" width=500>
795
+ </p>
796
+ <p align="center">
797
+ <img src="gh_images/cron_processes.png" alt="Crond Processes tab" width=500>
798
+ </p>
799
+
645
800
  # Memory & Knowledge Graph
646
801
 
647
802
  `npcsh` maintains a memory lifecycle system that allows agents to learn and grow from past interactions. Memories progress through stages and can be incorporated into a knowledge graph for advanced retrieval.
@@ -893,8 +1048,14 @@ export PERPLEXITY_API_KEY='your_perplexity_key'
893
1048
  npc_team/
894
1049
  ├── jinxs/
895
1050
  │ ├── modes/ # TUI modes (alicanto, corca, kg, yap, etc.)
1051
+ │ ├── skills/ # Skills — knowledge-content jinxs
1052
+ │ │ ├── code-review/ # SKILL.md folder format
1053
+ │ │ │ └── SKILL.md
1054
+ │ │ ├── debugging/
1055
+ │ │ │ └── SKILL.md
1056
+ │ │ └── git-workflow.jinx # .jinx format
896
1057
  │ ├── lib/
897
- │ │ ├── core/ # Core tools (python, sh, sql, edit_file, delegate, etc.)
1058
+ │ │ ├── core/ # Core tools (python, sh, sql, skill, edit_file, delegate, etc.)
898
1059
  │ │ │ └── search/ # Search tools (web_search, db_search, file_search)
899
1060
  │ │ ├── utils/ # Utility jinxs (set, compile, serve, teamviz, etc.)
900
1061
  │ │ ├── browser/ # Browser automation (browser_action, screenshot, etc.)
@@ -0,0 +1,216 @@
1
+ npcsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ npcsh/_state.py,sha256=P1-F5EpKTGg-1EciNrFfRMQWT4sEYjCw6o1oLtnCDuI,156255
3
+ npcsh/alicanto.py,sha256=xIm2Om1QlTcckvh5NQqrs-2HrEXF378dQcoOD7FRjhk,2392
4
+ npcsh/build.py,sha256=xYYyy3GD0iLWGpZ3rqrephYjYW1Bt39xZyKqXrWSzSo,7663
5
+ npcsh/completion.py,sha256=IOjt7MHnIQgeVub6eJ0q3kooRfYtvRjgUXQHtH8Shjw,5573
6
+ npcsh/config.py,sha256=t2HRky-XpmSBl6zgVAOfsiJtLO1FOdPA_ocSZHReinI,5722
7
+ npcsh/conversation_viewer.py,sha256=ynP0S1WP6tzM8K-ZRGHAQ94z7dMBFkvNbczSUO2fB0g,12850
8
+ npcsh/corca.py,sha256=jlrK7QnO08dxPqJR8uto9ebceLIPFV3f3QjOhnPFxkc,1558
9
+ npcsh/diff_viewer.py,sha256=rG88E_-jXyCyrBnca6QqlxUP_Yl_JW8If0ca0YNjk_s,15955
10
+ npcsh/execution.py,sha256=Rd9Qt365CI_9S9-IvRBGEYImlMsM7hb1CkTVs-445fs,5259
11
+ npcsh/guac.py,sha256=d4n16mCqKkJ5JrQM0CxBgTtbUY8rac7qsMtjXvUh12k,1332
12
+ npcsh/mcp_helpers.py,sha256=2whJgdwIYhAFzgvskya2_uJkUyqVWC3rLHwYfVolHzg,11164
13
+ npcsh/mcp_server.py,sha256=fpSGVesM0KVo5Awo1hPBuODpywyYjsD6U3JPmasKjGI,8802
14
+ npcsh/npc.py,sha256=NPfkEyRv6fOtlPI1WHfQr5Ofetc2hRcKl82i_CKqcKM,11641
15
+ npcsh/npcsh.py,sha256=97oHF0DPEUqKwaIitYb6DBfr8z4e3Ocvz7QOsojVJCQ,20750
16
+ npcsh/parsing.py,sha256=eGATFUkDvHu5pVbh0RswhWEmGjcIsLaDwgxTtPbC9sk,2943
17
+ npcsh/plonk.py,sha256=MUGunZcSq_7LWBzkrJp3SoEYt75szsoXtZfirsQw3EM,1715
18
+ npcsh/pti.py,sha256=8IyU-kCRwYoBxB9877lqLpy87-DEoWMg2CjiJTj9Hhg,1773
19
+ npcsh/routes.py,sha256=ZsWO5Qg_Xwsuo3Rhgv20KFknQDRbEKfoGGDtcWyBnZI,5085
20
+ npcsh/salmon_simulation.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ npcsh/spool.py,sha256=b-AAZdk_fDk7vA-08wc-LO0FJt-yigcUU3ZUXF41V4E,1498
22
+ npcsh/ui.py,sha256=owFTZ7KRvWzyMaEYLfwJVv08hNmg9Yqj5RKNTVIcLeM,7281
23
+ npcsh/wander.py,sha256=zslcHfH-mAmBlSgc1JVNOlss0Ig85hzNkpmBW9W8JYM,2278
24
+ npcsh/yap.py,sha256=yaZ2MX7HsjsQs5qQ8OjG-iRL_7fKXRwBNGlKwQL0bq8,2440
25
+ npcsh/benchmark/__init__.py,sha256=ljV4XCxPBXYNewcqiGx3oExMm2H_sgCwinDgc4xQOZE,898
26
+ npcsh/benchmark/npcsh_agent.py,sha256=gjmrgrbsdLLBkMVPQEeGdbh5YEZGrJatUb3U4YX5rag,6330
27
+ npcsh/benchmark/runner.py,sha256=dIbPds2V3xTItvTHIGvi8D4cqYNi7uhyvBhjxYWGJsY,20234
28
+ npcsh/benchmark/templates/install-npcsh.sh.j2,sha256=vfKZeSjnQXmOrzNgkxVbkOsV7gNAtWhO5USKiev7cmc,1275
29
+ npcsh/npc_team/alicanto.npc,sha256=ABA29s5COa01CVmKSTfT0pJka7PxVRUvfL2R9F-6bb0,1557
30
+ npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
31
+ npcsh/npc_team/corca.npc,sha256=sPinp4MyWBRhoiM34XUK6wW1xQTkLpPwEc5YMVTKL5E,1216
32
+ npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
33
+ npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
34
+ npcsh/npc_team/frederic.npc,sha256=1eUUMqSgiFMWYjqm2r2D6fflln1AZJ6c4rkjX9SEgEE,1764
35
+ npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
36
+ npcsh/npc_team/guac.npc,sha256=8krxP6f86E_R6oAZj0452WL-TxoKfjPIbxsxLM2LEHI,782
37
+ npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
38
+ npcsh/npc_team/kadiefa.npc,sha256=s7mKC57mz7-0bbIC5WF74-AfHIjbNkC92cO3fCGrVy4,1636
39
+ npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
40
+ npcsh/npc_team/npcsh.ctx,sha256=bWtV7pzlcN36681ZA1JprRQgZ8wPrkH35_4g1lipMmc,2111
41
+ npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
42
+ npcsh/npc_team/plonk.npc,sha256=hBpGbi1hMgAAR-RrNLcpuvdEvw8PrGBByaZVYdROpZk,1333
43
+ npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
44
+ npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
45
+ npcsh/npc_team/sibiji.npc,sha256=I-tBauiSnuIzmzjizaDC6YRfiAXGEl0GtkhKyZc0-nU,1918
46
+ npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
47
+ npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
48
+ npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
49
+ npcsh/npc_team/jinxs/lib/browser/browser_action.jinx,sha256=OtYK2rnpmjYPk2vZcD5J761XsXVuK6crV7NNGcMQzIg,9201
50
+ npcsh/npc_team/jinxs/lib/browser/browser_screenshot.jinx,sha256=rch0IHithrcFb-bLuMcnMAxsn65PKJVZEOhLyAgJc8k,1166
51
+ npcsh/npc_team/jinxs/lib/browser/close_browser.jinx,sha256=D0-sIQCTt3TEnUpr6SIWuhQOkJ6eyzhJnvYtYqbg1UM,322
52
+ npcsh/npc_team/jinxs/lib/browser/open_browser.jinx,sha256=AJ4ZysHzdNIghSpu2cTcbRvio1KwV4yzjnyAvAragr4,1656
53
+ npcsh/npc_team/jinxs/lib/computer_use/click.jinx,sha256=uNJ66ZjIQ-0XflzuK3yGqNd7ApommWPIVL2pURhaRjY,585
54
+ npcsh/npc_team/jinxs/lib/computer_use/key_press.jinx,sha256=PQWf0BsYDddwF3_bgdRJpH_pjUWlWtABDyiK_v26Dj0,832
55
+ npcsh/npc_team/jinxs/lib/computer_use/launch_app.jinx,sha256=G3KRSKgBbCPiF9WwrkPtNFK7Pb2xu0TFCY98YmMGD50,1187
56
+ npcsh/npc_team/jinxs/lib/computer_use/screenshot.jinx,sha256=jVU1u-MH_rW6haAHLO3FrikNgeEKAQpUY962pPM8epc,657
57
+ npcsh/npc_team/jinxs/lib/computer_use/trigger.jinx,sha256=VVCnkpYMicq85YA_XQewLvWBl3ctsfObRCwQH9wLCfc,2341
58
+ npcsh/npc_team/jinxs/lib/computer_use/type_text.jinx,sha256=JDCkm2bCV3gk08hrfu5pGYynpNoMLPZWGyfjz7fQhUo,720
59
+ npcsh/npc_team/jinxs/lib/computer_use/wait.jinx,sha256=Jx-HdmMD7p5vdsNG3FXiZyRpKoFRHsmylxH6TMNznac,494
60
+ npcsh/npc_team/jinxs/lib/core/compress.jinx,sha256=t3n2B6rwebyGOIDZ3PAQZm1b5YdDHYqO-lWlHYOQVWw,20661
61
+ npcsh/npc_team/jinxs/lib/core/delegate.jinx,sha256=wmHizgZ4XpJpKYRCoQebQTSf2FRmWt2GKdIxPxJOOa8,8080
62
+ npcsh/npc_team/jinxs/lib/core/edit_file.jinx,sha256=N7NyoFLE_cIlG9w-Qt37NwcQ69n_Jsisq2IbuGZpWSo,4928
63
+ npcsh/npc_team/jinxs/lib/core/load_file.jinx,sha256=Dq2982ZJkbSrM75O8YgLeGRnHdWl0AfEIYkj9RkNMLg,1271
64
+ npcsh/npc_team/jinxs/lib/core/ots.jinx,sha256=1boaqSw1kb_Y5WJ28c22a3CiHkANzPIW9tTF9STs_Fg,2375
65
+ npcsh/npc_team/jinxs/lib/core/paste.jinx,sha256=bycgMzeYFHl3-TN4YYDyasbNe22hEgFGMOmYoMWFgWI,4957
66
+ npcsh/npc_team/jinxs/lib/core/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
67
+ npcsh/npc_team/jinxs/lib/core/sample.jinx,sha256=0q-Iw7KZEp6fkqjGSy_9onvtqhxmtjDG_v55uA4J7K0,1948
68
+ npcsh/npc_team/jinxs/lib/core/sh.jinx,sha256=DmRVD2iny_Fe-VUPl0aSHDoWhV_0cmPDjuPMZJDqoEw,741
69
+ npcsh/npc_team/jinxs/lib/core/skill.jinx,sha256=KzyieljPBheTCEusW5PaMYXmh2p3GDXtkHBV41zUovY,2245
70
+ npcsh/npc_team/jinxs/lib/core/sleep.jinx,sha256=dcEDGe6v53XzVoya2s7ru3ewJE2iKZ38DJLfnYfODT8,5440
71
+ npcsh/npc_team/jinxs/lib/core/sql.jinx,sha256=7cAaLqr0A8vWn7QIVDzvqArwB0XmWOI6JPUVcfeGcWk,689
72
+ npcsh/npc_team/jinxs/lib/core/search/db_search.jinx,sha256=9k33MH3Pbub_Hux7dNpEhQg7udyuoR5Yr-BtCHKAFU4,18066
73
+ npcsh/npc_team/jinxs/lib/core/search/file_search.jinx,sha256=Ghf3ViI7SoRPjSzDREA6sqGxU5MUjNtEMw2vBDTtWK0,17007
74
+ npcsh/npc_team/jinxs/lib/core/search/web_search.jinx,sha256=AuphZ3IlczyEfFvCh2Rx93fJ_8d_oix8_kAinjhWaf4,15492
75
+ npcsh/npc_team/jinxs/lib/utils/benchmark.jinx,sha256=3jWhOm4ijSipG-1jRvRNaYP-5YoTXaSbnczudNVd3XA,6097
76
+ npcsh/npc_team/jinxs/lib/utils/chat.jinx,sha256=QXIh4OIbLKsZISNa0URFkczUFpzkKB2YDNfWPD1Stk4,1397
77
+ npcsh/npc_team/jinxs/lib/utils/cmd.jinx,sha256=sdmhXlduW2CCer4gUb3xnGN3j85y8GcOA6uLknir6lQ,1398
78
+ npcsh/npc_team/jinxs/lib/utils/compile.jinx,sha256=LbkZE8ewBUngbI_mchMJylIwY9uCoFCe9KWs4HfMFpU,2393
79
+ npcsh/npc_team/jinxs/lib/utils/help.jinx,sha256=kT8F4LdMdCvt3FbzbIKGXwQkhvO5M43JTIHkS-fOCYQ,12365
80
+ npcsh/npc_team/jinxs/lib/utils/incognide.jinx,sha256=0lSYUS7dVmfi4hGS0SiBg5LlAuNHE8qlrgU7QFNAmtQ,2231
81
+ npcsh/npc_team/jinxs/lib/utils/init.jinx,sha256=EjKNxHOTr1adPaI5cQb5maSIm_ggQudw5eiORFFa8tI,22386
82
+ npcsh/npc_team/jinxs/lib/utils/jinxs.jinx,sha256=pyirjkSQSrJGiLsjIwFy2oS3mylfpi2UJzPJonub_Sw,16260
83
+ npcsh/npc_team/jinxs/lib/utils/models.jinx,sha256=5GiD-yKC2h5LWvwEOLdim8nJUqIl6FileBfUXKlHAiA,14424
84
+ npcsh/npc_team/jinxs/lib/utils/serve.jinx,sha256=da3CR5DYbrdVuFz_UePGf44HLCjB3INVSs2qN8k1K8A,43449
85
+ npcsh/npc_team/jinxs/lib/utils/set.jinx,sha256=FFY6JNVGkrKpHomXLuAiCv7mbwUGIyWh8zE_XMICHJY,1299
86
+ npcsh/npc_team/jinxs/lib/utils/setup.jinx,sha256=4pnNFtfVWJB4ogFLrTYATohpqa5OPABofCDK92lGxWQ,10627
87
+ npcsh/npc_team/jinxs/lib/utils/shh.jinx,sha256=yD-_va97JHT1MAhUvoL8w86Li9cbwi8XbswVcTRxd4U,464
88
+ npcsh/npc_team/jinxs/lib/utils/switch.jinx,sha256=qsYMF_SWT12Z1KvWRT36kgUaUP_UOjpzA4v82IUIqF8,2022
89
+ npcsh/npc_team/jinxs/lib/utils/switches.jinx,sha256=UquqT6Kzn4FTquYJPr0hyoEcuZ6Ke9VMO5pT0bOeXEw,2177
90
+ npcsh/npc_team/jinxs/lib/utils/sync.jinx,sha256=7rWEuqeM21eR8WbhKx-lDt2guJgmVJwk4BaBK9SsLIY,8466
91
+ npcsh/npc_team/jinxs/lib/utils/teamviz.jinx,sha256=WsWvIXbzJzm8S_7h0cgDqlRJIQ6NRzmAtVxmA6JskMc,7646
92
+ npcsh/npc_team/jinxs/lib/utils/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
93
+ npcsh/npc_team/jinxs/lib/utils/verbose.jinx,sha256=mFGLy2Azx1JXGhDOwVwd5EwJB9fxPQpk9BrP8kJ3RzE,473
94
+ npcsh/npc_team/jinxs/modes/alicanto.jinx,sha256=7pwvl73tt8z5s4a6wXGVtIRt532ewkB7IMOx1Hrzo5U,75218
95
+ npcsh/npc_team/jinxs/modes/arxiv.jinx,sha256=cYj0N1SkhaNXR8Rws7RgBB-5bjdtzu6vJ2Dq_Iwuj1M,38118
96
+ npcsh/npc_team/jinxs/modes/build.jinx,sha256=HF6xoZJmxN8crXSLP6rkZCOUxlhs6-UGrnNY-TjjenM,15141
97
+ npcsh/npc_team/jinxs/modes/config.jinx,sha256=jvav2HMQ5JerigfAZ8wu-RBjUYyOnCVCmQf-jVHCsGM,12360
98
+ npcsh/npc_team/jinxs/modes/convene.jinx,sha256=xKUG5Samw3AJFdlMVoNT7aq8_PsT_f3Kmes26D215dc,30303
99
+ npcsh/npc_team/jinxs/modes/corca.jinx,sha256=8COHMDXcC1fJpR3pRaoJwWQnqtUqcTJGa2gHHCWPS6o,34481
100
+ npcsh/npc_team/jinxs/modes/crond.jinx,sha256=tfDGhqueRUTzk4xcURNs5xLc22ZiiPrMvx3Ox81-x4U,34572
101
+ npcsh/npc_team/jinxs/modes/git.jinx,sha256=EUTAW9PDBXTazGOwWWrodEPUTfqUAnXpw7A2W7qoTiw,34677
102
+ npcsh/npc_team/jinxs/modes/guac.jinx,sha256=OVFH0XGlwoTUIZoL8Zwo88wmQB0Ip-ZXuHQsAEYLZv4,23582
103
+ npcsh/npc_team/jinxs/modes/kg.jinx,sha256=veGhNu3umFK2QL_ZheaS-8BF20YKBgmoz0-1bwSz-r4,46960
104
+ npcsh/npc_team/jinxs/modes/memories.jinx,sha256=vFV-3xqgbeYw6FV2TWTANdcUV0jXvpWVVVfVF_5jQok,15598
105
+ npcsh/npc_team/jinxs/modes/nql.jinx,sha256=T4CCFZLGBxKRsbz6nzAgEJSDNX08j_XMI96U7k-sgEc,19758
106
+ npcsh/npc_team/jinxs/modes/papers.jinx,sha256=_MOyha7kmp2cDffCoXKtfNWFTLzfXCQXyoIizcZYBkI,29915
107
+ npcsh/npc_team/jinxs/modes/plonk.jinx,sha256=RjWDpyaH23kb3zqgZm9yplPEqXxgXAjeDMvN9dWs3l4,27297
108
+ npcsh/npc_team/jinxs/modes/pti.jinx,sha256=1kPM5NM85JRUMDS2U_Xj-K5dfEgFRrsDnwFZv9ozK4U,14642
109
+ npcsh/npc_team/jinxs/modes/reattach.jinx,sha256=yxArBZlOpVcjvU-tDUFNO0XWMUY-flhlGQonGIOnAdY,13977
110
+ npcsh/npc_team/jinxs/modes/roll.jinx,sha256=tD1jGtLD4BSpo9425ENJF-3qyU4Crf8Kq8ikNEddNT8,14016
111
+ npcsh/npc_team/jinxs/modes/skills.jinx,sha256=bdjIWbVZAZ3stpGhzCArsuU1mwi3EQf53KVomycbgDM,26114
112
+ npcsh/npc_team/jinxs/modes/spool.jinx,sha256=II95LfPoOa1O2uNT3RXPA8r82tjp_px61Jy_tq3A6t0,14937
113
+ npcsh/npc_team/jinxs/modes/team.jinx,sha256=0-t-ICICwce1X8fd8cY_1VGg_x_XQ90KD5ZEwE6p9jw,20291
114
+ npcsh/npc_team/jinxs/modes/vixynt.jinx,sha256=LuTyHFdNFmeOnxu-qEzlJ-IP4aRWisIzFtSXhVDszwk,14601
115
+ npcsh/npc_team/jinxs/modes/wander.jinx,sha256=vkU-CvkdEXaW4oEs4Tq0AHhhcCmPdLRWprPsjNOvxOk,30671
116
+ npcsh/npc_team/jinxs/modes/yap.jinx,sha256=Ufa1ifpfwWwqa_r9KOzZIQNRbNY2uk2g8k-XnAO5q7E,47866
117
+ npcsh/npc_team/jinxs/skills/git-workflow.jinx,sha256=nM3b0RSmYc6MfqtosynxthTCa-k_leBbmBepjZp6DFg,1829
118
+ npcsh/npc_team/jinxs/skills/code-review/SKILL.md,sha256=syi42nrbe2ojAw3_jk3Hu-bFKh2vI1737v-XqyCksG0,1652
119
+ npcsh/npc_team/jinxs/skills/debugging/SKILL.md,sha256=KjhfGi2QLPMcSqIrrAzGT_E_E6DV_6sf4bbBg3ec0pY,1439
120
+ npcsh-1.1.23.data/data/npcsh/npc_team/SKILL.md,sha256=KjhfGi2QLPMcSqIrrAzGT_E_E6DV_6sf4bbBg3ec0pY,1439
121
+ npcsh-1.1.23.data/data/npcsh/npc_team/alicanto.jinx,sha256=7pwvl73tt8z5s4a6wXGVtIRt532ewkB7IMOx1Hrzo5U,75218
122
+ npcsh-1.1.23.data/data/npcsh/npc_team/alicanto.npc,sha256=ABA29s5COa01CVmKSTfT0pJka7PxVRUvfL2R9F-6bb0,1557
123
+ npcsh-1.1.23.data/data/npcsh/npc_team/alicanto.png,sha256=A7xeMbcoKGjlkELxJEVifCEZLVWbOKZarTN5ZFJG-FM,3519858
124
+ npcsh-1.1.23.data/data/npcsh/npc_team/arxiv.jinx,sha256=cYj0N1SkhaNXR8Rws7RgBB-5bjdtzu6vJ2Dq_Iwuj1M,38118
125
+ npcsh-1.1.23.data/data/npcsh/npc_team/benchmark.jinx,sha256=3jWhOm4ijSipG-1jRvRNaYP-5YoTXaSbnczudNVd3XA,6097
126
+ npcsh-1.1.23.data/data/npcsh/npc_team/browser_action.jinx,sha256=OtYK2rnpmjYPk2vZcD5J761XsXVuK6crV7NNGcMQzIg,9201
127
+ npcsh-1.1.23.data/data/npcsh/npc_team/browser_screenshot.jinx,sha256=rch0IHithrcFb-bLuMcnMAxsn65PKJVZEOhLyAgJc8k,1166
128
+ npcsh-1.1.23.data/data/npcsh/npc_team/build.jinx,sha256=HF6xoZJmxN8crXSLP6rkZCOUxlhs6-UGrnNY-TjjenM,15141
129
+ npcsh-1.1.23.data/data/npcsh/npc_team/chat.jinx,sha256=QXIh4OIbLKsZISNa0URFkczUFpzkKB2YDNfWPD1Stk4,1397
130
+ npcsh-1.1.23.data/data/npcsh/npc_team/click.jinx,sha256=uNJ66ZjIQ-0XflzuK3yGqNd7ApommWPIVL2pURhaRjY,585
131
+ npcsh-1.1.23.data/data/npcsh/npc_team/close_browser.jinx,sha256=D0-sIQCTt3TEnUpr6SIWuhQOkJ6eyzhJnvYtYqbg1UM,322
132
+ npcsh-1.1.23.data/data/npcsh/npc_team/cmd.jinx,sha256=sdmhXlduW2CCer4gUb3xnGN3j85y8GcOA6uLknir6lQ,1398
133
+ npcsh-1.1.23.data/data/npcsh/npc_team/compile.jinx,sha256=LbkZE8ewBUngbI_mchMJylIwY9uCoFCe9KWs4HfMFpU,2393
134
+ npcsh-1.1.23.data/data/npcsh/npc_team/compress.jinx,sha256=t3n2B6rwebyGOIDZ3PAQZm1b5YdDHYqO-lWlHYOQVWw,20661
135
+ npcsh-1.1.23.data/data/npcsh/npc_team/config.jinx,sha256=jvav2HMQ5JerigfAZ8wu-RBjUYyOnCVCmQf-jVHCsGM,12360
136
+ npcsh-1.1.23.data/data/npcsh/npc_team/convene.jinx,sha256=xKUG5Samw3AJFdlMVoNT7aq8_PsT_f3Kmes26D215dc,30303
137
+ npcsh-1.1.23.data/data/npcsh/npc_team/corca.jinx,sha256=8COHMDXcC1fJpR3pRaoJwWQnqtUqcTJGa2gHHCWPS6o,34481
138
+ npcsh-1.1.23.data/data/npcsh/npc_team/corca.npc,sha256=sPinp4MyWBRhoiM34XUK6wW1xQTkLpPwEc5YMVTKL5E,1216
139
+ npcsh-1.1.23.data/data/npcsh/npc_team/corca.png,sha256=0lF70hKu6tY-37YmIPVF2cuaPzvnQ4-UtQOzuAbKEf4,1666776
140
+ npcsh-1.1.23.data/data/npcsh/npc_team/corca_example.png,sha256=p0lVTuwaps4-F-3k4wgp9d897YPyn6FGZugtXMUQjj8,28777
141
+ npcsh-1.1.23.data/data/npcsh/npc_team/crond.jinx,sha256=tfDGhqueRUTzk4xcURNs5xLc22ZiiPrMvx3Ox81-x4U,34572
142
+ npcsh-1.1.23.data/data/npcsh/npc_team/db_search.jinx,sha256=9k33MH3Pbub_Hux7dNpEhQg7udyuoR5Yr-BtCHKAFU4,18066
143
+ npcsh-1.1.23.data/data/npcsh/npc_team/delegate.jinx,sha256=wmHizgZ4XpJpKYRCoQebQTSf2FRmWt2GKdIxPxJOOa8,8080
144
+ npcsh-1.1.23.data/data/npcsh/npc_team/edit_file.jinx,sha256=N7NyoFLE_cIlG9w-Qt37NwcQ69n_Jsisq2IbuGZpWSo,4928
145
+ npcsh-1.1.23.data/data/npcsh/npc_team/file_search.jinx,sha256=Ghf3ViI7SoRPjSzDREA6sqGxU5MUjNtEMw2vBDTtWK0,17007
146
+ npcsh-1.1.23.data/data/npcsh/npc_team/frederic.npc,sha256=1eUUMqSgiFMWYjqm2r2D6fflln1AZJ6c4rkjX9SEgEE,1764
147
+ npcsh-1.1.23.data/data/npcsh/npc_team/frederic4.png,sha256=ll8uoV0npnPp5HVJWv7h0xDSeuq4pqsk_gYGBHLS0VY,1590744
148
+ npcsh-1.1.23.data/data/npcsh/npc_team/git-workflow.jinx,sha256=nM3b0RSmYc6MfqtosynxthTCa-k_leBbmBepjZp6DFg,1829
149
+ npcsh-1.1.23.data/data/npcsh/npc_team/git.jinx,sha256=EUTAW9PDBXTazGOwWWrodEPUTfqUAnXpw7A2W7qoTiw,34677
150
+ npcsh-1.1.23.data/data/npcsh/npc_team/guac.jinx,sha256=OVFH0XGlwoTUIZoL8Zwo88wmQB0Ip-ZXuHQsAEYLZv4,23582
151
+ npcsh-1.1.23.data/data/npcsh/npc_team/guac.npc,sha256=8krxP6f86E_R6oAZj0452WL-TxoKfjPIbxsxLM2LEHI,782
152
+ npcsh-1.1.23.data/data/npcsh/npc_team/guac.png,sha256=MCE7eJuEJwLJEzc9FS7lL62Mm-38jQRHkxXogPfOTuw,211470
153
+ npcsh-1.1.23.data/data/npcsh/npc_team/help.jinx,sha256=kT8F4LdMdCvt3FbzbIKGXwQkhvO5M43JTIHkS-fOCYQ,12365
154
+ npcsh-1.1.23.data/data/npcsh/npc_team/incognide.jinx,sha256=0lSYUS7dVmfi4hGS0SiBg5LlAuNHE8qlrgU7QFNAmtQ,2231
155
+ npcsh-1.1.23.data/data/npcsh/npc_team/init.jinx,sha256=EjKNxHOTr1adPaI5cQb5maSIm_ggQudw5eiORFFa8tI,22386
156
+ npcsh-1.1.23.data/data/npcsh/npc_team/jinxs.jinx,sha256=pyirjkSQSrJGiLsjIwFy2oS3mylfpi2UJzPJonub_Sw,16260
157
+ npcsh-1.1.23.data/data/npcsh/npc_team/kadiefa.npc,sha256=s7mKC57mz7-0bbIC5WF74-AfHIjbNkC92cO3fCGrVy4,1636
158
+ npcsh-1.1.23.data/data/npcsh/npc_team/kadiefa.png,sha256=3CAwL8crKIwJko6o75Z6OYYEEM9Rk--yGzCJg7zoszg,3062528
159
+ npcsh-1.1.23.data/data/npcsh/npc_team/key_press.jinx,sha256=PQWf0BsYDddwF3_bgdRJpH_pjUWlWtABDyiK_v26Dj0,832
160
+ npcsh-1.1.23.data/data/npcsh/npc_team/kg.jinx,sha256=veGhNu3umFK2QL_ZheaS-8BF20YKBgmoz0-1bwSz-r4,46960
161
+ npcsh-1.1.23.data/data/npcsh/npc_team/launch_app.jinx,sha256=G3KRSKgBbCPiF9WwrkPtNFK7Pb2xu0TFCY98YmMGD50,1187
162
+ npcsh-1.1.23.data/data/npcsh/npc_team/load_file.jinx,sha256=Dq2982ZJkbSrM75O8YgLeGRnHdWl0AfEIYkj9RkNMLg,1271
163
+ npcsh-1.1.23.data/data/npcsh/npc_team/memories.jinx,sha256=vFV-3xqgbeYw6FV2TWTANdcUV0jXvpWVVVfVF_5jQok,15598
164
+ npcsh-1.1.23.data/data/npcsh/npc_team/models.jinx,sha256=5GiD-yKC2h5LWvwEOLdim8nJUqIl6FileBfUXKlHAiA,14424
165
+ npcsh-1.1.23.data/data/npcsh/npc_team/npcsh.ctx,sha256=bWtV7pzlcN36681ZA1JprRQgZ8wPrkH35_4g1lipMmc,2111
166
+ npcsh-1.1.23.data/data/npcsh/npc_team/npcsh_sibiji.png,sha256=9fUqgYMsSHmaH-kBTBQ7N5UCS5-eLZF94Log0O3mtFg,4544
167
+ npcsh-1.1.23.data/data/npcsh/npc_team/nql.jinx,sha256=T4CCFZLGBxKRsbz6nzAgEJSDNX08j_XMI96U7k-sgEc,19758
168
+ npcsh-1.1.23.data/data/npcsh/npc_team/open_browser.jinx,sha256=AJ4ZysHzdNIghSpu2cTcbRvio1KwV4yzjnyAvAragr4,1656
169
+ npcsh-1.1.23.data/data/npcsh/npc_team/ots.jinx,sha256=1boaqSw1kb_Y5WJ28c22a3CiHkANzPIW9tTF9STs_Fg,2375
170
+ npcsh-1.1.23.data/data/npcsh/npc_team/papers.jinx,sha256=_MOyha7kmp2cDffCoXKtfNWFTLzfXCQXyoIizcZYBkI,29915
171
+ npcsh-1.1.23.data/data/npcsh/npc_team/paste.jinx,sha256=bycgMzeYFHl3-TN4YYDyasbNe22hEgFGMOmYoMWFgWI,4957
172
+ npcsh-1.1.23.data/data/npcsh/npc_team/plonk.jinx,sha256=RjWDpyaH23kb3zqgZm9yplPEqXxgXAjeDMvN9dWs3l4,27297
173
+ npcsh-1.1.23.data/data/npcsh/npc_team/plonk.npc,sha256=hBpGbi1hMgAAR-RrNLcpuvdEvw8PrGBByaZVYdROpZk,1333
174
+ npcsh-1.1.23.data/data/npcsh/npc_team/plonk.png,sha256=IU5ey-Dl4HEKlwnf75RSWNSHpF8rVqGmdbsa0deL4rQ,2727773
175
+ npcsh-1.1.23.data/data/npcsh/npc_team/plonkjr.png,sha256=MqLEGwsyECUeODZIti0HQQrMMVxA6XERpW01R06NbpY,2606710
176
+ npcsh-1.1.23.data/data/npcsh/npc_team/pti.jinx,sha256=1kPM5NM85JRUMDS2U_Xj-K5dfEgFRrsDnwFZv9ozK4U,14642
177
+ npcsh-1.1.23.data/data/npcsh/npc_team/python.jinx,sha256=lFJubdPVlGxSuUKCxsxjYG4_dnX2ATn8U9ChYKRmL5Q,389
178
+ npcsh-1.1.23.data/data/npcsh/npc_team/reattach.jinx,sha256=yxArBZlOpVcjvU-tDUFNO0XWMUY-flhlGQonGIOnAdY,13977
179
+ npcsh-1.1.23.data/data/npcsh/npc_team/roll.jinx,sha256=tD1jGtLD4BSpo9425ENJF-3qyU4Crf8Kq8ikNEddNT8,14016
180
+ npcsh-1.1.23.data/data/npcsh/npc_team/sample.jinx,sha256=0q-Iw7KZEp6fkqjGSy_9onvtqhxmtjDG_v55uA4J7K0,1948
181
+ npcsh-1.1.23.data/data/npcsh/npc_team/screenshot.jinx,sha256=jVU1u-MH_rW6haAHLO3FrikNgeEKAQpUY962pPM8epc,657
182
+ npcsh-1.1.23.data/data/npcsh/npc_team/serve.jinx,sha256=da3CR5DYbrdVuFz_UePGf44HLCjB3INVSs2qN8k1K8A,43449
183
+ npcsh-1.1.23.data/data/npcsh/npc_team/set.jinx,sha256=FFY6JNVGkrKpHomXLuAiCv7mbwUGIyWh8zE_XMICHJY,1299
184
+ npcsh-1.1.23.data/data/npcsh/npc_team/setup.jinx,sha256=4pnNFtfVWJB4ogFLrTYATohpqa5OPABofCDK92lGxWQ,10627
185
+ npcsh-1.1.23.data/data/npcsh/npc_team/sh.jinx,sha256=DmRVD2iny_Fe-VUPl0aSHDoWhV_0cmPDjuPMZJDqoEw,741
186
+ npcsh-1.1.23.data/data/npcsh/npc_team/shh.jinx,sha256=yD-_va97JHT1MAhUvoL8w86Li9cbwi8XbswVcTRxd4U,464
187
+ npcsh-1.1.23.data/data/npcsh/npc_team/sibiji.npc,sha256=I-tBauiSnuIzmzjizaDC6YRfiAXGEl0GtkhKyZc0-nU,1918
188
+ npcsh-1.1.23.data/data/npcsh/npc_team/sibiji.png,sha256=1dlZb7J3E62FcVo9CVOzLb8nu1bIUV7cr97nsFocHCM,35615
189
+ npcsh-1.1.23.data/data/npcsh/npc_team/skill.jinx,sha256=KzyieljPBheTCEusW5PaMYXmh2p3GDXtkHBV41zUovY,2245
190
+ npcsh-1.1.23.data/data/npcsh/npc_team/skills.jinx,sha256=bdjIWbVZAZ3stpGhzCArsuU1mwi3EQf53KVomycbgDM,26114
191
+ npcsh-1.1.23.data/data/npcsh/npc_team/sleep.jinx,sha256=dcEDGe6v53XzVoya2s7ru3ewJE2iKZ38DJLfnYfODT8,5440
192
+ npcsh-1.1.23.data/data/npcsh/npc_team/spool.jinx,sha256=II95LfPoOa1O2uNT3RXPA8r82tjp_px61Jy_tq3A6t0,14937
193
+ npcsh-1.1.23.data/data/npcsh/npc_team/spool.png,sha256=LWTLkwDxXBfLuSUCX32_lo5yAmLYGsA67Xpsz-7MmWU,2876725
194
+ npcsh-1.1.23.data/data/npcsh/npc_team/sql.jinx,sha256=7cAaLqr0A8vWn7QIVDzvqArwB0XmWOI6JPUVcfeGcWk,689
195
+ npcsh-1.1.23.data/data/npcsh/npc_team/switch.jinx,sha256=qsYMF_SWT12Z1KvWRT36kgUaUP_UOjpzA4v82IUIqF8,2022
196
+ npcsh-1.1.23.data/data/npcsh/npc_team/switches.jinx,sha256=UquqT6Kzn4FTquYJPr0hyoEcuZ6Ke9VMO5pT0bOeXEw,2177
197
+ npcsh-1.1.23.data/data/npcsh/npc_team/sync.jinx,sha256=7rWEuqeM21eR8WbhKx-lDt2guJgmVJwk4BaBK9SsLIY,8466
198
+ npcsh-1.1.23.data/data/npcsh/npc_team/team.jinx,sha256=0-t-ICICwce1X8fd8cY_1VGg_x_XQ90KD5ZEwE6p9jw,20291
199
+ npcsh-1.1.23.data/data/npcsh/npc_team/teamviz.jinx,sha256=WsWvIXbzJzm8S_7h0cgDqlRJIQ6NRzmAtVxmA6JskMc,7646
200
+ npcsh-1.1.23.data/data/npcsh/npc_team/trigger.jinx,sha256=VVCnkpYMicq85YA_XQewLvWBl3ctsfObRCwQH9wLCfc,2341
201
+ npcsh-1.1.23.data/data/npcsh/npc_team/type_text.jinx,sha256=JDCkm2bCV3gk08hrfu5pGYynpNoMLPZWGyfjz7fQhUo,720
202
+ npcsh-1.1.23.data/data/npcsh/npc_team/usage.jinx,sha256=40zhs19l7-16KAXHzOa8hjv7hA32ORe0F7das0TTLXY,1052
203
+ npcsh-1.1.23.data/data/npcsh/npc_team/verbose.jinx,sha256=mFGLy2Azx1JXGhDOwVwd5EwJB9fxPQpk9BrP8kJ3RzE,473
204
+ npcsh-1.1.23.data/data/npcsh/npc_team/vixynt.jinx,sha256=LuTyHFdNFmeOnxu-qEzlJ-IP4aRWisIzFtSXhVDszwk,14601
205
+ npcsh-1.1.23.data/data/npcsh/npc_team/wait.jinx,sha256=Jx-HdmMD7p5vdsNG3FXiZyRpKoFRHsmylxH6TMNznac,494
206
+ npcsh-1.1.23.data/data/npcsh/npc_team/wander.jinx,sha256=vkU-CvkdEXaW4oEs4Tq0AHhhcCmPdLRWprPsjNOvxOk,30671
207
+ npcsh-1.1.23.data/data/npcsh/npc_team/web_search.jinx,sha256=AuphZ3IlczyEfFvCh2Rx93fJ_8d_oix8_kAinjhWaf4,15492
208
+ npcsh-1.1.23.data/data/npcsh/npc_team/yap.jinx,sha256=Ufa1ifpfwWwqa_r9KOzZIQNRbNY2uk2g8k-XnAO5q7E,47866
209
+ npcsh-1.1.23.data/data/npcsh/npc_team/yap.png,sha256=_l7UbWnXJdsy4Mx-x5l9DT0R6ize3HTnkwQQnOFlI18,1548649
210
+ npcsh-1.1.23.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
211
+ project/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
212
+ npcsh-1.1.23.dist-info/METADATA,sha256=Tx6-7eWmbCZpK3mfRs1hRYWTAh7_UQtmytzSqs9hBbU,43454
213
+ npcsh-1.1.23.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
214
+ npcsh-1.1.23.dist-info/entry_points.txt,sha256=3ERDuLoIGCSQo166mcTibZ0ybjMly-3WSceNj-pql10,289
215
+ npcsh-1.1.23.dist-info/top_level.txt,sha256=sbA6l0H-5EUmtoSA3SJTzrFzT_BmsFtf1FOUq8P8vL0,14
216
+ npcsh-1.1.23.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- jinx_name: studio_add_tab
2
- description: Add a new tab to a pane.
3
- inputs:
4
- - paneId: "active"
5
- - type: ""
6
- - path: ""
7
- steps:
8
- - name: frontend_action
9
- engine: python
10
- code: |
11
- context['output'] = "Action executed by frontend"
@@ -1,9 +0,0 @@
1
- jinx_name: studio_close_pane
2
- description: Close a pane in NPC Studio. Use paneId="active" or omit to close the active pane.
3
- inputs:
4
- - paneId: "active"
5
- steps:
6
- - name: frontend_action
7
- engine: python
8
- code: |
9
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_close_tab
2
- description: Close a specific tab in a pane.
3
- inputs:
4
- - paneId: "active"
5
- - tabIndex: 0
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_confirm
2
- description: Show a confirmation dialog and return the user's choice.
3
- inputs:
4
- - message: ""
5
- - title: "Confirm"
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,9 +0,0 @@
1
- jinx_name: studio_focus_pane
2
- description: Focus/activate a specific pane in NPC Studio.
3
- inputs:
4
- - paneId: ""
5
- steps:
6
- - name: frontend_action
7
- engine: python
8
- code: |
9
- context['output'] = "Action executed by frontend"
@@ -1,8 +0,0 @@
1
- jinx_name: studio_list_panes
2
- description: List all open panes in NPC Studio. Returns pane IDs, types, titles, and which is active.
3
- inputs: []
4
- steps:
5
- - name: frontend_action
6
- engine: python
7
- code: |
8
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_navigate
2
- description: Navigate a browser pane to a specific URL.
3
- inputs:
4
- - paneId: "active"
5
- - url: ""
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_notify
2
- description: Show a notification toast in NPC Studio.
3
- inputs:
4
- - message: ""
5
- - type: "info"
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,13 +0,0 @@
1
- jinx_name: studio_open_pane
2
- description: Open a new pane in NPC Studio. Supports editor, terminal, browser, pdf, csv, chat, image, folder, and other content types.
3
- inputs:
4
- - type: ""
5
- - path: ""
6
- - position: "right"
7
- steps:
8
- - name: frontend_action
9
- engine: python
10
- code: |
11
- # This action is executed by the NPC Studio frontend
12
- # The frontend intercepts studio.* tool calls and handles them directly
13
- context['output'] = "Action executed by frontend"
@@ -1,9 +0,0 @@
1
- jinx_name: studio_read_pane
2
- description: Read the contents of a pane. For editor panes returns file content, for chat panes returns messages, for browser panes returns URL/title.
3
- inputs:
4
- - paneId: "active"
5
- steps:
6
- - name: frontend_action
7
- engine: python
8
- code: |
9
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_run_terminal
2
- description: Execute a command in a terminal pane.
3
- inputs:
4
- - paneId: "active"
5
- - command: ""
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_send_message
2
- description: Send a message in a chat pane.
3
- inputs:
4
- - paneId: "active"
5
- - message: ""
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,12 +0,0 @@
1
- jinx_name: studio_split_pane
2
- description: Split an existing pane to create a new pane alongside it.
3
- inputs:
4
- - paneId: "active"
5
- - direction: "right"
6
- - type: ""
7
- - path: ""
8
- steps:
9
- - name: frontend_action
10
- engine: python
11
- code: |
12
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_switch_npc
2
- description: Switch the active NPC in a chat pane.
3
- inputs:
4
- - paneId: "active"
5
- - npcName: ""
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"
@@ -1,10 +0,0 @@
1
- jinx_name: studio_switch_tab
2
- description: Switch to a specific tab in a pane.
3
- inputs:
4
- - paneId: "active"
5
- - tabIndex: 0
6
- steps:
7
- - name: frontend_action
8
- engine: python
9
- code: |
10
- context['output'] = "Action executed by frontend"