@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.
- package/.agents/skills/adapt/SKILL.md +199 -0
- package/.agents/skills/advanced-evaluation/SKILL.md +402 -0
- package/.agents/skills/advanced-evaluation/references/bias-mitigation.md +288 -0
- package/.agents/skills/advanced-evaluation/references/evaluation-pipeline.md +43 -0
- package/.agents/skills/advanced-evaluation/references/implementation-patterns.md +315 -0
- package/.agents/skills/advanced-evaluation/references/metrics-guide.md +331 -0
- package/.agents/skills/advanced-evaluation/scripts/evaluation_example.py +392 -0
- package/.agents/skills/animate/SKILL.md +175 -0
- package/.agents/skills/arrange/SKILL.md +124 -0
- package/.agents/skills/audit/SKILL.md +148 -0
- package/.agents/skills/bdi-mental-states/SKILL.md +311 -0
- package/.agents/skills/bdi-mental-states/references/bdi-ontology-core.md +207 -0
- package/.agents/skills/bdi-mental-states/references/framework-integration.md +582 -0
- package/.agents/skills/bdi-mental-states/references/rdf-examples.md +315 -0
- package/.agents/skills/bdi-mental-states/references/sparql-competency.md +420 -0
- package/.agents/skills/bolder/SKILL.md +117 -0
- package/.agents/skills/bun/SKILL.md +199 -0
- package/.agents/skills/clarify/SKILL.md +183 -0
- package/.agents/skills/colorize/SKILL.md +143 -0
- package/.agents/skills/context-compression/SKILL.md +272 -0
- package/.agents/skills/context-compression/references/evaluation-framework.md +213 -0
- package/.agents/skills/context-compression/scripts/compression_evaluator.py +862 -0
- package/.agents/skills/context-compression/tests/test_compression_evaluator.py +56 -0
- package/.agents/skills/context-degradation/SKILL.md +206 -0
- package/.agents/skills/context-degradation/references/patterns.md +314 -0
- package/.agents/skills/context-degradation/scripts/degradation_detector.py +614 -0
- package/.agents/skills/context-fundamentals/SKILL.md +201 -0
- package/.agents/skills/context-fundamentals/references/context-components.md +283 -0
- package/.agents/skills/context-fundamentals/scripts/context_manager.py +533 -0
- package/.agents/skills/context-optimization/SKILL.md +195 -0
- package/.agents/skills/context-optimization/references/optimization_techniques.md +272 -0
- package/.agents/skills/context-optimization/scripts/compaction.py +562 -0
- package/.agents/skills/create-spec/SKILL.md +244 -0
- package/.agents/skills/critique/SKILL.md +225 -0
- package/.agents/skills/critique/reference/cognitive-load.md +106 -0
- package/.agents/skills/critique/reference/heuristics-scoring.md +234 -0
- package/.agents/skills/critique/reference/personas.md +178 -0
- package/.agents/skills/delight/SKILL.md +304 -0
- package/.agents/skills/distill/SKILL.md +122 -0
- package/.agents/skills/docx/LICENSE.txt +30 -0
- package/.agents/skills/docx/SKILL.md +590 -0
- package/.agents/skills/docx/scripts/__init__.py +1 -0
- package/.agents/skills/docx/scripts/accept_changes.py +135 -0
- package/.agents/skills/docx/scripts/comment.py +318 -0
- package/.agents/skills/docx/scripts/office/helpers/__init__.py +0 -0
- package/.agents/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/.agents/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/.agents/skills/docx/scripts/office/pack.py +159 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.agents/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.agents/skills/docx/scripts/office/soffice.py +183 -0
- package/.agents/skills/docx/scripts/office/unpack.py +132 -0
- package/.agents/skills/docx/scripts/office/validate.py +111 -0
- package/.agents/skills/docx/scripts/office/validators/__init__.py +15 -0
- package/.agents/skills/docx/scripts/office/validators/base.py +847 -0
- package/.agents/skills/docx/scripts/office/validators/docx.py +446 -0
- package/.agents/skills/docx/scripts/office/validators/pptx.py +275 -0
- package/.agents/skills/docx/scripts/office/validators/redlining.py +247 -0
- package/.agents/skills/docx/scripts/templates/comments.xml +3 -0
- package/.agents/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/.agents/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.agents/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/.agents/skills/docx/scripts/templates/people.xml +3 -0
- package/.agents/skills/evaluation/SKILL.md +251 -0
- package/.agents/skills/evaluation/references/metrics.md +339 -0
- package/.agents/skills/evaluation/scripts/evaluator.py +627 -0
- package/.agents/skills/explain-code/SKILL.md +230 -0
- package/.agents/skills/extract/SKILL.md +91 -0
- package/.agents/skills/filesystem-context/SKILL.md +287 -0
- package/.agents/skills/filesystem-context/references/implementation-patterns.md +549 -0
- package/.agents/skills/filesystem-context/scripts/filesystem_context.py +425 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/frontend-design/SKILL.md +147 -0
- package/.agents/skills/frontend-design/reference/color-and-contrast.md +132 -0
- package/.agents/skills/frontend-design/reference/interaction-design.md +195 -0
- package/.agents/skills/frontend-design/reference/motion-design.md +99 -0
- package/.agents/skills/frontend-design/reference/responsive-design.md +114 -0
- package/.agents/skills/frontend-design/reference/spatial-design.md +100 -0
- package/.agents/skills/frontend-design/reference/typography.md +133 -0
- package/.agents/skills/frontend-design/reference/ux-writing.md +107 -0
- package/.agents/skills/gh-commit/SKILL.md +243 -0
- package/.agents/skills/gh-create-pr/SKILL.md +93 -0
- package/.agents/skills/harden/SKILL.md +354 -0
- package/.agents/skills/hosted-agents/SKILL.md +260 -0
- package/.agents/skills/hosted-agents/references/infrastructure-patterns.md +700 -0
- package/.agents/skills/hosted-agents/scripts/sandbox_manager.py +590 -0
- package/.agents/skills/impeccable/SKILL.md +365 -0
- package/.agents/skills/impeccable/reference/color-and-contrast.md +105 -0
- package/.agents/skills/impeccable/reference/craft.md +70 -0
- package/.agents/skills/impeccable/reference/extract.md +70 -0
- package/.agents/skills/impeccable/reference/interaction-design.md +195 -0
- package/.agents/skills/impeccable/reference/motion-design.md +99 -0
- package/.agents/skills/impeccable/reference/responsive-design.md +114 -0
- package/.agents/skills/impeccable/reference/spatial-design.md +100 -0
- package/.agents/skills/impeccable/reference/typography.md +142 -0
- package/.agents/skills/impeccable/reference/ux-writing.md +107 -0
- package/.agents/skills/impeccable/scripts/cleanup-deprecated.mjs +214 -0
- package/.agents/skills/init/SKILL.md +138 -0
- package/.agents/skills/layout/SKILL.md +125 -0
- package/.agents/skills/liteparse/SKILL.md +222 -0
- package/.agents/skills/memory-systems/SKILL.md +219 -0
- package/.agents/skills/memory-systems/references/implementation.md +551 -0
- package/.agents/skills/memory-systems/scripts/memory_store.py +616 -0
- package/.agents/skills/multi-agent-patterns/SKILL.md +257 -0
- package/.agents/skills/multi-agent-patterns/references/frameworks.md +433 -0
- package/.agents/skills/multi-agent-patterns/scripts/coordination.py +613 -0
- package/.agents/skills/normalize/SKILL.md +70 -0
- package/.agents/skills/onboard/SKILL.md +245 -0
- package/.agents/skills/opentui/SKILL.md +201 -0
- package/.agents/skills/opentui/references/animation/REFERENCE.md +431 -0
- package/.agents/skills/opentui/references/components/REFERENCE.md +144 -0
- package/.agents/skills/opentui/references/components/code-diff.md +672 -0
- package/.agents/skills/opentui/references/components/containers.md +417 -0
- package/.agents/skills/opentui/references/components/inputs.md +531 -0
- package/.agents/skills/opentui/references/components/text-display.md +386 -0
- package/.agents/skills/opentui/references/core/REFERENCE.md +145 -0
- package/.agents/skills/opentui/references/core/api.md +543 -0
- package/.agents/skills/opentui/references/core/configuration.md +168 -0
- package/.agents/skills/opentui/references/core/gotchas.md +393 -0
- package/.agents/skills/opentui/references/core/patterns.md +449 -0
- package/.agents/skills/opentui/references/keyboard/REFERENCE.md +617 -0
- package/.agents/skills/opentui/references/layout/REFERENCE.md +337 -0
- package/.agents/skills/opentui/references/layout/patterns.md +444 -0
- package/.agents/skills/opentui/references/react/REFERENCE.md +174 -0
- package/.agents/skills/opentui/references/react/api.md +436 -0
- package/.agents/skills/opentui/references/react/configuration.md +302 -0
- package/.agents/skills/opentui/references/react/gotchas.md +443 -0
- package/.agents/skills/opentui/references/react/patterns.md +501 -0
- package/.agents/skills/opentui/references/solid/REFERENCE.md +201 -0
- package/.agents/skills/opentui/references/solid/api.md +564 -0
- package/.agents/skills/opentui/references/solid/configuration.md +316 -0
- package/.agents/skills/opentui/references/solid/gotchas.md +427 -0
- package/.agents/skills/opentui/references/solid/patterns.md +560 -0
- package/.agents/skills/opentui/references/testing/REFERENCE.md +614 -0
- package/.agents/skills/optimize/SKILL.md +266 -0
- package/.agents/skills/overdrive/SKILL.md +142 -0
- package/.agents/skills/pdf/LICENSE.txt +30 -0
- package/.agents/skills/pdf/SKILL.md +314 -0
- package/.agents/skills/pdf/forms.md +294 -0
- package/.agents/skills/pdf/reference.md +612 -0
- package/.agents/skills/pdf/scripts/check_bounding_boxes.py +65 -0
- package/.agents/skills/pdf/scripts/check_fillable_fields.py +11 -0
- package/.agents/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/.agents/skills/pdf/scripts/create_validation_image.py +37 -0
- package/.agents/skills/pdf/scripts/extract_form_field_info.py +122 -0
- package/.agents/skills/pdf/scripts/extract_form_structure.py +115 -0
- package/.agents/skills/pdf/scripts/fill_fillable_fields.py +98 -0
- package/.agents/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/.agents/skills/playwright-cli/SKILL.md +344 -0
- package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
- package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
- package/.agents/skills/playwright-cli/references/running-code.md +231 -0
- package/.agents/skills/playwright-cli/references/session-management.md +169 -0
- package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
- package/.agents/skills/playwright-cli/references/test-generation.md +88 -0
- package/.agents/skills/playwright-cli/references/tracing.md +139 -0
- package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
- package/.agents/skills/polish/SKILL.md +224 -0
- package/.agents/skills/pptx/LICENSE.txt +30 -0
- package/.agents/skills/pptx/SKILL.md +232 -0
- package/.agents/skills/pptx/editing.md +205 -0
- package/.agents/skills/pptx/pptxgenjs.md +420 -0
- package/.agents/skills/pptx/scripts/__init__.py +0 -0
- package/.agents/skills/pptx/scripts/add_slide.py +195 -0
- package/.agents/skills/pptx/scripts/clean.py +286 -0
- package/.agents/skills/pptx/scripts/office/helpers/__init__.py +0 -0
- package/.agents/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
- package/.agents/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/.agents/skills/pptx/scripts/office/pack.py +159 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.agents/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.agents/skills/pptx/scripts/office/soffice.py +183 -0
- package/.agents/skills/pptx/scripts/office/unpack.py +132 -0
- package/.agents/skills/pptx/scripts/office/validate.py +111 -0
- package/.agents/skills/pptx/scripts/office/validators/__init__.py +15 -0
- package/.agents/skills/pptx/scripts/office/validators/base.py +847 -0
- package/.agents/skills/pptx/scripts/office/validators/docx.py +446 -0
- package/.agents/skills/pptx/scripts/office/validators/pptx.py +275 -0
- package/.agents/skills/pptx/scripts/office/validators/redlining.py +247 -0
- package/.agents/skills/pptx/scripts/thumbnail.py +289 -0
- package/.agents/skills/project-development/SKILL.md +291 -0
- package/.agents/skills/project-development/references/case-studies.md +388 -0
- package/.agents/skills/project-development/references/pipeline-patterns.md +610 -0
- package/.agents/skills/project-development/scripts/pipeline_template.py +796 -0
- package/.agents/skills/prompt-engineer/SKILL.md +263 -0
- package/.agents/skills/prompt-engineer/references/advanced_patterns.md +271 -0
- package/.agents/skills/prompt-engineer/references/core_prompting.md +137 -0
- package/.agents/skills/prompt-engineer/references/quality_improvement.md +193 -0
- package/.agents/skills/quieter/SKILL.md +103 -0
- package/.agents/skills/research-codebase/SKILL.md +227 -0
- package/.agents/skills/shape/SKILL.md +96 -0
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +485 -0
- package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agents/skills/skill-creator/references/schemas.md +430 -0
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/.agents/skills/sl-commit/SKILL.md +51 -0
- package/.agents/skills/sl-submit-diff/SKILL.md +55 -0
- package/.agents/skills/teach-impeccable/SKILL.md +71 -0
- package/.agents/skills/test-driven-development/SKILL.md +371 -0
- package/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/.agents/skills/tool-design/SKILL.md +271 -0
- package/.agents/skills/tool-design/references/architectural_reduction.md +210 -0
- package/.agents/skills/tool-design/references/best_practices.md +176 -0
- package/.agents/skills/tool-design/scripts/description_generator.py +528 -0
- package/.agents/skills/typescript-advanced-types/SKILL.md +719 -0
- package/.agents/skills/typescript-expert/SKILL.md +428 -0
- package/.agents/skills/typescript-expert/references/tsconfig-strict.json +92 -0
- package/.agents/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/.agents/skills/typescript-expert/references/utility-types.ts +335 -0
- package/.agents/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/.agents/skills/typescript-react-reviewer/SKILL.md +200 -0
- package/.agents/skills/typescript-react-reviewer/references/antipatterns.md +510 -0
- package/.agents/skills/typescript-react-reviewer/references/checklist.md +267 -0
- package/.agents/skills/typescript-react-reviewer/references/react19-patterns.md +305 -0
- package/.agents/skills/typeset/SKILL.md +116 -0
- package/.agents/skills/workflow-creator/SKILL.md +337 -0
- package/.agents/skills/workflow-creator/references/agent-sessions.md +789 -0
- package/.agents/skills/workflow-creator/references/computation-and-validation.md +224 -0
- package/.agents/skills/workflow-creator/references/control-flow.md +450 -0
- package/.agents/skills/workflow-creator/references/discovery-and-verification.md +156 -0
- package/.agents/skills/workflow-creator/references/failure-modes.md +732 -0
- package/.agents/skills/workflow-creator/references/getting-started.md +289 -0
- package/.agents/skills/workflow-creator/references/session-config.md +355 -0
- package/.agents/skills/workflow-creator/references/state-and-data-flow.md +374 -0
- package/.agents/skills/workflow-creator/references/user-input.md +206 -0
- package/.agents/skills/workflow-creator/references/workflow-inputs.md +274 -0
- package/.agents/skills/xlsx/LICENSE.txt +30 -0
- package/.agents/skills/xlsx/SKILL.md +292 -0
- package/.agents/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/.agents/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/.agents/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/.agents/skills/xlsx/scripts/office/pack.py +159 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.agents/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.agents/skills/xlsx/scripts/office/soffice.py +183 -0
- package/.agents/skills/xlsx/scripts/office/unpack.py +132 -0
- package/.agents/skills/xlsx/scripts/office/validate.py +111 -0
- package/.agents/skills/xlsx/scripts/office/validators/__init__.py +15 -0
- package/.agents/skills/xlsx/scripts/office/validators/base.py +847 -0
- package/.agents/skills/xlsx/scripts/office/validators/docx.py +446 -0
- package/.agents/skills/xlsx/scripts/office/validators/pptx.py +275 -0
- package/.agents/skills/xlsx/scripts/office/validators/redlining.py +247 -0
- package/.agents/skills/xlsx/scripts/recalc.py +184 -0
- package/.claude/agents/reviewer.md +1 -0
- package/.github/agents/reviewer.md +1 -0
- package/.opencode/agents/reviewer.md +1 -0
- package/README.md +274 -169
- package/package.json +6 -7
- package/src/commands/cli/init/index.ts +2 -2
- package/src/commands/cli/init/scm.ts +7 -8
- package/src/commands/cli/workflow-command.test.ts +74 -0
- package/src/commands/cli/workflow.ts +7 -2
- package/src/scripts/bundle-configs.ts +128 -0
- package/src/sdk/components/compact-switcher.tsx +1 -1
- package/src/sdk/components/orchestrator-panel-store.ts +13 -0
- package/src/sdk/components/orchestrator-panel.tsx +10 -0
- package/src/sdk/components/statusline.tsx +13 -1
- package/src/sdk/providers/claude.ts +42 -0
- package/src/sdk/runtime/executor.ts +111 -32
- package/src/sdk/types.ts +7 -0
- package/src/sdk/workflows/builtin/ralph/claude/index.ts +132 -76
- package/src/sdk/workflows/builtin/ralph/copilot/index.ts +129 -71
- package/src/sdk/workflows/builtin/ralph/helpers/git.ts +184 -17
- package/src/sdk/workflows/builtin/ralph/helpers/prompts.ts +463 -79
- package/src/sdk/workflows/builtin/ralph/opencode/index.ts +124 -80
- package/src/services/system/auto-sync.ts +31 -51
- package/src/services/system/skills.ts +56 -60
- package/dist/lib/path-root-guard.d.ts +0 -4
- package/dist/lib/path-root-guard.d.ts.map +0 -1
- package/dist/sdk/components/color-utils.d.ts +0 -4
- package/dist/sdk/components/color-utils.d.ts.map +0 -1
- package/dist/sdk/components/compact-switcher.d.ts +0 -10
- package/dist/sdk/components/compact-switcher.d.ts.map +0 -1
- package/dist/sdk/components/connectors.d.ts +0 -15
- package/dist/sdk/components/connectors.d.ts.map +0 -1
- package/dist/sdk/components/connectors.test.d.ts +0 -2
- package/dist/sdk/components/connectors.test.d.ts.map +0 -1
- package/dist/sdk/components/edge.d.ts +0 -4
- package/dist/sdk/components/edge.d.ts.map +0 -1
- package/dist/sdk/components/error-boundary.d.ts +0 -23
- package/dist/sdk/components/error-boundary.d.ts.map +0 -1
- package/dist/sdk/components/graph-theme.d.ts +0 -17
- package/dist/sdk/components/graph-theme.d.ts.map +0 -1
- package/dist/sdk/components/header.d.ts +0 -3
- package/dist/sdk/components/header.d.ts.map +0 -1
- package/dist/sdk/components/hooks.d.ts +0 -15
- package/dist/sdk/components/hooks.d.ts.map +0 -1
- package/dist/sdk/components/layout.d.ts +0 -27
- package/dist/sdk/components/layout.d.ts.map +0 -1
- package/dist/sdk/components/layout.test.d.ts +0 -2
- package/dist/sdk/components/layout.test.d.ts.map +0 -1
- package/dist/sdk/components/node-card.d.ts +0 -10
- package/dist/sdk/components/node-card.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel-contexts.d.ts +0 -16
- package/dist/sdk/components/orchestrator-panel-contexts.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel-store.d.ts +0 -46
- package/dist/sdk/components/orchestrator-panel-store.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel-store.test.d.ts +0 -2
- package/dist/sdk/components/orchestrator-panel-store.test.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel-types.d.ts +0 -18
- package/dist/sdk/components/orchestrator-panel-types.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel.d.ts +0 -52
- package/dist/sdk/components/orchestrator-panel.d.ts.map +0 -1
- package/dist/sdk/components/session-graph-panel.d.ts +0 -7
- package/dist/sdk/components/session-graph-panel.d.ts.map +0 -1
- package/dist/sdk/components/status-helpers.d.ts +0 -6
- package/dist/sdk/components/status-helpers.d.ts.map +0 -1
- package/dist/sdk/components/statusline.d.ts +0 -7
- package/dist/sdk/components/statusline.d.ts.map +0 -1
- package/dist/sdk/components/workflow-picker-panel.d.ts +0 -123
- package/dist/sdk/components/workflow-picker-panel.d.ts.map +0 -1
- package/dist/sdk/define-workflow.d.ts +0 -78
- package/dist/sdk/define-workflow.d.ts.map +0 -1
- package/dist/sdk/define-workflow.test.d.ts +0 -2
- package/dist/sdk/define-workflow.test.d.ts.map +0 -1
- package/dist/sdk/errors.d.ts +0 -24
- package/dist/sdk/errors.d.ts.map +0 -1
- package/dist/sdk/errors.test.d.ts +0 -2
- package/dist/sdk/errors.test.d.ts.map +0 -1
- package/dist/sdk/index.d.ts +0 -13
- package/dist/sdk/index.d.ts.map +0 -1
- package/dist/sdk/providers/claude.d.ts +0 -170
- package/dist/sdk/providers/claude.d.ts.map +0 -1
- package/dist/sdk/providers/copilot.d.ts +0 -11
- package/dist/sdk/providers/copilot.d.ts.map +0 -1
- package/dist/sdk/providers/opencode.d.ts +0 -11
- package/dist/sdk/providers/opencode.d.ts.map +0 -1
- package/dist/sdk/runtime/discovery.d.ts +0 -86
- package/dist/sdk/runtime/discovery.d.ts.map +0 -1
- package/dist/sdk/runtime/executor-entry.d.ts +0 -11
- package/dist/sdk/runtime/executor-entry.d.ts.map +0 -1
- package/dist/sdk/runtime/executor.d.ts +0 -72
- package/dist/sdk/runtime/executor.d.ts.map +0 -1
- package/dist/sdk/runtime/executor.test.d.ts +0 -2
- package/dist/sdk/runtime/executor.test.d.ts.map +0 -1
- package/dist/sdk/runtime/graph-inference.d.ts +0 -35
- package/dist/sdk/runtime/graph-inference.d.ts.map +0 -1
- package/dist/sdk/runtime/loader.d.ts +0 -70
- package/dist/sdk/runtime/loader.d.ts.map +0 -1
- package/dist/sdk/runtime/panel.d.ts +0 -9
- package/dist/sdk/runtime/panel.d.ts.map +0 -1
- package/dist/sdk/runtime/theme.d.ts +0 -28
- package/dist/sdk/runtime/theme.d.ts.map +0 -1
- package/dist/sdk/runtime/tmux.d.ts +0 -297
- package/dist/sdk/runtime/tmux.d.ts.map +0 -1
- package/dist/sdk/types.d.ts +0 -295
- package/dist/sdk/types.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts +0 -62
- package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts +0 -46
- package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts +0 -26
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts +0 -92
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts +0 -57
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts +0 -49
- package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts +0 -14
- package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts +0 -14
- package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts +0 -17
- package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts +0 -119
- package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts +0 -20
- package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts +0 -14
- package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts.map +0 -1
- package/dist/sdk/workflows/index.d.ts +0 -24
- package/dist/sdk/workflows/index.d.ts.map +0 -1
- package/dist/services/config/definitions.d.ts +0 -85
- package/dist/services/config/definitions.d.ts.map +0 -1
- package/dist/services/system/copy.d.ts +0 -77
- package/dist/services/system/copy.d.ts.map +0 -1
- package/dist/services/system/detect.d.ts +0 -75
- package/dist/services/system/detect.d.ts.map +0 -1
- package/tsconfig.json +0 -33
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.12-0",
|
|
4
4
|
"description": "Configuration management CLI and SDK for coding agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -41,9 +41,8 @@
|
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"src",
|
|
44
|
-
"dist",
|
|
45
|
-
"tsconfig.json",
|
|
46
44
|
"assets/settings.schema.json",
|
|
45
|
+
".agents/skills",
|
|
47
46
|
".claude/agents",
|
|
48
47
|
".opencode/agents",
|
|
49
48
|
".github/agents",
|
|
@@ -67,18 +66,18 @@
|
|
|
67
66
|
"@types/bun": "^1.3.12",
|
|
68
67
|
"@types/react": "^19.2.14",
|
|
69
68
|
"lefthook": "^2.1.5",
|
|
70
|
-
"oxlint": "^1.
|
|
69
|
+
"oxlint": "^1.60.0",
|
|
71
70
|
"typescript": "^6.0.2",
|
|
72
71
|
"typescript-language-server": "^5.1.3"
|
|
73
72
|
},
|
|
74
73
|
"dependencies": {
|
|
75
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.
|
|
74
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.105",
|
|
76
75
|
"@clack/prompts": "^1.2.0",
|
|
77
76
|
"@commander-js/extra-typings": "^14.0.0",
|
|
78
77
|
"@github/copilot-sdk": "^0.2.2",
|
|
79
78
|
"@opencode-ai/sdk": "^1.4.3",
|
|
80
|
-
"@opentui/core": "^0.1.
|
|
81
|
-
"@opentui/react": "^0.1.
|
|
79
|
+
"@opentui/core": "^0.1.99",
|
|
80
|
+
"@opentui/react": "^0.1.99",
|
|
82
81
|
"commander": "^14.0.3",
|
|
83
82
|
"ignore": "^7.0.5",
|
|
84
83
|
"react": "^19.2.5",
|
|
@@ -244,7 +244,7 @@ export async function initCommand(options: InitOptions = {}): Promise<void> {
|
|
|
244
244
|
// Best-effort template copy: source checkouts still carry the bundled
|
|
245
245
|
// gh-*/sl-* skill templates, but binary and npm installs no longer do
|
|
246
246
|
// (they live in the skills CLI repo). `installLocalScmSkills` below
|
|
247
|
-
// handles the binary/npm case by invoking `
|
|
247
|
+
// handles the binary/npm case by invoking `bunx skills add` — so a zero
|
|
248
248
|
// copy here is not an error, just a signal that the template isn't
|
|
249
249
|
// bundled for this install type.
|
|
250
250
|
await syncProjectScmSkills({
|
|
@@ -273,7 +273,7 @@ export async function initCommand(options: InitOptions = {}): Promise<void> {
|
|
|
273
273
|
s.stop(paint("success", "✓", { bold: true }) + " Skills configured");
|
|
274
274
|
|
|
275
275
|
// Install SCM-specific skill variants locally for the active agent via
|
|
276
|
-
// `
|
|
276
|
+
// `bunx skills add` (best-effort: a failure is surfaced as a warning).
|
|
277
277
|
//
|
|
278
278
|
// Source checkouts already have the bundled skills on disk and the
|
|
279
279
|
// template-copy above has placed the selected variants into `targetDir`;
|
|
@@ -113,7 +113,7 @@ export async function syncProjectScmSkills(options: SyncProjectScmSkillsOptions)
|
|
|
113
113
|
return copiedCount;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
/** Skills-CLI agent identifiers (match `
|
|
116
|
+
/** Skills-CLI agent identifiers (match `bunx skills -a <value>`). */
|
|
117
117
|
const SKILLS_AGENT_BY_KEY: Record<AgentKey, string> = {
|
|
118
118
|
claude: "claude-code",
|
|
119
119
|
opencode: "opencode",
|
|
@@ -125,7 +125,7 @@ const SKILLS_REPO = "https://github.com/flora131/atomic.git";
|
|
|
125
125
|
export interface InstallLocalScmSkillsOptions {
|
|
126
126
|
scmType: SourceControlType;
|
|
127
127
|
agentKey: AgentKey;
|
|
128
|
-
/** The directory to run `
|
|
128
|
+
/** The directory to run `bunx skills add` in (the project root). */
|
|
129
129
|
cwd: string;
|
|
130
130
|
}
|
|
131
131
|
|
|
@@ -139,7 +139,7 @@ export interface InstallLocalScmSkillsResult {
|
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* Install the SCM skill variants (e.g. `gh-commit`, `gh-create-pr` for
|
|
142
|
-
* GitHub) locally into the current project via `
|
|
142
|
+
* GitHub) locally into the current project via `bunx skills add`. The `-g`
|
|
143
143
|
* flag is intentionally omitted so the skills are installed per-project
|
|
144
144
|
* (in the given `cwd`).
|
|
145
145
|
*
|
|
@@ -157,9 +157,9 @@ export async function installLocalScmSkills(
|
|
|
157
157
|
|
|
158
158
|
const skills = SCM_SKILLS_BY_TYPE[scmType];
|
|
159
159
|
|
|
160
|
-
const
|
|
161
|
-
if (!
|
|
162
|
-
return { success: false, skills, details: "
|
|
160
|
+
const bunxPath = Bun.which("bunx");
|
|
161
|
+
if (!bunxPath) {
|
|
162
|
+
return { success: false, skills, details: "bunx not found on PATH" };
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
const agentFlag = SKILLS_AGENT_BY_KEY[agentKey];
|
|
@@ -168,8 +168,7 @@ export async function installLocalScmSkills(
|
|
|
168
168
|
try {
|
|
169
169
|
const proc = Bun.spawn({
|
|
170
170
|
cmd: [
|
|
171
|
-
|
|
172
|
-
"--yes",
|
|
171
|
+
bunxPath,
|
|
173
172
|
"skills",
|
|
174
173
|
"add",
|
|
175
174
|
SKILLS_REPO,
|
|
@@ -288,6 +288,54 @@ describe("workflowCommand --list", () => {
|
|
|
288
288
|
expect(cap.stdout).not.toContain("copilot-only");
|
|
289
289
|
});
|
|
290
290
|
|
|
291
|
+
test("excludes workflows missing .compile() from the list", async () => {
|
|
292
|
+
await writeCompiledWorkflow({ name: "good", agent: "copilot" });
|
|
293
|
+
await writeCompiledWorkflow({
|
|
294
|
+
name: "not-compiled",
|
|
295
|
+
agent: "copilot",
|
|
296
|
+
source: `
|
|
297
|
+
import { defineWorkflow } from "${join(process.cwd(), "src/sdk/workflows/index.ts")}";
|
|
298
|
+
|
|
299
|
+
export default defineWorkflow({ name: "not-compiled" })
|
|
300
|
+
.run(async () => {});
|
|
301
|
+
// intentionally missing .compile()
|
|
302
|
+
`,
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
const cap = captureOutput();
|
|
306
|
+
const code = await workflowCommand({
|
|
307
|
+
list: true,
|
|
308
|
+
agent: "copilot",
|
|
309
|
+
cwd: tempDir,
|
|
310
|
+
});
|
|
311
|
+
cap.restore();
|
|
312
|
+
|
|
313
|
+
expect(code).toBe(0);
|
|
314
|
+
expect(cap.stdout).toContain("good");
|
|
315
|
+
expect(cap.stdout).not.toContain("not-compiled");
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
test("excludes workflows with type errors from the list", async () => {
|
|
319
|
+
await writeCompiledWorkflow({ name: "valid", agent: "copilot" });
|
|
320
|
+
await writeCompiledWorkflow({
|
|
321
|
+
name: "broken-syntax",
|
|
322
|
+
agent: "copilot",
|
|
323
|
+
source: `this is not valid typescript }{}{`,
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
const cap = captureOutput();
|
|
327
|
+
const code = await workflowCommand({
|
|
328
|
+
list: true,
|
|
329
|
+
agent: "copilot",
|
|
330
|
+
cwd: tempDir,
|
|
331
|
+
});
|
|
332
|
+
cap.restore();
|
|
333
|
+
|
|
334
|
+
expect(code).toBe(0);
|
|
335
|
+
expect(cap.stdout).toContain("valid");
|
|
336
|
+
expect(cap.stdout).not.toContain("broken-syntax");
|
|
337
|
+
});
|
|
338
|
+
|
|
291
339
|
test("renders the empty state when no workflows exist and no agent filter is set", async () => {
|
|
292
340
|
// No agent filter + a fresh tempdir means `discoverWorkflows` only
|
|
293
341
|
// returns builtins for whichever agents exist on disk; to exercise
|
|
@@ -382,6 +430,32 @@ describe("workflowCommand named-mode error paths", () => {
|
|
|
382
430
|
expect(executeWorkflowMock).not.toHaveBeenCalled();
|
|
383
431
|
});
|
|
384
432
|
|
|
433
|
+
test("available workflows hint excludes uncompiled workflows", async () => {
|
|
434
|
+
await writeCompiledWorkflow({ name: "real-one", agent: "copilot" });
|
|
435
|
+
await writeCompiledWorkflow({
|
|
436
|
+
name: "uncompiled",
|
|
437
|
+
agent: "copilot",
|
|
438
|
+
source: `
|
|
439
|
+
import { defineWorkflow } from "${join(process.cwd(), "src/sdk/workflows/index.ts")}";
|
|
440
|
+
|
|
441
|
+
export default defineWorkflow({ name: "uncompiled" })
|
|
442
|
+
.run(async () => {});
|
|
443
|
+
`,
|
|
444
|
+
});
|
|
445
|
+
|
|
446
|
+
const cap = captureOutput();
|
|
447
|
+
const code = await workflowCommand({
|
|
448
|
+
name: "does-not-exist",
|
|
449
|
+
agent: "copilot",
|
|
450
|
+
cwd: tempDir,
|
|
451
|
+
});
|
|
452
|
+
cap.restore();
|
|
453
|
+
|
|
454
|
+
expect(code).toBe(1);
|
|
455
|
+
expect(cap.stderr).toContain("real-one");
|
|
456
|
+
expect(cap.stderr).not.toContain("uncompiled");
|
|
457
|
+
});
|
|
458
|
+
|
|
385
459
|
test("parse errors in passthrough args abort before loading", async () => {
|
|
386
460
|
await writeCompiledWorkflow({ name: "parse-err", agent: "copilot" });
|
|
387
461
|
|
|
@@ -198,11 +198,14 @@ export async function workflowCommand(options: {
|
|
|
198
198
|
// merge modes inside `discoverWorkflows`, so shadowed local/global
|
|
199
199
|
// workflows never reach the renderer.
|
|
200
200
|
if (options.list) {
|
|
201
|
-
const
|
|
201
|
+
const discovered = await discoverWorkflows(
|
|
202
202
|
cwd,
|
|
203
203
|
options.agent as AgentType | undefined,
|
|
204
204
|
{ merge: false },
|
|
205
205
|
);
|
|
206
|
+
// Filter out workflows that fail to load (type errors, missing
|
|
207
|
+
// .compile(), etc.) so the list only shows workflows ready to run.
|
|
208
|
+
const workflows = await loadWorkflowsMetadata(discovered);
|
|
206
209
|
process.stdout.write(renderWorkflowList(workflows));
|
|
207
210
|
return 0;
|
|
208
211
|
}
|
|
@@ -440,7 +443,9 @@ async function runNamedMode(
|
|
|
440
443
|
` ~/.atomic/workflows/${name}/${agent}/index.ts ${COLORS.dim}(global)${COLORS.reset}`,
|
|
441
444
|
);
|
|
442
445
|
|
|
443
|
-
const available = await
|
|
446
|
+
const available = await loadWorkflowsMetadata(
|
|
447
|
+
await discoverWorkflows(cwd, agent),
|
|
448
|
+
);
|
|
444
449
|
if (available.length > 0) {
|
|
445
450
|
console.error(`\nAvailable ${agent} workflows:`);
|
|
446
451
|
for (const wf of available) {
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* Bundle global configs for a release.
|
|
4
|
+
*
|
|
5
|
+
* Installs curated skills globally, copies bundled agent definitions to
|
|
6
|
+
* each agent's global config root, and packages everything into a zip
|
|
7
|
+
* archive suitable for attaching to a GitHub Release.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* bun run src/scripts/bundle-configs.ts <version> [output-dir]
|
|
11
|
+
*
|
|
12
|
+
* <version> Semver string (e.g. 0.4.47 or 0.4.47-0).
|
|
13
|
+
* [output-dir] Directory for the zip file. Defaults to $GITHUB_WORKSPACE
|
|
14
|
+
* or the current directory.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { $ } from "bun";
|
|
18
|
+
import { cpSync, existsSync, mkdirSync } from "node:fs";
|
|
19
|
+
import { homedir } from "node:os";
|
|
20
|
+
import { join, resolve } from "node:path";
|
|
21
|
+
|
|
22
|
+
const ROOT = resolve(import.meta.dir, "../..");
|
|
23
|
+
const HOME = homedir();
|
|
24
|
+
|
|
25
|
+
/** Source repo for the global skills install. */
|
|
26
|
+
const SKILLS_REPO = "https://github.com/flora131/atomic.git";
|
|
27
|
+
|
|
28
|
+
/** Skills excluded from the global install (VCS-specific commit/PR helpers). */
|
|
29
|
+
const EXCLUDED_SKILLS = [
|
|
30
|
+
"gh-commit",
|
|
31
|
+
"gh-create-pr",
|
|
32
|
+
"sl-commit",
|
|
33
|
+
"sl-submit-diff",
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
/** Agent CLI flags accepted by `bunx skills`. */
|
|
37
|
+
const AGENT_FLAGS = ["claude-code", "opencode", "github-copilot"];
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Local config root (in repo) → global root (~/) for each agent.
|
|
41
|
+
* Copilot uses `.github` locally but `.copilot` globally.
|
|
42
|
+
*/
|
|
43
|
+
const AGENT_ROOTS = {
|
|
44
|
+
claude: { local: ".claude", global: ".claude" },
|
|
45
|
+
opencode: { local: ".opencode", global: ".opencode" },
|
|
46
|
+
copilot: { local: ".github", global: ".copilot" },
|
|
47
|
+
} as const;
|
|
48
|
+
|
|
49
|
+
/** Paths included in the zip archive (relative to $HOME). */
|
|
50
|
+
const ZIP_INCLUDES = [
|
|
51
|
+
".agents/skills",
|
|
52
|
+
".claude/agents",
|
|
53
|
+
".claude/skills",
|
|
54
|
+
".opencode/agents",
|
|
55
|
+
".copilot/agents",
|
|
56
|
+
".copilot/lsp-config.json",
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
// ── Steps ──────────────────────────────────────────────────────────────────
|
|
60
|
+
|
|
61
|
+
async function installGlobalSkills(): Promise<void> {
|
|
62
|
+
console.log("Installing global skills…");
|
|
63
|
+
|
|
64
|
+
const agentArgs = AGENT_FLAGS.flatMap((a) => ["-a", a]);
|
|
65
|
+
|
|
66
|
+
await $`bunx skills add ${SKILLS_REPO} --skill "*" -g ${agentArgs} -y`;
|
|
67
|
+
|
|
68
|
+
const removeArgs = EXCLUDED_SKILLS.flatMap((s) => ["--skill", s]);
|
|
69
|
+
await $`bunx skills remove ${removeArgs} -g ${agentArgs} -y`;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
async function copyBundledAgents(): Promise<void> {
|
|
73
|
+
console.log("Copying bundled agents to global roots…");
|
|
74
|
+
|
|
75
|
+
for (const [agent, { local, global: globalDir }] of Object.entries(
|
|
76
|
+
AGENT_ROOTS,
|
|
77
|
+
)) {
|
|
78
|
+
const src = join(ROOT, local, "agents");
|
|
79
|
+
const dest = join(HOME, globalDir, "agents");
|
|
80
|
+
|
|
81
|
+
mkdirSync(dest, { recursive: true });
|
|
82
|
+
cpSync(src, dest, { recursive: true });
|
|
83
|
+
console.log(` ${agent}: ${src} → ${dest}`);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const lspSrc = join(ROOT, ".github", "lsp.json");
|
|
87
|
+
if (existsSync(lspSrc)) {
|
|
88
|
+
const lspDest = join(HOME, AGENT_ROOTS.copilot.global, "lsp-config.json");
|
|
89
|
+
cpSync(lspSrc, lspDest);
|
|
90
|
+
console.log(` copilot: lsp.json → ${lspDest}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
async function packageZip(
|
|
95
|
+
version: string,
|
|
96
|
+
outputDir: string,
|
|
97
|
+
): Promise<string> {
|
|
98
|
+
const zipName = `atomic-configs-v${version}.zip`;
|
|
99
|
+
const zipPath = resolve(outputDir, zipName);
|
|
100
|
+
|
|
101
|
+
console.log(`Packaging ${zipName}…`);
|
|
102
|
+
await $`cd ${HOME} && zip -r ${zipPath} ${ZIP_INCLUDES} -x '*.DS_Store'`.quiet();
|
|
103
|
+
console.log(` → ${zipPath}`);
|
|
104
|
+
|
|
105
|
+
return zipPath;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// ── Main ───────────────────────────────────────────────────────────────────
|
|
109
|
+
|
|
110
|
+
async function main(): Promise<void> {
|
|
111
|
+
const version = process.argv[2]?.replace(/^v/, "");
|
|
112
|
+
const outputDir = process.argv[3] ?? process.env.GITHUB_WORKSPACE ?? ".";
|
|
113
|
+
|
|
114
|
+
if (!version) {
|
|
115
|
+
console.error(
|
|
116
|
+
"Usage: bun run src/scripts/bundle-configs.ts <version> [output-dir]",
|
|
117
|
+
);
|
|
118
|
+
process.exit(1);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
await installGlobalSkills();
|
|
122
|
+
await copyBundledAgents();
|
|
123
|
+
await packageZip(version, outputDir);
|
|
124
|
+
|
|
125
|
+
console.log("\nDone.");
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
main();
|
|
@@ -34,7 +34,7 @@ export function CompactSwitcher({ selectedIndex }: CompactSwitcherProps) {
|
|
|
34
34
|
>
|
|
35
35
|
{/* Header */}
|
|
36
36
|
<box height={1} flexDirection="row" paddingLeft={1} paddingRight={1}>
|
|
37
|
-
<text fg={theme.textDim}>
|
|
37
|
+
<text fg={theme.textDim}>stages</text>
|
|
38
38
|
<box flexGrow={1} />
|
|
39
39
|
<text fg={theme.textDim}>{headerHint}</text>
|
|
40
40
|
</box>
|
|
@@ -17,6 +17,9 @@ export class PanelStore {
|
|
|
17
17
|
exitResolve: (() => void) | null = null;
|
|
18
18
|
abortResolve: (() => void) | null = null;
|
|
19
19
|
|
|
20
|
+
/** Number of background tasks/headless stages currently running. */
|
|
21
|
+
backgroundTaskCount = 0;
|
|
22
|
+
|
|
20
23
|
/** Current view mode — graph overview or attached to a specific agent. */
|
|
21
24
|
viewMode: ViewMode = "graph";
|
|
22
25
|
/** ID of the agent currently attached to (only meaningful when viewMode === "attached"). */
|
|
@@ -113,6 +116,16 @@ export class PanelStore {
|
|
|
113
116
|
this.emit();
|
|
114
117
|
}
|
|
115
118
|
|
|
119
|
+
incrementBackgroundTasks(): void {
|
|
120
|
+
this.backgroundTaskCount++;
|
|
121
|
+
this.emit();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
decrementBackgroundTasks(): void {
|
|
125
|
+
this.backgroundTaskCount = Math.max(0, this.backgroundTaskCount - 1);
|
|
126
|
+
this.emit();
|
|
127
|
+
}
|
|
128
|
+
|
|
116
129
|
/**
|
|
117
130
|
* Switch between graph and attached view modes.
|
|
118
131
|
* When switching to "attached", provide the agent ID to attach to.
|
|
@@ -122,6 +122,16 @@ export class OrchestratorPanel {
|
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
+
/** Increment the background task counter (shown in the statusline footer). */
|
|
126
|
+
backgroundTaskStarted(): void {
|
|
127
|
+
this.store.incrementBackgroundTasks();
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Decrement the background task counter (shown in the statusline footer). */
|
|
131
|
+
backgroundTaskFinished(): void {
|
|
132
|
+
this.store.decrementBackgroundTasks();
|
|
133
|
+
}
|
|
134
|
+
|
|
125
135
|
/** Show the workflow-complete banner with a link to saved transcripts. */
|
|
126
136
|
showCompletion(workflowName: string, transcriptsPath: string): void {
|
|
127
137
|
this.store.setCompletion(workflowName, transcriptsPath);
|
|
@@ -37,6 +37,18 @@ export function Statusline({
|
|
|
37
37
|
</box>
|
|
38
38
|
) : null}
|
|
39
39
|
|
|
40
|
+
{store.backgroundTaskCount > 0 ? (
|
|
41
|
+
<box backgroundColor="transparent" paddingLeft={1} alignItems="center">
|
|
42
|
+
<text>
|
|
43
|
+
<span fg={theme.textDim}>{"\u00B7"} </span>
|
|
44
|
+
<span fg={theme.warning}>{"\u25C6"} </span>
|
|
45
|
+
<span fg={theme.textMuted}>
|
|
46
|
+
{store.backgroundTaskCount} background
|
|
47
|
+
</span>
|
|
48
|
+
</text>
|
|
49
|
+
</box>
|
|
50
|
+
) : null}
|
|
51
|
+
|
|
40
52
|
<box flexGrow={1} />
|
|
41
53
|
|
|
42
54
|
{/* Navigation hints — always graph-mode (tmux status bar handles attached-mode hints) */}
|
|
@@ -54,7 +66,7 @@ export function Statusline({
|
|
|
54
66
|
<span fg={theme.textMuted}> attach</span>
|
|
55
67
|
<span fg={theme.textDim}> {"\u00B7"} </span>
|
|
56
68
|
<span fg={theme.text}>/</span>
|
|
57
|
-
<span fg={theme.textMuted}>
|
|
69
|
+
<span fg={theme.textMuted}> stages</span>
|
|
58
70
|
<span fg={theme.textDim}> {"\u00B7"} </span>
|
|
59
71
|
<span fg={theme.text}>q</span>
|
|
60
72
|
<span fg={theme.textMuted}> quit</span>
|
|
@@ -588,6 +588,48 @@ export class ClaudeSessionWrapper {
|
|
|
588
588
|
async disconnect(): Promise<void> {}
|
|
589
589
|
}
|
|
590
590
|
|
|
591
|
+
// ---------------------------------------------------------------------------
|
|
592
|
+
// Headless wrappers — use the Agent SDK directly (no tmux pane)
|
|
593
|
+
// ---------------------------------------------------------------------------
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Headless client wrapper for Claude stages. No tmux pane — noop start/stop.
|
|
597
|
+
* Used when `options.headless` is true in `ctx.stage()`.
|
|
598
|
+
*/
|
|
599
|
+
export class HeadlessClaudeClientWrapper {
|
|
600
|
+
async start(): Promise<void> {}
|
|
601
|
+
async stop(): Promise<void> {}
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* Headless session wrapper for Claude stages. Uses the Agent SDK's `query()`
|
|
606
|
+
* directly instead of tmux pane operations. Implements the same `query()`
|
|
607
|
+
* interface as {@link ClaudeSessionWrapper} so workflow callbacks work
|
|
608
|
+
* identically for headless and interactive stages.
|
|
609
|
+
*/
|
|
610
|
+
export class HeadlessClaudeSessionWrapper {
|
|
611
|
+
readonly paneId = "";
|
|
612
|
+
readonly sessionId: string;
|
|
613
|
+
|
|
614
|
+
constructor(sessionId: string) {
|
|
615
|
+
this.sessionId = sessionId;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
async query(prompt: string): Promise<ClaudeQueryResult> {
|
|
619
|
+
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
620
|
+
let output = "";
|
|
621
|
+
for await (const msg of query({ prompt })) {
|
|
622
|
+
if (msg.type === "result") {
|
|
623
|
+
// SDKResultSuccess has `result: string`, not `output`.
|
|
624
|
+
output = String((msg as Record<string, unknown>).result ?? "");
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
return { output, delivered: true };
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
async disconnect(): Promise<void> {}
|
|
631
|
+
}
|
|
632
|
+
|
|
591
633
|
// ---------------------------------------------------------------------------
|
|
592
634
|
// Static source validation
|
|
593
635
|
// ---------------------------------------------------------------------------
|