@bastani/atomic 0.5.11 → 0.5.12-1
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/components/workflow-picker-panel.tsx +407 -296
- package/src/sdk/providers/claude.ts +50 -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
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-spec
|
|
3
|
+
description: Create a detailed execution plan for implementing features or refactors in a codebase by leveraging existing research in the specified `research` directory.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are tasked with creating a spec for implementing a new feature or system change in the codebase by leveraging existing research in the **$ARGUMENTS** path. If no research path is specified, use the entire `research/` directory. IMPORTANT: Research documents are located in the `research/` directory — do NOT look in the `specs/` directory for research. Follow the template below to produce a comprehensive specification as output in the `specs/` folder using the findings from RELEVANT research documents found in `research/`. The spec file MUST be named using the format `YYYY-MM-DD-topic.md` (e.g., `specs/2026-03-26-my-feature.md`), where the date is the current date and the topic is a kebab-case summary. Tip: It's good practice to use the `codebase-research-locator` and `codebase-research-analyzer` agents to help you find and analyze the research documents in the `research/` directory. It is also HIGHLY recommended to cite relevant research throughout the spec for additional context.
|
|
7
|
+
|
|
8
|
+
<EXTREMELY_IMPORTANT>
|
|
9
|
+
|
|
10
|
+
- Please DO NOT implement anything in this stage, just create the comprehensive spec as described below.
|
|
11
|
+
- When writing the spec, DO NOT include information about concrete dates/timelines (e.g. # minutes, hours, days, weeks, etc.) and favor explicit phases (e.g. Phase 1, Phase 2, etc.).
|
|
12
|
+
- Once the spec is generated, refer to the section, "## 9. Open Questions / Unresolved Issues", go through each question one by one, and use **contrastive clarification** (presenting 2-3 specific options with concrete tradeoffs) rather than open-ended questions. This means presenting interpretations like "(A) Option X — tradeoff Y" and "(B) Option Z — tradeoff W" instead of asking "what do you think about X?". Update the spec with the user's answers as you walk through the questions.
|
|
13
|
+
- Please use your AskUserQuestion tool to ask the user for their input on each question and update the spec accordingly.
|
|
14
|
+
- Finally, once the spec is generated and after open questions are answered, provide an executive summary of the spec to the user including the path to the generated spec document in the `specs/` directory.
|
|
15
|
+
- Encourage the user to review the spec for best results and provide feedback or ask any follow-up questions they may have.
|
|
16
|
+
|
|
17
|
+
</EXTREMELY_IMPORTANT>
|
|
18
|
+
|
|
19
|
+
# [Project Name] Technical Design Document / RFC
|
|
20
|
+
|
|
21
|
+
| Document Metadata | Details |
|
|
22
|
+
| ---------------------- | ------------------------------------------------------------------------------ |
|
|
23
|
+
| Author(s) | !`git config user.name` |
|
|
24
|
+
| Status | Draft (WIP) / In Review (RFC) / Approved / Implemented / Deprecated / Rejected |
|
|
25
|
+
| Team / Owner | |
|
|
26
|
+
| Created / Last Updated | |
|
|
27
|
+
|
|
28
|
+
## 1. Executive Summary
|
|
29
|
+
|
|
30
|
+
_Instruction: A "TL;DR" of the document. Assume the reader is a VP or an engineer from another team who has 2 minutes. Summarize the Context (Problem), the Solution (Proposal), and the Impact (Value). Keep it under 200 words._
|
|
31
|
+
|
|
32
|
+
> **Example:** This RFC proposes replacing our current nightly batch billing system with an event-driven architecture using Kafka and AWS Lambda. Currently, billing delays cause a 5% increase in customer support tickets. The proposed solution will enable real-time invoicing, reducing billing latency from 24 hours to <5 minutes.
|
|
33
|
+
|
|
34
|
+
## 2. Context and Motivation
|
|
35
|
+
|
|
36
|
+
_Instruction: Why are we doing this? Why now? Link to the Product Requirement Document (PRD)._
|
|
37
|
+
|
|
38
|
+
### 2.1 Current State
|
|
39
|
+
|
|
40
|
+
_Instruction: Describe the existing architecture. Use a "Context Diagram" if possible. Be honest about the flaws._
|
|
41
|
+
|
|
42
|
+
- **Architecture:** Currently, Service A communicates with Service B via a shared SQL database.
|
|
43
|
+
- **Limitations:** This creates a tight coupling; when Service A locks the table, Service B times out.
|
|
44
|
+
|
|
45
|
+
### 2.2 The Problem
|
|
46
|
+
|
|
47
|
+
_Instruction: What is the specific pain point?_
|
|
48
|
+
|
|
49
|
+
- **User Impact:** Customers cannot download receipts during the nightly batch window.
|
|
50
|
+
- **Business Impact:** We are losing $X/month in churn due to billing errors.
|
|
51
|
+
- **Technical Debt:** The current codebase is untestable and has 0% unit test coverage.
|
|
52
|
+
|
|
53
|
+
## 3. Goals and Non-Goals
|
|
54
|
+
|
|
55
|
+
_Instruction: This is the contract Definition of Success. Be precise._
|
|
56
|
+
|
|
57
|
+
### 3.1 Functional Goals
|
|
58
|
+
|
|
59
|
+
- [ ] Users must be able to export data in CSV format.
|
|
60
|
+
- [ ] System must support multi-tenant data isolation.
|
|
61
|
+
|
|
62
|
+
### 3.2 Non-Goals (Out of Scope)
|
|
63
|
+
|
|
64
|
+
_Instruction: Explicitly state what you are NOT doing. This prevents scope creep._
|
|
65
|
+
|
|
66
|
+
- [ ] We will NOT support PDF export in this version (CSV only).
|
|
67
|
+
- [ ] We will NOT migrate data older than 3 years.
|
|
68
|
+
- [ ] We will NOT build a custom UI (API only).
|
|
69
|
+
|
|
70
|
+
## 4. Proposed Solution (High-Level Design)
|
|
71
|
+
|
|
72
|
+
_Instruction: The "Big Picture." Diagrams are mandatory here._
|
|
73
|
+
|
|
74
|
+
### 4.1 System Architecture Diagram
|
|
75
|
+
|
|
76
|
+
_Instruction: Insert a C4 System Context or Container diagram. Show the "Black Boxes."_
|
|
77
|
+
|
|
78
|
+
- (Place Diagram Here - e.g., Mermaid diagram)
|
|
79
|
+
|
|
80
|
+
For example,
|
|
81
|
+
|
|
82
|
+
```mermaid
|
|
83
|
+
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#f8f9fa','primaryTextColor':'#2c3e50','primaryBorderColor':'#4a5568','lineColor':'#4a90e2','secondaryColor':'#ffffff','tertiaryColor':'#e9ecef','background':'#f5f7fa','mainBkg':'#f8f9fa','nodeBorder':'#4a5568','clusterBkg':'#ffffff','clusterBorder':'#cbd5e0','edgeLabelBackground':'#ffffff'}}}%%
|
|
84
|
+
|
|
85
|
+
flowchart TB
|
|
86
|
+
%% ---------------------------------------------------------
|
|
87
|
+
%% CLEAN ENTERPRISE DESIGN
|
|
88
|
+
%% Professional • Trustworthy • Corporate Standards
|
|
89
|
+
%% ---------------------------------------------------------
|
|
90
|
+
|
|
91
|
+
%% STYLE DEFINITIONS
|
|
92
|
+
classDef person fill:#5a67d8,stroke:#4c51bf,stroke-width:3px,color:#ffffff,font-weight:600,font-size:14px
|
|
93
|
+
|
|
94
|
+
classDef systemCore fill:#4a90e2,stroke:#357abd,stroke-width:2.5px,color:#ffffff,font-weight:600,font-size:14px
|
|
95
|
+
|
|
96
|
+
classDef systemSupport fill:#667eea,stroke:#5a67d8,stroke-width:2.5px,color:#ffffff,font-weight:600,font-size:13px
|
|
97
|
+
|
|
98
|
+
classDef database fill:#48bb78,stroke:#38a169,stroke-width:2.5px,color:#ffffff,font-weight:600,font-size:13px
|
|
99
|
+
|
|
100
|
+
classDef external fill:#718096,stroke:#4a5568,stroke-width:2.5px,color:#ffffff,font-weight:600,font-size:13px,stroke-dasharray:6 3
|
|
101
|
+
|
|
102
|
+
%% NODES - CLEAN ENTERPRISE HIERARCHY
|
|
103
|
+
|
|
104
|
+
User(("◉<br><b>User</b><br>")):::person
|
|
105
|
+
|
|
106
|
+
subgraph SystemBoundary["◆ Primary System Boundary"]
|
|
107
|
+
direction TB
|
|
108
|
+
|
|
109
|
+
LoadBalancer{{"<b>Load Balancer</b><br>NGINX<br><i>Layer 7 Proxy</i>"}}:::systemCore
|
|
110
|
+
|
|
111
|
+
API["<b>API Application</b><br>Go • Gin Framework<br><i>REST Endpoints</i>"]:::systemCore
|
|
112
|
+
|
|
113
|
+
Worker(["<b>Background Worker</b><br>Go Runtime<br><i>Async Processing</i>"]):::systemSupport
|
|
114
|
+
|
|
115
|
+
Cache[("◆<br><b>Cache Layer</b><br>Redis<br><i>In-Memory</i>")]:::database
|
|
116
|
+
|
|
117
|
+
PrimaryDB[("●<br><b>Primary Database</b><br>PostgreSQL<br><i>Persistent Storage</i>")]:::database
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
ExternalAPI{{"<b>External API</b><br>Third Party<br><i>HTTP/REST</i>"}}:::external
|
|
121
|
+
|
|
122
|
+
%% RELATIONSHIPS - CLEAN FLOW
|
|
123
|
+
|
|
124
|
+
User -->|"1. HTTPS Request<br>TLS 1.3"| LoadBalancer
|
|
125
|
+
LoadBalancer -->|"2. Proxy Pass<br>Round Robin"| API
|
|
126
|
+
|
|
127
|
+
API <-->|"3. Cache<br>Read/Write"| Cache
|
|
128
|
+
API -->|"4. Persist Data<br>Transactional"| PrimaryDB
|
|
129
|
+
API -.->|"5. Enqueue Event<br>Async"| Worker
|
|
130
|
+
|
|
131
|
+
Worker -->|"6. Process Job<br>Execution"| PrimaryDB
|
|
132
|
+
Worker -.->|"7. HTTP Call<br>Webhooks"| ExternalAPI
|
|
133
|
+
|
|
134
|
+
%% STYLE BOUNDARY
|
|
135
|
+
style SystemBoundary fill:#ffffff,stroke:#cbd5e0,stroke-width:2px,color:#2d3748,stroke-dasharray:8 4,font-weight:600,font-size:12px
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 4.2 Architectural Pattern
|
|
139
|
+
|
|
140
|
+
_Instruction: Name the pattern (e.g., "Event Sourcing", "BFF - Backend for Frontend")._
|
|
141
|
+
|
|
142
|
+
- We are adopting a Publisher-Subscriber pattern where the Order Service publishes `OrderCreated` events, and the Billing Service consumes them asynchronously.
|
|
143
|
+
|
|
144
|
+
### 4.3 Key Components
|
|
145
|
+
|
|
146
|
+
| Component | Responsibility | Technology Stack | Justification |
|
|
147
|
+
| ----------------- | --------------------------- | ----------------- | -------------------------------------------- |
|
|
148
|
+
| Ingestion Service | Validates incoming webhooks | Go, Gin Framework | High concurrency performance needed. |
|
|
149
|
+
| Event Bus | Decouples services | Kafka | Durable log, replay capability. |
|
|
150
|
+
| Projections DB | Read-optimized views | MongoDB | Flexible schema for diverse receipt formats. |
|
|
151
|
+
|
|
152
|
+
## 5. Detailed Design
|
|
153
|
+
|
|
154
|
+
_Instruction: The "Meat" of the document. Sufficient detail for an engineer to start coding._
|
|
155
|
+
|
|
156
|
+
### 5.1 API Interfaces
|
|
157
|
+
|
|
158
|
+
_Instruction: Define the contract. Use OpenAPI/Swagger snippets or Protocol Buffer definitions._
|
|
159
|
+
|
|
160
|
+
**Endpoint:** `POST /api/v1/invoices`
|
|
161
|
+
|
|
162
|
+
- **Auth:** Bearer Token (Scope: `invoice:write`)
|
|
163
|
+
- **Idempotency:** Required header `X-Idempotency-Key`
|
|
164
|
+
- **Request Body:**
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{ "user_id": "uuid", "amount": 100.0, "currency": "USD" }
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 5.2 Data Model / Schema
|
|
171
|
+
|
|
172
|
+
_Instruction: Provide ERDs (Entity Relationship Diagrams) or JSON schemas. Discuss normalization vs. denormalization._
|
|
173
|
+
|
|
174
|
+
**Table:** `invoices` (PostgreSQL)
|
|
175
|
+
|
|
176
|
+
| Column | Type | Constraints | Description |
|
|
177
|
+
| --------- | ---- | ----------------- | --------------------- |
|
|
178
|
+
| `id` | UUID | PK | |
|
|
179
|
+
| `user_id` | UUID | FK -> Users | Partition Key |
|
|
180
|
+
| `status` | ENUM | 'PENDING', 'PAID' | Indexed for filtering |
|
|
181
|
+
|
|
182
|
+
### 5.3 Algorithms and State Management
|
|
183
|
+
|
|
184
|
+
_Instruction: Describe complex logic, state machines, or consistency models._
|
|
185
|
+
|
|
186
|
+
- **State Machine:** An invoice moves from `DRAFT` -> `LOCKED` -> `PROCESSING` -> `PAID`.
|
|
187
|
+
- **Concurrency:** We use Optimistic Locking on the `version` column to prevent double-payments.
|
|
188
|
+
|
|
189
|
+
## 6. Alternatives Considered
|
|
190
|
+
|
|
191
|
+
_Instruction: Prove you thought about trade-offs. Why is your solution better than the others?_
|
|
192
|
+
|
|
193
|
+
| Option | Pros | Cons | Reason for Rejection |
|
|
194
|
+
| -------------------------------- | ---------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------- |
|
|
195
|
+
| Option A: Synchronous HTTP Calls | Simple to implement, Easy to debug | Tight coupling, cascading failures | Latency requirements (200ms) make blocking calls risky. |
|
|
196
|
+
| Option B: RabbitMQ | Lightweight, Built-in routing | Less durable than Kafka, harder to replay | We need message replay for auditing (Compliance requirement). |
|
|
197
|
+
| Option C: Kafka (Selected) | High throughput, Replayability | Operational complexity | **Selected:** The need for auditability/replay outweighs the complexity cost. |
|
|
198
|
+
|
|
199
|
+
## 7. Cross-Cutting Concerns
|
|
200
|
+
|
|
201
|
+
### 7.1 Security and Privacy
|
|
202
|
+
|
|
203
|
+
- **Authentication:** Services authenticate via mTLS.
|
|
204
|
+
- **Authorization:** Policy enforcement point at the API Gateway (OPA - Open Policy Agent).
|
|
205
|
+
- **Data Protection:** PII (Names, Emails) is encrypted at rest using AES-256.
|
|
206
|
+
- **Threat Model:** Primary threat is compromised API Key; remediation is rapid rotation and rate limiting.
|
|
207
|
+
|
|
208
|
+
### 7.2 Observability Strategy
|
|
209
|
+
|
|
210
|
+
- **Metrics:** We will track `invoice_creation_latency` (Histogram) and `payment_failure_count` (Counter).
|
|
211
|
+
- **Tracing:** All services propagate `X-Trace-ID` headers (OpenTelemetry).
|
|
212
|
+
- **Alerting:** PagerDuty triggers if `5xx` error rate > 1% for 5 minutes.
|
|
213
|
+
|
|
214
|
+
### 7.3 Scalability and Capacity Planning
|
|
215
|
+
|
|
216
|
+
- **Traffic Estimates:** 1M transactions/day = ~12 TPS avg / 100 TPS peak.
|
|
217
|
+
- **Storage Growth:** 1KB per record \* 1M = 1GB/day.
|
|
218
|
+
- **Bottleneck:** The PostgreSQL Write node is the bottleneck. We will implement Read Replicas to offload traffic.
|
|
219
|
+
|
|
220
|
+
## 8. Migration, Rollout, and Testing
|
|
221
|
+
|
|
222
|
+
### 8.1 Deployment Strategy
|
|
223
|
+
|
|
224
|
+
- [ ] Phase 1: Deploy services in "Shadow Mode" (process traffic but do not email users).
|
|
225
|
+
- [ ] Phase 2: Enable Feature Flag `new-billing-engine` for 1% of internal users.
|
|
226
|
+
- [ ] Phase 3: Ramp to 100%.
|
|
227
|
+
|
|
228
|
+
### 8.2 Data Migration Plan
|
|
229
|
+
|
|
230
|
+
- **Backfill:** We will run a script to migrate the last 90 days of invoices from the legacy SQL server.
|
|
231
|
+
- **Verification:** A "Reconciliation Job" will run nightly to compare Legacy vs. New totals.
|
|
232
|
+
|
|
233
|
+
### 8.3 Test Plan
|
|
234
|
+
|
|
235
|
+
- **Unit Tests:**
|
|
236
|
+
- **Integration Tests:**
|
|
237
|
+
- **End-to-End Tests:**
|
|
238
|
+
|
|
239
|
+
## 9. Open Questions / Unresolved Issues
|
|
240
|
+
|
|
241
|
+
_Instruction: List known unknowns. These must be resolved before the doc is marked "Approved"._
|
|
242
|
+
|
|
243
|
+
- [ ] Will the Legal team approve the 3rd party library for PDF generation?
|
|
244
|
+
- [ ] Does the current VPC peering allow connection to the legacy mainframe?
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: critique
|
|
3
|
+
description: Evaluate design from a UX perspective, assessing visual hierarchy, information architecture, emotional resonance, cognitive load, and overall quality with quantitative scoring, persona-based testing, automated anti-pattern detection, and actionable feedback. Use when the user asks to review, critique, evaluate, or give feedback on a design or component.
|
|
4
|
+
version: 2.1.1
|
|
5
|
+
user-invocable: true
|
|
6
|
+
argument-hint: "[area (feature, page, component...)]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## STEPS
|
|
10
|
+
|
|
11
|
+
### Step 1: Preparation
|
|
12
|
+
|
|
13
|
+
Invoke /impeccable, which contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding. If no design context exists yet, you MUST run /impeccable teach first. Additionally gather: what the interface is trying to accomplish.
|
|
14
|
+
|
|
15
|
+
### Step 2: Gather Assessments
|
|
16
|
+
|
|
17
|
+
Launch two independent assessments. **Neither must see the other's output** to avoid bias.
|
|
18
|
+
|
|
19
|
+
You SHOULD delegate each assessment to a separate sub-agent for independence. Use your environment's agent spawning mechanism (e.g., Claude Code's `Agent` tool, or Codex's subagent spawning). Sub-agents should return their findings as structured text. Do NOT output findings to the user yet.
|
|
20
|
+
|
|
21
|
+
If sub-agents are not available in the current environment, complete each assessment sequentially, writing findings to internal notes before proceeding.
|
|
22
|
+
|
|
23
|
+
**Tab isolation**: When browser automation is available, each assessment MUST create its own new tab. Never reuse an existing tab, even if one is already open at the correct URL. This prevents the two assessments from interfering with each other's page state.
|
|
24
|
+
|
|
25
|
+
#### Assessment A: LLM Design Review
|
|
26
|
+
|
|
27
|
+
Read the relevant source files (HTML, CSS, JS/TS) and, if browser automation is available, visually inspect the live page. **Create a new tab** for this; do not reuse existing tabs. After navigation, label the tab by setting the document title:
|
|
28
|
+
```javascript
|
|
29
|
+
document.title = '[LLM] ' + document.title;
|
|
30
|
+
```
|
|
31
|
+
Think like a design director. Evaluate:
|
|
32
|
+
|
|
33
|
+
**AI Slop Detection (CRITICAL)**: Does this look like every other AI-generated interface? Review against ALL **DON'T** guidelines in the impeccable skill. Check for AI color palette, gradient text, dark glows, glassmorphism, hero metric layouts, identical card grids, generic fonts, and all other tells. **The test**: If someone said "AI made this," would you believe them immediately?
|
|
34
|
+
|
|
35
|
+
**Holistic Design Review**: visual hierarchy (eye flow, primary action clarity), information architecture (structure, grouping, cognitive load), emotional resonance (does it match brand and audience?), discoverability (are interactive elements obvious?), composition (balance, whitespace, rhythm), typography (hierarchy, readability, font choices), color (purposeful use, cohesion, accessibility), states & edge cases (empty, loading, error, success), microcopy (clarity, tone, helpfulness).
|
|
36
|
+
|
|
37
|
+
**Cognitive Load** (consult [cognitive-load](reference/cognitive-load.md)):
|
|
38
|
+
- Run the 8-item cognitive load checklist. Report failure count: 0-1 = low (good), 2-3 = moderate, 4+ = critical.
|
|
39
|
+
- Count visible options at each decision point. If >4, flag it.
|
|
40
|
+
- Check for progressive disclosure: is complexity revealed only when needed?
|
|
41
|
+
|
|
42
|
+
**Emotional Journey**:
|
|
43
|
+
- What emotion does this interface evoke? Is that intentional?
|
|
44
|
+
- **Peak-end rule**: Is the most intense moment positive? Does the experience end well?
|
|
45
|
+
- **Emotional valleys**: Check for anxiety spikes at high-stakes moments (payment, delete, commit). Are there design interventions (progress indicators, reassurance copy, undo options)?
|
|
46
|
+
|
|
47
|
+
**Nielsen's Heuristics** (consult [heuristics-scoring](reference/heuristics-scoring.md)):
|
|
48
|
+
Score each of the 10 heuristics 0-4. This scoring will be presented in the report.
|
|
49
|
+
|
|
50
|
+
Return structured findings covering: AI slop verdict, heuristic scores, cognitive load assessment, what's working (2-3 items), priority issues (3-5 with what/why/fix), minor observations, and provocative questions.
|
|
51
|
+
|
|
52
|
+
#### Assessment B: Automated Detection
|
|
53
|
+
|
|
54
|
+
Run the bundled deterministic detector, which flags 25 specific patterns (AI slop tells + general design quality).
|
|
55
|
+
|
|
56
|
+
**CLI scan**:
|
|
57
|
+
```bash
|
|
58
|
+
npx impeccable --json [--fast] [target]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
- Pass HTML/JSX/TSX/Vue/Svelte files or directories as `[target]` (anything with markup). Do not pass CSS-only files.
|
|
62
|
+
- For URLs, skip the CLI scan (it requires Puppeteer). Use browser visualization instead.
|
|
63
|
+
- For large directories (200+ scannable files), use `--fast` (regex-only, skips jsdom)
|
|
64
|
+
- For 500+ files, narrow scope or ask the user
|
|
65
|
+
- Exit code 0 = clean, 2 = findings
|
|
66
|
+
|
|
67
|
+
**Browser visualization** (when browser automation tools are available AND the target is a viewable page):
|
|
68
|
+
|
|
69
|
+
The overlay is a **visual aid for the user**. It highlights issues directly in their browser. Do NOT scroll through the page to screenshot overlays. Instead, read the console output to get the results programmatically.
|
|
70
|
+
|
|
71
|
+
1. **Start the live detection server**:
|
|
72
|
+
```bash
|
|
73
|
+
npx impeccable live &
|
|
74
|
+
```
|
|
75
|
+
Note the port printed to stdout (auto-assigned). Use `--port=PORT` to fix it.
|
|
76
|
+
2. **Create a new tab** and navigate to the page (use dev server URL for local files, or direct URL). Do not reuse existing tabs.
|
|
77
|
+
3. **Label the tab** via `javascript_tool` so the user can distinguish it:
|
|
78
|
+
```javascript
|
|
79
|
+
document.title = '[Human] ' + document.title;
|
|
80
|
+
```
|
|
81
|
+
4. **Scroll to top** to ensure the page is scrolled to the very top before injection
|
|
82
|
+
5. **Inject** via `javascript_tool` (replace PORT with the port from step 1):
|
|
83
|
+
```javascript
|
|
84
|
+
const s = document.createElement('script'); s.src = 'http://localhost:PORT/detect.js'; document.head.appendChild(s);
|
|
85
|
+
```
|
|
86
|
+
6. Wait 2-3 seconds for the detector to render overlays
|
|
87
|
+
7. **Read results from console** using `read_console_messages` with pattern `impeccable`. The detector logs all findings with the `[impeccable]` prefix. Do NOT scroll through the page to take screenshots of the overlays.
|
|
88
|
+
8. **Cleanup**: Stop the live server when done:
|
|
89
|
+
```bash
|
|
90
|
+
npx impeccable live stop
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
For multi-view targets, inject on 3-5 representative pages. If injection fails, continue with CLI results only.
|
|
94
|
+
|
|
95
|
+
Return: CLI findings (JSON), browser console findings (if applicable), and any false positives noted.
|
|
96
|
+
|
|
97
|
+
### Step 3: Generate Combined Critique Report
|
|
98
|
+
|
|
99
|
+
Synthesize both assessments into a single report. Do NOT simply concatenate. Weave the findings together, noting where the LLM review and detector agree, where the detector caught issues the LLM missed, and where detector findings are false positives.
|
|
100
|
+
|
|
101
|
+
Structure your feedback as a design director would:
|
|
102
|
+
|
|
103
|
+
#### Design Health Score
|
|
104
|
+
> *Consult [heuristics-scoring](reference/heuristics-scoring.md)*
|
|
105
|
+
|
|
106
|
+
Present the Nielsen's 10 heuristics scores as a table:
|
|
107
|
+
|
|
108
|
+
| # | Heuristic | Score | Key Issue |
|
|
109
|
+
|---|-----------|-------|-----------|
|
|
110
|
+
| 1 | Visibility of System Status | ? | [specific finding or "n/a" if solid] |
|
|
111
|
+
| 2 | Match System / Real World | ? | |
|
|
112
|
+
| 3 | User Control and Freedom | ? | |
|
|
113
|
+
| 4 | Consistency and Standards | ? | |
|
|
114
|
+
| 5 | Error Prevention | ? | |
|
|
115
|
+
| 6 | Recognition Rather Than Recall | ? | |
|
|
116
|
+
| 7 | Flexibility and Efficiency | ? | |
|
|
117
|
+
| 8 | Aesthetic and Minimalist Design | ? | |
|
|
118
|
+
| 9 | Error Recovery | ? | |
|
|
119
|
+
| 10 | Help and Documentation | ? | |
|
|
120
|
+
| **Total** | | **??/40** | **[Rating band]** |
|
|
121
|
+
|
|
122
|
+
Be honest with scores. A 4 means genuinely excellent. Most real interfaces score 20-32.
|
|
123
|
+
|
|
124
|
+
#### Anti-Patterns Verdict
|
|
125
|
+
|
|
126
|
+
**Start here.** Does this look AI-generated?
|
|
127
|
+
|
|
128
|
+
**LLM assessment**: Your own evaluation of AI slop tells. Cover overall aesthetic feel, layout sameness, generic composition, missed opportunities for personality.
|
|
129
|
+
|
|
130
|
+
**Deterministic scan**: Summarize what the automated detector found, with counts and file locations. Note any additional issues the detector caught that you missed, and flag any false positives.
|
|
131
|
+
|
|
132
|
+
**Visual overlays** (if browser was used): Tell the user that overlays are now visible in the **[Human]** tab in their browser, highlighting the detected issues. Summarize what the console output reported.
|
|
133
|
+
|
|
134
|
+
#### Overall Impression
|
|
135
|
+
A brief gut reaction: what works, what doesn't, and the single biggest opportunity.
|
|
136
|
+
|
|
137
|
+
#### What's Working
|
|
138
|
+
Highlight 2-3 things done well. Be specific about why they work.
|
|
139
|
+
|
|
140
|
+
#### Priority Issues
|
|
141
|
+
The 3-5 most impactful design problems, ordered by importance.
|
|
142
|
+
|
|
143
|
+
For each issue, tag with **P0-P3 severity** (consult [heuristics-scoring](reference/heuristics-scoring.md) for severity definitions):
|
|
144
|
+
- **[P?] What**: Name the problem clearly
|
|
145
|
+
- **Why it matters**: How this hurts users or undermines goals
|
|
146
|
+
- **Fix**: What to do about it (be concrete)
|
|
147
|
+
- **Suggested command**: Which command could address this (from: /animate, /quieter, /shape, /optimize, /adapt, /clarify, /layout, /distill, /delight, /audit, /harden, /polish, /bolder, /typeset, /critique, /colorize, /overdrive)
|
|
148
|
+
|
|
149
|
+
#### Persona Red Flags
|
|
150
|
+
> *Consult [personas](reference/personas.md)*
|
|
151
|
+
|
|
152
|
+
Auto-select 2-3 personas most relevant to this interface type (use the selection table in the reference). If `.github/copilot-instructions.md` contains a `## Design Context` section from `impeccable teach`, also generate 1-2 project-specific personas from the audience/brand info.
|
|
153
|
+
|
|
154
|
+
For each selected persona, walk through the primary user action and list specific red flags found:
|
|
155
|
+
|
|
156
|
+
**Alex (Power User)**: No keyboard shortcuts detected. Form requires 8 clicks for primary action. Forced modal onboarding. High abandonment risk.
|
|
157
|
+
|
|
158
|
+
**Jordan (First-Timer)**: Icon-only nav in sidebar. Technical jargon in error messages ("404 Not Found"). No visible help. Will abandon at step 2.
|
|
159
|
+
|
|
160
|
+
Be specific. Name the exact elements and interactions that fail each persona. Don't write generic persona descriptions; write what broke for them.
|
|
161
|
+
|
|
162
|
+
#### Minor Observations
|
|
163
|
+
Quick notes on smaller issues worth addressing.
|
|
164
|
+
|
|
165
|
+
#### Questions to Consider
|
|
166
|
+
Provocative questions that might unlock better solutions:
|
|
167
|
+
- "What if the primary action were more prominent?"
|
|
168
|
+
- "Does this need to feel this complex?"
|
|
169
|
+
- "What would a confident version of this look like?"
|
|
170
|
+
|
|
171
|
+
**Remember**:
|
|
172
|
+
- Be direct. Vague feedback wastes everyone's time.
|
|
173
|
+
- Be specific. "The submit button," not "some elements."
|
|
174
|
+
- Say what's wrong AND why it matters to users.
|
|
175
|
+
- Give concrete suggestions, not just "consider exploring..."
|
|
176
|
+
- Prioritize ruthlessly. If everything is important, nothing is.
|
|
177
|
+
- Don't soften criticism. Developers need honest feedback to ship great design.
|
|
178
|
+
|
|
179
|
+
### Step 4: Ask the User
|
|
180
|
+
|
|
181
|
+
**After presenting findings**, use targeted questions based on what was actually found. ask the user directly to clarify what you cannot infer. These answers will shape the action plan.
|
|
182
|
+
|
|
183
|
+
Ask questions along these lines (adapt to the specific findings; do NOT ask generic questions):
|
|
184
|
+
|
|
185
|
+
1. **Priority direction**: Based on the issues found, ask which category matters most to the user right now. For example: "I found problems with visual hierarchy, color usage, and information overload. Which area should we tackle first?" Offer the top 2-3 issue categories as options.
|
|
186
|
+
|
|
187
|
+
2. **Design intent**: If the critique found a tonal mismatch, ask whether it was intentional. For example: "The interface feels clinical and corporate. Is that the intended tone, or should it feel warmer/bolder/more playful?" Offer 2-3 tonal directions as options based on what would fix the issues found.
|
|
188
|
+
|
|
189
|
+
3. **Scope**: Ask how much the user wants to take on. For example: "I found N issues. Want to address everything, or focus on the top 3?" Offer scope options like "Top 3 only", "All issues", "Critical issues only".
|
|
190
|
+
|
|
191
|
+
4. **Constraints** (optional; only ask if relevant): If the findings touch many areas, ask if anything is off-limits. For example: "Should any sections stay as-is?" This prevents the plan from touching things the user considers done.
|
|
192
|
+
|
|
193
|
+
**Rules for questions**:
|
|
194
|
+
- Every question must reference specific findings from the report. Never ask generic "who is your audience?" questions.
|
|
195
|
+
- Keep it to 2-4 questions maximum. Respect the user's time.
|
|
196
|
+
- Offer concrete options, not open-ended prompts.
|
|
197
|
+
- If findings are straightforward (e.g., only 1-2 clear issues), skip questions and go directly to Step 5.
|
|
198
|
+
|
|
199
|
+
### Step 5: Recommended Actions
|
|
200
|
+
|
|
201
|
+
**After receiving the user's answers**, present a prioritized action summary reflecting the user's priorities and scope from Step 4.
|
|
202
|
+
|
|
203
|
+
#### Action Summary
|
|
204
|
+
|
|
205
|
+
List recommended commands in priority order, based on the user's answers:
|
|
206
|
+
|
|
207
|
+
1. **`/command-name`**: Brief description of what to fix (specific context from critique findings)
|
|
208
|
+
2. **`/command-name`**: Brief description (specific context)
|
|
209
|
+
...
|
|
210
|
+
|
|
211
|
+
**Rules for recommendations**:
|
|
212
|
+
- Only recommend commands from: /animate, /quieter, /shape, /optimize, /adapt, /clarify, /layout, /distill, /delight, /audit, /harden, /polish, /bolder, /typeset, /critique, /colorize, /overdrive
|
|
213
|
+
- Order by the user's stated priorities first, then by impact
|
|
214
|
+
- Each item's description should carry enough context that the command knows what to focus on
|
|
215
|
+
- Map each Priority Issue to the appropriate command
|
|
216
|
+
- Skip commands that would address zero issues
|
|
217
|
+
- If the user chose a limited scope, only include items within that scope
|
|
218
|
+
- If the user marked areas as off-limits, exclude commands that would touch those areas
|
|
219
|
+
- End with `/polish` as the final step if any fixes were recommended
|
|
220
|
+
|
|
221
|
+
After presenting the summary, tell the user:
|
|
222
|
+
|
|
223
|
+
> You can ask me to run these one at a time, all at once, or in any order you prefer.
|
|
224
|
+
>
|
|
225
|
+
> Re-run `/critique` after fixes to see your score improve.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Cognitive Load Assessment
|
|
2
|
+
|
|
3
|
+
Cognitive load is the total mental effort required to use an interface. Overloaded users make mistakes, get frustrated, and leave. This reference helps identify and fix cognitive overload.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Three Types of Cognitive Load
|
|
8
|
+
|
|
9
|
+
### Intrinsic Load — The Task Itself
|
|
10
|
+
Complexity inherent to what the user is trying to do. You can't eliminate this, but you can structure it.
|
|
11
|
+
|
|
12
|
+
**Manage it by**:
|
|
13
|
+
- Breaking complex tasks into discrete steps
|
|
14
|
+
- Providing scaffolding (templates, defaults, examples)
|
|
15
|
+
- Progressive disclosure — show what's needed now, hide the rest
|
|
16
|
+
- Grouping related decisions together
|
|
17
|
+
|
|
18
|
+
### Extraneous Load — Bad Design
|
|
19
|
+
Mental effort caused by poor design choices. **Eliminate this ruthlessly** — it's pure waste.
|
|
20
|
+
|
|
21
|
+
**Common sources**:
|
|
22
|
+
- Confusing navigation that requires mental mapping
|
|
23
|
+
- Unclear labels that force users to guess meaning
|
|
24
|
+
- Visual clutter competing for attention
|
|
25
|
+
- Inconsistent patterns that prevent learning
|
|
26
|
+
- Unnecessary steps between user intent and result
|
|
27
|
+
|
|
28
|
+
### Germane Load — Learning Effort
|
|
29
|
+
Mental effort spent building understanding. This is *good* cognitive load — it leads to mastery.
|
|
30
|
+
|
|
31
|
+
**Support it by**:
|
|
32
|
+
- Progressive disclosure that reveals complexity gradually
|
|
33
|
+
- Consistent patterns that reward learning
|
|
34
|
+
- Feedback that confirms correct understanding
|
|
35
|
+
- Onboarding that teaches through action, not walls of text
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Cognitive Load Checklist
|
|
40
|
+
|
|
41
|
+
Evaluate the interface against these 8 items:
|
|
42
|
+
|
|
43
|
+
- [ ] **Single focus**: Can the user complete their primary task without distraction from competing elements?
|
|
44
|
+
- [ ] **Chunking**: Is information presented in digestible groups (≤4 items per group)?
|
|
45
|
+
- [ ] **Grouping**: Are related items visually grouped together (proximity, borders, shared background)?
|
|
46
|
+
- [ ] **Visual hierarchy**: Is it immediately clear what's most important on the screen?
|
|
47
|
+
- [ ] **One thing at a time**: Can the user focus on a single decision before moving to the next?
|
|
48
|
+
- [ ] **Minimal choices**: Are decisions simplified (≤4 visible options at any decision point)?
|
|
49
|
+
- [ ] **Working memory**: Does the user need to remember information from a previous screen to act on the current one?
|
|
50
|
+
- [ ] **Progressive disclosure**: Is complexity revealed only when the user needs it?
|
|
51
|
+
|
|
52
|
+
**Scoring**: Count the failed items. 0–1 failures = low cognitive load (good). 2–3 = moderate (address soon). 4+ = high cognitive load (critical fix needed).
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## The Working Memory Rule
|
|
57
|
+
|
|
58
|
+
**Humans can hold ≤4 items in working memory at once** (Miller's Law revised by Cowan, 2001).
|
|
59
|
+
|
|
60
|
+
At any decision point, count the number of distinct options, actions, or pieces of information a user must simultaneously consider:
|
|
61
|
+
- **≤4 items**: Within working memory limits — manageable
|
|
62
|
+
- **5–7 items**: Pushing the boundary — consider grouping or progressive disclosure
|
|
63
|
+
- **8+ items**: Overloaded — users will skip, misclick, or abandon
|
|
64
|
+
|
|
65
|
+
**Practical applications**:
|
|
66
|
+
- Navigation menus: ≤5 top-level items (group the rest under clear categories)
|
|
67
|
+
- Form sections: ≤4 fields visible per group before a visual break
|
|
68
|
+
- Action buttons: 1 primary, 1–2 secondary, group the rest in a menu
|
|
69
|
+
- Dashboard widgets: ≤4 key metrics visible without scrolling
|
|
70
|
+
- Pricing tiers: ≤3 options (more causes analysis paralysis)
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Common Cognitive Load Violations
|
|
75
|
+
|
|
76
|
+
### 1. The Wall of Options
|
|
77
|
+
**Problem**: Presenting 10+ choices at once with no hierarchy.
|
|
78
|
+
**Fix**: Group into categories, highlight recommended, use progressive disclosure.
|
|
79
|
+
|
|
80
|
+
### 2. The Memory Bridge
|
|
81
|
+
**Problem**: User must remember info from step 1 to complete step 3.
|
|
82
|
+
**Fix**: Keep relevant context visible, or repeat it where it's needed.
|
|
83
|
+
|
|
84
|
+
### 3. The Hidden Navigation
|
|
85
|
+
**Problem**: User must build a mental map of where things are.
|
|
86
|
+
**Fix**: Always show current location (breadcrumbs, active states, progress indicators).
|
|
87
|
+
|
|
88
|
+
### 4. The Jargon Barrier
|
|
89
|
+
**Problem**: Technical or domain language forces translation effort.
|
|
90
|
+
**Fix**: Use plain language. If domain terms are unavoidable, define them inline.
|
|
91
|
+
|
|
92
|
+
### 5. The Visual Noise Floor
|
|
93
|
+
**Problem**: Every element has the same visual weight — nothing stands out.
|
|
94
|
+
**Fix**: Establish clear hierarchy: one primary element, 2–3 secondary, everything else muted.
|
|
95
|
+
|
|
96
|
+
### 6. The Inconsistent Pattern
|
|
97
|
+
**Problem**: Similar actions work differently in different places.
|
|
98
|
+
**Fix**: Standardize interaction patterns. Same type of action = same type of UI.
|
|
99
|
+
|
|
100
|
+
### 7. The Multi-Task Demand
|
|
101
|
+
**Problem**: Interface requires processing multiple simultaneous inputs (reading + deciding + navigating).
|
|
102
|
+
**Fix**: Sequence the steps. Let the user do one thing at a time.
|
|
103
|
+
|
|
104
|
+
### 8. The Context Switch
|
|
105
|
+
**Problem**: User must jump between screens/tabs/modals to gather info for a single decision.
|
|
106
|
+
**Fix**: Co-locate the information needed for each decision. Reduce back-and-forth.
|