@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,12 @@
1
+ # Security review mode
2
+
3
+ ## Grok-native contract
4
+
5
+ Select security in the skill selector; hand authorized probes/writes to the native `start-work` handoff and a subsequent approved session.
6
+ Findings remain `REVIEW_REQUIRED` and cannot programmatically claim family completion. Changed
7
+ evaluator or budget requires re-planning and review.
8
+
9
+ Map assets, actors, trust boundaries, flows, entry points, and controls. Apply STRIDE and relevant
10
+ OWASP checks with safe evidence. No exploitation, credential use, denial of service, persistence,
11
+ external scanning, or secret collection occurs without specific authorization. Budget exhaustion
12
+ never means secure.
@@ -0,0 +1,12 @@
1
+ # Artifact-type shipping checklists
2
+
3
+ ## Grok-native contract
4
+
5
+ The skill selector loads these checklists; approved checks use the native `start-work` handoff and a subsequent approved session. Results
6
+ remain `REVIEW_REQUIRED` and cannot programmatically claim family completion. Changed evaluator or
7
+ budget requires re-planning and review.
8
+
9
+ Packages: reproducible build, exact payload, executable modes, runtime requirements, install smoke,
10
+ version lockstep, licenses, provenance, scanner, and dry packaging. Applications: tests,
11
+ accessibility, security, migrations, rollback, monitoring, and docs. Skills: skill selector registration,
12
+ installed paths, prompt boundaries, package enrollment, recursive scans, and host-shaped probes.
@@ -0,0 +1,11 @@
1
+ # Shipping-readiness mode
2
+
3
+ ## Grok-native contract
4
+
5
+ Select ship in the skill selector; hand approved verification/artifact edits to native `start-work` and
6
+ a bounded review cycle. Readiness remains `REVIEW_REQUIRED` and cannot programmatically claim family completion.
7
+ Changed evaluator or budget requires re-planning and review.
8
+
9
+ Inventory checks, exact payload, provenance, documentation, rollback, security, and known risk. Use
10
+ host-bounded processes and capture exact evidence. Return GO/NO_GO readiness only. Publish, deploy,
11
+ tag, release, push, version, registry, credentials, and live profile require separate approval.
@@ -0,0 +1,12 @@
1
+ # Autoresearch result artifacts
2
+
3
+ Skill selector guidance hands approved work to the native `start-work` handoff and a subsequent approved session. TSV/Markdown artifacts are
4
+ `REVIEW_REQUIRED`, are not host state, and cannot programmatically claim family completion. Changed
5
+ evaluator or budget requires re-planning and review.
6
+
7
+ `autoresearch-results.tsv` contains iteration, metric value, delta, percentage, status, description,
8
+ evaluator source, and timestamp. Iteration zero is baseline; positive integers are executed work.
9
+ Reject malformed rows, duplicate ids, NaN/infinite values, evaluator drift, and unexplained gaps.
10
+
11
+ Receipts should record evaluator/method identity, bounded command result, guards, changed paths, and
12
+ cleanup. Reports may summarize target evidence or `BUDGET_EXHAUSTED`, but remain review material.
@@ -0,0 +1,24 @@
1
+ # Optional autoresearch visualization
2
+
3
+ Skill selector guidance hands approved writes to the native `start-work` handoff and a subsequent approved session. Plots remain
4
+ `REVIEW_REQUIRED` and cannot programmatically claim family completion. Changed evaluator or budget
5
+ requires re-planning and review.
6
+
7
+ Resolve `<loaded-autoresearch-skill-dir>/scripts/style_presets.py --check`. The preflight must actually
8
+ `import matplotlib`; discovery alone is insufficient. On
9
+ `BLOCKED_OPTIONAL_MATPLOTLIB_UNAVAILABLE`, omit plots and do not modify the environment.
10
+
11
+ The preflight only proves matplotlib imports; it applies nothing. Every figure script must also
12
+ `import rcparams` from that same `scripts/style_presets.py` and call `rcparams()` **before**
13
+ `plt.subplots()` or `plt.figure()`. Matplotlib reads its rcParams when the figure is constructed, so
14
+ a call placed after that point silently does nothing and the shipped contract — `savefig.dpi` 600,
15
+ `legend.framealpha` 1, `legend.edgecolor` black, the Okabe-Ito `axes.prop_cycle`, white facecolor,
16
+ inward ticks — never reaches the output.
17
+
18
+ For figure work beyond these run plots — journal sizing, multi-panel layout, export formats — use the
19
+ `lit-scientific-visualization` skill rather than re-deriving its rules here.
20
+
21
+ When available, show baseline, executed work points, kept/reverted/inconclusive labels, uncertainty,
22
+ best-so-far, and target. Use accessible colors, visible units/endpoints, nonoverlapping labels, and a
23
+ nonobscuring legend. Never hide failures or imply causality beyond receipts. Writes stay under the
24
+ approved root and reject unsafe parents/leaves.
@@ -0,0 +1,391 @@
1
+ """
2
+ init_research.py — Scaffold a new autoresearch-skill project directory.
3
+
4
+ Usage:
5
+ python init_research.py --goal "..." --metric "..." --direction {maximize|minimize} \
6
+ [--target "..."] [--max-iterations 10] [--output ./my-research/]
7
+ """
8
+
9
+ import argparse
10
+ import math
11
+ import os
12
+ import secrets
13
+ import stat
14
+ import sys
15
+ import textwrap
16
+ from datetime import datetime
17
+ from pathlib import Path
18
+ from typing import Optional, Tuple
19
+
20
+ RESEARCH_TEMPLATE = """\
21
+ # Research: {title}
22
+
23
+ ## Goal
24
+ {goal}
25
+
26
+ ## Success Metric
27
+ - **Metric:** {metric}
28
+ - **Target:** {target}
29
+ - **Direction:** {direction}
30
+
31
+ ## Constraints
32
+ - **Max iterations:** {max_iterations}
33
+ - **Time budget per experiment:** 5 minutes
34
+ - **Pause for review every:** never
35
+ - **Evaluator:** {evaluator}
36
+ - **Keep policy:** {keep_policy}
37
+ - **Guard:** {guard}
38
+ - **Noise runs:** {noise_runs}
39
+ - **Min delta:** {min_delta}
40
+
41
+ ## Current Approach
42
+ _Describe your current baseline here._
43
+
44
+ ## Search Space
45
+ - **Allowed changes:** _Define what the agent can modify._
46
+ - **Forbidden changes:** _Define what must NOT change._
47
+
48
+ ## Context & References
49
+ _Add relevant papers, docs, or URLs here._
50
+
51
+ ---
52
+
53
+ ## History
54
+ | # | Change | Metric | Result | Timestamp |
55
+ |---|--------|--------|--------|-----------|
56
+ | 0 | Baseline | TBD | -- | {date} |
57
+ """
58
+
59
+ LOG_TEMPLATE = """\
60
+ # Research Log
61
+
62
+ > Auto-generated by init_research.py on {date}
63
+ > Goal: {goal}
64
+
65
+ ---
66
+
67
+ """
68
+
69
+ TSV_HEADER = "iteration\tmetric_value\tdelta\tdelta_pct\tstatus\tdescription\tevaluator_source\ttimestamp\n"
70
+ TSV_BASELINE = "0\tTBD\t-\t-\tbaseline\tInitial state\tagent\t{date}\n"
71
+
72
+ MANAGED_FILE_LEAVES = (
73
+ "research.md",
74
+ "research_log.md",
75
+ "autoresearch-results.tsv",
76
+ "final_report.md",
77
+ "progress.png",
78
+ "autoresearch-run-state.json",
79
+ ".autoresearch-loop.pid",
80
+ )
81
+
82
+
83
+ def fail(code: str, message: str) -> None:
84
+ print(f"Error: {code}: {message}", file=sys.stderr)
85
+ raise SystemExit(1)
86
+
87
+
88
+ def preflight_capabilities() -> None:
89
+ """Fail before mutation unless the required Python/POSIX descriptor APIs exist."""
90
+ required_dir_fd = (os.open, os.mkdir, os.stat, os.unlink, os.link)
91
+ supported = (
92
+ sys.version_info >= (3, 8)
93
+ and hasattr(os, "O_DIRECTORY")
94
+ and hasattr(os, "O_NOFOLLOW")
95
+ and all(function in os.supports_dir_fd for function in required_dir_fd)
96
+ and os.listdir in os.supports_fd
97
+ and os.link in os.supports_follow_symlinks
98
+ )
99
+ if not supported:
100
+ fail(
101
+ "BLOCKED_UNSUPPORTED_PYTHON_POSIX_RUNTIME",
102
+ "requires Python 3.8+ with O_DIRECTORY, O_NOFOLLOW, dir_fd, fd-listdir, and no-follow link support",
103
+ )
104
+
105
+
106
+ def same_directory_identity(left: os.stat_result, right: os.stat_result) -> bool:
107
+ """Compare path identity, including ctime to reject recreated directories."""
108
+ return (
109
+ left.st_dev,
110
+ left.st_ino,
111
+ left.st_mode,
112
+ left.st_uid,
113
+ left.st_ctime_ns,
114
+ ) == (
115
+ right.st_dev,
116
+ right.st_ino,
117
+ right.st_mode,
118
+ right.st_uid,
119
+ right.st_ctime_ns,
120
+ )
121
+
122
+
123
+ def open_safe_directory(path: Path) -> Tuple[int, Path]:
124
+ """Create/open path one component at a time without following symlinks."""
125
+ absolute = Path(os.path.abspath(os.fspath(path)))
126
+ parts = absolute.parts
127
+ if not parts or not absolute.is_absolute():
128
+ fail("UNSAFE_OUTPUT_PATH", "output must resolve to an absolute filesystem path")
129
+
130
+ flags = os.O_RDONLY | os.O_DIRECTORY | getattr(os, "O_CLOEXEC", 0)
131
+ nofollow = getattr(os, "O_NOFOLLOW", 0)
132
+ fd = os.open(parts[0], flags | nofollow)
133
+ try:
134
+ for part in parts[1:]:
135
+ try:
136
+ info = os.stat(part, dir_fd=fd, follow_symlinks=False)
137
+ except FileNotFoundError:
138
+ try:
139
+ os.mkdir(part, 0o755, dir_fd=fd)
140
+ except FileExistsError:
141
+ pass
142
+ info = os.stat(part, dir_fd=fd, follow_symlinks=False)
143
+ if stat.S_ISLNK(info.st_mode):
144
+ fail("UNSAFE_OUTPUT_SYMLINK", f"output component is a symlink: {absolute}")
145
+ if not stat.S_ISDIR(info.st_mode):
146
+ fail("UNSAFE_OUTPUT_PATH", f"output component is not a directory: {absolute}")
147
+ next_fd = None
148
+ try:
149
+ next_fd = os.open(part, flags | nofollow, dir_fd=fd)
150
+ opened = os.fstat(next_fd)
151
+ if not same_directory_identity(info, opened):
152
+ fail("UNSAFE_OUTPUT_SWAP", f"output component identity changed: {absolute}")
153
+ except BaseException:
154
+ if next_fd is not None:
155
+ os.close(next_fd)
156
+ raise
157
+ os.close(fd)
158
+ fd = next_fd
159
+ verify_directory_identity(absolute, fd)
160
+ return fd, absolute
161
+ except BaseException:
162
+ os.close(fd)
163
+ raise
164
+
165
+
166
+ def verify_directory_identity(path: Path, fd: int) -> None:
167
+ """Reject replacement of the opened output directory before each mutation."""
168
+ try:
169
+ named = os.stat(path, follow_symlinks=False)
170
+ except OSError as error:
171
+ fail("UNSAFE_OUTPUT_SWAP", f"output directory identity changed: {error}")
172
+ opened = os.fstat(fd)
173
+ if stat.S_ISLNK(named.st_mode) or not stat.S_ISDIR(named.st_mode):
174
+ fail("UNSAFE_OUTPUT_SYMLINK", f"output directory is no longer a real directory: {path}")
175
+ if not same_directory_identity(named, opened):
176
+ fail("UNSAFE_OUTPUT_SWAP", f"output directory identity changed: {path}")
177
+
178
+
179
+ def leaf_info(fd: int, leaf: str) -> Optional[os.stat_result]:
180
+ try:
181
+ return os.stat(leaf, dir_fd=fd, follow_symlinks=False)
182
+ except FileNotFoundError:
183
+ return None
184
+
185
+
186
+ def reject_unsafe_leaf(fd: int, leaf: str, *, directory: bool = False) -> None:
187
+ info = leaf_info(fd, leaf)
188
+ if info is None:
189
+ return
190
+ expected = stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode)
191
+ if stat.S_ISLNK(info.st_mode) or not expected:
192
+ fail("UNSAFE_GENERATED_LEAF", f"generated leaf has unsafe type: {leaf}")
193
+
194
+
195
+ def remove_regular_leaf(fd: int, root: Path, leaf: str) -> None:
196
+ reject_unsafe_leaf(fd, leaf)
197
+ if leaf_info(fd, leaf) is not None:
198
+ verify_directory_identity(root, fd)
199
+ os.unlink(leaf, dir_fd=fd)
200
+
201
+
202
+ def write_new_leaf(fd: int, root: Path, leaf: str, text: str) -> None:
203
+ """Create a leaf without overwrite; a competing leaf creation fails closed."""
204
+ verify_directory_identity(root, fd)
205
+ if leaf_info(fd, leaf) is not None:
206
+ fail("UNSAFE_GENERATED_LEAF", f"generated leaf appeared during scaffold: {leaf}")
207
+ temp = f".{leaf}.tmp-{os.getpid()}-{secrets.token_hex(6)}"
208
+ flags = os.O_WRONLY | os.O_CREAT | os.O_EXCL | getattr(os, "O_NOFOLLOW", 0)
209
+ temp_fd = None
210
+ temp_created = False
211
+ try:
212
+ temp_fd = os.open(temp, flags, 0o600, dir_fd=fd)
213
+ temp_created = True
214
+ try:
215
+ data = text.encode("utf-8")
216
+ while data:
217
+ written = os.write(temp_fd, data)
218
+ data = data[written:]
219
+ os.fsync(temp_fd)
220
+ finally:
221
+ os.close(temp_fd)
222
+ temp_fd = None
223
+ verify_directory_identity(root, fd)
224
+ os.link(temp, leaf, src_dir_fd=fd, dst_dir_fd=fd, follow_symlinks=False)
225
+ except FileExistsError:
226
+ fail("UNSAFE_GENERATED_LEAF", f"generated leaf appeared during scaffold: {leaf}")
227
+ finally:
228
+ if temp_fd is not None:
229
+ try:
230
+ os.close(temp_fd)
231
+ except OSError:
232
+ pass
233
+ if temp_created:
234
+ try:
235
+ os.unlink(temp, dir_fd=fd)
236
+ except FileNotFoundError:
237
+ pass
238
+
239
+
240
+ def goal_to_title(goal: str) -> str:
241
+ """Convert a goal string to a short title (first 8 words, title-cased)."""
242
+ words = goal.split()
243
+ short = " ".join(words[:8])
244
+ if len(words) > 8:
245
+ short += "..."
246
+ return short.title()
247
+
248
+
249
+ def parse_args() -> argparse.Namespace:
250
+ parser = argparse.ArgumentParser(
251
+ description="Scaffold a new autoresearch-skill project.",
252
+ formatter_class=argparse.RawDescriptionHelpFormatter,
253
+ epilog=textwrap.dedent("""\
254
+ Example:
255
+ python init_research.py \\
256
+ --goal "Optimize sorting algorithm performance" \\
257
+ --metric "execution_time_seconds" \\
258
+ --direction minimize \\
259
+ --target "< 0.5" \\
260
+ --max-iterations 20 \\
261
+ --output ./sort-research/
262
+ """),
263
+ )
264
+ parser.add_argument("--goal", required=True, help="Research goal description.")
265
+ parser.add_argument("--metric", required=True, help="Metric name to track (e.g. accuracy, execution_time_seconds).")
266
+ parser.add_argument(
267
+ "--direction",
268
+ required=True,
269
+ choices=["maximize", "minimize"],
270
+ help="Whether to maximize or minimize the metric.",
271
+ )
272
+ parser.add_argument("--target", default="TBD", help="Target value or expression (e.g. '> 0.9', '< 0.5'). Default: TBD")
273
+ parser.add_argument("--max-iterations", type=int, default=20, metavar="N", help="Maximum number of iterations. Default: 20")
274
+ parser.add_argument("--output", default="./research/", metavar="PATH", help="Output directory. Default: ./research/")
275
+ parser.add_argument("--evaluator", default=None, metavar="CMD",
276
+ help="Evaluator command (e.g. 'python evaluate.py'). Must output JSON {pass:bool, score?:number}.")
277
+ parser.add_argument("--keep-policy", default="score_improvement",
278
+ choices=["score_improvement", "pass_only"],
279
+ help="Keep policy: score_improvement (default) or pass_only.")
280
+ parser.add_argument("--guard", default=None, metavar="CONDITION",
281
+ help="Guard condition that must remain true (e.g. 'all unit tests pass'). Hard stop if violated.")
282
+ parser.add_argument("--noise-runs", type=int, default=1, metavar="N",
283
+ help="Number of runs to median over for noisy metrics. Default: 1")
284
+ parser.add_argument("--min-delta", type=float, default=0.0, metavar="DELTA",
285
+ help="Minimum improvement required to keep a change. Default: 0 (any improvement counts).")
286
+ parser.add_argument(
287
+ "--force",
288
+ action="store_true",
289
+ help="Overwrite this scaffold's generated files in a non-empty output directory.",
290
+ )
291
+ return parser.parse_args()
292
+
293
+
294
+ def scaffold(goal: str, metric: str, direction: str, target: str, max_iterations: int, output: Path,
295
+ evaluator: Optional[str] = None, keep_policy: str = "score_improvement",
296
+ guard: Optional[str] = None, noise_runs: int = 1, min_delta: float = 0.0,
297
+ force: bool = False) -> None:
298
+ date = datetime.now().strftime("%Y-%m-%d")
299
+ title = goal_to_title(goal)
300
+ evaluator_str = f"`{evaluator}`" if evaluator else "_(none — agent judges manually)_"
301
+ guard_str = guard if guard else "_(none)_"
302
+
303
+ fd, output = open_safe_directory(output)
304
+ try:
305
+ entries = os.listdir(fd)
306
+ if entries and not force:
307
+ fail(
308
+ "OUTPUT_NOT_EMPTY",
309
+ f"output directory '{output}' already exists and is not empty. "
310
+ "Use --force to overwrite generated files.",
311
+ )
312
+ reject_unsafe_leaf(fd, "workspace", directory=True)
313
+ for leaf in MANAGED_FILE_LEAVES:
314
+ reject_unsafe_leaf(fd, leaf)
315
+ if force:
316
+ for leaf in MANAGED_FILE_LEAVES:
317
+ remove_regular_leaf(fd, output, leaf)
318
+ if leaf_info(fd, "workspace") is None:
319
+ verify_directory_identity(output, fd)
320
+ os.mkdir("workspace", 0o755, dir_fd=fd)
321
+
322
+ # Write research.md
323
+ research_text = RESEARCH_TEMPLATE.format(
324
+ title=title,
325
+ goal=goal,
326
+ metric=metric,
327
+ target=target,
328
+ direction=direction,
329
+ max_iterations=max_iterations,
330
+ evaluator=evaluator_str,
331
+ keep_policy=keep_policy,
332
+ guard=guard_str,
333
+ noise_runs=noise_runs,
334
+ min_delta=min_delta,
335
+ date=date,
336
+ )
337
+ write_new_leaf(fd, output, "research.md", research_text)
338
+
339
+ # Write research_log.md
340
+ write_new_leaf(fd, output, "research_log.md", LOG_TEMPLATE.format(date=date, goal=goal))
341
+
342
+ # Write autoresearch-results.tsv
343
+ write_new_leaf(fd, output, "autoresearch-results.tsv", TSV_HEADER + TSV_BASELINE.format(date=date))
344
+ verify_directory_identity(output, fd)
345
+ finally:
346
+ os.close(fd)
347
+
348
+ # Print success message
349
+ print(f"\nResearch project scaffolded at: {output.resolve()}")
350
+ print(f"\nFiles created:")
351
+ print(f" {output / 'research.md'}")
352
+ print(f" {output / 'research_log.md'}")
353
+ print(f" {output / 'autoresearch-results.tsv'}")
354
+ print(f" {output / 'workspace'}/")
355
+ print(f"\nNext steps:")
356
+ print(f" 1. Open research.md and fill in 'Current Approach' and 'Search Space'.")
357
+ print(f" 2. Add context (papers, docs, code) under 'Context & References'.")
358
+ print(f" 3. Run your baseline experiment and record it in the History table.")
359
+ print(f" 4. Start iterating: modify → measure → log → repeat.")
360
+ print(" 5. Select the explicit autoresearch skill request, approve a plan, then select the native start-work skill.")
361
+
362
+
363
+ def main() -> None:
364
+ args = parse_args()
365
+ if args.max_iterations < 1:
366
+ fail("INVALID_BUDGET", "--max-iterations must be >= 1")
367
+ if args.noise_runs < 1:
368
+ fail("INVALID_BUDGET", "--noise-runs must be >= 1")
369
+ if not math.isfinite(args.min_delta) or args.min_delta < 0:
370
+ fail("INVALID_BUDGET", "--min-delta must be finite and >= 0")
371
+ preflight_capabilities()
372
+ output = Path(args.output)
373
+
374
+ scaffold(
375
+ goal=args.goal,
376
+ metric=args.metric,
377
+ direction=args.direction,
378
+ target=args.target,
379
+ max_iterations=args.max_iterations,
380
+ output=output,
381
+ evaluator=args.evaluator,
382
+ keep_policy=args.keep_policy,
383
+ guard=args.guard,
384
+ noise_runs=args.noise_runs,
385
+ min_delta=args.min_delta,
386
+ force=args.force,
387
+ )
388
+
389
+
390
+ if __name__ == "__main__":
391
+ main()
@@ -0,0 +1,123 @@
1
+ #!/usr/bin/env python3
2
+ """Optional matplotlib style presets for installed LitGrok autoresearch runs.
3
+
4
+ Call rcparams() before plt.subplots() or plt.figure(). Matplotlib snapshots rcParams
5
+ when a figure is constructed, so a later call is silently ignored and every preset
6
+ below — dpi, legend framing, the Okabe-Ito cycle, tick direction — is lost.
7
+ """
8
+
9
+ import importlib
10
+ import json
11
+ import sys
12
+ from typing import Dict
13
+
14
+
15
+ OKABE_ITO = [
16
+ "#E69F00",
17
+ "#56B4E9",
18
+ "#009E73",
19
+ "#F0E442",
20
+ "#0072B2",
21
+ "#D55E00",
22
+ "#CC79A7",
23
+ "#000000",
24
+ ]
25
+
26
+
27
+ def matplotlib_available() -> bool:
28
+ """Return whether the optional plotting dependency imports successfully."""
29
+ try:
30
+ importlib.import_module("matplotlib")
31
+ except Exception:
32
+ return False
33
+ return True
34
+
35
+
36
+ def preflight_report() -> Dict[str, object]:
37
+ """Return a stable, non-installing optional dependency verdict."""
38
+ available = matplotlib_available()
39
+ return {
40
+ "available": available,
41
+ "code": (
42
+ "OPTIONAL_MATPLOTLIB_READY"
43
+ if available
44
+ else "BLOCKED_OPTIONAL_MATPLOTLIB_UNAVAILABLE"
45
+ ),
46
+ }
47
+
48
+
49
+ def rcparams() -> None:
50
+ """Apply the retained style after an explicit dependency preflight."""
51
+ if not matplotlib_available():
52
+ raise RuntimeError("BLOCKED_OPTIONAL_MATPLOTLIB_UNAVAILABLE")
53
+
54
+ import matplotlib as mpl
55
+ from matplotlib import font_manager, rcParams
56
+
57
+ rcParams["font.family"] = "sans-serif"
58
+ available_fonts = {font.name for font in font_manager.fontManager.ttflist}
59
+ if "Pretendard" in available_fonts:
60
+ rcParams["font.sans-serif"] = ["Pretendard"]
61
+ elif "Arial" in available_fonts:
62
+ rcParams["font.sans-serif"] = ["Arial"]
63
+
64
+ rcParams.update(
65
+ {
66
+ "font.size": 14,
67
+ "axes.titlesize": 18,
68
+ "axes.titleweight": "normal",
69
+ "axes.titlepad": 10,
70
+ "axes.labelsize": 16,
71
+ "axes.labelweight": "normal",
72
+ "axes.labelpad": 8,
73
+ "axes.linewidth": 1,
74
+ "axes.edgecolor": "black",
75
+ "axes.labelcolor": "black",
76
+ "axes.axisbelow": True,
77
+ "axes.grid": False,
78
+ "axes.prop_cycle": mpl.cycler(color=OKABE_ITO),
79
+ "xtick.labelsize": 12,
80
+ "ytick.labelsize": 12,
81
+ "xtick.direction": "in",
82
+ "ytick.direction": "in",
83
+ "xtick.minor.visible": True,
84
+ "ytick.minor.visible": True,
85
+ "xtick.major.width": 1,
86
+ "ytick.major.width": 1,
87
+ "xtick.minor.width": 0.5,
88
+ "ytick.minor.width": 0.5,
89
+ "xtick.major.size": 5,
90
+ "ytick.major.size": 5,
91
+ "xtick.minor.size": 3,
92
+ "ytick.minor.size": 3,
93
+ "xtick.major.pad": 7,
94
+ "ytick.major.pad": 7,
95
+ "xtick.color": "black",
96
+ "ytick.color": "black",
97
+ "figure.figsize": (5, 4),
98
+ "figure.dpi": 100,
99
+ "figure.facecolor": "white",
100
+ "figure.autolayout": False,
101
+ "lines.linewidth": 1.5,
102
+ "lines.markersize": 5,
103
+ "lines.markeredgewidth": 0.5,
104
+ "legend.fontsize": 12,
105
+ "legend.frameon": True,
106
+ "legend.edgecolor": "black",
107
+ "legend.framealpha": 1,
108
+ "legend.loc": "best",
109
+ "savefig.dpi": 600,
110
+ "savefig.bbox": "tight",
111
+ "savefig.pad_inches": 0.05,
112
+ "savefig.transparent": False,
113
+ "savefig.facecolor": "white",
114
+ "image.cmap": "viridis",
115
+ }
116
+ )
117
+
118
+
119
+ if __name__ == "__main__":
120
+ if sys.argv[1:] != ["--check"]:
121
+ print("Usage: python style_presets.py --check", file=sys.stderr)
122
+ raise SystemExit(2)
123
+ print(json.dumps(preflight_report(), sort_keys=True))