research-copilot 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +190 -0
  3. package/app/build/icon.icns +0 -0
  4. package/app/build/icon.ico +0 -0
  5. package/app/build/icon.png +0 -0
  6. package/app/out/main/index.mjs +6719 -0
  7. package/app/out/preload/index.js +141 -0
  8. package/app/out/renderer/assets/Inter-Variable-Latin-8kRkwJBP.woff2 +0 -0
  9. package/app/out/renderer/assets/Inter-Variable-LatinExt-B_-bZUTo.woff2 +0 -0
  10. package/app/out/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  11. package/app/out/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  12. package/app/out/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  13. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  14. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  15. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  16. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  17. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  18. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  19. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  20. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  21. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  22. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  23. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  24. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  25. package/app/out/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  26. package/app/out/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  27. package/app/out/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  28. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  29. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  30. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  31. package/app/out/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  32. package/app/out/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  33. package/app/out/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  34. package/app/out/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  35. package/app/out/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  36. package/app/out/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  37. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  38. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  39. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  40. package/app/out/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  41. package/app/out/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  42. package/app/out/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  43. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  44. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  45. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  46. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  47. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  48. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  49. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  50. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  51. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  52. package/app/out/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  53. package/app/out/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  54. package/app/out/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  55. package/app/out/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  56. package/app/out/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  57. package/app/out/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  58. package/app/out/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  59. package/app/out/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  60. package/app/out/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  61. package/app/out/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  62. package/app/out/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  63. package/app/out/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  64. package/app/out/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  65. package/app/out/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  66. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  67. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  68. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  69. package/app/out/renderer/assets/MilkdownMarkdownEditor-bLPxrCVb.js +89821 -0
  70. package/app/out/renderer/assets/MilkdownMarkdownEditor-tTNRIB2K.css +2555 -0
  71. package/app/out/renderer/assets/Tableau10-BqnYsPR6.js +9 -0
  72. package/app/out/renderer/assets/apl-fqmucPXA.js +140 -0
  73. package/app/out/renderer/assets/arc-J47ePHZ2.js +132 -0
  74. package/app/out/renderer/assets/array-DgktLKBx.js +6 -0
  75. package/app/out/renderer/assets/asciiarmor-DucZyvP0.js +56 -0
  76. package/app/out/renderer/assets/asn1-BnOEsgAm.js +144 -0
  77. package/app/out/renderer/assets/asterisk-QAlztEwS.js +345 -0
  78. package/app/out/renderer/assets/blockDiagram-c4efeb88-5uRQXgQJ.js +1817 -0
  79. package/app/out/renderer/assets/brainfuck-DZVCuF_t.js +53 -0
  80. package/app/out/renderer/assets/c4Diagram-c83219d4-C4iCTPEL.js +2464 -0
  81. package/app/out/renderer/assets/channel-ZAmhHE3g.js +7 -0
  82. package/app/out/renderer/assets/classDiagram-beda092f-7NOZxq_W.js +357 -0
  83. package/app/out/renderer/assets/classDiagram-v2-2358418a-5fPT-cUH.js +291 -0
  84. package/app/out/renderer/assets/clike-xqXYL6ge.js +805 -0
  85. package/app/out/renderer/assets/clojure-BhXMqnxz.js +849 -0
  86. package/app/out/renderer/assets/clone-CsnzsYXQ.js +8 -0
  87. package/app/out/renderer/assets/cmake-BGaNd9E7.js +71 -0
  88. package/app/out/renderer/assets/cobol-4yqQntpt.js +120 -0
  89. package/app/out/renderer/assets/coffeescript-D2dXvhEc.js +308 -0
  90. package/app/out/renderer/assets/commonlisp-CF_VNHQR.js +130 -0
  91. package/app/out/renderer/assets/createText-1719965b-Cji7KN4K.js +4904 -0
  92. package/app/out/renderer/assets/crystal-DyuLTqLs.js +398 -0
  93. package/app/out/renderer/assets/css-c-jst79C.js +1783 -0
  94. package/app/out/renderer/assets/cypher-Dlu_3r4V.js +121 -0
  95. package/app/out/renderer/assets/d-UURgV0Ux.js +179 -0
  96. package/app/out/renderer/assets/diff-B_Bi2Crb.js +25 -0
  97. package/app/out/renderer/assets/dockerfile-Bvk733Ga.js +201 -0
  98. package/app/out/renderer/assets/dtd-Dy74G54E.js +114 -0
  99. package/app/out/renderer/assets/dylan-TSb-Nfix.js +314 -0
  100. package/app/out/renderer/assets/ebnf-DAomQUbD.js +139 -0
  101. package/app/out/renderer/assets/ecl-B59qGGVg.js +178 -0
  102. package/app/out/renderer/assets/edges-96097737-CD0EvAZQ.js +1844 -0
  103. package/app/out/renderer/assets/eiffel-Dze7nlu3.js +134 -0
  104. package/app/out/renderer/assets/elm-DG7jkhNZ.js +176 -0
  105. package/app/out/renderer/assets/erDiagram-0228fc6a-DRYXBpi7.js +1321 -0
  106. package/app/out/renderer/assets/erlang-BO6gOnGA.js +674 -0
  107. package/app/out/renderer/assets/factor-CMxFHDqz.js +65 -0
  108. package/app/out/renderer/assets/fcl-CDDUNjTj.js +141 -0
  109. package/app/out/renderer/assets/flowDb-c6c81e3f-CuoIN-Cy.js +1713 -0
  110. package/app/out/renderer/assets/flowDiagram-50d868cf-CPWPLOml.js +1272 -0
  111. package/app/out/renderer/assets/flowDiagram-v2-4f6560a1-C_R12s4S.js +33 -0
  112. package/app/out/renderer/assets/flowchart-elk-definition-6af322e1-BdKUSFpi.js +92921 -0
  113. package/app/out/renderer/assets/forth-B9D2JCeE.js +116 -0
  114. package/app/out/renderer/assets/fortran-CAG2BFbe.js +467 -0
  115. package/app/out/renderer/assets/ganttDiagram-a2739b55-ygqT5HlG.js +3399 -0
  116. package/app/out/renderer/assets/gas-d3KEcW3x.js +294 -0
  117. package/app/out/renderer/assets/gherkin-DhZlEZiy.js +115 -0
  118. package/app/out/renderer/assets/gitGraphDiagram-82fe8481-D97GT4iA.js +1791 -0
  119. package/app/out/renderer/assets/graph-DpC13d95.js +1237 -0
  120. package/app/out/renderer/assets/groovy-CpwJiBl7.js +223 -0
  121. package/app/out/renderer/assets/haskell-BlGBCCe3.js +459 -0
  122. package/app/out/renderer/assets/haxe-7MlzfeYV.js +514 -0
  123. package/app/out/renderer/assets/http-BqypyemW.js +79 -0
  124. package/app/out/renderer/assets/idl-4HIGJlDI.js +985 -0
  125. package/app/out/renderer/assets/index-4-ziknCv.js +292 -0
  126. package/app/out/renderer/assets/index-5325376f-Bbs7Fbqr.js +663 -0
  127. package/app/out/renderer/assets/index-B2jip-rk.js +2489 -0
  128. package/app/out/renderer/assets/index-BKTVfokE.js +312 -0
  129. package/app/out/renderer/assets/index-BiJbFgVG.js +118 -0
  130. package/app/out/renderer/assets/index-Bn433Fat.js +83 -0
  131. package/app/out/renderer/assets/index-BqDyyRCx.js +39679 -0
  132. package/app/out/renderer/assets/index-BzFMeMPn.js +158 -0
  133. package/app/out/renderer/assets/index-C-_uCjZJ.css +2701 -0
  134. package/app/out/renderer/assets/index-C1ithNW1.js +1765 -0
  135. package/app/out/renderer/assets/index-CAJkRYkO.js +407 -0
  136. package/app/out/renderer/assets/index-CleO0-yj.js +690 -0
  137. package/app/out/renderer/assets/index-Cq4MH3sY.js +1020 -0
  138. package/app/out/renderer/assets/index-CtA0Xj22.js +705 -0
  139. package/app/out/renderer/assets/index-CvAZkqBZ.js +83 -0
  140. package/app/out/renderer/assets/index-D3UDN-5c.js +152 -0
  141. package/app/out/renderer/assets/index-D4F9R5ao.js +179 -0
  142. package/app/out/renderer/assets/index-D6RguhZ5.js +328 -0
  143. package/app/out/renderer/assets/index-DnEowqXv.js +386 -0
  144. package/app/out/renderer/assets/index-K8c8Mqdy.js +98 -0
  145. package/app/out/renderer/assets/index-Kh14gO6K.js +62 -0
  146. package/app/out/renderer/assets/index-WFd2jRnA.js +333 -0
  147. package/app/out/renderer/assets/index-WgMfkRFp.js +313 -0
  148. package/app/out/renderer/assets/index-Y4lKyF6t.js +1042 -0
  149. package/app/out/renderer/assets/index-fx307_f1.js +643 -0
  150. package/app/out/renderer/assets/infoDiagram-8eee0895-ptaVSwzq.js +511 -0
  151. package/app/out/renderer/assets/init-ZxktEp_H.js +16 -0
  152. package/app/out/renderer/assets/javascript-C3MnDRiU.js +994 -0
  153. package/app/out/renderer/assets/journeyDiagram-c64418c1-aloEGOQp.js +1184 -0
  154. package/app/out/renderer/assets/julia-Bs6JJhYG.js +407 -0
  155. package/app/out/renderer/assets/layout-ZeuHE_aY.js +2217 -0
  156. package/app/out/renderer/assets/line-CAgaGl-S.js +45 -0
  157. package/app/out/renderer/assets/linear-DIg7lTe1.js +539 -0
  158. package/app/out/renderer/assets/livescript-DmzgM3Yt.js +296 -0
  159. package/app/out/renderer/assets/lua-8cJgIlqe.js +256 -0
  160. package/app/out/renderer/assets/mathematica-DNLOL9PQ.js +110 -0
  161. package/app/out/renderer/assets/mbox-Ga7d4MMN.js +117 -0
  162. package/app/out/renderer/assets/mindmap-definition-8da855dc-B8XVoUxz.js +36054 -0
  163. package/app/out/renderer/assets/mirc-Dma3B8rS.js +107 -0
  164. package/app/out/renderer/assets/mllike-DHn7xckP.js +334 -0
  165. package/app/out/renderer/assets/modelica-0d55jYY0.js +147 -0
  166. package/app/out/renderer/assets/mscgen-DdqZYINH.js +135 -0
  167. package/app/out/renderer/assets/mumps-Btr8VblO.js +93 -0
  168. package/app/out/renderer/assets/nginx-DTDtBDVN.js +141 -0
  169. package/app/out/renderer/assets/nsis-3zG7tgur.js +62 -0
  170. package/app/out/renderer/assets/ntriples-CvgOYMpL.js +153 -0
  171. package/app/out/renderer/assets/octave-DYBj3-tl.js +200 -0
  172. package/app/out/renderer/assets/ordinal-DSZU4PqD.js +76 -0
  173. package/app/out/renderer/assets/oz-R_e8WMIi.js +231 -0
  174. package/app/out/renderer/assets/pascal-GD8iposT.js +105 -0
  175. package/app/out/renderer/assets/path-Cp2qmpkd.js +109 -0
  176. package/app/out/renderer/assets/perl-DL9mHpoi.js +1105 -0
  177. package/app/out/renderer/assets/pieDiagram-a8764435-DlwoeBU2.js +770 -0
  178. package/app/out/renderer/assets/pig-C_4T4YIV.js +101 -0
  179. package/app/out/renderer/assets/powershell-B0suO7Vd.js +328 -0
  180. package/app/out/renderer/assets/properties-BR-vP1aU.js +58 -0
  181. package/app/out/renderer/assets/protobuf-BxgpyhoW.js +77 -0
  182. package/app/out/renderer/assets/pug-By0kVCfm.js +405 -0
  183. package/app/out/renderer/assets/puppet-Bdao66PW.js +137 -0
  184. package/app/out/renderer/assets/python-CvWbmiX4.js +427 -0
  185. package/app/out/renderer/assets/q-CrbCVq4a.js +131 -0
  186. package/app/out/renderer/assets/quadrantDiagram-1e28029f-BaSi1XB4.js +1200 -0
  187. package/app/out/renderer/assets/r-V7nswm59.js +170 -0
  188. package/app/out/renderer/assets/requirementDiagram-08caed73-D3EFyegZ.js +1092 -0
  189. package/app/out/renderer/assets/rpm-C-DLY-If.js +109 -0
  190. package/app/out/renderer/assets/ruby-JDKLJNK0.js +330 -0
  191. package/app/out/renderer/assets/sankeyDiagram-a04cb91d-Cv44AsnM.js +1174 -0
  192. package/app/out/renderer/assets/sas-D2UG-yhZ.js +207 -0
  193. package/app/out/renderer/assets/scheme-BKzrkGJD.js +222 -0
  194. package/app/out/renderer/assets/sequenceDiagram-c5b8d532-CuUBu-x4.js +3337 -0
  195. package/app/out/renderer/assets/shell-BlsXDxCn.js +222 -0
  196. package/app/out/renderer/assets/sieve-CjwBwOY5.js +135 -0
  197. package/app/out/renderer/assets/simple-mode-DMneyfDu.js +130 -0
  198. package/app/out/renderer/assets/smalltalk-BOIGQuhN.js +121 -0
  199. package/app/out/renderer/assets/solr-CwD7U71z.js +69 -0
  200. package/app/out/renderer/assets/sparql-DYskk2vE.js +249 -0
  201. package/app/out/renderer/assets/spreadsheet-Bgtt3oLP.js +87 -0
  202. package/app/out/renderer/assets/sql-BSrOzCRI.js +354 -0
  203. package/app/out/renderer/assets/stateDiagram-1ecb1508-BOU34Zp4.js +454 -0
  204. package/app/out/renderer/assets/stateDiagram-v2-c2b004d7-BgRoffou.js +326 -0
  205. package/app/out/renderer/assets/stex-B6LNC55o.js +231 -0
  206. package/app/out/renderer/assets/styles-b4e223ce-BMr9TPuj.js +1483 -0
  207. package/app/out/renderer/assets/styles-ca3715f6-DgbNw99p.js +1363 -0
  208. package/app/out/renderer/assets/styles-d45a18b0-DtRYKYKf.js +574 -0
  209. package/app/out/renderer/assets/stylus-BkS-boTH.js +565 -0
  210. package/app/out/renderer/assets/svgDrawCommon-b86b1483-Bein03PD.js +100 -0
  211. package/app/out/renderer/assets/swift-FRZi1uvB.js +291 -0
  212. package/app/out/renderer/assets/tcl-CUcaCdmq.js +114 -0
  213. package/app/out/renderer/assets/textile-BnFpjsrl.js +414 -0
  214. package/app/out/renderer/assets/tiddlywiki-CjprD-Qp.js +218 -0
  215. package/app/out/renderer/assets/tiki-B4EPSQ1G.js +265 -0
  216. package/app/out/renderer/assets/timeline-definition-faaaa080-BlWpLE_4.js +1212 -0
  217. package/app/out/renderer/assets/toml-BOuWGMcf.js +76 -0
  218. package/app/out/renderer/assets/troff-E1bJ0PPL.js +61 -0
  219. package/app/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +133 -0
  220. package/app/out/renderer/assets/ttcn-tKd4HLu4.js +192 -0
  221. package/app/out/renderer/assets/turtle-Dq7-1WAf.js +124 -0
  222. package/app/out/renderer/assets/vb-Dp90gtsv.js +196 -0
  223. package/app/out/renderer/assets/vbscript-CI6_mxxU.js +479 -0
  224. package/app/out/renderer/assets/velocity-BwIZK1TH.js +149 -0
  225. package/app/out/renderer/assets/verilog-DDCYnHN8.js +430 -0
  226. package/app/out/renderer/assets/vhdl-DCkMIyT9.js +158 -0
  227. package/app/out/renderer/assets/webidl-BTLTThCm.js +204 -0
  228. package/app/out/renderer/assets/xquery-BgiOC5Ce.js +525 -0
  229. package/app/out/renderer/assets/xychartDiagram-f5964ef8-Bhga-YXm.js +1799 -0
  230. package/app/out/renderer/assets/yacas-b5lAVEIl.js +130 -0
  231. package/app/out/renderer/assets/z80-BZV19vqv.js +93 -0
  232. package/app/out/renderer/index.html +13 -0
  233. package/app/out/skills/community-builtin/README.md +29 -0
  234. package/app/out/skills/community-builtin/document-docx/SKILL.md +44 -0
  235. package/app/out/skills/community-builtin/document-docx/scripts/docx-to-markdown.sh +20 -0
  236. package/app/out/skills/community-builtin/document-docx/scripts/extract-docx-text.sh +28 -0
  237. package/app/out/skills/community-builtin/document-docx/scripts/init-docx-template.sh +32 -0
  238. package/app/out/skills/community-builtin/document-docx/scripts/setup-docx-tools.sh +10 -0
  239. package/app/out/skills/community-builtin/markitdown/SKILL.md +105 -0
  240. package/app/out/skills/community-builtin/markitdown/scripts/batch-convert.sh +40 -0
  241. package/app/out/skills/community-builtin/markitdown/scripts/convert-file.sh +24 -0
  242. package/app/out/skills/community-builtin/markitdown/scripts/setup-markitdown.sh +10 -0
  243. package/app/out/skills/community-builtin/repo-quick-audit/SKILL.md +27 -0
  244. package/app/out/skills/community-builtin/repo-quick-audit/scripts/audit-basics.sh +19 -0
  245. package/app/out/skills/research-pilot-default-project-skills/README.md +23 -0
  246. package/app/out/skills/research-pilot-default-project-skills/citation-management/SKILL.md +39 -0
  247. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/doi-to-bibtex.sh +25 -0
  248. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/normalize-bibtex-keys.sh +51 -0
  249. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/setup-citation-tools.sh +10 -0
  250. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/validate-bib.sh +31 -0
  251. package/app/out/skills/research-pilot-default-project-skills/matplotlib/SKILL.md +34 -0
  252. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/api_reference.md +412 -0
  253. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/common_issues.md +563 -0
  254. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/plot_types.md +476 -0
  255. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/styling_guide.md +589 -0
  256. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/subagent_quickstart.md +30 -0
  257. package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/plot_template.py +401 -0
  258. package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/style_configurator.py +409 -0
  259. package/app/out/skills/research-pilot-default-project-skills/research-grants/SKILL.md +38 -0
  260. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/check-grant-compliance.sh +40 -0
  261. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/grant-summary-card.sh +32 -0
  262. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/init-grant-structure.sh +70 -0
  263. package/app/package.json +77 -0
  264. package/bin/cli.mjs +56 -0
  265. package/lib/README.md +145 -0
  266. package/lib/skills/_generated.ts +13 -0
  267. package/lib/skills/builtin/brainstorming-research-ideas/SKILL.md +280 -0
  268. package/lib/skills/builtin/coding/SKILL.md +114 -0
  269. package/lib/skills/builtin/creative-thinking-for-research/SKILL.md +273 -0
  270. package/lib/skills/builtin/matplotlib/SKILL.md +361 -0
  271. package/lib/skills/builtin/matplotlib/references/api_reference.md +412 -0
  272. package/lib/skills/builtin/matplotlib/references/common_issues.md +563 -0
  273. package/lib/skills/builtin/matplotlib/references/plot_types.md +476 -0
  274. package/lib/skills/builtin/matplotlib/references/styling_guide.md +589 -0
  275. package/lib/skills/builtin/matplotlib/scripts/plot_template.py +401 -0
  276. package/lib/skills/builtin/matplotlib/scripts/style_configurator.py +409 -0
  277. package/lib/skills/builtin/paper-writing/SKILL.md +554 -0
  278. package/lib/skills/builtin/paper-writing/references/checklists.md +524 -0
  279. package/lib/skills/builtin/paper-writing/references/citation-workflow.md +562 -0
  280. package/lib/skills/builtin/paper-writing/references/reviewer-guidelines.md +462 -0
  281. package/lib/skills/builtin/paper-writing/references/sources.md +189 -0
  282. package/lib/skills/builtin/paper-writing/references/systems-conferences.md +260 -0
  283. package/lib/skills/builtin/paper-writing/references/writing-guide.md +476 -0
  284. package/lib/skills/builtin/paper-writing/templates/README.md +408 -0
  285. package/lib/skills/builtin/paper-writing/templates/aaai2026/README.md +534 -0
  286. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  287. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  288. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  289. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  290. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  291. package/lib/skills/builtin/paper-writing/templates/acl/README.md +50 -0
  292. package/lib/skills/builtin/paper-writing/templates/acl/acl.sty +312 -0
  293. package/lib/skills/builtin/paper-writing/templates/acl/acl_latex.tex +377 -0
  294. package/lib/skills/builtin/paper-writing/templates/acl/acl_lualatex.tex +101 -0
  295. package/lib/skills/builtin/paper-writing/templates/acl/acl_natbib.bst +1940 -0
  296. package/lib/skills/builtin/paper-writing/templates/acl/anthology.bib.txt +26 -0
  297. package/lib/skills/builtin/paper-writing/templates/acl/custom.bib +70 -0
  298. package/lib/skills/builtin/paper-writing/templates/acl/formatting.md +326 -0
  299. package/lib/skills/builtin/paper-writing/templates/asplos2027/main.tex +459 -0
  300. package/lib/skills/builtin/paper-writing/templates/asplos2027/references.bib +135 -0
  301. package/lib/skills/builtin/paper-writing/templates/colm2025/README.md +3 -0
  302. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  303. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  304. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  305. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  306. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  307. package/lib/skills/builtin/paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  308. package/lib/skills/builtin/paper-writing/templates/colm2025/math_commands.tex +508 -0
  309. package/lib/skills/builtin/paper-writing/templates/colm2025/natbib.sty +1246 -0
  310. package/lib/skills/builtin/paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  311. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  312. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  313. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  314. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  315. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  316. package/lib/skills/builtin/paper-writing/templates/iclr2026/math_commands.tex +508 -0
  317. package/lib/skills/builtin/paper-writing/templates/iclr2026/natbib.sty +1246 -0
  318. package/lib/skills/builtin/paper-writing/templates/icml2026/algorithm.sty +79 -0
  319. package/lib/skills/builtin/paper-writing/templates/icml2026/algorithmic.sty +201 -0
  320. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.bib +75 -0
  321. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.pdf +0 -0
  322. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.tex +662 -0
  323. package/lib/skills/builtin/paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  324. package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.bst +1443 -0
  325. package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.sty +767 -0
  326. package/lib/skills/builtin/paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  327. package/lib/skills/builtin/paper-writing/templates/neurips2025/Makefile +36 -0
  328. package/lib/skills/builtin/paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  329. package/lib/skills/builtin/paper-writing/templates/neurips2025/main.tex +38 -0
  330. package/lib/skills/builtin/paper-writing/templates/neurips2025/neurips.sty +382 -0
  331. package/lib/skills/builtin/paper-writing/templates/nsdi2027/main.tex +426 -0
  332. package/lib/skills/builtin/paper-writing/templates/nsdi2027/references.bib +151 -0
  333. package/lib/skills/builtin/paper-writing/templates/nsdi2027/usenix-2020-09.sty +83 -0
  334. package/lib/skills/builtin/paper-writing/templates/osdi2026/main.tex +429 -0
  335. package/lib/skills/builtin/paper-writing/templates/osdi2026/references.bib +150 -0
  336. package/lib/skills/builtin/paper-writing/templates/osdi2026/usenix-2020-09.sty +83 -0
  337. package/lib/skills/builtin/paper-writing/templates/sosp2026/main.tex +532 -0
  338. package/lib/skills/builtin/paper-writing/templates/sosp2026/references.bib +148 -0
  339. package/lib/skills/builtin/research-grants/SKILL.md +958 -0
  340. package/lib/skills/builtin/research-grants/assets/budget_justification_template.md +453 -0
  341. package/lib/skills/builtin/research-grants/assets/nih_specific_aims_template.md +166 -0
  342. package/lib/skills/builtin/research-grants/assets/nsf_project_summary_template.md +92 -0
  343. package/lib/skills/builtin/research-grants/references/README.md +285 -0
  344. package/lib/skills/builtin/research-grants/references/broader_impacts.md +392 -0
  345. package/lib/skills/builtin/research-grants/references/darpa_guidelines.md +636 -0
  346. package/lib/skills/builtin/research-grants/references/doe_guidelines.md +586 -0
  347. package/lib/skills/builtin/research-grants/references/nih_guidelines.md +851 -0
  348. package/lib/skills/builtin/research-grants/references/nsf_guidelines.md +570 -0
  349. package/lib/skills/builtin/research-grants/references/nstc_guidelines.md +733 -0
  350. package/lib/skills/builtin/research-grants/references/specific_aims_guide.md +458 -0
  351. package/lib/skills/builtin/rewrite-humanize/SKILL.md +116 -0
  352. package/lib/skills/builtin/rewrite-humanize/references/cs-venue-tone.md +57 -0
  353. package/lib/skills/builtin/rewrite-humanize/references/lexicon.md +50 -0
  354. package/lib/skills/builtin/scholar-evaluation/SKILL.md +300 -0
  355. package/lib/skills/builtin/scholar-evaluation/references/evaluation_framework.md +663 -0
  356. package/lib/skills/builtin/scholar-evaluation/scripts/calculate_scores.py +379 -0
  357. package/lib/skills/builtin/scientific-schematics/SKILL.md +603 -0
  358. package/lib/skills/builtin/scientific-schematics/references/QUICK_REFERENCE.md +182 -0
  359. package/lib/skills/builtin/scientific-schematics/references/README.md +292 -0
  360. package/lib/skills/builtin/scientific-schematics/references/best_practices.md +560 -0
  361. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic.cpython-312.pyc +0 -0
  362. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic_ai.cpython-312.pyc +0 -0
  363. package/lib/skills/builtin/scientific-schematics/scripts/example_usage.sh +85 -0
  364. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic.py +141 -0
  365. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic_ai.py +910 -0
  366. package/lib/skills/builtin/scientific-visualization/SKILL.md +749 -0
  367. package/lib/skills/builtin/scientific-visualization/assets/color_palettes.py +197 -0
  368. package/lib/skills/builtin/scientific-visualization/assets/nature.mplstyle +63 -0
  369. package/lib/skills/builtin/scientific-visualization/assets/presentation.mplstyle +61 -0
  370. package/lib/skills/builtin/scientific-visualization/assets/publication.mplstyle +68 -0
  371. package/lib/skills/builtin/scientific-visualization/references/color_palettes.md +348 -0
  372. package/lib/skills/builtin/scientific-visualization/references/journal_requirements.md +320 -0
  373. package/lib/skills/builtin/scientific-visualization/references/matplotlib_examples.md +620 -0
  374. package/lib/skills/builtin/scientific-visualization/references/publication_guidelines.md +205 -0
  375. package/lib/skills/builtin/scientific-visualization/scripts/figure_export.py +343 -0
  376. package/lib/skills/builtin/scientific-visualization/scripts/style_presets.py +416 -0
  377. package/lib/skills/builtin/scientific-writing/SKILL.md +745 -0
  378. package/lib/skills/builtin/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
  379. package/lib/skills/builtin/scientific-writing/assets/scientific_report.sty +606 -0
  380. package/lib/skills/builtin/scientific-writing/assets/scientific_report_template.tex +449 -0
  381. package/lib/skills/builtin/scientific-writing/references/citation_styles.md +720 -0
  382. package/lib/skills/builtin/scientific-writing/references/figures_tables.md +806 -0
  383. package/lib/skills/builtin/scientific-writing/references/imrad_structure.md +686 -0
  384. package/lib/skills/builtin/scientific-writing/references/professional_report_formatting.md +664 -0
  385. package/lib/skills/builtin/scientific-writing/references/reporting_guidelines.md +748 -0
  386. package/lib/skills/builtin/scientific-writing/references/writing_principles.md +824 -0
  387. package/lib/skills/builtin/seaborn/SKILL.md +674 -0
  388. package/lib/skills/builtin/seaborn/references/examples.md +822 -0
  389. package/lib/skills/builtin/seaborn/references/function_reference.md +770 -0
  390. package/lib/skills/builtin/seaborn/references/objects_interface.md +964 -0
  391. package/lib/skills/data-analysis/SKILL.md +285 -0
  392. package/lib/skills/generate-skill-content.mjs +58 -0
  393. package/lib/skills/index.ts +34 -0
  394. package/lib/skills/loader.ts +452 -0
  395. package/package.json +62 -0
@@ -0,0 +1,426 @@
1
+ %%%%%%%% NSDI 2027 PAPER TEMPLATE %%%%%%%%%%%%%%%%%
2
+ %
3
+ % The 24th USENIX Symposium on Networked Systems Design and Implementation
4
+ % May 11--13, 2027, Providence, RI, USA
5
+ %
6
+ % Format: <= 12 pages (excluding references), USENIX format
7
+ % Two-column, 10pt on 12pt leading, Times Roman
8
+ %
9
+ % Official CFP: https://www.usenix.org/conference/nsdi27/call-for-papers
10
+ % Template source: https://www.usenix.org/conferences/author-resources/paper-templates
11
+ %
12
+ % IMPORTANT NOTES:
13
+ % - Three tracks: Traditional Research, Frontiers, Operational Systems
14
+ % - Indicate track on title page and submission form
15
+ % - PRESCREENING PHASE: Reviewers read ONLY the Introduction!
16
+ % --> Introduction must articulate ALL track-specific criteria
17
+ % - Two deadlines: Spring (April 2026) and Fall (September 2026)
18
+ % - One-shot revision available for rejected papers
19
+ %
20
+ % TRACK REQUIREMENTS (must be clear from Introduction alone):
21
+ % Research Track: Novel idea + evaluation evidence
22
+ % Frontiers Track: Novel NON-INCREMENTAL idea (less evaluation needed)
23
+ % Operational Track: Deployment setting, scale, lessons learned
24
+ %
25
+ % PRESCREENING CRITERIA (all must be evident in Introduction):
26
+ % 1. Subject falls within NSDI scope (networked/distributed systems)
27
+ % 2. Exposition understandable by NSDI PC member
28
+ % 3. Track-specific criteria met (see above)
29
+
30
+ \documentclass[letterpaper,twocolumn,10pt]{article}
31
+ \usepackage{usenix-2020-09}
32
+
33
+ % Recommended packages for networking/systems papers
34
+ \usepackage[utf8]{inputenc}
35
+ \usepackage{amsmath,amssymb}
36
+ \usepackage{graphicx}
37
+ \usepackage{booktabs} % Professional tables
38
+ \usepackage{hyperref}
39
+ \usepackage{url}
40
+ \usepackage{xspace}
41
+ \usepackage{subcaption} % Side-by-side figures
42
+ \usepackage{algorithm} % Algorithm environment
43
+ \usepackage{algorithmic} % Pseudocode formatting
44
+ \usepackage{listings} % Code listings
45
+ \usepackage[capitalize,noabbrev]{cleveref} % Smart cross-references
46
+
47
+ % Code listing style
48
+ \lstset{
49
+ basicstyle=\footnotesize\ttfamily,
50
+ numbers=left,
51
+ numberstyle=\tiny,
52
+ xleftmargin=2em,
53
+ breaklines=true,
54
+ tabsize=2,
55
+ showstringspaces=false,
56
+ frame=single,
57
+ captionpos=b
58
+ }
59
+
60
+ % Custom commands -- replace \system with your anonymized name
61
+ \newcommand{\system}{SystemName\xspace}
62
+ \newcommand{\eg}{e.g.,\xspace}
63
+ \newcommand{\ie}{i.e.,\xspace}
64
+ \newcommand{\etal}{\textit{et al.}\xspace}
65
+ \newcommand{\para}[1]{\smallskip\noindent\textbf{#1.}}
66
+ \newcommand{\parait}[1]{\smallskip\noindent\textit{#1.}}
67
+
68
+ % Networking-specific unit macros
69
+ \newcommand{\us}{\,$\mu$s\xspace}
70
+ \newcommand{\ms}{\,ms\xspace}
71
+ \newcommand{\GB}{\,GB\xspace}
72
+ \newcommand{\MB}{\,MB\xspace}
73
+ \newcommand{\Gbps}{\,Gbps\xspace}
74
+ \newcommand{\Tbps}{\,Tbps\xspace}
75
+ \newcommand{\pps}{\,pps\xspace}
76
+
77
+ \begin{document}
78
+
79
+ % Indicate your track in the title page
80
+ % Options: [Research Track] / [Frontiers Track] / [Operational Systems Track]
81
+ \title{Your Paper Title Here}
82
+
83
+ \author{Paper \#XXX} % Anonymized for submission (double-blind)
84
+ % Operational Systems track: may keep real company/system names for context
85
+ % Camera-ready:
86
+ % \author{
87
+ % {\rm Author One}\\
88
+ % Affiliation One\\
89
+ % \texttt{email@example.com}
90
+ % \and
91
+ % {\rm Author Two}\\
92
+ % Affiliation Two\\
93
+ % \texttt{email@example.com}
94
+ % }
95
+
96
+ \maketitle
97
+
98
+ %----------------------------------------------------------------------
99
+ \begin{abstract}
100
+ % Guidelines for a strong NSDI abstract:
101
+ % - State the networking/systems problem you solve
102
+ % - Explain why existing approaches fail
103
+ % - Describe your key insight and approach
104
+ % - Summarize evaluation results with concrete numbers
105
+ %
106
+ % Keep to 150--200 words. Avoid citations in the abstract.
107
+
108
+ We present \system, a [describe system] for [networked systems problem].
109
+ [Problem statement: why existing approaches fall short.]
110
+ \system exploits the insight that [key observation] to achieve [capability].
111
+ We evaluate \system on [testbed/workloads] and demonstrate [X]$\times$
112
+ improvement in [throughput/latency/etc.] compared to [baseline],
113
+ while maintaining [other desirable property].
114
+ \end{abstract}
115
+
116
+ %----------------------------------------------------------------------
117
+ \section{Introduction}
118
+ \label{sec:intro}
119
+
120
+ % ╔══════════════════════════════════════════════════════════════════╗
121
+ % ║ CRITICAL: This section is used for PRESCREENING! ║
122
+ % ║ Reviewers will read ONLY this section to determine: ║
123
+ % ║ 1. Subject falls within NSDI scope (networked/distributed) ║
124
+ % ║ 2. Exposition understandable by NSDI PC member ║
125
+ % ║ 3. Track-specific criteria met (see header comments) ║
126
+ % ║ ║
127
+ % ║ If your Introduction doesn't clearly articulate these, ║
128
+ % ║ your paper WILL be rejected in prescreening. ║
129
+ % ╚══════════════════════════════════════════════════════════════════╝
130
+ %
131
+ % Recommended structure:
132
+ % 1. Problem context in networked/distributed systems (1--2 paragraphs)
133
+ % 2. Why existing solutions are insufficient (1 paragraph)
134
+ % 3. Key insight and approach overview (1 paragraph)
135
+ % 4. Contributions list (bulleted)
136
+ % 5. Results highlights with concrete numbers (1 paragraph)
137
+
138
+ The rapid growth of [networked systems context]~\cite{jain2013b4} has
139
+ created new challenges for [problem area]. Existing solutions such as
140
+ [prior work]~\cite{alizadeh2010dctcp} are designed for [assumption],
141
+ but modern networks require [new capability].
142
+
143
+ \para{Key Insight}
144
+ We observe that [insight about network behavior/workload pattern].
145
+ This observation enables \system to [capability].
146
+
147
+ We make the following contributions:
148
+ \begin{itemize}
149
+ \item We characterize [problem] through measurements of [N]
150
+ production [network/cluster] traces (\cref{sec:background}).
151
+ \item We design \system, a [type of system] that leverages
152
+ [technique] to achieve [goal] (\cref{sec:design}).
153
+ \item We implement \system as a [module/protocol/service] with
154
+ [X] lines of [language] (\cref{sec:implementation}).
155
+ \item We evaluate \system on [testbed] with [workloads] and
156
+ show [X]\% improvement in [metric] over state-of-the-art
157
+ (\cref{sec:evaluation}).
158
+ \end{itemize}
159
+
160
+ %----------------------------------------------------------------------
161
+ \section{Background and Motivation}
162
+ \label{sec:background}
163
+
164
+ \subsection{Network Architecture Context}
165
+
166
+ Describe the relevant network architecture or protocol context.
167
+ Modern datacenter networks~\cite{singh2015jupiter, greenberg2009vl2}
168
+ employ [topology/protocol], which creates [challenge].
169
+
170
+ \subsection{Measurement Study}
171
+
172
+ % Concrete measurements from real traces strengthen motivation.
173
+ \Cref{fig:motivation} shows [measurement] from [N] production traces.
174
+ We identify [N] key findings:
175
+
176
+ \begin{figure}[t]
177
+ \centering
178
+ \fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
179
+ \textit{CDF or time-series plot from production trace analysis}
180
+ \vspace{3em}}}
181
+ \caption{[Description.] Analysis of [N] hours of production traffic
182
+ reveals that [finding]: [X]\% of flows account for [Y]\% of bytes.}
183
+ \label{fig:motivation}
184
+ \end{figure}
185
+
186
+ \para{Finding 1}
187
+ [First observation from trace analysis.]
188
+
189
+ \para{Finding 2}
190
+ [Second observation.] These findings motivate the design of \system.
191
+
192
+ %----------------------------------------------------------------------
193
+ \section{Design}
194
+ \label{sec:design}
195
+
196
+ \Cref{fig:architecture} presents the architecture of \system.
197
+
198
+ \begin{figure*}[t]
199
+ \centering
200
+ \fbox{\parbox{0.9\textwidth}{\centering\vspace{4em}
201
+ \textit{System architecture: control plane, data plane, and their interaction}
202
+ \vspace{4em}}}
203
+ \caption{Architecture of \system. The control plane [function] while
204
+ the data plane [function]. [Describe key interactions.]}
205
+ \label{fig:architecture}
206
+ \end{figure*}
207
+
208
+ \subsection{Control Plane}
209
+
210
+ Describe the control plane design, including how decisions are made
211
+ and communicated~\cite{patel2013ananta}.
212
+
213
+ \subsection{Data Plane}
214
+
215
+ Describe the data plane design. The forwarding logic is specified
216
+ in \cref{alg:forwarding}.
217
+
218
+ \begin{algorithm}[t]
219
+ \caption{Packet processing in \system}
220
+ \label{alg:forwarding}
221
+ \begin{algorithmic}[1]
222
+ \STATE \textbf{Input:} packet $p$, flow table $F$, policy $\pi$
223
+ \STATE \textbf{Output:} forwarding action $a$
224
+ \STATE $f \leftarrow \text{FlowLookup}(p.\text{header}, F)$
225
+ \IF{$f \neq \text{null}$}
226
+ \STATE $a \leftarrow f.\text{action}$ \COMMENT{cache hit}
227
+ \ELSE
228
+ \STATE $a \leftarrow \pi.\text{Decide}(p)$ \COMMENT{policy lookup}
229
+ \STATE $F.\text{Insert}(p.\text{header}, a)$
230
+ \ENDIF
231
+ \IF{$a.\text{type} = \text{ECMP}$}
232
+ \STATE Select path based on flowlet gap: $\Delta t > \delta$
233
+ \ENDIF
234
+ \STATE \textbf{return} $a$
235
+ \end{algorithmic}
236
+ \end{algorithm}
237
+
238
+ \subsection{Protocol Design}
239
+
240
+ The bandwidth allocation can be modeled using the max-min fairness
241
+ formulation:
242
+ \begin{equation}
243
+ \label{eq:fairness}
244
+ \max \min_{i \in \mathcal{F}} \frac{x_i}{w_i}
245
+ \quad \text{s.t.} \quad
246
+ \sum_{i: e \in p_i} x_i \leq c_e, \;\; \forall e \in \mathcal{E}
247
+ \end{equation}
248
+ where $x_i$ is the rate of flow $i$, $w_i$ is its weight, $p_i$ is
249
+ its path, $c_e$ is the capacity of link $e$, and $\mathcal{E}$ is
250
+ the set of all links.
251
+
252
+ \subsection{Handling Failures}
253
+
254
+ Describe fault tolerance mechanisms. \system handles [failure types]
255
+ through [mechanism], achieving [recovery time].
256
+
257
+ %----------------------------------------------------------------------
258
+ \section{Implementation}
259
+ \label{sec:implementation}
260
+
261
+ We implement \system in [X]K lines of [language].
262
+
263
+ \para{Switch Integration}
264
+ [Describe integration with switch hardware/software.]
265
+
266
+ \para{Host Agent}
267
+ [Describe the host-side component.]
268
+
269
+ \para{Controller}
270
+ [Describe the centralized/distributed controller.]
271
+
272
+ %----------------------------------------------------------------------
273
+ \section{Evaluation}
274
+ \label{sec:evaluation}
275
+
276
+ We evaluate \system to answer the following questions:
277
+ \begin{enumerate}
278
+ \item Does \system improve [throughput/FCT/latency] over baselines?
279
+ \item How does \system perform under different traffic patterns?
280
+ \item What is the overhead of \system?
281
+ \item How does \system handle failures?
282
+ \end{enumerate}
283
+
284
+ \subsection{Experimental Setup}
285
+ \label{sec:eval:setup}
286
+
287
+ \para{Testbed}
288
+ We deploy \system on a [topology] testbed with [N] servers and [M]
289
+ switches, connected via [link speed] links.
290
+
291
+ \para{Traffic Workloads}
292
+ We use traffic patterns from [source]~\cite{alizadeh2010dctcp}:
293
+ (1)~web search, (2)~data mining, and (3)~cache follower.
294
+ \Cref{tab:workloads} summarizes their characteristics.
295
+
296
+ \para{Baselines}
297
+ We compare against:
298
+ (1)~ECMP~\cite{hopps2000rfc},
299
+ (2)~[Protocol B]~\cite{jain2013b4}, and
300
+ (3)~[Protocol C].
301
+
302
+ \begin{table}[t]
303
+ \caption{Traffic workload characteristics. Flow sizes follow
304
+ the distributions from production datacenter traces.}
305
+ \label{tab:workloads}
306
+ \centering
307
+ \begin{small}
308
+ \begin{tabular}{@{}lrrl@{}}
309
+ \toprule
310
+ \textbf{Workload} & \textbf{Avg Size} & \textbf{Load} &
311
+ \textbf{Distribution} \\
312
+ \midrule
313
+ Web Search & 1.6\,KB & 50\% & Heavy-tailed \\
314
+ Data Mining & 7.4\,KB & 70\% & Bimodal \\
315
+ Cache Follow & 0.4\,KB & 30\% & Mostly small \\
316
+ ML Training & 128\,MB & 80\% & All-to-all \\
317
+ \bottomrule
318
+ \end{tabular}
319
+ \end{small}
320
+ \end{table}
321
+
322
+ \subsection{Flow Completion Time}
323
+ \label{sec:eval:fct}
324
+
325
+ \Cref{tab:fct} shows flow completion times (FCTs) across workloads.
326
+ \system reduces the average FCT by [X]\% and the 99th-percentile
327
+ tail FCT by [Y]\% compared to [best baseline].
328
+
329
+ \begin{table}[t]
330
+ \caption{Flow completion time comparison (normalized to ECMP).
331
+ Lower is better. Bold indicates best result.}
332
+ \label{tab:fct}
333
+ \centering
334
+ \begin{small}
335
+ \begin{tabular}{@{}lcccc@{}}
336
+ \toprule
337
+ & \multicolumn{2}{c}{\textbf{Web Search}} &
338
+ \multicolumn{2}{c}{\textbf{Data Mining}} \\
339
+ \cmidrule(lr){2-3} \cmidrule(lr){4-5}
340
+ \textbf{System} & \textbf{Avg} & \textbf{p99} &
341
+ \textbf{Avg} & \textbf{p99} \\
342
+ \midrule
343
+ ECMP & 1.00 & 1.00 & 1.00 & 1.00 \\
344
+ Baseline B & 0.85 & 0.78 & 0.88 & 0.82 \\
345
+ Baseline C & 0.82 & 0.71 & 0.84 & 0.75 \\
346
+ \textbf{\system} & \textbf{0.68} & \textbf{0.52} & \textbf{0.72} & \textbf{0.58} \\
347
+ \bottomrule
348
+ \end{tabular}
349
+ \end{small}
350
+ \end{table}
351
+
352
+ \subsection{Throughput Under Load}
353
+ \label{sec:eval:throughput}
354
+
355
+ \Cref{fig:throughput} shows aggregate throughput as network load
356
+ increases from 10\% to 90\%.
357
+
358
+ \begin{figure}[t]
359
+ \centering
360
+ \fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
361
+ \textit{Line chart: throughput vs.\ network load (10\%--90\%)}
362
+ \vspace{3em}}}
363
+ \caption{Aggregate throughput vs.\ network load. \system maintains
364
+ [X]\% of bisection bandwidth at 80\% load, compared to
365
+ [Y]\% for [baseline].}
366
+ \label{fig:throughput}
367
+ \end{figure}
368
+
369
+ \subsection{Failure Recovery}
370
+ \label{sec:eval:failure}
371
+
372
+ We evaluate recovery time by failing [N] links during peak load.
373
+ \system recovers within [X]\ms, compared to [Y]\ms for [baseline].
374
+
375
+ \begin{figure}[t]
376
+ \centering
377
+ \fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
378
+ \textit{Time-series: throughput drop and recovery after link failure}
379
+ \vspace{3em}}}
380
+ \caption{Failure recovery. \system detects the failure within [X]\us
381
+ and reroutes affected flows within [Y]\ms.}
382
+ \label{fig:failure}
383
+ \end{figure}
384
+
385
+ %----------------------------------------------------------------------
386
+ \section{Discussion}
387
+ \label{sec:discussion}
388
+
389
+ \para{Deployment Considerations}
390
+ [Discuss practical deployment aspects.]
391
+
392
+ \para{Limitations}
393
+ [Honestly discuss limitations.]
394
+
395
+ %----------------------------------------------------------------------
396
+ \section{Related Work}
397
+ \label{sec:related}
398
+
399
+ % Organize by theme, clearly distinguish your work.
400
+
401
+ \para{Datacenter Transport Protocols}
402
+ DCTCP~\cite{alizadeh2010dctcp} and its successors address [aspect].
403
+ \system differs by [distinction].
404
+
405
+ \para{Traffic Engineering}
406
+ B4~\cite{jain2013b4} and Jupiter~\cite{singh2015jupiter} optimize
407
+ [aspect]. \system complements these by [distinction].
408
+
409
+ \para{Load Balancing}
410
+ [Other approaches]~\cite{hopps2000rfc, patel2013ananta} provide
411
+ [capability]. \system extends this with [technique].
412
+
413
+ %----------------------------------------------------------------------
414
+ \section{Conclusion}
415
+ \label{sec:conclusion}
416
+
417
+ We presented \system, a [type of system] that [key capability].
418
+ By exploiting [insight], \system achieves [X]$\times$ improvement
419
+ in [metric] over state-of-the-art. Our evaluation on [testbed]
420
+ with [workloads] demonstrates [key results].
421
+
422
+ %----------------------------------------------------------------------
423
+ {\footnotesize \bibliographystyle{acm}
424
+ \bibliography{references}}
425
+
426
+ \end{document}
@@ -0,0 +1,151 @@
1
+ % NSDI 2027 Example Bibliography
2
+ %
3
+ % This file contains example references demonstrating different BibTeX entry
4
+ % types commonly used in networking and distributed systems papers.
5
+ % Replace with your actual references.
6
+ %
7
+ % Entry types demonstrated:
8
+ % inproceedings -- Conference paper (most common)
9
+ % article -- Journal article
10
+ % techreport -- RFC / Technical report
11
+ % phdthesis -- Doctoral dissertation
12
+ % misc -- ArXiv preprint, website, or software
13
+
14
+ %----------------------------------------------------------------------
15
+ % Conference papers (inproceedings)
16
+ %----------------------------------------------------------------------
17
+
18
+ @inproceedings{alizadeh2010dctcp,
19
+ author = {Alizadeh, Mohammad and Greenberg, Albert and Maltz, David A.
20
+ and Padhye, Jitendra and Patel, Parveen and Prabhakar, Balaji
21
+ and Sengupta, Sudipta and Sridharan, Murari},
22
+ title = {Data Center {TCP} ({DCTCP})},
23
+ booktitle = {Proceedings of the ACM SIGCOMM 2010 Conference},
24
+ year = {2010},
25
+ pages = {63--74},
26
+ address = {New Delhi, India},
27
+ publisher = {ACM},
28
+ doi = {10.1145/1851182.1851192},
29
+ }
30
+
31
+ @inproceedings{greenberg2009vl2,
32
+ author = {Greenberg, Albert and Hamilton, James R. and Jain, Navendu and
33
+ Kandula, Srikanth and Kim, Changhoon and Lahiri, Parantap and
34
+ Maltz, David A. and Patel, Parveen and Sengupta, Sudipta},
35
+ title = {{VL2}: A Scalable and Flexible Data Center Network},
36
+ booktitle = {Proceedings of the ACM SIGCOMM 2009 Conference},
37
+ year = {2009},
38
+ pages = {51--62},
39
+ address = {Barcelona, Spain},
40
+ publisher = {ACM},
41
+ }
42
+
43
+ @inproceedings{jain2013b4,
44
+ author = {Jain, Sushant and Kumar, Alok and Mandal, Subhasree and
45
+ Ong, Joon and Poutievski, Leon and Singh, Arjun and
46
+ Venkata, Subbaiah and Wanderer, Jim and Zhou, Junlan and
47
+ Zhu, Min and Zolla, Jon and H\"{o}lzle, Urs and Stuart, Stephen
48
+ and Vahdat, Amin},
49
+ title = {{B4}: Experience with a Globally-Deployed Software Defined {WAN}},
50
+ booktitle = {Proceedings of the ACM SIGCOMM 2013 Conference},
51
+ year = {2013},
52
+ pages = {3--14},
53
+ address = {Hong Kong, China},
54
+ publisher = {ACM},
55
+ }
56
+
57
+ @inproceedings{patel2013ananta,
58
+ author = {Patel, Parveen and Bansal, Deepak and Yuan, Lihua and
59
+ Murthy, Ashwin and Greenberg, Albert and Maltz, David A.
60
+ and Kern, Randy and Kumar, Hemant and Zikos, Marios and
61
+ Wu, Hongyu and Kim, Changhoon and Karri, Naveen},
62
+ title = {Ananta: Cloud Scale Load Balancing},
63
+ booktitle = {Proceedings of the ACM SIGCOMM 2013 Conference},
64
+ year = {2013},
65
+ pages = {207--218},
66
+ address = {Hong Kong, China},
67
+ publisher = {ACM},
68
+ }
69
+
70
+ @inproceedings{singh2015jupiter,
71
+ author = {Singh, Arjun and Ong, Joon and Agarwal, Amit and Anderson, Glen
72
+ and Armistead, Ashby and Bannon, Roy and Boving, Seb and
73
+ Desai, Gaurav and Felderman, Bob and Germano, Paulie and others},
74
+ title = {Jupiter Rising: A Decade of {Clos} Topologies and Centralized
75
+ Control in {Google}'s Datacenter Network},
76
+ booktitle = {Proceedings of the ACM SIGCOMM 2015 Conference},
77
+ year = {2015},
78
+ pages = {183--197},
79
+ address = {London, UK},
80
+ publisher = {ACM},
81
+ }
82
+
83
+ @inproceedings{handley2017quic,
84
+ author = {Langley, Adam and Riddoch, Alistair and Wilk, Alyssa and
85
+ Vicente, Antonio and Krasic, Charles and Zhang, Dan and
86
+ Yang, Fan and Kouranov, Fedor and Swett, Ian and Iyengar, Janardhan
87
+ and others},
88
+ title = {The {QUIC} Transport Protocol: Design and Internet-Scale Deployment},
89
+ booktitle = {Proceedings of the ACM SIGCOMM 2017 Conference},
90
+ year = {2017},
91
+ pages = {183--196},
92
+ address = {Los Angeles, CA},
93
+ publisher = {ACM},
94
+ }
95
+
96
+ %----------------------------------------------------------------------
97
+ % Journal article (article)
98
+ %----------------------------------------------------------------------
99
+
100
+ @article{floyd1993random,
101
+ author = {Floyd, Sally and Jacobson, Van},
102
+ title = {Random Early Detection Gateways for Congestion Avoidance},
103
+ journal = {IEEE/ACM Transactions on Networking},
104
+ volume = {1},
105
+ number = {4},
106
+ pages = {397--413},
107
+ year = {1993},
108
+ doi = {10.1109/90.251892},
109
+ publisher = {IEEE},
110
+ }
111
+
112
+ %----------------------------------------------------------------------
113
+ % RFC / Technical report (techreport)
114
+ %----------------------------------------------------------------------
115
+
116
+ @techreport{hopps2000rfc,
117
+ author = {Hopps, Christian E.},
118
+ title = {Analysis of an Equal-Cost Multi-Path Algorithm},
119
+ institution = {Internet Engineering Task Force},
120
+ year = {2000},
121
+ type = {RFC},
122
+ number = {2992},
123
+ note = {\url{https://www.rfc-editor.org/rfc/rfc2992}},
124
+ }
125
+
126
+ %----------------------------------------------------------------------
127
+ % ArXiv preprint (misc)
128
+ %----------------------------------------------------------------------
129
+
130
+ @misc{netllm2024,
131
+ author = {Wu, Duo and Wang, Xianda and Qiao, Yaqi and
132
+ Wang, Zhi and Jiang, Junchen and Cui, Shuguang and
133
+ Wang, Fangxin},
134
+ title = {{NetLLM}: Adapting Large Language Models for Networking},
135
+ year = {2024},
136
+ eprint = {2402.02338},
137
+ archivePrefix = {arXiv},
138
+ primaryClass = {cs.NI},
139
+ }
140
+
141
+ %----------------------------------------------------------------------
142
+ % PhD thesis (phdthesis)
143
+ %----------------------------------------------------------------------
144
+
145
+ @phdthesis{alizadeh2013thesis,
146
+ author = {Alizadeh, Mohammad},
147
+ title = {Large Scale Transport for Data Centers},
148
+ school = {Stanford University},
149
+ year = {2013},
150
+ address = {Stanford, CA},
151
+ }
@@ -0,0 +1,83 @@
1
+ % USENIX style file for papers
2
+ % usenix-2020-09.sty
3
+ %
4
+ % This is the official USENIX style for conferences including OSDI, NSDI, ATC, etc.
5
+ % Source: https://www.usenix.org/conferences/author-resources/paper-templates
6
+ %
7
+ % NOTE: This is a simplified version for template purposes.
8
+ % For the latest official version, download from:
9
+ % https://www.usenix.org/conferences/author-resources/paper-templates
10
+
11
+ \NeedsTeXFormat{LaTeX2e}
12
+ \ProvidesPackage{usenix-2020-09}[2020/09/01 USENIX Style]
13
+
14
+ % Required packages
15
+ \RequirePackage{mathptmx} % Times Roman font
16
+ \RequirePackage[scaled=0.92]{helvet} % Helvetica for sans-serif
17
+ \RequirePackage{courier} % Courier for monospace
18
+ \RequirePackage{graphicx}
19
+ \RequirePackage{url}
20
+
21
+ % Page layout: 7" x 9" text block on 8.5" x 11" paper
22
+ \setlength{\textheight}{9.0in}
23
+ \setlength{\textwidth}{7.0in}
24
+ \setlength{\columnsep}{0.33in}
25
+ \setlength{\topmargin}{0.0in}
26
+ \setlength{\headheight}{0.0in}
27
+ \setlength{\headsep}{0.0in}
28
+ \setlength{\oddsidemargin}{-0.25in}
29
+ \setlength{\evensidemargin}{-0.25in}
30
+ \setlength{\parindent}{1em}
31
+ \setlength{\parskip}{0pt}
32
+
33
+ % Title formatting
34
+ \renewcommand{\@maketitle}{%
35
+ \newpage
36
+ \null
37
+ \vskip 2em%
38
+ \begin{center}%
39
+ \let \footnote \thanks
40
+ {\LARGE \@title \par}%
41
+ \vskip 1.5em%
42
+ {\large
43
+ \lineskip .5em%
44
+ \begin{tabular}[t]{c}%
45
+ \@author
46
+ \end{tabular}\par}%
47
+ \vskip 1em%
48
+ {\large \@date}%
49
+ \end{center}%
50
+ \par
51
+ \vskip 1.5em}
52
+
53
+ % Section formatting
54
+ \renewcommand{\section}{\@startsection{section}{1}{\z@}%
55
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
56
+ {2.3ex \@plus.2ex}%
57
+ {\normalfont\large\bfseries}}
58
+
59
+ \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
60
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
61
+ {1.5ex \@plus .2ex}%
62
+ {\normalfont\normalsize\bfseries}}
63
+
64
+ \renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
65
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
66
+ {1.5ex \@plus .2ex}%
67
+ {\normalfont\normalsize\bfseries}}
68
+
69
+ % Footnote formatting
70
+ \renewcommand{\thefootnote}{\fnsymbol{footnote}}
71
+
72
+ % Abstract formatting
73
+ \renewenvironment{abstract}%
74
+ {\begin{quote}\small\textbf{Abstract: }}%
75
+ {\end{quote}}
76
+
77
+ % Float parameters
78
+ \renewcommand{\topfraction}{0.9}
79
+ \renewcommand{\bottomfraction}{0.8}
80
+ \renewcommand{\textfraction}{0.1}
81
+ \renewcommand{\floatpagefraction}{0.8}
82
+
83
+ \endinput