@litfamily/litgrok 1.0.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 (522) hide show
  1. package/.grok/agents/litgrok-executor.md +33 -0
  2. package/.grok/agents/litgrok-korean-prose-editor.md +32 -0
  3. package/.grok/agents/litgrok-korean-style-analyzer.md +30 -0
  4. package/.grok/agents/litgrok-librarian-researcher.md +31 -0
  5. package/.grok/agents/litgrok-meaning-preservation-auditor.md +30 -0
  6. package/.grok/agents/litgrok-native-flow-reviewer.md +30 -0
  7. package/.grok/agents/litgrok-planner.md +31 -0
  8. package/.grok/agents/litgrok-polish-orchestrator.md +30 -0
  9. package/.grok/agents/litgrok-qa-runner.md +33 -0
  10. package/.grok/agents/litgrok-quality-reviewer.md +33 -0
  11. package/.grok/agents/litgrok-verifier.md +32 -0
  12. package/.grok/hooks/deliverable-hedge-guard.json +16 -0
  13. package/.grok/hooks/deliverable-hedge-guard.mjs +148 -0
  14. package/.grok/hooks/lit-mark.mjs +142 -0
  15. package/.grok/hooks/plan-gate.mjs +81 -0
  16. package/.grok/hooks/post-compact.json +15 -0
  17. package/.grok/hooks/post-compact.mjs +6 -0
  18. package/.grok/hooks/post-tool-use-failure.json +15 -0
  19. package/.grok/hooks/post-tool-use-failure.mjs +6 -0
  20. package/.grok/hooks/post-tool-use.json +16 -0
  21. package/.grok/hooks/post-tool-use.mjs +7 -0
  22. package/.grok/hooks/pre-compact.json +15 -0
  23. package/.grok/hooks/pre-compact.mjs +6 -0
  24. package/.grok/hooks/record-passive-event.mjs +198 -0
  25. package/.grok/hooks/session-start.json +15 -0
  26. package/.grok/hooks/session-start.mjs +37 -0
  27. package/.grok/hooks/stop-failure.json +15 -0
  28. package/.grok/hooks/stop-failure.mjs +6 -0
  29. package/.grok/hooks/stop.json +15 -0
  30. package/.grok/hooks/stop.mjs +36 -0
  31. package/.grok/hooks/subagent-start.json +15 -0
  32. package/.grok/hooks/subagent-start.mjs +6 -0
  33. package/.grok/hooks/subagent-stop.json +15 -0
  34. package/.grok/hooks/subagent-stop.mjs +6 -0
  35. package/.grok/hooks/user-prompt-submit.json +15 -0
  36. package/.grok/hooks/user-prompt-submit.mjs +7 -0
  37. package/.grok/rules/00-litgrok.md +152 -0
  38. package/.grok/skills/autoconference/LICENSE +21 -0
  39. package/.grok/skills/autoconference/PROVENANCE.md +23 -0
  40. package/.grok/skills/autoconference/SKILL.md +140 -0
  41. package/.grok/skills/autoconference/assets/conference_template.md +76 -0
  42. package/.grok/skills/autoconference/assets/report_template.md +56 -0
  43. package/.grok/skills/autoconference/assets/synthesis_template.md +40 -0
  44. package/.grok/skills/autoconference/references/_canonical-corpus/manifest.json +138 -0
  45. package/.grok/skills/autoconference/references/agent-prompts.md +30 -0
  46. package/.grok/skills/autoconference/references/conference-protocol.md +21 -0
  47. package/.grok/skills/autoconference/references/core-principles.md +13 -0
  48. package/.grok/skills/autoconference/references/family-contract.md +26 -0
  49. package/.grok/skills/autoconference/references/modes/analyze.md +11 -0
  50. package/.grok/skills/autoconference/references/modes/core/convergence-guide.md +41 -0
  51. package/.grok/skills/autoconference/references/modes/core/crash-recovery.md +11 -0
  52. package/.grok/skills/autoconference/references/modes/core.md +26 -0
  53. package/.grok/skills/autoconference/references/modes/debate.md +11 -0
  54. package/.grok/skills/autoconference/references/modes/plan.md +12 -0
  55. package/.grok/skills/autoconference/references/modes/resume.md +11 -0
  56. package/.grok/skills/autoconference/references/modes/ship.md +11 -0
  57. package/.grok/skills/autoconference/references/modes/survey.md +11 -0
  58. package/.grok/skills/autoconference/references/results-logging.md +12 -0
  59. package/.grok/skills/autoconference/references/visualization-guide.md +10 -0
  60. package/.grok/skills/autoconference/scripts/init_conference.py +646 -0
  61. package/.grok/skills/autoconference/scripts/verify-canonical-corpus.mjs +177 -0
  62. package/.grok/skills/autoconference/templates/code-performance.md +59 -0
  63. package/.grok/skills/autoconference/templates/debate-mode.md +50 -0
  64. package/.grok/skills/autoconference/templates/prompt-optimization.md +58 -0
  65. package/.grok/skills/autoconference/templates/quick-conference.md +48 -0
  66. package/.grok/skills/autoconference/templates/research-synthesis.md +56 -0
  67. package/.grok/skills/autoconference/templates/survey-mode.md +63 -0
  68. package/.grok/skills/autoresearch/LICENSE +21 -0
  69. package/.grok/skills/autoresearch/PROVENANCE.md +22 -0
  70. package/.grok/skills/autoresearch/SKILL.md +149 -0
  71. package/.grok/skills/autoresearch/assets/report_template.md +52 -0
  72. package/.grok/skills/autoresearch/assets/research_template.md +38 -0
  73. package/.grok/skills/autoresearch/assets/results_template.tsv +2 -0
  74. package/.grok/skills/autoresearch/references/_canonical-corpus/manifest.json +148 -0
  75. package/.grok/skills/autoresearch/references/core-principles.md +16 -0
  76. package/.grok/skills/autoresearch/references/family-contract.md +36 -0
  77. package/.grok/skills/autoresearch/references/modes/core/evaluator-contract.md +12 -0
  78. package/.grok/skills/autoresearch/references/modes/core/stuck-detection.md +11 -0
  79. package/.grok/skills/autoresearch/references/modes/core.md +21 -0
  80. package/.grok/skills/autoresearch/references/modes/debug/investigation-techniques.md +11 -0
  81. package/.grok/skills/autoresearch/references/modes/debug.md +11 -0
  82. package/.grok/skills/autoresearch/references/modes/fix.md +11 -0
  83. package/.grok/skills/autoresearch/references/modes/learn.md +11 -0
  84. package/.grok/skills/autoresearch/references/modes/plan.md +14 -0
  85. package/.grok/skills/autoresearch/references/modes/predict/persona-templates.md +11 -0
  86. package/.grok/skills/autoresearch/references/modes/predict.md +11 -0
  87. package/.grok/skills/autoresearch/references/modes/reason.md +11 -0
  88. package/.grok/skills/autoresearch/references/modes/scenario/dimensions.md +11 -0
  89. package/.grok/skills/autoresearch/references/modes/scenario.md +11 -0
  90. package/.grok/skills/autoresearch/references/modes/security/owasp-checklist.md +11 -0
  91. package/.grok/skills/autoresearch/references/modes/security/stride-model.md +11 -0
  92. package/.grok/skills/autoresearch/references/modes/security.md +12 -0
  93. package/.grok/skills/autoresearch/references/modes/ship/type-checklists.md +12 -0
  94. package/.grok/skills/autoresearch/references/modes/ship.md +11 -0
  95. package/.grok/skills/autoresearch/references/results-logging.md +12 -0
  96. package/.grok/skills/autoresearch/references/visualization-guide.md +24 -0
  97. package/.grok/skills/autoresearch/scripts/init_research.py +391 -0
  98. package/.grok/skills/autoresearch/scripts/style_presets.py +123 -0
  99. package/.grok/skills/autoresearch/scripts/verify-canonical-corpus.mjs +179 -0
  100. package/.grok/skills/browser-drive/SKILL.md +194 -0
  101. package/.grok/skills/browser-drive/references/snapshot-act-loop.md +61 -0
  102. package/.grok/skills/comment-checker/SKILL.md +194 -0
  103. package/.grok/skills/debugging/SKILL.md +82 -0
  104. package/.grok/skills/debugging/references/methodology/00-setup.md +108 -0
  105. package/.grok/skills/debugging/references/methodology/02-investigate.md +126 -0
  106. package/.grok/skills/debugging/references/methodology/04-oracle-triple.md +106 -0
  107. package/.grok/skills/debugging/references/methodology/05-escalate.md +69 -0
  108. package/.grok/skills/debugging/references/methodology/06-fix.md +116 -0
  109. package/.grok/skills/debugging/references/methodology/08-qa.md +94 -0
  110. package/.grok/skills/debugging/references/methodology/09-cleanup.md +164 -0
  111. package/.grok/skills/debugging/references/methodology/partial-runtime-evidence.md +228 -0
  112. package/.grok/skills/debugging/references/post-tool-use-failure-taxonomy.md +55 -0
  113. package/.grok/skills/debugging/references/reproduction-recipes.md +182 -0
  114. package/.grok/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  115. package/.grok/skills/debugging/references/runtimes/go.md +252 -0
  116. package/.grok/skills/debugging/references/runtimes/native-binary.md +484 -0
  117. package/.grok/skills/debugging/references/runtimes/node.md +260 -0
  118. package/.grok/skills/debugging/references/runtimes/python.md +248 -0
  119. package/.grok/skills/debugging/references/runtimes/rust.md +234 -0
  120. package/.grok/skills/debugging/references/tools/ghidra.md +212 -0
  121. package/.grok/skills/debugging/references/tools/playwright-cli.md +194 -0
  122. package/.grok/skills/debugging/references/tools/pwndbg.md +263 -0
  123. package/.grok/skills/debugging/references/tools/pwntools.md +265 -0
  124. package/.grok/skills/deep-interview/SKILL.md +216 -0
  125. package/.grok/skills/frontend-ui-ux/LICENSE +21 -0
  126. package/.grok/skills/frontend-ui-ux/PROVENANCE.json +38 -0
  127. package/.grok/skills/frontend-ui-ux/SKILL.md +58 -0
  128. package/.grok/skills/frontend-ui-ux/SOURCE-MANIFEST.json +1060 -0
  129. package/.grok/skills/frontend-ui-ux/THIRD-PARTY-NOTICE.txt +14 -0
  130. package/.grok/skills/frontend-ui-ux/data/design-intelligence.json +1 -0
  131. package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-ATTRIBUTION.md +217 -0
  132. package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-LICENSE-Apache-2.0.txt +201 -0
  133. package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/root-LICENSE +21 -0
  134. package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +873 -0
  135. package/.grok/skills/frontend-ui-ux/references/adaptive-layout.md +92 -0
  136. package/.grok/skills/frontend-ui-ux/references/brand-and-imagery.md +93 -0
  137. package/.grok/skills/frontend-ui-ux/references/complete-contract.md +557 -0
  138. package/.grok/skills/frontend-ui-ux/references/composition.md +85 -0
  139. package/.grok/skills/frontend-ui-ux/references/creative-directions.md +80 -0
  140. package/.grok/skills/frontend-ui-ux/references/design/README.md +248 -0
  141. package/.grok/skills/frontend-ui-ux/references/design/_INDEX.md +191 -0
  142. package/.grok/skills/frontend-ui-ux/references/design/airbnb.md +393 -0
  143. package/.grok/skills/frontend-ui-ux/references/design/airtable.md +92 -0
  144. package/.grok/skills/frontend-ui-ux/references/design/apple.md +250 -0
  145. package/.grok/skills/frontend-ui-ux/references/design/aside.md +209 -0
  146. package/.grok/skills/frontend-ui-ux/references/design/binance.md +348 -0
  147. package/.grok/skills/frontend-ui-ux/references/design/bmw.md +183 -0
  148. package/.grok/skills/frontend-ui-ux/references/design/brutalist-skill.md +92 -0
  149. package/.grok/skills/frontend-ui-ux/references/design/bugatti.md +271 -0
  150. package/.grok/skills/frontend-ui-ux/references/design/cal.md +262 -0
  151. package/.grok/skills/frontend-ui-ux/references/design/claude.md +315 -0
  152. package/.grok/skills/frontend-ui-ux/references/design/clay.md +307 -0
  153. package/.grok/skills/frontend-ui-ux/references/design/clickhouse.md +284 -0
  154. package/.grok/skills/frontend-ui-ux/references/design/clone-from-url.md +65 -0
  155. package/.grok/skills/frontend-ui-ux/references/design/cohere.md +269 -0
  156. package/.grok/skills/frontend-ui-ux/references/design/coinbase.md +132 -0
  157. package/.grok/skills/frontend-ui-ux/references/design/composio.md +310 -0
  158. package/.grok/skills/frontend-ui-ux/references/design/cursor.md +312 -0
  159. package/.grok/skills/frontend-ui-ux/references/design/design-system-architecture.md +244 -0
  160. package/.grok/skills/frontend-ui-ux/references/design/elevenlabs.md +268 -0
  161. package/.grok/skills/frontend-ui-ux/references/design/expo.md +284 -0
  162. package/.grok/skills/frontend-ui-ux/references/design/ferrari.md +317 -0
  163. package/.grok/skills/frontend-ui-ux/references/design/figma.md +223 -0
  164. package/.grok/skills/frontend-ui-ux/references/design/framer.md +249 -0
  165. package/.grok/skills/frontend-ui-ux/references/design/gpt-tasteskill.md +74 -0
  166. package/.grok/skills/frontend-ui-ux/references/design/hashicorp.md +281 -0
  167. package/.grok/skills/frontend-ui-ux/references/design/ibm.md +335 -0
  168. package/.grok/skills/frontend-ui-ux/references/design/image-to-code-skill.md +1228 -0
  169. package/.grok/skills/frontend-ui-ux/references/design/imagegen-brandkit.md +798 -0
  170. package/.grok/skills/frontend-ui-ux/references/design/imagegen-frontend-mobile.md +1465 -0
  171. package/.grok/skills/frontend-ui-ux/references/design/imagegen-frontend-web.md +987 -0
  172. package/.grok/skills/frontend-ui-ux/references/design/intercom.md +149 -0
  173. package/.grok/skills/frontend-ui-ux/references/design/kraken.md +128 -0
  174. package/.grok/skills/frontend-ui-ux/references/design/lamborghini.md +291 -0
  175. package/.grok/skills/frontend-ui-ux/references/design/layout-skill.md +107 -0
  176. package/.grok/skills/frontend-ui-ux/references/design/lazyweb.md +77 -0
  177. package/.grok/skills/frontend-ui-ux/references/design/linear.app.md +370 -0
  178. package/.grok/skills/frontend-ui-ux/references/design/lovable.md +301 -0
  179. package/.grok/skills/frontend-ui-ux/references/design/mastercard.md +368 -0
  180. package/.grok/skills/frontend-ui-ux/references/design/meta.md +369 -0
  181. package/.grok/skills/frontend-ui-ux/references/design/minimalist-skill.md +85 -0
  182. package/.grok/skills/frontend-ui-ux/references/design/minimax.md +260 -0
  183. package/.grok/skills/frontend-ui-ux/references/design/mintlify.md +329 -0
  184. package/.grok/skills/frontend-ui-ux/references/design/miro.md +111 -0
  185. package/.grok/skills/frontend-ui-ux/references/design/mistral.ai.md +264 -0
  186. package/.grok/skills/frontend-ui-ux/references/design/mongodb.md +269 -0
  187. package/.grok/skills/frontend-ui-ux/references/design/nike.md +366 -0
  188. package/.grok/skills/frontend-ui-ux/references/design/notion.md +312 -0
  189. package/.grok/skills/frontend-ui-ux/references/design/nvidia.md +296 -0
  190. package/.grok/skills/frontend-ui-ux/references/design/ollama.md +270 -0
  191. package/.grok/skills/frontend-ui-ux/references/design/opencode.ai.md +284 -0
  192. package/.grok/skills/frontend-ui-ux/references/design/output-skill.md +49 -0
  193. package/.grok/skills/frontend-ui-ux/references/design/pinterest.md +233 -0
  194. package/.grok/skills/frontend-ui-ux/references/design/playstation.md +367 -0
  195. package/.grok/skills/frontend-ui-ux/references/design/posthog.md +259 -0
  196. package/.grok/skills/frontend-ui-ux/references/design/raycast.md +271 -0
  197. package/.grok/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md +230 -0
  198. package/.grok/skills/frontend-ui-ux/references/design/redesign-skill.md +178 -0
  199. package/.grok/skills/frontend-ui-ux/references/design/renault.md +314 -0
  200. package/.grok/skills/frontend-ui-ux/references/design/replicate.md +264 -0
  201. package/.grok/skills/frontend-ui-ux/references/design/resend.md +306 -0
  202. package/.grok/skills/frontend-ui-ux/references/design/revolut.md +188 -0
  203. package/.grok/skills/frontend-ui-ux/references/design/runwayml.md +247 -0
  204. package/.grok/skills/frontend-ui-ux/references/design/sanity.md +360 -0
  205. package/.grok/skills/frontend-ui-ux/references/design/sentry.md +265 -0
  206. package/.grok/skills/frontend-ui-ux/references/design/shopify.md +353 -0
  207. package/.grok/skills/frontend-ui-ux/references/design/soft-skill.md +98 -0
  208. package/.grok/skills/frontend-ui-ux/references/design/spacex.md +197 -0
  209. package/.grok/skills/frontend-ui-ux/references/design/spotify.md +249 -0
  210. package/.grok/skills/frontend-ui-ux/references/design/starbucks.md +583 -0
  211. package/.grok/skills/frontend-ui-ux/references/design/stitch-design-example.md +121 -0
  212. package/.grok/skills/frontend-ui-ux/references/design/stitch-skill.md +184 -0
  213. package/.grok/skills/frontend-ui-ux/references/design/stripe.md +325 -0
  214. package/.grok/skills/frontend-ui-ux/references/design/supabase.md +258 -0
  215. package/.grok/skills/frontend-ui-ux/references/design/superhuman.md +255 -0
  216. package/.grok/skills/frontend-ui-ux/references/design/taste-skill.md +1206 -0
  217. package/.grok/skills/frontend-ui-ux/references/design/tesla.md +289 -0
  218. package/.grok/skills/frontend-ui-ux/references/design/theverge.md +342 -0
  219. package/.grok/skills/frontend-ui-ux/references/design/together.ai.md +266 -0
  220. package/.grok/skills/frontend-ui-ux/references/design/uber.md +298 -0
  221. package/.grok/skills/frontend-ui-ux/references/design/vercel.md +313 -0
  222. package/.grok/skills/frontend-ui-ux/references/design/vodafone.md +426 -0
  223. package/.grok/skills/frontend-ui-ux/references/design/voltagent.md +326 -0
  224. package/.grok/skills/frontend-ui-ux/references/design/warp.md +256 -0
  225. package/.grok/skills/frontend-ui-ux/references/design/webflow.md +95 -0
  226. package/.grok/skills/frontend-ui-ux/references/design/wired.md +281 -0
  227. package/.grok/skills/frontend-ui-ux/references/design/wise.md +176 -0
  228. package/.grok/skills/frontend-ui-ux/references/design/x.ai.md +260 -0
  229. package/.grok/skills/frontend-ui-ux/references/design/zapier.md +331 -0
  230. package/.grok/skills/frontend-ui-ux/references/designpowers/EVIDENCE.md +97 -0
  231. package/.grok/skills/frontend-ui-ux/references/designpowers/README.md +48 -0
  232. package/.grok/skills/frontend-ui-ux/references/designpowers/UPSTREAM.md +80 -0
  233. package/.grok/skills/frontend-ui-ux/references/designpowers/lane-a-direction.md +64 -0
  234. package/.grok/skills/frontend-ui-ux/references/designpowers/lane-b-execution.md +65 -0
  235. package/.grok/skills/frontend-ui-ux/references/designpowers/lane-c-review.md +65 -0
  236. package/.grok/skills/frontend-ui-ux/references/designpowers/lane-d-memory.md +83 -0
  237. package/.grok/skills/frontend-ui-ux/references/designpowers/orchestration.md +80 -0
  238. package/.grok/skills/frontend-ui-ux/references/designpowers/routing.md +79 -0
  239. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/LICENSE +21 -0
  240. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  241. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/content-writer.md +132 -0
  242. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-builder.md +109 -0
  243. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-critic.md +89 -0
  244. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-lead.md +113 -0
  245. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-scout.md +78 -0
  246. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-strategist.md +121 -0
  247. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  248. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
  249. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/motion-designer.md +120 -0
  250. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/accessible-content/reference.md +101 -0
  251. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
  252. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
  253. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debate/reference.md +199 -0
  254. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
  255. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-handoff/reference.md +125 -0
  256. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-md/reference.md +106 -0
  257. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
  258. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-review/reference.md +123 -0
  259. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
  260. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
  261. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
  262. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
  263. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
  264. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/interaction-design/reference.md +122 -0
  265. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
  266. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/research-planning/reference.md +96 -0
  267. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
  268. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
  269. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
  270. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-report/reference.md +78 -0
  271. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/token-architecture/reference.md +75 -0
  272. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/ui-composition/reference.md +117 -0
  273. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/usability-testing/reference.md +78 -0
  274. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
  275. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
  276. package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
  277. package/.grok/skills/frontend-ui-ux/references/evidence-review.md +126 -0
  278. package/.grok/skills/frontend-ui-ux/references/implementation-platforms.md +109 -0
  279. package/.grok/skills/frontend-ui-ux/references/inclusive-interface.md +92 -0
  280. package/.grok/skills/frontend-ui-ux/references/interaction-motion.md +101 -0
  281. package/.grok/skills/frontend-ui-ux/references/operating-lanes.md +92 -0
  282. package/.grok/skills/frontend-ui-ux/references/perfection/README.md +160 -0
  283. package/.grok/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md +127 -0
  284. package/.grok/skills/frontend-ui-ux/references/performance-delivery.md +93 -0
  285. package/.grok/skills/frontend-ui-ux/references/product-direction.md +84 -0
  286. package/.grok/skills/frontend-ui-ux/references/redesign-playbook.md +97 -0
  287. package/.grok/skills/frontend-ui-ux/references/system-foundations.md +84 -0
  288. package/.grok/skills/frontend-ui-ux/references/taste-direction.md +86 -0
  289. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/README.md +659 -0
  290. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/charts.csv +26 -0
  291. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/colors.csv +162 -0
  292. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/icons.csv +106 -0
  293. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/landing.csv +35 -0
  294. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/products.csv +162 -0
  295. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv +45 -0
  296. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv +54 -0
  297. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/flutter.csv +53 -0
  298. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  299. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  300. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
  301. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  302. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  303. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react-native.csv +52 -0
  304. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv +54 -0
  305. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
  306. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv +54 -0
  307. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
  308. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/vue.csv +50 -0
  309. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/styles.csv +85 -0
  310. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/typography.csv +74 -0
  311. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/ui-reasoning.csv +162 -0
  312. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/ux-guidelines.csv +100 -0
  313. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/web-interface.csv +31 -0
  314. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/core.py +262 -0
  315. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/design_system.py +1148 -0
  316. package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/search.py +114 -0
  317. package/.grok/skills/frontend-ui-ux/references/visual-language.md +84 -0
  318. package/.grok/skills/frontend-ui-ux/references/visual-reconstruction.md +97 -0
  319. package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.schema.json +306 -0
  320. package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1beta1.schema.json +291 -0
  321. package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1beta2.schema.json +311 -0
  322. package/.grok/skills/frontend-ui-ux/scripts/design-contract-format.mjs +286 -0
  323. package/.grok/skills/frontend-ui-ux/scripts/design-contract-inventory-rules.mjs +354 -0
  324. package/.grok/skills/frontend-ui-ux/scripts/design-contract-rules.mjs +361 -0
  325. package/.grok/skills/frontend-ui-ux/scripts/design-contract-surface-rules.mjs +313 -0
  326. package/.grok/skills/frontend-ui-ux/scripts/design-data.mjs +68 -0
  327. package/.grok/skills/frontend-ui-ux/scripts/errors.mjs +12 -0
  328. package/.grok/skills/frontend-ui-ux/scripts/import-design-intelligence.mjs +124 -0
  329. package/.grok/skills/frontend-ui-ux/scripts/json-boundary.mjs +63 -0
  330. package/.grok/skills/frontend-ui-ux/scripts/query-design-intelligence.mjs +106 -0
  331. package/.grok/skills/frontend-ui-ux/scripts/search.mjs +43 -0
  332. package/.grok/skills/frontend-ui-ux/scripts/source-replay.mjs +153 -0
  333. package/.grok/skills/frontend-ui-ux/scripts/strict-json.mjs +143 -0
  334. package/.grok/skills/frontend-ui-ux/scripts/validate-design-contract.mjs +52 -0
  335. package/.grok/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs +214 -0
  336. package/.grok/skills/lit-burnoff/SKILL.md +175 -0
  337. package/.grok/skills/lit-burnoff-file/SKILL.md +67 -0
  338. package/.grok/skills/lit-code/SKILL.md +531 -0
  339. package/.grok/skills/lit-code/references/go/README.md +90 -0
  340. package/.grok/skills/lit-code/references/go/backend-stack.md +641 -0
  341. package/.grok/skills/lit-code/references/go/bootstrap.md +328 -0
  342. package/.grok/skills/lit-code/references/go/bubbletea-v2.md +360 -0
  343. package/.grok/skills/lit-code/references/go/cobra-stack.md +468 -0
  344. package/.grok/skills/lit-code/references/go/concurrency.md +362 -0
  345. package/.grok/skills/lit-code/references/go/data-modeling.md +329 -0
  346. package/.grok/skills/lit-code/references/go/error-handling.md +359 -0
  347. package/.grok/skills/lit-code/references/go/golangci-strict.md +236 -0
  348. package/.grok/skills/lit-code/references/go/grpc-connect.md +375 -0
  349. package/.grok/skills/lit-code/references/go/libraries.md +337 -0
  350. package/.grok/skills/lit-code/references/go/one-liners.md +202 -0
  351. package/.grok/skills/lit-code/references/go/sqlc-pgx.md +471 -0
  352. package/.grok/skills/lit-code/references/go/testing.md +467 -0
  353. package/.grok/skills/lit-code/references/go/type-patterns.md +298 -0
  354. package/.grok/skills/lit-code/references/permission-sandbox-matrix.md +70 -0
  355. package/.grok/skills/lit-code/references/python/README.md +314 -0
  356. package/.grok/skills/lit-code/references/python/async-anyio.md +442 -0
  357. package/.grok/skills/lit-code/references/python/data-modeling.md +233 -0
  358. package/.grok/skills/lit-code/references/python/data-processing.md +133 -0
  359. package/.grok/skills/lit-code/references/python/error-handling.md +218 -0
  360. package/.grok/skills/lit-code/references/python/fastapi-stack.md +316 -0
  361. package/.grok/skills/lit-code/references/python/httpx2-optimization.md +360 -0
  362. package/.grok/skills/lit-code/references/python/libraries.md +307 -0
  363. package/.grok/skills/lit-code/references/python/one-liners.md +268 -0
  364. package/.grok/skills/lit-code/references/python/orjson-stack.md +378 -0
  365. package/.grok/skills/lit-code/references/python/pydantic-ai.md +285 -0
  366. package/.grok/skills/lit-code/references/python/pyproject-strict.md +232 -0
  367. package/.grok/skills/lit-code/references/python/textual-tui.md +201 -0
  368. package/.grok/skills/lit-code/references/python/type-patterns.md +176 -0
  369. package/.grok/skills/lit-code/references/rust/README.md +317 -0
  370. package/.grok/skills/lit-code/references/rust/async-tokio.md +299 -0
  371. package/.grok/skills/lit-code/references/rust/axum-stack.md +467 -0
  372. package/.grok/skills/lit-code/references/rust/cargo-strict.md +317 -0
  373. package/.grok/skills/lit-code/references/rust/clap-stack.md +409 -0
  374. package/.grok/skills/lit-code/references/rust/concurrency.md +375 -0
  375. package/.grok/skills/lit-code/references/rust/libraries.md +439 -0
  376. package/.grok/skills/lit-code/references/rust/one-liners.md +291 -0
  377. package/.grok/skills/lit-code/references/rust/proptest-insta.md +429 -0
  378. package/.grok/skills/lit-code/references/rust/type-state.md +354 -0
  379. package/.grok/skills/lit-code/references/rust/unsafe-discipline.md +250 -0
  380. package/.grok/skills/lit-code/references/rust/zero-cost-safety.md +527 -0
  381. package/.grok/skills/lit-code/references/rust-ub/README.md +289 -0
  382. package/.grok/skills/lit-code/references/rust-ub/miri-sanitizers-loom.md +411 -0
  383. package/.grok/skills/lit-code/references/rust-ub/ub-taxonomy.md +269 -0
  384. package/.grok/skills/lit-code/references/tool-boundaries.md +66 -0
  385. package/.grok/skills/lit-code/references/typescript/README.md +195 -0
  386. package/.grok/skills/lit-code/references/typescript/backend-hono.md +672 -0
  387. package/.grok/skills/lit-code/references/typescript/bootstrap.md +199 -0
  388. package/.grok/skills/lit-code/references/typescript/data-modeling.md +202 -0
  389. package/.grok/skills/lit-code/references/typescript/error-handling.md +169 -0
  390. package/.grok/skills/lit-code/references/typescript/tsconfig-strict.md +152 -0
  391. package/.grok/skills/lit-code/references/typescript/type-patterns.md +196 -0
  392. package/.grok/skills/lit-code/references/worked-cases.md +190 -0
  393. package/.grok/skills/lit-commit/SKILL.md +218 -0
  394. package/.grok/skills/lit-comprehend/SKILL.md +63 -0
  395. package/.grok/skills/lit-comprehend/references/artifact-format.md +58 -0
  396. package/.grok/skills/lit-comprehend/references/artifact-template.md +219 -0
  397. package/.grok/skills/lit-comprehend/references/honesty-ledger-contract.md +51 -0
  398. package/.grok/skills/lit-comprehend/references/micro-worlds.md +195 -0
  399. package/.grok/skills/lit-comprehend/references/worked-explainer.md +51 -0
  400. package/.grok/skills/lit-crucible/SKILL.md +231 -0
  401. package/.grok/skills/lit-handoff/SKILL.md +159 -0
  402. package/.grok/skills/lit-handoff/evals/evals.json +154 -0
  403. package/.grok/skills/lit-handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
  404. package/.grok/skills/lit-handoff/references/_canonical-corpus/manifest.json +17 -0
  405. package/.grok/skills/lit-handoff/references/source-pointer.md +31 -0
  406. package/.grok/skills/lit-handoff/scripts/verify-canonical-corpus.mjs +137 -0
  407. package/.grok/skills/lit-handoff/templates/HANDOFF.md +121 -0
  408. package/.grok/skills/lit-init/SKILL.md +244 -0
  409. package/.grok/skills/lit-korean/SKILL.md +176 -0
  410. package/.grok/skills/lit-plan/SKILL.md +71 -0
  411. package/.grok/skills/lit-plan/references/plan-schema.md +87 -0
  412. package/.grok/skills/lit-plan/references/start-work-handoff-contract.md +59 -0
  413. package/.grok/skills/lit-plan/scripts/scaffold-plan.mjs +259 -0
  414. package/.grok/skills/lit-plan/scripts/validate-plan.mjs +89 -0
  415. package/.grok/skills/lit-recap/SKILL.md +57 -0
  416. package/.grok/skills/lit-scientific-visualization/SKILL.md +213 -0
  417. package/.grok/skills/lit-scientific-visualization/scripts/verify-canonical-corpus.mjs +181 -0
  418. package/.grok/skills/lit-team/SKILL.md +73 -0
  419. package/.grok/skills/lit-team/references/explore-packet.md +70 -0
  420. package/.grok/skills/lit-team/references/general-purpose-packet.md +75 -0
  421. package/.grok/skills/lit-team/references/plan-packet.md +73 -0
  422. package/.grok/skills/litgoal/SKILL.md +98 -0
  423. package/.grok/skills/litgrok/SKILL.md +77 -0
  424. package/.grok/skills/litresearch/SKILL.md +60 -0
  425. package/.grok/skills/litresearch/references/mcp-tool-use-patterns.md +83 -0
  426. package/.grok/skills/litresearch/references/source-verdict-taxonomy.md +40 -0
  427. package/.grok/skills/litwork/SKILL.md +109 -0
  428. package/.grok/skills/lsp/SKILL.md +56 -0
  429. package/.grok/skills/lsp/references/built-in-lsp-contract.md +71 -0
  430. package/.grok/skills/lsp-setup/SKILL.md +82 -0
  431. package/.grok/skills/lsp-setup/references/bash/README.md +54 -0
  432. package/.grok/skills/lsp-setup/references/c-cpp/README.md +58 -0
  433. package/.grok/skills/lsp-setup/references/csharp/README.md +64 -0
  434. package/.grok/skills/lsp-setup/references/dart/README.md +48 -0
  435. package/.grok/skills/lsp-setup/references/elixir/README.md +51 -0
  436. package/.grok/skills/lsp-setup/references/go/README.md +53 -0
  437. package/.grok/skills/lsp-setup/references/haskell/README.md +57 -0
  438. package/.grok/skills/lsp-setup/references/java/README.md +55 -0
  439. package/.grok/skills/lsp-setup/references/julia/README.md +56 -0
  440. package/.grok/skills/lsp-setup/references/kotlin/README.md +58 -0
  441. package/.grok/skills/lsp-setup/references/lua/README.md +48 -0
  442. package/.grok/skills/lsp-setup/references/php/README.md +49 -0
  443. package/.grok/skills/lsp-setup/references/python/README.md +60 -0
  444. package/.grok/skills/lsp-setup/references/ruby/README.md +53 -0
  445. package/.grok/skills/lsp-setup/references/rust/README.md +55 -0
  446. package/.grok/skills/lsp-setup/references/swift/README.md +52 -0
  447. package/.grok/skills/lsp-setup/references/terraform/README.md +50 -0
  448. package/.grok/skills/lsp-setup/references/typescript/README.md +63 -0
  449. package/.grok/skills/lsp-setup/references/yaml/README.md +47 -0
  450. package/.grok/skills/lsp-setup/references/zig/README.md +49 -0
  451. package/.grok/skills/lsp-setup/scripts/detect-lsp.mjs +40 -0
  452. package/.grok/skills/lsp-setup/scripts/lsp-server-table.mjs +309 -0
  453. package/.grok/skills/lsp-setup/scripts/verify-lsp.mjs +54 -0
  454. package/.grok/skills/refactor/SKILL.md +210 -0
  455. package/.grok/skills/review-work/SKILL.md +515 -0
  456. package/.grok/skills/review-work/references/behavior-lane-contract.md +48 -0
  457. package/.grok/skills/review-work/references/documentation-lane-contract.md +49 -0
  458. package/.grok/skills/review-work/references/integration-lane-contract.md +51 -0
  459. package/.grok/skills/review-work/references/regression-lane-contract.md +48 -0
  460. package/.grok/skills/review-work/references/safety-lane-contract.md +48 -0
  461. package/.grok/skills/review-work/references/test-lane-contract.md +48 -0
  462. package/.grok/skills/review-work/scripts/check-lanes.mjs +63 -0
  463. package/.grok/skills/rules/SKILL.md +51 -0
  464. package/.grok/skills/rules/references/loading-order-contract.md +66 -0
  465. package/.grok/skills/rules/scripts/resolve-guidance.mjs +180 -0
  466. package/.grok/skills/skill-observer/SKILL.md +78 -0
  467. package/.grok/skills/skill-observer/references/review-contract.md +77 -0
  468. package/.grok/skills/skill-observer/scripts/curator.mjs +121 -0
  469. package/.grok/skills/skill-observer/scripts/review.mjs +347 -0
  470. package/.grok/skills/skill-observer/scripts/skill-loop.mjs +2087 -0
  471. package/.grok/skills/skill-observer/scripts/validate-skills.mjs +83 -0
  472. package/.grok/skills/start-work/SKILL.md +396 -0
  473. package/.grok/skills/structural-search/SKILL.md +195 -0
  474. package/.grok/skills/visual-qa/SKILL.md +50 -0
  475. package/.grok/skills/visual-qa/references/capture-playbook.md +47 -0
  476. package/.grok/skills/visual-qa/references/complete-contract.md +721 -0
  477. package/.grok/skills/visual-qa/references/verdict-taxonomy.md +34 -0
  478. package/.grok/skills/visual-qa/scripts/verify-evidence-manifest.mjs +91 -0
  479. package/.grok/skills/wikify/SKILL.md +65 -0
  480. package/.grok/skills/wikify/references/page-format.md +81 -0
  481. package/.grok/skills/wikify/references/provenance-contract.md +52 -0
  482. package/.grok/vendor/NOTICE.md +16 -0
  483. package/.grok/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
  484. package/.grok/vendor/provenance/045_scientific-visualization.md +37 -0
  485. package/.grok/vendor/scientific-visualization/assets/color_palettes.py +197 -0
  486. package/.grok/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
  487. package/.grok/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
  488. package/.grok/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
  489. package/.grok/vendor/scientific-visualization/evals/evals.json +158 -0
  490. package/.grok/vendor/scientific-visualization/references/_canonical-corpus/manifest.json +38 -0
  491. package/.grok/vendor/scientific-visualization/references/color_palettes.md +380 -0
  492. package/.grok/vendor/scientific-visualization/references/journal_requirements.md +359 -0
  493. package/.grok/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
  494. package/.grok/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
  495. package/.grok/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
  496. package/.grok/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
  497. package/.grok/vendor/scientific-visualization/scripts/figure_export.py +238 -0
  498. package/.grok/vendor/scientific-visualization/scripts/style_presets.py +467 -0
  499. package/.grok/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
  500. package/.grok/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
  501. package/CHANGELOG.md +131 -0
  502. package/CODE_OF_CONDUCT.md +9 -0
  503. package/CONTRIBUTING.md +22 -0
  504. package/LICENSE +21 -0
  505. package/README.md +228 -0
  506. package/README_ko-KR.md +228 -0
  507. package/SECURITY.md +11 -0
  508. package/SUPPORT.md +9 -0
  509. package/bin/litgrok.mjs +860 -0
  510. package/docs/assets/cover.webp +0 -0
  511. package/docs/assets/litgrok-clay-icon.png +0 -0
  512. package/docs/assets/litgrok-continuity-1600.webp +0 -0
  513. package/docs/assets/litgrok-ignition-1600.webp +0 -0
  514. package/docs/assets/litgrok-wordmark.svg +5 -0
  515. package/docs/assets/readme/README.md +31 -0
  516. package/docs/assets/readme/badge-license.svg +1 -0
  517. package/docs/assets/readme/badge-version.svg +1 -0
  518. package/docs/privacy.md +13 -0
  519. package/docs/reference.md +271 -0
  520. package/docs/reference_ko-KR.md +267 -0
  521. package/package.json +50 -0
  522. package/plugin.json +27 -0
@@ -0,0 +1,646 @@
1
+ """
2
+ init_conference.py — Scaffold a new autoconference-skill project directory.
3
+
4
+ Usage:
5
+ python init_conference.py --goal "..." --metric "..." --direction {maximize|minimize} \
6
+ [--target "..."] [--researchers 3] [--strategy assigned] \
7
+ [--devils-advocate {yes|no}] [--output ./conference/]
8
+
9
+ python init_conference.py --goal "..." --mode qualitative --criteria "..." \
10
+ [--researchers 3] [--output ./conference/]
11
+ """
12
+
13
+ import argparse
14
+ import math
15
+ import os
16
+ import re
17
+ import secrets
18
+ import stat
19
+ import string
20
+ import sys
21
+ import textwrap
22
+ from datetime import datetime
23
+ from pathlib import Path
24
+ from typing import List, Optional, Tuple
25
+
26
+
27
+ CONFERENCE_TEMPLATE_METRIC = """\
28
+ # Conference: {title}
29
+
30
+ ## Goal
31
+ {goal}
32
+
33
+ ## Mode
34
+ metric
35
+
36
+ ## Success Metric
37
+ - **Metric:** {metric}
38
+ - **Target:** {target}
39
+ - **Direction:** {direction}
40
+
41
+ ## Researchers
42
+ - **Count:** {researchers}
43
+ - **Iterations per round:** {iterations_per_round}
44
+ - **Max rounds:** {max_rounds}
45
+
46
+ ## Pre-Flight Gate
47
+ - **Researcher count:** {researchers}
48
+ - **Iterations per round:** {iterations_per_round}
49
+ - **Max rounds:** {max_rounds}
50
+ - **Max total iterations:** {max_total_iterations}
51
+ - **Success definition:** {gate_success_definition}
52
+ - **Critic / Devil's Advocate:** {critic_setting}
53
+ - **Final confirmation:** pending — Conference Chair must summarize these conditions and get explicit user confirmation before execution.
54
+ - **Missing or vague values:** ask the user for exact values first, then recalculate this gate and request final confirmation. Do not start Phase 1 until confirmation is explicit.
55
+
56
+ ## Search Space
57
+ - **Allowed changes:** _Define what researchers can modify._
58
+ - **Forbidden changes:** _Define what must NOT change (e.g., test data, eval scripts)._
59
+
60
+ ## Search Space Partitioning
61
+ - **Strategy:** {strategy}
62
+
63
+ {researcher_sections}
64
+
65
+ ## Guard
66
+ {guard}
67
+
68
+ ## Noise Handling
69
+ - **Noise runs:** {noise_runs}
70
+ - **Min consensus delta:** {min_delta}
71
+
72
+ ## Constraints
73
+ - **Max total iterations:** {max_total_iterations}
74
+ - **Time budget:** 2h
75
+ - **Researcher timeout:** 30m
76
+
77
+ ## Current Approach
78
+ _Describe the baseline. What exists now?_
79
+
80
+ ## Shared Knowledge
81
+ <!-- Auto-populated after each round with validated findings -->
82
+
83
+ ## Context & References
84
+ _Add relevant papers, docs, or URLs here._
85
+
86
+ ---
87
+
88
+ ## Conference Log
89
+ <!-- Auto-maintained by Conference Chair. Do not edit manually. -->
90
+ | Round | Researcher | Best Metric | Key Finding | Status |
91
+ |-------|-----------|-------------|-------------|--------|
92
+ """
93
+
94
+ CONFERENCE_TEMPLATE_QUALITATIVE = """\
95
+ # Conference: {title}
96
+
97
+ ## Goal
98
+ {goal}
99
+
100
+ ## Mode
101
+ qualitative
102
+
103
+ ## Success Criteria
104
+ {criteria}
105
+
106
+ ## Researchers
107
+ - **Count:** {researchers}
108
+ - **Iterations per round:** {iterations_per_round}
109
+ - **Max rounds:** {max_rounds}
110
+
111
+ ## Pre-Flight Gate
112
+ - **Researcher count:** {researchers}
113
+ - **Iterations per round:** {iterations_per_round}
114
+ - **Max rounds:** {max_rounds}
115
+ - **Max total iterations:** {max_total_iterations}
116
+ - **Success definition:** {gate_success_definition}
117
+ - **Critic / Devil's Advocate:** {critic_setting}
118
+ - **Final confirmation:** pending — Conference Chair must summarize these conditions and get explicit user confirmation before execution.
119
+ - **Missing or vague values:** ask the user for exact values first, then recalculate this gate and request final confirmation. Do not start Phase 1 until confirmation is explicit.
120
+
121
+ ## Search Space
122
+ - **Allowed changes:** _Define what researchers can modify._
123
+ - **Forbidden changes:** _Define what must NOT change._
124
+
125
+ ## Search Space Partitioning
126
+ - **Strategy:** {strategy}
127
+
128
+ {researcher_sections}
129
+
130
+ ## Guard
131
+ {guard}
132
+
133
+ ## Noise Handling
134
+ - **Noise runs:** {noise_runs}
135
+ - **Min consensus delta:** {min_delta}
136
+
137
+ ## Constraints
138
+ - **Max total iterations:** {max_total_iterations}
139
+ - **Time budget:** 2h
140
+ - **Researcher timeout:** 30m
141
+
142
+ ## Current Approach
143
+ _Describe the baseline. What exists now?_
144
+
145
+ ## Shared Knowledge
146
+ <!-- Auto-populated after each round with validated findings -->
147
+
148
+ ## Context & References
149
+ _Add relevant papers, docs, or URLs here._
150
+
151
+ ---
152
+
153
+ ## Conference Log
154
+ <!-- Auto-maintained by Conference Chair. Do not edit manually. -->
155
+ | Round | Researcher | Best Metric | Key Finding | Status |
156
+ |-------|-----------|-------------|-------------|--------|
157
+ """
158
+
159
+ LOG_TEMPLATE = """\
160
+ # Researcher {rid} Log
161
+
162
+ > Auto-generated by init_conference.py on {date}
163
+ > Conference goal: {goal}
164
+
165
+ ---
166
+
167
+ """
168
+
169
+ RESEARCHER_TSV_HEADER = "iteration\tmetric_value\tdelta\tdelta_pct\tstatus\tdescription\tevaluator_source\ttimestamp\n"
170
+ RESEARCHER_TSV_BASELINE = "0\tTBD\t-\t-\tbaseline\tInitial state\tmanual\t{date}\n"
171
+
172
+ CONFERENCE_TSV_HEADER = (
173
+ "round\tresearcher\titeration\tmetric_value\tdelta\tdelta_pct\t"
174
+ "status\tdescription\tevaluator_source\tpeer_review_verdict\ttimestamp\n"
175
+ )
176
+
177
+ STATIC_MANAGED_FILE_LEAVES = (
178
+ "conference.md",
179
+ "conference_results.tsv",
180
+ "conference_events.jsonl",
181
+ "synthesis.md",
182
+ "conference_report.md",
183
+ "autoconference-run-state.json",
184
+ ".autoconference-loop.pid",
185
+ )
186
+ RESEARCHER_LEAF = re.compile(r"researcher_[A-Z]_(?:log\.md|results\.tsv)\Z")
187
+
188
+
189
+ def fail(code: str, message: str) -> None:
190
+ print(f"Error: {code}: {message}", file=sys.stderr)
191
+ raise SystemExit(1)
192
+
193
+
194
+ def preflight_capabilities() -> None:
195
+ """Fail before mutation unless the required Python/POSIX descriptor APIs exist."""
196
+ required_dir_fd = (os.open, os.mkdir, os.stat, os.unlink, os.link)
197
+ supported = (
198
+ sys.version_info >= (3, 8)
199
+ and hasattr(os, "O_DIRECTORY")
200
+ and hasattr(os, "O_NOFOLLOW")
201
+ and all(function in os.supports_dir_fd for function in required_dir_fd)
202
+ and os.listdir in os.supports_fd
203
+ and os.link in os.supports_follow_symlinks
204
+ )
205
+ if not supported:
206
+ fail(
207
+ "BLOCKED_UNSUPPORTED_PYTHON_POSIX_RUNTIME",
208
+ "requires Python 3.8+ with O_DIRECTORY, O_NOFOLLOW, dir_fd, fd-listdir, and no-follow link support",
209
+ )
210
+
211
+
212
+ def same_directory_identity(left: os.stat_result, right: os.stat_result) -> bool:
213
+ """Compare path identity, including ctime to reject recreated directories."""
214
+ return (
215
+ left.st_dev,
216
+ left.st_ino,
217
+ left.st_mode,
218
+ left.st_uid,
219
+ left.st_ctime_ns,
220
+ ) == (
221
+ right.st_dev,
222
+ right.st_ino,
223
+ right.st_mode,
224
+ right.st_uid,
225
+ right.st_ctime_ns,
226
+ )
227
+
228
+
229
+ def open_safe_directory(path: Path) -> Tuple[int, Path]:
230
+ """Create/open path one component at a time without following symlinks."""
231
+ absolute = Path(os.path.abspath(os.fspath(path)))
232
+ parts = absolute.parts
233
+ if not parts or not absolute.is_absolute():
234
+ fail("UNSAFE_OUTPUT_PATH", "output must resolve to an absolute filesystem path")
235
+
236
+ flags = os.O_RDONLY | os.O_DIRECTORY | getattr(os, "O_CLOEXEC", 0)
237
+ nofollow = getattr(os, "O_NOFOLLOW", 0)
238
+ fd = os.open(parts[0], flags | nofollow)
239
+ try:
240
+ for part in parts[1:]:
241
+ try:
242
+ info = os.stat(part, dir_fd=fd, follow_symlinks=False)
243
+ except FileNotFoundError:
244
+ try:
245
+ os.mkdir(part, 0o755, dir_fd=fd)
246
+ except FileExistsError:
247
+ pass
248
+ info = os.stat(part, dir_fd=fd, follow_symlinks=False)
249
+ if stat.S_ISLNK(info.st_mode):
250
+ fail("UNSAFE_OUTPUT_SYMLINK", f"output component is a symlink: {absolute}")
251
+ if not stat.S_ISDIR(info.st_mode):
252
+ fail("UNSAFE_OUTPUT_PATH", f"output component is not a directory: {absolute}")
253
+ next_fd = None
254
+ try:
255
+ next_fd = os.open(part, flags | nofollow, dir_fd=fd)
256
+ opened = os.fstat(next_fd)
257
+ if not same_directory_identity(info, opened):
258
+ fail("UNSAFE_OUTPUT_SWAP", f"output component identity changed: {absolute}")
259
+ except BaseException:
260
+ if next_fd is not None:
261
+ os.close(next_fd)
262
+ raise
263
+ os.close(fd)
264
+ fd = next_fd
265
+ verify_directory_identity(absolute, fd)
266
+ return fd, absolute
267
+ except BaseException:
268
+ os.close(fd)
269
+ raise
270
+
271
+
272
+ def verify_directory_identity(path: Path, fd: int) -> None:
273
+ try:
274
+ named = os.stat(path, follow_symlinks=False)
275
+ except OSError as error:
276
+ fail("UNSAFE_OUTPUT_SWAP", f"output directory identity changed: {error}")
277
+ opened = os.fstat(fd)
278
+ if stat.S_ISLNK(named.st_mode) or not stat.S_ISDIR(named.st_mode):
279
+ fail("UNSAFE_OUTPUT_SYMLINK", f"output directory is no longer a real directory: {path}")
280
+ if not same_directory_identity(named, opened):
281
+ fail("UNSAFE_OUTPUT_SWAP", f"output directory identity changed: {path}")
282
+
283
+
284
+ def leaf_info(fd: int, leaf: str) -> Optional[os.stat_result]:
285
+ try:
286
+ return os.stat(leaf, dir_fd=fd, follow_symlinks=False)
287
+ except FileNotFoundError:
288
+ return None
289
+
290
+
291
+ def reject_unsafe_leaf(fd: int, leaf: str, *, directory: bool = False) -> None:
292
+ info = leaf_info(fd, leaf)
293
+ if info is None:
294
+ return
295
+ expected = stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode)
296
+ if stat.S_ISLNK(info.st_mode) or not expected:
297
+ fail("UNSAFE_GENERATED_LEAF", f"generated leaf has unsafe type: {leaf}")
298
+
299
+
300
+ def remove_regular_leaf(fd: int, root: Path, leaf: str) -> None:
301
+ reject_unsafe_leaf(fd, leaf)
302
+ if leaf_info(fd, leaf) is not None:
303
+ verify_directory_identity(root, fd)
304
+ os.unlink(leaf, dir_fd=fd)
305
+
306
+
307
+ def write_new_leaf(fd: int, root: Path, leaf: str, text: str) -> None:
308
+ verify_directory_identity(root, fd)
309
+ if leaf_info(fd, leaf) is not None:
310
+ fail("UNSAFE_GENERATED_LEAF", f"generated leaf appeared during scaffold: {leaf}")
311
+ temp = f".{leaf}.tmp-{os.getpid()}-{secrets.token_hex(6)}"
312
+ flags = os.O_WRONLY | os.O_CREAT | os.O_EXCL | getattr(os, "O_NOFOLLOW", 0)
313
+ temp_fd = None
314
+ temp_created = False
315
+ try:
316
+ temp_fd = os.open(temp, flags, 0o600, dir_fd=fd)
317
+ temp_created = True
318
+ try:
319
+ data = text.encode("utf-8")
320
+ while data:
321
+ written = os.write(temp_fd, data)
322
+ data = data[written:]
323
+ os.fsync(temp_fd)
324
+ finally:
325
+ os.close(temp_fd)
326
+ temp_fd = None
327
+ verify_directory_identity(root, fd)
328
+ os.link(temp, leaf, src_dir_fd=fd, dst_dir_fd=fd, follow_symlinks=False)
329
+ except FileExistsError:
330
+ fail("UNSAFE_GENERATED_LEAF", f"generated leaf appeared during scaffold: {leaf}")
331
+ finally:
332
+ if temp_fd is not None:
333
+ try:
334
+ os.close(temp_fd)
335
+ except OSError:
336
+ pass
337
+ if temp_created:
338
+ try:
339
+ os.unlink(temp, dir_fd=fd)
340
+ except FileNotFoundError:
341
+ pass
342
+
343
+
344
+ def goal_to_title(goal: str) -> str:
345
+ words = goal.split()
346
+ short = " ".join(words[:8])
347
+ if len(words) > 8:
348
+ short += "..."
349
+ return short.title()
350
+
351
+
352
+ def researcher_ids(count: int) -> List[str]:
353
+ return [string.ascii_uppercase[i] for i in range(count)]
354
+
355
+
356
+ def make_researcher_sections(rids: List[str], strategy: str) -> str:
357
+ if strategy != "assigned":
358
+ return ""
359
+ lines = []
360
+ for rid in rids:
361
+ lines.append(f"### Researcher {rid} Focus")
362
+ lines.append(f"_Describe Researcher {rid}'s exploration area._")
363
+ lines.append("")
364
+ return "\n".join(lines)
365
+
366
+
367
+ def parse_args() -> argparse.Namespace:
368
+ parser = argparse.ArgumentParser(
369
+ description="Scaffold a new autoconference-skill project.",
370
+ formatter_class=argparse.RawDescriptionHelpFormatter,
371
+ epilog=textwrap.dedent("""\
372
+ Examples:
373
+ # Metric mode
374
+ python init_conference.py \\
375
+ --goal "Optimize inference latency" \\
376
+ --metric "p95_latency_ms" \\
377
+ --direction minimize \\
378
+ --target "< 50" \\
379
+ --researchers 3 \\
380
+ --devils-advocate yes \\
381
+ --strategy assigned \\
382
+ --output ./my-conference/
383
+
384
+ # Qualitative mode
385
+ python init_conference.py \\
386
+ --goal "Survey LLM agent papers" \\
387
+ --mode qualitative \\
388
+ --criteria "Comprehensive taxonomy with 15+ papers" \\
389
+ --researchers 2 \\
390
+ --output ./lit-review/
391
+ """),
392
+ )
393
+ parser.add_argument("--goal", required=True, help="Conference goal description.")
394
+ parser.add_argument(
395
+ "--mode",
396
+ default="metric",
397
+ choices=["metric", "qualitative"],
398
+ help="Conference mode. Default: metric",
399
+ )
400
+ parser.add_argument(
401
+ "--metric",
402
+ default=None,
403
+ help="Metric name to track (required for metric mode).",
404
+ )
405
+ parser.add_argument(
406
+ "--direction",
407
+ default=None,
408
+ choices=["maximize", "minimize"],
409
+ help="Whether to maximize or minimize the metric (required for metric mode).",
410
+ )
411
+ parser.add_argument(
412
+ "--target",
413
+ default=None,
414
+ help="Target value or expression (e.g. '> 0.9', '< 50'). Required for metric mode.",
415
+ )
416
+ parser.add_argument(
417
+ "--criteria",
418
+ default=None,
419
+ help="Success criteria text (required for qualitative mode).",
420
+ )
421
+ parser.add_argument(
422
+ "--researchers",
423
+ type=int,
424
+ default=3,
425
+ metavar="N",
426
+ help="Number of researchers. Default: 3",
427
+ )
428
+ parser.add_argument(
429
+ "--strategy",
430
+ default="free",
431
+ choices=["assigned", "free"],
432
+ help="Search space partitioning strategy. Default: free",
433
+ )
434
+ parser.add_argument(
435
+ "--iterations-per-round",
436
+ type=int,
437
+ default=5,
438
+ metavar="N",
439
+ help="Iterations per round per researcher. Default: 5",
440
+ )
441
+ parser.add_argument(
442
+ "--max-rounds",
443
+ type=int,
444
+ default=4,
445
+ metavar="N",
446
+ help="Maximum number of rounds. Default: 4",
447
+ )
448
+ parser.add_argument(
449
+ "--devils-advocate",
450
+ default=None,
451
+ choices=["yes", "no"],
452
+ help=(
453
+ "Whether one researcher should be assigned as a Devil's Advocate. "
454
+ "If omitted, conference.md marks this as a required user prompt before running."
455
+ ),
456
+ )
457
+ parser.add_argument(
458
+ "--guard",
459
+ default=None,
460
+ help="Safety constraint applied to all researchers (e.g., 'Do not modify the test set').",
461
+ )
462
+ parser.add_argument(
463
+ "--noise-runs",
464
+ type=int,
465
+ default=1,
466
+ metavar="N",
467
+ help="Repeated evaluations to average for noise reduction. Default: 1",
468
+ )
469
+ parser.add_argument(
470
+ "--min-delta",
471
+ type=float,
472
+ default=0.0,
473
+ metavar="F",
474
+ help="Minimum average improvement across kept researchers to advance. Default: 0.0",
475
+ )
476
+ parser.add_argument(
477
+ "--output",
478
+ default="./conference/",
479
+ metavar="PATH",
480
+ help="Output directory. Default: ./conference/",
481
+ )
482
+ parser.add_argument(
483
+ "--force",
484
+ action="store_true",
485
+ help="Overwrite existing output directory without prompting.",
486
+ )
487
+ return parser.parse_args()
488
+
489
+
490
+ def validate_args(args: argparse.Namespace) -> None:
491
+ if args.mode == "metric":
492
+ if not args.metric:
493
+ print("Error: --metric is required when --mode is metric.", file=sys.stderr)
494
+ sys.exit(1)
495
+ if not args.direction:
496
+ print("Error: --direction is required when --mode is metric.", file=sys.stderr)
497
+ sys.exit(1)
498
+ normalized_target = args.target.strip().lower() if args.target else ""
499
+ if not normalized_target or normalized_target in {"tbd", "todo", "unknown"}:
500
+ print("Error: --target is required when --mode is metric.", file=sys.stderr)
501
+ sys.exit(1)
502
+ elif args.mode == "qualitative":
503
+ if not args.criteria:
504
+ print("Error: --criteria is required when --mode is qualitative.", file=sys.stderr)
505
+ sys.exit(1)
506
+
507
+ if args.researchers < 1:
508
+ fail("INVALID_BUDGET", "--researchers must be >= 1")
509
+
510
+ if args.researchers > 26:
511
+ fail("INVALID_BUDGET", "--researchers must be <= 26")
512
+
513
+ if args.iterations_per_round < 1:
514
+ fail("INVALID_BUDGET", "--iterations-per-round must be >= 1")
515
+
516
+ if args.max_rounds < 1:
517
+ fail("INVALID_BUDGET", "--max-rounds must be >= 1")
518
+
519
+ if args.noise_runs < 1:
520
+ fail("INVALID_BUDGET", "--noise-runs must be >= 1")
521
+
522
+ if not math.isfinite(args.min_delta) or args.min_delta < 0:
523
+ fail("INVALID_BUDGET", "--min-delta must be finite and >= 0")
524
+
525
+
526
+ def scaffold(args: argparse.Namespace) -> None:
527
+ date = datetime.now().strftime("%Y-%m-%d")
528
+ title = goal_to_title(args.goal)
529
+ output = Path(args.output)
530
+ rids = researcher_ids(args.researchers)
531
+ max_total_iterations = args.researchers * args.iterations_per_round * args.max_rounds
532
+ researcher_sections = make_researcher_sections(rids, args.strategy)
533
+ guard_text = args.guard if args.guard else "_No guard constraint. Leave blank or define a safety invariant._"
534
+ noise_runs = args.noise_runs
535
+ min_delta = args.min_delta
536
+ if args.devils_advocate == "yes":
537
+ critic_setting = "enabled"
538
+ elif args.devils_advocate == "no":
539
+ critic_setting = "disabled"
540
+ else:
541
+ critic_setting = "ask user before run"
542
+
543
+ fd, output = open_safe_directory(output)
544
+ try:
545
+ entries = os.listdir(fd)
546
+ if entries and not args.force:
547
+ fail(
548
+ "OUTPUT_NOT_EMPTY",
549
+ f"output directory '{output}' already exists and is not empty. Use --force to overwrite.",
550
+ )
551
+ reject_unsafe_leaf(fd, "workspace", directory=True)
552
+ managed = list(STATIC_MANAGED_FILE_LEAVES)
553
+ managed.extend(entry for entry in entries if RESEARCHER_LEAF.fullmatch(entry))
554
+ for leaf in managed:
555
+ reject_unsafe_leaf(fd, leaf)
556
+ if args.force:
557
+ for leaf in managed:
558
+ remove_regular_leaf(fd, output, leaf)
559
+ if leaf_info(fd, "workspace") is None:
560
+ verify_directory_identity(output, fd)
561
+ os.mkdir("workspace", 0o755, dir_fd=fd)
562
+
563
+ if args.mode == "metric":
564
+ gate_success_definition = f"metric {args.metric} ({args.direction}) target {args.target}"
565
+ conf_text = CONFERENCE_TEMPLATE_METRIC.format(
566
+ title=title,
567
+ goal=args.goal,
568
+ metric=args.metric,
569
+ target=args.target,
570
+ direction=args.direction,
571
+ researchers=args.researchers,
572
+ iterations_per_round=args.iterations_per_round,
573
+ max_rounds=args.max_rounds,
574
+ strategy=args.strategy,
575
+ researcher_sections=researcher_sections,
576
+ max_total_iterations=max_total_iterations,
577
+ guard=guard_text,
578
+ noise_runs=noise_runs,
579
+ min_delta=min_delta,
580
+ gate_success_definition=gate_success_definition,
581
+ critic_setting=critic_setting,
582
+ )
583
+ else:
584
+ gate_success_definition = f"criteria: {args.criteria}"
585
+ conf_text = CONFERENCE_TEMPLATE_QUALITATIVE.format(
586
+ title=title,
587
+ goal=args.goal,
588
+ criteria=args.criteria,
589
+ researchers=args.researchers,
590
+ iterations_per_round=args.iterations_per_round,
591
+ max_rounds=args.max_rounds,
592
+ strategy=args.strategy,
593
+ researcher_sections=researcher_sections,
594
+ max_total_iterations=max_total_iterations,
595
+ guard=guard_text,
596
+ noise_runs=noise_runs,
597
+ min_delta=min_delta,
598
+ gate_success_definition=gate_success_definition,
599
+ critic_setting=critic_setting,
600
+ )
601
+ write_new_leaf(fd, output, "conference.md", conf_text)
602
+
603
+ for rid in rids:
604
+ log = LOG_TEMPLATE.format(rid=rid, date=date, goal=args.goal)
605
+ write_new_leaf(fd, output, f"researcher_{rid}_log.md", log)
606
+ tsv = RESEARCHER_TSV_HEADER + RESEARCHER_TSV_BASELINE.format(date=date)
607
+ write_new_leaf(fd, output, f"researcher_{rid}_results.tsv", tsv)
608
+
609
+ write_new_leaf(fd, output, "conference_results.tsv", CONFERENCE_TSV_HEADER)
610
+ write_new_leaf(fd, output, "conference_events.jsonl", "")
611
+ verify_directory_identity(output, fd)
612
+ finally:
613
+ os.close(fd)
614
+
615
+ # Print success
616
+ print(f"\nConference project scaffolded at: {output.resolve()}")
617
+ print(f"\nFiles created:")
618
+ print(f" conference.md")
619
+ for rid in rids:
620
+ print(f" researcher_{rid}_log.md")
621
+ print(f" researcher_{rid}_results.tsv")
622
+ print(f" conference_results.tsv")
623
+ print(f" conference_events.jsonl")
624
+ print(f" workspace/")
625
+ print(f"\nPre-flight gate:")
626
+ print(f" Researcher count: {args.researchers}")
627
+ print(f" Max total iterations: {max_total_iterations}")
628
+ print(f" Success definition: {gate_success_definition}")
629
+ print(f" Critic / Devil's Advocate: {critic_setting}")
630
+ print(" Final confirmation: pending before Phase 1")
631
+ print(f"\nNext steps:")
632
+ print(f" 1. Open conference.md and fill in 'Current Approach' and 'Search Space'.")
633
+ print(f" 2. Edit researcher focus areas if using 'assigned' strategy.")
634
+ print(" 3. Select the explicit autoconference skill request and provide the generated conference.md path.")
635
+ print(" 4. Approve the plan, then select the native start-work skill for the root-owned conference.")
636
+
637
+
638
+ def main() -> None:
639
+ args = parse_args()
640
+ validate_args(args)
641
+ preflight_capabilities()
642
+ scaffold(args)
643
+
644
+
645
+ if __name__ == "__main__":
646
+ main()