@bastani/atomic 0.5.11-0 → 0.5.12-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 (506) hide show
  1. package/.agents/skills/adapt/SKILL.md +199 -0
  2. package/.agents/skills/advanced-evaluation/SKILL.md +402 -0
  3. package/.agents/skills/advanced-evaluation/references/bias-mitigation.md +288 -0
  4. package/.agents/skills/advanced-evaluation/references/evaluation-pipeline.md +43 -0
  5. package/.agents/skills/advanced-evaluation/references/implementation-patterns.md +315 -0
  6. package/.agents/skills/advanced-evaluation/references/metrics-guide.md +331 -0
  7. package/.agents/skills/advanced-evaluation/scripts/evaluation_example.py +392 -0
  8. package/.agents/skills/animate/SKILL.md +175 -0
  9. package/.agents/skills/arrange/SKILL.md +124 -0
  10. package/.agents/skills/audit/SKILL.md +148 -0
  11. package/.agents/skills/bdi-mental-states/SKILL.md +311 -0
  12. package/.agents/skills/bdi-mental-states/references/bdi-ontology-core.md +207 -0
  13. package/.agents/skills/bdi-mental-states/references/framework-integration.md +582 -0
  14. package/.agents/skills/bdi-mental-states/references/rdf-examples.md +315 -0
  15. package/.agents/skills/bdi-mental-states/references/sparql-competency.md +420 -0
  16. package/.agents/skills/bolder/SKILL.md +117 -0
  17. package/.agents/skills/bun/SKILL.md +199 -0
  18. package/.agents/skills/clarify/SKILL.md +183 -0
  19. package/.agents/skills/colorize/SKILL.md +143 -0
  20. package/.agents/skills/context-compression/SKILL.md +272 -0
  21. package/.agents/skills/context-compression/references/evaluation-framework.md +213 -0
  22. package/.agents/skills/context-compression/scripts/compression_evaluator.py +862 -0
  23. package/.agents/skills/context-compression/tests/test_compression_evaluator.py +56 -0
  24. package/.agents/skills/context-degradation/SKILL.md +206 -0
  25. package/.agents/skills/context-degradation/references/patterns.md +314 -0
  26. package/.agents/skills/context-degradation/scripts/degradation_detector.py +614 -0
  27. package/.agents/skills/context-fundamentals/SKILL.md +201 -0
  28. package/.agents/skills/context-fundamentals/references/context-components.md +283 -0
  29. package/.agents/skills/context-fundamentals/scripts/context_manager.py +533 -0
  30. package/.agents/skills/context-optimization/SKILL.md +195 -0
  31. package/.agents/skills/context-optimization/references/optimization_techniques.md +272 -0
  32. package/.agents/skills/context-optimization/scripts/compaction.py +562 -0
  33. package/.agents/skills/create-spec/SKILL.md +244 -0
  34. package/.agents/skills/critique/SKILL.md +225 -0
  35. package/.agents/skills/critique/reference/cognitive-load.md +106 -0
  36. package/.agents/skills/critique/reference/heuristics-scoring.md +234 -0
  37. package/.agents/skills/critique/reference/personas.md +178 -0
  38. package/.agents/skills/delight/SKILL.md +304 -0
  39. package/.agents/skills/distill/SKILL.md +122 -0
  40. package/.agents/skills/docx/LICENSE.txt +30 -0
  41. package/.agents/skills/docx/SKILL.md +590 -0
  42. package/.agents/skills/docx/scripts/__init__.py +1 -0
  43. package/.agents/skills/docx/scripts/accept_changes.py +135 -0
  44. package/.agents/skills/docx/scripts/comment.py +318 -0
  45. package/.agents/skills/docx/scripts/office/helpers/__init__.py +0 -0
  46. package/.agents/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
  47. package/.agents/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  48. package/.agents/skills/docx/scripts/office/pack.py +159 -0
  49. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  50. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  51. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  52. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  53. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  54. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  55. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  56. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  57. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  58. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  59. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  60. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  61. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  62. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  63. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  64. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  65. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  66. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  67. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  68. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  69. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  70. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  71. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  72. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  73. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  74. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  75. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  76. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  77. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  78. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  79. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  80. package/.agents/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  81. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  82. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  83. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  84. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  85. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  86. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  87. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  88. package/.agents/skills/docx/scripts/office/soffice.py +183 -0
  89. package/.agents/skills/docx/scripts/office/unpack.py +132 -0
  90. package/.agents/skills/docx/scripts/office/validate.py +111 -0
  91. package/.agents/skills/docx/scripts/office/validators/__init__.py +15 -0
  92. package/.agents/skills/docx/scripts/office/validators/base.py +847 -0
  93. package/.agents/skills/docx/scripts/office/validators/docx.py +446 -0
  94. package/.agents/skills/docx/scripts/office/validators/pptx.py +275 -0
  95. package/.agents/skills/docx/scripts/office/validators/redlining.py +247 -0
  96. package/.agents/skills/docx/scripts/templates/comments.xml +3 -0
  97. package/.agents/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  98. package/.agents/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  99. package/.agents/skills/docx/scripts/templates/commentsIds.xml +3 -0
  100. package/.agents/skills/docx/scripts/templates/people.xml +3 -0
  101. package/.agents/skills/evaluation/SKILL.md +251 -0
  102. package/.agents/skills/evaluation/references/metrics.md +339 -0
  103. package/.agents/skills/evaluation/scripts/evaluator.py +627 -0
  104. package/.agents/skills/explain-code/SKILL.md +230 -0
  105. package/.agents/skills/extract/SKILL.md +91 -0
  106. package/.agents/skills/filesystem-context/SKILL.md +287 -0
  107. package/.agents/skills/filesystem-context/references/implementation-patterns.md +549 -0
  108. package/.agents/skills/filesystem-context/scripts/filesystem_context.py +425 -0
  109. package/.agents/skills/find-skills/SKILL.md +142 -0
  110. package/.agents/skills/frontend-design/SKILL.md +147 -0
  111. package/.agents/skills/frontend-design/reference/color-and-contrast.md +132 -0
  112. package/.agents/skills/frontend-design/reference/interaction-design.md +195 -0
  113. package/.agents/skills/frontend-design/reference/motion-design.md +99 -0
  114. package/.agents/skills/frontend-design/reference/responsive-design.md +114 -0
  115. package/.agents/skills/frontend-design/reference/spatial-design.md +100 -0
  116. package/.agents/skills/frontend-design/reference/typography.md +133 -0
  117. package/.agents/skills/frontend-design/reference/ux-writing.md +107 -0
  118. package/.agents/skills/gh-commit/SKILL.md +243 -0
  119. package/.agents/skills/gh-create-pr/SKILL.md +93 -0
  120. package/.agents/skills/harden/SKILL.md +354 -0
  121. package/.agents/skills/hosted-agents/SKILL.md +260 -0
  122. package/.agents/skills/hosted-agents/references/infrastructure-patterns.md +700 -0
  123. package/.agents/skills/hosted-agents/scripts/sandbox_manager.py +590 -0
  124. package/.agents/skills/impeccable/SKILL.md +365 -0
  125. package/.agents/skills/impeccable/reference/color-and-contrast.md +105 -0
  126. package/.agents/skills/impeccable/reference/craft.md +70 -0
  127. package/.agents/skills/impeccable/reference/extract.md +70 -0
  128. package/.agents/skills/impeccable/reference/interaction-design.md +195 -0
  129. package/.agents/skills/impeccable/reference/motion-design.md +99 -0
  130. package/.agents/skills/impeccable/reference/responsive-design.md +114 -0
  131. package/.agents/skills/impeccable/reference/spatial-design.md +100 -0
  132. package/.agents/skills/impeccable/reference/typography.md +142 -0
  133. package/.agents/skills/impeccable/reference/ux-writing.md +107 -0
  134. package/.agents/skills/impeccable/scripts/cleanup-deprecated.mjs +214 -0
  135. package/.agents/skills/init/SKILL.md +138 -0
  136. package/.agents/skills/layout/SKILL.md +125 -0
  137. package/.agents/skills/liteparse/SKILL.md +222 -0
  138. package/.agents/skills/memory-systems/SKILL.md +219 -0
  139. package/.agents/skills/memory-systems/references/implementation.md +551 -0
  140. package/.agents/skills/memory-systems/scripts/memory_store.py +616 -0
  141. package/.agents/skills/multi-agent-patterns/SKILL.md +257 -0
  142. package/.agents/skills/multi-agent-patterns/references/frameworks.md +433 -0
  143. package/.agents/skills/multi-agent-patterns/scripts/coordination.py +613 -0
  144. package/.agents/skills/normalize/SKILL.md +70 -0
  145. package/.agents/skills/onboard/SKILL.md +245 -0
  146. package/.agents/skills/opentui/SKILL.md +201 -0
  147. package/.agents/skills/opentui/references/animation/REFERENCE.md +431 -0
  148. package/.agents/skills/opentui/references/components/REFERENCE.md +144 -0
  149. package/.agents/skills/opentui/references/components/code-diff.md +672 -0
  150. package/.agents/skills/opentui/references/components/containers.md +417 -0
  151. package/.agents/skills/opentui/references/components/inputs.md +531 -0
  152. package/.agents/skills/opentui/references/components/text-display.md +386 -0
  153. package/.agents/skills/opentui/references/core/REFERENCE.md +145 -0
  154. package/.agents/skills/opentui/references/core/api.md +543 -0
  155. package/.agents/skills/opentui/references/core/configuration.md +168 -0
  156. package/.agents/skills/opentui/references/core/gotchas.md +393 -0
  157. package/.agents/skills/opentui/references/core/patterns.md +449 -0
  158. package/.agents/skills/opentui/references/keyboard/REFERENCE.md +617 -0
  159. package/.agents/skills/opentui/references/layout/REFERENCE.md +337 -0
  160. package/.agents/skills/opentui/references/layout/patterns.md +444 -0
  161. package/.agents/skills/opentui/references/react/REFERENCE.md +174 -0
  162. package/.agents/skills/opentui/references/react/api.md +436 -0
  163. package/.agents/skills/opentui/references/react/configuration.md +302 -0
  164. package/.agents/skills/opentui/references/react/gotchas.md +443 -0
  165. package/.agents/skills/opentui/references/react/patterns.md +501 -0
  166. package/.agents/skills/opentui/references/solid/REFERENCE.md +201 -0
  167. package/.agents/skills/opentui/references/solid/api.md +564 -0
  168. package/.agents/skills/opentui/references/solid/configuration.md +316 -0
  169. package/.agents/skills/opentui/references/solid/gotchas.md +427 -0
  170. package/.agents/skills/opentui/references/solid/patterns.md +560 -0
  171. package/.agents/skills/opentui/references/testing/REFERENCE.md +614 -0
  172. package/.agents/skills/optimize/SKILL.md +266 -0
  173. package/.agents/skills/overdrive/SKILL.md +142 -0
  174. package/.agents/skills/pdf/LICENSE.txt +30 -0
  175. package/.agents/skills/pdf/SKILL.md +314 -0
  176. package/.agents/skills/pdf/forms.md +294 -0
  177. package/.agents/skills/pdf/reference.md +612 -0
  178. package/.agents/skills/pdf/scripts/check_bounding_boxes.py +65 -0
  179. package/.agents/skills/pdf/scripts/check_fillable_fields.py +11 -0
  180. package/.agents/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
  181. package/.agents/skills/pdf/scripts/create_validation_image.py +37 -0
  182. package/.agents/skills/pdf/scripts/extract_form_field_info.py +122 -0
  183. package/.agents/skills/pdf/scripts/extract_form_structure.py +115 -0
  184. package/.agents/skills/pdf/scripts/fill_fillable_fields.py +98 -0
  185. package/.agents/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  186. package/.agents/skills/playwright-cli/SKILL.md +344 -0
  187. package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
  188. package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
  189. package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
  190. package/.agents/skills/playwright-cli/references/running-code.md +231 -0
  191. package/.agents/skills/playwright-cli/references/session-management.md +169 -0
  192. package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
  193. package/.agents/skills/playwright-cli/references/test-generation.md +88 -0
  194. package/.agents/skills/playwright-cli/references/tracing.md +139 -0
  195. package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
  196. package/.agents/skills/polish/SKILL.md +224 -0
  197. package/.agents/skills/pptx/LICENSE.txt +30 -0
  198. package/.agents/skills/pptx/SKILL.md +232 -0
  199. package/.agents/skills/pptx/editing.md +205 -0
  200. package/.agents/skills/pptx/pptxgenjs.md +420 -0
  201. package/.agents/skills/pptx/scripts/__init__.py +0 -0
  202. package/.agents/skills/pptx/scripts/add_slide.py +195 -0
  203. package/.agents/skills/pptx/scripts/clean.py +286 -0
  204. package/.agents/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  205. package/.agents/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
  206. package/.agents/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  207. package/.agents/skills/pptx/scripts/office/pack.py +159 -0
  208. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  209. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  210. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  211. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  212. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  213. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  214. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  215. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  216. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  217. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  218. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  219. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  220. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  221. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  222. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  223. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  224. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  225. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  226. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  227. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  228. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  229. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  230. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  231. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  232. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  233. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  234. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  235. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  236. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  237. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  238. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  239. package/.agents/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  240. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  241. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  242. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  243. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  244. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  245. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  246. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  247. package/.agents/skills/pptx/scripts/office/soffice.py +183 -0
  248. package/.agents/skills/pptx/scripts/office/unpack.py +132 -0
  249. package/.agents/skills/pptx/scripts/office/validate.py +111 -0
  250. package/.agents/skills/pptx/scripts/office/validators/__init__.py +15 -0
  251. package/.agents/skills/pptx/scripts/office/validators/base.py +847 -0
  252. package/.agents/skills/pptx/scripts/office/validators/docx.py +446 -0
  253. package/.agents/skills/pptx/scripts/office/validators/pptx.py +275 -0
  254. package/.agents/skills/pptx/scripts/office/validators/redlining.py +247 -0
  255. package/.agents/skills/pptx/scripts/thumbnail.py +289 -0
  256. package/.agents/skills/project-development/SKILL.md +291 -0
  257. package/.agents/skills/project-development/references/case-studies.md +388 -0
  258. package/.agents/skills/project-development/references/pipeline-patterns.md +610 -0
  259. package/.agents/skills/project-development/scripts/pipeline_template.py +796 -0
  260. package/.agents/skills/prompt-engineer/SKILL.md +263 -0
  261. package/.agents/skills/prompt-engineer/references/advanced_patterns.md +271 -0
  262. package/.agents/skills/prompt-engineer/references/core_prompting.md +137 -0
  263. package/.agents/skills/prompt-engineer/references/quality_improvement.md +193 -0
  264. package/.agents/skills/quieter/SKILL.md +103 -0
  265. package/.agents/skills/research-codebase/SKILL.md +227 -0
  266. package/.agents/skills/shape/SKILL.md +96 -0
  267. package/.agents/skills/skill-creator/LICENSE.txt +202 -0
  268. package/.agents/skills/skill-creator/SKILL.md +485 -0
  269. package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  270. package/.agents/skills/skill-creator/agents/comparator.md +202 -0
  271. package/.agents/skills/skill-creator/agents/grader.md +223 -0
  272. package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  273. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  274. package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  275. package/.agents/skills/skill-creator/references/schemas.md +430 -0
  276. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  277. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  278. package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  279. package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  280. package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  281. package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  282. package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  283. package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  284. package/.agents/skills/skill-creator/scripts/utils.py +47 -0
  285. package/.agents/skills/sl-commit/SKILL.md +51 -0
  286. package/.agents/skills/sl-submit-diff/SKILL.md +55 -0
  287. package/.agents/skills/teach-impeccable/SKILL.md +71 -0
  288. package/.agents/skills/test-driven-development/SKILL.md +371 -0
  289. package/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
  290. package/.agents/skills/tool-design/SKILL.md +271 -0
  291. package/.agents/skills/tool-design/references/architectural_reduction.md +210 -0
  292. package/.agents/skills/tool-design/references/best_practices.md +176 -0
  293. package/.agents/skills/tool-design/scripts/description_generator.py +528 -0
  294. package/.agents/skills/typescript-advanced-types/SKILL.md +719 -0
  295. package/.agents/skills/typescript-expert/SKILL.md +428 -0
  296. package/.agents/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  297. package/.agents/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  298. package/.agents/skills/typescript-expert/references/utility-types.ts +335 -0
  299. package/.agents/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  300. package/.agents/skills/typescript-react-reviewer/SKILL.md +200 -0
  301. package/.agents/skills/typescript-react-reviewer/references/antipatterns.md +510 -0
  302. package/.agents/skills/typescript-react-reviewer/references/checklist.md +267 -0
  303. package/.agents/skills/typescript-react-reviewer/references/react19-patterns.md +305 -0
  304. package/.agents/skills/typeset/SKILL.md +116 -0
  305. package/.agents/skills/workflow-creator/SKILL.md +337 -0
  306. package/.agents/skills/workflow-creator/references/agent-sessions.md +789 -0
  307. package/.agents/skills/workflow-creator/references/computation-and-validation.md +224 -0
  308. package/.agents/skills/workflow-creator/references/control-flow.md +450 -0
  309. package/.agents/skills/workflow-creator/references/discovery-and-verification.md +156 -0
  310. package/.agents/skills/workflow-creator/references/failure-modes.md +732 -0
  311. package/.agents/skills/workflow-creator/references/getting-started.md +289 -0
  312. package/.agents/skills/workflow-creator/references/session-config.md +355 -0
  313. package/.agents/skills/workflow-creator/references/state-and-data-flow.md +374 -0
  314. package/.agents/skills/workflow-creator/references/user-input.md +206 -0
  315. package/.agents/skills/workflow-creator/references/workflow-inputs.md +274 -0
  316. package/.agents/skills/xlsx/LICENSE.txt +30 -0
  317. package/.agents/skills/xlsx/SKILL.md +292 -0
  318. package/.agents/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  319. package/.agents/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  320. package/.agents/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  321. package/.agents/skills/xlsx/scripts/office/pack.py +159 -0
  322. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  323. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  324. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  325. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  326. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  327. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  328. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  329. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  330. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  331. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  332. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  333. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  334. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  335. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  336. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  337. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  338. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  339. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  340. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  341. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  342. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  343. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  344. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  345. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  346. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  347. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  348. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  349. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  350. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  351. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  352. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  353. package/.agents/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  354. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  355. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  356. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  357. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  358. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  359. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  360. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  361. package/.agents/skills/xlsx/scripts/office/soffice.py +183 -0
  362. package/.agents/skills/xlsx/scripts/office/unpack.py +132 -0
  363. package/.agents/skills/xlsx/scripts/office/validate.py +111 -0
  364. package/.agents/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  365. package/.agents/skills/xlsx/scripts/office/validators/base.py +847 -0
  366. package/.agents/skills/xlsx/scripts/office/validators/docx.py +446 -0
  367. package/.agents/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  368. package/.agents/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  369. package/.agents/skills/xlsx/scripts/recalc.py +184 -0
  370. package/.claude/agents/reviewer.md +1 -0
  371. package/.github/agents/reviewer.md +1 -0
  372. package/.opencode/agents/reviewer.md +1 -0
  373. package/README.md +274 -169
  374. package/package.json +6 -7
  375. package/src/commands/cli/init/index.ts +2 -2
  376. package/src/commands/cli/init/scm.ts +7 -8
  377. package/src/commands/cli/workflow-command.test.ts +74 -0
  378. package/src/commands/cli/workflow.ts +7 -2
  379. package/src/scripts/bundle-configs.ts +128 -0
  380. package/src/sdk/components/compact-switcher.tsx +1 -1
  381. package/src/sdk/components/orchestrator-panel-store.ts +13 -0
  382. package/src/sdk/components/orchestrator-panel.tsx +10 -0
  383. package/src/sdk/components/statusline.tsx +13 -1
  384. package/src/sdk/providers/claude.ts +42 -0
  385. package/src/sdk/runtime/executor.ts +111 -32
  386. package/src/sdk/types.ts +7 -0
  387. package/src/sdk/workflows/builtin/ralph/claude/index.ts +132 -76
  388. package/src/sdk/workflows/builtin/ralph/copilot/index.ts +129 -71
  389. package/src/sdk/workflows/builtin/ralph/helpers/git.ts +184 -17
  390. package/src/sdk/workflows/builtin/ralph/helpers/prompts.ts +463 -79
  391. package/src/sdk/workflows/builtin/ralph/opencode/index.ts +124 -80
  392. package/src/services/system/auto-sync.ts +31 -51
  393. package/src/services/system/skills.ts +56 -60
  394. package/dist/lib/path-root-guard.d.ts +0 -4
  395. package/dist/lib/path-root-guard.d.ts.map +0 -1
  396. package/dist/sdk/components/color-utils.d.ts +0 -4
  397. package/dist/sdk/components/color-utils.d.ts.map +0 -1
  398. package/dist/sdk/components/compact-switcher.d.ts +0 -10
  399. package/dist/sdk/components/compact-switcher.d.ts.map +0 -1
  400. package/dist/sdk/components/connectors.d.ts +0 -15
  401. package/dist/sdk/components/connectors.d.ts.map +0 -1
  402. package/dist/sdk/components/connectors.test.d.ts +0 -2
  403. package/dist/sdk/components/connectors.test.d.ts.map +0 -1
  404. package/dist/sdk/components/edge.d.ts +0 -4
  405. package/dist/sdk/components/edge.d.ts.map +0 -1
  406. package/dist/sdk/components/error-boundary.d.ts +0 -23
  407. package/dist/sdk/components/error-boundary.d.ts.map +0 -1
  408. package/dist/sdk/components/graph-theme.d.ts +0 -17
  409. package/dist/sdk/components/graph-theme.d.ts.map +0 -1
  410. package/dist/sdk/components/header.d.ts +0 -3
  411. package/dist/sdk/components/header.d.ts.map +0 -1
  412. package/dist/sdk/components/hooks.d.ts +0 -15
  413. package/dist/sdk/components/hooks.d.ts.map +0 -1
  414. package/dist/sdk/components/layout.d.ts +0 -27
  415. package/dist/sdk/components/layout.d.ts.map +0 -1
  416. package/dist/sdk/components/layout.test.d.ts +0 -2
  417. package/dist/sdk/components/layout.test.d.ts.map +0 -1
  418. package/dist/sdk/components/node-card.d.ts +0 -10
  419. package/dist/sdk/components/node-card.d.ts.map +0 -1
  420. package/dist/sdk/components/orchestrator-panel-contexts.d.ts +0 -16
  421. package/dist/sdk/components/orchestrator-panel-contexts.d.ts.map +0 -1
  422. package/dist/sdk/components/orchestrator-panel-store.d.ts +0 -46
  423. package/dist/sdk/components/orchestrator-panel-store.d.ts.map +0 -1
  424. package/dist/sdk/components/orchestrator-panel-store.test.d.ts +0 -2
  425. package/dist/sdk/components/orchestrator-panel-store.test.d.ts.map +0 -1
  426. package/dist/sdk/components/orchestrator-panel-types.d.ts +0 -18
  427. package/dist/sdk/components/orchestrator-panel-types.d.ts.map +0 -1
  428. package/dist/sdk/components/orchestrator-panel.d.ts +0 -52
  429. package/dist/sdk/components/orchestrator-panel.d.ts.map +0 -1
  430. package/dist/sdk/components/session-graph-panel.d.ts +0 -7
  431. package/dist/sdk/components/session-graph-panel.d.ts.map +0 -1
  432. package/dist/sdk/components/status-helpers.d.ts +0 -6
  433. package/dist/sdk/components/status-helpers.d.ts.map +0 -1
  434. package/dist/sdk/components/statusline.d.ts +0 -7
  435. package/dist/sdk/components/statusline.d.ts.map +0 -1
  436. package/dist/sdk/components/workflow-picker-panel.d.ts +0 -123
  437. package/dist/sdk/components/workflow-picker-panel.d.ts.map +0 -1
  438. package/dist/sdk/define-workflow.d.ts +0 -78
  439. package/dist/sdk/define-workflow.d.ts.map +0 -1
  440. package/dist/sdk/define-workflow.test.d.ts +0 -2
  441. package/dist/sdk/define-workflow.test.d.ts.map +0 -1
  442. package/dist/sdk/errors.d.ts +0 -24
  443. package/dist/sdk/errors.d.ts.map +0 -1
  444. package/dist/sdk/errors.test.d.ts +0 -2
  445. package/dist/sdk/errors.test.d.ts.map +0 -1
  446. package/dist/sdk/index.d.ts +0 -13
  447. package/dist/sdk/index.d.ts.map +0 -1
  448. package/dist/sdk/providers/claude.d.ts +0 -170
  449. package/dist/sdk/providers/claude.d.ts.map +0 -1
  450. package/dist/sdk/providers/copilot.d.ts +0 -11
  451. package/dist/sdk/providers/copilot.d.ts.map +0 -1
  452. package/dist/sdk/providers/opencode.d.ts +0 -11
  453. package/dist/sdk/providers/opencode.d.ts.map +0 -1
  454. package/dist/sdk/runtime/discovery.d.ts +0 -86
  455. package/dist/sdk/runtime/discovery.d.ts.map +0 -1
  456. package/dist/sdk/runtime/executor-entry.d.ts +0 -11
  457. package/dist/sdk/runtime/executor-entry.d.ts.map +0 -1
  458. package/dist/sdk/runtime/executor.d.ts +0 -72
  459. package/dist/sdk/runtime/executor.d.ts.map +0 -1
  460. package/dist/sdk/runtime/executor.test.d.ts +0 -2
  461. package/dist/sdk/runtime/executor.test.d.ts.map +0 -1
  462. package/dist/sdk/runtime/graph-inference.d.ts +0 -35
  463. package/dist/sdk/runtime/graph-inference.d.ts.map +0 -1
  464. package/dist/sdk/runtime/loader.d.ts +0 -70
  465. package/dist/sdk/runtime/loader.d.ts.map +0 -1
  466. package/dist/sdk/runtime/panel.d.ts +0 -9
  467. package/dist/sdk/runtime/panel.d.ts.map +0 -1
  468. package/dist/sdk/runtime/theme.d.ts +0 -28
  469. package/dist/sdk/runtime/theme.d.ts.map +0 -1
  470. package/dist/sdk/runtime/tmux.d.ts +0 -297
  471. package/dist/sdk/runtime/tmux.d.ts.map +0 -1
  472. package/dist/sdk/types.d.ts +0 -295
  473. package/dist/sdk/types.d.ts.map +0 -1
  474. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts +0 -62
  475. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts.map +0 -1
  476. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts +0 -46
  477. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts.map +0 -1
  478. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts +0 -26
  479. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts.map +0 -1
  480. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts +0 -92
  481. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts.map +0 -1
  482. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts +0 -57
  483. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts.map +0 -1
  484. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts +0 -49
  485. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts.map +0 -1
  486. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts +0 -14
  487. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts.map +0 -1
  488. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts +0 -14
  489. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts.map +0 -1
  490. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts +0 -17
  491. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts.map +0 -1
  492. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts +0 -119
  493. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts.map +0 -1
  494. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts +0 -20
  495. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts.map +0 -1
  496. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts +0 -14
  497. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts.map +0 -1
  498. package/dist/sdk/workflows/index.d.ts +0 -24
  499. package/dist/sdk/workflows/index.d.ts.map +0 -1
  500. package/dist/services/config/definitions.d.ts +0 -85
  501. package/dist/services/config/definitions.d.ts.map +0 -1
  502. package/dist/services/system/copy.d.ts +0 -77
  503. package/dist/services/system/copy.d.ts.map +0 -1
  504. package/dist/services/system/detect.d.ts +0 -75
  505. package/dist/services/system/detect.d.ts.map +0 -1
  506. package/tsconfig.json +0 -33
package/README.md CHANGED
@@ -57,27 +57,56 @@ Each of these is a `.ts` file using Atomic's [Workflow SDK](#workflow-sdk--build
57
57
 
58
58
  ## Table of Contents
59
59
 
60
- - [Why Atomic](#why-atomic)
61
- - [What You Can Build](#what-you-can-build)
62
- - [Quick Start](#quick-start)
63
- - [Core Features](#core-features)
64
- - [Multi-Agent Support](#multi-agent-support)
65
- - [Workflow SDK — Build Your Own Deterministic Harness](#workflow-sdk--build-your-own-deterministic-harness)
66
- - [Deep Codebase Research](#deep-codebase-research)
67
- - [Autonomous Execution (Ralph)](#autonomous-execution-ralph)
68
- - [Containerized Execution](#containerized-execution)
69
- - [Specialized Sub-Agents](#specialized-sub-agents)
70
- - [Built-in Skills](#built-in-skills)
71
- - [Workflow Orchestrator Panel](#workflow-orchestrator-panel)
72
- - [Commands Reference](#commands-reference)
73
- - [Configuration](#configuration)
74
- - [Installation Options](#installation-options)
75
- - [Updating & Uninstalling](#updating--uninstalling)
76
- - [Troubleshooting](#troubleshooting)
77
- - [FAQ](#faq)
78
- - [Contributing](#contributing)
79
- - [License](#license)
80
- - [Credits](#credits)
60
+ - [Atomic](#atomic)
61
+ - [Why Atomic](#why-atomic)
62
+ - [What You Can Build](#what-you-can-build)
63
+ - [Table of Contents](#table-of-contents)
64
+ - [Quick Start](#quick-start)
65
+ - [Prerequisites](#prerequisites)
66
+ - [1. Install](#1-install)
67
+ - [2. Initialize Your Project](#2-initialize-your-project)
68
+ - [3. Generate Context Files](#3-generate-context-files)
69
+ - [4. Managing Sessions](#4-managing-sessions)
70
+ - [5. Build a Workflow](#5-build-a-workflow)
71
+ - [Core Features](#core-features)
72
+ - [Multi-Agent Support](#multi-agent-support)
73
+ - [Workflow SDK — Build Your Own Deterministic Harness](#workflow-sdk--build-your-own-deterministic-harness)
74
+ - [Builder API](#builder-api)
75
+ - [WorkflowContext (`ctx`) — top-level orchestrator](#workflowcontext-ctx--top-level-orchestrator)
76
+ - [SessionContext (`s`) — inside each session callback](#sessioncontext-s--inside-each-session-callback)
77
+ - [Session Options (`SessionRunOptions`)](#session-options-sessionrunoptions)
78
+ - [Saving Transcripts](#saving-transcripts)
79
+ - [Per-Agent Session APIs](#per-agent-session-apis)
80
+ - [Key Rules](#key-rules)
81
+ - [Deep Codebase Research](#deep-codebase-research)
82
+ - [Autonomous Execution (Ralph)](#autonomous-execution-ralph)
83
+ - [Containerized Execution](#containerized-execution)
84
+ - [Specialized Sub-Agents](#specialized-sub-agents)
85
+ - [Built-in Skills](#built-in-skills)
86
+ - [Workflow Orchestrator Panel](#workflow-orchestrator-panel)
87
+ - [Commands Reference](#commands-reference)
88
+ - [CLI Commands](#cli-commands)
89
+ - [Global Flags](#global-flags)
90
+ - [`atomic init` Flags](#atomic-init-flags)
91
+ - [`atomic session` Subcommands](#atomic-session-subcommands)
92
+ - [`atomic chat` Flags](#atomic-chat-flags)
93
+ - [`atomic workflow` Flags](#atomic-workflow-flags)
94
+ - [`atomic completions` — Shell Completions](#atomic-completions--shell-completions)
95
+ - [Atomic-Provided Skills (invokable from any agent chat)](#atomic-provided-skills-invokable-from-any-agent-chat)
96
+ - [Configuration](#configuration)
97
+ - [`.atomic/settings.json`](#atomicsettingsjson)
98
+ - [Agent-Specific Files](#agent-specific-files)
99
+ - [Installation Options](#installation-options)
100
+ - [Bun (recommended)](#bun-recommended)
101
+ - [Devcontainer (recommended for autonomous agents)](#devcontainer-recommended-for-autonomous-agents)
102
+ - [Updating \& Uninstalling](#updating--uninstalling)
103
+ - [Update](#update)
104
+ - [Uninstall](#uninstall)
105
+ - [Troubleshooting](#troubleshooting)
106
+ - [FAQ](#faq)
107
+ - [Contributing](#contributing)
108
+ - [License](#license)
109
+ - [Credits](#credits)
81
110
 
82
111
  ---
83
112
 
@@ -150,6 +179,15 @@ irm https://raw.githubusercontent.com/flora131/atomic/main/install.ps1 | iex
150
179
  ```
151
180
 
152
181
 
182
+ > [!IMPORTANT]
183
+ > **Migrating from the old standalone binary?** The old version of Atomic was a standalone binary. It is now distributed as an npm package. To migrate:
184
+ >
185
+ > 1. Uninstall the old binary: `atomic uninstall`
186
+ > 2. Uninstall the old workflows package: `bun uninstall -g @bastani/atomic-workflows`
187
+ > 3. Delete the old config directory: `rm -rf ~/.atomic`
188
+ > 4. Remove legacy skill directories: `rm -rf ~/.copilot/skills ~/.opencode/skills`
189
+ > 5. Re-install using any of the install options above
190
+
153
191
  ### 2. Initialize Your Project
154
192
 
155
193
  ```bash
@@ -196,10 +234,10 @@ atomic session connect
196
234
 
197
235
  Session names follow a predictable pattern:
198
236
 
199
- | Session type | Name format | Example |
200
- | ------------ | ---------------------------------- | ----------------------------- |
201
- | Chat | `atomic-chat-<id>` | `atomic-chat-a1b2c3d4` |
202
- | Workflow | `atomic-wf-<workflow>-<id>` | `atomic-wf-ralph-x9y8z7w6` |
237
+ | Session type | Name format | Example |
238
+ | ------------ | --------------------------- | -------------------------- |
239
+ | Chat | `atomic-chat-<id>` | `atomic-chat-a1b2c3d4` |
240
+ | Workflow | `atomic-wf-<workflow>-<id>` | `atomic-wf-ralph-x9y8z7w6` |
203
241
 
204
242
  > **Tip:** If your terminal disconnects or you accidentally close the window, your session is still alive — just run `atomic session connect <session-name>` to pick up where you left off.
205
243
 
@@ -476,20 +514,85 @@ atomic workflow -a claude
476
514
 
477
515
  </details>
478
516
 
517
+ <details>
518
+ <summary>Example: Background (headless) stages for parallel data gathering</summary>
519
+
520
+ Stages can run in **headless mode** (`headless: true`) — they execute the provider SDK in-process instead of spawning a tmux window. Headless stages are invisible in the workflow graph but tracked via a background task counter in the statusline. Use them for parallel data-gathering tasks that don't need a visible TUI.
521
+
522
+ ```ts
523
+ import { defineWorkflow } from "@bastani/atomic/workflows";
524
+
525
+ export default defineWorkflow<"claude">({
526
+ name: "headless-demo",
527
+ description: "seed -> [3 headless background] -> merge",
528
+ })
529
+ .run(async (ctx) => {
530
+ const prompt = ctx.inputs.prompt ?? "";
531
+
532
+ // Visible stage: generate seed data
533
+ const seed = await ctx.stage(
534
+ { name: "seed", description: "Generate overview" },
535
+ {}, {},
536
+ async (s) => {
537
+ const result = await s.session.query(prompt);
538
+ s.save(s.sessionId);
539
+ return String(result.output ?? "");
540
+ },
541
+ );
542
+
543
+ // Three parallel headless stages — invisible in graph, tracked by counter
544
+ const [pros, cons, uses] = await Promise.all([
545
+ ctx.stage({ name: "pros", headless: true }, {}, {}, async (s) => {
546
+ const r = await s.session.query(`List 3 pros:\n\n${seed.result}`);
547
+ s.save(s.sessionId);
548
+ return String(r.output ?? "");
549
+ }),
550
+ ctx.stage({ name: "cons", headless: true }, {}, {}, async (s) => {
551
+ const r = await s.session.query(`List 3 cons:\n\n${seed.result}`);
552
+ s.save(s.sessionId);
553
+ return String(r.output ?? "");
554
+ }),
555
+ ctx.stage({ name: "uses", headless: true }, {}, {}, async (s) => {
556
+ const r = await s.session.query(`List 3 use cases:\n\n${seed.result}`);
557
+ s.save(s.sessionId);
558
+ return String(r.output ?? "");
559
+ }),
560
+ ]);
561
+
562
+ // Visible stage: merge background results
563
+ await ctx.stage(
564
+ { name: "merge", description: "Combine results" },
565
+ {}, {},
566
+ async (s) => {
567
+ await s.session.query(
568
+ `Combine:\n\n## Pros\n${pros.result}\n\n## Cons\n${cons.result}\n\n## Uses\n${uses.result}`,
569
+ );
570
+ s.save(s.sessionId);
571
+ },
572
+ );
573
+ })
574
+ .compile();
575
+ ```
576
+
577
+ The graph shows `seed → merge` — headless stages are transparent to the topology. The callback API (`s.client`, `s.session`, `s.save()`, `s.transcript()`, return values) is identical to interactive stages.
578
+
579
+ </details>
580
+
479
581
  **Key capabilities:**
480
582
 
481
- | Capability | Description |
482
- | ---------------------------- | ------------------------------------------------------------------------------------ |
483
- | **Dynamic session spawning** | Call `ctx.stage()` to spawn sessions at runtime — each gets its own tmux window and graph node |
484
- | **Native TypeScript control flow** | Use `for`, `if/else`, `Promise.all()`, `try/catch` — no framework DSL needed |
485
- | **Session return values** | Session callbacks can return data: `const h = await ctx.stage(...); h.result` |
486
- | **Transcript passing** | Access prior session output via handle (`s.transcript(handle)`) or name (`s.transcript("name")`) |
487
- | **Declared input schemas** | Add an `inputs: [...]` array to `defineWorkflow()` and the CLI materialises `--<field>=<value>` flags with built-in validation (required fields, enum membership, unknown flags) |
488
- | **Interactive picker** | `atomic workflow -a <agent>` launches a fuzzy-searchable picker that renders each workflow's input schema as a form — no flag-memorisation required |
489
- | **Nested sub-sessions** | Call `s.stage()` inside a session callback to spawn child sessions — visible as nested nodes in the graph |
490
- | **Auto-inferred graph** | Graph topology auto-inferred from `await`/`Promise.all` patterns — no annotations needed |
491
- | **Provider-agnostic** | Write raw SDK code for Claude, Copilot, or OpenCode inside each session callback |
492
- | **Live graph visualization** | Sessions appear in the TUI graph as they're spawned — loops and conditionals are visible in real time |
583
+ | Capability | Description |
584
+ | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
585
+ | **Dynamic session spawning** | Call `ctx.stage()` to spawn sessions at runtime — each gets its own tmux window and graph node |
586
+ | **Native TypeScript control flow** | Use `for`, `if/else`, `Promise.all()`, `try/catch` — no framework DSL needed |
587
+ | **Session return values** | Session callbacks can return data: `const h = await ctx.stage(...); h.result` |
588
+ | **Transcript passing** | Access prior session output via handle (`s.transcript(handle)`) or name (`s.transcript("name")`) |
589
+ | **Declared input schemas** | Add an `inputs: [...]` array to `defineWorkflow()` and the CLI materialises `--<field>=<value>` flags with built-in validation (required fields, enum membership, unknown flags) |
590
+ | **Interactive picker** | `atomic workflow -a <agent>` launches a fuzzy-searchable picker that renders each workflow's input schema as a form — no flag-memorisation required |
591
+ | **Nested sub-sessions** | Call `s.stage()` inside a session callback to spawn child sessions — visible as nested nodes in the graph |
592
+ | **Auto-inferred graph** | Graph topology auto-inferred from `await`/`Promise.all` patterns — no annotations needed |
593
+ | **Provider-agnostic** | Write raw SDK code for Claude, Copilot, or OpenCode inside each session callback |
594
+ | **Live graph visualization** | Sessions appear in the TUI graph as they're spawned — loops and conditionals are visible in real time |
595
+ | **Background (headless) stages** | Set `headless: true` on `ctx.stage()` to run stages in-process without a tmux window — invisible in graph, tracked by statusline counter, identical callback API |
493
596
 
494
597
  **Deterministic execution guarantees:**
495
598
 
@@ -522,36 +625,37 @@ Use your workflow-creator skill to create a workflow that plans, implements, and
522
625
 
523
626
  #### WorkflowContext (`ctx`) — top-level orchestrator
524
627
 
525
- | Property | Type | Description |
526
- | ----------------------- | ------------------------- | -------------------------------------------------------------- |
527
- | `ctx.inputs` | `Record<string, string>` | Structured inputs for this run. Free-form workflows store their positional prompt under `ctx.inputs.prompt`; workflows with a declared `inputs` schema store one key per declared field |
528
- | `ctx.agent` | `AgentType` | Which agent is running (`"claude"`, `"copilot"`, `"opencode"`) |
529
- | `ctx.stage(opts, clientOpts, sessionOpts, fn)` | `Promise<SessionHandle<T>>` | Spawn a session — returns handle with `name`, `id`, `result` |
530
- | `ctx.transcript(ref)` | `Promise<Transcript>` | Get a completed session's transcript (`{ path, content }`) |
531
- | `ctx.getMessages(ref)` | `Promise<SavedMessage[]>` | Get a completed session's raw native messages |
628
+ | Property | Type | Description |
629
+ | ---------------------------------------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
630
+ | `ctx.inputs` | `Record<string, string>` | Structured inputs for this run. Free-form workflows store their positional prompt under `ctx.inputs.prompt`; workflows with a declared `inputs` schema store one key per declared field |
631
+ | `ctx.agent` | `AgentType` | Which agent is running (`"claude"`, `"copilot"`, `"opencode"`) |
632
+ | `ctx.stage(opts, clientOpts, sessionOpts, fn)` | `Promise<SessionHandle<T>>` | Spawn a session — returns handle with `name`, `id`, `result` |
633
+ | `ctx.transcript(ref)` | `Promise<Transcript>` | Get a completed session's transcript (`{ path, content }`) |
634
+ | `ctx.getMessages(ref)` | `Promise<SavedMessage[]>` | Get a completed session's raw native messages |
532
635
 
533
636
  #### SessionContext (`s`) — inside each session callback
534
637
 
535
- | Property | Type | Description |
536
- | ----------------------- | ------------------------- | -------------------------------------------------------------- |
537
- | `s.client` | `ProviderClient<A>` | Pre-created SDK client (auto-managed by runtime) |
538
- | `s.session` | `ProviderSession<A>` | Pre-created provider session (auto-managed by runtime) |
539
- | `s.inputs` | `Record<string, string>` | Same inputs record as `ctx.inputs`, forwarded into every stage so session callbacks can read values without closing over the outer `ctx` |
540
- | `s.agent` | `AgentType` | Which agent is running |
541
- | `s.paneId` | `string` | tmux pane ID for this session |
542
- | `s.sessionId` | `string` | Session UUID |
543
- | `s.sessionDir` | `string` | Path to this session's storage directory on disk |
544
- | `s.save(messages)` | `SaveTranscript` | Save this session's output for subsequent sessions |
545
- | `s.transcript(ref)` | `Promise<Transcript>` | Get a completed session's transcript |
546
- | `s.getMessages(ref)` | `Promise<SavedMessage[]>` | Get a completed session's raw native messages |
547
- | `s.stage(opts, clientOpts, sessionOpts, fn)` | `Promise<SessionHandle<T>>` | Spawn a nested sub-session (child in the graph) |
638
+ | Property | Type | Description |
639
+ | -------------------------------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
640
+ | `s.client` | `ProviderClient<A>` | Pre-created SDK client (auto-managed by runtime) |
641
+ | `s.session` | `ProviderSession<A>` | Pre-created provider session (auto-managed by runtime) |
642
+ | `s.inputs` | `Record<string, string>` | Same inputs record as `ctx.inputs`, forwarded into every stage so session callbacks can read values without closing over the outer `ctx` |
643
+ | `s.agent` | `AgentType` | Which agent is running |
644
+ | `s.paneId` | `string` | tmux pane ID for this session |
645
+ | `s.sessionId` | `string` | Session UUID |
646
+ | `s.sessionDir` | `string` | Path to this session's storage directory on disk |
647
+ | `s.save(messages)` | `SaveTranscript` | Save this session's output for subsequent sessions |
648
+ | `s.transcript(ref)` | `Promise<Transcript>` | Get a completed session's transcript |
649
+ | `s.getMessages(ref)` | `Promise<SavedMessage[]>` | Get a completed session's raw native messages |
650
+ | `s.stage(opts, clientOpts, sessionOpts, fn)` | `Promise<SessionHandle<T>>` | Spawn a nested sub-session (child in the graph) |
548
651
 
549
652
  #### Session Options (`SessionRunOptions`)
550
653
 
551
- | Property | Type | Description |
552
- | ------------- | ---------- | ----------------------------------------------------------------------------- |
553
- | `name` | `string` | Unique session name within the workflow run |
554
- | `description` | `string?` | Human-readable description shown in the graph |
654
+ | Property | Type | Description |
655
+ | ------------- | ---------- | ----------------------------------------------------------------------------------------------------- |
656
+ | `name` | `string` | Unique session name within the workflow run |
657
+ | `description` | `string?` | Human-readable description shown in the graph |
658
+ | `headless` | `boolean?` | When `true`, run in-process without a tmux window — invisible in graph, tracked by background counter |
555
659
 
556
660
  The runtime auto-infers parent-child edges from execution order: sequential `await` creates a chain, while `Promise.all` creates parallel fan-out/fan-in — no annotations needed.
557
661
 
@@ -559,8 +663,8 @@ The runtime auto-infers parent-child edges from execution order: sequential `awa
559
663
 
560
664
  Each provider saves transcripts differently:
561
665
 
562
- | Provider | How to Save |
563
- | ------------ | ------------------------------------------------------------------ |
666
+ | Provider | How to Save |
667
+ | ------------ | ----------------------------------------------------------------- |
564
668
  | **Claude** | `s.save(s.sessionId)` — auto-reads via `getSessionMessages()` |
565
669
  | **Copilot** | `s.save(await session.getMessages())` — pass `SessionEvent[]` |
566
670
  | **OpenCode** | `s.save(result.data!)` — pass the full `{ info, parts }` response |
@@ -569,10 +673,10 @@ Each provider saves transcripts differently:
569
673
 
570
674
  The runtime auto-creates `s.client` and `s.session` — use them directly inside the callback:
571
675
 
572
- | Agent | How to send a prompt |
573
- | ----- | -------------------- |
574
- | **Claude** | `await s.session.query(prompt)` |
575
- | **Copilot** | `await s.session.send({ prompt })` |
676
+ | Agent | How to send a prompt |
677
+ | ------------ | ----------------------------------------------------------------------------------------------------- |
678
+ | **Claude** | `await s.session.query(prompt)` |
679
+ | **Copilot** | `await s.session.send({ prompt })` |
576
680
  | **OpenCode** | `await s.client.session.prompt({ sessionID: s.session.id, parts: [{ type: "text", text: prompt }] })` |
577
681
 
578
682
  #### Key Rules
@@ -583,6 +687,7 @@ The runtime auto-creates `s.client` and `s.session` — use them directly inside
583
687
  4. Each session runs in its own tmux window with the chosen agent
584
688
  5. Workflows are organized per-workflow: `.atomic/workflows/<name>/<agent>/index.ts`
585
689
  6. Set up your workflow project with `bun init && bun add @bastani/atomic` — standard module resolution handles imports
690
+ 7. Background (headless) stages use the same callback API — `s.client`, `s.session`, `s.save()`, return values all work identically
586
691
 
587
692
  For the authoring walkthrough with worked examples, ask Atomic to use the `workflow-creator` skill or read the skill reference at `.agents/skills/workflow-creator/`.
588
693
 
@@ -860,33 +965,33 @@ During `atomic chat`, there is no Atomic-owned TUI — `atomic chat -a <agent>`
860
965
 
861
966
  ### CLI Commands
862
967
 
863
- | Command | Description |
864
- | -------------------------------- | --------------------------------------------------------------------- |
865
- | `atomic init` | Interactive project setup (agent selection, SCM choice, config sync) |
866
- | `atomic chat` | Spawn the native agent CLI inside a tmux/psmux session |
867
- | `atomic workflow` | Run a multi-session agent workflow with the Atomic orchestrator panel |
868
- | `atomic workflow list` | List available workflows, grouped by source |
869
- | `atomic session list` | List all running sessions on the atomic tmux socket |
870
- | `atomic session connect [name]` | Attach to a session (interactive picker when no name given) |
871
- | `atomic completions <shell>` | Output shell completion script (bash, zsh, fish, powershell) |
968
+ | Command | Description |
969
+ | ------------------------------- | --------------------------------------------------------------------- |
970
+ | `atomic init` | Interactive project setup (agent selection, SCM choice, config sync) |
971
+ | `atomic chat` | Spawn the native agent CLI inside a tmux/psmux session |
972
+ | `atomic workflow` | Run a multi-session agent workflow with the Atomic orchestrator panel |
973
+ | `atomic workflow list` | List available workflows, grouped by source |
974
+ | `atomic session list` | List all running sessions on the atomic tmux socket |
975
+ | `atomic session connect [name]` | Attach to a session (interactive picker when no name given) |
976
+ | `atomic completions <shell>` | Output shell completion script (bash, zsh, fish, powershell) |
872
977
  | `atomic config set <k> <v>` | Set configuration values (currently supports `telemetry`) |
873
978
 
874
979
  #### Global Flags
875
980
 
876
981
  These flags are available on all commands:
877
982
 
878
- | Flag | Description |
879
- | --------------- | -------------------------------------------- |
880
- | `-y, --yes` | Auto-confirm all prompts (non-interactive) |
881
- | `--no-banner` | Skip ASCII banner display |
882
- | `-v, --version` | Show version number |
983
+ | Flag | Description |
984
+ | --------------- | ------------------------------------------ |
985
+ | `-y, --yes` | Auto-confirm all prompts (non-interactive) |
986
+ | `--no-banner` | Skip ASCII banner display |
987
+ | `-v, --version` | Show version number |
883
988
 
884
989
  #### `atomic init` Flags
885
990
 
886
- | Flag | Description |
887
- | -------------------- | ---------------------------------------------- |
991
+ | Flag | Description |
992
+ | -------------------- | ------------------------------------------------- |
888
993
  | `-a, --agent <name>` | Pre-select agent: `claude`, `opencode`, `copilot` |
889
- | `-s, --scm <name>` | Pre-select SCM: `github`, `sapling` |
994
+ | `-s, --scm <name>` | Pre-select SCM: `github`, `sapling` |
890
995
 
891
996
  ```bash
892
997
  atomic init # Interactive setup
@@ -898,14 +1003,14 @@ atomic init --yes # Auto-confirm all prompts
898
1003
 
899
1004
  The `session` command is available at three levels — scoped or global:
900
1005
 
901
- | Command | Description |
902
- | ------------------------------------------ | ---------------------------------------------------- |
903
- | `atomic session list` | List all running sessions |
904
- | `atomic session connect [name]` | Attach to a session (interactive picker when no name) |
905
- | `atomic chat session list` | List running chat sessions only |
906
- | `atomic chat session connect [name]` | Attach to a chat session |
907
- | `atomic workflow session list` | List running workflow sessions only |
908
- | `atomic workflow session connect [name]` | Attach to a workflow session |
1006
+ | Command | Description |
1007
+ | ---------------------------------------- | ----------------------------------------------------- |
1008
+ | `atomic session list` | List all running sessions |
1009
+ | `atomic session connect [name]` | Attach to a session (interactive picker when no name) |
1010
+ | `atomic chat session list` | List running chat sessions only |
1011
+ | `atomic chat session connect [name]` | Attach to a chat session |
1012
+ | `atomic workflow session list` | List running workflow sessions only |
1013
+ | `atomic workflow session connect [name]` | Attach to a workflow session |
909
1014
 
910
1015
  Both `list` and `connect` accept `-a <agent>` (repeatable) to filter by agent backend.
911
1016
 
@@ -933,12 +1038,12 @@ atomic chat -a claude --verbose # Forward --verbose to claude
933
1038
 
934
1039
  #### `atomic workflow` Flags
935
1040
 
936
- | Flag | Description |
937
- | -------------------------- | ------------------------------------------------------------------- |
938
- | `-n, --name <name>` | Workflow name (matches directory under `.atomic/workflows/<name>/`) |
939
- | `-a, --agent <name>` | Agent: `claude`, `opencode`, `copilot` |
940
- | `--<field>=<value>` | Structured input for workflows that declare an `inputs` schema (also accepts `--<field> <value>`) |
941
- | `[prompt...]` | Positional prompt for free-form workflows (rejected on workflows with a declared schema) |
1041
+ | Flag | Description |
1042
+ | -------------------- | ------------------------------------------------------------------------------------------------- |
1043
+ | `-n, --name <name>` | Workflow name (matches directory under `.atomic/workflows/<name>/`) |
1044
+ | `-a, --agent <name>` | Agent: `claude`, `opencode`, `copilot` |
1045
+ | `--<field>=<value>` | Structured input for workflows that declare an `inputs` schema (also accepts `--<field> <value>`) |
1046
+ | `[prompt...]` | Positional prompt for free-form workflows (rejected on workflows with a declared schema) |
942
1047
 
943
1048
  The workflow command supports four invocation shapes:
944
1049
 
@@ -967,12 +1072,12 @@ Workflows that declare an `inputs: WorkflowInput[]` schema get CLI flag validati
967
1072
 
968
1073
  Atomic ships tab-completion for **bash**, **zsh**, **fish**, and **PowerShell**. The `atomic completions <shell>` command prints the completion script to stdout — pipe it into your shell's config to enable.
969
1074
 
970
- | Shell | One-liner (add to your rc file) |
971
- | ---------- | ---------------------------------------------------------------------------------------- |
972
- | Bash | `eval "$(atomic completions bash)"` — add to `~/.bashrc` |
973
- | Zsh | `eval "$(atomic completions zsh)"` — add to `~/.zshrc` |
974
- | Fish | `atomic completions fish > ~/.config/fish/completions/atomic.fish` |
975
- | PowerShell | `atomic completions powershell \| Invoke-Expression` — add to `$PROFILE` |
1075
+ | Shell | One-liner (add to your rc file) |
1076
+ | ---------- | ------------------------------------------------------------------------- |
1077
+ | Bash | `eval "$(atomic completions bash)"` — add to `~/.bashrc` |
1078
+ | Zsh | `eval "$(atomic completions zsh)"` — add to `~/.zshrc` |
1079
+ | Fish | `atomic completions fish > ~/.config/fish/completions/atomic.fish` |
1080
+ | PowerShell | `atomic completions powershell \| Invoke-Expression` — add to `$PROFILE` |
976
1081
 
977
1082
  > **Tip:** The bootstrap installer (`install.sh` / `install.ps1`) automatically installs completions for your detected shell.
978
1083
 
@@ -1017,23 +1122,23 @@ Created automatically during `atomic init`. Resolution order:
1017
1122
  }
1018
1123
  ```
1019
1124
 
1020
- | Field | Type | Description |
1021
- | -------------- | ------- | --------------------------------------------------------------------------------------------------------- |
1022
- | `$schema` | string | JSON Schema URL for editor autocomplete |
1023
- | `version` | number | Config schema version (currently `1`) |
1024
- | `scm` | string | Source control: `github` or `sapling` |
1025
- | `lastUpdated` | string | ISO 8601 timestamp of the last update |
1026
- | `trustedPaths` | array | Workspaces that have completed provider onboarding via `atomic init`; atomic skips re-prompting for these |
1125
+ | Field | Type | Description |
1126
+ | -------------- | ------ | --------------------------------------------------------------------------------------------------------- |
1127
+ | `$schema` | string | JSON Schema URL for editor autocomplete |
1128
+ | `version` | number | Config schema version (currently `1`) |
1129
+ | `scm` | string | Source control: `github` or `sapling` |
1130
+ | `lastUpdated` | string | ISO 8601 timestamp of the last update |
1131
+ | `trustedPaths` | array | Workspaces that have completed provider onboarding via `atomic init`; atomic skips re-prompting for these |
1027
1132
 
1028
1133
  > **Note:** Model selection and reasoning effort are managed by each underlying agent CLI (e.g. Claude Code's `/model`), not by Atomic itself. Atomic's chat command spawns the agent's native TUI — use the agent's own controls to pick a model or adjust reasoning effort.
1029
1134
 
1030
1135
  ### Agent-Specific Files
1031
1136
 
1032
- | Agent | Folder | Skills | Context File |
1033
- | -------------- | ------------ | -------------------------------------------- | ------------ |
1137
+ | Agent | Folder | Skills | Context File |
1138
+ | -------------- | ------------ | ----------------------------------------------- | ------------ |
1034
1139
  | Claude Code | `.claude/` | `.claude/skills/` (symlink → `.agents/skills/`) | `CLAUDE.md` |
1035
- | OpenCode | `.opencode/` | `.agents/skills/` | `AGENTS.md` |
1036
- | GitHub Copilot | `.github/` | `.agents/skills/` | `AGENTS.md` |
1140
+ | OpenCode | `.opencode/` | `.agents/skills/` | `AGENTS.md` |
1141
+ | GitHub Copilot | `.github/` | `.agents/skills/` | `AGENTS.md` |
1037
1142
 
1038
1143
  > **Note:** All three agents share the same skill set via `.agents/skills/`. Claude Code accesses them through a `.claude/skills/` symlink that points to `.agents/skills/`, so a single skill directory serves all agents.
1039
1144
 
@@ -1072,11 +1177,11 @@ your-project/
1072
1177
  }
1073
1178
  ```
1074
1179
 
1075
- | Feature | Reference | Agent |
1076
- |---------|-----------|-------|
1077
- | Atomic + Claude Code | `ghcr.io/flora131/atomic/claude:1` | [Claude Code](https://claude.ai) |
1078
- | Atomic + OpenCode | `ghcr.io/flora131/atomic/opencode:1` | [OpenCode](https://opencode.ai) |
1079
- | Atomic + Copilot CLI | `ghcr.io/flora131/atomic/copilot:1` | [Copilot CLI](https://github.com/github/copilot-cli) |
1180
+ | Feature | Reference | Agent |
1181
+ | -------------------- | ------------------------------------ | ---------------------------------------------------- |
1182
+ | Atomic + Claude Code | `ghcr.io/flora131/atomic/claude:1` | [Claude Code](https://claude.ai) |
1183
+ | Atomic + OpenCode | `ghcr.io/flora131/atomic/opencode:1` | [OpenCode](https://opencode.ai) |
1184
+ | Atomic + Copilot CLI | `ghcr.io/flora131/atomic/copilot:1` | [Copilot CLI](https://github.com/github/copilot-cli) |
1080
1185
 
1081
1186
  Each feature installs the Atomic CLI, all shared dependencies (bun, playwright-cli), agent-specific configurations (agents, skills), and the agent CLI itself. Features are versioned in sync with Atomic CLI releases.
1082
1187
 
@@ -1337,19 +1442,19 @@ If agents fail to spawn on Windows, ensure the agent CLI is in your PATH. Atomic
1337
1442
 
1338
1443
  **In short:** Spec-Kit works well for greenfield projects where you start from a spec and use a single Copilot session to generate code. Atomic is built for the harder case — large existing codebases where you need to research what's already there before changing anything. It gives you multi-session pipelines with isolated context windows (so the agent doesn't degrade over long tasks), deterministic execution, and support for Claude Code, OpenCode, and Copilot CLI instead of just one agent. If you're starting a new project from scratch with Copilot, Spec-Kit is simpler. If you're working on an established codebase and need chained sessions, parallel research, or autonomous execution, that's what Atomic is for.
1339
1444
 
1340
- | Aspect | Spec-Kit | Atomic |
1341
- | --- | --- | --- |
1342
- | **Focus** | Greenfield projects with spec-first workflow | Large existing codebases + greenfield — research-first or spec-first |
1343
- | **First Step** | Define project principles and specs | Analyze existing architecture with parallel research sub-agents |
1344
- | **Workflow Definition** | Shell scripts and markdown templates | TypeScript Workflow SDK (`defineWorkflow()` → `.run()` → `.compile()`) with deterministic execution |
1345
- | **Session Management** | Single agent session | Multi-session pipelines — sequential and parallel — each in isolated context windows |
1346
- | **Data Flow** | Manual — copy output between steps | Controlled transcript passing via `ctx.transcript()` and `ctx.getMessages()` |
1347
- | **Agent Support** | GitHub Copilot CLI | Claude Code + OpenCode + Copilot CLI — switch with a flag |
1348
- | **Sub-Agents** | Single general-purpose agent | 12 specialized sub-agents with scoped tools and isolated contexts |
1349
- | **Skills** | Not available | 58 built-in skills (development, design, docs, agent architecture) |
1350
- | **Autonomous Execution** | Not available | Ralph — multi-hour autonomous sessions with plan/implement/review/debug loop |
1351
- | **Execution Guarantees** | Non-deterministic | Deterministic — strict step ordering, frozen definitions, controlled transcript access |
1352
- | **Isolation** | Not addressed | Devcontainer features for containerized execution |
1445
+ | Aspect | Spec-Kit | Atomic |
1446
+ | ------------------------ | -------------------------------------------- | --------------------------------------------------------------------------------------------------- |
1447
+ | **Focus** | Greenfield projects with spec-first workflow | Large existing codebases + greenfield — research-first or spec-first |
1448
+ | **First Step** | Define project principles and specs | Analyze existing architecture with parallel research sub-agents |
1449
+ | **Workflow Definition** | Shell scripts and markdown templates | TypeScript Workflow SDK (`defineWorkflow()` → `.run()` → `.compile()`) with deterministic execution |
1450
+ | **Session Management** | Single agent session | Multi-session pipelines — sequential and parallel — each in isolated context windows |
1451
+ | **Data Flow** | Manual — copy output between steps | Controlled transcript passing via `ctx.transcript()` and `ctx.getMessages()` |
1452
+ | **Agent Support** | GitHub Copilot CLI | Claude Code + OpenCode + Copilot CLI — switch with a flag |
1453
+ | **Sub-Agents** | Single general-purpose agent | 12 specialized sub-agents with scoped tools and isolated contexts |
1454
+ | **Skills** | Not available | 58 built-in skills (development, design, docs, agent architecture) |
1455
+ | **Autonomous Execution** | Not available | Ralph — multi-hour autonomous sessions with plan/implement/review/debug loop |
1456
+ | **Execution Guarantees** | Non-deterministic | Deterministic — strict step ordering, frozen definitions, controlled transcript access |
1457
+ | **Isolation** | Not addressed | Devcontainer features for containerized execution |
1353
1458
 
1354
1459
  </details>
1355
1460
 
@@ -1360,20 +1465,20 @@ If agents fail to spawn on Windows, ensure the agent CLI is in your PATH. Atomic
1360
1465
 
1361
1466
  **In short:** DeerFlow is a general-purpose agent orchestrator — it handles research, report generation, and other tasks through a LangGraph DAG with a web UI. Atomic is narrowly focused on coding workflows. The key difference is that Atomic runs on top of production coding agents (Claude Code, OpenCode, Copilot CLI) rather than reimplementing coding tools through a generic API. You get each agent's native file editing, permissions, MCP integrations, and hooks out of the box. Atomic also gives you deterministic execution — same step order, same data flow every run — which matters when you're encoding a team's dev process and need it to be reproducible across people and CI. If you need a general-purpose agent pipeline with a web UI, DeerFlow is the better fit. If you need coding-specific workflows with strict execution guarantees, Atomic is more appropriate.
1362
1467
 
1363
- | Aspect | DeerFlow | Atomic |
1364
- | --- | --- | --- |
1365
- | **Runtime** | Python (LangGraph) | TypeScript (Bun) |
1366
- | **Agent SDKs** | OpenAI-compatible API | Claude Code + OpenCode + Copilot CLI native SDKs — write raw SDK code in each session |
1367
- | **Focus** | General-purpose agent tasks (research, reports) | Coding-specific: research, spec, implement, review, debug |
1368
- | **Workflow Definition** | LangGraph state machines with graph nodes | TypeScript Workflow SDK — `defineWorkflow()` → `.run()` → `.compile()` |
1369
- | **Execution Model** | DAG-based with conditional edges | Deterministic — strict step ordering, frozen definitions, controlled transcript passing |
1370
- | **Parallelism** | Via LangGraph branch nodes | Native parallel sessions via `Promise.all()` with `ctx.session()` in isolated context windows |
1371
- | **Sub-Agents** | Researcher, coder, reporter nodes | 12 specialized sub-agents with scoped tools (planner, worker, reviewer, debugger, etc.) |
1372
- | **Skills** | Not available | 58 built-in skills auto-invoked by context |
1373
- | **Isolation** | Sandbox containers | Devcontainer features + git worktrees |
1374
- | **Interface** | Web UI (Streamlit) | Terminal chat with tmux-based session management |
1375
- | **Autonomous** | Not available | Ralph — bounded iteration with plan/implement/review/debug loop |
1376
- | **Distribution** | `pip install` + local server | `bun install -g` or devcontainer features |
1468
+ | Aspect | DeerFlow | Atomic |
1469
+ | ----------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------- |
1470
+ | **Runtime** | Python (LangGraph) | TypeScript (Bun) |
1471
+ | **Agent SDKs** | OpenAI-compatible API | Claude Code + OpenCode + Copilot CLI native SDKs — write raw SDK code in each session |
1472
+ | **Focus** | General-purpose agent tasks (research, reports) | Coding-specific: research, spec, implement, review, debug |
1473
+ | **Workflow Definition** | LangGraph state machines with graph nodes | TypeScript Workflow SDK — `defineWorkflow()` → `.run()` → `.compile()` |
1474
+ | **Execution Model** | DAG-based with conditional edges | Deterministic — strict step ordering, frozen definitions, controlled transcript passing |
1475
+ | **Parallelism** | Via LangGraph branch nodes | Native parallel sessions via `Promise.all()` with `ctx.session()` in isolated context windows |
1476
+ | **Sub-Agents** | Researcher, coder, reporter nodes | 12 specialized sub-agents with scoped tools (planner, worker, reviewer, debugger, etc.) |
1477
+ | **Skills** | Not available | 58 built-in skills auto-invoked by context |
1478
+ | **Isolation** | Sandbox containers | Devcontainer features + git worktrees |
1479
+ | **Interface** | Web UI (Streamlit) | Terminal chat with tmux-based session management |
1480
+ | **Autonomous** | Not available | Ralph — bounded iteration with plan/implement/review/debug loop |
1481
+ | **Distribution** | `pip install` + local server | `bun install -g` or devcontainer features |
1377
1482
 
1378
1483
  </details>
1379
1484
 
@@ -1384,28 +1489,28 @@ If agents fail to spawn on Windows, ensure the agent CLI is in your PATH. Atomic
1384
1489
 
1385
1490
  **In short:** Hermes Agent is a broad AI assistant that learns and improves across sessions, connects to messaging platforms, and works with any OpenAI-compatible model. Atomic is a coding-specific harness built for engineering teams. It lets you encode your development process as deterministic TypeScript workflows that run identically across team members, machines, and CI pipelines. Instead of reimplementing coding tools from scratch, Atomic inherits production-hardened tool ecosystems from Claude Code, OpenCode, and Copilot CLI — including their permission systems, MCP integrations, and hooks — giving you two independent security boundaries (devcontainer isolation + agent permissions) rather than one. Each workflow session runs in a fresh context window with only distilled transcripts passed forward, so output stays sharp over multi-hour coding tasks instead of degrading through lossy compression. And because skills are developer-authored and version-controlled, they don't drift or accumulate errors the way auto-generated skills can. Choose Hermes if you want a self-improving general-purpose agent with multi-platform messaging; choose Atomic if you want repeatable, auditable coding workflows with strict execution guarantees and production-grade isolation.
1386
1491
 
1387
- | Aspect | Hermes Agent | Atomic |
1388
- | --- | --- | --- |
1389
- | **Focus** | General-purpose AI assistant (coding, messaging, smart home, research) | Coding-specific: multi-session workflows on coding agents |
1390
- | **Runtime** | Python 3.11+ (uv) | TypeScript (Bun) |
1391
- | **Agent SDKs** | OpenAI-compatible API as universal adapter (200+ models via OpenRouter) | Claude Code + OpenCode + Copilot CLI native SDKs — write raw SDK code in each session |
1392
- | **Workflow Definition** | Cron scheduler + subagent delegation | TypeScript Workflow SDK — `defineWorkflow()` → `.run()` → `.compile()` |
1393
- | **Session Management** | Single conversation loop with context compression | Multi-session pipelines — sequential and parallel — each in isolated context windows |
1394
- | **Data Flow** | In-context within a single conversation | Controlled transcript passing via `ctx.transcript()` and `ctx.getMessages()` |
1395
- | **Self-Improvement** | Closed learning loop — auto-creates skills from experience, persistent user model via Honcho | Skills authored by developers; memory via CLAUDE.md / AGENTS.md context files |
1396
- | **Sub-Agents** | `delegate_task` spawns isolated subagents | 12 specialized sub-agents with scoped tools and model tiers (Opus, Sonnet, Haiku) |
1397
- | **Skills** | 40+ tools + community Skills Hub (agentskills.io) | 58 built-in skills (development, design, docs, agent architecture) |
1398
- | **Interface** | Terminal TUI + multi-platform messaging gateway (Telegram, Discord, Slack, WhatsApp, etc.) | Terminal chat with tmux-based session management |
1399
- | **Isolation** | Six terminal backends (local, Docker, SSH, Daytona, Singularity, Modal) | Devcontainer features + git worktrees |
1400
- | **Autonomous Execution** | Cron scheduler with inactivity-based timeouts | Ralph — bounded iteration with plan/implement/review/debug loop |
1401
- | **Execution Guarantees** | Non-deterministic conversation loop | Deterministic — strict step ordering, frozen definitions, controlled transcript access |
1402
- | **Team Process Encoding** | Personal assistant — no concept of team-shared workflows | Encode your team's dev process as TypeScript — repeatable across members, projects, and CI |
1403
- | **Coding Agent Tooling** | Reimplements file/terminal tools from scratch via `model_tools.py` | Inherits production-hardened tool ecosystems from Claude Code, OpenCode, and Copilot CLI (file editing, permissions, MCP, hooks) |
1404
- | **Reproducibility** | Conversation loop produces different execution paths each run | Frozen workflow definitions run identically across machines, team members, and CI pipelines |
1405
- | **Context Quality** | Lossy compression within a single conversation — degrades on long coding tasks | Fresh context window per session with only distilled transcripts passed forward — stays sharp over multi-hour tasks |
1406
- | **Skill Authoring** | Auto-created skills may drift, accumulate errors, or encode bad patterns over time | Developer-authored, version-controlled skills — intentional and auditable |
1407
- | **Security Model** | Command approval + container backends (single boundary) | Devcontainer isolation + coding agent permission systems (Claude Code permissions, Copilot safeguards) — two independent security boundaries |
1408
- | **Distribution** | `uv` / `pip` | `bun install -g` or devcontainer features |
1492
+ | Aspect | Hermes Agent | Atomic |
1493
+ | ------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
1494
+ | **Focus** | General-purpose AI assistant (coding, messaging, smart home, research) | Coding-specific: multi-session workflows on coding agents |
1495
+ | **Runtime** | Python 3.11+ (uv) | TypeScript (Bun) |
1496
+ | **Agent SDKs** | OpenAI-compatible API as universal adapter (200+ models via OpenRouter) | Claude Code + OpenCode + Copilot CLI native SDKs — write raw SDK code in each session |
1497
+ | **Workflow Definition** | Cron scheduler + subagent delegation | TypeScript Workflow SDK — `defineWorkflow()` → `.run()` → `.compile()` |
1498
+ | **Session Management** | Single conversation loop with context compression | Multi-session pipelines — sequential and parallel — each in isolated context windows |
1499
+ | **Data Flow** | In-context within a single conversation | Controlled transcript passing via `ctx.transcript()` and `ctx.getMessages()` |
1500
+ | **Self-Improvement** | Closed learning loop — auto-creates skills from experience, persistent user model via Honcho | Skills authored by developers; memory via CLAUDE.md / AGENTS.md context files |
1501
+ | **Sub-Agents** | `delegate_task` spawns isolated subagents | 12 specialized sub-agents with scoped tools and model tiers (Opus, Sonnet, Haiku) |
1502
+ | **Skills** | 40+ tools + community Skills Hub (agentskills.io) | 58 built-in skills (development, design, docs, agent architecture) |
1503
+ | **Interface** | Terminal TUI + multi-platform messaging gateway (Telegram, Discord, Slack, WhatsApp, etc.) | Terminal chat with tmux-based session management |
1504
+ | **Isolation** | Six terminal backends (local, Docker, SSH, Daytona, Singularity, Modal) | Devcontainer features + git worktrees |
1505
+ | **Autonomous Execution** | Cron scheduler with inactivity-based timeouts | Ralph — bounded iteration with plan/implement/review/debug loop |
1506
+ | **Execution Guarantees** | Non-deterministic conversation loop | Deterministic — strict step ordering, frozen definitions, controlled transcript access |
1507
+ | **Team Process Encoding** | Personal assistant — no concept of team-shared workflows | Encode your team's dev process as TypeScript — repeatable across members, projects, and CI |
1508
+ | **Coding Agent Tooling** | Reimplements file/terminal tools from scratch via `model_tools.py` | Inherits production-hardened tool ecosystems from Claude Code, OpenCode, and Copilot CLI (file editing, permissions, MCP, hooks) |
1509
+ | **Reproducibility** | Conversation loop produces different execution paths each run | Frozen workflow definitions run identically across machines, team members, and CI pipelines |
1510
+ | **Context Quality** | Lossy compression within a single conversation — degrades on long coding tasks | Fresh context window per session with only distilled transcripts passed forward — stays sharp over multi-hour tasks |
1511
+ | **Skill Authoring** | Auto-created skills may drift, accumulate errors, or encode bad patterns over time | Developer-authored, version-controlled skills — intentional and auditable |
1512
+ | **Security Model** | Command approval + container backends (single boundary) | Devcontainer isolation + coding agent permission systems (Claude Code permissions, Copilot safeguards) — two independent security boundaries |
1513
+ | **Distribution** | `uv` / `pip` | `bun install -g` or devcontainer features |
1409
1514
 
1410
1515
  </details>
1411
1516