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,770 @@
1
+ # Seaborn Function Reference
2
+
3
+ This document provides a comprehensive reference for all major seaborn functions, organized by category.
4
+
5
+ ## Relational Plots
6
+
7
+ ### scatterplot()
8
+
9
+ **Purpose:** Create a scatter plot with points representing individual observations.
10
+
11
+ **Key Parameters:**
12
+ - `data` - DataFrame, array, or dict of arrays
13
+ - `x, y` - Variables for x and y axes
14
+ - `hue` - Grouping variable for color encoding
15
+ - `size` - Grouping variable for size encoding
16
+ - `style` - Grouping variable for marker style
17
+ - `palette` - Color palette name or list
18
+ - `hue_order` - Order for categorical hue levels
19
+ - `hue_norm` - Normalization for numeric hue (tuple or Normalize object)
20
+ - `sizes` - Size range for size encoding (tuple or dict)
21
+ - `size_order` - Order for categorical size levels
22
+ - `size_norm` - Normalization for numeric size
23
+ - `markers` - Marker style(s) (string, list, or dict)
24
+ - `style_order` - Order for categorical style levels
25
+ - `legend` - How to draw legend: "auto", "brief", "full", or False
26
+ - `ax` - Matplotlib axes to plot on
27
+
28
+ **Example:**
29
+ ```python
30
+ sns.scatterplot(data=df, x='height', y='weight',
31
+ hue='gender', size='age', style='smoker',
32
+ palette='Set2', sizes=(20, 200))
33
+ ```
34
+
35
+ ### lineplot()
36
+
37
+ **Purpose:** Draw a line plot with automatic aggregation and confidence intervals for repeated measures.
38
+
39
+ **Key Parameters:**
40
+ - `data` - DataFrame, array, or dict of arrays
41
+ - `x, y` - Variables for x and y axes
42
+ - `hue` - Grouping variable for color encoding
43
+ - `size` - Grouping variable for line width
44
+ - `style` - Grouping variable for line style (dashes)
45
+ - `units` - Grouping variable for sampling units (no aggregation within units)
46
+ - `estimator` - Function for aggregating across observations (default: mean)
47
+ - `errorbar` - Method for error bars: "sd", "se", "pi", ("ci", level), ("pi", level), or None
48
+ - `n_boot` - Number of bootstrap iterations for CI computation
49
+ - `seed` - Random seed for reproducible bootstrapping
50
+ - `sort` - Sort data before plotting
51
+ - `err_style` - "band" or "bars" for error representation
52
+ - `err_kws` - Additional parameters for error representation
53
+ - `markers` - Marker style(s) for emphasizing data points
54
+ - `dashes` - Dash style(s) for lines
55
+ - `legend` - How to draw legend
56
+ - `ax` - Matplotlib axes to plot on
57
+
58
+ **Example:**
59
+ ```python
60
+ sns.lineplot(data=timeseries, x='time', y='signal',
61
+ hue='condition', style='subject',
62
+ errorbar=('ci', 95), markers=True)
63
+ ```
64
+
65
+ ### relplot()
66
+
67
+ **Purpose:** Figure-level interface for drawing relational plots (scatter or line) onto a FacetGrid.
68
+
69
+ **Key Parameters:**
70
+ All parameters from `scatterplot()` and `lineplot()`, plus:
71
+ - `kind` - "scatter" or "line"
72
+ - `col` - Categorical variable for column facets
73
+ - `row` - Categorical variable for row facets
74
+ - `col_wrap` - Wrap columns after this many columns
75
+ - `col_order` - Order for column facet levels
76
+ - `row_order` - Order for row facet levels
77
+ - `height` - Height of each facet in inches
78
+ - `aspect` - Aspect ratio (width = height * aspect)
79
+ - `facet_kws` - Additional parameters for FacetGrid
80
+
81
+ **Example:**
82
+ ```python
83
+ sns.relplot(data=df, x='time', y='measurement',
84
+ hue='treatment', style='batch',
85
+ col='cell_line', row='timepoint',
86
+ kind='line', height=3, aspect=1.5)
87
+ ```
88
+
89
+ ## Distribution Plots
90
+
91
+ ### histplot()
92
+
93
+ **Purpose:** Plot univariate or bivariate histograms with flexible binning.
94
+
95
+ **Key Parameters:**
96
+ - `data` - DataFrame, array, or dict
97
+ - `x, y` - Variables (y optional for bivariate)
98
+ - `hue` - Grouping variable
99
+ - `weights` - Variable for weighting observations
100
+ - `stat` - Aggregate statistic: "count", "frequency", "probability", "percent", "density"
101
+ - `bins` - Number of bins, bin edges, or method ("auto", "fd", "doane", "scott", "stone", "rice", "sturges", "sqrt")
102
+ - `binwidth` - Width of bins (overrides bins)
103
+ - `binrange` - Range for binning (tuple)
104
+ - `discrete` - Treat x as discrete (centers bars on values)
105
+ - `cumulative` - Compute cumulative distribution
106
+ - `common_bins` - Use same bins for all hue levels
107
+ - `common_norm` - Normalize across hue levels
108
+ - `multiple` - How to handle hue: "layer", "dodge", "stack", "fill"
109
+ - `element` - Visual element: "bars", "step", "poly"
110
+ - `fill` - Fill bars/elements
111
+ - `shrink` - Scale bar width (for multiple="dodge")
112
+ - `kde` - Overlay KDE estimate
113
+ - `kde_kws` - Parameters for KDE
114
+ - `line_kws` - Parameters for step/poly elements
115
+ - `thresh` - Minimum count threshold for bins
116
+ - `pthresh` - Minimum probability threshold
117
+ - `pmax` - Maximum probability for color scaling
118
+ - `log_scale` - Log scale for axis (bool or base)
119
+ - `legend` - Whether to show legend
120
+ - `ax` - Matplotlib axes
121
+
122
+ **Example:**
123
+ ```python
124
+ sns.histplot(data=df, x='measurement', hue='condition',
125
+ stat='density', bins=30, kde=True,
126
+ multiple='layer', alpha=0.5)
127
+ ```
128
+
129
+ ### kdeplot()
130
+
131
+ **Purpose:** Plot univariate or bivariate kernel density estimates.
132
+
133
+ **Key Parameters:**
134
+ - `data` - DataFrame, array, or dict
135
+ - `x, y` - Variables (y optional for bivariate)
136
+ - `hue` - Grouping variable
137
+ - `weights` - Variable for weighting observations
138
+ - `palette` - Color palette
139
+ - `hue_order` - Order for hue levels
140
+ - `hue_norm` - Normalization for numeric hue
141
+ - `multiple` - How to handle hue: "layer", "stack", "fill"
142
+ - `common_norm` - Normalize across hue levels
143
+ - `common_grid` - Use same grid for all hue levels
144
+ - `cumulative` - Compute cumulative distribution
145
+ - `bw_method` - Method for bandwidth: "scott", "silverman", or scalar
146
+ - `bw_adjust` - Bandwidth multiplier (higher = smoother)
147
+ - `log_scale` - Log scale for axis
148
+ - `levels` - Number or values for contour levels (bivariate)
149
+ - `thresh` - Minimum density threshold for contours
150
+ - `gridsize` - Grid resolution
151
+ - `cut` - Extension beyond data extremes (in bandwidth units)
152
+ - `clip` - Data range for curve (tuple)
153
+ - `fill` - Fill area under curve/contours
154
+ - `legend` - Whether to show legend
155
+ - `ax` - Matplotlib axes
156
+
157
+ **Example:**
158
+ ```python
159
+ # Univariate
160
+ sns.kdeplot(data=df, x='measurement', hue='condition',
161
+ fill=True, common_norm=False, bw_adjust=1.5)
162
+
163
+ # Bivariate
164
+ sns.kdeplot(data=df, x='var1', y='var2',
165
+ fill=True, levels=10, thresh=0.05)
166
+ ```
167
+
168
+ ### ecdfplot()
169
+
170
+ **Purpose:** Plot empirical cumulative distribution functions.
171
+
172
+ **Key Parameters:**
173
+ - `data` - DataFrame, array, or dict
174
+ - `x, y` - Variables (specify one)
175
+ - `hue` - Grouping variable
176
+ - `weights` - Variable for weighting observations
177
+ - `stat` - "proportion" or "count"
178
+ - `complementary` - Plot complementary CDF (1 - ECDF)
179
+ - `palette` - Color palette
180
+ - `hue_order` - Order for hue levels
181
+ - `hue_norm` - Normalization for numeric hue
182
+ - `log_scale` - Log scale for axis
183
+ - `legend` - Whether to show legend
184
+ - `ax` - Matplotlib axes
185
+
186
+ **Example:**
187
+ ```python
188
+ sns.ecdfplot(data=df, x='response_time', hue='treatment',
189
+ stat='proportion', complementary=False)
190
+ ```
191
+
192
+ ### rugplot()
193
+
194
+ **Purpose:** Plot tick marks showing individual observations along an axis.
195
+
196
+ **Key Parameters:**
197
+ - `data` - DataFrame, array, or dict
198
+ - `x, y` - Variable (specify one)
199
+ - `hue` - Grouping variable
200
+ - `height` - Height of ticks (proportion of axis)
201
+ - `expand_margins` - Add margin space for rug
202
+ - `palette` - Color palette
203
+ - `hue_order` - Order for hue levels
204
+ - `hue_norm` - Normalization for numeric hue
205
+ - `legend` - Whether to show legend
206
+ - `ax` - Matplotlib axes
207
+
208
+ **Example:**
209
+ ```python
210
+ sns.rugplot(data=df, x='value', hue='category', height=0.05)
211
+ ```
212
+
213
+ ### displot()
214
+
215
+ **Purpose:** Figure-level interface for distribution plots onto a FacetGrid.
216
+
217
+ **Key Parameters:**
218
+ All parameters from `histplot()`, `kdeplot()`, and `ecdfplot()`, plus:
219
+ - `kind` - "hist", "kde", "ecdf"
220
+ - `rug` - Add rug plot on marginal axes
221
+ - `rug_kws` - Parameters for rug plot
222
+ - `col` - Categorical variable for column facets
223
+ - `row` - Categorical variable for row facets
224
+ - `col_wrap` - Wrap columns
225
+ - `col_order` - Order for column facets
226
+ - `row_order` - Order for row facets
227
+ - `height` - Height of each facet
228
+ - `aspect` - Aspect ratio
229
+ - `facet_kws` - Additional parameters for FacetGrid
230
+
231
+ **Example:**
232
+ ```python
233
+ sns.displot(data=df, x='measurement', hue='treatment',
234
+ col='timepoint', kind='kde', fill=True,
235
+ height=3, aspect=1.5, rug=True)
236
+ ```
237
+
238
+ ### jointplot()
239
+
240
+ **Purpose:** Draw a bivariate plot with marginal univariate plots.
241
+
242
+ **Key Parameters:**
243
+ - `data` - DataFrame
244
+ - `x, y` - Variables for x and y axes
245
+ - `hue` - Grouping variable
246
+ - `kind` - "scatter", "kde", "hist", "hex", "reg", "resid"
247
+ - `height` - Size of the figure (square)
248
+ - `ratio` - Ratio of joint to marginal axes
249
+ - `space` - Space between joint and marginal axes
250
+ - `dropna` - Drop missing values
251
+ - `xlim, ylim` - Axis limits (tuples)
252
+ - `marginal_ticks` - Show ticks on marginal axes
253
+ - `joint_kws` - Parameters for joint plot
254
+ - `marginal_kws` - Parameters for marginal plots
255
+ - `hue_order` - Order for hue levels
256
+ - `palette` - Color palette
257
+
258
+ **Example:**
259
+ ```python
260
+ sns.jointplot(data=df, x='var1', y='var2', hue='group',
261
+ kind='scatter', height=6, ratio=4,
262
+ joint_kws={'alpha': 0.5})
263
+ ```
264
+
265
+ ### pairplot()
266
+
267
+ **Purpose:** Plot pairwise relationships in a dataset.
268
+
269
+ **Key Parameters:**
270
+ - `data` - DataFrame
271
+ - `hue` - Grouping variable for color encoding
272
+ - `hue_order` - Order for hue levels
273
+ - `palette` - Color palette
274
+ - `vars` - Variables to plot (default: all numeric)
275
+ - `x_vars, y_vars` - Variables for x and y axes (non-square grid)
276
+ - `kind` - "scatter", "kde", "hist", "reg"
277
+ - `diag_kind` - "auto", "hist", "kde", None
278
+ - `markers` - Marker style(s)
279
+ - `height` - Height of each facet
280
+ - `aspect` - Aspect ratio
281
+ - `corner` - Plot only lower triangle
282
+ - `dropna` - Drop missing values
283
+ - `plot_kws` - Parameters for non-diagonal plots
284
+ - `diag_kws` - Parameters for diagonal plots
285
+ - `grid_kws` - Parameters for PairGrid
286
+
287
+ **Example:**
288
+ ```python
289
+ sns.pairplot(data=df, hue='species', palette='Set2',
290
+ vars=['sepal_length', 'sepal_width', 'petal_length'],
291
+ corner=True, height=2.5)
292
+ ```
293
+
294
+ ## Categorical Plots
295
+
296
+ ### stripplot()
297
+
298
+ **Purpose:** Draw a categorical scatterplot with jittered points.
299
+
300
+ **Key Parameters:**
301
+ - `data` - DataFrame, array, or dict
302
+ - `x, y` - Variables (one categorical, one continuous)
303
+ - `hue` - Grouping variable
304
+ - `order` - Order for categorical levels
305
+ - `hue_order` - Order for hue levels
306
+ - `jitter` - Amount of jitter: True, float, or False
307
+ - `dodge` - Separate hue levels side-by-side
308
+ - `orient` - "v" or "h" (usually inferred)
309
+ - `color` - Single color for all elements
310
+ - `palette` - Color palette
311
+ - `size` - Marker size
312
+ - `edgecolor` - Marker edge color
313
+ - `linewidth` - Marker edge width
314
+ - `native_scale` - Use numeric scale for categorical axis
315
+ - `formatter` - Formatter for categorical axis
316
+ - `legend` - Whether to show legend
317
+ - `ax` - Matplotlib axes
318
+
319
+ **Example:**
320
+ ```python
321
+ sns.stripplot(data=df, x='day', y='total_bill',
322
+ hue='sex', dodge=True, jitter=0.2)
323
+ ```
324
+
325
+ ### swarmplot()
326
+
327
+ **Purpose:** Draw a categorical scatterplot with non-overlapping points.
328
+
329
+ **Key Parameters:**
330
+ Same as `stripplot()`, except:
331
+ - No `jitter` parameter
332
+ - `size` - Marker size (important for avoiding overlap)
333
+ - `warn_thresh` - Threshold for warning about too many points (default: 0.05)
334
+
335
+ **Note:** Computationally intensive for large datasets. Use stripplot for >1000 points.
336
+
337
+ **Example:**
338
+ ```python
339
+ sns.swarmplot(data=df, x='day', y='total_bill',
340
+ hue='time', dodge=True, size=5)
341
+ ```
342
+
343
+ ### boxplot()
344
+
345
+ **Purpose:** Draw a box plot showing quartiles and outliers.
346
+
347
+ **Key Parameters:**
348
+ - `data` - DataFrame, array, or dict
349
+ - `x, y` - Variables (one categorical, one continuous)
350
+ - `hue` - Grouping variable
351
+ - `order` - Order for categorical levels
352
+ - `hue_order` - Order for hue levels
353
+ - `orient` - "v" or "h"
354
+ - `color` - Single color for boxes
355
+ - `palette` - Color palette
356
+ - `saturation` - Color saturation intensity
357
+ - `width` - Width of boxes
358
+ - `dodge` - Separate hue levels side-by-side
359
+ - `fliersize` - Size of outlier markers
360
+ - `linewidth` - Box line width
361
+ - `whis` - IQR multiplier for whiskers (default: 1.5)
362
+ - `notch` - Draw notched boxes
363
+ - `showcaps` - Show whisker caps
364
+ - `showmeans` - Show mean value
365
+ - `meanprops` - Properties for mean marker
366
+ - `boxprops` - Properties for boxes
367
+ - `whiskerprops` - Properties for whiskers
368
+ - `capprops` - Properties for caps
369
+ - `flierprops` - Properties for outliers
370
+ - `medianprops` - Properties for median line
371
+ - `native_scale` - Use numeric scale
372
+ - `formatter` - Formatter for categorical axis
373
+ - `legend` - Whether to show legend
374
+ - `ax` - Matplotlib axes
375
+
376
+ **Example:**
377
+ ```python
378
+ sns.boxplot(data=df, x='day', y='total_bill',
379
+ hue='smoker', palette='Set3',
380
+ showmeans=True, notch=True)
381
+ ```
382
+
383
+ ### violinplot()
384
+
385
+ **Purpose:** Draw a violin plot combining boxplot and KDE.
386
+
387
+ **Key Parameters:**
388
+ Same as `boxplot()`, plus:
389
+ - `bw_method` - KDE bandwidth method
390
+ - `bw_adjust` - KDE bandwidth multiplier
391
+ - `cut` - KDE extension beyond extremes
392
+ - `density_norm` - "area", "count", "width"
393
+ - `inner` - "box", "quartile", "point", "stick", None
394
+ - `split` - Split violins for hue comparison
395
+ - `scale` - Scaling method: "area", "count", "width"
396
+ - `scale_hue` - Scale across hue levels
397
+ - `gridsize` - KDE grid resolution
398
+
399
+ **Example:**
400
+ ```python
401
+ sns.violinplot(data=df, x='day', y='total_bill',
402
+ hue='sex', split=True, inner='quartile',
403
+ palette='muted')
404
+ ```
405
+
406
+ ### boxenplot()
407
+
408
+ **Purpose:** Draw enhanced box plot for larger datasets showing more quantiles.
409
+
410
+ **Key Parameters:**
411
+ Same as `boxplot()`, plus:
412
+ - `k_depth` - "tukey", "proportion", "trustworthy", "full", or int
413
+ - `outlier_prop` - Proportion of data as outliers
414
+ - `trust_alpha` - Alpha for trustworthy depth
415
+ - `showfliers` - Show outlier points
416
+
417
+ **Example:**
418
+ ```python
419
+ sns.boxenplot(data=df, x='day', y='total_bill',
420
+ hue='time', palette='Set2')
421
+ ```
422
+
423
+ ### barplot()
424
+
425
+ **Purpose:** Draw a bar plot with error bars showing statistical estimates.
426
+
427
+ **Key Parameters:**
428
+ - `data` - DataFrame, array, or dict
429
+ - `x, y` - Variables (one categorical, one continuous)
430
+ - `hue` - Grouping variable
431
+ - `order` - Order for categorical levels
432
+ - `hue_order` - Order for hue levels
433
+ - `estimator` - Aggregation function (default: mean)
434
+ - `errorbar` - Error representation: "sd", "se", "pi", ("ci", level), ("pi", level), or None
435
+ - `n_boot` - Bootstrap iterations
436
+ - `seed` - Random seed
437
+ - `units` - Identifier for sampling units
438
+ - `weights` - Observation weights
439
+ - `orient` - "v" or "h"
440
+ - `color` - Single bar color
441
+ - `palette` - Color palette
442
+ - `saturation` - Color saturation
443
+ - `width` - Bar width
444
+ - `dodge` - Separate hue levels side-by-side
445
+ - `errcolor` - Error bar color
446
+ - `errwidth` - Error bar line width
447
+ - `capsize` - Error bar cap width
448
+ - `native_scale` - Use numeric scale
449
+ - `formatter` - Formatter for categorical axis
450
+ - `legend` - Whether to show legend
451
+ - `ax` - Matplotlib axes
452
+
453
+ **Example:**
454
+ ```python
455
+ sns.barplot(data=df, x='day', y='total_bill',
456
+ hue='sex', estimator='median',
457
+ errorbar=('ci', 95), capsize=0.1)
458
+ ```
459
+
460
+ ### countplot()
461
+
462
+ **Purpose:** Show counts of observations in each categorical bin.
463
+
464
+ **Key Parameters:**
465
+ Same as `barplot()`, but:
466
+ - Only specify one of x or y (the categorical variable)
467
+ - No estimator or errorbar (shows counts)
468
+ - `stat` - "count" or "percent"
469
+
470
+ **Example:**
471
+ ```python
472
+ sns.countplot(data=df, x='day', hue='time',
473
+ palette='pastel', dodge=True)
474
+ ```
475
+
476
+ ### pointplot()
477
+
478
+ **Purpose:** Show point estimates and confidence intervals with connecting lines.
479
+
480
+ **Key Parameters:**
481
+ Same as `barplot()`, plus:
482
+ - `markers` - Marker style(s)
483
+ - `linestyles` - Line style(s)
484
+ - `scale` - Scale for markers
485
+ - `join` - Connect points with lines
486
+ - `capsize` - Error bar cap width
487
+
488
+ **Example:**
489
+ ```python
490
+ sns.pointplot(data=df, x='time', y='total_bill',
491
+ hue='sex', markers=['o', 's'],
492
+ linestyles=['-', '--'], capsize=0.1)
493
+ ```
494
+
495
+ ### catplot()
496
+
497
+ **Purpose:** Figure-level interface for categorical plots onto a FacetGrid.
498
+
499
+ **Key Parameters:**
500
+ All parameters from categorical plots, plus:
501
+ - `kind` - "strip", "swarm", "box", "violin", "boxen", "bar", "point", "count"
502
+ - `col` - Categorical variable for column facets
503
+ - `row` - Categorical variable for row facets
504
+ - `col_wrap` - Wrap columns
505
+ - `col_order` - Order for column facets
506
+ - `row_order` - Order for row facets
507
+ - `height` - Height of each facet
508
+ - `aspect` - Aspect ratio
509
+ - `sharex, sharey` - Share axes across facets
510
+ - `legend` - Whether to show legend
511
+ - `legend_out` - Place legend outside figure
512
+ - `facet_kws` - Additional FacetGrid parameters
513
+
514
+ **Example:**
515
+ ```python
516
+ sns.catplot(data=df, x='day', y='total_bill',
517
+ hue='smoker', col='time',
518
+ kind='violin', split=True,
519
+ height=4, aspect=0.8)
520
+ ```
521
+
522
+ ## Regression Plots
523
+
524
+ ### regplot()
525
+
526
+ **Purpose:** Plot data and a linear regression fit.
527
+
528
+ **Key Parameters:**
529
+ - `data` - DataFrame
530
+ - `x, y` - Variables or data vectors
531
+ - `x_estimator` - Apply estimator to x bins
532
+ - `x_bins` - Bin x for estimator
533
+ - `x_ci` - CI for binned estimates
534
+ - `scatter` - Show scatter points
535
+ - `fit_reg` - Plot regression line
536
+ - `ci` - CI for regression estimate (int or None)
537
+ - `n_boot` - Bootstrap iterations for CI
538
+ - `units` - Identifier for sampling units
539
+ - `seed` - Random seed
540
+ - `order` - Polynomial regression order
541
+ - `logistic` - Fit logistic regression
542
+ - `lowess` - Fit lowess smoother
543
+ - `robust` - Fit robust regression
544
+ - `logx` - Log-transform x
545
+ - `x_partial, y_partial` - Partial regression (regress out variables)
546
+ - `truncate` - Limit regression line to data range
547
+ - `dropna` - Drop missing values
548
+ - `x_jitter, y_jitter` - Add jitter to data
549
+ - `label` - Label for legend
550
+ - `color` - Color for all elements
551
+ - `marker` - Marker style
552
+ - `scatter_kws` - Parameters for scatter
553
+ - `line_kws` - Parameters for regression line
554
+ - `ax` - Matplotlib axes
555
+
556
+ **Example:**
557
+ ```python
558
+ sns.regplot(data=df, x='total_bill', y='tip',
559
+ order=2, robust=True, ci=95,
560
+ scatter_kws={'alpha': 0.5})
561
+ ```
562
+
563
+ ### lmplot()
564
+
565
+ **Purpose:** Figure-level interface for regression plots onto a FacetGrid.
566
+
567
+ **Key Parameters:**
568
+ All parameters from `regplot()`, plus:
569
+ - `hue` - Grouping variable
570
+ - `col` - Column facets
571
+ - `row` - Row facets
572
+ - `palette` - Color palette
573
+ - `col_wrap` - Wrap columns
574
+ - `height` - Facet height
575
+ - `aspect` - Aspect ratio
576
+ - `markers` - Marker style(s)
577
+ - `sharex, sharey` - Share axes
578
+ - `hue_order` - Order for hue levels
579
+ - `col_order` - Order for column facets
580
+ - `row_order` - Order for row facets
581
+ - `legend` - Whether to show legend
582
+ - `legend_out` - Place legend outside
583
+ - `facet_kws` - FacetGrid parameters
584
+
585
+ **Example:**
586
+ ```python
587
+ sns.lmplot(data=df, x='total_bill', y='tip',
588
+ hue='smoker', col='time', row='sex',
589
+ height=3, aspect=1.2, ci=None)
590
+ ```
591
+
592
+ ### residplot()
593
+
594
+ **Purpose:** Plot residuals of a regression.
595
+
596
+ **Key Parameters:**
597
+ Same as `regplot()`, but:
598
+ - Always plots residuals (y - predicted) vs x
599
+ - Adds horizontal line at y=0
600
+ - `lowess` - Fit lowess smoother to residuals
601
+
602
+ **Example:**
603
+ ```python
604
+ sns.residplot(data=df, x='x', y='y', lowess=True,
605
+ scatter_kws={'alpha': 0.5})
606
+ ```
607
+
608
+ ## Matrix Plots
609
+
610
+ ### heatmap()
611
+
612
+ **Purpose:** Plot rectangular data as a color-encoded matrix.
613
+
614
+ **Key Parameters:**
615
+ - `data` - 2D array-like data
616
+ - `vmin, vmax` - Anchor values for colormap
617
+ - `cmap` - Colormap name or object
618
+ - `center` - Value at colormap center
619
+ - `robust` - Use robust quantiles for colormap range
620
+ - `annot` - Annotate cells: True, False, or array
621
+ - `fmt` - Format string for annotations (e.g., ".2f")
622
+ - `annot_kws` - Parameters for annotations
623
+ - `linewidths` - Width of cell borders
624
+ - `linecolor` - Color of cell borders
625
+ - `cbar` - Draw colorbar
626
+ - `cbar_kws` - Colorbar parameters
627
+ - `cbar_ax` - Axes for colorbar
628
+ - `square` - Force square cells
629
+ - `xticklabels, yticklabels` - Tick labels (True, False, int, or list)
630
+ - `mask` - Boolean array to mask cells
631
+ - `ax` - Matplotlib axes
632
+
633
+ **Example:**
634
+ ```python
635
+ # Correlation matrix
636
+ corr = df.corr()
637
+ mask = np.triu(np.ones_like(corr, dtype=bool))
638
+ sns.heatmap(corr, mask=mask, annot=True, fmt='.2f',
639
+ cmap='coolwarm', center=0, square=True,
640
+ linewidths=1, cbar_kws={'shrink': 0.8})
641
+ ```
642
+
643
+ ### clustermap()
644
+
645
+ **Purpose:** Plot a hierarchically-clustered heatmap.
646
+
647
+ **Key Parameters:**
648
+ All parameters from `heatmap()`, plus:
649
+ - `pivot_kws` - Parameters for pivoting (if needed)
650
+ - `method` - Linkage method: "single", "complete", "average", "weighted", "centroid", "median", "ward"
651
+ - `metric` - Distance metric for clustering
652
+ - `standard_scale` - Standardize data: 0 (rows), 1 (columns), or None
653
+ - `z_score` - Z-score normalize data: 0 (rows), 1 (columns), or None
654
+ - `row_cluster, col_cluster` - Cluster rows/columns
655
+ - `row_linkage, col_linkage` - Precomputed linkage matrices
656
+ - `row_colors, col_colors` - Additional color annotations
657
+ - `dendrogram_ratio` - Ratio of dendrogram to heatmap
658
+ - `colors_ratio` - Ratio of color annotations to heatmap
659
+ - `cbar_pos` - Colorbar position (tuple: x, y, width, height)
660
+ - `tree_kws` - Parameters for dendrogram
661
+ - `figsize` - Figure size
662
+
663
+ **Example:**
664
+ ```python
665
+ sns.clustermap(data, method='average', metric='euclidean',
666
+ z_score=0, cmap='viridis',
667
+ row_colors=row_colors, col_colors=col_colors,
668
+ figsize=(12, 12), dendrogram_ratio=0.1)
669
+ ```
670
+
671
+ ## Multi-Plot Grids
672
+
673
+ ### FacetGrid
674
+
675
+ **Purpose:** Multi-plot grid for plotting conditional relationships.
676
+
677
+ **Initialization:**
678
+ ```python
679
+ g = sns.FacetGrid(data, row=None, col=None, hue=None,
680
+ col_wrap=None, sharex=True, sharey=True,
681
+ height=3, aspect=1, palette=None,
682
+ row_order=None, col_order=None, hue_order=None,
683
+ hue_kws=None, dropna=False, legend_out=True,
684
+ despine=True, margin_titles=False,
685
+ xlim=None, ylim=None, subplot_kws=None,
686
+ gridspec_kws=None)
687
+ ```
688
+
689
+ **Methods:**
690
+ - `map(func, *args, **kwargs)` - Apply function to each facet
691
+ - `map_dataframe(func, *args, **kwargs)` - Apply function with full DataFrame
692
+ - `set_axis_labels(x_var, y_var)` - Set axis labels
693
+ - `set_titles(template, **kwargs)` - Set subplot titles
694
+ - `set(kwargs)` - Set attributes on all axes
695
+ - `add_legend(legend_data, title, label_order, **kwargs)` - Add legend
696
+ - `savefig(*args, **kwargs)` - Save figure
697
+
698
+ **Example:**
699
+ ```python
700
+ g = sns.FacetGrid(df, col='time', row='sex', hue='smoker',
701
+ height=3, aspect=1.5, margin_titles=True)
702
+ g.map(sns.scatterplot, 'total_bill', 'tip', alpha=0.7)
703
+ g.add_legend()
704
+ g.set_axis_labels('Total Bill ($)', 'Tip ($)')
705
+ g.set_titles('{col_name} | {row_name}')
706
+ ```
707
+
708
+ ### PairGrid
709
+
710
+ **Purpose:** Grid for plotting pairwise relationships in a dataset.
711
+
712
+ **Initialization:**
713
+ ```python
714
+ g = sns.PairGrid(data, hue=None, vars=None,
715
+ x_vars=None, y_vars=None,
716
+ hue_order=None, palette=None,
717
+ hue_kws=None, corner=False,
718
+ diag_sharey=True, height=2.5,
719
+ aspect=1, layout_pad=0.5,
720
+ despine=True, dropna=False)
721
+ ```
722
+
723
+ **Methods:**
724
+ - `map(func, **kwargs)` - Apply function to all subplots
725
+ - `map_diag(func, **kwargs)` - Apply to diagonal
726
+ - `map_offdiag(func, **kwargs)` - Apply to off-diagonal
727
+ - `map_upper(func, **kwargs)` - Apply to upper triangle
728
+ - `map_lower(func, **kwargs)` - Apply to lower triangle
729
+ - `add_legend(legend_data, **kwargs)` - Add legend
730
+ - `savefig(*args, **kwargs)` - Save figure
731
+
732
+ **Example:**
733
+ ```python
734
+ g = sns.PairGrid(df, hue='species', vars=['a', 'b', 'c', 'd'],
735
+ corner=True, height=2.5)
736
+ g.map_upper(sns.scatterplot, alpha=0.5)
737
+ g.map_lower(sns.kdeplot)
738
+ g.map_diag(sns.histplot, kde=True)
739
+ g.add_legend()
740
+ ```
741
+
742
+ ### JointGrid
743
+
744
+ **Purpose:** Grid for bivariate plot with marginal univariate plots.
745
+
746
+ **Initialization:**
747
+ ```python
748
+ g = sns.JointGrid(data=None, x=None, y=None, hue=None,
749
+ height=6, ratio=5, space=0.2,
750
+ dropna=False, xlim=None, ylim=None,
751
+ marginal_ticks=False, hue_order=None,
752
+ palette=None)
753
+ ```
754
+
755
+ **Methods:**
756
+ - `plot(joint_func, marginal_func, **kwargs)` - Plot both joint and marginals
757
+ - `plot_joint(func, **kwargs)` - Plot joint distribution
758
+ - `plot_marginals(func, **kwargs)` - Plot marginal distributions
759
+ - `refline(x, y, **kwargs)` - Add reference line
760
+ - `set_axis_labels(xlabel, ylabel, **kwargs)` - Set axis labels
761
+ - `savefig(*args, **kwargs)` - Save figure
762
+
763
+ **Example:**
764
+ ```python
765
+ g = sns.JointGrid(data=df, x='x', y='y', hue='group',
766
+ height=6, ratio=5, space=0.2)
767
+ g.plot_joint(sns.scatterplot, alpha=0.5)
768
+ g.plot_marginals(sns.histplot, kde=True)
769
+ g.set_axis_labels('Variable X', 'Variable Y')
770
+ ```