calvyn-code 0.14.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 (1718) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +217 -0
  3. package/README.zh-CN.md +180 -0
  4. package/acp_adapter/__init__.py +1 -0
  5. package/acp_adapter/__main__.py +5 -0
  6. package/acp_adapter/auth.py +68 -0
  7. package/acp_adapter/bootstrap/__init__.py +0 -0
  8. package/acp_adapter/bootstrap/bootstrap_browser_tools.ps1 +288 -0
  9. package/acp_adapter/bootstrap/bootstrap_browser_tools.sh +399 -0
  10. package/acp_adapter/entry.py +292 -0
  11. package/acp_adapter/events.py +265 -0
  12. package/acp_adapter/permissions.py +148 -0
  13. package/acp_adapter/server.py +1713 -0
  14. package/acp_adapter/session.py +629 -0
  15. package/acp_adapter/tools.py +1180 -0
  16. package/agent/__init__.py +6 -0
  17. package/agent/__pycache__/__init__.cpython-312.pyc +0 -0
  18. package/agent/__pycache__/account_usage.cpython-312.pyc +0 -0
  19. package/agent/__pycache__/anthropic_adapter.cpython-312.pyc +0 -0
  20. package/agent/__pycache__/async_utils.cpython-312.pyc +0 -0
  21. package/agent/__pycache__/auxiliary_client.cpython-312.pyc +0 -0
  22. package/agent/__pycache__/codex_responses_adapter.cpython-312.pyc +0 -0
  23. package/agent/__pycache__/context_compressor.cpython-312.pyc +0 -0
  24. package/agent/__pycache__/context_engine.cpython-312.pyc +0 -0
  25. package/agent/__pycache__/context_references.cpython-312.pyc +0 -0
  26. package/agent/__pycache__/credential_pool.cpython-312.pyc +0 -0
  27. package/agent/__pycache__/curator.cpython-312.pyc +0 -0
  28. package/agent/__pycache__/display.cpython-312.pyc +0 -0
  29. package/agent/__pycache__/error_classifier.cpython-312.pyc +0 -0
  30. package/agent/__pycache__/file_safety.cpython-312.pyc +0 -0
  31. package/agent/__pycache__/google_code_assist.cpython-312.pyc +0 -0
  32. package/agent/__pycache__/google_oauth.cpython-312.pyc +0 -0
  33. package/agent/__pycache__/i18n.cpython-312.pyc +0 -0
  34. package/agent/__pycache__/image_gen_provider.cpython-312.pyc +0 -0
  35. package/agent/__pycache__/image_gen_registry.cpython-312.pyc +0 -0
  36. package/agent/__pycache__/insights.cpython-312.pyc +0 -0
  37. package/agent/__pycache__/lmstudio_reasoning.cpython-312.pyc +0 -0
  38. package/agent/__pycache__/manual_compression_feedback.cpython-312.pyc +0 -0
  39. package/agent/__pycache__/markdown_tables.cpython-312.pyc +0 -0
  40. package/agent/__pycache__/memory_manager.cpython-312.pyc +0 -0
  41. package/agent/__pycache__/memory_provider.cpython-312.pyc +0 -0
  42. package/agent/__pycache__/model_metadata.cpython-312.pyc +0 -0
  43. package/agent/__pycache__/models_dev.cpython-312.pyc +0 -0
  44. package/agent/__pycache__/moonshot_schema.cpython-312.pyc +0 -0
  45. package/agent/__pycache__/onboarding.cpython-312.pyc +0 -0
  46. package/agent/__pycache__/portal_tags.cpython-312.pyc +0 -0
  47. package/agent/__pycache__/prompt_builder.cpython-312.pyc +0 -0
  48. package/agent/__pycache__/prompt_caching.cpython-312.pyc +0 -0
  49. package/agent/__pycache__/redact.cpython-312.pyc +0 -0
  50. package/agent/__pycache__/retry_utils.cpython-312.pyc +0 -0
  51. package/agent/__pycache__/shell_hooks.cpython-312.pyc +0 -0
  52. package/agent/__pycache__/skill_commands.cpython-312.pyc +0 -0
  53. package/agent/__pycache__/skill_preprocessing.cpython-312.pyc +0 -0
  54. package/agent/__pycache__/skill_utils.cpython-312.pyc +0 -0
  55. package/agent/__pycache__/subdirectory_hints.cpython-312.pyc +0 -0
  56. package/agent/__pycache__/think_scrubber.cpython-312.pyc +0 -0
  57. package/agent/__pycache__/title_generator.cpython-312.pyc +0 -0
  58. package/agent/__pycache__/tool_guardrails.cpython-312.pyc +0 -0
  59. package/agent/__pycache__/tool_result_classification.cpython-312.pyc +0 -0
  60. package/agent/__pycache__/trajectory.cpython-312.pyc +0 -0
  61. package/agent/__pycache__/usage_pricing.cpython-312.pyc +0 -0
  62. package/agent/__pycache__/video_gen_provider.cpython-312.pyc +0 -0
  63. package/agent/__pycache__/video_gen_registry.cpython-312.pyc +0 -0
  64. package/agent/__pycache__/web_search_provider.cpython-312.pyc +0 -0
  65. package/agent/__pycache__/web_search_registry.cpython-312.pyc +0 -0
  66. package/agent/account_usage.py +326 -0
  67. package/agent/anthropic_adapter.py +2087 -0
  68. package/agent/async_utils.py +68 -0
  69. package/agent/auxiliary_client.py +4893 -0
  70. package/agent/bedrock_adapter.py +1276 -0
  71. package/agent/codex_responses_adapter.py +1084 -0
  72. package/agent/context_compressor.py +1583 -0
  73. package/agent/context_engine.py +211 -0
  74. package/agent/context_references.py +519 -0
  75. package/agent/copilot_acp_client.py +684 -0
  76. package/agent/credential_pool.py +1780 -0
  77. package/agent/credential_sources.py +449 -0
  78. package/agent/curator.py +1782 -0
  79. package/agent/curator_backup.py +694 -0
  80. package/agent/display.py +987 -0
  81. package/agent/error_classifier.py +1058 -0
  82. package/agent/file_safety.py +112 -0
  83. package/agent/gemini_cloudcode_adapter.py +909 -0
  84. package/agent/gemini_native_adapter.py +971 -0
  85. package/agent/gemini_schema.py +99 -0
  86. package/agent/google_code_assist.py +452 -0
  87. package/agent/google_oauth.py +1062 -0
  88. package/agent/i18n.py +258 -0
  89. package/agent/image_gen_provider.py +243 -0
  90. package/agent/image_gen_registry.py +145 -0
  91. package/agent/image_routing.py +301 -0
  92. package/agent/insights.py +931 -0
  93. package/agent/lmstudio_reasoning.py +48 -0
  94. package/agent/lsp/__init__.py +106 -0
  95. package/agent/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
  96. package/agent/lsp/__pycache__/cli.cpython-312.pyc +0 -0
  97. package/agent/lsp/__pycache__/client.cpython-312.pyc +0 -0
  98. package/agent/lsp/__pycache__/eventlog.cpython-312.pyc +0 -0
  99. package/agent/lsp/__pycache__/manager.cpython-312.pyc +0 -0
  100. package/agent/lsp/__pycache__/protocol.cpython-312.pyc +0 -0
  101. package/agent/lsp/__pycache__/servers.cpython-312.pyc +0 -0
  102. package/agent/lsp/__pycache__/workspace.cpython-312.pyc +0 -0
  103. package/agent/lsp/cli.py +308 -0
  104. package/agent/lsp/client.py +930 -0
  105. package/agent/lsp/eventlog.py +213 -0
  106. package/agent/lsp/install.py +376 -0
  107. package/agent/lsp/manager.py +644 -0
  108. package/agent/lsp/protocol.py +196 -0
  109. package/agent/lsp/range_shift.py +149 -0
  110. package/agent/lsp/reporter.py +78 -0
  111. package/agent/lsp/servers.py +1040 -0
  112. package/agent/lsp/workspace.py +223 -0
  113. package/agent/manual_compression_feedback.py +49 -0
  114. package/agent/markdown_tables.py +309 -0
  115. package/agent/memory_manager.py +556 -0
  116. package/agent/memory_provider.py +279 -0
  117. package/agent/model_metadata.py +1827 -0
  118. package/agent/models_dev.py +724 -0
  119. package/agent/moonshot_schema.py +231 -0
  120. package/agent/nous_rate_guard.py +326 -0
  121. package/agent/onboarding.py +193 -0
  122. package/agent/plugin_llm.py +1046 -0
  123. package/agent/portal_tags.py +64 -0
  124. package/agent/prompt_builder.py +1457 -0
  125. package/agent/prompt_caching.py +79 -0
  126. package/agent/rate_limit_tracker.py +246 -0
  127. package/agent/redact.py +403 -0
  128. package/agent/retry_utils.py +57 -0
  129. package/agent/shell_hooks.py +837 -0
  130. package/agent/skill_commands.py +502 -0
  131. package/agent/skill_preprocessing.py +131 -0
  132. package/agent/skill_utils.py +512 -0
  133. package/agent/subdirectory_hints.py +224 -0
  134. package/agent/think_scrubber.py +386 -0
  135. package/agent/title_generator.py +171 -0
  136. package/agent/tool_guardrails.py +458 -0
  137. package/agent/tool_result_classification.py +26 -0
  138. package/agent/trajectory.py +56 -0
  139. package/agent/transports/__init__.py +68 -0
  140. package/agent/transports/__pycache__/__init__.cpython-312.pyc +0 -0
  141. package/agent/transports/__pycache__/anthropic.cpython-312.pyc +0 -0
  142. package/agent/transports/__pycache__/base.cpython-312.pyc +0 -0
  143. package/agent/transports/__pycache__/bedrock.cpython-312.pyc +0 -0
  144. package/agent/transports/__pycache__/chat_completions.cpython-312.pyc +0 -0
  145. package/agent/transports/__pycache__/codex.cpython-312.pyc +0 -0
  146. package/agent/transports/__pycache__/types.cpython-312.pyc +0 -0
  147. package/agent/transports/anthropic.py +179 -0
  148. package/agent/transports/base.py +89 -0
  149. package/agent/transports/bedrock.py +154 -0
  150. package/agent/transports/chat_completions.py +614 -0
  151. package/agent/transports/codex.py +283 -0
  152. package/agent/transports/codex_app_server.py +368 -0
  153. package/agent/transports/codex_app_server_session.py +810 -0
  154. package/agent/transports/codex_event_projector.py +312 -0
  155. package/agent/transports/hermes_tools_mcp_server.py +233 -0
  156. package/agent/transports/types.py +162 -0
  157. package/agent/usage_pricing.py +877 -0
  158. package/agent/video_gen_provider.py +300 -0
  159. package/agent/video_gen_registry.py +117 -0
  160. package/agent/web_search_provider.py +221 -0
  161. package/agent/web_search_registry.py +262 -0
  162. package/assets/banner.png +0 -0
  163. package/batch_runner.py +1303 -0
  164. package/bin/calvyn.js +67 -0
  165. package/calvyn_bootstrap.py +130 -0
  166. package/calvyn_constants.py +346 -0
  167. package/calvyn_logging.py +390 -0
  168. package/calvyn_state.py +2967 -0
  169. package/calvyn_time.py +105 -0
  170. package/cli.py +14160 -0
  171. package/cron/__init__.py +42 -0
  172. package/cron/__pycache__/__init__.cpython-312.pyc +0 -0
  173. package/cron/__pycache__/jobs.cpython-312.pyc +0 -0
  174. package/cron/__pycache__/scheduler.cpython-312.pyc +0 -0
  175. package/cron/jobs.py +1160 -0
  176. package/cron/scheduler.py +1832 -0
  177. package/gateway/__init__.py +35 -0
  178. package/gateway/__pycache__/__init__.cpython-312.pyc +0 -0
  179. package/gateway/__pycache__/channel_directory.cpython-312.pyc +0 -0
  180. package/gateway/__pycache__/config.cpython-312.pyc +0 -0
  181. package/gateway/__pycache__/delivery.cpython-312.pyc +0 -0
  182. package/gateway/__pycache__/display_config.cpython-312.pyc +0 -0
  183. package/gateway/__pycache__/hooks.cpython-312.pyc +0 -0
  184. package/gateway/__pycache__/pairing.cpython-312.pyc +0 -0
  185. package/gateway/__pycache__/platform_registry.cpython-312.pyc +0 -0
  186. package/gateway/__pycache__/restart.cpython-312.pyc +0 -0
  187. package/gateway/__pycache__/run.cpython-312.pyc +0 -0
  188. package/gateway/__pycache__/runtime_footer.cpython-312.pyc +0 -0
  189. package/gateway/__pycache__/session.cpython-312.pyc +0 -0
  190. package/gateway/__pycache__/session_context.cpython-312.pyc +0 -0
  191. package/gateway/__pycache__/shutdown_forensics.cpython-312.pyc +0 -0
  192. package/gateway/__pycache__/slash_access.cpython-312.pyc +0 -0
  193. package/gateway/__pycache__/status.cpython-312.pyc +0 -0
  194. package/gateway/__pycache__/stream_consumer.cpython-312.pyc +0 -0
  195. package/gateway/__pycache__/whatsapp_identity.cpython-312.pyc +0 -0
  196. package/gateway/assets/telegram-botfather-threads-settings.jpg +0 -0
  197. package/gateway/builtin_hooks/__init__.py +1 -0
  198. package/gateway/channel_directory.py +357 -0
  199. package/gateway/config.py +1873 -0
  200. package/gateway/delivery.py +258 -0
  201. package/gateway/display_config.py +206 -0
  202. package/gateway/hooks.py +210 -0
  203. package/gateway/mirror.py +179 -0
  204. package/gateway/pairing.py +322 -0
  205. package/gateway/platform_registry.py +260 -0
  206. package/gateway/platforms/ADDING_A_PLATFORM.md +374 -0
  207. package/gateway/platforms/__init__.py +45 -0
  208. package/gateway/platforms/__pycache__/__init__.cpython-312.pyc +0 -0
  209. package/gateway/platforms/__pycache__/base.cpython-312.pyc +0 -0
  210. package/gateway/platforms/__pycache__/helpers.cpython-312.pyc +0 -0
  211. package/gateway/platforms/__pycache__/telegram.cpython-312.pyc +0 -0
  212. package/gateway/platforms/__pycache__/telegram_network.cpython-312.pyc +0 -0
  213. package/gateway/platforms/__pycache__/yuanbao.cpython-312.pyc +0 -0
  214. package/gateway/platforms/__pycache__/yuanbao_media.cpython-312.pyc +0 -0
  215. package/gateway/platforms/__pycache__/yuanbao_proto.cpython-312.pyc +0 -0
  216. package/gateway/platforms/_http_client_limits.py +84 -0
  217. package/gateway/platforms/api_server.py +3488 -0
  218. package/gateway/platforms/base.py +3747 -0
  219. package/gateway/platforms/bluebubbles.py +937 -0
  220. package/gateway/platforms/dingtalk.py +1473 -0
  221. package/gateway/platforms/discord.py +5584 -0
  222. package/gateway/platforms/email.py +773 -0
  223. package/gateway/platforms/feishu.py +5059 -0
  224. package/gateway/platforms/feishu_comment.py +1382 -0
  225. package/gateway/platforms/feishu_comment_rules.py +430 -0
  226. package/gateway/platforms/helpers.py +279 -0
  227. package/gateway/platforms/homeassistant.py +449 -0
  228. package/gateway/platforms/matrix.py +2777 -0
  229. package/gateway/platforms/mattermost.py +852 -0
  230. package/gateway/platforms/msgraph_webhook.py +397 -0
  231. package/gateway/platforms/qqbot/__init__.py +91 -0
  232. package/gateway/platforms/qqbot/adapter.py +3072 -0
  233. package/gateway/platforms/qqbot/chunked_upload.py +602 -0
  234. package/gateway/platforms/qqbot/constants.py +74 -0
  235. package/gateway/platforms/qqbot/crypto.py +45 -0
  236. package/gateway/platforms/qqbot/keyboards.py +473 -0
  237. package/gateway/platforms/qqbot/onboard.py +220 -0
  238. package/gateway/platforms/qqbot/utils.py +71 -0
  239. package/gateway/platforms/signal.py +1518 -0
  240. package/gateway/platforms/signal_rate_limit.py +369 -0
  241. package/gateway/platforms/slack.py +3028 -0
  242. package/gateway/platforms/sms.py +377 -0
  243. package/gateway/platforms/telegram.py +4836 -0
  244. package/gateway/platforms/telegram_network.py +249 -0
  245. package/gateway/platforms/webhook.py +806 -0
  246. package/gateway/platforms/wecom.py +1610 -0
  247. package/gateway/platforms/wecom_callback.py +403 -0
  248. package/gateway/platforms/wecom_crypto.py +142 -0
  249. package/gateway/platforms/weixin.py +2170 -0
  250. package/gateway/platforms/whatsapp.py +1283 -0
  251. package/gateway/platforms/yuanbao.py +4873 -0
  252. package/gateway/platforms/yuanbao_media.py +645 -0
  253. package/gateway/platforms/yuanbao_proto.py +1209 -0
  254. package/gateway/platforms/yuanbao_sticker.py +558 -0
  255. package/gateway/restart.py +20 -0
  256. package/gateway/run.py +17074 -0
  257. package/gateway/runtime_footer.py +150 -0
  258. package/gateway/session.py +1399 -0
  259. package/gateway/session_context.py +156 -0
  260. package/gateway/shutdown_forensics.py +462 -0
  261. package/gateway/slash_access.py +229 -0
  262. package/gateway/status.py +972 -0
  263. package/gateway/sticker_cache.py +111 -0
  264. package/gateway/stream_consumer.py +1286 -0
  265. package/gateway/whatsapp_identity.py +156 -0
  266. package/hermes_cli/__init__.py +47 -0
  267. package/hermes_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  268. package/hermes_cli/__pycache__/_parser.cpython-312.pyc +0 -0
  269. package/hermes_cli/__pycache__/auth.cpython-312.pyc +0 -0
  270. package/hermes_cli/__pycache__/banner.cpython-312.pyc +0 -0
  271. package/hermes_cli/__pycache__/browser_connect.cpython-312.pyc +0 -0
  272. package/hermes_cli/__pycache__/callbacks.cpython-312.pyc +0 -0
  273. package/hermes_cli/__pycache__/checkpoints.cpython-312.pyc +0 -0
  274. package/hermes_cli/__pycache__/cli_output.cpython-312.pyc +0 -0
  275. package/hermes_cli/__pycache__/codex_models.cpython-312.pyc +0 -0
  276. package/hermes_cli/__pycache__/codex_runtime_switch.cpython-312.pyc +0 -0
  277. package/hermes_cli/__pycache__/colors.cpython-312.pyc +0 -0
  278. package/hermes_cli/__pycache__/commands.cpython-312.pyc +0 -0
  279. package/hermes_cli/__pycache__/config.cpython-312.pyc +0 -0
  280. package/hermes_cli/__pycache__/copilot_auth.cpython-312.pyc +0 -0
  281. package/hermes_cli/__pycache__/curator.cpython-312.pyc +0 -0
  282. package/hermes_cli/__pycache__/curses_ui.cpython-312.pyc +0 -0
  283. package/hermes_cli/__pycache__/debug.cpython-312.pyc +0 -0
  284. package/hermes_cli/__pycache__/default_soul.cpython-312.pyc +0 -0
  285. package/hermes_cli/__pycache__/env_loader.cpython-312.pyc +0 -0
  286. package/hermes_cli/__pycache__/fallback_cmd.cpython-312.pyc +0 -0
  287. package/hermes_cli/__pycache__/gateway.cpython-312.pyc +0 -0
  288. package/hermes_cli/__pycache__/gateway_windows.cpython-312.pyc +0 -0
  289. package/hermes_cli/__pycache__/goals.cpython-312.pyc +0 -0
  290. package/hermes_cli/__pycache__/inventory.cpython-312.pyc +0 -0
  291. package/hermes_cli/__pycache__/kanban.cpython-312.pyc +0 -0
  292. package/hermes_cli/__pycache__/kanban_db.cpython-312.pyc +0 -0
  293. package/hermes_cli/__pycache__/main.cpython-312.pyc +0 -0
  294. package/hermes_cli/__pycache__/model_catalog.cpython-312.pyc +0 -0
  295. package/hermes_cli/__pycache__/model_normalize.cpython-312.pyc +0 -0
  296. package/hermes_cli/__pycache__/model_switch.cpython-312.pyc +0 -0
  297. package/hermes_cli/__pycache__/models.cpython-312.pyc +0 -0
  298. package/hermes_cli/__pycache__/nous_subscription.cpython-312.pyc +0 -0
  299. package/hermes_cli/__pycache__/pairing.cpython-312.pyc +0 -0
  300. package/hermes_cli/__pycache__/platforms.cpython-312.pyc +0 -0
  301. package/hermes_cli/__pycache__/plugins.cpython-312.pyc +0 -0
  302. package/hermes_cli/__pycache__/profiles.cpython-312.pyc +0 -0
  303. package/hermes_cli/__pycache__/providers.cpython-312.pyc +0 -0
  304. package/hermes_cli/__pycache__/pt_input_extras.cpython-312.pyc +0 -0
  305. package/hermes_cli/__pycache__/runtime_provider.cpython-312.pyc +0 -0
  306. package/hermes_cli/__pycache__/security_advisories.cpython-312.pyc +0 -0
  307. package/hermes_cli/__pycache__/setup.cpython-312.pyc +0 -0
  308. package/hermes_cli/__pycache__/skills_hub.cpython-312.pyc +0 -0
  309. package/hermes_cli/__pycache__/skin_engine.cpython-312.pyc +0 -0
  310. package/hermes_cli/__pycache__/stdio.cpython-312.pyc +0 -0
  311. package/hermes_cli/__pycache__/timeouts.cpython-312.pyc +0 -0
  312. package/hermes_cli/__pycache__/tips.cpython-312.pyc +0 -0
  313. package/hermes_cli/__pycache__/tools_config.cpython-312.pyc +0 -0
  314. package/hermes_cli/__pycache__/voice.cpython-312.pyc +0 -0
  315. package/hermes_cli/_parser.py +365 -0
  316. package/hermes_cli/_subprocess_compat.py +175 -0
  317. package/hermes_cli/auth.py +6299 -0
  318. package/hermes_cli/auth_commands.py +749 -0
  319. package/hermes_cli/azure_detect.py +300 -0
  320. package/hermes_cli/backup.py +938 -0
  321. package/hermes_cli/banner.py +703 -0
  322. package/hermes_cli/browser_connect.py +139 -0
  323. package/hermes_cli/callbacks.py +243 -0
  324. package/hermes_cli/checkpoints.py +244 -0
  325. package/hermes_cli/claw.py +810 -0
  326. package/hermes_cli/cli_output.py +78 -0
  327. package/hermes_cli/clipboard.py +495 -0
  328. package/hermes_cli/codex_models.py +198 -0
  329. package/hermes_cli/codex_runtime_plugin_migration.py +757 -0
  330. package/hermes_cli/codex_runtime_switch.py +266 -0
  331. package/hermes_cli/colors.py +38 -0
  332. package/hermes_cli/commands.py +1728 -0
  333. package/hermes_cli/completion.py +315 -0
  334. package/hermes_cli/config.py +5382 -0
  335. package/hermes_cli/copilot_auth.py +392 -0
  336. package/hermes_cli/cron.py +313 -0
  337. package/hermes_cli/curator.py +598 -0
  338. package/hermes_cli/curses_ui.py +472 -0
  339. package/hermes_cli/debug.py +747 -0
  340. package/hermes_cli/default_soul.py +11 -0
  341. package/hermes_cli/dep_ensure.py +107 -0
  342. package/hermes_cli/dingtalk_auth.py +293 -0
  343. package/hermes_cli/doctor.py +1863 -0
  344. package/hermes_cli/dump.py +326 -0
  345. package/hermes_cli/env_loader.py +175 -0
  346. package/hermes_cli/fallback_cmd.py +361 -0
  347. package/hermes_cli/gateway.py +5422 -0
  348. package/hermes_cli/gateway_windows.py +692 -0
  349. package/hermes_cli/goals.py +757 -0
  350. package/hermes_cli/hooks.py +385 -0
  351. package/hermes_cli/inventory.py +240 -0
  352. package/hermes_cli/kanban.py +2252 -0
  353. package/hermes_cli/kanban_db.py +4840 -0
  354. package/hermes_cli/kanban_diagnostics.py +776 -0
  355. package/hermes_cli/kanban_specify.py +266 -0
  356. package/hermes_cli/logs.py +391 -0
  357. package/hermes_cli/main.py +12396 -0
  358. package/hermes_cli/mcp_config.py +781 -0
  359. package/hermes_cli/memory_setup.py +465 -0
  360. package/hermes_cli/model_catalog.py +330 -0
  361. package/hermes_cli/model_normalize.py +473 -0
  362. package/hermes_cli/model_switch.py +1777 -0
  363. package/hermes_cli/models.py +3789 -0
  364. package/hermes_cli/nous_subscription.py +799 -0
  365. package/hermes_cli/oneshot.py +351 -0
  366. package/hermes_cli/pairing.py +115 -0
  367. package/hermes_cli/platforms.py +83 -0
  368. package/hermes_cli/plugins.py +1562 -0
  369. package/hermes_cli/plugins_cmd.py +1587 -0
  370. package/hermes_cli/profile_distribution.py +703 -0
  371. package/hermes_cli/profiles.py +1319 -0
  372. package/hermes_cli/providers.py +720 -0
  373. package/hermes_cli/proxy/__init__.py +20 -0
  374. package/hermes_cli/proxy/adapters/__init__.py +35 -0
  375. package/hermes_cli/proxy/adapters/base.py +94 -0
  376. package/hermes_cli/proxy/adapters/nous_portal.py +137 -0
  377. package/hermes_cli/proxy/cli.py +141 -0
  378. package/hermes_cli/proxy/server.py +265 -0
  379. package/hermes_cli/pt_input_extras.py +83 -0
  380. package/hermes_cli/pty_bridge.py +237 -0
  381. package/hermes_cli/relaunch.py +205 -0
  382. package/hermes_cli/runtime_provider.py +1428 -0
  383. package/hermes_cli/security_advisories.py +452 -0
  384. package/hermes_cli/setup.py +3559 -0
  385. package/hermes_cli/skills_config.py +177 -0
  386. package/hermes_cli/skills_hub.py +1595 -0
  387. package/hermes_cli/skin_engine.py +929 -0
  388. package/hermes_cli/slack_cli.py +160 -0
  389. package/hermes_cli/status.py +550 -0
  390. package/hermes_cli/stdio.py +252 -0
  391. package/hermes_cli/timeouts.py +82 -0
  392. package/hermes_cli/tips.py +487 -0
  393. package/hermes_cli/tools_config.py +3151 -0
  394. package/hermes_cli/uninstall.py +681 -0
  395. package/hermes_cli/vercel_auth.py +70 -0
  396. package/hermes_cli/voice.py +846 -0
  397. package/hermes_cli/web_server.py +4438 -0
  398. package/hermes_cli/webhook.py +275 -0
  399. package/locales/af.yaml +350 -0
  400. package/locales/de.yaml +350 -0
  401. package/locales/en.yaml +365 -0
  402. package/locales/es.yaml +350 -0
  403. package/locales/fr.yaml +350 -0
  404. package/locales/ga.yaml +354 -0
  405. package/locales/hu.yaml +350 -0
  406. package/locales/it.yaml +350 -0
  407. package/locales/ja.yaml +350 -0
  408. package/locales/ko.yaml +350 -0
  409. package/locales/pt.yaml +350 -0
  410. package/locales/ru.yaml +350 -0
  411. package/locales/tr.yaml +350 -0
  412. package/locales/uk.yaml +350 -0
  413. package/locales/zh-hant.yaml +350 -0
  414. package/locales/zh.yaml +350 -0
  415. package/mcp_serve.py +898 -0
  416. package/model_tools.py +899 -0
  417. package/optional-skills/DESCRIPTION.md +24 -0
  418. package/optional-skills/autonomous-ai-agents/DESCRIPTION.md +2 -0
  419. package/optional-skills/autonomous-ai-agents/blackbox/SKILL.md +144 -0
  420. package/optional-skills/autonomous-ai-agents/honcho/SKILL.md +431 -0
  421. package/optional-skills/blockchain/evm/SKILL.md +211 -0
  422. package/optional-skills/blockchain/evm/scripts/evm_client.py +1508 -0
  423. package/optional-skills/blockchain/hyperliquid/SKILL.md +211 -0
  424. package/optional-skills/blockchain/hyperliquid/scripts/hyperliquid_client.py +1660 -0
  425. package/optional-skills/blockchain/solana/SKILL.md +208 -0
  426. package/optional-skills/blockchain/solana/scripts/solana_client.py +698 -0
  427. package/optional-skills/communication/DESCRIPTION.md +1 -0
  428. package/optional-skills/communication/one-three-one-rule/SKILL.md +104 -0
  429. package/optional-skills/creative/blender-mcp/SKILL.md +117 -0
  430. package/optional-skills/creative/concept-diagrams/SKILL.md +362 -0
  431. package/optional-skills/creative/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  432. package/optional-skills/creative/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  433. package/optional-skills/creative/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  434. package/optional-skills/creative/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  435. package/optional-skills/creative/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  436. package/optional-skills/creative/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  437. package/optional-skills/creative/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  438. package/optional-skills/creative/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  439. package/optional-skills/creative/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  440. package/optional-skills/creative/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  441. package/optional-skills/creative/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  442. package/optional-skills/creative/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  443. package/optional-skills/creative/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  444. package/optional-skills/creative/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  445. package/optional-skills/creative/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  446. package/optional-skills/creative/concept-diagrams/references/dashboard-patterns.md +43 -0
  447. package/optional-skills/creative/concept-diagrams/references/infrastructure-patterns.md +144 -0
  448. package/optional-skills/creative/concept-diagrams/references/physical-shape-cookbook.md +42 -0
  449. package/optional-skills/creative/concept-diagrams/templates/template.html +174 -0
  450. package/optional-skills/creative/hyperframes/SKILL.md +191 -0
  451. package/optional-skills/creative/hyperframes/references/cli.md +185 -0
  452. package/optional-skills/creative/hyperframes/references/composition.md +129 -0
  453. package/optional-skills/creative/hyperframes/references/features.md +289 -0
  454. package/optional-skills/creative/hyperframes/references/gsap.md +136 -0
  455. package/optional-skills/creative/hyperframes/references/troubleshooting.md +137 -0
  456. package/optional-skills/creative/hyperframes/references/website-to-video.md +145 -0
  457. package/optional-skills/creative/hyperframes/scripts/setup.sh +135 -0
  458. package/optional-skills/creative/kanban-video-orchestrator/SKILL.md +207 -0
  459. package/optional-skills/creative/kanban-video-orchestrator/assets/brief.md.tmpl +79 -0
  460. package/optional-skills/creative/kanban-video-orchestrator/assets/setup.sh.tmpl +185 -0
  461. package/optional-skills/creative/kanban-video-orchestrator/assets/soul.md.tmpl +38 -0
  462. package/optional-skills/creative/kanban-video-orchestrator/references/examples.md +227 -0
  463. package/optional-skills/creative/kanban-video-orchestrator/references/intake.md +166 -0
  464. package/optional-skills/creative/kanban-video-orchestrator/references/kanban-setup.md +276 -0
  465. package/optional-skills/creative/kanban-video-orchestrator/references/monitoring.md +180 -0
  466. package/optional-skills/creative/kanban-video-orchestrator/references/role-archetypes.md +298 -0
  467. package/optional-skills/creative/kanban-video-orchestrator/references/tool-matrix.md +317 -0
  468. package/optional-skills/creative/kanban-video-orchestrator/scripts/bootstrap_pipeline.py +501 -0
  469. package/optional-skills/creative/kanban-video-orchestrator/scripts/monitor.py +195 -0
  470. package/optional-skills/creative/meme-generation/EXAMPLES.md +46 -0
  471. package/optional-skills/creative/meme-generation/SKILL.md +130 -0
  472. package/optional-skills/creative/meme-generation/scripts/generate_meme.py +471 -0
  473. package/optional-skills/creative/meme-generation/scripts/templates.json +97 -0
  474. package/optional-skills/devops/cli/SKILL.md +156 -0
  475. package/optional-skills/devops/cli/references/app-discovery.md +112 -0
  476. package/optional-skills/devops/cli/references/authentication.md +59 -0
  477. package/optional-skills/devops/cli/references/cli-reference.md +104 -0
  478. package/optional-skills/devops/cli/references/running-apps.md +171 -0
  479. package/optional-skills/devops/docker-management/SKILL.md +281 -0
  480. package/optional-skills/devops/pinggy-tunnel/SKILL.md +309 -0
  481. package/optional-skills/devops/watchers/SKILL.md +112 -0
  482. package/optional-skills/devops/watchers/scripts/_watermark.py +148 -0
  483. package/optional-skills/devops/watchers/scripts/watch_github.py +168 -0
  484. package/optional-skills/devops/watchers/scripts/watch_http_json.py +131 -0
  485. package/optional-skills/devops/watchers/scripts/watch_rss.py +121 -0
  486. package/optional-skills/dogfood/DESCRIPTION.md +3 -0
  487. package/optional-skills/dogfood/adversarial-ux-test/SKILL.md +191 -0
  488. package/optional-skills/email/agentmail/SKILL.md +126 -0
  489. package/optional-skills/finance/3-statement-model/SKILL.md +433 -0
  490. package/optional-skills/finance/3-statement-model/references/formatting.md +118 -0
  491. package/optional-skills/finance/3-statement-model/references/formulas.md +292 -0
  492. package/optional-skills/finance/3-statement-model/references/sec-filings.md +125 -0
  493. package/optional-skills/finance/comps-analysis/SKILL.md +662 -0
  494. package/optional-skills/finance/dcf-model/SKILL.md +1270 -0
  495. package/optional-skills/finance/dcf-model/TROUBLESHOOTING.md +40 -0
  496. package/optional-skills/finance/dcf-model/requirements.txt +7 -0
  497. package/optional-skills/finance/dcf-model/scripts/validate_dcf.py +292 -0
  498. package/optional-skills/finance/excel-author/SKILL.md +244 -0
  499. package/optional-skills/finance/excel-author/scripts/recalc.py +88 -0
  500. package/optional-skills/finance/lbo-model/SKILL.md +291 -0
  501. package/optional-skills/finance/merger-model/SKILL.md +144 -0
  502. package/optional-skills/finance/pptx-author/SKILL.md +173 -0
  503. package/optional-skills/finance/stocks/SKILL.md +95 -0
  504. package/optional-skills/finance/stocks/scripts/stocks_client.py +755 -0
  505. package/optional-skills/health/DESCRIPTION.md +1 -0
  506. package/optional-skills/health/fitness-nutrition/SKILL.md +256 -0
  507. package/optional-skills/health/fitness-nutrition/references/FORMULAS.md +100 -0
  508. package/optional-skills/health/fitness-nutrition/scripts/body_calc.py +210 -0
  509. package/optional-skills/health/fitness-nutrition/scripts/nutrition_search.py +86 -0
  510. package/optional-skills/health/neuroskill-bci/SKILL.md +459 -0
  511. package/optional-skills/health/neuroskill-bci/references/api.md +286 -0
  512. package/optional-skills/health/neuroskill-bci/references/metrics.md +220 -0
  513. package/optional-skills/health/neuroskill-bci/references/protocols.md +452 -0
  514. package/optional-skills/mcp/DESCRIPTION.md +3 -0
  515. package/optional-skills/mcp/fastmcp/SKILL.md +300 -0
  516. package/optional-skills/mcp/fastmcp/references/fastmcp-cli.md +110 -0
  517. package/optional-skills/mcp/fastmcp/scripts/scaffold_fastmcp.py +56 -0
  518. package/optional-skills/mcp/fastmcp/templates/api_wrapper.py +54 -0
  519. package/optional-skills/mcp/fastmcp/templates/database_server.py +77 -0
  520. package/optional-skills/mcp/fastmcp/templates/file_processor.py +55 -0
  521. package/optional-skills/mcp/mcporter/SKILL.md +123 -0
  522. package/optional-skills/migration/DESCRIPTION.md +2 -0
  523. package/optional-skills/migration/openclaw-migration/SKILL.md +298 -0
  524. package/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py +3136 -0
  525. package/optional-skills/mlops/accelerate/SKILL.md +336 -0
  526. package/optional-skills/mlops/accelerate/references/custom-plugins.md +453 -0
  527. package/optional-skills/mlops/accelerate/references/megatron-integration.md +489 -0
  528. package/optional-skills/mlops/accelerate/references/performance.md +525 -0
  529. package/optional-skills/mlops/chroma/SKILL.md +410 -0
  530. package/optional-skills/mlops/chroma/references/integration.md +38 -0
  531. package/optional-skills/mlops/clip/SKILL.md +257 -0
  532. package/optional-skills/mlops/clip/references/applications.md +207 -0
  533. package/optional-skills/mlops/faiss/SKILL.md +225 -0
  534. package/optional-skills/mlops/faiss/references/index_types.md +280 -0
  535. package/optional-skills/mlops/flash-attention/SKILL.md +367 -0
  536. package/optional-skills/mlops/flash-attention/references/benchmarks.md +215 -0
  537. package/optional-skills/mlops/flash-attention/references/transformers-integration.md +293 -0
  538. package/optional-skills/mlops/guidance/SKILL.md +576 -0
  539. package/optional-skills/mlops/guidance/references/backends.md +554 -0
  540. package/optional-skills/mlops/guidance/references/constraints.md +674 -0
  541. package/optional-skills/mlops/guidance/references/examples.md +767 -0
  542. package/optional-skills/mlops/huggingface-tokenizers/SKILL.md +520 -0
  543. package/optional-skills/mlops/huggingface-tokenizers/references/algorithms.md +653 -0
  544. package/optional-skills/mlops/huggingface-tokenizers/references/integration.md +637 -0
  545. package/optional-skills/mlops/huggingface-tokenizers/references/pipeline.md +723 -0
  546. package/optional-skills/mlops/huggingface-tokenizers/references/training.md +565 -0
  547. package/optional-skills/mlops/inference/outlines/SKILL.md +656 -0
  548. package/optional-skills/mlops/inference/outlines/references/backends.md +615 -0
  549. package/optional-skills/mlops/inference/outlines/references/examples.md +773 -0
  550. package/optional-skills/mlops/inference/outlines/references/json_generation.md +652 -0
  551. package/optional-skills/mlops/instructor/SKILL.md +744 -0
  552. package/optional-skills/mlops/instructor/references/examples.md +107 -0
  553. package/optional-skills/mlops/instructor/references/providers.md +70 -0
  554. package/optional-skills/mlops/instructor/references/validation.md +606 -0
  555. package/optional-skills/mlops/lambda-labs/SKILL.md +549 -0
  556. package/optional-skills/mlops/lambda-labs/references/advanced-usage.md +611 -0
  557. package/optional-skills/mlops/lambda-labs/references/troubleshooting.md +530 -0
  558. package/optional-skills/mlops/llava/SKILL.md +308 -0
  559. package/optional-skills/mlops/llava/references/training.md +197 -0
  560. package/optional-skills/mlops/modal/SKILL.md +345 -0
  561. package/optional-skills/mlops/modal/references/advanced-usage.md +503 -0
  562. package/optional-skills/mlops/modal/references/troubleshooting.md +494 -0
  563. package/optional-skills/mlops/nemo-curator/SKILL.md +387 -0
  564. package/optional-skills/mlops/nemo-curator/references/deduplication.md +87 -0
  565. package/optional-skills/mlops/nemo-curator/references/filtering.md +102 -0
  566. package/optional-skills/mlops/peft/SKILL.md +435 -0
  567. package/optional-skills/mlops/peft/references/advanced-usage.md +514 -0
  568. package/optional-skills/mlops/peft/references/troubleshooting.md +480 -0
  569. package/optional-skills/mlops/pinecone/SKILL.md +362 -0
  570. package/optional-skills/mlops/pinecone/references/deployment.md +181 -0
  571. package/optional-skills/mlops/pytorch-fsdp/SKILL.md +130 -0
  572. package/optional-skills/mlops/pytorch-fsdp/references/index.md +7 -0
  573. package/optional-skills/mlops/pytorch-fsdp/references/other.md +4261 -0
  574. package/optional-skills/mlops/pytorch-lightning/SKILL.md +350 -0
  575. package/optional-skills/mlops/pytorch-lightning/references/callbacks.md +436 -0
  576. package/optional-skills/mlops/pytorch-lightning/references/distributed.md +490 -0
  577. package/optional-skills/mlops/pytorch-lightning/references/hyperparameter-tuning.md +556 -0
  578. package/optional-skills/mlops/qdrant/SKILL.md +497 -0
  579. package/optional-skills/mlops/qdrant/references/advanced-usage.md +648 -0
  580. package/optional-skills/mlops/qdrant/references/troubleshooting.md +631 -0
  581. package/optional-skills/mlops/saelens/SKILL.md +390 -0
  582. package/optional-skills/mlops/saelens/references/README.md +69 -0
  583. package/optional-skills/mlops/saelens/references/api.md +333 -0
  584. package/optional-skills/mlops/saelens/references/tutorials.md +318 -0
  585. package/optional-skills/mlops/simpo/SKILL.md +223 -0
  586. package/optional-skills/mlops/simpo/references/datasets.md +478 -0
  587. package/optional-skills/mlops/simpo/references/hyperparameters.md +452 -0
  588. package/optional-skills/mlops/simpo/references/loss-functions.md +350 -0
  589. package/optional-skills/mlops/slime/SKILL.md +468 -0
  590. package/optional-skills/mlops/slime/references/api-reference.md +392 -0
  591. package/optional-skills/mlops/slime/references/troubleshooting.md +386 -0
  592. package/optional-skills/mlops/stable-diffusion/SKILL.md +523 -0
  593. package/optional-skills/mlops/stable-diffusion/references/advanced-usage.md +716 -0
  594. package/optional-skills/mlops/stable-diffusion/references/troubleshooting.md +555 -0
  595. package/optional-skills/mlops/tensorrt-llm/SKILL.md +191 -0
  596. package/optional-skills/mlops/tensorrt-llm/references/multi-gpu.md +298 -0
  597. package/optional-skills/mlops/tensorrt-llm/references/optimization.md +242 -0
  598. package/optional-skills/mlops/tensorrt-llm/references/serving.md +470 -0
  599. package/optional-skills/mlops/torchtitan/SKILL.md +362 -0
  600. package/optional-skills/mlops/torchtitan/references/checkpoint.md +181 -0
  601. package/optional-skills/mlops/torchtitan/references/custom-models.md +258 -0
  602. package/optional-skills/mlops/torchtitan/references/float8.md +133 -0
  603. package/optional-skills/mlops/torchtitan/references/fsdp.md +126 -0
  604. package/optional-skills/mlops/training/axolotl/SKILL.md +166 -0
  605. package/optional-skills/mlops/training/axolotl/references/api.md +5548 -0
  606. package/optional-skills/mlops/training/axolotl/references/dataset-formats.md +1029 -0
  607. package/optional-skills/mlops/training/axolotl/references/index.md +15 -0
  608. package/optional-skills/mlops/training/axolotl/references/other.md +3563 -0
  609. package/optional-skills/mlops/training/trl-fine-tuning/SKILL.md +463 -0
  610. package/optional-skills/mlops/training/trl-fine-tuning/references/dpo-variants.md +227 -0
  611. package/optional-skills/mlops/training/trl-fine-tuning/references/grpo-training.md +504 -0
  612. package/optional-skills/mlops/training/trl-fine-tuning/references/online-rl.md +82 -0
  613. package/optional-skills/mlops/training/trl-fine-tuning/references/reward-modeling.md +122 -0
  614. package/optional-skills/mlops/training/trl-fine-tuning/references/sft-training.md +168 -0
  615. package/optional-skills/mlops/training/trl-fine-tuning/templates/basic_grpo_training.py +228 -0
  616. package/optional-skills/mlops/training/unsloth/SKILL.md +84 -0
  617. package/optional-skills/mlops/training/unsloth/references/index.md +7 -0
  618. package/optional-skills/mlops/training/unsloth/references/llms-full.md +16799 -0
  619. package/optional-skills/mlops/training/unsloth/references/llms-txt.md +12044 -0
  620. package/optional-skills/mlops/training/unsloth/references/llms.md +82 -0
  621. package/optional-skills/mlops/whisper/SKILL.md +321 -0
  622. package/optional-skills/mlops/whisper/references/languages.md +189 -0
  623. package/optional-skills/productivity/canvas/SKILL.md +98 -0
  624. package/optional-skills/productivity/canvas/scripts/canvas_api.py +157 -0
  625. package/optional-skills/productivity/here-now/SKILL.md +217 -0
  626. package/optional-skills/productivity/here-now/scripts/drive.sh +406 -0
  627. package/optional-skills/productivity/here-now/scripts/publish.sh +445 -0
  628. package/optional-skills/productivity/memento-flashcards/SKILL.md +324 -0
  629. package/optional-skills/productivity/memento-flashcards/scripts/memento_cards.py +353 -0
  630. package/optional-skills/productivity/memento-flashcards/scripts/youtube_quiz.py +88 -0
  631. package/optional-skills/productivity/shop-app/SKILL.md +340 -0
  632. package/optional-skills/productivity/shopify/SKILL.md +373 -0
  633. package/optional-skills/productivity/siyuan/SKILL.md +298 -0
  634. package/optional-skills/productivity/telephony/SKILL.md +418 -0
  635. package/optional-skills/productivity/telephony/scripts/telephony.py +1343 -0
  636. package/optional-skills/research/bioinformatics/SKILL.md +235 -0
  637. package/optional-skills/research/darwinian-evolver/SKILL.md +199 -0
  638. package/optional-skills/research/darwinian-evolver/scripts/parrot_openrouter.py +218 -0
  639. package/optional-skills/research/darwinian-evolver/scripts/show_snapshot.py +69 -0
  640. package/optional-skills/research/darwinian-evolver/templates/custom_problem_template.py +240 -0
  641. package/optional-skills/research/domain-intel/SKILL.md +97 -0
  642. package/optional-skills/research/domain-intel/scripts/domain_intel.py +397 -0
  643. package/optional-skills/research/drug-discovery/SKILL.md +227 -0
  644. package/optional-skills/research/drug-discovery/references/ADMET_REFERENCE.md +66 -0
  645. package/optional-skills/research/drug-discovery/scripts/chembl_target.py +53 -0
  646. package/optional-skills/research/drug-discovery/scripts/ro5_screen.py +44 -0
  647. package/optional-skills/research/duckduckgo-search/SKILL.md +238 -0
  648. package/optional-skills/research/duckduckgo-search/scripts/duckduckgo.sh +28 -0
  649. package/optional-skills/research/gitnexus-explorer/SKILL.md +214 -0
  650. package/optional-skills/research/gitnexus-explorer/scripts/proxy.mjs +92 -0
  651. package/optional-skills/research/osint-investigation/SKILL.md +277 -0
  652. package/optional-skills/research/osint-investigation/references/sources/courtlistener.md +98 -0
  653. package/optional-skills/research/osint-investigation/references/sources/gdelt.md +104 -0
  654. package/optional-skills/research/osint-investigation/references/sources/icij-offshore.md +104 -0
  655. package/optional-skills/research/osint-investigation/references/sources/nyc-acris.md +90 -0
  656. package/optional-skills/research/osint-investigation/references/sources/ofac-sdn.md +92 -0
  657. package/optional-skills/research/osint-investigation/references/sources/opencorporates.md +103 -0
  658. package/optional-skills/research/osint-investigation/references/sources/sec-edgar.md +83 -0
  659. package/optional-skills/research/osint-investigation/references/sources/senate-ld.md +89 -0
  660. package/optional-skills/research/osint-investigation/references/sources/usaspending.md +97 -0
  661. package/optional-skills/research/osint-investigation/references/sources/wayback.md +93 -0
  662. package/optional-skills/research/osint-investigation/references/sources/wikipedia.md +107 -0
  663. package/optional-skills/research/osint-investigation/scripts/_http.py +82 -0
  664. package/optional-skills/research/osint-investigation/scripts/_normalize.py +67 -0
  665. package/optional-skills/research/osint-investigation/scripts/build_findings.py +221 -0
  666. package/optional-skills/research/osint-investigation/scripts/entity_resolution.py +228 -0
  667. package/optional-skills/research/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  668. package/optional-skills/research/osint-investigation/scripts/fetch_gdelt.py +162 -0
  669. package/optional-skills/research/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  670. package/optional-skills/research/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  671. package/optional-skills/research/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  672. package/optional-skills/research/osint-investigation/scripts/fetch_opencorporates.py +192 -0
  673. package/optional-skills/research/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  674. package/optional-skills/research/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  675. package/optional-skills/research/osint-investigation/scripts/fetch_usaspending.py +170 -0
  676. package/optional-skills/research/osint-investigation/scripts/fetch_wayback.py +142 -0
  677. package/optional-skills/research/osint-investigation/scripts/fetch_wikipedia.py +267 -0
  678. package/optional-skills/research/osint-investigation/scripts/timing_analysis.py +253 -0
  679. package/optional-skills/research/osint-investigation/templates/source-template.md +59 -0
  680. package/optional-skills/research/parallel-cli/SKILL.md +391 -0
  681. package/optional-skills/research/qmd/SKILL.md +441 -0
  682. package/optional-skills/research/scrapling/SKILL.md +336 -0
  683. package/optional-skills/research/searxng-search/SKILL.md +212 -0
  684. package/optional-skills/research/searxng-search/scripts/searxng.sh +22 -0
  685. package/optional-skills/security/1password/SKILL.md +163 -0
  686. package/optional-skills/security/1password/references/cli-examples.md +31 -0
  687. package/optional-skills/security/1password/references/get-started.md +21 -0
  688. package/optional-skills/security/DESCRIPTION.md +3 -0
  689. package/optional-skills/security/oss-forensics/SKILL.md +423 -0
  690. package/optional-skills/security/oss-forensics/references/evidence-types.md +89 -0
  691. package/optional-skills/security/oss-forensics/references/github-archive-guide.md +184 -0
  692. package/optional-skills/security/oss-forensics/references/investigation-templates.md +131 -0
  693. package/optional-skills/security/oss-forensics/references/recovery-techniques.md +164 -0
  694. package/optional-skills/security/oss-forensics/scripts/evidence-store.py +313 -0
  695. package/optional-skills/security/oss-forensics/templates/forensic-report.md +151 -0
  696. package/optional-skills/security/oss-forensics/templates/malicious-package-report.md +43 -0
  697. package/optional-skills/security/sherlock/SKILL.md +193 -0
  698. package/optional-skills/software-development/rest-graphql-debug/SKILL.md +514 -0
  699. package/optional-skills/web-development/DESCRIPTION.md +5 -0
  700. package/optional-skills/web-development/page-agent/SKILL.md +190 -0
  701. package/package.json +78 -0
  702. package/plugins/__init__.py +1 -0
  703. package/plugins/__pycache__/__init__.cpython-312.pyc +0 -0
  704. package/plugins/context_engine/__init__.py +219 -0
  705. package/plugins/disk-cleanup/README.md +51 -0
  706. package/plugins/disk-cleanup/__init__.py +316 -0
  707. package/plugins/disk-cleanup/disk_cleanup.py +497 -0
  708. package/plugins/disk-cleanup/plugin.yaml +7 -0
  709. package/plugins/example-dashboard/dashboard/manifest.json +14 -0
  710. package/plugins/example-dashboard/dashboard/plugin_api.py +17 -0
  711. package/plugins/google_meet/README.md +131 -0
  712. package/plugins/google_meet/SKILL.md +148 -0
  713. package/plugins/google_meet/__init__.py +103 -0
  714. package/plugins/google_meet/audio_bridge.py +244 -0
  715. package/plugins/google_meet/cli.py +479 -0
  716. package/plugins/google_meet/meet_bot.py +852 -0
  717. package/plugins/google_meet/node/__init__.py +54 -0
  718. package/plugins/google_meet/node/cli.py +125 -0
  719. package/plugins/google_meet/node/client.py +107 -0
  720. package/plugins/google_meet/node/protocol.py +124 -0
  721. package/plugins/google_meet/node/registry.py +113 -0
  722. package/plugins/google_meet/node/server.py +201 -0
  723. package/plugins/google_meet/plugin.yaml +16 -0
  724. package/plugins/google_meet/process_manager.py +324 -0
  725. package/plugins/google_meet/realtime/__init__.py +10 -0
  726. package/plugins/google_meet/realtime/openai_client.py +332 -0
  727. package/plugins/google_meet/tools.py +348 -0
  728. package/plugins/hermes-achievements/LICENSE +21 -0
  729. package/plugins/hermes-achievements/README.md +150 -0
  730. package/plugins/hermes-achievements/dashboard/dist/index.js +732 -0
  731. package/plugins/hermes-achievements/dashboard/dist/style.css +146 -0
  732. package/plugins/hermes-achievements/dashboard/manifest.json +11 -0
  733. package/plugins/hermes-achievements/dashboard/plugin_api.py +1062 -0
  734. package/plugins/hermes-achievements/docs/achievements-performance-implementation-plan.md +157 -0
  735. package/plugins/hermes-achievements/docs/achievements-performance-implementation-spec.md +219 -0
  736. package/plugins/hermes-achievements/docs/achievements-performance-spec.md +174 -0
  737. package/plugins/hermes-achievements/docs/assets/achievements-dashboard-hd.png +0 -0
  738. package/plugins/hermes-achievements/docs/assets/achievements-tier-showcase-hd.png +0 -0
  739. package/plugins/hermes-achievements/tests/test_achievement_engine.py +156 -0
  740. package/plugins/image_gen/openai/__init__.py +303 -0
  741. package/plugins/image_gen/openai/__pycache__/__init__.cpython-312.pyc +0 -0
  742. package/plugins/image_gen/openai/plugin.yaml +7 -0
  743. package/plugins/image_gen/openai-codex/__init__.py +378 -0
  744. package/plugins/image_gen/openai-codex/__pycache__/__init__.cpython-312.pyc +0 -0
  745. package/plugins/image_gen/openai-codex/plugin.yaml +5 -0
  746. package/plugins/image_gen/xai/__init__.py +316 -0
  747. package/plugins/image_gen/xai/__pycache__/__init__.cpython-312.pyc +0 -0
  748. package/plugins/image_gen/xai/plugin.yaml +7 -0
  749. package/plugins/kanban/dashboard/dist/index.js +3143 -0
  750. package/plugins/kanban/dashboard/dist/style.css +1500 -0
  751. package/plugins/kanban/dashboard/manifest.json +14 -0
  752. package/plugins/kanban/dashboard/plugin_api.py +1612 -0
  753. package/plugins/kanban/systemd/hermes-kanban-dispatcher.service +32 -0
  754. package/plugins/memory/__init__.py +408 -0
  755. package/plugins/memory/byterover/README.md +41 -0
  756. package/plugins/memory/byterover/__init__.py +384 -0
  757. package/plugins/memory/byterover/plugin.yaml +9 -0
  758. package/plugins/memory/hindsight/README.md +138 -0
  759. package/plugins/memory/hindsight/__init__.py +1758 -0
  760. package/plugins/memory/hindsight/plugin.yaml +8 -0
  761. package/plugins/memory/holographic/README.md +36 -0
  762. package/plugins/memory/holographic/__init__.py +409 -0
  763. package/plugins/memory/holographic/holographic.py +203 -0
  764. package/plugins/memory/holographic/plugin.yaml +5 -0
  765. package/plugins/memory/holographic/retrieval.py +593 -0
  766. package/plugins/memory/holographic/store.py +579 -0
  767. package/plugins/memory/honcho/README.md +328 -0
  768. package/plugins/memory/honcho/__init__.py +1329 -0
  769. package/plugins/memory/honcho/cli.py +1452 -0
  770. package/plugins/memory/honcho/client.py +784 -0
  771. package/plugins/memory/honcho/plugin.yaml +7 -0
  772. package/plugins/memory/honcho/session.py +1255 -0
  773. package/plugins/memory/mem0/README.md +38 -0
  774. package/plugins/memory/mem0/__init__.py +374 -0
  775. package/plugins/memory/mem0/plugin.yaml +5 -0
  776. package/plugins/memory/openviking/README.md +40 -0
  777. package/plugins/memory/openviking/__init__.py +945 -0
  778. package/plugins/memory/openviking/plugin.yaml +9 -0
  779. package/plugins/memory/retaindb/README.md +40 -0
  780. package/plugins/memory/retaindb/__init__.py +767 -0
  781. package/plugins/memory/retaindb/plugin.yaml +7 -0
  782. package/plugins/memory/supermemory/README.md +99 -0
  783. package/plugins/memory/supermemory/__init__.py +792 -0
  784. package/plugins/memory/supermemory/plugin.yaml +5 -0
  785. package/plugins/model-providers/README.md +70 -0
  786. package/plugins/model-providers/ai-gateway/__init__.py +43 -0
  787. package/plugins/model-providers/ai-gateway/__pycache__/__init__.cpython-312.pyc +0 -0
  788. package/plugins/model-providers/ai-gateway/plugin.yaml +5 -0
  789. package/plugins/model-providers/alibaba/__init__.py +13 -0
  790. package/plugins/model-providers/alibaba/__pycache__/__init__.cpython-312.pyc +0 -0
  791. package/plugins/model-providers/alibaba/plugin.yaml +5 -0
  792. package/plugins/model-providers/alibaba-coding-plan/__init__.py +21 -0
  793. package/plugins/model-providers/alibaba-coding-plan/__pycache__/__init__.cpython-312.pyc +0 -0
  794. package/plugins/model-providers/alibaba-coding-plan/plugin.yaml +5 -0
  795. package/plugins/model-providers/anthropic/__init__.py +52 -0
  796. package/plugins/model-providers/anthropic/__pycache__/__init__.cpython-312.pyc +0 -0
  797. package/plugins/model-providers/anthropic/plugin.yaml +5 -0
  798. package/plugins/model-providers/arcee/__init__.py +13 -0
  799. package/plugins/model-providers/arcee/__pycache__/__init__.cpython-312.pyc +0 -0
  800. package/plugins/model-providers/arcee/plugin.yaml +5 -0
  801. package/plugins/model-providers/azure-foundry/__init__.py +21 -0
  802. package/plugins/model-providers/azure-foundry/__pycache__/__init__.cpython-312.pyc +0 -0
  803. package/plugins/model-providers/azure-foundry/plugin.yaml +5 -0
  804. package/plugins/model-providers/bedrock/__init__.py +29 -0
  805. package/plugins/model-providers/bedrock/__pycache__/__init__.cpython-312.pyc +0 -0
  806. package/plugins/model-providers/bedrock/plugin.yaml +5 -0
  807. package/plugins/model-providers/copilot/__init__.py +58 -0
  808. package/plugins/model-providers/copilot/__pycache__/__init__.cpython-312.pyc +0 -0
  809. package/plugins/model-providers/copilot/plugin.yaml +5 -0
  810. package/plugins/model-providers/copilot-acp/__init__.py +34 -0
  811. package/plugins/model-providers/copilot-acp/__pycache__/__init__.cpython-312.pyc +0 -0
  812. package/plugins/model-providers/copilot-acp/plugin.yaml +5 -0
  813. package/plugins/model-providers/custom/__init__.py +68 -0
  814. package/plugins/model-providers/custom/__pycache__/__init__.cpython-312.pyc +0 -0
  815. package/plugins/model-providers/custom/plugin.yaml +5 -0
  816. package/plugins/model-providers/deepseek/__init__.py +99 -0
  817. package/plugins/model-providers/deepseek/__pycache__/__init__.cpython-312.pyc +0 -0
  818. package/plugins/model-providers/deepseek/plugin.yaml +5 -0
  819. package/plugins/model-providers/gemini/__init__.py +72 -0
  820. package/plugins/model-providers/gemini/__pycache__/__init__.cpython-312.pyc +0 -0
  821. package/plugins/model-providers/gemini/plugin.yaml +5 -0
  822. package/plugins/model-providers/gmi/__init__.py +31 -0
  823. package/plugins/model-providers/gmi/__pycache__/__init__.cpython-312.pyc +0 -0
  824. package/plugins/model-providers/gmi/plugin.yaml +5 -0
  825. package/plugins/model-providers/huggingface/__init__.py +20 -0
  826. package/plugins/model-providers/huggingface/__pycache__/__init__.cpython-312.pyc +0 -0
  827. package/plugins/model-providers/huggingface/plugin.yaml +5 -0
  828. package/plugins/model-providers/kilocode/__init__.py +14 -0
  829. package/plugins/model-providers/kilocode/__pycache__/__init__.cpython-312.pyc +0 -0
  830. package/plugins/model-providers/kilocode/plugin.yaml +5 -0
  831. package/plugins/model-providers/kimi-coding/__init__.py +71 -0
  832. package/plugins/model-providers/kimi-coding/__pycache__/__init__.cpython-312.pyc +0 -0
  833. package/plugins/model-providers/kimi-coding/plugin.yaml +5 -0
  834. package/plugins/model-providers/minimax/__init__.py +45 -0
  835. package/plugins/model-providers/minimax/__pycache__/__init__.cpython-312.pyc +0 -0
  836. package/plugins/model-providers/minimax/plugin.yaml +5 -0
  837. package/plugins/model-providers/nous/__init__.py +54 -0
  838. package/plugins/model-providers/nous/__pycache__/__init__.cpython-312.pyc +0 -0
  839. package/plugins/model-providers/nous/plugin.yaml +5 -0
  840. package/plugins/model-providers/novita/__init__.py +27 -0
  841. package/plugins/model-providers/novita/__pycache__/__init__.cpython-312.pyc +0 -0
  842. package/plugins/model-providers/novita/plugin.yaml +5 -0
  843. package/plugins/model-providers/nvidia/__init__.py +21 -0
  844. package/plugins/model-providers/nvidia/__pycache__/__init__.cpython-312.pyc +0 -0
  845. package/plugins/model-providers/nvidia/plugin.yaml +5 -0
  846. package/plugins/model-providers/ollama-cloud/__init__.py +14 -0
  847. package/plugins/model-providers/ollama-cloud/__pycache__/__init__.cpython-312.pyc +0 -0
  848. package/plugins/model-providers/ollama-cloud/plugin.yaml +5 -0
  849. package/plugins/model-providers/openai-codex/__init__.py +15 -0
  850. package/plugins/model-providers/openai-codex/__pycache__/__init__.cpython-312.pyc +0 -0
  851. package/plugins/model-providers/openai-codex/plugin.yaml +5 -0
  852. package/plugins/model-providers/opencode-zen/__init__.py +30 -0
  853. package/plugins/model-providers/opencode-zen/__pycache__/__init__.cpython-312.pyc +0 -0
  854. package/plugins/model-providers/opencode-zen/plugin.yaml +5 -0
  855. package/plugins/model-providers/openrouter/__init__.py +115 -0
  856. package/plugins/model-providers/openrouter/__pycache__/__init__.cpython-312.pyc +0 -0
  857. package/plugins/model-providers/openrouter/plugin.yaml +5 -0
  858. package/plugins/model-providers/qwen-oauth/__init__.py +82 -0
  859. package/plugins/model-providers/qwen-oauth/__pycache__/__init__.cpython-312.pyc +0 -0
  860. package/plugins/model-providers/qwen-oauth/plugin.yaml +5 -0
  861. package/plugins/model-providers/stepfun/__init__.py +14 -0
  862. package/plugins/model-providers/stepfun/__pycache__/__init__.cpython-312.pyc +0 -0
  863. package/plugins/model-providers/stepfun/plugin.yaml +5 -0
  864. package/plugins/model-providers/xai/__init__.py +15 -0
  865. package/plugins/model-providers/xai/__pycache__/__init__.cpython-312.pyc +0 -0
  866. package/plugins/model-providers/xai/plugin.yaml +5 -0
  867. package/plugins/model-providers/xiaomi/__init__.py +14 -0
  868. package/plugins/model-providers/xiaomi/__pycache__/__init__.cpython-312.pyc +0 -0
  869. package/plugins/model-providers/xiaomi/plugin.yaml +5 -0
  870. package/plugins/model-providers/zai/__init__.py +21 -0
  871. package/plugins/model-providers/zai/__pycache__/__init__.cpython-312.pyc +0 -0
  872. package/plugins/model-providers/zai/plugin.yaml +5 -0
  873. package/plugins/observability/langfuse/README.md +53 -0
  874. package/plugins/observability/langfuse/__init__.py +1004 -0
  875. package/plugins/observability/langfuse/plugin.yaml +14 -0
  876. package/plugins/platforms/google_chat/__init__.py +3 -0
  877. package/plugins/platforms/google_chat/__pycache__/__init__.cpython-312.pyc +0 -0
  878. package/plugins/platforms/google_chat/__pycache__/adapter.cpython-312.pyc +0 -0
  879. package/plugins/platforms/google_chat/adapter.py +3343 -0
  880. package/plugins/platforms/google_chat/oauth.py +639 -0
  881. package/plugins/platforms/google_chat/plugin.yaml +39 -0
  882. package/plugins/platforms/irc/__init__.py +3 -0
  883. package/plugins/platforms/irc/__pycache__/__init__.cpython-312.pyc +0 -0
  884. package/plugins/platforms/irc/__pycache__/adapter.cpython-312.pyc +0 -0
  885. package/plugins/platforms/irc/adapter.py +969 -0
  886. package/plugins/platforms/irc/plugin.yaml +54 -0
  887. package/plugins/platforms/line/__init__.py +3 -0
  888. package/plugins/platforms/line/__pycache__/__init__.cpython-312.pyc +0 -0
  889. package/plugins/platforms/line/__pycache__/adapter.cpython-312.pyc +0 -0
  890. package/plugins/platforms/line/adapter.py +1639 -0
  891. package/plugins/platforms/line/plugin.yaml +65 -0
  892. package/plugins/platforms/simplex/__init__.py +3 -0
  893. package/plugins/platforms/simplex/__pycache__/__init__.cpython-312.pyc +0 -0
  894. package/plugins/platforms/simplex/__pycache__/adapter.cpython-312.pyc +0 -0
  895. package/plugins/platforms/simplex/adapter.py +746 -0
  896. package/plugins/platforms/simplex/plugin.yaml +37 -0
  897. package/plugins/platforms/teams/__init__.py +3 -0
  898. package/plugins/platforms/teams/__pycache__/__init__.cpython-312.pyc +0 -0
  899. package/plugins/platforms/teams/__pycache__/adapter.cpython-312.pyc +0 -0
  900. package/plugins/platforms/teams/adapter.py +1188 -0
  901. package/plugins/platforms/teams/plugin.yaml +48 -0
  902. package/plugins/spotify/__init__.py +66 -0
  903. package/plugins/spotify/__pycache__/__init__.cpython-312.pyc +0 -0
  904. package/plugins/spotify/__pycache__/client.cpython-312.pyc +0 -0
  905. package/plugins/spotify/__pycache__/tools.cpython-312.pyc +0 -0
  906. package/plugins/spotify/client.py +435 -0
  907. package/plugins/spotify/plugin.yaml +13 -0
  908. package/plugins/spotify/tools.py +454 -0
  909. package/plugins/teams_pipeline/__init__.py +23 -0
  910. package/plugins/teams_pipeline/cli.py +463 -0
  911. package/plugins/teams_pipeline/meetings.py +333 -0
  912. package/plugins/teams_pipeline/models.py +350 -0
  913. package/plugins/teams_pipeline/pipeline.py +692 -0
  914. package/plugins/teams_pipeline/plugin.yaml +9 -0
  915. package/plugins/teams_pipeline/runtime.py +135 -0
  916. package/plugins/teams_pipeline/store.py +194 -0
  917. package/plugins/teams_pipeline/subscriptions.py +249 -0
  918. package/plugins/video_gen/fal/__init__.py +523 -0
  919. package/plugins/video_gen/fal/__pycache__/__init__.cpython-312.pyc +0 -0
  920. package/plugins/video_gen/fal/plugin.yaml +7 -0
  921. package/plugins/video_gen/xai/__init__.py +441 -0
  922. package/plugins/video_gen/xai/__pycache__/__init__.cpython-312.pyc +0 -0
  923. package/plugins/video_gen/xai/plugin.yaml +7 -0
  924. package/plugins/web/__init__.py +7 -0
  925. package/plugins/web/__pycache__/__init__.cpython-312.pyc +0 -0
  926. package/plugins/web/brave_free/__init__.py +14 -0
  927. package/plugins/web/brave_free/__pycache__/__init__.cpython-312.pyc +0 -0
  928. package/plugins/web/brave_free/__pycache__/provider.cpython-312.pyc +0 -0
  929. package/plugins/web/brave_free/plugin.yaml +7 -0
  930. package/plugins/web/brave_free/provider.py +137 -0
  931. package/plugins/web/ddgs/__init__.py +15 -0
  932. package/plugins/web/ddgs/__pycache__/__init__.cpython-312.pyc +0 -0
  933. package/plugins/web/ddgs/__pycache__/provider.cpython-312.pyc +0 -0
  934. package/plugins/web/ddgs/plugin.yaml +7 -0
  935. package/plugins/web/ddgs/provider.py +104 -0
  936. package/plugins/web/exa/__init__.py +15 -0
  937. package/plugins/web/exa/__pycache__/__init__.cpython-312.pyc +0 -0
  938. package/plugins/web/exa/__pycache__/provider.cpython-312.pyc +0 -0
  939. package/plugins/web/exa/plugin.yaml +7 -0
  940. package/plugins/web/exa/provider.py +212 -0
  941. package/plugins/web/firecrawl/__init__.py +28 -0
  942. package/plugins/web/firecrawl/__pycache__/__init__.cpython-312.pyc +0 -0
  943. package/plugins/web/firecrawl/__pycache__/provider.cpython-312.pyc +0 -0
  944. package/plugins/web/firecrawl/plugin.yaml +7 -0
  945. package/plugins/web/firecrawl/provider.py +773 -0
  946. package/plugins/web/parallel/__init__.py +16 -0
  947. package/plugins/web/parallel/__pycache__/__init__.cpython-312.pyc +0 -0
  948. package/plugins/web/parallel/__pycache__/provider.cpython-312.pyc +0 -0
  949. package/plugins/web/parallel/plugin.yaml +7 -0
  950. package/plugins/web/parallel/provider.py +291 -0
  951. package/plugins/web/searxng/__init__.py +15 -0
  952. package/plugins/web/searxng/__pycache__/__init__.cpython-312.pyc +0 -0
  953. package/plugins/web/searxng/__pycache__/provider.cpython-312.pyc +0 -0
  954. package/plugins/web/searxng/plugin.yaml +7 -0
  955. package/plugins/web/searxng/provider.py +140 -0
  956. package/plugins/web/tavily/__init__.py +15 -0
  957. package/plugins/web/tavily/__pycache__/__init__.cpython-312.pyc +0 -0
  958. package/plugins/web/tavily/__pycache__/provider.cpython-312.pyc +0 -0
  959. package/plugins/web/tavily/plugin.yaml +7 -0
  960. package/plugins/web/tavily/provider.py +285 -0
  961. package/providers/README.md +78 -0
  962. package/providers/__init__.py +192 -0
  963. package/providers/__pycache__/__init__.cpython-312.pyc +0 -0
  964. package/providers/__pycache__/base.cpython-312.pyc +0 -0
  965. package/providers/base.py +184 -0
  966. package/pyproject.toml +255 -0
  967. package/run_agent.py +16409 -0
  968. package/scripts/benchmark_browser_eval.py +138 -0
  969. package/scripts/build_model_catalog.py +95 -0
  970. package/scripts/build_skills_index.py +325 -0
  971. package/scripts/check-windows-footguns.py +624 -0
  972. package/scripts/contributor_audit.py +473 -0
  973. package/scripts/discord-voice-doctor.py +396 -0
  974. package/scripts/hermes-gateway +416 -0
  975. package/scripts/install.cmd +28 -0
  976. package/scripts/install.ps1 +1611 -0
  977. package/scripts/install.sh +2007 -0
  978. package/scripts/install_psutil_android.py +117 -0
  979. package/scripts/keystroke_diagnostic.py +81 -0
  980. package/scripts/kill_modal.sh +34 -0
  981. package/scripts/lib/node-bootstrap.sh +238 -0
  982. package/scripts/lint_diff.py +207 -0
  983. package/scripts/postinstall.js +150 -0
  984. package/scripts/profile-tui.py +626 -0
  985. package/scripts/release.py +1680 -0
  986. package/scripts/run_tests.sh +129 -0
  987. package/scripts/sample_and_compress.py +409 -0
  988. package/scripts/setup_open_webui.sh +349 -0
  989. package/scripts/whatsapp-bridge/allowlist.js +88 -0
  990. package/scripts/whatsapp-bridge/allowlist.test.mjs +80 -0
  991. package/scripts/whatsapp-bridge/bridge.js +729 -0
  992. package/scripts/whatsapp-bridge/package-lock.json +2141 -0
  993. package/scripts/whatsapp-bridge/package.json +19 -0
  994. package/skills/apple/DESCRIPTION.md +2 -0
  995. package/skills/apple/apple-notes/SKILL.md +90 -0
  996. package/skills/apple/apple-reminders/SKILL.md +98 -0
  997. package/skills/apple/findmy/SKILL.md +131 -0
  998. package/skills/apple/imessage/SKILL.md +102 -0
  999. package/skills/apple/macos-computer-use/SKILL.md +201 -0
  1000. package/skills/autonomous-ai-agents/DESCRIPTION.md +3 -0
  1001. package/skills/autonomous-ai-agents/claude-code/SKILL.md +745 -0
  1002. package/skills/autonomous-ai-agents/codex/SKILL.md +130 -0
  1003. package/skills/autonomous-ai-agents/hermes-agent/SKILL.md +1014 -0
  1004. package/skills/autonomous-ai-agents/opencode/SKILL.md +219 -0
  1005. package/skills/creative/DESCRIPTION.md +3 -0
  1006. package/skills/creative/architecture-diagram/SKILL.md +148 -0
  1007. package/skills/creative/architecture-diagram/templates/template.html +319 -0
  1008. package/skills/creative/ascii-art/SKILL.md +322 -0
  1009. package/skills/creative/ascii-video/README.md +290 -0
  1010. package/skills/creative/ascii-video/SKILL.md +241 -0
  1011. package/skills/creative/ascii-video/references/architecture.md +802 -0
  1012. package/skills/creative/ascii-video/references/composition.md +892 -0
  1013. package/skills/creative/ascii-video/references/effects.md +1865 -0
  1014. package/skills/creative/ascii-video/references/inputs.md +685 -0
  1015. package/skills/creative/ascii-video/references/optimization.md +688 -0
  1016. package/skills/creative/ascii-video/references/scenes.md +1011 -0
  1017. package/skills/creative/ascii-video/references/shaders.md +1385 -0
  1018. package/skills/creative/ascii-video/references/troubleshooting.md +367 -0
  1019. package/skills/creative/baoyu-comic/PORT_NOTES.md +77 -0
  1020. package/skills/creative/baoyu-comic/SKILL.md +247 -0
  1021. package/skills/creative/baoyu-comic/references/analysis-framework.md +176 -0
  1022. package/skills/creative/baoyu-comic/references/art-styles/chalk.md +101 -0
  1023. package/skills/creative/baoyu-comic/references/art-styles/ink-brush.md +97 -0
  1024. package/skills/creative/baoyu-comic/references/art-styles/ligne-claire.md +75 -0
  1025. package/skills/creative/baoyu-comic/references/art-styles/manga.md +93 -0
  1026. package/skills/creative/baoyu-comic/references/art-styles/minimalist.md +84 -0
  1027. package/skills/creative/baoyu-comic/references/art-styles/realistic.md +89 -0
  1028. package/skills/creative/baoyu-comic/references/auto-selection.md +71 -0
  1029. package/skills/creative/baoyu-comic/references/base-prompt.md +98 -0
  1030. package/skills/creative/baoyu-comic/references/character-template.md +180 -0
  1031. package/skills/creative/baoyu-comic/references/layouts/cinematic.md +23 -0
  1032. package/skills/creative/baoyu-comic/references/layouts/dense.md +23 -0
  1033. package/skills/creative/baoyu-comic/references/layouts/four-panel.md +40 -0
  1034. package/skills/creative/baoyu-comic/references/layouts/mixed.md +23 -0
  1035. package/skills/creative/baoyu-comic/references/layouts/splash.md +23 -0
  1036. package/skills/creative/baoyu-comic/references/layouts/standard.md +23 -0
  1037. package/skills/creative/baoyu-comic/references/layouts/webtoon.md +30 -0
  1038. package/skills/creative/baoyu-comic/references/ohmsha-guide.md +85 -0
  1039. package/skills/creative/baoyu-comic/references/partial-workflows.md +106 -0
  1040. package/skills/creative/baoyu-comic/references/presets/concept-story.md +121 -0
  1041. package/skills/creative/baoyu-comic/references/presets/four-panel.md +107 -0
  1042. package/skills/creative/baoyu-comic/references/presets/ohmsha.md +114 -0
  1043. package/skills/creative/baoyu-comic/references/presets/shoujo.md +116 -0
  1044. package/skills/creative/baoyu-comic/references/presets/wuxia.md +110 -0
  1045. package/skills/creative/baoyu-comic/references/storyboard-template.md +143 -0
  1046. package/skills/creative/baoyu-comic/references/tones/action.md +110 -0
  1047. package/skills/creative/baoyu-comic/references/tones/dramatic.md +95 -0
  1048. package/skills/creative/baoyu-comic/references/tones/energetic.md +105 -0
  1049. package/skills/creative/baoyu-comic/references/tones/neutral.md +63 -0
  1050. package/skills/creative/baoyu-comic/references/tones/romantic.md +100 -0
  1051. package/skills/creative/baoyu-comic/references/tones/vintage.md +104 -0
  1052. package/skills/creative/baoyu-comic/references/tones/warm.md +94 -0
  1053. package/skills/creative/baoyu-comic/references/workflow.md +401 -0
  1054. package/skills/creative/baoyu-infographic/PORT_NOTES.md +43 -0
  1055. package/skills/creative/baoyu-infographic/SKILL.md +237 -0
  1056. package/skills/creative/baoyu-infographic/references/analysis-framework.md +182 -0
  1057. package/skills/creative/baoyu-infographic/references/base-prompt.md +43 -0
  1058. package/skills/creative/baoyu-infographic/references/layouts/bento-grid.md +41 -0
  1059. package/skills/creative/baoyu-infographic/references/layouts/binary-comparison.md +48 -0
  1060. package/skills/creative/baoyu-infographic/references/layouts/bridge.md +41 -0
  1061. package/skills/creative/baoyu-infographic/references/layouts/circular-flow.md +41 -0
  1062. package/skills/creative/baoyu-infographic/references/layouts/comic-strip.md +41 -0
  1063. package/skills/creative/baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
  1064. package/skills/creative/baoyu-infographic/references/layouts/dashboard.md +41 -0
  1065. package/skills/creative/baoyu-infographic/references/layouts/dense-modules.md +72 -0
  1066. package/skills/creative/baoyu-infographic/references/layouts/funnel.md +41 -0
  1067. package/skills/creative/baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
  1068. package/skills/creative/baoyu-infographic/references/layouts/hub-spoke.md +41 -0
  1069. package/skills/creative/baoyu-infographic/references/layouts/iceberg.md +41 -0
  1070. package/skills/creative/baoyu-infographic/references/layouts/isometric-map.md +41 -0
  1071. package/skills/creative/baoyu-infographic/references/layouts/jigsaw.md +41 -0
  1072. package/skills/creative/baoyu-infographic/references/layouts/linear-progression.md +48 -0
  1073. package/skills/creative/baoyu-infographic/references/layouts/periodic-table.md +41 -0
  1074. package/skills/creative/baoyu-infographic/references/layouts/story-mountain.md +41 -0
  1075. package/skills/creative/baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
  1076. package/skills/creative/baoyu-infographic/references/layouts/tree-branching.md +41 -0
  1077. package/skills/creative/baoyu-infographic/references/layouts/venn-diagram.md +41 -0
  1078. package/skills/creative/baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
  1079. package/skills/creative/baoyu-infographic/references/structured-content-template.md +244 -0
  1080. package/skills/creative/baoyu-infographic/references/styles/aged-academia.md +36 -0
  1081. package/skills/creative/baoyu-infographic/references/styles/bold-graphic.md +36 -0
  1082. package/skills/creative/baoyu-infographic/references/styles/chalkboard.md +61 -0
  1083. package/skills/creative/baoyu-infographic/references/styles/claymation.md +29 -0
  1084. package/skills/creative/baoyu-infographic/references/styles/corporate-memphis.md +29 -0
  1085. package/skills/creative/baoyu-infographic/references/styles/craft-handmade.md +44 -0
  1086. package/skills/creative/baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
  1087. package/skills/creative/baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
  1088. package/skills/creative/baoyu-infographic/references/styles/ikea-manual.md +29 -0
  1089. package/skills/creative/baoyu-infographic/references/styles/kawaii.md +29 -0
  1090. package/skills/creative/baoyu-infographic/references/styles/knolling.md +29 -0
  1091. package/skills/creative/baoyu-infographic/references/styles/lego-brick.md +29 -0
  1092. package/skills/creative/baoyu-infographic/references/styles/morandi-journal.md +60 -0
  1093. package/skills/creative/baoyu-infographic/references/styles/origami.md +29 -0
  1094. package/skills/creative/baoyu-infographic/references/styles/pixel-art.md +29 -0
  1095. package/skills/creative/baoyu-infographic/references/styles/pop-laboratory.md +48 -0
  1096. package/skills/creative/baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
  1097. package/skills/creative/baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
  1098. package/skills/creative/baoyu-infographic/references/styles/subway-map.md +29 -0
  1099. package/skills/creative/baoyu-infographic/references/styles/technical-schematic.md +36 -0
  1100. package/skills/creative/baoyu-infographic/references/styles/ui-wireframe.md +29 -0
  1101. package/skills/creative/claude-design/SKILL.md +591 -0
  1102. package/skills/creative/comfyui/SKILL.md +612 -0
  1103. package/skills/creative/comfyui/references/official-cli.md +255 -0
  1104. package/skills/creative/comfyui/references/rest-api.md +312 -0
  1105. package/skills/creative/comfyui/references/template-integrity.md +243 -0
  1106. package/skills/creative/comfyui/references/workflow-format.md +226 -0
  1107. package/skills/creative/comfyui/scripts/_common.py +835 -0
  1108. package/skills/creative/comfyui/scripts/auto_fix_deps.py +225 -0
  1109. package/skills/creative/comfyui/scripts/check_deps.py +437 -0
  1110. package/skills/creative/comfyui/scripts/comfyui_setup.sh +286 -0
  1111. package/skills/creative/comfyui/scripts/extract_schema.py +315 -0
  1112. package/skills/creative/comfyui/scripts/fetch_logs.py +158 -0
  1113. package/skills/creative/comfyui/scripts/hardware_check.py +497 -0
  1114. package/skills/creative/comfyui/scripts/health_check.py +223 -0
  1115. package/skills/creative/comfyui/scripts/run_batch.py +243 -0
  1116. package/skills/creative/comfyui/scripts/run_workflow.py +796 -0
  1117. package/skills/creative/comfyui/scripts/ws_monitor.py +267 -0
  1118. package/skills/creative/comfyui/tests/README.md +50 -0
  1119. package/skills/creative/comfyui/tests/conftest.py +64 -0
  1120. package/skills/creative/comfyui/tests/pytest.ini +5 -0
  1121. package/skills/creative/comfyui/tests/test_check_deps.py +68 -0
  1122. package/skills/creative/comfyui/tests/test_cloud_integration.py +95 -0
  1123. package/skills/creative/comfyui/tests/test_common.py +447 -0
  1124. package/skills/creative/comfyui/tests/test_extract_schema.py +185 -0
  1125. package/skills/creative/comfyui/tests/test_run_workflow.py +213 -0
  1126. package/skills/creative/comfyui/workflows/README.md +86 -0
  1127. package/skills/creative/comfyui/workflows/animatediff_video.json +64 -0
  1128. package/skills/creative/comfyui/workflows/flux_dev_txt2img.json +78 -0
  1129. package/skills/creative/comfyui/workflows/sd15_txt2img.json +49 -0
  1130. package/skills/creative/comfyui/workflows/sdxl_img2img.json +54 -0
  1131. package/skills/creative/comfyui/workflows/sdxl_inpaint.json +59 -0
  1132. package/skills/creative/comfyui/workflows/sdxl_txt2img.json +49 -0
  1133. package/skills/creative/comfyui/workflows/upscale_4x.json +27 -0
  1134. package/skills/creative/comfyui/workflows/wan_video_t2v.json +69 -0
  1135. package/skills/creative/creative-ideation/SKILL.md +152 -0
  1136. package/skills/creative/creative-ideation/references/full-prompt-library.md +110 -0
  1137. package/skills/creative/design-md/SKILL.md +199 -0
  1138. package/skills/creative/design-md/templates/starter.md +99 -0
  1139. package/skills/creative/excalidraw/SKILL.md +199 -0
  1140. package/skills/creative/excalidraw/references/colors.md +44 -0
  1141. package/skills/creative/excalidraw/references/dark-mode.md +68 -0
  1142. package/skills/creative/excalidraw/references/examples.md +141 -0
  1143. package/skills/creative/excalidraw/scripts/upload.py +133 -0
  1144. package/skills/creative/humanizer/LICENSE +21 -0
  1145. package/skills/creative/humanizer/SKILL.md +578 -0
  1146. package/skills/creative/manim-video/README.md +23 -0
  1147. package/skills/creative/manim-video/SKILL.md +269 -0
  1148. package/skills/creative/manim-video/references/animation-design-thinking.md +161 -0
  1149. package/skills/creative/manim-video/references/animations.md +282 -0
  1150. package/skills/creative/manim-video/references/camera-and-3d.md +135 -0
  1151. package/skills/creative/manim-video/references/decorations.md +202 -0
  1152. package/skills/creative/manim-video/references/equations.md +216 -0
  1153. package/skills/creative/manim-video/references/graphs-and-data.md +163 -0
  1154. package/skills/creative/manim-video/references/mobjects.md +333 -0
  1155. package/skills/creative/manim-video/references/paper-explainer.md +255 -0
  1156. package/skills/creative/manim-video/references/production-quality.md +190 -0
  1157. package/skills/creative/manim-video/references/rendering.md +185 -0
  1158. package/skills/creative/manim-video/references/scene-planning.md +118 -0
  1159. package/skills/creative/manim-video/references/troubleshooting.md +135 -0
  1160. package/skills/creative/manim-video/references/updaters-and-trackers.md +260 -0
  1161. package/skills/creative/manim-video/references/visual-design.md +124 -0
  1162. package/skills/creative/manim-video/scripts/setup.sh +14 -0
  1163. package/skills/creative/p5js/README.md +64 -0
  1164. package/skills/creative/p5js/SKILL.md +556 -0
  1165. package/skills/creative/p5js/references/animation.md +439 -0
  1166. package/skills/creative/p5js/references/color-systems.md +352 -0
  1167. package/skills/creative/p5js/references/core-api.md +410 -0
  1168. package/skills/creative/p5js/references/export-pipeline.md +566 -0
  1169. package/skills/creative/p5js/references/interaction.md +398 -0
  1170. package/skills/creative/p5js/references/shapes-and-geometry.md +300 -0
  1171. package/skills/creative/p5js/references/troubleshooting.md +532 -0
  1172. package/skills/creative/p5js/references/typography.md +302 -0
  1173. package/skills/creative/p5js/references/visual-effects.md +895 -0
  1174. package/skills/creative/p5js/references/webgl-and-3d.md +423 -0
  1175. package/skills/creative/p5js/scripts/export-frames.js +179 -0
  1176. package/skills/creative/p5js/scripts/render.sh +108 -0
  1177. package/skills/creative/p5js/scripts/serve.sh +28 -0
  1178. package/skills/creative/p5js/scripts/setup.sh +87 -0
  1179. package/skills/creative/p5js/templates/viewer.html +395 -0
  1180. package/skills/creative/pixel-art/ATTRIBUTION.md +54 -0
  1181. package/skills/creative/pixel-art/SKILL.md +218 -0
  1182. package/skills/creative/pixel-art/references/palettes.md +49 -0
  1183. package/skills/creative/pixel-art/scripts/__init__.py +0 -0
  1184. package/skills/creative/pixel-art/scripts/palettes.py +167 -0
  1185. package/skills/creative/pixel-art/scripts/pixel_art.py +162 -0
  1186. package/skills/creative/pixel-art/scripts/pixel_art_video.py +345 -0
  1187. package/skills/creative/popular-web-designs/SKILL.md +214 -0
  1188. package/skills/creative/popular-web-designs/templates/airbnb.md +259 -0
  1189. package/skills/creative/popular-web-designs/templates/airtable.md +102 -0
  1190. package/skills/creative/popular-web-designs/templates/apple.md +326 -0
  1191. package/skills/creative/popular-web-designs/templates/bmw.md +193 -0
  1192. package/skills/creative/popular-web-designs/templates/cal.md +272 -0
  1193. package/skills/creative/popular-web-designs/templates/claude.md +325 -0
  1194. package/skills/creative/popular-web-designs/templates/clay.md +317 -0
  1195. package/skills/creative/popular-web-designs/templates/clickhouse.md +294 -0
  1196. package/skills/creative/popular-web-designs/templates/cohere.md +279 -0
  1197. package/skills/creative/popular-web-designs/templates/coinbase.md +142 -0
  1198. package/skills/creative/popular-web-designs/templates/composio.md +320 -0
  1199. package/skills/creative/popular-web-designs/templates/cursor.md +322 -0
  1200. package/skills/creative/popular-web-designs/templates/elevenlabs.md +278 -0
  1201. package/skills/creative/popular-web-designs/templates/expo.md +294 -0
  1202. package/skills/creative/popular-web-designs/templates/figma.md +233 -0
  1203. package/skills/creative/popular-web-designs/templates/framer.md +259 -0
  1204. package/skills/creative/popular-web-designs/templates/hashicorp.md +291 -0
  1205. package/skills/creative/popular-web-designs/templates/ibm.md +345 -0
  1206. package/skills/creative/popular-web-designs/templates/intercom.md +159 -0
  1207. package/skills/creative/popular-web-designs/templates/kraken.md +138 -0
  1208. package/skills/creative/popular-web-designs/templates/linear.app.md +380 -0
  1209. package/skills/creative/popular-web-designs/templates/lovable.md +311 -0
  1210. package/skills/creative/popular-web-designs/templates/minimax.md +270 -0
  1211. package/skills/creative/popular-web-designs/templates/mintlify.md +339 -0
  1212. package/skills/creative/popular-web-designs/templates/miro.md +121 -0
  1213. package/skills/creative/popular-web-designs/templates/mistral.ai.md +274 -0
  1214. package/skills/creative/popular-web-designs/templates/mongodb.md +279 -0
  1215. package/skills/creative/popular-web-designs/templates/notion.md +322 -0
  1216. package/skills/creative/popular-web-designs/templates/nvidia.md +306 -0
  1217. package/skills/creative/popular-web-designs/templates/ollama.md +280 -0
  1218. package/skills/creative/popular-web-designs/templates/opencode.ai.md +294 -0
  1219. package/skills/creative/popular-web-designs/templates/pinterest.md +243 -0
  1220. package/skills/creative/popular-web-designs/templates/posthog.md +269 -0
  1221. package/skills/creative/popular-web-designs/templates/raycast.md +281 -0
  1222. package/skills/creative/popular-web-designs/templates/replicate.md +274 -0
  1223. package/skills/creative/popular-web-designs/templates/resend.md +316 -0
  1224. package/skills/creative/popular-web-designs/templates/revolut.md +198 -0
  1225. package/skills/creative/popular-web-designs/templates/runwayml.md +257 -0
  1226. package/skills/creative/popular-web-designs/templates/sanity.md +370 -0
  1227. package/skills/creative/popular-web-designs/templates/sentry.md +275 -0
  1228. package/skills/creative/popular-web-designs/templates/spacex.md +207 -0
  1229. package/skills/creative/popular-web-designs/templates/spotify.md +259 -0
  1230. package/skills/creative/popular-web-designs/templates/stripe.md +335 -0
  1231. package/skills/creative/popular-web-designs/templates/supabase.md +268 -0
  1232. package/skills/creative/popular-web-designs/templates/superhuman.md +265 -0
  1233. package/skills/creative/popular-web-designs/templates/together.ai.md +276 -0
  1234. package/skills/creative/popular-web-designs/templates/uber.md +308 -0
  1235. package/skills/creative/popular-web-designs/templates/vercel.md +323 -0
  1236. package/skills/creative/popular-web-designs/templates/voltagent.md +336 -0
  1237. package/skills/creative/popular-web-designs/templates/warp.md +266 -0
  1238. package/skills/creative/popular-web-designs/templates/webflow.md +105 -0
  1239. package/skills/creative/popular-web-designs/templates/wise.md +186 -0
  1240. package/skills/creative/popular-web-designs/templates/x.ai.md +270 -0
  1241. package/skills/creative/popular-web-designs/templates/zapier.md +341 -0
  1242. package/skills/creative/pretext/SKILL.md +220 -0
  1243. package/skills/creative/pretext/references/patterns.md +258 -0
  1244. package/skills/creative/pretext/templates/donut-orbit.html +1468 -0
  1245. package/skills/creative/pretext/templates/hello-orb-flow.html +95 -0
  1246. package/skills/creative/sketch/SKILL.md +218 -0
  1247. package/skills/creative/songwriting-and-ai-music/SKILL.md +287 -0
  1248. package/skills/creative/touchdesigner-mcp/SKILL.md +356 -0
  1249. package/skills/creative/touchdesigner-mcp/references/3d-scene.md +275 -0
  1250. package/skills/creative/touchdesigner-mcp/references/animation.md +221 -0
  1251. package/skills/creative/touchdesigner-mcp/references/audio-reactive.md +175 -0
  1252. package/skills/creative/touchdesigner-mcp/references/dat-scripting.md +352 -0
  1253. package/skills/creative/touchdesigner-mcp/references/external-data.md +322 -0
  1254. package/skills/creative/touchdesigner-mcp/references/geometry-comp.md +121 -0
  1255. package/skills/creative/touchdesigner-mcp/references/glsl.md +151 -0
  1256. package/skills/creative/touchdesigner-mcp/references/layout-compositor.md +131 -0
  1257. package/skills/creative/touchdesigner-mcp/references/mcp-tools.md +382 -0
  1258. package/skills/creative/touchdesigner-mcp/references/midi-osc.md +211 -0
  1259. package/skills/creative/touchdesigner-mcp/references/network-patterns.md +966 -0
  1260. package/skills/creative/touchdesigner-mcp/references/operator-tips.md +106 -0
  1261. package/skills/creative/touchdesigner-mcp/references/operators.md +239 -0
  1262. package/skills/creative/touchdesigner-mcp/references/panel-ui.md +281 -0
  1263. package/skills/creative/touchdesigner-mcp/references/particles.md +245 -0
  1264. package/skills/creative/touchdesigner-mcp/references/pitfalls.md +704 -0
  1265. package/skills/creative/touchdesigner-mcp/references/postfx.md +183 -0
  1266. package/skills/creative/touchdesigner-mcp/references/projection-mapping.md +211 -0
  1267. package/skills/creative/touchdesigner-mcp/references/python-api.md +463 -0
  1268. package/skills/creative/touchdesigner-mcp/references/replicator.md +198 -0
  1269. package/skills/creative/touchdesigner-mcp/references/troubleshooting.md +244 -0
  1270. package/skills/creative/touchdesigner-mcp/scripts/setup.sh +115 -0
  1271. package/skills/data-science/DESCRIPTION.md +3 -0
  1272. package/skills/data-science/jupyter-live-kernel/SKILL.md +167 -0
  1273. package/skills/devops/kanban-orchestrator/SKILL.md +189 -0
  1274. package/skills/devops/kanban-worker/SKILL.md +184 -0
  1275. package/skills/devops/webhook-subscriptions/SKILL.md +204 -0
  1276. package/skills/diagramming/DESCRIPTION.md +3 -0
  1277. package/skills/dogfood/SKILL.md +162 -0
  1278. package/skills/dogfood/references/issue-taxonomy.md +109 -0
  1279. package/skills/dogfood/templates/dogfood-report-template.md +86 -0
  1280. package/skills/domain/DESCRIPTION.md +24 -0
  1281. package/skills/email/DESCRIPTION.md +3 -0
  1282. package/skills/email/himalaya/SKILL.md +299 -0
  1283. package/skills/email/himalaya/references/configuration.md +227 -0
  1284. package/skills/email/himalaya/references/message-composition.md +199 -0
  1285. package/skills/gaming/DESCRIPTION.md +3 -0
  1286. package/skills/gaming/minecraft-modpack-server/SKILL.md +187 -0
  1287. package/skills/gaming/pokemon-player/SKILL.md +216 -0
  1288. package/skills/gifs/DESCRIPTION.md +3 -0
  1289. package/skills/github/DESCRIPTION.md +3 -0
  1290. package/skills/github/codebase-inspection/SKILL.md +116 -0
  1291. package/skills/github/github-auth/SKILL.md +247 -0
  1292. package/skills/github/github-auth/scripts/gh-env.sh +66 -0
  1293. package/skills/github/github-code-review/SKILL.md +481 -0
  1294. package/skills/github/github-code-review/references/review-output-template.md +74 -0
  1295. package/skills/github/github-issues/SKILL.md +370 -0
  1296. package/skills/github/github-issues/templates/bug-report.md +35 -0
  1297. package/skills/github/github-issues/templates/feature-request.md +31 -0
  1298. package/skills/github/github-pr-workflow/SKILL.md +367 -0
  1299. package/skills/github/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  1300. package/skills/github/github-pr-workflow/references/conventional-commits.md +71 -0
  1301. package/skills/github/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  1302. package/skills/github/github-pr-workflow/templates/pr-body-feature.md +33 -0
  1303. package/skills/github/github-repo-management/SKILL.md +516 -0
  1304. package/skills/github/github-repo-management/references/github-api-cheatsheet.md +161 -0
  1305. package/skills/index-cache/anthropics_skills_skills_.json +1 -0
  1306. package/skills/index-cache/claude_marketplace_anthropics_skills.json +1 -0
  1307. package/skills/index-cache/lobehub_index.json +1 -0
  1308. package/skills/index-cache/openai_skills_skills_.json +1 -0
  1309. package/skills/inference-sh/DESCRIPTION.md +19 -0
  1310. package/skills/mcp/DESCRIPTION.md +3 -0
  1311. package/skills/mcp/native-mcp/SKILL.md +357 -0
  1312. package/skills/media/DESCRIPTION.md +3 -0
  1313. package/skills/media/gif-search/SKILL.md +91 -0
  1314. package/skills/media/heartmula/SKILL.md +171 -0
  1315. package/skills/media/songsee/SKILL.md +83 -0
  1316. package/skills/media/spotify/SKILL.md +135 -0
  1317. package/skills/media/youtube-content/SKILL.md +73 -0
  1318. package/skills/media/youtube-content/references/output-formats.md +56 -0
  1319. package/skills/media/youtube-content/scripts/fetch_transcript.py +124 -0
  1320. package/skills/mlops/DESCRIPTION.md +3 -0
  1321. package/skills/mlops/evaluation/DESCRIPTION.md +3 -0
  1322. package/skills/mlops/evaluation/lm-evaluation-harness/SKILL.md +498 -0
  1323. package/skills/mlops/evaluation/lm-evaluation-harness/references/api-evaluation.md +490 -0
  1324. package/skills/mlops/evaluation/lm-evaluation-harness/references/benchmark-guide.md +488 -0
  1325. package/skills/mlops/evaluation/lm-evaluation-harness/references/custom-tasks.md +602 -0
  1326. package/skills/mlops/evaluation/lm-evaluation-harness/references/distributed-eval.md +519 -0
  1327. package/skills/mlops/evaluation/weights-and-biases/SKILL.md +594 -0
  1328. package/skills/mlops/evaluation/weights-and-biases/references/artifacts.md +584 -0
  1329. package/skills/mlops/evaluation/weights-and-biases/references/integrations.md +700 -0
  1330. package/skills/mlops/evaluation/weights-and-biases/references/sweeps.md +847 -0
  1331. package/skills/mlops/huggingface-hub/SKILL.md +81 -0
  1332. package/skills/mlops/inference/DESCRIPTION.md +3 -0
  1333. package/skills/mlops/inference/llama-cpp/SKILL.md +249 -0
  1334. package/skills/mlops/inference/llama-cpp/references/advanced-usage.md +504 -0
  1335. package/skills/mlops/inference/llama-cpp/references/hub-discovery.md +168 -0
  1336. package/skills/mlops/inference/llama-cpp/references/optimization.md +89 -0
  1337. package/skills/mlops/inference/llama-cpp/references/quantization.md +243 -0
  1338. package/skills/mlops/inference/llama-cpp/references/server.md +150 -0
  1339. package/skills/mlops/inference/llama-cpp/references/troubleshooting.md +442 -0
  1340. package/skills/mlops/inference/obliteratus/SKILL.md +342 -0
  1341. package/skills/mlops/inference/obliteratus/references/analysis-modules.md +166 -0
  1342. package/skills/mlops/inference/obliteratus/references/methods-guide.md +141 -0
  1343. package/skills/mlops/inference/obliteratus/templates/abliteration-config.yaml +33 -0
  1344. package/skills/mlops/inference/obliteratus/templates/analysis-study.yaml +40 -0
  1345. package/skills/mlops/inference/obliteratus/templates/batch-abliteration.yaml +41 -0
  1346. package/skills/mlops/inference/vllm/SKILL.md +372 -0
  1347. package/skills/mlops/inference/vllm/references/optimization.md +226 -0
  1348. package/skills/mlops/inference/vllm/references/quantization.md +284 -0
  1349. package/skills/mlops/inference/vllm/references/server-deployment.md +255 -0
  1350. package/skills/mlops/inference/vllm/references/troubleshooting.md +447 -0
  1351. package/skills/mlops/models/DESCRIPTION.md +3 -0
  1352. package/skills/mlops/models/audiocraft/SKILL.md +568 -0
  1353. package/skills/mlops/models/audiocraft/references/advanced-usage.md +666 -0
  1354. package/skills/mlops/models/audiocraft/references/troubleshooting.md +504 -0
  1355. package/skills/mlops/models/segment-anything/SKILL.md +506 -0
  1356. package/skills/mlops/models/segment-anything/references/advanced-usage.md +589 -0
  1357. package/skills/mlops/models/segment-anything/references/troubleshooting.md +484 -0
  1358. package/skills/mlops/research/DESCRIPTION.md +3 -0
  1359. package/skills/mlops/research/dspy/SKILL.md +594 -0
  1360. package/skills/mlops/research/dspy/references/examples.md +663 -0
  1361. package/skills/mlops/research/dspy/references/modules.md +475 -0
  1362. package/skills/mlops/research/dspy/references/optimizers.md +566 -0
  1363. package/skills/mlops/training/DESCRIPTION.md +3 -0
  1364. package/skills/mlops/vector-databases/DESCRIPTION.md +3 -0
  1365. package/skills/note-taking/DESCRIPTION.md +3 -0
  1366. package/skills/note-taking/obsidian/SKILL.md +61 -0
  1367. package/skills/productivity/DESCRIPTION.md +3 -0
  1368. package/skills/productivity/airtable/SKILL.md +229 -0
  1369. package/skills/productivity/google-workspace/SKILL.md +335 -0
  1370. package/skills/productivity/google-workspace/references/gmail-search-syntax.md +63 -0
  1371. package/skills/productivity/google-workspace/scripts/_hermes_home.py +43 -0
  1372. package/skills/productivity/google-workspace/scripts/google_api.py +1221 -0
  1373. package/skills/productivity/google-workspace/scripts/gws_bridge.py +108 -0
  1374. package/skills/productivity/google-workspace/scripts/setup.py +454 -0
  1375. package/skills/productivity/linear/SKILL.md +380 -0
  1376. package/skills/productivity/linear/scripts/linear_api.py +445 -0
  1377. package/skills/productivity/maps/SKILL.md +195 -0
  1378. package/skills/productivity/maps/scripts/maps_client.py +1298 -0
  1379. package/skills/productivity/nano-pdf/SKILL.md +52 -0
  1380. package/skills/productivity/notion/SKILL.md +448 -0
  1381. package/skills/productivity/notion/references/block-types.md +112 -0
  1382. package/skills/productivity/ocr-and-documents/DESCRIPTION.md +3 -0
  1383. package/skills/productivity/ocr-and-documents/SKILL.md +172 -0
  1384. package/skills/productivity/ocr-and-documents/scripts/extract_marker.py +87 -0
  1385. package/skills/productivity/ocr-and-documents/scripts/extract_pymupdf.py +98 -0
  1386. package/skills/productivity/powerpoint/LICENSE.txt +30 -0
  1387. package/skills/productivity/powerpoint/SKILL.md +237 -0
  1388. package/skills/productivity/powerpoint/editing.md +205 -0
  1389. package/skills/productivity/powerpoint/pptxgenjs.md +420 -0
  1390. package/skills/productivity/powerpoint/scripts/__init__.py +0 -0
  1391. package/skills/productivity/powerpoint/scripts/add_slide.py +195 -0
  1392. package/skills/productivity/powerpoint/scripts/clean.py +286 -0
  1393. package/skills/productivity/powerpoint/scripts/office/helpers/__init__.py +0 -0
  1394. package/skills/productivity/powerpoint/scripts/office/helpers/merge_runs.py +199 -0
  1395. package/skills/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py +197 -0
  1396. package/skills/productivity/powerpoint/scripts/office/pack.py +159 -0
  1397. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1398. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1399. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1400. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1401. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1402. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1403. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1404. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1405. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1406. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1407. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1408. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1409. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1410. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1411. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1412. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1413. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1414. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1415. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1416. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1417. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1418. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1419. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1420. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1421. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1422. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1423. package/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1424. package/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-contentTypes.xsd +42 -0
  1425. package/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-coreProperties.xsd +50 -0
  1426. package/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-digSig.xsd +49 -0
  1427. package/skills/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-relationships.xsd +33 -0
  1428. package/skills/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd +75 -0
  1429. package/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  1430. package/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  1431. package/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  1432. package/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1433. package/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1434. package/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1435. package/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1436. package/skills/productivity/teams-meeting-pipeline/SKILL.md +116 -0
  1437. package/skills/red-teaming/godmode/SKILL.md +404 -0
  1438. package/skills/red-teaming/godmode/references/jailbreak-templates.md +128 -0
  1439. package/skills/red-teaming/godmode/references/refusal-detection.md +142 -0
  1440. package/skills/red-teaming/godmode/scripts/auto_jailbreak.py +769 -0
  1441. package/skills/red-teaming/godmode/scripts/godmode_race.py +530 -0
  1442. package/skills/red-teaming/godmode/scripts/load_godmode.py +45 -0
  1443. package/skills/red-teaming/godmode/scripts/parseltongue.py +550 -0
  1444. package/skills/red-teaming/godmode/templates/prefill-subtle.json +10 -0
  1445. package/skills/red-teaming/godmode/templates/prefill.json +18 -0
  1446. package/skills/research/DESCRIPTION.md +3 -0
  1447. package/skills/research/arxiv/SKILL.md +282 -0
  1448. package/skills/research/arxiv/scripts/search_arxiv.py +114 -0
  1449. package/skills/research/blogwatcher/SKILL.md +137 -0
  1450. package/skills/research/llm-wiki/SKILL.md +507 -0
  1451. package/skills/research/polymarket/SKILL.md +77 -0
  1452. package/skills/research/polymarket/references/api-endpoints.md +220 -0
  1453. package/skills/research/polymarket/scripts/polymarket.py +284 -0
  1454. package/skills/research/research-paper-writing/SKILL.md +2377 -0
  1455. package/skills/research/research-paper-writing/references/autoreason-methodology.md +394 -0
  1456. package/skills/research/research-paper-writing/references/checklists.md +434 -0
  1457. package/skills/research/research-paper-writing/references/citation-workflow.md +564 -0
  1458. package/skills/research/research-paper-writing/references/experiment-patterns.md +728 -0
  1459. package/skills/research/research-paper-writing/references/human-evaluation.md +476 -0
  1460. package/skills/research/research-paper-writing/references/paper-types.md +481 -0
  1461. package/skills/research/research-paper-writing/references/reviewer-guidelines.md +433 -0
  1462. package/skills/research/research-paper-writing/references/sources.md +191 -0
  1463. package/skills/research/research-paper-writing/references/writing-guide.md +474 -0
  1464. package/skills/research/research-paper-writing/templates/README.md +251 -0
  1465. package/skills/research/research-paper-writing/templates/aaai2026/README.md +534 -0
  1466. package/skills/research/research-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  1467. package/skills/research/research-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  1468. package/skills/research/research-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  1469. package/skills/research/research-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  1470. package/skills/research/research-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  1471. package/skills/research/research-paper-writing/templates/acl/README.md +50 -0
  1472. package/skills/research/research-paper-writing/templates/acl/acl.sty +312 -0
  1473. package/skills/research/research-paper-writing/templates/acl/acl_latex.tex +377 -0
  1474. package/skills/research/research-paper-writing/templates/acl/acl_lualatex.tex +101 -0
  1475. package/skills/research/research-paper-writing/templates/acl/acl_natbib.bst +1940 -0
  1476. package/skills/research/research-paper-writing/templates/acl/anthology.bib.txt +26 -0
  1477. package/skills/research/research-paper-writing/templates/acl/custom.bib +70 -0
  1478. package/skills/research/research-paper-writing/templates/acl/formatting.md +326 -0
  1479. package/skills/research/research-paper-writing/templates/colm2025/README.md +3 -0
  1480. package/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  1481. package/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  1482. package/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  1483. package/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  1484. package/skills/research/research-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  1485. package/skills/research/research-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  1486. package/skills/research/research-paper-writing/templates/colm2025/math_commands.tex +508 -0
  1487. package/skills/research/research-paper-writing/templates/colm2025/natbib.sty +1246 -0
  1488. package/skills/research/research-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  1489. package/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  1490. package/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  1491. package/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  1492. package/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  1493. package/skills/research/research-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  1494. package/skills/research/research-paper-writing/templates/iclr2026/math_commands.tex +508 -0
  1495. package/skills/research/research-paper-writing/templates/iclr2026/natbib.sty +1246 -0
  1496. package/skills/research/research-paper-writing/templates/icml2026/algorithm.sty +79 -0
  1497. package/skills/research/research-paper-writing/templates/icml2026/algorithmic.sty +201 -0
  1498. package/skills/research/research-paper-writing/templates/icml2026/example_paper.bib +75 -0
  1499. package/skills/research/research-paper-writing/templates/icml2026/example_paper.pdf +0 -0
  1500. package/skills/research/research-paper-writing/templates/icml2026/example_paper.tex +662 -0
  1501. package/skills/research/research-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  1502. package/skills/research/research-paper-writing/templates/icml2026/icml2026.bst +1443 -0
  1503. package/skills/research/research-paper-writing/templates/icml2026/icml2026.sty +767 -0
  1504. package/skills/research/research-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  1505. package/skills/research/research-paper-writing/templates/neurips2025/Makefile +36 -0
  1506. package/skills/research/research-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  1507. package/skills/research/research-paper-writing/templates/neurips2025/main.tex +38 -0
  1508. package/skills/research/research-paper-writing/templates/neurips2025/neurips.sty +382 -0
  1509. package/skills/smart-home/DESCRIPTION.md +3 -0
  1510. package/skills/smart-home/openhue/SKILL.md +109 -0
  1511. package/skills/social-media/DESCRIPTION.md +3 -0
  1512. package/skills/social-media/xurl/SKILL.md +414 -0
  1513. package/skills/software-development/debugging-hermes-tui-commands/SKILL.md +152 -0
  1514. package/skills/software-development/hermes-agent-skill-authoring/SKILL.md +165 -0
  1515. package/skills/software-development/node-inspect-debugger/SKILL.md +319 -0
  1516. package/skills/software-development/plan/SKILL.md +58 -0
  1517. package/skills/software-development/python-debugpy/SKILL.md +375 -0
  1518. package/skills/software-development/requesting-code-review/SKILL.md +280 -0
  1519. package/skills/software-development/spike/SKILL.md +197 -0
  1520. package/skills/software-development/subagent-driven-development/SKILL.md +352 -0
  1521. package/skills/software-development/subagent-driven-development/references/context-budget-discipline.md +53 -0
  1522. package/skills/software-development/subagent-driven-development/references/gates-taxonomy.md +93 -0
  1523. package/skills/software-development/systematic-debugging/SKILL.md +367 -0
  1524. package/skills/software-development/test-driven-development/SKILL.md +343 -0
  1525. package/skills/software-development/writing-plans/SKILL.md +297 -0
  1526. package/skills/yuanbao/SKILL.md +108 -0
  1527. package/tools/__init__.py +25 -0
  1528. package/tools/__pycache__/__init__.cpython-312.pyc +0 -0
  1529. package/tools/__pycache__/approval.cpython-312.pyc +0 -0
  1530. package/tools/__pycache__/binary_extensions.cpython-312.pyc +0 -0
  1531. package/tools/__pycache__/browser_camofox.cpython-312.pyc +0 -0
  1532. package/tools/__pycache__/browser_camofox_state.cpython-312.pyc +0 -0
  1533. package/tools/__pycache__/browser_cdp_tool.cpython-312.pyc +0 -0
  1534. package/tools/__pycache__/browser_dialog_tool.cpython-312.pyc +0 -0
  1535. package/tools/__pycache__/browser_supervisor.cpython-312.pyc +0 -0
  1536. package/tools/__pycache__/browser_tool.cpython-312.pyc +0 -0
  1537. package/tools/__pycache__/budget_config.cpython-312.pyc +0 -0
  1538. package/tools/__pycache__/checkpoint_manager.cpython-312.pyc +0 -0
  1539. package/tools/__pycache__/clarify_gateway.cpython-312.pyc +0 -0
  1540. package/tools/__pycache__/clarify_tool.cpython-312.pyc +0 -0
  1541. package/tools/__pycache__/code_execution_tool.cpython-312.pyc +0 -0
  1542. package/tools/__pycache__/computer_use_tool.cpython-312.pyc +0 -0
  1543. package/tools/__pycache__/cronjob_tools.cpython-312.pyc +0 -0
  1544. package/tools/__pycache__/debug_helpers.cpython-312.pyc +0 -0
  1545. package/tools/__pycache__/delegate_tool.cpython-312.pyc +0 -0
  1546. package/tools/__pycache__/discord_tool.cpython-312.pyc +0 -0
  1547. package/tools/__pycache__/feishu_doc_tool.cpython-312.pyc +0 -0
  1548. package/tools/__pycache__/feishu_drive_tool.cpython-312.pyc +0 -0
  1549. package/tools/__pycache__/file_operations.cpython-312.pyc +0 -0
  1550. package/tools/__pycache__/file_state.cpython-312.pyc +0 -0
  1551. package/tools/__pycache__/file_tools.cpython-312.pyc +0 -0
  1552. package/tools/__pycache__/homeassistant_tool.cpython-312.pyc +0 -0
  1553. package/tools/__pycache__/image_generation_tool.cpython-312.pyc +0 -0
  1554. package/tools/__pycache__/interrupt.cpython-312.pyc +0 -0
  1555. package/tools/__pycache__/kanban_tools.cpython-312.pyc +0 -0
  1556. package/tools/__pycache__/lazy_deps.cpython-312.pyc +0 -0
  1557. package/tools/__pycache__/managed_tool_gateway.cpython-312.pyc +0 -0
  1558. package/tools/__pycache__/mcp_tool.cpython-312.pyc +0 -0
  1559. package/tools/__pycache__/memory_tool.cpython-312.pyc +0 -0
  1560. package/tools/__pycache__/mixture_of_agents_tool.cpython-312.pyc +0 -0
  1561. package/tools/__pycache__/openrouter_client.cpython-312.pyc +0 -0
  1562. package/tools/__pycache__/process_registry.cpython-312.pyc +0 -0
  1563. package/tools/__pycache__/registry.cpython-312.pyc +0 -0
  1564. package/tools/__pycache__/schema_sanitizer.cpython-312.pyc +0 -0
  1565. package/tools/__pycache__/send_message_tool.cpython-312.pyc +0 -0
  1566. package/tools/__pycache__/session_search_tool.cpython-312.pyc +0 -0
  1567. package/tools/__pycache__/skill_manager_tool.cpython-312.pyc +0 -0
  1568. package/tools/__pycache__/skill_provenance.cpython-312.pyc +0 -0
  1569. package/tools/__pycache__/skill_usage.cpython-312.pyc +0 -0
  1570. package/tools/__pycache__/skills_guard.cpython-312.pyc +0 -0
  1571. package/tools/__pycache__/skills_sync.cpython-312.pyc +0 -0
  1572. package/tools/__pycache__/skills_tool.cpython-312.pyc +0 -0
  1573. package/tools/__pycache__/slash_confirm.cpython-312.pyc +0 -0
  1574. package/tools/__pycache__/terminal_tool.cpython-312.pyc +0 -0
  1575. package/tools/__pycache__/tirith_security.cpython-312.pyc +0 -0
  1576. package/tools/__pycache__/todo_tool.cpython-312.pyc +0 -0
  1577. package/tools/__pycache__/tool_backend_helpers.cpython-312.pyc +0 -0
  1578. package/tools/__pycache__/tool_result_storage.cpython-312.pyc +0 -0
  1579. package/tools/__pycache__/tts_tool.cpython-312.pyc +0 -0
  1580. package/tools/__pycache__/url_safety.cpython-312.pyc +0 -0
  1581. package/tools/__pycache__/video_generation_tool.cpython-312.pyc +0 -0
  1582. package/tools/__pycache__/vision_tools.cpython-312.pyc +0 -0
  1583. package/tools/__pycache__/voice_mode.cpython-312.pyc +0 -0
  1584. package/tools/__pycache__/web_tools.cpython-312.pyc +0 -0
  1585. package/tools/__pycache__/website_policy.cpython-312.pyc +0 -0
  1586. package/tools/__pycache__/x_search_tool.cpython-312.pyc +0 -0
  1587. package/tools/__pycache__/xai_http.cpython-312.pyc +0 -0
  1588. package/tools/__pycache__/yuanbao_tools.cpython-312.pyc +0 -0
  1589. package/tools/ansi_strip.py +44 -0
  1590. package/tools/approval.py +1392 -0
  1591. package/tools/binary_extensions.py +42 -0
  1592. package/tools/browser_camofox.py +700 -0
  1593. package/tools/browser_camofox_state.py +48 -0
  1594. package/tools/browser_cdp_tool.py +569 -0
  1595. package/tools/browser_dialog_tool.py +148 -0
  1596. package/tools/browser_providers/__init__.py +10 -0
  1597. package/tools/browser_providers/__pycache__/__init__.cpython-312.pyc +0 -0
  1598. package/tools/browser_providers/__pycache__/base.cpython-312.pyc +0 -0
  1599. package/tools/browser_providers/__pycache__/browser_use.cpython-312.pyc +0 -0
  1600. package/tools/browser_providers/__pycache__/browserbase.cpython-312.pyc +0 -0
  1601. package/tools/browser_providers/__pycache__/firecrawl.cpython-312.pyc +0 -0
  1602. package/tools/browser_providers/base.py +59 -0
  1603. package/tools/browser_providers/browser_use.py +225 -0
  1604. package/tools/browser_providers/browserbase.py +222 -0
  1605. package/tools/browser_providers/firecrawl.py +112 -0
  1606. package/tools/browser_supervisor.py +1457 -0
  1607. package/tools/browser_tool.py +3676 -0
  1608. package/tools/budget_config.py +51 -0
  1609. package/tools/checkpoint_manager.py +1639 -0
  1610. package/tools/clarify_gateway.py +278 -0
  1611. package/tools/clarify_tool.py +141 -0
  1612. package/tools/code_execution_tool.py +1782 -0
  1613. package/tools/computer_use/__init__.py +43 -0
  1614. package/tools/computer_use/__pycache__/__init__.cpython-312.pyc +0 -0
  1615. package/tools/computer_use/__pycache__/backend.cpython-312.pyc +0 -0
  1616. package/tools/computer_use/__pycache__/schema.cpython-312.pyc +0 -0
  1617. package/tools/computer_use/__pycache__/tool.cpython-312.pyc +0 -0
  1618. package/tools/computer_use/backend.py +150 -0
  1619. package/tools/computer_use/cua_backend.py +682 -0
  1620. package/tools/computer_use/schema.py +191 -0
  1621. package/tools/computer_use/tool.py +521 -0
  1622. package/tools/computer_use_tool.py +39 -0
  1623. package/tools/credential_files.py +437 -0
  1624. package/tools/cronjob_tools.py +719 -0
  1625. package/tools/debug_helpers.py +106 -0
  1626. package/tools/delegate_tool.py +2797 -0
  1627. package/tools/discord_tool.py +959 -0
  1628. package/tools/env_passthrough.py +145 -0
  1629. package/tools/environments/__init__.py +14 -0
  1630. package/tools/environments/__pycache__/__init__.cpython-312.pyc +0 -0
  1631. package/tools/environments/__pycache__/base.cpython-312.pyc +0 -0
  1632. package/tools/environments/__pycache__/docker.cpython-312.pyc +0 -0
  1633. package/tools/environments/__pycache__/file_sync.cpython-312.pyc +0 -0
  1634. package/tools/environments/__pycache__/local.cpython-312.pyc +0 -0
  1635. package/tools/environments/__pycache__/managed_modal.cpython-312.pyc +0 -0
  1636. package/tools/environments/__pycache__/modal.cpython-312.pyc +0 -0
  1637. package/tools/environments/__pycache__/modal_utils.cpython-312.pyc +0 -0
  1638. package/tools/environments/__pycache__/singularity.cpython-312.pyc +0 -0
  1639. package/tools/environments/__pycache__/ssh.cpython-312.pyc +0 -0
  1640. package/tools/environments/base.py +844 -0
  1641. package/tools/environments/daytona.py +270 -0
  1642. package/tools/environments/docker.py +656 -0
  1643. package/tools/environments/file_sync.py +400 -0
  1644. package/tools/environments/local.py +658 -0
  1645. package/tools/environments/managed_modal.py +282 -0
  1646. package/tools/environments/modal.py +479 -0
  1647. package/tools/environments/modal_utils.py +199 -0
  1648. package/tools/environments/singularity.py +263 -0
  1649. package/tools/environments/ssh.py +295 -0
  1650. package/tools/environments/vercel_sandbox.py +655 -0
  1651. package/tools/feishu_doc_tool.py +138 -0
  1652. package/tools/feishu_drive_tool.py +431 -0
  1653. package/tools/file_operations.py +1825 -0
  1654. package/tools/file_state.py +332 -0
  1655. package/tools/file_tools.py +1172 -0
  1656. package/tools/fuzzy_match.py +703 -0
  1657. package/tools/homeassistant_tool.py +513 -0
  1658. package/tools/image_generation_tool.py +1098 -0
  1659. package/tools/interrupt.py +98 -0
  1660. package/tools/kanban_tools.py +1139 -0
  1661. package/tools/lazy_deps.py +608 -0
  1662. package/tools/managed_tool_gateway.py +168 -0
  1663. package/tools/mcp_oauth.py +633 -0
  1664. package/tools/mcp_oauth_manager.py +607 -0
  1665. package/tools/mcp_tool.py +3483 -0
  1666. package/tools/memory_tool.py +584 -0
  1667. package/tools/microsoft_graph_auth.py +245 -0
  1668. package/tools/microsoft_graph_client.py +408 -0
  1669. package/tools/mixture_of_agents_tool.py +542 -0
  1670. package/tools/neutts_samples/jo.txt +1 -0
  1671. package/tools/neutts_samples/jo.wav +0 -0
  1672. package/tools/neutts_synth.py +104 -0
  1673. package/tools/openrouter_client.py +33 -0
  1674. package/tools/osv_check.py +155 -0
  1675. package/tools/patch_parser.py +592 -0
  1676. package/tools/path_security.py +43 -0
  1677. package/tools/process_registry.py +1534 -0
  1678. package/tools/registry.py +589 -0
  1679. package/tools/schema_sanitizer.py +370 -0
  1680. package/tools/send_message_tool.py +1900 -0
  1681. package/tools/session_search_tool.py +613 -0
  1682. package/tools/skill_manager_tool.py +932 -0
  1683. package/tools/skill_provenance.py +78 -0
  1684. package/tools/skill_usage.py +610 -0
  1685. package/tools/skills_guard.py +932 -0
  1686. package/tools/skills_hub.py +3263 -0
  1687. package/tools/skills_sync.py +432 -0
  1688. package/tools/skills_tool.py +1569 -0
  1689. package/tools/slash_confirm.py +167 -0
  1690. package/tools/terminal_tool.py +2376 -0
  1691. package/tools/tirith_security.py +775 -0
  1692. package/tools/todo_tool.py +277 -0
  1693. package/tools/tool_backend_helpers.py +144 -0
  1694. package/tools/tool_output_limits.py +92 -0
  1695. package/tools/tool_result_storage.py +232 -0
  1696. package/tools/transcription_tools.py +936 -0
  1697. package/tools/tts_tool.py +2285 -0
  1698. package/tools/url_safety.py +330 -0
  1699. package/tools/video_generation_tool.py +561 -0
  1700. package/tools/vision_tools.py +1422 -0
  1701. package/tools/voice_mode.py +1019 -0
  1702. package/tools/web_tools.py +1551 -0
  1703. package/tools/website_policy.py +283 -0
  1704. package/tools/x_search_tool.py +424 -0
  1705. package/tools/xai_http.py +83 -0
  1706. package/tools/yuanbao_tools.py +736 -0
  1707. package/toolset_distributions.py +364 -0
  1708. package/toolsets.py +866 -0
  1709. package/trajectory_compressor.py +1509 -0
  1710. package/tui_gateway/__init__.py +0 -0
  1711. package/tui_gateway/entry.py +251 -0
  1712. package/tui_gateway/event_publisher.py +126 -0
  1713. package/tui_gateway/render.py +49 -0
  1714. package/tui_gateway/server.py +6623 -0
  1715. package/tui_gateway/slash_worker.py +76 -0
  1716. package/tui_gateway/transport.py +219 -0
  1717. package/tui_gateway/ws.py +178 -0
  1718. package/utils.py +361 -0
@@ -0,0 +1,2377 @@
1
+ ---
2
+ name: research-paper-writing
3
+ title: Research Paper Writing Pipeline
4
+ description: "Write ML papers for NeurIPS/ICML/ICLR: design→submit."
5
+ version: 1.1.0
6
+ author: Orchestra Research
7
+ license: MIT
8
+ dependencies: [semanticscholar, arxiv, habanero, requests, scipy, numpy, matplotlib, SciencePlots]
9
+ platforms: [linux, macos]
10
+ metadata:
11
+ hermes:
12
+ tags: [Research, Paper Writing, Experiments, ML, AI, NeurIPS, ICML, ICLR, ACL, AAAI, COLM, LaTeX, Citations, Statistical Analysis]
13
+ category: research
14
+ related_skills: [arxiv, ml-paper-writing, subagent-driven-development, plan]
15
+ requires_toolsets: [terminal, files]
16
+
17
+ ---
18
+
19
+ # Research Paper Writing Pipeline
20
+
21
+ End-to-end pipeline for producing publication-ready ML/AI research papers targeting **NeurIPS, ICML, ICLR, ACL, AAAI, and COLM**. This skill covers the full research lifecycle: experiment design, execution, monitoring, analysis, paper writing, review, revision, and submission.
22
+
23
+ This is **not a linear pipeline** — it is an iterative loop. Results trigger new experiments. Reviews trigger new analysis. The agent must handle these feedback loops.
24
+
25
+ <!-- ascii-guard-ignore -->
26
+ ```
27
+ ┌─────────────────────────────────────────────────────────────┐
28
+ │ RESEARCH PAPER PIPELINE │
29
+ │ │
30
+ │ Phase 0: Project Setup ──► Phase 1: Literature Review │
31
+ │ │ │ │
32
+ │ ▼ ▼ │
33
+ │ Phase 2: Experiment Phase 5: Paper Drafting ◄──┐ │
34
+ │ Design │ │ │
35
+ │ │ ▼ │ │
36
+ │ ▼ Phase 6: Self-Review │ │
37
+ │ Phase 3: Execution & & Revision ──────────┘ │
38
+ │ Monitoring │ │
39
+ │ │ ▼ │
40
+ │ ▼ Phase 7: Submission │
41
+ │ Phase 4: Analysis ─────► (feeds back to Phase 2 or 5) │
42
+ │ │
43
+ └─────────────────────────────────────────────────────────────┘
44
+ ```
45
+ <!-- ascii-guard-ignore-end -->
46
+
47
+ ---
48
+
49
+ ## When To Use This Skill
50
+
51
+ Use this skill when:
52
+ - **Starting a new research paper** from an existing codebase or idea
53
+ - **Designing and running experiments** to support paper claims
54
+ - **Writing or revising** any section of a research paper
55
+ - **Preparing for submission** to a specific conference or workshop
56
+ - **Responding to reviews** with additional experiments or revisions
57
+ - **Converting** a paper between conference formats
58
+ - **Writing non-empirical papers** — theory, survey, benchmark, or position papers (see [Paper Types Beyond Empirical ML](#paper-types-beyond-empirical-ml))
59
+ - **Designing human evaluations** for NLP, HCI, or alignment research
60
+ - **Preparing post-acceptance deliverables** — posters, talks, code releases
61
+
62
+ ## Core Philosophy
63
+
64
+ 1. **Be proactive.** Deliver complete drafts, not questions. Scientists are busy — produce something concrete they can react to, then iterate.
65
+ 2. **Never hallucinate citations.** AI-generated citations have ~40% error rate. Always fetch programmatically. Mark unverifiable citations as `[CITATION NEEDED]`.
66
+ 3. **Paper is a story, not a collection of experiments.** Every paper needs one clear contribution stated in a single sentence. If you can't do that, the paper isn't ready.
67
+ 4. **Experiments serve claims.** Every experiment must explicitly state which claim it supports. Never run experiments that don't connect to the paper's narrative.
68
+ 5. **Commit early, commit often.** Every completed experiment batch, every paper draft update — commit with descriptive messages. Git log is the experiment history.
69
+
70
+ ### Proactivity and Collaboration
71
+
72
+ **Default: Be proactive. Draft first, ask with the draft.**
73
+
74
+ | Confidence Level | Action |
75
+ |-----------------|--------|
76
+ | **High** (clear repo, obvious contribution) | Write full draft, deliver, iterate on feedback |
77
+ | **Medium** (some ambiguity) | Write draft with flagged uncertainties, continue |
78
+ | **Low** (major unknowns) | Ask 1-2 targeted questions via `clarify`, then draft |
79
+
80
+ | Section | Draft Autonomously? | Flag With Draft |
81
+ |---------|-------------------|-----------------|
82
+ | Abstract | Yes | "Framed contribution as X — adjust if needed" |
83
+ | Introduction | Yes | "Emphasized problem Y — correct if wrong" |
84
+ | Methods | Yes | "Included details A, B, C — add missing pieces" |
85
+ | Experiments | Yes | "Highlighted results 1, 2, 3 — reorder if needed" |
86
+ | Related Work | Yes | "Cited papers X, Y, Z — add any I missed" |
87
+
88
+ **Block for input only when**: target venue unclear, multiple contradictory framings, results seem incomplete, explicit request to review first.
89
+
90
+ ---
91
+
92
+ ## Phase 0: Project Setup
93
+
94
+ **Goal**: Establish the workspace, understand existing work, identify the contribution.
95
+
96
+ ### Step 0.1: Explore the Repository
97
+
98
+ ```bash
99
+ # Understand project structure
100
+ ls -la
101
+ find . -name "*.py" | head -30
102
+ find . -name "*.md" -o -name "*.txt" | xargs grep -l -i "result\|conclusion\|finding"
103
+ ```
104
+
105
+ Look for:
106
+ - `README.md` — project overview and claims
107
+ - `results/`, `outputs/`, `experiments/` — existing findings
108
+ - `configs/` — experimental settings
109
+ - `.bib` files — existing citations
110
+ - Draft documents or notes
111
+
112
+ ### Step 0.2: Organize the Workspace
113
+
114
+ Establish a consistent workspace structure:
115
+
116
+ ```
117
+ workspace/
118
+ paper/ # LaTeX source, figures, compiled PDFs
119
+ experiments/ # Experiment runner scripts
120
+ code/ # Core method implementation
121
+ results/ # Raw experiment results (auto-generated)
122
+ tasks/ # Task/benchmark definitions
123
+ human_eval/ # Human evaluation materials (if needed)
124
+ ```
125
+
126
+ ### Step 0.3: Set Up Version Control
127
+
128
+ ```bash
129
+ git init # if not already
130
+ git remote add origin <repo-url>
131
+ git checkout -b paper-draft # or main
132
+ ```
133
+
134
+ **Git discipline**: Every completed experiment batch gets committed with a descriptive message. Example:
135
+ ```
136
+ Add Monte Carlo constrained results (5 runs, Sonnet 4.6, policy memo task)
137
+ Add Haiku baseline comparison: autoreason vs refinement baselines at cheap model tier
138
+ ```
139
+
140
+ ### Step 0.4: Identify the Contribution
141
+
142
+ Before writing anything, articulate:
143
+ - **The What**: What is the single thing this paper contributes?
144
+ - **The Why**: What evidence supports it?
145
+ - **The So What**: Why should readers care?
146
+
147
+ > Propose to the scientist: "Based on my understanding, the main contribution is: [one sentence]. The key results show [Y]. Is this the framing you want?"
148
+
149
+ ### Step 0.5: Create a TODO List
150
+
151
+ Use the `todo` tool to create a structured project plan:
152
+
153
+ ```
154
+ Research Paper TODO:
155
+ - [ ] Define one-sentence contribution
156
+ - [ ] Literature review (related work + baselines)
157
+ - [ ] Design core experiments
158
+ - [ ] Run experiments
159
+ - [ ] Analyze results
160
+ - [ ] Write first draft
161
+ - [ ] Self-review (simulate reviewers)
162
+ - [ ] Revise based on review
163
+ - [ ] Submission prep
164
+ ```
165
+
166
+ Update this throughout the project. It serves as the persistent state across sessions.
167
+
168
+ ### Step 0.6: Estimate Compute Budget
169
+
170
+ Before running experiments, estimate total cost and time:
171
+
172
+ ```
173
+ Compute Budget Checklist:
174
+ - [ ] API costs: (model price per token) × (estimated tokens per run) × (number of runs)
175
+ - [ ] GPU hours: (time per experiment) × (number of experiments) × (number of seeds)
176
+ - [ ] Human evaluation costs: (annotators) × (hours) × (hourly rate)
177
+ - [ ] Total budget ceiling and contingency (add 30-50% for reruns)
178
+ ```
179
+
180
+ Track actual spend as experiments run:
181
+ ```python
182
+ # Simple cost tracker pattern
183
+ import json, os
184
+ from datetime import datetime
185
+
186
+ COST_LOG = "results/cost_log.jsonl"
187
+
188
+ def log_cost(experiment: str, model: str, input_tokens: int, output_tokens: int, cost_usd: float):
189
+ entry = {
190
+ "timestamp": datetime.now().isoformat(),
191
+ "experiment": experiment,
192
+ "model": model,
193
+ "input_tokens": input_tokens,
194
+ "output_tokens": output_tokens,
195
+ "cost_usd": cost_usd,
196
+ }
197
+ with open(COST_LOG, "a") as f:
198
+ f.write(json.dumps(entry) + "\n")
199
+ ```
200
+
201
+ **When budget is tight**: Run pilot experiments (1-2 seeds, subset of tasks) before committing to full sweeps. Use cheaper models for debugging pipelines, then switch to target models for final runs.
202
+
203
+ ### Step 0.7: Multi-Author Coordination
204
+
205
+ Most papers have 3-10 authors. Establish workflows early:
206
+
207
+ | Workflow | Tool | When to Use |
208
+ |----------|------|-------------|
209
+ | **Overleaf** | Browser-based | Multiple authors editing simultaneously, no git experience |
210
+ | **Git + LaTeX** | `git` with `.gitignore` for aux files | Technical teams, need branch-based review |
211
+ | **Overleaf + Git sync** | Overleaf premium | Best of both — live collab with version history |
212
+
213
+ **Section ownership**: Assign each section to one primary author. Others comment but don't edit directly. Prevents merge conflicts and style inconsistency.
214
+
215
+ ```
216
+ Author Coordination Checklist:
217
+ - [ ] Agree on section ownership (who writes what)
218
+ - [ ] Set up shared workspace (Overleaf or git repo)
219
+ - [ ] Establish notation conventions (before anyone writes)
220
+ - [ ] Schedule internal review rounds (not just at the end)
221
+ - [ ] Designate one person for final formatting pass
222
+ - [ ] Agree on figure style (colors, fonts, sizes) before creating figures
223
+ ```
224
+
225
+ **LaTeX conventions to agree on early**:
226
+ - `\method{}` macro for consistent method naming
227
+ - Citation style: `\citet{}` vs `\citep{}` usage
228
+ - Math notation: lowercase bold for vectors, uppercase bold for matrices, etc.
229
+ - British vs American spelling
230
+
231
+ ---
232
+
233
+ ## Phase 1: Literature Review
234
+
235
+ **Goal**: Find related work, identify baselines, gather citations.
236
+
237
+ ### Step 1.1: Identify Seed Papers
238
+
239
+ Start from papers already referenced in the codebase:
240
+
241
+ ```bash
242
+ # Via terminal:
243
+ grep -r "arxiv\|doi\|cite" --include="*.md" --include="*.bib" --include="*.py"
244
+ find . -name "*.bib"
245
+ ```
246
+
247
+ ### Step 1.2: Search for Related Work
248
+
249
+ **Load the `arxiv` skill** for structured paper discovery: `skill_view("arxiv")`. It provides arXiv REST API search, Semantic Scholar citation graphs, author profiles, and BibTeX generation.
250
+
251
+ Use `web_search` for broad discovery, `web_extract` for fetching specific papers:
252
+
253
+ ```
254
+ # Via web_search:
255
+ web_search("[main technique] + [application domain] site:arxiv.org")
256
+ web_search("[baseline method] comparison ICML NeurIPS 2024")
257
+
258
+ # Via web_extract (for specific papers):
259
+ web_extract("https://arxiv.org/abs/2303.17651")
260
+ ```
261
+
262
+ Additional search queries to try:
263
+
264
+ ```
265
+ Search queries:
266
+ - "[main technique] + [application domain]"
267
+ - "[baseline method] comparison"
268
+ - "[problem name] state-of-the-art"
269
+ - Author names from existing citations
270
+ ```
271
+
272
+ **Recommended**: Install **Exa MCP** for real-time academic search:
273
+ ```bash
274
+ claude mcp add exa -- npx -y mcp-remote "https://mcp.exa.ai/mcp"
275
+ ```
276
+
277
+ ### Step 1.2b: Deepen the Search (Breadth-First, Then Depth)
278
+
279
+ A flat search (one round of queries) typically misses important related work. Use an iterative **breadth-then-depth** pattern inspired by deep research pipelines:
280
+
281
+ ```
282
+ Iterative Literature Search:
283
+
284
+ Round 1 (Breadth): 4-6 parallel queries covering different angles
285
+ - "[method] + [domain]"
286
+ - "[problem name] state-of-the-art 2024 2025"
287
+ - "[baseline method] comparison"
288
+ - "[alternative approach] vs [your approach]"
289
+ → Collect papers, extract key concepts and terminology
290
+
291
+ Round 2 (Depth): Generate follow-up queries from Round 1 learnings
292
+ - New terminology discovered in Round 1 papers
293
+ - Papers cited by the most relevant Round 1 results
294
+ - Contradictory findings that need investigation
295
+ → Collect papers, identify remaining gaps
296
+
297
+ Round 3 (Targeted): Fill specific gaps
298
+ - Missing baselines identified in Rounds 1-2
299
+ - Concurrent work (last 6 months, same problem)
300
+ - Key negative results or failed approaches
301
+ → Stop when new queries return mostly papers you've already seen
302
+ ```
303
+
304
+ **When to stop**: If a round returns >80% papers already in your collection, the search is saturated. Typically 2-3 rounds suffice. For survey papers, expect 4-5 rounds.
305
+
306
+ **For agent-based workflows**: Delegate each round's queries in parallel via `delegate_task`. Collect results, deduplicate, then generate the next round's queries from the combined learnings.
307
+
308
+ ### Step 1.3: Verify Every Citation
309
+
310
+ **NEVER generate BibTeX from memory. ALWAYS fetch programmatically.**
311
+
312
+ For each citation, follow the mandatory 5-step process:
313
+
314
+ ```
315
+ Citation Verification (MANDATORY per citation):
316
+ 1. SEARCH → Query Semantic Scholar or Exa MCP with specific keywords
317
+ 2. VERIFY → Confirm paper exists in 2+ sources (Semantic Scholar + arXiv/CrossRef)
318
+ 3. RETRIEVE → Get BibTeX via DOI content negotiation (programmatically, not from memory)
319
+ 4. VALIDATE → Confirm the claim you're citing actually appears in the paper
320
+ 5. ADD → Add verified BibTeX to bibliography
321
+ If ANY step fails → mark as [CITATION NEEDED], inform scientist
322
+ ```
323
+
324
+ ```python
325
+ # Fetch BibTeX via DOI
326
+ import requests
327
+
328
+ def doi_to_bibtex(doi: str) -> str:
329
+ response = requests.get(
330
+ f"https://doi.org/{doi}",
331
+ headers={"Accept": "application/x-bibtex"}
332
+ )
333
+ response.raise_for_status()
334
+ return response.text
335
+ ```
336
+
337
+ If you cannot verify a citation:
338
+
339
+ ```latex
340
+ \cite{PLACEHOLDER_author2024_verify_this} % TODO: Verify this citation exists
341
+ ```
342
+
343
+ **Always tell the scientist**: "I've marked [X] citations as placeholders that need verification."
344
+
345
+ See [references/citation-workflow.md](references/citation-workflow.md) for complete API documentation and the full `CitationManager` class.
346
+
347
+ ### Step 1.4: Organize Related Work
348
+
349
+ Group papers by methodology, not paper-by-paper:
350
+
351
+ **Good**: "One line of work uses X's assumption [refs] whereas we use Y's assumption because..."
352
+ **Bad**: "Smith et al. introduced X. Jones et al. introduced Y. We combine both."
353
+
354
+ ---
355
+
356
+ ## Phase 2: Experiment Design
357
+
358
+ **Goal**: Design experiments that directly support paper claims. Every experiment must answer a specific question.
359
+
360
+ ### Step 2.1: Map Claims to Experiments
361
+
362
+ Create an explicit mapping:
363
+
364
+ | Claim | Experiment | Expected Evidence |
365
+ |-------|-----------|-------------------|
366
+ | "Our method outperforms baselines" | Main comparison (Table 1) | Win rate, statistical significance |
367
+ | "Effect is larger for weaker models" | Model scaling study | Monotonic improvement curve |
368
+ | "Convergence requires scope constraints" | Constrained vs unconstrained | Convergence rate comparison |
369
+
370
+ **Rule**: If an experiment doesn't map to a claim, don't run it.
371
+
372
+ ### Step 2.2: Design Baselines
373
+
374
+ Strong baselines are what separates accepted papers from rejected ones. Reviewers will ask: "Did they compare against X?"
375
+
376
+ Standard baseline categories:
377
+ - **Naive baseline**: Simplest possible approach
378
+ - **Strong baseline**: Best known existing method
379
+ - **Ablation baselines**: Your method minus one component
380
+ - **Compute-matched baselines**: Same compute budget, different allocation
381
+
382
+ ### Step 2.3: Define Evaluation Protocol
383
+
384
+ Before running anything, specify:
385
+ - **Metrics**: What you're measuring, direction symbols (higher/lower better)
386
+ - **Aggregation**: How results are combined across runs/tasks
387
+ - **Statistical tests**: What tests will establish significance
388
+ - **Sample sizes**: How many runs/problems/tasks
389
+
390
+ ### Step 2.4: Write Experiment Scripts
391
+
392
+ Follow these patterns from successful research pipelines:
393
+
394
+ **Incremental saving** — save results after each step for crash recovery:
395
+ ```python
396
+ # Save after each problem/task
397
+ result_path = f"results/{task}/{strategy}/result.json"
398
+ if os.path.exists(result_path):
399
+ continue # Skip already-completed work
400
+ # ... run experiment ...
401
+ with open(result_path, 'w') as f:
402
+ json.dump(result, f, indent=2)
403
+ ```
404
+
405
+ **Artifact preservation** — save all intermediate outputs:
406
+ ```
407
+ results/<experiment>/
408
+ <task>/
409
+ <strategy>/
410
+ final_output.md # Final result
411
+ history.json # Full trajectory
412
+ pass_01/ # Per-iteration artifacts
413
+ version_a.md
414
+ version_b.md
415
+ critic.md
416
+ ```
417
+
418
+ **Separation of concerns** — keep generation, evaluation, and visualization separate:
419
+ ```
420
+ run_experiment.py # Core experiment runner
421
+ run_baselines.py # Baseline comparison
422
+ run_comparison_judge.py # Blind evaluation
423
+ analyze_results.py # Statistical analysis
424
+ make_charts.py # Visualization
425
+ ```
426
+
427
+ See [references/experiment-patterns.md](references/experiment-patterns.md) for complete design patterns, cron monitoring, and error recovery.
428
+
429
+ ### Step 2.5: Design Human Evaluation (If Applicable)
430
+
431
+ Many NLP, HCI, and alignment papers require human evaluation as primary or complementary evidence. Design this before running automated experiments — human eval often has longer lead times (IRB approval, annotator recruitment).
432
+
433
+ **When human evaluation is needed:**
434
+ - Automated metrics don't capture what you care about (fluency, helpfulness, safety)
435
+ - Your contribution is about human-facing qualities (readability, preference, trust)
436
+ - Reviewers at NLP venues (ACL, EMNLP) expect it for generation tasks
437
+
438
+ **Key design decisions:**
439
+
440
+ | Decision | Options | Guidance |
441
+ |----------|---------|----------|
442
+ | **Annotator type** | Expert, crowdworker, end-user | Match to what your claims require |
443
+ | **Scale** | Likert (1-5), pairwise comparison, ranking | Pairwise is more reliable than Likert for LLM outputs |
444
+ | **Sample size** | Per annotator and total items | Power analysis or minimum 100 items, 3+ annotators |
445
+ | **Agreement metric** | Cohen's kappa, Krippendorff's alpha, ICC | Krippendorff's alpha for >2 annotators; report raw agreement too |
446
+ | **Platform** | Prolific, MTurk, internal team | Prolific for quality; MTurk for scale; internal for domain expertise |
447
+
448
+ **Annotation guideline checklist:**
449
+ ```
450
+ - [ ] Clear task description with examples (good AND bad)
451
+ - [ ] Decision criteria for ambiguous cases
452
+ - [ ] At least 2 worked examples per category
453
+ - [ ] Attention checks / gold standard items (10-15% of total)
454
+ - [ ] Qualification task or screening round
455
+ - [ ] Estimated time per item and fair compensation (>= local minimum wage)
456
+ - [ ] IRB/ethics review if required by your institution
457
+ ```
458
+
459
+ **Reporting requirements** (reviewers check all of these):
460
+ - Number of annotators and their qualifications
461
+ - Inter-annotator agreement with specific metric and value
462
+ - Compensation details (amount, estimated hourly rate)
463
+ - Annotation interface description or screenshot (appendix)
464
+ - Total annotation time
465
+
466
+ See [references/human-evaluation.md](references/human-evaluation.md) for complete guide including statistical tests for human eval data, crowdsourcing quality control patterns, and IRB guidance.
467
+
468
+ ---
469
+
470
+ ## Phase 3: Experiment Execution & Monitoring
471
+
472
+ **Goal**: Run experiments reliably, monitor progress, recover from failures.
473
+
474
+ ### Step 3.1: Launch Experiments
475
+
476
+ Use `nohup` for long-running experiments:
477
+
478
+ ```bash
479
+ nohup python run_experiment.py --config config.yaml > logs/experiment_01.log 2>&1 &
480
+ echo $! # Record the PID
481
+ ```
482
+
483
+ **Parallel execution**: Run independent experiments simultaneously, but be aware of API rate limits. 4+ concurrent experiments on the same API will slow each down.
484
+
485
+ ### Step 3.2: Set Up Monitoring (Cron Pattern)
486
+
487
+ For long-running experiments, set up periodic status checks. The cron prompt should follow this template:
488
+
489
+ ```
490
+ Monitor Prompt Template:
491
+ 1. Check if process is still running: ps aux | grep <pattern>
492
+ 2. Read last 30 lines of log: tail -30 <logfile>
493
+ 3. Check for completed results: ls <result_dir>
494
+ 4. If results exist, read and report: cat <result_file>
495
+ 5. If all done, commit: git add -A && git commit -m "<descriptive message>" && git push
496
+ 6. Report in structured format (tables with key metrics)
497
+ 7. Answer the key analytical question for this experiment
498
+ ```
499
+
500
+ **Silent mode**: If nothing has changed since the last check, respond with `[SILENT]` to suppress notification to the user. Only report when there's news.
501
+
502
+ ### Step 3.3: Handle Failures
503
+
504
+ Common failure modes and recovery:
505
+
506
+ | Failure | Detection | Recovery |
507
+ |---------|-----------|----------|
508
+ | API rate limit / credit exhaustion | 402/429 errors in logs | Wait, then re-run (scripts skip completed work) |
509
+ | Process crash | PID gone, incomplete results | Re-run from last checkpoint |
510
+ | Timeout on hard problems | Process stuck, no log progress | Kill and skip, note in results |
511
+ | Wrong model ID | Errors referencing model name | Fix ID and re-run |
512
+
513
+ **Key**: Scripts should always check for existing results and skip completed work. This makes re-runs safe and efficient.
514
+
515
+ ### Step 3.4: Commit Completed Results
516
+
517
+ After each experiment batch completes:
518
+
519
+ ```bash
520
+ git add -A
521
+ git commit -m "Add <experiment name>: <key finding in 1 line>"
522
+ git push
523
+ ```
524
+
525
+ ### Step 3.5: Maintain an Experiment Journal
526
+
527
+ Git commits track what happened, but not the **exploration tree** — the decisions about what to try next based on what you learned. Maintain a structured experiment journal that captures this tree:
528
+
529
+ ```json
530
+ // experiment_journal.jsonl — append one entry per experiment attempt
531
+ {
532
+ "id": "exp_003",
533
+ "parent": "exp_001",
534
+ "timestamp": "2025-05-10T14:30:00Z",
535
+ "hypothesis": "Adding scope constraints will fix convergence failure from exp_001",
536
+ "plan": "Re-run autoreason with max_tokens=2000 and fixed structure template",
537
+ "config": {"model": "haiku", "strategy": "autoreason", "max_tokens": 2000},
538
+ "status": "completed",
539
+ "result_path": "results/exp_003/",
540
+ "key_metrics": {"win_rate": 0.85, "convergence_rounds": 3},
541
+ "analysis": "Scope constraints fixed convergence. Win rate jumped from 0.42 to 0.85.",
542
+ "next_steps": ["Try same constraints on Sonnet", "Test without structure template"],
543
+ "figures": ["figures/exp003_convergence.pdf"]
544
+ }
545
+ ```
546
+
547
+ **Why a journal, not just git?** Git tracks file changes. The journal tracks the reasoning: why you tried X, what you learned, and what that implies for the next experiment. When writing the paper, this tree is invaluable for the Methods section ("we observed X, which motivated Y") and for honest failure reporting.
548
+
549
+ **Selecting the best path**: When the journal shows a branching tree (exp_001 → exp_002a, exp_002b, exp_003), identify the path that best supports the paper's claims. Document dead-end branches in the appendix as ablations or negative results.
550
+
551
+ **Snapshot code per experiment**: Copy the experiment script after each run:
552
+ ```bash
553
+ cp experiment.py results/exp_003/experiment_snapshot.py
554
+ ```
555
+ This enables exact reproduction even after subsequent code changes.
556
+
557
+ ---
558
+
559
+ ## Phase 4: Result Analysis
560
+
561
+ **Goal**: Extract findings, compute statistics, identify the story.
562
+
563
+ ### Step 4.1: Aggregate Results
564
+
565
+ Write analysis scripts that:
566
+ 1. Load all result files from a batch
567
+ 2. Compute per-task and aggregate metrics
568
+ 3. Generate summary tables
569
+
570
+ ```python
571
+ # Standard analysis pattern
572
+ import json, os
573
+ from pathlib import Path
574
+
575
+ results = {}
576
+ for result_file in Path("results/").rglob("result.json"):
577
+ data = json.loads(result_file.read_text())
578
+ strategy = result_file.parent.name
579
+ task = result_file.parent.parent.name
580
+ results.setdefault(strategy, {})[task] = data
581
+
582
+ # Compute aggregate metrics
583
+ for strategy, tasks in results.items():
584
+ scores = [t["score"] for t in tasks.values()]
585
+ print(f"{strategy}: mean={np.mean(scores):.1f}, std={np.std(scores):.1f}")
586
+ ```
587
+
588
+ ### Step 4.2: Statistical Significance
589
+
590
+ Always compute:
591
+ - **Error bars**: Standard deviation or standard error, specify which
592
+ - **Confidence intervals**: 95% CI for key results
593
+ - **Pairwise tests**: McNemar's test for comparing two methods
594
+ - **Effect sizes**: Cohen's d or h for practical significance
595
+
596
+ See [references/experiment-patterns.md](references/experiment-patterns.md) for complete implementations of McNemar's test, bootstrapped CIs, and Cohen's h.
597
+
598
+ ### Step 4.3: Identify the Story
599
+
600
+ After analysis, explicitly answer:
601
+ 1. **What is the main finding?** State it in one sentence.
602
+ 2. **What surprised you?** Unexpected results often make the best papers.
603
+ 3. **What failed?** Failed experiments can be the most informative. Honest reporting of failures strengthens the paper.
604
+ 4. **What follow-up experiments are needed?** Results often raise new questions.
605
+
606
+ #### Handling Negative or Null Results
607
+
608
+ When your hypothesis was wrong or results are inconclusive, you have three options:
609
+
610
+ | Situation | Action | Venue Fit |
611
+ |-----------|--------|-----------|
612
+ | Hypothesis wrong but **why** is informative | Frame paper around the analysis of why | NeurIPS, ICML (if analysis is rigorous) |
613
+ | Method doesn't beat baselines but **reveals something new** | Reframe contribution as understanding/analysis | ICLR (values understanding), workshop papers |
614
+ | Clean negative result on popular claim | Write it up — the field needs to know | NeurIPS Datasets & Benchmarks, TMLR, workshops |
615
+ | Results inconclusive, no clear story | Pivot — run different experiments or reframe | Don't force a paper that isn't there |
616
+
617
+ **How to write a negative results paper:**
618
+ - Lead with what the community believes and why it matters to test it
619
+ - Describe your rigorous methodology (must be airtight — reviewers will scrutinize harder)
620
+ - Present the null result clearly with statistical evidence
621
+ - Analyze **why** the expected result didn't materialize
622
+ - Discuss implications for the field
623
+
624
+ **Venues that explicitly welcome negative results**: NeurIPS (Datasets & Benchmarks track), TMLR, ML Reproducibility Challenge, workshops at major conferences. Some workshops specifically call for negative results.
625
+
626
+ ### Step 4.4: Create Figures and Tables
627
+
628
+ **Figures**:
629
+ - Use vector graphics (PDF) for all plots: `plt.savefig('fig.pdf')`
630
+ - Colorblind-safe palettes (Okabe-Ito or Paul Tol)
631
+ - Self-contained captions — reader should understand without main text
632
+ - No title inside figure — the caption serves this function
633
+
634
+ **Tables**:
635
+ - Use `booktabs` LaTeX package
636
+ - Bold best value per metric
637
+ - Include direction symbols (higher/lower better)
638
+ - Consistent decimal precision
639
+
640
+ ```latex
641
+ \usepackage{booktabs}
642
+ \begin{tabular}{lcc}
643
+ \toprule
644
+ Method & Accuracy $\uparrow$ & Latency $\downarrow$ \\
645
+ \midrule
646
+ Baseline & 85.2 & 45ms \\
647
+ \textbf{Ours} & \textbf{92.1} & 38ms \\
648
+ \bottomrule
649
+ \end{tabular}
650
+ ```
651
+
652
+ ### Step 4.5: Decide: More Experiments or Write?
653
+
654
+ | Situation | Action |
655
+ |-----------|--------|
656
+ | Core claims supported, results significant | Move to Phase 5 (writing) |
657
+ | Results inconclusive, need more data | Back to Phase 2 (design) |
658
+ | Unexpected finding suggests new direction | Back to Phase 2 (design) |
659
+ | Missing one ablation reviewers will ask for | Run it, then Phase 5 |
660
+ | All experiments done but some failed | Note failures, move to Phase 5 |
661
+
662
+ ### Step 4.6: Write the Experiment Log (Bridge to Writeup)
663
+
664
+ Before moving to paper writing, create a structured experiment log that bridges results to prose. This is the single most important connective tissue between experiments and the writeup — without it, the writing agent has to re-derive the story from raw result files.
665
+
666
+ **Create `experiment_log.md`** with the following structure:
667
+
668
+ ```markdown
669
+ # Experiment Log
670
+
671
+ ## Contribution (one sentence)
672
+ [The paper's main claim]
673
+
674
+ ## Experiments Run
675
+
676
+ ### Experiment 1: [Name]
677
+ - **Claim tested**: [Which paper claim this supports]
678
+ - **Setup**: [Model, dataset, config, number of runs]
679
+ - **Key result**: [One sentence with the number]
680
+ - **Result files**: results/exp1/final_info.json
681
+ - **Figures generated**: figures/exp1_comparison.pdf
682
+ - **Surprising findings**: [Anything unexpected]
683
+
684
+ ### Experiment 2: [Name]
685
+ ...
686
+
687
+ ## Figures
688
+ | Filename | Description | Which section it belongs in |
689
+ |----------|-------------|---------------------------|
690
+ | figures/main_comparison.pdf | Bar chart comparing all methods on benchmark X | Results, Figure 2 |
691
+ | figures/ablation.pdf | Ablation removing components A, B, C | Results, Figure 3 |
692
+ ...
693
+
694
+ ## Failed Experiments (document for honesty)
695
+ - [What was tried, why it failed, what it tells us]
696
+
697
+ ## Open Questions
698
+ - [Anything the results raised that the paper should address]
699
+ ```
700
+
701
+ **Why this matters**: When drafting, the agent (or a delegated sub-agent) can load `experiment_log.md` alongside the LaTeX template and produce a first draft grounded in actual results. Without this bridge, the writing agent must parse raw JSON/CSV files and infer the story — a common source of hallucinated or misreported numbers.
702
+
703
+ **Git discipline**: Commit this log alongside the results it describes.
704
+
705
+ ---
706
+
707
+ ## Iterative Refinement: Strategy Selection
708
+
709
+ Any output in this pipeline — paper drafts, experiment scripts, analysis — can be iteratively refined. The autoreason research provides empirical evidence for when each refinement strategy works and when it fails. Use this section to choose the right approach.
710
+
711
+ ### Quick Decision Table
712
+
713
+ | Your Situation | Strategy | Why |
714
+ |---------------|----------|-----|
715
+ | Mid-tier model + constrained task | **Autoreason** | Sweet spot. Generation-evaluation gap is widest. Baselines actively destroy weak model outputs. |
716
+ | Mid-tier model + open task | **Autoreason** with scope constraints added | Add fixed facts, structure, or deliverable to bound the improvement space. |
717
+ | Frontier model + constrained task | **Autoreason** | Wins 2/3 constrained tasks even at frontier. |
718
+ | Frontier model + unconstrained task | **Critique-and-revise** or **single pass** | Autoreason comes last. Model self-evaluates well enough. |
719
+ | Concrete technical task (system design) | **Critique-and-revise** | Direct find-and-fix loop is more efficient. |
720
+ | Template-filling task (one correct structure) | **Single pass** or **conservative** | Minimal decision space. Iteration adds no value. |
721
+ | Code with test cases | **Autoreason (code variant)** | Structured analysis of *why* it failed before fixing. Recovery rate 62% vs 43%. |
722
+ | Very weak model (Llama 8B class) | **Single pass** | Model too weak for diverse candidates. Invest in generation quality. |
723
+
724
+ ### The Generation-Evaluation Gap
725
+
726
+ **Core insight**: Autoreason's value depends on the gap between a model's generation capability and its self-evaluation capability.
727
+
728
+ ```
729
+ Model Tier │ Generation │ Self-Eval │ Gap │ Autoreason Value
730
+ ──────────────────┼────────────┼───────────┼────────┼─────────────────
731
+ Weak (Llama 8B) │ Poor │ Poor │ Small │ None — can't generate diverse candidates
732
+ Mid (Haiku 3.5) │ Decent │ Poor │ LARGE │ MAXIMUM — 42/42 perfect Borda
733
+ Mid (Gemini Flash)│ Decent │ Moderate │ Large │ High — wins 2/3
734
+ Strong (Sonnet 4) │ Good │ Decent │ Medium │ Moderate — wins 3/5
735
+ Frontier (S4.6) │ Excellent │ Good │ Small │ Only with constraints
736
+ ```
737
+
738
+ This gap is structural, not temporary. As costs drop, today's frontier becomes tomorrow's mid-tier. The sweet spot moves but never disappears.
739
+
740
+ ### Autoreason Loop (Summary)
741
+
742
+ Each pass produces three candidates from fresh, isolated agents:
743
+
744
+ 1. **Critic** → finds problems in incumbent A (no fixes)
745
+ 2. **Author B** → revises A based on critique
746
+ 3. **Synthesizer** → merges A and B (randomized labels)
747
+ 4. **Judge Panel** → 3 blind CoT judges rank A, B, AB via Borda count
748
+ 5. **Convergence** → A wins k=2 consecutive passes → done
749
+
750
+ **Key parameters:**
751
+ - k=2 convergence (k=1 premature, k=3 too expensive, no quality gain)
752
+ - CoT judges always (3x faster convergence)
753
+ - Temperature 0.8 authors, 0.3 judges
754
+ - Conservative tiebreak: incumbent wins ties
755
+ - Every role is a fresh agent with no shared context
756
+
757
+ ### Applying to Paper Drafts
758
+
759
+ When refining the paper itself through autoreason:
760
+ - **Provide ground truth to the critic**: actual experimental data, result JSONs, statistical outputs. Without this, models hallucinate fabricated ablation studies and fake confidence intervals.
761
+ - **Use 3 working judges minimum**: A broken judge parser doesn't add noise — it prevents equilibrium entirely.
762
+ - **Scope constrain the revision**: "Address these specific weaknesses" not "improve the paper."
763
+
764
+ ### Failure Modes
765
+
766
+ | Failure | Detection | Fix |
767
+ |---------|-----------|-----|
768
+ | No convergence (A never wins) | A wins <15% over 20+ passes | Add scope constraints to the task |
769
+ | Synthesis drift | Word counts grow unboundedly | Constrain structure and deliverable |
770
+ | Degradation below single pass | Baselines score higher than iterated output | Switch to single pass; model may be too weak |
771
+ | Overfitting (code) | High public-test pass, low private-test pass | Use structured analysis, not just test feedback |
772
+ | Broken judges | Parsing failures reduce panel below 3 | Fix parser before continuing |
773
+
774
+ See [references/autoreason-methodology.md](references/autoreason-methodology.md) for complete prompts, Borda scoring details, model selection guide, scope constraint design patterns, and compute budget reference.
775
+
776
+ ---
777
+
778
+ ## Phase 5: Paper Drafting
779
+
780
+ **Goal**: Write a complete, publication-ready paper.
781
+
782
+ ### Context Management for Large Projects
783
+
784
+ A paper project with 50+ experiment files, multiple result directories, and extensive literature notes can easily exceed the agent's context window. Manage this proactively:
785
+
786
+ **What to load into context per drafting task:**
787
+
788
+ | Drafting Task | Load Into Context | Do NOT Load |
789
+ |---------------|------------------|-------------|
790
+ | Writing Introduction | `experiment_log.md`, contribution statement, 5-10 most relevant paper abstracts | Raw result JSONs, full experiment scripts, all literature notes |
791
+ | Writing Methods | Experiment configs, pseudocode, architecture description | Raw logs, results from other experiments |
792
+ | Writing Results | `experiment_log.md`, result summary tables, figure list | Full analysis scripts, intermediate data |
793
+ | Writing Related Work | Organized citation notes (Step 1.4 output), .bib file | Experiment files, raw PDFs |
794
+ | Revision pass | Full paper draft, specific reviewer concerns | Everything else |
795
+
796
+ **Principles:**
797
+ - **`experiment_log.md` is the primary context bridge** — it summarizes everything needed for writing without loading raw data files (see Step 4.6)
798
+ - **Load one section's context at a time** when delegating. A sub-agent drafting Methods doesn't need the literature review notes.
799
+ - **Summarize, don't include raw files.** For a 200-line result JSON, load a 10-line summary table. For a 50-page related paper, load the 5-sentence abstract + your 2-line note about its relevance.
800
+ - **For very large projects**: Create a `context/` directory with pre-compressed summaries:
801
+ ```
802
+ context/
803
+ contribution.md # 1 sentence
804
+ experiment_summary.md # Key results table (from experiment_log.md)
805
+ literature_map.md # Organized citation notes
806
+ figure_inventory.md # List of figures with descriptions
807
+ ```
808
+
809
+ ### The Narrative Principle
810
+
811
+ **The single most critical insight**: Your paper is not a collection of experiments — it's a story with one clear contribution supported by evidence.
812
+
813
+ Every successful ML paper centers on what Neel Nanda calls "the narrative": a short, rigorous, evidence-based technical story with a takeaway readers care about.
814
+
815
+ **Three Pillars (must be crystal clear by end of introduction):**
816
+
817
+ | Pillar | Description | Test |
818
+ |--------|-------------|------|
819
+ | **The What** | 1-3 specific novel claims | Can you state them in one sentence? |
820
+ | **The Why** | Rigorous empirical evidence | Do experiments distinguish your hypothesis from alternatives? |
821
+ | **The So What** | Why readers should care | Does this connect to a recognized community problem? |
822
+
823
+ **If you cannot state your contribution in one sentence, you don't yet have a paper.**
824
+
825
+ ### The Sources Behind This Guidance
826
+
827
+ This skill synthesizes writing philosophy from researchers who have published extensively at top venues. The writing philosophy layer was originally compiled by [Orchestra Research](https://github.com/orchestra-research) as the `ml-paper-writing` skill.
828
+
829
+ | Source | Key Contribution | Link |
830
+ |--------|-----------------|------|
831
+ | **Neel Nanda** (Google DeepMind) | The Narrative Principle, What/Why/So What framework | [How to Write ML Papers](https://www.alignmentforum.org/posts/eJGptPbbFPZGLpjsp/highly-opinionated-advice-on-how-to-write-ml-papers) |
832
+ | **Sebastian Farquhar** (DeepMind) | 5-sentence abstract formula | [How to Write ML Papers](https://sebastianfarquhar.com/on-research/2024/11/04/how_to_write_ml_papers/) |
833
+ | **Gopen & Swan** | 7 principles of reader expectations | [Science of Scientific Writing](https://cseweb.ucsd.edu/~swanson/papers/science-of-writing.pdf) |
834
+ | **Zachary Lipton** | Word choice, eliminating hedging | [Heuristics for Scientific Writing](https://www.approximatelycorrect.com/2018/01/29/heuristics-technical-scientific-writing-machine-learning-perspective/) |
835
+ | **Jacob Steinhardt** (UC Berkeley) | Precision, consistent terminology | [Writing Tips](https://bounded-regret.ghost.io/) |
836
+ | **Ethan Perez** (Anthropic) | Micro-level clarity tips | [Easy Paper Writing Tips](https://ethanperez.net/easy-paper-writing-tips/) |
837
+ | **Andrej Karpathy** | Single contribution focus | Various lectures |
838
+
839
+ **For deeper dives into any of these, see:**
840
+ - [references/writing-guide.md](references/writing-guide.md) — Full explanations with examples
841
+ - [references/sources.md](references/sources.md) — Complete bibliography
842
+
843
+ ### Time Allocation
844
+
845
+ Spend approximately **equal time** on each of:
846
+ 1. The abstract
847
+ 2. The introduction
848
+ 3. The figures
849
+ 4. Everything else combined
850
+
851
+ **Why?** Most reviewers form judgments before reaching your methods. Readers encounter your paper as: title → abstract → introduction → figures → maybe the rest.
852
+
853
+ ### Writing Workflow
854
+
855
+ ```
856
+ Paper Writing Checklist:
857
+ - [ ] Step 1: Define the one-sentence contribution
858
+ - [ ] Step 2: Draft Figure 1 (core idea or most compelling result)
859
+ - [ ] Step 3: Draft abstract (5-sentence formula)
860
+ - [ ] Step 4: Draft introduction (1-1.5 pages max)
861
+ - [ ] Step 5: Draft methods
862
+ - [ ] Step 6: Draft experiments & results
863
+ - [ ] Step 7: Draft related work
864
+ - [ ] Step 8: Draft conclusion & discussion
865
+ - [ ] Step 9: Draft limitations (REQUIRED by all venues)
866
+ - [ ] Step 10: Plan appendix (proofs, extra experiments, details)
867
+ - [ ] Step 11: Complete paper checklist
868
+ - [ ] Step 12: Final review
869
+ ```
870
+
871
+ ### Two-Pass Refinement Pattern
872
+
873
+ When drafting with an AI agent, use a **two-pass** approach (proven effective in SakanaAI's AI-Scientist pipeline):
874
+
875
+ **Pass 1 — Write + immediate refine per section:**
876
+ For each section, write a complete draft, then immediately refine it in the same context. This catches local issues (clarity, flow, completeness) while the section is fresh.
877
+
878
+ **Pass 2 — Global refinement with full-paper context:**
879
+ After all sections are drafted, revisit each section with awareness of the complete paper. This catches cross-section issues: redundancy, inconsistent terminology, narrative flow, and gaps where one section promises something another doesn't deliver.
880
+
881
+ ```
882
+ Second-pass refinement prompt (per section):
883
+ "Review the [SECTION] in the context of the complete paper.
884
+ - Does it fit with the rest of the paper? Are there redundancies with other sections?
885
+ - Is terminology consistent with Introduction and Methods?
886
+ - Can anything be cut without weakening the message?
887
+ - Does the narrative flow from the previous section and into the next?
888
+ Make minimal, targeted edits. Do not rewrite from scratch."
889
+ ```
890
+
891
+ ### LaTeX Error Checklist
892
+
893
+ Append this checklist to every refinement prompt. These are the most common errors when LLMs write LaTeX:
894
+
895
+ ```
896
+ LaTeX Quality Checklist (verify after every edit):
897
+ - [ ] No unenclosed math symbols ($ signs balanced)
898
+ - [ ] Only reference figures/tables that exist (\ref matches \label)
899
+ - [ ] No fabricated citations (\cite matches entries in .bib)
900
+ - [ ] Every \begin{env} has matching \end{env} (especially figure, table, algorithm)
901
+ - [ ] No HTML contamination (</end{figure}> instead of \end{figure})
902
+ - [ ] No unescaped underscores outside math mode (use \_ in text)
903
+ - [ ] No duplicate \label definitions
904
+ - [ ] No duplicate section headers
905
+ - [ ] Numbers in text match actual experimental results
906
+ - [ ] All figures have captions and labels
907
+ - [ ] No overly long lines that cause overfull hbox warnings
908
+ ```
909
+
910
+ ### Step 5.0: Title
911
+
912
+ The title is the single most-read element of the paper. It determines whether anyone clicks through to the abstract.
913
+
914
+ **Good titles**:
915
+ - State the contribution or finding: "Autoreason: When Iterative LLM Refinement Works and Why It Fails"
916
+ - Highlight a surprising result: "Scaling Data-Constrained Language Models" (implies you can)
917
+ - Name the method + what it does: "DPO: Direct Preference Optimization of Language Models"
918
+
919
+ **Bad titles**:
920
+ - Too generic: "An Approach to Improving Language Model Outputs"
921
+ - Too long: anything over ~15 words
922
+ - Jargon-only: "Asymptotic Convergence of Iterative Stochastic Policy Refinement" (who is this for?)
923
+
924
+ **Rules**:
925
+ - Include your method name if you have one (for citability)
926
+ - Include 1-2 keywords reviewers will search for
927
+ - Avoid colons unless both halves carry meaning
928
+ - Test: would a reviewer know the domain and contribution from the title alone?
929
+
930
+ ### Step 5.1: Abstract (5-Sentence Formula)
931
+
932
+ From Sebastian Farquhar (DeepMind):
933
+
934
+ ```
935
+ 1. What you achieved: "We introduce...", "We prove...", "We demonstrate..."
936
+ 2. Why this is hard and important
937
+ 3. How you do it (with specialist keywords for discoverability)
938
+ 4. What evidence you have
939
+ 5. Your most remarkable number/result
940
+ ```
941
+
942
+ **Delete** generic openings like "Large language models have achieved remarkable success..."
943
+
944
+ ### Step 5.2: Figure 1
945
+
946
+ Figure 1 is the second thing most readers look at (after abstract). Draft it before writing the introduction — it forces you to clarify the core idea.
947
+
948
+ | Figure 1 Type | When to Use | Example |
949
+ |---------------|-------------|---------|
950
+ | **Method diagram** | New architecture or pipeline | TikZ flowchart showing your system |
951
+ | **Results teaser** | One compelling result tells the whole story | Bar chart: "Ours vs baselines" with clear gap |
952
+ | **Problem illustration** | The problem is unintuitive | Before/after showing failure mode you fix |
953
+ | **Conceptual diagram** | Abstract contribution needs visual grounding | 2x2 matrix of method properties |
954
+
955
+ **Rules**: Figure 1 must be understandable without reading any text. The caption alone should communicate the core idea. Use color purposefully — don't just decorate.
956
+
957
+ ### Step 5.3: Introduction (1-1.5 pages max)
958
+
959
+ Must include:
960
+ - Clear problem statement
961
+ - Brief approach overview
962
+ - 2-4 bullet contribution list (max 1-2 lines each in two-column format)
963
+ - Methods should start by page 2-3
964
+
965
+ ### Step 5.4: Methods
966
+
967
+ Enable reimplementation:
968
+ - Conceptual outline or pseudocode
969
+ - All hyperparameters listed
970
+ - Architectural details sufficient for reproduction
971
+ - Present final design decisions; ablations go in experiments
972
+
973
+ ### Step 5.5: Experiments & Results
974
+
975
+ For each experiment, explicitly state:
976
+ - **What claim it supports**
977
+ - How it connects to main contribution
978
+ - What to observe: "the blue line shows X, which demonstrates Y"
979
+
980
+ Requirements:
981
+ - Error bars with methodology (std dev vs std error)
982
+ - Hyperparameter search ranges
983
+ - Compute infrastructure (GPU type, total hours)
984
+ - Seed-setting methods
985
+
986
+ ### Step 5.6: Related Work
987
+
988
+ Organize methodologically, not paper-by-paper. Cite generously — reviewers likely authored relevant papers.
989
+
990
+ ### Step 5.7: Limitations (REQUIRED)
991
+
992
+ All major conferences require this. Honesty helps:
993
+ - Reviewers are instructed not to penalize honest limitation acknowledgment
994
+ - Pre-empt criticisms by identifying weaknesses first
995
+ - Explain why limitations don't undermine core claims
996
+
997
+ ### Step 5.8: Conclusion & Discussion
998
+
999
+ **Conclusion** (required, 0.5-1 page):
1000
+ - Restate the contribution in one sentence (different wording from abstract)
1001
+ - Summarize key findings (2-3 sentences, not a list)
1002
+ - Implications: what does this mean for the field?
1003
+ - Future work: 2-3 concrete next steps (not vague "we leave X for future work")
1004
+
1005
+ **Discussion** (optional, sometimes combined with conclusion):
1006
+ - Broader implications beyond immediate results
1007
+ - Connections to other subfields
1008
+ - Honest assessment of when the method does and doesn't work
1009
+ - Practical deployment considerations
1010
+
1011
+ **Do NOT** introduce new results or claims in the conclusion.
1012
+
1013
+ ### Step 5.9: Appendix Strategy
1014
+
1015
+ Appendices are unlimited at all major venues and are essential for reproducibility. Structure:
1016
+
1017
+ | Appendix Section | What Goes Here |
1018
+ |-----------------|---------------|
1019
+ | **Proofs & Derivations** | Full proofs too long for main text. Main text can state theorems with "proof in Appendix A." |
1020
+ | **Additional Experiments** | Ablations, scaling curves, per-dataset breakdowns, hyperparameter sensitivity |
1021
+ | **Implementation Details** | Full hyperparameter tables, training details, hardware specs, random seeds |
1022
+ | **Dataset Documentation** | Data collection process, annotation guidelines, licensing, preprocessing |
1023
+ | **Prompts & Templates** | Exact prompts used (for LLM-based methods), evaluation templates |
1024
+ | **Human Evaluation** | Annotation interface screenshots, instructions given to annotators, IRB details |
1025
+ | **Additional Figures** | Per-task breakdowns, trajectory visualizations, failure case examples |
1026
+
1027
+ **Rules**:
1028
+ - The main paper must be self-contained — reviewers are not required to read appendices
1029
+ - Never put critical evidence only in the appendix
1030
+ - Cross-reference: "Full results in Table 5 (Appendix B)" not just "see appendix"
1031
+ - Use `\appendix` command, then `\section{A: Proofs}` etc.
1032
+
1033
+ ### Page Budget Management
1034
+
1035
+ When over the page limit:
1036
+
1037
+ | Cut Strategy | Saves | Risk |
1038
+ |-------------|-------|------|
1039
+ | Move proofs to appendix | 0.5-2 pages | Low — standard practice |
1040
+ | Condense related work | 0.5-1 page | Medium — may miss key citations |
1041
+ | Combine tables with subfigures | 0.25-0.5 page | Low — often improves readability |
1042
+ | Use `\vspace{-Xpt}` sparingly | 0.1-0.3 page | Low if subtle, high if obvious |
1043
+ | Remove qualitative examples | 0.5-1 page | Medium — reviewers like examples |
1044
+ | Reduce figure sizes | 0.25-0.5 page | High — figures must remain readable |
1045
+
1046
+ **Do NOT**: reduce font size, change margins, remove required sections (limitations, broader impact), or use `\small`/`\footnotesize` for main text.
1047
+
1048
+ ### Step 5.10: Ethics & Broader Impact Statement
1049
+
1050
+ Most venues now require or strongly encourage an ethics/broader impact statement. This is not boilerplate — reviewers read it and can flag ethics concerns that trigger desk rejection.
1051
+
1052
+ **What to include:**
1053
+
1054
+ | Component | Content | Required By |
1055
+ |-----------|---------|-------------|
1056
+ | **Positive societal impact** | How your work benefits society | NeurIPS, ICML |
1057
+ | **Potential negative impact** | Misuse risks, dual-use concerns, failure modes | NeurIPS, ICML |
1058
+ | **Fairness & bias** | Does your method/data have known biases? | All venues (implicitly) |
1059
+ | **Environmental impact** | Compute carbon footprint for large-scale training | ICML, increasingly NeurIPS |
1060
+ | **Privacy** | Does your work use or enable processing of personal data? | ACL, NeurIPS |
1061
+ | **LLM disclosure** | Was AI used in writing or experiments? | ICLR (mandatory), ACL |
1062
+
1063
+ **Writing the statement:**
1064
+
1065
+ ```latex
1066
+ \section*{Broader Impact Statement}
1067
+ % NeurIPS/ICML: after conclusion, does not count toward page limit
1068
+
1069
+ % 1. Positive applications (1-2 sentences)
1070
+ This work enables [specific application] which may benefit [specific group].
1071
+
1072
+ % 2. Risks and mitigations (1-3 sentences, be specific)
1073
+ [Method/model] could potentially be misused for [specific risk]. We mitigate
1074
+ this by [specific mitigation, e.g., releasing only model weights above size X,
1075
+ including safety filters, documenting failure modes].
1076
+
1077
+ % 3. Limitations of impact claims (1 sentence)
1078
+ Our evaluation is limited to [specific domain]; broader deployment would
1079
+ require [specific additional work].
1080
+ ```
1081
+
1082
+ **Common mistakes:**
1083
+ - Writing "we foresee no negative impacts" (almost never true — reviewers distrust this)
1084
+ - Being vague: "this could be misused" without specifying how
1085
+ - Ignoring compute costs for large-scale work
1086
+ - Forgetting to disclose LLM use at venues that require it
1087
+
1088
+ **Compute carbon footprint** (for training-heavy papers):
1089
+ ```python
1090
+ # Estimate using ML CO2 Impact tool methodology
1091
+ gpu_hours = 1000 # total GPU hours
1092
+ gpu_tdp_watts = 400 # e.g., A100 = 400W
1093
+ pue = 1.1 # Power Usage Effectiveness (data center overhead)
1094
+ carbon_intensity = 0.429 # kg CO2/kWh (US average; varies by region)
1095
+
1096
+ energy_kwh = (gpu_hours * gpu_tdp_watts * pue) / 1000
1097
+ carbon_kg = energy_kwh * carbon_intensity
1098
+ print(f"Energy: {energy_kwh:.0f} kWh, Carbon: {carbon_kg:.0f} kg CO2eq")
1099
+ ```
1100
+
1101
+ ### Step 5.11: Datasheets & Model Cards (If Applicable)
1102
+
1103
+ If your paper introduces a **new dataset** or **releases a model**, include structured documentation. Reviewers increasingly expect this, and NeurIPS Datasets & Benchmarks track requires it.
1104
+
1105
+ **Datasheets for Datasets** (Gebru et al., 2021) — include in appendix:
1106
+
1107
+ ```
1108
+ Dataset Documentation (Appendix):
1109
+ - Motivation: Why was this dataset created? What task does it support?
1110
+ - Composition: What are the instances? How many? What data types?
1111
+ - Collection: How was data collected? What was the source?
1112
+ - Preprocessing: What cleaning/filtering was applied?
1113
+ - Distribution: How is the dataset distributed? Under what license?
1114
+ - Maintenance: Who maintains it? How to report issues?
1115
+ - Ethical considerations: Contains personal data? Consent obtained?
1116
+ Potential for harm? Known biases?
1117
+ ```
1118
+
1119
+ **Model Cards** (Mitchell et al., 2019) — include in appendix for model releases:
1120
+
1121
+ ```
1122
+ Model Card (Appendix):
1123
+ - Model details: Architecture, training data, training procedure
1124
+ - Intended use: Primary use cases, out-of-scope uses
1125
+ - Metrics: Evaluation metrics and results on benchmarks
1126
+ - Ethical considerations: Known biases, fairness evaluations
1127
+ - Limitations: Known failure modes, domains where model underperforms
1128
+ ```
1129
+
1130
+ ### Writing Style
1131
+
1132
+ **Sentence-level clarity (Gopen & Swan's 7 Principles):**
1133
+
1134
+ | Principle | Rule |
1135
+ |-----------|------|
1136
+ | Subject-verb proximity | Keep subject and verb close |
1137
+ | Stress position | Place emphasis at sentence ends |
1138
+ | Topic position | Put context first, new info after |
1139
+ | Old before new | Familiar info → unfamiliar info |
1140
+ | One unit, one function | Each paragraph makes one point |
1141
+ | Action in verb | Use verbs, not nominalizations |
1142
+ | Context before new | Set stage before presenting |
1143
+
1144
+ **Word choice (Lipton, Steinhardt):**
1145
+ - Be specific: "accuracy" not "performance"
1146
+ - Eliminate hedging: drop "may" unless genuinely uncertain
1147
+ - Consistent terminology throughout
1148
+ - Avoid incremental vocabulary: "develop", not "combine"
1149
+
1150
+ **Full writing guide with examples**: See [references/writing-guide.md](references/writing-guide.md)
1151
+
1152
+ ### Using LaTeX Templates
1153
+
1154
+ **Always copy the entire template directory first, then write within it.**
1155
+
1156
+ ```
1157
+ Template Setup Checklist:
1158
+ - [ ] Step 1: Copy entire template directory to new project
1159
+ - [ ] Step 2: Verify template compiles as-is (before any changes)
1160
+ - [ ] Step 3: Read the template's example content to understand structure
1161
+ - [ ] Step 4: Replace example content section by section
1162
+ - [ ] Step 5: Use template macros (check preamble for \newcommand definitions)
1163
+ - [ ] Step 6: Clean up template artifacts only at the end
1164
+ ```
1165
+
1166
+ **Step 1: Copy the Full Template**
1167
+
1168
+ ```bash
1169
+ cp -r templates/neurips2025/ ~/papers/my-paper/
1170
+ cd ~/papers/my-paper/
1171
+ ls -la # Should see: main.tex, neurips.sty, Makefile, etc.
1172
+ ```
1173
+
1174
+ Copy the ENTIRE directory, not just the .tex file. Templates include style files (.sty), bibliography styles (.bst), example content, and Makefiles.
1175
+
1176
+ **Step 2: Verify Template Compiles First**
1177
+
1178
+ Before making ANY changes:
1179
+ ```bash
1180
+ latexmk -pdf main.tex
1181
+ # Or manual: pdflatex main.tex && bibtex main && pdflatex main.tex && pdflatex main.tex
1182
+ ```
1183
+
1184
+ If the unmodified template doesn't compile, fix that first (usually missing TeX packages — install via `tlmgr install <package>`).
1185
+
1186
+ **Step 3: Keep Template Content as Reference**
1187
+
1188
+ Don't immediately delete example content. Comment it out and use as formatting reference:
1189
+ ```latex
1190
+ % Template example (keep for reference):
1191
+ % \begin{figure}[t]
1192
+ % \centering
1193
+ % \includegraphics[width=0.8\linewidth]{example-image}
1194
+ % \caption{Template shows caption style}
1195
+ % \end{figure}
1196
+
1197
+ % Your actual figure:
1198
+ \begin{figure}[t]
1199
+ \centering
1200
+ \includegraphics[width=0.8\linewidth]{your-figure.pdf}
1201
+ \caption{Your caption following the same style.}
1202
+ \end{figure}
1203
+ ```
1204
+
1205
+ **Step 4: Replace Content Section by Section**
1206
+
1207
+ Work through systematically: title/authors → abstract → introduction → methods → experiments → related work → conclusion → references → appendix. Compile after each section.
1208
+
1209
+ **Step 5: Use Template Macros**
1210
+
1211
+ ```latex
1212
+ \newcommand{\method}{YourMethodName} % Consistent method naming
1213
+ \newcommand{\eg}{e.g.,\xspace} % Proper abbreviations
1214
+ \newcommand{\ie}{i.e.,\xspace}
1215
+ ```
1216
+
1217
+ ### Template Pitfalls
1218
+
1219
+ | Pitfall | Problem | Solution |
1220
+ |---------|---------|----------|
1221
+ | Copying only `.tex` file | Missing `.sty`, won't compile | Copy entire directory |
1222
+ | Modifying `.sty` files | Breaks conference formatting | Never edit style files |
1223
+ | Adding random packages | Conflicts, breaks template | Only add if necessary |
1224
+ | Deleting template content early | Lose formatting reference | Keep as comments until done |
1225
+ | Not compiling frequently | Errors accumulate | Compile after each section |
1226
+ | Raster PNGs for figures | Blurry in paper | Always use vector PDF via `savefig('fig.pdf')` |
1227
+
1228
+ ### Quick Template Reference
1229
+
1230
+ | Conference | Main File | Style File | Page Limit |
1231
+ |------------|-----------|------------|------------|
1232
+ | NeurIPS 2025 | `main.tex` | `neurips.sty` | 9 pages |
1233
+ | ICML 2026 | `example_paper.tex` | `icml2026.sty` | 8 pages |
1234
+ | ICLR 2026 | `iclr2026_conference.tex` | `iclr2026_conference.sty` | 9 pages |
1235
+ | ACL 2025 | `acl_latex.tex` | `acl.sty` | 8 pages (long) |
1236
+ | AAAI 2026 | `aaai2026-unified-template.tex` | `aaai2026.sty` | 7 pages |
1237
+ | COLM 2025 | `colm2025_conference.tex` | `colm2025_conference.sty` | 9 pages |
1238
+
1239
+ **Universal**: Double-blind, references don't count, appendices unlimited, LaTeX required.
1240
+
1241
+ Templates in `templates/` directory. See [templates/README.md](templates/README.md) for compilation setup (VS Code, CLI, Overleaf, other IDEs).
1242
+
1243
+ ### Tables and Figures
1244
+
1245
+ **Tables** — use `booktabs` for professional formatting:
1246
+
1247
+ ```latex
1248
+ \usepackage{booktabs}
1249
+ \begin{tabular}{lcc}
1250
+ \toprule
1251
+ Method & Accuracy $\uparrow$ & Latency $\downarrow$ \\
1252
+ \midrule
1253
+ Baseline & 85.2 & 45ms \\
1254
+ \textbf{Ours} & \textbf{92.1} & 38ms \\
1255
+ \bottomrule
1256
+ \end{tabular}
1257
+ ```
1258
+
1259
+ Rules:
1260
+ - Bold best value per metric
1261
+ - Include direction symbols ($\uparrow$ higher better, $\downarrow$ lower better)
1262
+ - Right-align numerical columns
1263
+ - Consistent decimal precision
1264
+
1265
+ **Figures**:
1266
+ - **Vector graphics** (PDF, EPS) for all plots and diagrams — `plt.savefig('fig.pdf')`
1267
+ - **Raster** (PNG 600 DPI) only for photographs
1268
+ - **Colorblind-safe palettes** (Okabe-Ito or Paul Tol)
1269
+ - Verify **grayscale readability** (8% of men have color vision deficiency)
1270
+ - **No title inside figure** — the caption serves this function
1271
+ - **Self-contained captions** — reader should understand without main text
1272
+
1273
+ ### Conference Resubmission
1274
+
1275
+ For converting between venues, see Phase 7 (Submission Preparation) — it covers the full conversion workflow, page-change table, and post-rejection guidance.
1276
+
1277
+ ### Professional LaTeX Preamble
1278
+
1279
+ Add these packages to any paper for professional quality. They are compatible with all major conference style files:
1280
+
1281
+ ```latex
1282
+ % --- Professional Packages (add after conference style file) ---
1283
+
1284
+ % Typography
1285
+ \usepackage{microtype} % Microtypographic improvements (protrusion, expansion)
1286
+ % Makes text noticeably more polished — always include
1287
+
1288
+ % Tables
1289
+ \usepackage{booktabs} % Professional table rules (\toprule, \midrule, \bottomrule)
1290
+ \usepackage{siunitx} % Consistent number formatting, decimal alignment
1291
+ % Usage: \num{12345} → 12,345; \SI{3.5}{GHz} → 3.5 GHz
1292
+ % Table alignment: S column type for decimal-aligned numbers
1293
+
1294
+ % Figures
1295
+ \usepackage{graphicx} % Include graphics (\includegraphics)
1296
+ \usepackage{subcaption} % Subfigures with (a), (b), (c) labels
1297
+ % Usage: \begin{subfigure}{0.48\textwidth} ... \end{subfigure}
1298
+
1299
+ % Diagrams and Algorithms
1300
+ \usepackage{tikz} % Programmable vector diagrams
1301
+ \usetikzlibrary{arrows.meta, positioning, shapes.geometric, calc, fit, backgrounds}
1302
+ \usepackage[ruled,vlined]{algorithm2e} % Professional pseudocode
1303
+ % Alternative: \usepackage{algorithmicx} if template bundles it
1304
+
1305
+ % Cross-references
1306
+ \usepackage{cleveref} % Smart references: \cref{fig:x} → "Figure 1"
1307
+ % MUST be loaded AFTER hyperref
1308
+ % Handles: figures, tables, sections, equations, algorithms
1309
+
1310
+ % Math (usually included by conference .sty, but verify)
1311
+ \usepackage{amsmath,amssymb} % AMS math environments and symbols
1312
+ \usepackage{mathtools} % Extends amsmath (dcases, coloneqq, etc.)
1313
+
1314
+ % Colors (for figures and diagrams)
1315
+ \usepackage{xcolor} % Color management
1316
+ % Okabe-Ito colorblind-safe palette:
1317
+ \definecolor{okblue}{HTML}{0072B2}
1318
+ \definecolor{okorange}{HTML}{E69F00}
1319
+ \definecolor{okgreen}{HTML}{009E73}
1320
+ \definecolor{okred}{HTML}{D55E00}
1321
+ \definecolor{okpurple}{HTML}{CC79A7}
1322
+ \definecolor{okcyan}{HTML}{56B4E9}
1323
+ \definecolor{okyellow}{HTML}{F0E442}
1324
+ ```
1325
+
1326
+ **Notes:**
1327
+ - `microtype` is the single highest-impact package for visual quality. It adjusts character spacing at a sub-pixel level. Always include it.
1328
+ - `siunitx` handles decimal alignment in tables via the `S` column type — eliminates manual spacing.
1329
+ - `cleveref` must be loaded **after** `hyperref`. Most conference .sty files load hyperref, so put cleveref last.
1330
+ - Check if the conference template already loads any of these (especially `algorithm`, `amsmath`, `graphicx`). Don't double-load.
1331
+
1332
+ ### siunitx Table Alignment
1333
+
1334
+ `siunitx` makes number-heavy tables significantly more readable:
1335
+
1336
+ ```latex
1337
+ \begin{tabular}{l S[table-format=2.1] S[table-format=2.1] S[table-format=2.1]}
1338
+ \toprule
1339
+ Method & {Accuracy $\uparrow$} & {F1 $\uparrow$} & {Latency (ms) $\downarrow$} \\
1340
+ \midrule
1341
+ Baseline & 85.2 & 83.7 & 45.3 \\
1342
+ Ablation (no X) & 87.1 & 85.4 & 42.1 \\
1343
+ \textbf{Ours} & \textbf{92.1} & \textbf{90.8} & \textbf{38.7} \\
1344
+ \bottomrule
1345
+ \end{tabular}
1346
+ ```
1347
+
1348
+ The `S` column type auto-aligns on the decimal point. Headers in `{}` escape the alignment.
1349
+
1350
+ ### Subfigures
1351
+
1352
+ Standard pattern for side-by-side figures:
1353
+
1354
+ ```latex
1355
+ \begin{figure}[t]
1356
+ \centering
1357
+ \begin{subfigure}[b]{0.48\textwidth}
1358
+ \centering
1359
+ \includegraphics[width=\textwidth]{fig_results_a.pdf}
1360
+ \caption{Results on Dataset A.}
1361
+ \label{fig:results-a}
1362
+ \end{subfigure}
1363
+ \hfill
1364
+ \begin{subfigure}[b]{0.48\textwidth}
1365
+ \centering
1366
+ \includegraphics[width=\textwidth]{fig_results_b.pdf}
1367
+ \caption{Results on Dataset B.}
1368
+ \label{fig:results-b}
1369
+ \end{subfigure}
1370
+ \caption{Comparison of our method across two datasets. (a) shows the scaling
1371
+ behavior and (b) shows the ablation results. Both use 5 random seeds.}
1372
+ \label{fig:results}
1373
+ \end{figure}
1374
+ ```
1375
+
1376
+ Use `\cref{fig:results}` → "Figure 1", `\cref{fig:results-a}` → "Figure 1a".
1377
+
1378
+ ### Pseudocode with algorithm2e
1379
+
1380
+ ```latex
1381
+ \begin{algorithm}[t]
1382
+ \caption{Iterative Refinement with Judge Panel}
1383
+ \label{alg:method}
1384
+ \KwIn{Task $T$, model $M$, judges $J_1 \ldots J_n$, convergence threshold $k$}
1385
+ \KwOut{Final output $A^*$}
1386
+ $A \gets M(T)$ \tcp*{Initial generation}
1387
+ $\text{streak} \gets 0$\;
1388
+ \While{$\text{streak} < k$}{
1389
+ $C \gets \text{Critic}(A, T)$ \tcp*{Identify weaknesses}
1390
+ $B \gets M(T, C)$ \tcp*{Revised version addressing critique}
1391
+ $AB \gets \text{Synthesize}(A, B)$ \tcp*{Merge best elements}
1392
+ \ForEach{judge $J_i$}{
1393
+ $\text{rank}_i \gets J_i(\text{shuffle}(A, B, AB))$ \tcp*{Blind ranking}
1394
+ }
1395
+ $\text{winner} \gets \text{BordaCount}(\text{ranks})$\;
1396
+ \eIf{$\text{winner} = A$}{
1397
+ $\text{streak} \gets \text{streak} + 1$\;
1398
+ }{
1399
+ $A \gets \text{winner}$; $\text{streak} \gets 0$\;
1400
+ }
1401
+ }
1402
+ \Return{$A$}\;
1403
+ \end{algorithm}
1404
+ ```
1405
+
1406
+ ### TikZ Diagram Patterns
1407
+
1408
+ TikZ is the standard for method diagrams in ML papers. Common patterns:
1409
+
1410
+ **Pipeline/Flow Diagram** (most common in ML papers):
1411
+
1412
+ ```latex
1413
+ \begin{figure}[t]
1414
+ \centering
1415
+ \begin{tikzpicture}[
1416
+ node distance=1.8cm,
1417
+ box/.style={rectangle, draw, rounded corners, minimum height=1cm,
1418
+ minimum width=2cm, align=center, font=\small},
1419
+ arrow/.style={-{Stealth[length=3mm]}, thick},
1420
+ ]
1421
+ \node[box, fill=okcyan!20] (input) {Input\\$x$};
1422
+ \node[box, fill=okblue!20, right of=input] (encoder) {Encoder\\$f_\theta$};
1423
+ \node[box, fill=okgreen!20, right of=encoder] (latent) {Latent\\$z$};
1424
+ \node[box, fill=okorange!20, right of=latent] (decoder) {Decoder\\$g_\phi$};
1425
+ \node[box, fill=okred!20, right of=decoder] (output) {Output\\$\hat{x}$};
1426
+
1427
+ \draw[arrow] (input) -- (encoder);
1428
+ \draw[arrow] (encoder) -- (latent);
1429
+ \draw[arrow] (latent) -- (decoder);
1430
+ \draw[arrow] (decoder) -- (output);
1431
+ \end{tikzpicture}
1432
+ \caption{Architecture overview. The encoder maps input $x$ to latent
1433
+ representation $z$, which the decoder reconstructs.}
1434
+ \label{fig:architecture}
1435
+ \end{figure}
1436
+ ```
1437
+
1438
+ **Comparison/Matrix Diagram** (for showing method variants):
1439
+
1440
+ ```latex
1441
+ \begin{tikzpicture}[
1442
+ cell/.style={rectangle, draw, minimum width=2.5cm, minimum height=1cm,
1443
+ align=center, font=\small},
1444
+ header/.style={cell, fill=gray!20, font=\small\bfseries},
1445
+ ]
1446
+ % Headers
1447
+ \node[header] at (0, 0) {Method};
1448
+ \node[header] at (3, 0) {Converges?};
1449
+ \node[header] at (6, 0) {Quality?};
1450
+ % Rows
1451
+ \node[cell] at (0, -1) {Single Pass};
1452
+ \node[cell, fill=okgreen!15] at (3, -1) {N/A};
1453
+ \node[cell, fill=okorange!15] at (6, -1) {Baseline};
1454
+ \node[cell] at (0, -2) {Critique+Revise};
1455
+ \node[cell, fill=okred!15] at (3, -2) {No};
1456
+ \node[cell, fill=okred!15] at (6, -2) {Degrades};
1457
+ \node[cell] at (0, -3) {Ours};
1458
+ \node[cell, fill=okgreen!15] at (3, -3) {Yes ($k$=2)};
1459
+ \node[cell, fill=okgreen!15] at (6, -3) {Improves};
1460
+ \end{tikzpicture}
1461
+ ```
1462
+
1463
+ **Iterative Loop Diagram** (for methods with feedback):
1464
+
1465
+ ```latex
1466
+ \begin{tikzpicture}[
1467
+ node distance=2cm,
1468
+ box/.style={rectangle, draw, rounded corners, minimum height=0.8cm,
1469
+ minimum width=1.8cm, align=center, font=\small},
1470
+ arrow/.style={-{Stealth[length=3mm]}, thick},
1471
+ label/.style={font=\scriptsize, midway, above},
1472
+ ]
1473
+ \node[box, fill=okblue!20] (gen) {Generator};
1474
+ \node[box, fill=okred!20, right=2.5cm of gen] (critic) {Critic};
1475
+ \node[box, fill=okgreen!20, below=1.5cm of $(gen)!0.5!(critic)$] (judge) {Judge Panel};
1476
+
1477
+ \draw[arrow] (gen) -- node[label] {output $A$} (critic);
1478
+ \draw[arrow] (critic) -- node[label, right] {critique $C$} (judge);
1479
+ \draw[arrow] (judge) -| node[label, left, pos=0.3] {winner} (gen);
1480
+ \end{tikzpicture}
1481
+ ```
1482
+
1483
+ ### latexdiff for Revision Tracking
1484
+
1485
+ Essential for rebuttals — generates a marked-up PDF showing changes between versions:
1486
+
1487
+ ```bash
1488
+ # Install
1489
+ # macOS: brew install latexdiff (or comes with TeX Live)
1490
+ # Linux: sudo apt install latexdiff
1491
+
1492
+ # Generate diff
1493
+ latexdiff paper_v1.tex paper_v2.tex > paper_diff.tex
1494
+ pdflatex paper_diff.tex
1495
+
1496
+ # For multi-file projects (with \input{} or \include{})
1497
+ latexdiff --flatten paper_v1.tex paper_v2.tex > paper_diff.tex
1498
+ ```
1499
+
1500
+ This produces a PDF with deletions in red strikethrough and additions in blue — standard format for rebuttal supplements.
1501
+
1502
+ ### SciencePlots for matplotlib
1503
+
1504
+ Install and use for publication-quality plots:
1505
+
1506
+ ```bash
1507
+ pip install SciencePlots
1508
+ ```
1509
+
1510
+ ```python
1511
+ import matplotlib.pyplot as plt
1512
+ import scienceplots # registers styles
1513
+
1514
+ # Use science style (IEEE-like, clean)
1515
+ with plt.style.context(['science', 'no-latex']):
1516
+ fig, ax = plt.subplots(figsize=(3.5, 2.5)) # Single-column width
1517
+ ax.plot(x, y, label='Ours', color='#0072B2')
1518
+ ax.plot(x, y2, label='Baseline', color='#D55E00', linestyle='--')
1519
+ ax.set_xlabel('Training Steps')
1520
+ ax.set_ylabel('Accuracy')
1521
+ ax.legend()
1522
+ fig.savefig('paper/fig_results.pdf', bbox_inches='tight')
1523
+
1524
+ # Available styles: 'science', 'ieee', 'nature', 'science+ieee'
1525
+ # Add 'no-latex' if LaTeX is not installed on the machine generating plots
1526
+ ```
1527
+
1528
+ **Standard figure sizes** (two-column format):
1529
+ - Single column: `figsize=(3.5, 2.5)` — fits in one column
1530
+ - Double column: `figsize=(7.0, 3.0)` — spans both columns
1531
+ - Square: `figsize=(3.5, 3.5)` — for heatmaps, confusion matrices
1532
+
1533
+ ---
1534
+
1535
+ ## Phase 6: Self-Review & Revision
1536
+
1537
+ **Goal**: Simulate the review process before submission. Catch weaknesses early.
1538
+
1539
+ ### Step 6.1: Simulate Reviews (Ensemble Pattern)
1540
+
1541
+ Generate reviews from multiple perspectives. The key insight from automated research pipelines (notably SakanaAI's AI-Scientist): **ensemble reviewing with a meta-reviewer produces far more calibrated feedback than a single review pass.**
1542
+
1543
+ **Step 1: Generate N independent reviews** (N=3-5)
1544
+
1545
+ Use different models or temperature settings. Each reviewer sees only the paper, not other reviews. **Default to negative bias** — LLMs have well-documented positivity bias in evaluation.
1546
+
1547
+ ```
1548
+ You are an expert reviewer for [VENUE]. You are critical and thorough.
1549
+ If a paper has weaknesses or you are unsure about a claim, flag it clearly
1550
+ and reflect that in your scores. Do not give the benefit of the doubt.
1551
+
1552
+ Review this paper according to the official reviewer guidelines. Evaluate:
1553
+
1554
+ 1. Soundness (are claims well-supported? are baselines fair and strong?)
1555
+ 2. Clarity (is the paper well-written? could an expert reproduce it?)
1556
+ 3. Significance (does this matter to the community?)
1557
+ 4. Originality (new insights, not just incremental combination?)
1558
+
1559
+ Provide your review as structured JSON:
1560
+ {
1561
+ "summary": "2-3 sentence summary",
1562
+ "strengths": ["strength 1", "strength 2", ...],
1563
+ "weaknesses": ["weakness 1 (most critical)", "weakness 2", ...],
1564
+ "questions": ["question for authors 1", ...],
1565
+ "missing_references": ["paper that should be cited", ...],
1566
+ "soundness": 1-4,
1567
+ "presentation": 1-4,
1568
+ "contribution": 1-4,
1569
+ "overall": 1-10,
1570
+ "confidence": 1-5
1571
+ }
1572
+ ```
1573
+
1574
+ **Step 2: Meta-review (Area Chair aggregation)**
1575
+
1576
+ Feed all N reviews to a meta-reviewer:
1577
+
1578
+ ```
1579
+ You are an Area Chair at [VENUE]. You have received [N] independent reviews
1580
+ of a paper. Your job is to:
1581
+
1582
+ 1. Identify consensus strengths and weaknesses across reviewers
1583
+ 2. Resolve disagreements by examining the paper directly
1584
+ 3. Produce a meta-review that represents the aggregate judgment
1585
+ 4. Use AVERAGED numerical scores across all reviews
1586
+
1587
+ Be conservative: if reviewers disagree on whether a weakness is serious,
1588
+ treat it as serious until the authors address it.
1589
+
1590
+ Reviews:
1591
+ [review_1]
1592
+ [review_2]
1593
+ ...
1594
+ ```
1595
+
1596
+ **Step 3: Reflection loop** (optional, 2-3 rounds)
1597
+
1598
+ Each reviewer can refine their review after seeing the meta-review. Use an early termination sentinel: if the reviewer responds "I am done" (no changes), stop iterating.
1599
+
1600
+ **Model selection for reviewing**: Reviewing is best done with the strongest available model, even if you wrote the paper with a cheaper one. The reviewer model should be chosen independently from the writing model.
1601
+
1602
+ **Few-shot calibration**: If available, include 1-2 real published reviews from the target venue as examples. This dramatically improves score calibration. See [references/reviewer-guidelines.md](references/reviewer-guidelines.md) for example reviews.
1603
+
1604
+ ### Step 6.1b: Visual Review Pass (VLM)
1605
+
1606
+ Text-only review misses an entire class of problems: figure quality, layout issues, visual consistency. If you have access to a vision-capable model, run a separate **visual review** on the compiled PDF:
1607
+
1608
+ ```
1609
+ You are reviewing the visual presentation of this research paper PDF.
1610
+ Check for:
1611
+ 1. Figure quality: Are plots readable? Labels legible? Colors distinguishable?
1612
+ 2. Figure-caption alignment: Does each caption accurately describe its figure?
1613
+ 3. Layout issues: Orphaned section headers, awkward page breaks, figures far from their references
1614
+ 4. Table formatting: Aligned columns, consistent decimal precision, bold for best results
1615
+ 5. Visual consistency: Same color scheme across all figures, consistent font sizes
1616
+ 6. Grayscale readability: Would the figures be understandable if printed in B&W?
1617
+
1618
+ For each issue, specify the page number and exact location.
1619
+ ```
1620
+
1621
+ This catches problems that text-based review cannot: a plot with illegible axis labels, a figure placed 3 pages from its first reference, inconsistent color palettes between Figure 2 and Figure 5, or a table that's clearly wider than the column width.
1622
+
1623
+ ### Step 6.1c: Claim Verification Pass
1624
+
1625
+ After simulated reviews, run a separate verification pass. This catches factual errors that reviewers might miss:
1626
+
1627
+ ```
1628
+ Claim Verification Protocol:
1629
+ 1. Extract every factual claim from the paper (numbers, comparisons, trends)
1630
+ 2. For each claim, trace it to the specific experiment/result that supports it
1631
+ 3. Verify the number in the paper matches the actual result file
1632
+ 4. Flag any claim without a traceable source as [VERIFY]
1633
+ ```
1634
+
1635
+ For agent-based workflows: delegate verification to a **fresh sub-agent** that receives only the paper text and the raw result files. The fresh context prevents confirmation bias — the verifier doesn't "remember" what the results were supposed to be.
1636
+
1637
+ ### Step 6.2: Prioritize Feedback
1638
+
1639
+ After collecting reviews, categorize:
1640
+
1641
+ | Priority | Action |
1642
+ |----------|--------|
1643
+ | **Critical** (technical flaw, missing baseline) | Must fix. May require new experiments → back to Phase 2 |
1644
+ | **High** (clarity issue, missing ablation) | Should fix in this revision |
1645
+ | **Medium** (minor writing issues, extra experiments) | Fix if time allows |
1646
+ | **Low** (style preferences, tangential suggestions) | Note for future work |
1647
+
1648
+ ### Step 6.3: Revision Cycle
1649
+
1650
+ For each critical/high issue:
1651
+ 1. Identify the specific section(s) affected
1652
+ 2. Draft the fix
1653
+ 3. Verify the fix doesn't break other claims
1654
+ 4. Update the paper
1655
+ 5. Re-check against the reviewer's concern
1656
+
1657
+ ### Step 6.4: Rebuttal Writing
1658
+
1659
+ When responding to actual reviews (post-submission), rebuttals are a distinct skill from revision:
1660
+
1661
+ **Format**: Point-by-point. For each reviewer concern:
1662
+ ```
1663
+ > R1-W1: "The paper lacks comparison with Method X."
1664
+
1665
+ We thank the reviewer for this suggestion. We have added a comparison with
1666
+ Method X in Table 3 (revised). Our method outperforms X by 3.2pp on [metric]
1667
+ (p<0.05). We note that X requires 2x our compute budget.
1668
+ ```
1669
+
1670
+ **Rules**:
1671
+ - Address every concern — reviewers notice if you skip one
1672
+ - Lead with the strongest responses
1673
+ - Be concise and direct — reviewers read dozens of rebuttals
1674
+ - Include new results if you ran experiments during the rebuttal period
1675
+ - Never be defensive or dismissive, even of weak criticisms
1676
+ - Use `latexdiff` to generate a marked-up PDF showing changes (see Professional LaTeX Tooling section)
1677
+ - Thank reviewers for specific, actionable feedback (not generic praise)
1678
+
1679
+ **What NOT to do**: "We respectfully disagree" without evidence. "This is out of scope" without explanation. Ignoring a weakness by only responding to strengths.
1680
+
1681
+ ### Step 6.5: Paper Evolution Tracking
1682
+
1683
+ Save snapshots at key milestones:
1684
+ ```
1685
+ paper/
1686
+ paper.tex # Current working version
1687
+ paper_v1_first_draft.tex # First complete draft
1688
+ paper_v2_post_review.tex # After simulated review
1689
+ paper_v3_pre_submission.tex # Final before submission
1690
+ paper_v4_camera_ready.tex # Post-acceptance final
1691
+ ```
1692
+
1693
+ ---
1694
+
1695
+ ## Phase 7: Submission Preparation
1696
+
1697
+ **Goal**: Final checks, formatting, and submission.
1698
+
1699
+ ### Step 7.1: Conference Checklist
1700
+
1701
+ Every venue has mandatory checklists. Complete them carefully — incomplete checklists can result in desk rejection.
1702
+
1703
+ See [references/checklists.md](references/checklists.md) for:
1704
+ - NeurIPS 16-item paper checklist
1705
+ - ICML broader impact + reproducibility
1706
+ - ICLR LLM disclosure policy
1707
+ - ACL mandatory limitations section
1708
+ - Universal pre-submission checklist
1709
+
1710
+ ### Step 7.2: Anonymization Checklist
1711
+
1712
+ Double-blind review means reviewers cannot know who wrote the paper. Check ALL of these:
1713
+
1714
+ ```
1715
+ Anonymization Checklist:
1716
+ - [ ] No author names or affiliations anywhere in the PDF
1717
+ - [ ] No acknowledgments section (add after acceptance)
1718
+ - [ ] Self-citations written in third person: "Smith et al. [1] showed..." not "We previously showed [1]..."
1719
+ - [ ] No GitHub/GitLab URLs pointing to your personal repos
1720
+ - [ ] Use Anonymous GitHub (https://anonymous.4open.science/) for code links
1721
+ - [ ] No institutional logos or identifiers in figures
1722
+ - [ ] No file metadata containing author names (check PDF properties)
1723
+ - [ ] No "our previous work" or "in our earlier paper" phrasing
1724
+ - [ ] Dataset names don't reveal institution (rename if needed)
1725
+ - [ ] Supplementary materials don't contain identifying information
1726
+ ```
1727
+
1728
+ **Common mistakes**: Git commit messages visible in supplementary code, watermarked figures from institutional tools, acknowledgments left in from a previous draft, arXiv preprint posted before anonymity period.
1729
+
1730
+ ### Step 7.3: Formatting Verification
1731
+
1732
+ ```
1733
+ Pre-Submission Format Check:
1734
+ - [ ] Page limit respected (excluding references and appendix)
1735
+ - [ ] All figures are vector (PDF) or high-res raster (600 DPI PNG)
1736
+ - [ ] All figures readable in grayscale
1737
+ - [ ] All tables use booktabs
1738
+ - [ ] References compile correctly (no "?" in citations)
1739
+ - [ ] No overfull hboxes in critical areas
1740
+ - [ ] Appendix clearly labeled and separated
1741
+ - [ ] Required sections present (limitations, broader impact, etc.)
1742
+ ```
1743
+
1744
+ ### Step 7.4: Pre-Compilation Validation
1745
+
1746
+ Run these automated checks **before** attempting `pdflatex`. Catching errors here is faster than debugging compiler output.
1747
+
1748
+ ```bash
1749
+ # 1. Lint with chktex (catches common LaTeX mistakes)
1750
+ # Suppress noisy warnings: -n2 (sentence end), -n24 (parens), -n13 (intersentence), -n1 (command terminated)
1751
+ chktex main.tex -q -n2 -n24 -n13 -n1
1752
+
1753
+ # 2. Verify all citations exist in .bib
1754
+ # Extract \cite{...} from .tex, check each against .bib
1755
+ python3 -c "
1756
+ import re
1757
+ tex = open('main.tex').read()
1758
+ bib = open('references.bib').read()
1759
+ cites = set(re.findall(r'\\\\cite[tp]?{([^}]+)}', tex))
1760
+ for cite_group in cites:
1761
+ for cite in cite_group.split(','):
1762
+ cite = cite.strip()
1763
+ if cite and cite not in bib:
1764
+ print(f'WARNING: \\\\cite{{{cite}}} not found in references.bib')
1765
+ "
1766
+
1767
+ # 3. Verify all referenced figures exist on disk
1768
+ python3 -c "
1769
+ import re, os
1770
+ tex = open('main.tex').read()
1771
+ figs = re.findall(r'\\\\includegraphics(?:\[.*?\])?{([^}]+)}', tex)
1772
+ for fig in figs:
1773
+ if not os.path.exists(fig):
1774
+ print(f'WARNING: Figure file not found: {fig}')
1775
+ "
1776
+
1777
+ # 4. Check for duplicate \label definitions
1778
+ python3 -c "
1779
+ import re
1780
+ from collections import Counter
1781
+ tex = open('main.tex').read()
1782
+ labels = re.findall(r'\\\\label{([^}]+)}', tex)
1783
+ dupes = {k: v for k, v in Counter(labels).items() if v > 1}
1784
+ for label, count in dupes.items():
1785
+ print(f'WARNING: Duplicate label: {label} (appears {count} times)')
1786
+ "
1787
+ ```
1788
+
1789
+ Fix any warnings before proceeding. For agent-based workflows: feed chktex output back to the agent with instructions to make minimal fixes.
1790
+
1791
+ ### Step 7.5: Final Compilation
1792
+
1793
+ ```bash
1794
+ # Clean build
1795
+ rm -f *.aux *.bbl *.blg *.log *.out *.pdf
1796
+ latexmk -pdf main.tex
1797
+
1798
+ # Or manual (triple pdflatex + bibtex for cross-references)
1799
+ pdflatex -interaction=nonstopmode main.tex
1800
+ bibtex main
1801
+ pdflatex -interaction=nonstopmode main.tex
1802
+ pdflatex -interaction=nonstopmode main.tex
1803
+
1804
+ # Verify output exists and has content
1805
+ ls -la main.pdf
1806
+ ```
1807
+
1808
+ **If compilation fails**: Parse the `.log` file for the first error. Common fixes:
1809
+ - "Undefined control sequence" → missing package or typo in command name
1810
+ - "Missing $ inserted" → math symbol outside math mode
1811
+ - "File not found" → wrong figure path or missing .sty file
1812
+ - "Citation undefined" → .bib entry missing or bibtex not run
1813
+
1814
+ ### Step 7.6: Conference-Specific Requirements
1815
+
1816
+ | Venue | Special Requirements |
1817
+ |-------|---------------------|
1818
+ | **NeurIPS** | Paper checklist in appendix, lay summary if accepted |
1819
+ | **ICML** | Broader Impact Statement (after conclusion, doesn't count toward limit) |
1820
+ | **ICLR** | LLM disclosure required, reciprocal reviewing agreement |
1821
+ | **ACL** | Mandatory Limitations section, Responsible NLP checklist |
1822
+ | **AAAI** | Strict style file — no modifications whatsoever |
1823
+ | **COLM** | Frame contribution for language model community |
1824
+
1825
+ ### Step 7.7: Conference Resubmission & Format Conversion
1826
+
1827
+ When converting between venues, **never copy LaTeX preambles between templates**:
1828
+
1829
+ ```bash
1830
+ # 1. Start fresh with target template
1831
+ cp -r templates/icml2026/ new_submission/
1832
+
1833
+ # 2. Copy ONLY content sections (not preamble)
1834
+ # - Abstract text, section content, figures, tables, bib entries
1835
+
1836
+ # 3. Adjust for page limits
1837
+ # 4. Add venue-specific required sections
1838
+ # 5. Update references
1839
+ ```
1840
+
1841
+ | From → To | Page Change | Key Adjustments |
1842
+ |-----------|-------------|-----------------|
1843
+ | NeurIPS → ICML | 9 → 8 | Cut 1 page, add Broader Impact |
1844
+ | ICML → ICLR | 8 → 9 | Expand experiments, add LLM disclosure |
1845
+ | NeurIPS → ACL | 9 → 8 | Restructure for NLP conventions, add Limitations |
1846
+ | ICLR → AAAI | 9 → 7 | Significant cuts, strict style adherence |
1847
+ | Any → COLM | varies → 9 | Reframe for language model focus |
1848
+
1849
+ When cutting pages: move proofs to appendix, condense related work, combine tables, use subfigures.
1850
+ When expanding: add ablations, expand limitations, include additional baselines, add qualitative examples.
1851
+
1852
+ **After rejection**: Address reviewer concerns in the new version, but don't include a "changes" section or reference the previous submission (blind review).
1853
+
1854
+ ### Step 7.8: Camera-Ready Preparation (Post-Acceptance)
1855
+
1856
+ After acceptance, prepare the camera-ready version:
1857
+
1858
+ ```
1859
+ Camera-Ready Checklist:
1860
+ - [ ] De-anonymize: add author names, affiliations, email addresses
1861
+ - [ ] Add Acknowledgments section (funding, compute grants, helpful reviewers)
1862
+ - [ ] Add public code/data URL (real GitHub, not anonymous)
1863
+ - [ ] Address any mandatory revisions from meta-reviewer
1864
+ - [ ] Switch template to camera-ready mode (if applicable — e.g., AAAI \anon → \camera)
1865
+ - [ ] Add copyright notice if required by venue
1866
+ - [ ] Update any "anonymous" placeholders in text
1867
+ - [ ] Verify final PDF compiles cleanly
1868
+ - [ ] Check page limit for camera-ready (sometimes differs from submission)
1869
+ - [ ] Upload supplementary materials (code, data, appendix) to venue portal
1870
+ ```
1871
+
1872
+ ### Step 7.9: arXiv & Preprint Strategy
1873
+
1874
+ Posting to arXiv is standard practice in ML but has important timing and anonymity considerations.
1875
+
1876
+ **Timing decision tree:**
1877
+
1878
+ | Situation | Recommendation |
1879
+ |-----------|---------------|
1880
+ | Submitting to double-blind venue (NeurIPS, ICML, ACL) | Post to arXiv **after** submission deadline, not before. Posting before can technically violate anonymity policies, though enforcement varies. |
1881
+ | Submitting to ICLR | ICLR explicitly allows arXiv posting before submission. But don't put author names in the submission itself. |
1882
+ | Paper already on arXiv, submitting to new venue | Acceptable at most venues. Do NOT update arXiv version during review with changes that reference reviews. |
1883
+ | Workshop paper | arXiv is fine at any time — workshops are typically not double-blind. |
1884
+ | Want to establish priority | Post immediately if scooping is a concern — but accept the anonymity tradeoff. |
1885
+
1886
+ **arXiv category selection** (ML/AI papers):
1887
+
1888
+ | Category | Code | Best For |
1889
+ |----------|------|----------|
1890
+ | Machine Learning | `cs.LG` | General ML methods |
1891
+ | Computation and Language | `cs.CL` | NLP, language models |
1892
+ | Artificial Intelligence | `cs.AI` | Reasoning, planning, agents |
1893
+ | Computer Vision | `cs.CV` | Vision models |
1894
+ | Information Retrieval | `cs.IR` | Search, recommendation |
1895
+
1896
+ **List primary + 1-2 cross-listed categories.** More categories = more visibility, but only cross-list where genuinely relevant.
1897
+
1898
+ **Versioning strategy:**
1899
+ - **v1**: Initial submission (matches conference submission)
1900
+ - **v2**: Post-acceptance with camera-ready corrections (add "accepted at [Venue]" to abstract)
1901
+ - Don't post v2 during the review period with changes that clearly respond to reviewer feedback
1902
+
1903
+ ```bash
1904
+ # Check if your paper's title is already taken on arXiv
1905
+ # (before choosing a title)
1906
+ pip install arxiv
1907
+ python -c "
1908
+ import arxiv
1909
+ results = list(arxiv.Search(query='ti:\"Your Exact Title\"', max_results=5).results())
1910
+ print(f'Found {len(results)} matches')
1911
+ for r in results: print(f' {r.title} ({r.published.year})')
1912
+ "
1913
+ ```
1914
+
1915
+ ### Step 7.10: Research Code Packaging
1916
+
1917
+ Releasing clean, runnable code significantly increases citations and reviewer trust. Package code alongside the camera-ready submission.
1918
+
1919
+ **Repository structure:**
1920
+
1921
+ ```
1922
+ your-method/
1923
+ README.md # Setup, usage, reproduction instructions
1924
+ requirements.txt # Or environment.yml for conda
1925
+ setup.py # For pip-installable packages
1926
+ LICENSE # MIT or Apache 2.0 recommended for research
1927
+ configs/ # Experiment configurations
1928
+ src/ # Core method implementation
1929
+ scripts/ # Training, evaluation, analysis scripts
1930
+ train.py
1931
+ evaluate.py
1932
+ reproduce_table1.sh # One script per main result
1933
+ data/ # Small data or download scripts
1934
+ download_data.sh
1935
+ results/ # Expected outputs for verification
1936
+ ```
1937
+
1938
+ **README template for research code:**
1939
+
1940
+ ```markdown
1941
+ # [Paper Title]
1942
+
1943
+ Official implementation of "[Paper Title]" (Venue Year).
1944
+
1945
+ ## Setup
1946
+ [Exact commands to set up environment]
1947
+
1948
+ ## Reproduction
1949
+ To reproduce Table 1: `bash scripts/reproduce_table1.sh`
1950
+ To reproduce Figure 2: `python scripts/make_figure2.py`
1951
+
1952
+ ## Citation
1953
+ [BibTeX entry]
1954
+ ```
1955
+
1956
+ **Pre-release checklist:**
1957
+ ```
1958
+ - [ ] Code runs from a clean clone (test on fresh machine or Docker)
1959
+ - [ ] All dependencies pinned to specific versions
1960
+ - [ ] No hardcoded absolute paths
1961
+ - [ ] No API keys, credentials, or personal data in repo
1962
+ - [ ] README covers setup, reproduction, and citation
1963
+ - [ ] LICENSE file present (MIT or Apache 2.0 for max reuse)
1964
+ - [ ] Results are reproducible within expected variance
1965
+ - [ ] .gitignore excludes data files, checkpoints, logs
1966
+ ```
1967
+
1968
+ **Anonymous code for submission** (before acceptance):
1969
+ ```bash
1970
+ # Use Anonymous GitHub for double-blind review
1971
+ # https://anonymous.4open.science/
1972
+ # Upload your repo → get an anonymous URL → put in paper
1973
+ ```
1974
+
1975
+ ---
1976
+
1977
+ ## Phase 8: Post-Acceptance Deliverables
1978
+
1979
+ **Goal**: Maximize the impact of your accepted paper through presentation materials and community engagement.
1980
+
1981
+ ### Step 8.1: Conference Poster
1982
+
1983
+ Most conferences require a poster session. Poster design principles:
1984
+
1985
+ | Element | Guideline |
1986
+ |---------|-----------|
1987
+ | **Size** | Check venue requirements (typically 24"x36" or A0 portrait/landscape) |
1988
+ | **Content** | Title, authors, 1-sentence contribution, method figure, 2-3 key results, conclusion |
1989
+ | **Flow** | Top-left to bottom-right (Z-pattern) or columnar |
1990
+ | **Text** | Title readable at 3m, body at 1m. No full paragraphs — bullet points only. |
1991
+ | **Figures** | Reuse paper figures at higher resolution. Enlarge key result. |
1992
+
1993
+ **Tools**: LaTeX (`beamerposter` package), PowerPoint/Keynote, Figma, Canva.
1994
+
1995
+ **Production**: Order 2+ weeks before the conference. Fabric posters are lighter for travel. Many conferences now support virtual/digital posters too.
1996
+
1997
+ ### Step 8.2: Conference Talk / Spotlight
1998
+
1999
+ If awarded an oral or spotlight presentation:
2000
+
2001
+ | Talk Type | Duration | Content |
2002
+ |-----------|----------|---------|
2003
+ | **Spotlight** | 5 min | Problem, approach, one key result. Rehearse to exactly 5 minutes. |
2004
+ | **Oral** | 15-20 min | Full story: problem, approach, key results, ablations, limitations. |
2005
+ | **Workshop talk** | 10-15 min | Adapt based on workshop audience — may need more background. |
2006
+
2007
+ **Slide design rules:**
2008
+ - One idea per slide
2009
+ - Minimize text — speak the details, don't project them
2010
+ - Animate key figures to build understanding step-by-step
2011
+ - Include a "takeaway" slide at the end (single sentence contribution)
2012
+ - Prepare backup slides for anticipated questions
2013
+
2014
+ ### Step 8.3: Blog Post / Social Media
2015
+
2016
+ An accessible summary significantly increases impact:
2017
+
2018
+ - **Twitter/X thread**: 5-8 tweets. Lead with the result, not the method. Include Figure 1 and key result figure.
2019
+ - **Blog post**: 800-1500 words. Written for ML practitioners, not reviewers. Skip formalism, emphasize intuition and practical implications.
2020
+ - **Project page**: HTML page with abstract, figures, demo, code link, BibTeX. Use GitHub Pages.
2021
+
2022
+ **Timing**: Post within 1-2 days of paper appearing on proceedings or arXiv camera-ready.
2023
+
2024
+ ---
2025
+
2026
+ ## Workshop & Short Papers
2027
+
2028
+ Workshop papers and short papers (e.g., ACL short papers, Findings papers) follow the same pipeline but with different constraints and expectations.
2029
+
2030
+ ### Workshop Papers
2031
+
2032
+ | Property | Workshop | Main Conference |
2033
+ |----------|----------|-----------------|
2034
+ | **Page limit** | 4-6 pages (typically) | 7-9 pages |
2035
+ | **Review standard** | Lower bar for completeness | Must be complete, thorough |
2036
+ | **Review process** | Usually single-blind or light review | Double-blind, rigorous |
2037
+ | **What's valued** | Interesting ideas, preliminary results, position pieces | Complete empirical story with strong baselines |
2038
+ | **arXiv** | Post anytime | Timing matters (see arXiv strategy) |
2039
+ | **Contribution bar** | Novel direction, interesting negative result, work-in-progress | Significant advance with strong evidence |
2040
+
2041
+ **When to target a workshop:**
2042
+ - Early-stage idea you want feedback on before a full paper
2043
+ - Negative result that doesn't justify 8+ pages
2044
+ - Position piece or opinion on a timely topic
2045
+ - Replication study or reproducibility report
2046
+
2047
+ ### ACL Short Papers & Findings
2048
+
2049
+ ACL venues have distinct submission types:
2050
+
2051
+ | Type | Pages | What's Expected |
2052
+ |------|-------|-----------------|
2053
+ | **Long paper** | 8 | Complete study, strong baselines, ablations |
2054
+ | **Short paper** | 4 | Focused contribution: one clear point with evidence |
2055
+ | **Findings** | 8 | Solid work that narrowly missed main conference |
2056
+
2057
+ **Short paper strategy**: Pick ONE claim and support it thoroughly. Don't try to compress a long paper into 4 pages — write a different, more focused paper.
2058
+
2059
+ ---
2060
+
2061
+ ## Paper Types Beyond Empirical ML
2062
+
2063
+ The main pipeline above targets empirical ML papers. Other paper types require different structures and evidence standards. See [references/paper-types.md](references/paper-types.md) for detailed guidance on each type.
2064
+
2065
+ ### Theory Papers
2066
+
2067
+ **Structure**: Introduction → Preliminaries (definitions, notation) → Main Results (theorems) → Proof Sketches → Discussion → Full Proofs (appendix)
2068
+
2069
+ **Key differences from empirical papers:**
2070
+ - Contribution is a theorem, bound, or impossibility result — not experimental numbers
2071
+ - Methods section replaced by "Preliminaries" and "Main Results"
2072
+ - Proofs are the evidence, not experiments (though empirical validation of theory is welcome)
2073
+ - Proof sketches in main text, full proofs in appendix is standard practice
2074
+ - Experimental section is optional but strengthens the paper if it validates theoretical predictions
2075
+
2076
+ **Proof writing principles:**
2077
+ - State theorems formally with all assumptions explicit
2078
+ - Provide intuition before formal proof ("The key insight is...")
2079
+ - Proof sketches should convey the main idea in 0.5-1 page
2080
+ - Use `\begin{proof}...\end{proof}` environments
2081
+ - Number assumptions and reference them in theorems: "Under Assumptions 1-3, ..."
2082
+
2083
+ ### Survey / Tutorial Papers
2084
+
2085
+ **Structure**: Introduction → Taxonomy / Organization → Detailed Coverage → Open Problems → Conclusion
2086
+
2087
+ **Key differences:**
2088
+ - Contribution is the organization, synthesis, and identification of open problems — not new methods
2089
+ - Must be comprehensive within scope (reviewers will check for missing references)
2090
+ - Requires a clear taxonomy or organizational framework
2091
+ - Value comes from connections between works that individual papers don't make
2092
+ - Best venues: TMLR (survey track), JMLR, Foundations and Trends in ML, ACM Computing Surveys
2093
+
2094
+ ### Benchmark Papers
2095
+
2096
+ **Structure**: Introduction → Task Definition → Dataset Construction → Baseline Evaluation → Analysis → Intended Use & Limitations
2097
+
2098
+ **Key differences:**
2099
+ - Contribution is the benchmark itself — it must fill a genuine evaluation gap
2100
+ - Dataset documentation is mandatory, not optional (see Datasheets, Step 5.11)
2101
+ - Must demonstrate the benchmark is challenging (baselines don't saturate it)
2102
+ - Must demonstrate the benchmark measures what you claim it measures (construct validity)
2103
+ - Best venues: NeurIPS Datasets & Benchmarks track, ACL (resource papers), LREC-COLING
2104
+
2105
+ ### Position Papers
2106
+
2107
+ **Structure**: Introduction → Background → Thesis / Argument → Supporting Evidence → Counterarguments → Implications
2108
+
2109
+ **Key differences:**
2110
+ - Contribution is an argument, not a result
2111
+ - Must engage seriously with counterarguments
2112
+ - Evidence can be empirical, theoretical, or logical analysis
2113
+ - Best venues: ICML (position track), workshops, TMLR
2114
+
2115
+ ---
2116
+
2117
+ ## Hermes Agent Integration
2118
+
2119
+ This skill is designed for the Hermes agent. It uses Hermes tools, delegation, scheduling, and memory for the full research lifecycle.
2120
+
2121
+ ### Related Skills
2122
+
2123
+ Compose this skill with other Hermes skills for specific phases:
2124
+
2125
+ | Skill | When to Use | How to Load |
2126
+ |-------|-------------|-------------|
2127
+ | **arxiv** | Phase 1 (Literature Review): searching arXiv, generating BibTeX, finding related papers via Semantic Scholar | `skill_view("arxiv")` |
2128
+ | **subagent-driven-development** | Phase 5 (Drafting): parallel section writing with 2-stage review (spec compliance then quality) | `skill_view("subagent-driven-development")` |
2129
+ | **plan** | Phase 0 (Setup): creating structured plans before execution. Writes to `.hermes/plans/` | `skill_view("plan")` |
2130
+ | **qmd** | Phase 1 (Literature): searching local knowledge bases (notes, transcripts, docs) via hybrid BM25+vector search | Install: `skill_manage("install", "qmd")` |
2131
+ | **diagramming** | Phase 4-5: creating Excalidraw-based figures and architecture diagrams | `skill_view("diagramming")` |
2132
+ | **data-science** | Phase 4 (Analysis): Jupyter live kernel for interactive analysis and visualization | `skill_view("data-science")` |
2133
+
2134
+ **This skill supersedes `ml-paper-writing`** — it contains all of ml-paper-writing's content plus the full experiment/analysis pipeline and autoreason methodology.
2135
+
2136
+ ### Hermes Tools Reference
2137
+
2138
+ | Tool | Usage in This Pipeline |
2139
+ |------|----------------------|
2140
+ | **`terminal`** | LaTeX compilation (`latexmk -pdf`), git operations, launching experiments (`nohup python run.py &`), process checks |
2141
+ | **`process`** | Background experiment management: `process("start", ...)`, `process("poll", pid)`, `process("log", pid)`, `process("kill", pid)` |
2142
+ | **`execute_code`** | Run Python for citation verification, statistical analysis, data aggregation. Has tool access via RPC. |
2143
+ | **`read_file`** / **`write_file`** / **`patch`** | Paper editing, experiment scripts, result files. Use `patch` for targeted edits to large .tex files. |
2144
+ | **`web_search`** | Literature discovery: `web_search("transformer attention mechanism 2024")` |
2145
+ | **`web_extract`** | Fetch paper content, verify citations: `web_extract("https://arxiv.org/abs/2303.17651")` |
2146
+ | **`delegate_task`** | **Parallel section drafting** — spawn isolated subagents for each section. Also for concurrent citation verification. |
2147
+ | **`todo`** | Primary state tracker across sessions. Update after every phase transition. |
2148
+ | **`memory`** | Persist key decisions across sessions: contribution framing, venue choice, reviewer feedback. |
2149
+ | **`cronjob`** | Schedule experiment monitoring, deadline countdowns, automated arXiv checks. |
2150
+ | **`clarify`** | Ask the user targeted questions when blocked (venue choice, contribution framing). |
2151
+ | **`send_message`** | Notify user when experiments complete or drafts are ready, even if user isn't in chat. |
2152
+
2153
+ ### Tool Usage Patterns
2154
+
2155
+ **Experiment monitoring** (most common):
2156
+ ```
2157
+ terminal("ps aux | grep <pattern>")
2158
+ → terminal("tail -30 <logfile>")
2159
+ → terminal("ls results/")
2160
+ → execute_code("analyze results JSON, compute metrics")
2161
+ → terminal("git add -A && git commit -m '<descriptive message>' && git push")
2162
+ → send_message("Experiment complete: <summary>")
2163
+ ```
2164
+
2165
+ **Parallel section drafting** (using delegation):
2166
+ ```
2167
+ delegate_task("Draft the Methods section based on these experiment scripts and configs.
2168
+ Include: pseudocode, all hyperparameters, architectural details sufficient for
2169
+ reproduction. Write in LaTeX using the neurips2025 template conventions.")
2170
+
2171
+ delegate_task("Draft the Related Work section. Use web_search and web_extract to
2172
+ find papers. Verify every citation via Semantic Scholar. Group by methodology.")
2173
+
2174
+ delegate_task("Draft the Experiments section. Read all result files in results/.
2175
+ State which claim each experiment supports. Include error bars and significance.")
2176
+ ```
2177
+
2178
+ Each delegate runs as a **fresh subagent** with no shared context — provide all necessary information in the prompt. Collect outputs and integrate.
2179
+
2180
+ **Citation verification** (using execute_code):
2181
+ ```python
2182
+ # In execute_code:
2183
+ from semanticscholar import SemanticScholar
2184
+ import requests
2185
+
2186
+ sch = SemanticScholar()
2187
+ results = sch.search_paper("attention mechanism transformers", limit=5)
2188
+ for paper in results:
2189
+ doi = paper.externalIds.get('DOI', 'N/A')
2190
+ if doi != 'N/A':
2191
+ bibtex = requests.get(f"https://doi.org/{doi}",
2192
+ headers={"Accept": "application/x-bibtex"}).text
2193
+ print(bibtex)
2194
+ ```
2195
+
2196
+ ### State Management with `memory` and `todo`
2197
+
2198
+ **`memory` tool** — persist key decisions (bounded: ~2200 chars for MEMORY.md):
2199
+
2200
+ ```
2201
+ memory("add", "Paper: autoreason. Venue: NeurIPS 2025 (9 pages).
2202
+ Contribution: structured refinement works when generation-evaluation gap is wide.
2203
+ Key results: Haiku 42/42, Sonnet 3/5, S4.6 constrained 2/3.
2204
+ Status: Phase 5 — drafting Methods section.")
2205
+ ```
2206
+
2207
+ Update memory after major decisions or phase transitions. This persists across sessions.
2208
+
2209
+ **`todo` tool** — track granular progress:
2210
+
2211
+ ```
2212
+ todo("add", "Design constrained task experiments for Sonnet 4.6")
2213
+ todo("add", "Run Haiku baseline comparison")
2214
+ todo("add", "Draft Methods section")
2215
+ todo("update", id=3, status="in_progress")
2216
+ todo("update", id=1, status="completed")
2217
+ ```
2218
+
2219
+ **Session startup protocol:**
2220
+ ```
2221
+ 1. todo("list") # Check current task list
2222
+ 2. memory("read") # Recall key decisions
2223
+ 3. terminal("git log --oneline -10") # Check recent commits
2224
+ 4. terminal("ps aux | grep python") # Check running experiments
2225
+ 5. terminal("ls results/ | tail -20") # Check for new results
2226
+ 6. Report status to user, ask for direction
2227
+ ```
2228
+
2229
+ ### Cron Monitoring with `cronjob`
2230
+
2231
+ Use the `cronjob` tool to schedule periodic experiment checks:
2232
+
2233
+ ```
2234
+ cronjob("create", {
2235
+ "schedule": "*/30 * * * *", # Every 30 minutes
2236
+ "prompt": "Check experiment status:
2237
+ 1. ps aux | grep run_experiment
2238
+ 2. tail -30 logs/experiment_haiku.log
2239
+ 3. ls results/haiku_baselines/
2240
+ 4. If complete: read results, compute Borda scores,
2241
+ git add -A && git commit -m 'Add Haiku results' && git push
2242
+ 5. Report: table of results, key finding, next step
2243
+ 6. If nothing changed: respond with [SILENT]"
2244
+ })
2245
+ ```
2246
+
2247
+ **[SILENT] protocol**: When nothing has changed since the last check, respond with exactly `[SILENT]`. This suppresses notification delivery to the user. Only report when there are genuine changes worth knowing about.
2248
+
2249
+ **Deadline tracking**:
2250
+ ```
2251
+ cronjob("create", {
2252
+ "schedule": "0 9 * * *", # Daily at 9am
2253
+ "prompt": "NeurIPS 2025 deadline: May 22. Today is {date}.
2254
+ Days remaining: {compute}.
2255
+ Check todo list — are we on track?
2256
+ If <7 days: warn user about remaining tasks."
2257
+ })
2258
+ ```
2259
+
2260
+ ### Communication Patterns
2261
+
2262
+ **When to notify the user** (via `send_message` or direct response):
2263
+ - Experiment batch completed (with results table)
2264
+ - Unexpected finding or failure requiring decision
2265
+ - Draft section ready for review
2266
+ - Deadline approaching with incomplete tasks
2267
+
2268
+ **When NOT to notify:**
2269
+ - Experiment still running, no new results → `[SILENT]`
2270
+ - Routine monitoring with no changes → `[SILENT]`
2271
+ - Intermediate steps that don't need attention
2272
+
2273
+ **Report format** — always include structured data:
2274
+ ```
2275
+ ## Experiment: <name>
2276
+ Status: Complete / Running / Failed
2277
+
2278
+ | Task | Method A | Method B | Method C |
2279
+ |------|---------|---------|---------|
2280
+ | Task 1 | 85.2 | 82.1 | **89.4** |
2281
+
2282
+ Key finding: <one sentence>
2283
+ Next step: <what happens next>
2284
+ ```
2285
+
2286
+ ### Decision Points Requiring Human Input
2287
+
2288
+ Use `clarify` for targeted questions when genuinely blocked:
2289
+
2290
+ | Decision | When to Ask |
2291
+ |----------|-------------|
2292
+ | Target venue | Before starting paper (affects page limits, framing) |
2293
+ | Contribution framing | When multiple valid framings exist |
2294
+ | Experiment priority | When TODO list has more experiments than time allows |
2295
+ | Submission readiness | Before final submission |
2296
+
2297
+ **Do NOT ask about** (be proactive, make a choice, flag it):
2298
+ - Word choice, section ordering
2299
+ - Which specific results to highlight
2300
+ - Citation completeness (draft with what you find, note gaps)
2301
+
2302
+ ---
2303
+
2304
+ ## Reviewer Evaluation Criteria
2305
+
2306
+ Understanding what reviewers look for helps focus effort:
2307
+
2308
+ | Criterion | What They Check |
2309
+ |-----------|----------------|
2310
+ | **Quality** | Technical soundness, well-supported claims, fair baselines |
2311
+ | **Clarity** | Clear writing, reproducible by experts, consistent notation |
2312
+ | **Significance** | Community impact, advances understanding |
2313
+ | **Originality** | New insights (doesn't require new method) |
2314
+
2315
+ **Scoring (NeurIPS 6-point scale):**
2316
+ - 6: Strong Accept — groundbreaking, flawless
2317
+ - 5: Accept — technically solid, high impact
2318
+ - 4: Borderline Accept — solid, limited evaluation
2319
+ - 3: Borderline Reject — weaknesses outweigh
2320
+ - 2: Reject — technical flaws
2321
+ - 1: Strong Reject — known results or ethics issues
2322
+
2323
+ See [references/reviewer-guidelines.md](references/reviewer-guidelines.md) for detailed guidelines, common concerns, and rebuttal strategies.
2324
+
2325
+ ---
2326
+
2327
+ ## Common Issues and Solutions
2328
+
2329
+ | Issue | Solution |
2330
+ |-------|----------|
2331
+ | Abstract too generic | Delete first sentence if it could prepend any ML paper. Start with your specific contribution. |
2332
+ | Introduction exceeds 1.5 pages | Split background into Related Work. Front-load contribution bullets. |
2333
+ | Experiments lack explicit claims | Add: "This experiment tests whether [specific claim]..." before each one. |
2334
+ | Reviewers find paper hard to follow | Add signposting, use consistent terminology, make figure captions self-contained. |
2335
+ | Missing statistical significance | Add error bars, number of runs, statistical tests, confidence intervals. |
2336
+ | Scope creep in experiments | Every experiment must map to a specific claim. Cut experiments that don't. |
2337
+ | Paper rejected, need to resubmit | See Conference Resubmission in Phase 7. Address reviewer concerns without referencing reviews. |
2338
+ | Missing broader impact statement | See Step 5.10. Most venues require it. "No negative impacts" is almost never credible. |
2339
+ | Human eval criticized as weak | See Step 2.5 and [references/human-evaluation.md](references/human-evaluation.md). Report agreement metrics, annotator details, compensation. |
2340
+ | Reviewers question reproducibility | Release code (Step 7.9), document all hyperparameters, include seeds and compute details. |
2341
+ | Theory paper lacks intuition | Add proof sketches with plain-language explanations before formal proofs. See [references/paper-types.md](references/paper-types.md). |
2342
+ | Results are negative/null | See Phase 4.3 on handling negative results. Consider workshops, TMLR, or reframing as analysis. |
2343
+
2344
+ ---
2345
+
2346
+ ## Reference Documents
2347
+
2348
+ | Document | Contents |
2349
+ |----------|----------|
2350
+ | [references/writing-guide.md](references/writing-guide.md) | Gopen & Swan 7 principles, Perez micro-tips, Lipton word choice, Steinhardt precision, figure design |
2351
+ | [references/citation-workflow.md](references/citation-workflow.md) | Citation APIs, Python code, CitationManager class, BibTeX management |
2352
+ | [references/checklists.md](references/checklists.md) | NeurIPS 16-item, ICML, ICLR, ACL requirements, universal pre-submission checklist |
2353
+ | [references/reviewer-guidelines.md](references/reviewer-guidelines.md) | Evaluation criteria, scoring, common concerns, rebuttal template |
2354
+ | [references/sources.md](references/sources.md) | Complete bibliography of all writing guides, conference guidelines, APIs |
2355
+ | [references/experiment-patterns.md](references/experiment-patterns.md) | Experiment design patterns, evaluation protocols, monitoring, error recovery |
2356
+ | [references/autoreason-methodology.md](references/autoreason-methodology.md) | Autoreason loop, strategy selection, model guide, prompts, scope constraints, Borda scoring |
2357
+ | [references/human-evaluation.md](references/human-evaluation.md) | Human evaluation design, annotation guidelines, agreement metrics, crowdsourcing QC, IRB guidance |
2358
+ | [references/paper-types.md](references/paper-types.md) | Theory papers (proof writing, theorem structure), survey papers, benchmark papers, position papers |
2359
+
2360
+ ### LaTeX Templates
2361
+
2362
+ Templates in `templates/` for: **NeurIPS 2025**, **ICML 2026**, **ICLR 2026**, **ACL**, **AAAI 2026**, **COLM 2025**.
2363
+
2364
+ See [templates/README.md](templates/README.md) for compilation instructions.
2365
+
2366
+ ### Key External Sources
2367
+
2368
+ **Writing Philosophy:**
2369
+ - [Neel Nanda: How to Write ML Papers](https://www.alignmentforum.org/posts/eJGptPbbFPZGLpjsp/highly-opinionated-advice-on-how-to-write-ml-papers)
2370
+ - [Sebastian Farquhar: How to Write ML Papers](https://sebastianfarquhar.com/on-research/2024/11/04/how_to_write_ml_papers/)
2371
+ - [Gopen & Swan: Science of Scientific Writing](https://cseweb.ucsd.edu/~swanson/papers/science-of-writing.pdf)
2372
+ - [Lipton: Heuristics for Scientific Writing](https://www.approximatelycorrect.com/2018/01/29/heuristics-technical-scientific-writing-machine-learning-perspective/)
2373
+ - [Perez: Easy Paper Writing Tips](https://ethanperez.net/easy-paper-writing-tips/)
2374
+
2375
+ **APIs:** [Semantic Scholar](https://api.semanticscholar.org/api-docs/) | [CrossRef](https://www.crossref.org/documentation/retrieve-metadata/rest-api/) | [arXiv](https://info.arxiv.org/help/api/basics.html)
2376
+
2377
+ **Venues:** [NeurIPS](https://neurips.cc/Conferences/2025/PaperInformation/StyleFiles) | [ICML](https://icml.cc/Conferences/2025/AuthorInstructions) | [ICLR](https://iclr.cc/Conferences/2026/AuthorGuide) | [ACL](https://github.com/acl-org/acl-style-files)