@stephen-lord/docs 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-skills/README.md +11 -0
- package/dist/agent-skills/README.zh.md +10 -0
- package/dist/agent-skills/glm-skills/ASR/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/ASR/SKILL.md +580 -0
- package/dist/agent-skills/glm-skills/ASR/scripts/asr.ts +27 -0
- package/dist/agent-skills/glm-skills/LLM/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/LLM/SKILL.md +856 -0
- package/dist/agent-skills/glm-skills/LLM/scripts/chat.ts +32 -0
- package/dist/agent-skills/glm-skills/TTS/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/TTS/SKILL.md +735 -0
- package/dist/agent-skills/glm-skills/TTS/tts.ts +25 -0
- package/dist/agent-skills/glm-skills/VLM/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/VLM/SKILL.md +588 -0
- package/dist/agent-skills/glm-skills/VLM/scripts/vlm.ts +57 -0
- package/dist/agent-skills/glm-skills/canvas-design/LICENSE.txt +202 -0
- package/dist/agent-skills/glm-skills/canvas-design/SKILL.md +130 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/dist/agent-skills/glm-skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/LICENSE.txt +30 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/SKILL.md +197 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/docx-js.md +350 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/ooxml.md +610 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/__init__.py +1 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/document.py +1276 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/dist/agent-skills/glm-skills/document-skills/docx/scripts/utilities.py +374 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/LICENSE.txt +30 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/SKILL.md +294 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/forms.md +205 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/reference.md +612 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/dist/agent-skills/glm-skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/LICENSE.txt +30 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/SKILL.md +484 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/html2pptx.md +625 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/ooxml.md +427 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/scripts/replace.py +385 -0
- package/dist/agent-skills/glm-skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/dist/agent-skills/glm-skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/dist/agent-skills/glm-skills/document-skills/xlsx/SKILL.md +289 -0
- package/dist/agent-skills/glm-skills/document-skills/xlsx/recalc.py +178 -0
- package/dist/agent-skills/glm-skills/frontend-design/LICENSE +21 -0
- package/dist/agent-skills/glm-skills/frontend-design/OPTIMIZATION_SUMMARY.md +442 -0
- package/dist/agent-skills/glm-skills/frontend-design/README.md +287 -0
- package/dist/agent-skills/glm-skills/frontend-design/SKILL.md +981 -0
- package/dist/agent-skills/glm-skills/frontend-design/examples/css/components.css +842 -0
- package/dist/agent-skills/glm-skills/frontend-design/examples/css/tokens.css +525 -0
- package/dist/agent-skills/glm-skills/frontend-design/examples/typescript/design-tokens.ts +616 -0
- package/dist/agent-skills/glm-skills/frontend-design/examples/typescript/sample-components.tsx +685 -0
- package/dist/agent-skills/glm-skills/frontend-design/examples/typescript/theme-provider.tsx +399 -0
- package/dist/agent-skills/glm-skills/frontend-design/examples/typescript/utils.ts +354 -0
- package/dist/agent-skills/glm-skills/frontend-design/package.json +44 -0
- package/dist/agent-skills/glm-skills/frontend-design/templates/globals.css +385 -0
- package/dist/agent-skills/glm-skills/frontend-design/templates/tailwind.config.js +263 -0
- package/dist/agent-skills/glm-skills/image-generation/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/image-generation/SKILL.md +583 -0
- package/dist/agent-skills/glm-skills/image-generation/scripts/image-generation.ts +28 -0
- package/dist/agent-skills/glm-skills/video-generation/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/video-generation/SKILL.md +936 -0
- package/dist/agent-skills/glm-skills/video-generation/scripts/video.ts +104 -0
- package/dist/agent-skills/glm-skills/web-reader/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/web-reader/SKILL.md +1140 -0
- package/dist/agent-skills/glm-skills/web-reader/scripts/web-reader.ts +37 -0
- package/dist/agent-skills/glm-skills/web-search/LICENSE.txt +21 -0
- package/dist/agent-skills/glm-skills/web-search/SKILL.md +912 -0
- package/dist/agent-skills/glm-skills/web-search/scripts/web_search.ts +44 -0
- package/dist/agent-skills/openai-skills/docs/render_docx.py +274 -0
- package/dist/agent-skills/openai-skills/docs/skill.md +33 -0
- package/dist/agent-skills/openai-skills/pdfs/skill.md +29 -0
- package/dist/agent-skills/openai-skills/spreadsheets/artifact_tool_spreadsheet_formulas.md +531 -0
- package/dist/agent-skills/openai-skills/spreadsheets/artifact_tool_spreadsheets_api.md +1187 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/create_basic_spreadsheet.py +102 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/create_spreadsheet_with_styling.py +199 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/change_existing_charts.py +26 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/cite_cells.py +41 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/create_area_chart.py +53 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/create_bar_chart.py +66 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/create_doughnut_chart.py +57 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/create_line_chart.py +53 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/create_pie_chart.py +55 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/create_tables.py +51 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_cell_borders.py +111 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_cell_fills.py +69 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_cell_width_height.py +52 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_conditional_formatting.py +297 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_font_styles.py +80 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_merge_cells.py +43 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_number_formats.py +130 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_text_alignment.py +78 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/features/set_wrap_text_styles.py +102 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/read_existing_spreadsheet.py +90 -0
- package/dist/agent-skills/openai-skills/spreadsheets/examples/styling_spreadsheet.py +73 -0
- package/dist/agent-skills/openai-skills/spreadsheets/skill.md +135 -0
- package/dist/agent-skills/openai-skills/spreadsheets/spreadsheet.md +464 -0
- package/dist/anthropipc-official-skills/.claude-plugin/marketplace.json +45 -0
- package/dist/anthropipc-official-skills/README.md +94 -0
- package/dist/anthropipc-official-skills/THIRD_PARTY_NOTICES.md +405 -0
- package/dist/anthropipc-official-skills/skills/algorithmic-art/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/algorithmic-art/SKILL.md +405 -0
- package/dist/anthropipc-official-skills/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/dist/anthropipc-official-skills/skills/algorithmic-art/templates/viewer.html +599 -0
- package/dist/anthropipc-official-skills/skills/brand-guidelines/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/brand-guidelines/SKILL.md +73 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/SKILL.md +130 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/dist/anthropipc-official-skills/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/dist/anthropipc-official-skills/skills/doc-coauthoring/SKILL.md +375 -0
- package/dist/anthropipc-official-skills/skills/docx/LICENSE.txt +30 -0
- package/dist/anthropipc-official-skills/skills/docx/SKILL.md +197 -0
- package/dist/anthropipc-official-skills/skills/docx/docx-js.md +350 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/pack.py +159 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/validate.py +69 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/dist/anthropipc-official-skills/skills/docx/ooxml.md +610 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/__init__.py +1 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/document.py +1276 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/templates/comments.xml +3 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/templates/people.xml +3 -0
- package/dist/anthropipc-official-skills/skills/docx/scripts/utilities.py +374 -0
- package/dist/anthropipc-official-skills/skills/frontend-design/LICENSE.txt +177 -0
- package/dist/anthropipc-official-skills/skills/frontend-design/SKILL.md +42 -0
- package/dist/anthropipc-official-skills/skills/internal-comms/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/internal-comms/SKILL.md +32 -0
- package/dist/anthropipc-official-skills/skills/internal-comms/examples/3p-updates.md +47 -0
- package/dist/anthropipc-official-skills/skills/internal-comms/examples/company-newsletter.md +65 -0
- package/dist/anthropipc-official-skills/skills/internal-comms/examples/faq-answers.md +30 -0
- package/dist/anthropipc-official-skills/skills/internal-comms/examples/general-comms.md +16 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/SKILL.md +236 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/reference/evaluation.md +602 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/scripts/connections.py +151 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/dist/anthropipc-official-skills/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/dist/anthropipc-official-skills/skills/pdf/LICENSE.txt +30 -0
- package/dist/anthropipc-official-skills/skills/pdf/SKILL.md +294 -0
- package/dist/anthropipc-official-skills/skills/pdf/forms.md +205 -0
- package/dist/anthropipc-official-skills/skills/pdf/reference.md +612 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/create_validation_image.py +41 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/dist/anthropipc-official-skills/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/dist/anthropipc-official-skills/skills/pptx/LICENSE.txt +30 -0
- package/dist/anthropipc-official-skills/skills/pptx/SKILL.md +484 -0
- package/dist/anthropipc-official-skills/skills/pptx/html2pptx.md +625 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/dist/anthropipc-official-skills/skills/pptx/ooxml.md +427 -0
- package/dist/anthropipc-official-skills/skills/pptx/scripts/html2pptx.js +979 -0
- package/dist/anthropipc-official-skills/skills/pptx/scripts/inventory.py +1020 -0
- package/dist/anthropipc-official-skills/skills/pptx/scripts/rearrange.py +231 -0
- package/dist/anthropipc-official-skills/skills/pptx/scripts/replace.py +385 -0
- package/dist/anthropipc-official-skills/skills/pptx/scripts/thumbnail.py +450 -0
- package/dist/anthropipc-official-skills/skills/skill-creator/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/skill-creator/SKILL.md +356 -0
- package/dist/anthropipc-official-skills/skills/skill-creator/references/output-patterns.md +82 -0
- package/dist/anthropipc-official-skills/skills/skill-creator/references/workflows.md +28 -0
- package/dist/anthropipc-official-skills/skills/skill-creator/scripts/init_skill.py +303 -0
- package/dist/anthropipc-official-skills/skills/skill-creator/scripts/package_skill.py +110 -0
- package/dist/anthropipc-official-skills/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/dist/anthropipc-official-skills/skills/slack-gif-creator/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/slack-gif-creator/SKILL.md +254 -0
- package/dist/anthropipc-official-skills/skills/slack-gif-creator/core/easing.py +234 -0
- package/dist/anthropipc-official-skills/skills/slack-gif-creator/core/frame_composer.py +176 -0
- package/dist/anthropipc-official-skills/skills/slack-gif-creator/core/gif_builder.py +269 -0
- package/dist/anthropipc-official-skills/skills/slack-gif-creator/core/validators.py +136 -0
- package/dist/anthropipc-official-skills/skills/slack-gif-creator/requirements.txt +4 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/SKILL.md +59 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/theme-showcase.pdf +0 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/desert-rose.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/golden-hour.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/dist/anthropipc-official-skills/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/dist/anthropipc-official-skills/skills/web-artifacts-builder/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/web-artifacts-builder/SKILL.md +74 -0
- package/dist/anthropipc-official-skills/skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/dist/anthropipc-official-skills/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
- package/dist/anthropipc-official-skills/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/dist/anthropipc-official-skills/skills/webapp-testing/LICENSE.txt +202 -0
- package/dist/anthropipc-official-skills/skills/webapp-testing/SKILL.md +96 -0
- package/dist/anthropipc-official-skills/skills/webapp-testing/examples/console_logging.py +35 -0
- package/dist/anthropipc-official-skills/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/dist/anthropipc-official-skills/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/dist/anthropipc-official-skills/skills/webapp-testing/scripts/with_server.py +106 -0
- package/dist/anthropipc-official-skills/skills/xlsx/LICENSE.txt +30 -0
- package/dist/anthropipc-official-skills/skills/xlsx/SKILL.md +289 -0
- package/dist/anthropipc-official-skills/skills/xlsx/recalc.py +178 -0
- package/dist/anthropipc-official-skills/spec/agent-skills-spec.md +3 -0
- package/dist/anthropipc-official-skills/template/SKILL.md +6 -0
- package/dist/awesome-claude-skills/.claude-plugin/marketplace.json +180 -0
- package/dist/awesome-claude-skills/CONTRIBUTING.md +185 -0
- package/dist/awesome-claude-skills/README.md +355 -0
- package/dist/awesome-claude-skills/artifacts-builder/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/artifacts-builder/SKILL.md +74 -0
- package/dist/awesome-claude-skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/dist/awesome-claude-skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/dist/awesome-claude-skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/dist/awesome-claude-skills/brand-guidelines/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/brand-guidelines/SKILL.md +73 -0
- package/dist/awesome-claude-skills/canvas-design/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/canvas-design/SKILL.md +130 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/dist/awesome-claude-skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/dist/awesome-claude-skills/changelog-generator/SKILL.md +104 -0
- package/dist/awesome-claude-skills/competitive-ads-extractor/SKILL.md +293 -0
- package/dist/awesome-claude-skills/connect/SKILL.md +156 -0
- package/dist/awesome-claude-skills/connect-apps/SKILL.md +80 -0
- package/dist/awesome-claude-skills/connect-apps-plugin/.claude-plugin/plugin.json +8 -0
- package/dist/awesome-claude-skills/connect-apps-plugin/README.md +47 -0
- package/dist/awesome-claude-skills/connect-apps-plugin/commands/setup.md +67 -0
- package/dist/awesome-claude-skills/content-research-writer/SKILL.md +538 -0
- package/dist/awesome-claude-skills/developer-growth-analysis/SKILL.md +322 -0
- package/dist/awesome-claude-skills/document-skills/docx/LICENSE.txt +30 -0
- package/dist/awesome-claude-skills/document-skills/docx/SKILL.md +197 -0
- package/dist/awesome-claude-skills/document-skills/docx/docx-js.md +350 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/dist/awesome-claude-skills/document-skills/docx/ooxml.md +610 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/__init__.py +1 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/document.py +1276 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/dist/awesome-claude-skills/document-skills/docx/scripts/utilities.py +374 -0
- package/dist/awesome-claude-skills/document-skills/pdf/LICENSE.txt +30 -0
- package/dist/awesome-claude-skills/document-skills/pdf/SKILL.md +294 -0
- package/dist/awesome-claude-skills/document-skills/pdf/forms.md +205 -0
- package/dist/awesome-claude-skills/document-skills/pdf/reference.md +612 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/dist/awesome-claude-skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/dist/awesome-claude-skills/document-skills/pptx/LICENSE.txt +30 -0
- package/dist/awesome-claude-skills/document-skills/pptx/SKILL.md +484 -0
- package/dist/awesome-claude-skills/document-skills/pptx/html2pptx.md +625 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/dist/awesome-claude-skills/document-skills/pptx/ooxml.md +427 -0
- package/dist/awesome-claude-skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/dist/awesome-claude-skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/dist/awesome-claude-skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/dist/awesome-claude-skills/document-skills/pptx/scripts/replace.py +385 -0
- package/dist/awesome-claude-skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/dist/awesome-claude-skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/dist/awesome-claude-skills/document-skills/xlsx/SKILL.md +289 -0
- package/dist/awesome-claude-skills/document-skills/xlsx/recalc.py +178 -0
- package/dist/awesome-claude-skills/domain-name-brainstormer/SKILL.md +212 -0
- package/dist/awesome-claude-skills/file-organizer/SKILL.md +433 -0
- package/dist/awesome-claude-skills/image-enhancer/SKILL.md +99 -0
- package/dist/awesome-claude-skills/internal-comms/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/internal-comms/SKILL.md +32 -0
- package/dist/awesome-claude-skills/internal-comms/examples/3p-updates.md +47 -0
- package/dist/awesome-claude-skills/internal-comms/examples/company-newsletter.md +65 -0
- package/dist/awesome-claude-skills/internal-comms/examples/faq-answers.md +30 -0
- package/dist/awesome-claude-skills/internal-comms/examples/general-comms.md +16 -0
- package/dist/awesome-claude-skills/invoice-organizer/SKILL.md +446 -0
- package/dist/awesome-claude-skills/langsmith-fetch/SKILL.md +485 -0
- package/dist/awesome-claude-skills/lead-research-assistant/SKILL.md +199 -0
- package/dist/awesome-claude-skills/mcp-builder/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/mcp-builder/SKILL.md +328 -0
- package/dist/awesome-claude-skills/mcp-builder/reference/evaluation.md +602 -0
- package/dist/awesome-claude-skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/dist/awesome-claude-skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/dist/awesome-claude-skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/dist/awesome-claude-skills/mcp-builder/scripts/connections.py +151 -0
- package/dist/awesome-claude-skills/mcp-builder/scripts/evaluation.py +373 -0
- package/dist/awesome-claude-skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/dist/awesome-claude-skills/mcp-builder/scripts/requirements.txt +2 -0
- package/dist/awesome-claude-skills/meeting-insights-analyzer/SKILL.md +327 -0
- package/dist/awesome-claude-skills/raffle-winner-picker/SKILL.md +159 -0
- package/dist/awesome-claude-skills/skill-creator/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/skill-creator/SKILL.md +209 -0
- package/dist/awesome-claude-skills/skill-creator/scripts/init_skill.py +303 -0
- package/dist/awesome-claude-skills/skill-creator/scripts/package_skill.py +110 -0
- package/dist/awesome-claude-skills/skill-creator/scripts/quick_validate.py +65 -0
- package/dist/awesome-claude-skills/skill-share/SKILL.md +80 -0
- package/dist/awesome-claude-skills/slack-gif-creator/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/slack-gif-creator/SKILL.md +646 -0
- package/dist/awesome-claude-skills/slack-gif-creator/core/color_palettes.py +302 -0
- package/dist/awesome-claude-skills/slack-gif-creator/core/easing.py +230 -0
- package/dist/awesome-claude-skills/slack-gif-creator/core/frame_composer.py +469 -0
- package/dist/awesome-claude-skills/slack-gif-creator/core/gif_builder.py +246 -0
- package/dist/awesome-claude-skills/slack-gif-creator/core/typography.py +357 -0
- package/dist/awesome-claude-skills/slack-gif-creator/core/validators.py +264 -0
- package/dist/awesome-claude-skills/slack-gif-creator/core/visual_effects.py +494 -0
- package/dist/awesome-claude-skills/slack-gif-creator/requirements.txt +4 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/bounce.py +106 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/explode.py +331 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/fade.py +329 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/flip.py +291 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/morph.py +329 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/move.py +293 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/pulse.py +268 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/shake.py +127 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/slide.py +291 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/spin.py +269 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/wiggle.py +300 -0
- package/dist/awesome-claude-skills/slack-gif-creator/templates/zoom.py +312 -0
- package/dist/awesome-claude-skills/tailored-resume-generator/SKILL.md +345 -0
- package/dist/awesome-claude-skills/template-skill/SKILL.md +6 -0
- package/dist/awesome-claude-skills/theme-factory/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/theme-factory/SKILL.md +59 -0
- package/dist/awesome-claude-skills/theme-factory/theme-showcase.pdf +0 -0
- package/dist/awesome-claude-skills/theme-factory/themes/arctic-frost.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/botanical-garden.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/desert-rose.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/forest-canopy.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/golden-hour.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/ocean-depths.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/dist/awesome-claude-skills/theme-factory/themes/tech-innovation.md +19 -0
- package/dist/awesome-claude-skills/video-downloader/SKILL.md +99 -0
- package/dist/awesome-claude-skills/video-downloader/scripts/download_video.py +145 -0
- package/dist/awesome-claude-skills/webapp-testing/LICENSE.txt +202 -0
- package/dist/awesome-claude-skills/webapp-testing/SKILL.md +96 -0
- package/dist/awesome-claude-skills/webapp-testing/examples/console_logging.py +35 -0
- package/dist/awesome-claude-skills/webapp-testing/examples/element_discovery.py +40 -0
- package/dist/awesome-claude-skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/dist/awesome-claude-skills/webapp-testing/scripts/with_server.py +106 -0
- package/dist/claude-code-settings/.claude-plugin/marketplace.json +75 -0
- package/dist/claude-code-settings/.claude-plugin/plugin.json +22 -0
- package/dist/claude-code-settings/.github/copilot-instructions.md +96 -0
- package/dist/claude-code-settings/.mcp.json +12 -0
- package/dist/claude-code-settings/LICENSE +21 -0
- package/dist/claude-code-settings/README.md +478 -0
- package/dist/claude-code-settings/agents/command-creator.md +86 -0
- package/dist/claude-code-settings/agents/deep-reflector.md +115 -0
- package/dist/claude-code-settings/agents/github-issue-fixer.md +79 -0
- package/dist/claude-code-settings/agents/insight-documenter.md +104 -0
- package/dist/claude-code-settings/agents/instruction-reflector.md +81 -0
- package/dist/claude-code-settings/agents/pr-reviewer.md +104 -0
- package/dist/claude-code-settings/agents/ui-engineer.md +64 -0
- package/dist/claude-code-settings/commands/cc/create-command.md +96 -0
- package/dist/claude-code-settings/commands/eureka.md +103 -0
- package/dist/claude-code-settings/commands/gh/fix-issue.md +41 -0
- package/dist/claude-code-settings/commands/gh/review-pr.md +57 -0
- package/dist/claude-code-settings/commands/reflection-harder.md +177 -0
- package/dist/claude-code-settings/commands/reflection.md +65 -0
- package/dist/claude-code-settings/commands/think-harder.md +54 -0
- package/dist/claude-code-settings/commands/think-ultra.md +125 -0
- package/dist/claude-code-settings/commands/translate.md +30 -0
- package/dist/claude-code-settings/config.json +3 -0
- package/dist/claude-code-settings/guidances/github-copilot.md +70 -0
- package/dist/claude-code-settings/guidances/litellm_config.yaml +38 -0
- package/dist/claude-code-settings/guidances/llm-gateway-litellm.md +109 -0
- package/dist/claude-code-settings/plugins/autonomous-skill/.claude-plugin/plugin.json +19 -0
- package/dist/claude-code-settings/plugins/autonomous-skill/skills/autonomous-skill/SKILL.md +264 -0
- package/dist/claude-code-settings/plugins/autonomous-skill/skills/autonomous-skill/scripts/run-session.sh +455 -0
- package/dist/claude-code-settings/plugins/autonomous-skill/skills/autonomous-skill/templates/executor-prompt.md +274 -0
- package/dist/claude-code-settings/plugins/autonomous-skill/skills/autonomous-skill/templates/initializer-prompt.md +199 -0
- package/dist/claude-code-settings/plugins/autonomous-skill/skills/autonomous-skill/templates/task-list-template.md +107 -0
- package/dist/claude-code-settings/plugins/codex-skill/.claude-plugin/plugin.json +19 -0
- package/dist/claude-code-settings/plugins/codex-skill/skills/codex-skill/SKILL.md +430 -0
- package/dist/claude-code-settings/plugins/kiro-skill/.claude-plugin/plugin.json +21 -0
- package/dist/claude-code-settings/plugins/kiro-skill/commands/kiro/design.md +81 -0
- package/dist/claude-code-settings/plugins/kiro-skill/commands/kiro/execute.md +82 -0
- package/dist/claude-code-settings/plugins/kiro-skill/commands/kiro/spec.md +400 -0
- package/dist/claude-code-settings/plugins/kiro-skill/commands/kiro/task.md +113 -0
- package/dist/claude-code-settings/plugins/kiro-skill/commands/kiro/vibe.md +63 -0
- package/dist/claude-code-settings/plugins/kiro-skill/skills/kiro-skill/SKILL.md +496 -0
- package/dist/claude-code-settings/plugins/kiro-skill/skills/kiro-skill/helpers/kiro-identity.md +77 -0
- package/dist/claude-code-settings/plugins/kiro-skill/skills/kiro-skill/helpers/workflow-diagrams.md +154 -0
- package/dist/claude-code-settings/plugins/nanobanana-skill/.claude-plugin/plugin.json +19 -0
- package/dist/claude-code-settings/plugins/nanobanana-skill/skills/nanobanana-skill/SKILL.md +136 -0
- package/dist/claude-code-settings/plugins/nanobanana-skill/skills/nanobanana-skill/nanobanana.py +153 -0
- package/dist/claude-code-settings/plugins/nanobanana-skill/skills/nanobanana-skill/requirements.txt +4 -0
- package/dist/claude-code-settings/plugins/spec-kit-skill/.claude-plugin/plugin.json +20 -0
- package/dist/claude-code-settings/plugins/spec-kit-skill/skills/spec-kit-skill/SKILL.md +900 -0
- package/dist/claude-code-settings/plugins/spec-kit-skill/skills/spec-kit-skill/helpers/detection-logic.md +460 -0
- package/dist/claude-code-settings/plugins/spec-kit-skill/skills/spec-kit-skill/scripts/detect-phase.sh +263 -0
- package/dist/claude-code-settings/plugins/youtube-transcribe-skill/.claude-plugin/plugin.json +13 -0
- package/dist/claude-code-settings/plugins/youtube-transcribe-skill/skills/youtube-transcribe-skill/SKILL.md +116 -0
- package/dist/claude-code-settings/settings/README.md +52 -0
- package/dist/claude-code-settings/settings/azure-foundry-settings.json +32 -0
- package/dist/claude-code-settings/settings/azure-settings.json +33 -0
- package/dist/claude-code-settings/settings/copilot-settings.json +33 -0
- package/dist/claude-code-settings/settings/deepseek-settings.json +31 -0
- package/dist/claude-code-settings/settings/litellm-settings.json +33 -0
- package/dist/claude-code-settings/settings/minimax.json +30 -0
- package/dist/claude-code-settings/settings/openrouter-settings.json +33 -0
- package/dist/claude-code-settings/settings/qwen-settings.json +30 -0
- package/dist/claude-code-settings/settings/siliconflow-settings.json +10 -0
- package/dist/claude-code-settings/settings/vertex-settings.json +11 -0
- package/dist/claude-code-settings/settings.json +33 -0
- package/dist/claude-code-settings/skills/autonomous-skill +1 -0
- package/dist/claude-code-settings/skills/codex-skill +1 -0
- package/dist/claude-code-settings/skills/kiro-skill +1 -0
- package/dist/claude-code-settings/skills/nanobanana-skill +1 -0
- package/dist/claude-code-settings/skills/spec-kit-skill +1 -0
- package/dist/claude-code-settings/skills/youtube-transcribe-skill +1 -0
- package/dist/claude-code-settings/status-line.sh +203 -0
- package/dist/claude-code-skills/About.md +565 -0
- package/dist/claude-code-skills/Detail.md +339 -0
- package/dist/claude-code-skills/agent-skills-architecture.png +0 -0
- package/dist/claude-code-skills/agent-skills-context-window.png +0 -0
- package/dist/ui-ux-pro-max-skill/.agent/workflows/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/SKILL.md +386 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/scripts/core.py +258 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/.claude/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/.claude-plugin/marketplace.json +35 -0
- package/dist/ui-ux-pro-max-skill/.codebuddy/commands/ui-ux-pro-max.md +236 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/ui-reasoning.csv +41 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/scripts/core.py +245 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/.codex/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/.cursor/commands/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/.gemini/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/.github/prompts/ui-ux-pro-max.prompt.md +263 -0
- package/dist/ui-ux-pro-max-skill/.kiro/steering/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/.opencode/skills/ui-ux-pro-max/SKILL.md +253 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/charts.md +31 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/color.md +102 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/flutter.md +58 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/html-tailwind.md +62 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/icons.md +106 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/loading.md +36 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/nextjs.md +59 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/nuxt-ui.md +57 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/nuxtjs.md +65 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/products.md +102 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/prompts.md +29 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/react-native.md +58 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/react.md +60 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/shadcn.md +66 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/styles.md +64 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/svelte.md +60 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/swiftui.md +57 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/typography.md +63 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/ui-ux-pro-max.md +231 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/ux-guideline.md +106 -0
- package/dist/ui-ux-pro-max-skill/.qoder/rules/vue.md +57 -0
- package/dist/ui-ux-pro-max-skill/.qoder/skills/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/.roo/commands/ui-ux-pro-max.md +227 -0
- package/dist/ui-ux-pro-max-skill/.roo/rules/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/ui-reasoning.csv +41 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/scripts/core.py +245 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/.trae/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/.windsurf/workflows/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/CLAUDE.md +72 -0
- package/dist/ui-ux-pro-max-skill/LICENSE +21 -0
- package/dist/ui-ux-pro-max-skill/README.md +403 -0
- package/dist/ui-ux-pro-max-skill/cli/README.md +62 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.agent/workflows/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/SKILL.md +386 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/scripts/core.py +258 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/ui-reasoning.csv +41 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/scripts/core.py +245 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.cursor/commands/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.gemini/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.github/prompts/ui-ux-pro-max.prompt.md +263 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.kiro/steering/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.opencode/skills/ui-ux-pro-max/SKILL.md +253 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.qoder/rules/ui-ux-pro-max.md +231 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.qoder/skills/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.roo/commands/ui-ux-pro-max.md +227 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.roo/rules/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/ui-reasoning.csv +41 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/scripts/core.py +245 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/scripts/design_system.py +1066 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.trae/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/dist/ui-ux-pro-max-skill/cli/assets/.windsurf/workflows/ui-ux-pro-max.md +288 -0
- package/dist/ui-ux-pro-max-skill/cli/bun.lock +77 -0
- package/dist/ui-ux-pro-max-skill/cli/package-lock.json +370 -0
- package/dist/ui-ux-pro-max-skill/cli/package.json +48 -0
- package/dist/ui-ux-pro-max-skill/cli/src/commands/init.ts +174 -0
- package/dist/ui-ux-pro-max-skill/cli/src/commands/update.ts +36 -0
- package/dist/ui-ux-pro-max-skill/cli/src/commands/versions.ts +42 -0
- package/dist/ui-ux-pro-max-skill/cli/src/index.ts +56 -0
- package/dist/ui-ux-pro-max-skill/cli/src/types/index.ts +38 -0
- package/dist/ui-ux-pro-max-skill/cli/src/utils/detect.ts +90 -0
- package/dist/ui-ux-pro-max-skill/cli/src/utils/extract.ts +149 -0
- package/dist/ui-ux-pro-max-skill/cli/src/utils/github.ts +104 -0
- package/dist/ui-ux-pro-max-skill/cli/src/utils/logger.ts +11 -0
- package/dist/ui-ux-pro-max-skill/cli/tsconfig.json +17 -0
- package/dist/ui-ux-pro-max-skill/screenshots/website.png +0 -0
- package/package.json +23 -0
package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/nextjs.csv
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Routing,Use App Router for new projects,App Router is the recommended approach in Next.js 14+,app/ directory with page.tsx,pages/ for new projects,app/dashboard/page.tsx,pages/dashboard.tsx,Medium,https://nextjs.org/docs/app
|
|
3
|
+
2,Routing,Use file-based routing,Create routes by adding files in app directory,page.tsx for routes layout.tsx for layouts,Manual route configuration,app/blog/[slug]/page.tsx,Custom router setup,Medium,https://nextjs.org/docs/app/building-your-application/routing
|
|
4
|
+
3,Routing,Colocate related files,Keep components styles tests with their routes,Component files alongside page.tsx,Separate components folder,app/dashboard/_components/,components/dashboard/,Low,
|
|
5
|
+
4,Routing,Use route groups for organization,Group routes without affecting URL,Parentheses for route groups,Nested folders affecting URL,(marketing)/about/page.tsx,marketing/about/page.tsx,Low,https://nextjs.org/docs/app/building-your-application/routing/route-groups
|
|
6
|
+
5,Routing,Handle loading states,Use loading.tsx for route loading UI,loading.tsx alongside page.tsx,Manual loading state management,app/dashboard/loading.tsx,useState for loading in page,Medium,https://nextjs.org/docs/app/building-your-application/routing/loading-ui-and-streaming
|
|
7
|
+
6,Routing,Handle errors with error.tsx,Catch errors at route level,error.tsx with reset function,try/catch in every component,app/dashboard/error.tsx,try/catch in page component,High,https://nextjs.org/docs/app/building-your-application/routing/error-handling
|
|
8
|
+
7,Rendering,Use Server Components by default,Server Components reduce client JS bundle,Keep components server by default,Add 'use client' unnecessarily,export default function Page(),('use client') for static content,High,https://nextjs.org/docs/app/building-your-application/rendering/server-components
|
|
9
|
+
8,Rendering,Mark Client Components explicitly,'use client' for interactive components,Add 'use client' only when needed,Server Component with hooks/events,('use client') for onClick useState,No directive with useState,High,https://nextjs.org/docs/app/building-your-application/rendering/client-components
|
|
10
|
+
9,Rendering,Push Client Components down,Keep Client Components as leaf nodes,Client wrapper for interactive parts only,Mark page as Client Component,<InteractiveButton/> in Server Page,('use client') on page.tsx,High,
|
|
11
|
+
10,Rendering,Use streaming for better UX,Stream content with Suspense boundaries,Suspense for slow data fetches,Wait for all data before render,<Suspense><SlowComponent/></Suspense>,await allData then render,Medium,https://nextjs.org/docs/app/building-your-application/routing/loading-ui-and-streaming
|
|
12
|
+
11,Rendering,Choose correct rendering strategy,SSG for static SSR for dynamic ISR for semi-static,generateStaticParams for known paths,SSR for static content,export const revalidate = 3600,fetch without cache config,Medium,
|
|
13
|
+
12,DataFetching,Fetch data in Server Components,Fetch directly in async Server Components,async function Page() { const data = await fetch() },useEffect for initial data,const data = await fetch(url),useEffect(() => fetch(url)),High,https://nextjs.org/docs/app/building-your-application/data-fetching
|
|
14
|
+
13,DataFetching,Configure caching explicitly (Next.js 15+),Next.js 15 changed defaults to uncached for fetch,Explicitly set cache: 'force-cache' for static data,Assume default is cached (it's not in Next.js 15),fetch(url { cache: 'force-cache' }),fetch(url) // Uncached in v15,High,https://nextjs.org/docs/app/building-your-application/upgrading/version-15
|
|
15
|
+
14,DataFetching,Deduplicate fetch requests,React and Next.js dedupe same requests,Same fetch call in multiple components,Manual request deduplication,Multiple components fetch same URL,Custom cache layer,Low,
|
|
16
|
+
15,DataFetching,Use Server Actions for mutations,Server Actions for form submissions,action={serverAction} in forms,API route for every mutation,<form action={createPost}>,<form onSubmit={callApiRoute}>,Medium,https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations
|
|
17
|
+
16,DataFetching,Revalidate data appropriately,Use revalidatePath/revalidateTag after mutations,Revalidate after Server Action,'use client' with manual refetch,revalidatePath('/posts'),router.refresh() everywhere,Medium,https://nextjs.org/docs/app/building-your-application/caching#revalidating
|
|
18
|
+
17,Images,Use next/image for optimization,Automatic image optimization and lazy loading,<Image> component for all images,<img> tags directly,<Image src={} alt={} width={} height={}>,<img src={}/>,High,https://nextjs.org/docs/app/building-your-application/optimizing/images
|
|
19
|
+
18,Images,Provide width and height,Prevent layout shift with dimensions,width and height props or fill,Missing dimensions,<Image width={400} height={300}/>,<Image src={url}/>,High,
|
|
20
|
+
19,Images,Use fill for responsive images,Fill container with object-fit,fill prop with relative parent,Fixed dimensions for responsive,"<Image fill className=""object-cover""/>",<Image width={window.width}/>,Medium,
|
|
21
|
+
20,Images,Configure remote image domains,Whitelist external image sources,remotePatterns in next.config.js,Allow all domains,remotePatterns: [{ hostname: 'cdn.example.com' }],domains: ['*'],High,https://nextjs.org/docs/app/api-reference/components/image#remotepatterns
|
|
22
|
+
21,Images,Use priority for LCP images,Mark above-fold images as priority,priority prop on hero images,All images with priority,<Image priority src={hero}/>,<Image priority/> on every image,Medium,
|
|
23
|
+
22,Fonts,Use next/font for fonts,Self-hosted fonts with zero layout shift,next/font/google or next/font/local,External font links,import { Inter } from 'next/font/google',"<link href=""fonts.googleapis.com""/>",Medium,https://nextjs.org/docs/app/building-your-application/optimizing/fonts
|
|
24
|
+
23,Fonts,Apply font to layout,Set font in root layout for consistency,className on body in layout.tsx,Font in individual pages,<body className={inter.className}>,Each page imports font,Low,
|
|
25
|
+
24,Fonts,Use variable fonts,Variable fonts reduce bundle size,Single variable font file,Multiple font weights as files,Inter({ subsets: ['latin'] }),Inter_400 Inter_500 Inter_700,Low,
|
|
26
|
+
25,Metadata,Use generateMetadata for dynamic,Generate metadata based on params,export async function generateMetadata(),Hardcoded metadata everywhere,generateMetadata({ params }),export const metadata = {},Medium,https://nextjs.org/docs/app/building-your-application/optimizing/metadata
|
|
27
|
+
26,Metadata,Include OpenGraph images,Add OG images for social sharing,opengraph-image.tsx or og property,Missing social preview images,opengraph: { images: ['/og.png'] },No OG configuration,Medium,
|
|
28
|
+
27,Metadata,Use metadata API,Export metadata object for static metadata,export const metadata = {},Manual head tags,export const metadata = { title: 'Page' },<head><title>Page</title></head>,Medium,
|
|
29
|
+
28,API,Use Route Handlers for APIs,app/api routes for API endpoints,app/api/users/route.ts,pages/api for new projects,export async function GET(request),export default function handler,Medium,https://nextjs.org/docs/app/building-your-application/routing/route-handlers
|
|
30
|
+
29,API,Return proper Response objects,Use NextResponse for API responses,NextResponse.json() for JSON,Plain objects or res.json(),return NextResponse.json({ data }),return { data },Medium,
|
|
31
|
+
30,API,Handle HTTP methods explicitly,Export named functions for methods,Export GET POST PUT DELETE,Single handler for all methods,export async function POST(),switch(req.method),Low,
|
|
32
|
+
31,API,Validate request body,Validate input before processing,Zod or similar for validation,Trust client input,const body = schema.parse(await req.json()),const body = await req.json(),High,
|
|
33
|
+
32,Middleware,Use middleware for auth,Protect routes with middleware.ts,middleware.ts at root,Auth check in every page,export function middleware(request),if (!session) redirect in page,Medium,https://nextjs.org/docs/app/building-your-application/routing/middleware
|
|
34
|
+
33,Middleware,Match specific paths,Configure middleware matcher,config.matcher for specific routes,Run middleware on all routes,matcher: ['/dashboard/:path*'],No matcher config,Medium,
|
|
35
|
+
34,Middleware,Keep middleware edge-compatible,Middleware runs on Edge runtime,Edge-compatible code only,Node.js APIs in middleware,Edge-compatible auth check,fs.readFile in middleware,High,
|
|
36
|
+
35,Environment,Use NEXT_PUBLIC prefix,Client-accessible env vars need prefix,NEXT_PUBLIC_ for client vars,Server vars exposed to client,NEXT_PUBLIC_API_URL,API_SECRET in client code,High,https://nextjs.org/docs/app/building-your-application/configuring/environment-variables
|
|
37
|
+
36,Environment,Validate env vars,Check required env vars exist,Validate on startup,Undefined env at runtime,if (!process.env.DATABASE_URL) throw,process.env.DATABASE_URL (might be undefined),High,
|
|
38
|
+
37,Environment,Use .env.local for secrets,Local env file for development secrets,.env.local gitignored,Secrets in .env committed,.env.local with secrets,.env with DATABASE_PASSWORD,High,
|
|
39
|
+
38,Performance,Analyze bundle size,Use @next/bundle-analyzer,Bundle analyzer in dev,Ship large bundles blindly,ANALYZE=true npm run build,No bundle analysis,Medium,https://nextjs.org/docs/app/building-your-application/optimizing/bundle-analyzer
|
|
40
|
+
39,Performance,Use dynamic imports,Code split with next/dynamic,dynamic() for heavy components,Import everything statically,const Chart = dynamic(() => import('./Chart')),import Chart from './Chart',Medium,https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading
|
|
41
|
+
40,Performance,Avoid layout shifts,Reserve space for dynamic content,Skeleton loaders aspect ratios,Content popping in,"<Skeleton className=""h-48""/>",No placeholder for async content,High,
|
|
42
|
+
41,Performance,Use Partial Prerendering,Combine static and dynamic in one route,Static shell with Suspense holes,Full dynamic or static pages,Static header + dynamic content,Entire page SSR,Low,https://nextjs.org/docs/app/building-your-application/rendering/partial-prerendering
|
|
43
|
+
42,Link,Use next/link for navigation,Client-side navigation with prefetching,"<Link href=""""> for internal links",<a> for internal navigation,"<Link href=""/about"">About</Link>","<a href=""/about"">About</a>",High,https://nextjs.org/docs/app/api-reference/components/link
|
|
44
|
+
43,Link,Prefetch strategically,Control prefetching behavior,prefetch={false} for low-priority,Prefetch all links,<Link prefetch={false}>,Default prefetch on every link,Low,
|
|
45
|
+
44,Link,Use scroll option appropriately,Control scroll behavior on navigation,scroll={false} for tabs pagination,Always scroll to top,<Link scroll={false}>,Manual scroll management,Low,
|
|
46
|
+
45,Config,Use next.config.js correctly,Configure Next.js behavior,Proper config options,Deprecated or wrong options,images: { remotePatterns: [] },images: { domains: [] },Medium,https://nextjs.org/docs/app/api-reference/next-config-js
|
|
47
|
+
46,Config,Enable strict mode,Catch potential issues early,reactStrictMode: true,Strict mode disabled,reactStrictMode: true,reactStrictMode: false,Medium,
|
|
48
|
+
47,Config,Configure redirects and rewrites,Use config for URL management,redirects() rewrites() in config,Manual redirect handling,redirects: async () => [...],res.redirect in pages,Medium,https://nextjs.org/docs/app/api-reference/next-config-js/redirects
|
|
49
|
+
48,Deployment,Use Vercel for easiest deploy,Vercel optimized for Next.js,Deploy to Vercel,Self-host without knowledge,vercel deploy,Complex Docker setup for simple app,Low,https://nextjs.org/docs/app/building-your-application/deploying
|
|
50
|
+
49,Deployment,Configure output for self-hosting,Set output option for deployment target,output: 'standalone' for Docker,Default output for containers,output: 'standalone',No output config for Docker,Medium,https://nextjs.org/docs/app/building-your-application/deploying#self-hosting
|
|
51
|
+
50,Security,Sanitize user input,Never trust user input,Escape sanitize validate all input,Direct interpolation of user data,DOMPurify.sanitize(userInput),dangerouslySetInnerHTML={{ __html: userInput }},High,
|
|
52
|
+
51,Security,Use CSP headers,Content Security Policy for XSS protection,Configure CSP in next.config.js,No security headers,headers() with CSP,No CSP configuration,High,https://nextjs.org/docs/app/building-your-application/configuring/content-security-policy
|
|
53
|
+
52,Security,Validate Server Action input,Server Actions are public endpoints,Validate and authorize in Server Action,Trust Server Action input,Auth check + validation in action,Direct database call without check,High,
|
package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Installation,Add Nuxt UI module,Install and configure Nuxt UI in your Nuxt project,pnpm add @nuxt/ui and add to modules,Manual component imports,"modules: ['@nuxt/ui']","import { UButton } from '@nuxt/ui'",High,https://ui.nuxt.com/docs/getting-started/installation/nuxt
|
|
3
|
+
2,Installation,Import Tailwind and Nuxt UI CSS,Required CSS imports in main.css file,@import tailwindcss and @import @nuxt/ui,Skip CSS imports,"@import ""tailwindcss""; @import ""@nuxt/ui"";",No CSS imports,High,https://ui.nuxt.com/docs/getting-started/installation/nuxt
|
|
4
|
+
3,Installation,Wrap app with UApp component,UApp provides global configs for Toast Tooltip and overlays,<UApp> wrapper in app.vue,Skip UApp wrapper,<UApp><NuxtPage/></UApp>,<NuxtPage/> without wrapper,High,https://ui.nuxt.com/docs/components/app
|
|
5
|
+
4,Components,Use U prefix for components,All Nuxt UI components use U prefix by default,UButton UInput UModal,Button Input Modal,<UButton>Click</UButton>,<Button>Click</Button>,Medium,https://ui.nuxt.com/docs/getting-started/installation/nuxt
|
|
6
|
+
5,Components,Use semantic color props,Use semantic colors like primary secondary error,color="primary" color="error",Hardcoded colors,"<UButton color=""primary"">","<UButton class=""bg-green-500"">",Medium,https://ui.nuxt.com/docs/getting-started/theme/design-system
|
|
7
|
+
6,Components,Use variant prop for styling,Nuxt UI provides solid outline soft subtle ghost link variants,variant="soft" variant="outline",Custom button classes,"<UButton variant=""soft"">","<UButton class=""border bg-transparent"">",Medium,https://ui.nuxt.com/docs/components/button
|
|
8
|
+
7,Components,Use size prop consistently,Components support xs sm md lg xl sizes,size="sm" size="lg",Arbitrary sizing classes,"<UButton size=""lg"">","<UButton class=""text-xl px-6"">",Low,https://ui.nuxt.com/docs/components/button
|
|
9
|
+
8,Icons,Use icon prop with Iconify format,Nuxt UI supports Iconify icons via icon prop,icon="lucide:home" icon="heroicons:user",i-lucide-home format,"<UButton icon=""lucide:home"">","<UButton icon=""i-lucide-home"">",Medium,https://ui.nuxt.com/docs/getting-started/integrations/icons/nuxt
|
|
10
|
+
9,Icons,Use leadingIcon and trailingIcon,Position icons with dedicated props for clarity,leadingIcon="lucide:plus" trailingIcon="lucide:arrow-right",Manual icon positioning,"<UButton leadingIcon=""lucide:plus"">","<UButton><Icon name=""lucide:plus""/>Add</UButton>",Low,https://ui.nuxt.com/docs/components/button
|
|
11
|
+
10,Theming,Configure colors in app.config.ts,Runtime color configuration without restart,ui.colors.primary in app.config.ts,Hardcoded colors in components,"defineAppConfig({ ui: { colors: { primary: 'blue' } } })","<UButton class=""bg-blue-500"">",High,https://ui.nuxt.com/docs/getting-started/theme/design-system
|
|
12
|
+
11,Theming,Use @theme directive for custom colors,Define design tokens in CSS with Tailwind @theme,@theme { --color-brand-500: #xxx },Inline color definitions,@theme { --color-brand-500: #ef4444; },:style="{ color: '#ef4444' }",Medium,https://ui.nuxt.com/docs/getting-started/theme/design-system
|
|
13
|
+
12,Theming,Extend semantic colors in nuxt.config,Register new colors like tertiary in theme.colors,theme.colors array in ui config,Use undefined colors,"ui: { theme: { colors: ['primary', 'tertiary'] } }","<UButton color=""tertiary""> without config",Medium,https://ui.nuxt.com/docs/getting-started/theme/design-system
|
|
14
|
+
13,Forms,Use UForm with schema validation,UForm supports Zod Yup Joi Valibot schemas,:schema prop with validation schema,Manual form validation,"<UForm :schema=""schema"" :state=""state"">",Manual @blur validation,High,https://ui.nuxt.com/docs/components/form
|
|
15
|
+
14,Forms,Use UFormField for field wrapper,Provides label error message and validation display,UFormField with name prop,Manual error handling,"<UFormField name=""email"" label=""Email"">",<div><label>Email</label><UInput/><span>error</span></div>,Medium,https://ui.nuxt.com/docs/components/form-field
|
|
16
|
+
15,Forms,Handle form submit with @submit,UForm emits submit event with validated data,@submit handler on UForm,@click on submit button,"<UForm @submit=""onSubmit"">","<UButton @click=""onSubmit"">",Medium,https://ui.nuxt.com/docs/components/form
|
|
17
|
+
16,Forms,Use validateOn prop for validation timing,Control when validation triggers (blur change input),validateOn="['blur']" for performance,Always validate on input,"<UForm :validateOn=""['blur', 'change']"">","<UForm> (validates on every keystroke)",Low,https://ui.nuxt.com/docs/components/form
|
|
18
|
+
17,Overlays,Use v-model:open for overlay control,Modal Slideover Drawer use v-model:open,v-model:open for controlled state,Manual show/hide logic,"<UModal v-model:open=""isOpen"">",<UModal v-if="isOpen">,Medium,https://ui.nuxt.com/docs/components/modal
|
|
19
|
+
18,Overlays,Use useOverlay composable for programmatic overlays,Open overlays programmatically without template refs,useOverlay().open(MyModal),Template ref and manual control,"const overlay = useOverlay(); overlay.open(MyModal, { props })","const modal = ref(); modal.value.open()",Medium,https://ui.nuxt.com/docs/components/modal
|
|
20
|
+
19,Overlays,Use title and description props,Built-in header support for overlays,title="Confirm" description="Are you sure?",Manual header content,"<UModal title=""Confirm"" description=""Are you sure?"">","<UModal><template #header><h2>Confirm</h2></template>",Low,https://ui.nuxt.com/docs/components/modal
|
|
21
|
+
20,Dashboard,Use UDashboardSidebar for navigation,Provides collapsible resizable sidebar with mobile support,UDashboardSidebar with header default footer slots,Custom sidebar implementation,<UDashboardSidebar><template #header>...</template></UDashboardSidebar>,<aside class="w-64 border-r">,Medium,https://ui.nuxt.com/docs/components/dashboard-sidebar
|
|
22
|
+
21,Dashboard,Use UDashboardGroup for layout,Wraps dashboard components with sidebar state management,UDashboardGroup > UDashboardSidebar + UDashboardPanel,Manual layout flex containers,<UDashboardGroup><UDashboardSidebar/><UDashboardPanel/></UDashboardGroup>,"<div class=""flex""><aside/><main/></div>",Medium,https://ui.nuxt.com/docs/components/dashboard-group
|
|
23
|
+
22,Dashboard,Use UDashboardNavbar for top navigation,Responsive navbar with mobile menu support,UDashboardNavbar in dashboard layout,Custom navbar implementation,<UDashboardNavbar :links="navLinks"/>,<nav class="border-b">,Low,https://ui.nuxt.com/docs/components/dashboard-navbar
|
|
24
|
+
23,Tables,Use UTable with data and columns props,Powered by TanStack Table with built-in features,:data and :columns props,Manual table markup,"<UTable :data=""users"" :columns=""columns""/>","<table><tr v-for=""user in users"">",High,https://ui.nuxt.com/docs/components/table
|
|
25
|
+
24,Tables,Define columns with accessorKey,Column definitions use accessorKey for data binding,accessorKey: 'email' in column def,String column names only,"{ accessorKey: 'email', header: 'Email' }","['name', 'email']",Medium,https://ui.nuxt.com/docs/components/table
|
|
26
|
+
25,Tables,Use cell slot for custom rendering,Customize cell content with scoped slots,#cell-columnName slot,Override entire table,<template #cell-status="{ row }">,Manual column render function,Medium,https://ui.nuxt.com/docs/components/table
|
|
27
|
+
26,Tables,Enable sorting with sortable column option,Add sortable: true to column definition,sortable: true in column,Manual sort implementation,"{ accessorKey: 'name', sortable: true }",@click="sortBy('name')",Low,https://ui.nuxt.com/docs/components/table
|
|
28
|
+
27,Navigation,Use UNavigationMenu for nav links,Horizontal or vertical navigation with dropdown support,UNavigationMenu with items array,Manual nav with v-for,"<UNavigationMenu :items=""navItems""/>","<nav><a v-for=""item in items"">",Medium,https://ui.nuxt.com/docs/components/navigation-menu
|
|
29
|
+
28,Navigation,Use UBreadcrumb for page hierarchy,Automatic breadcrumb with NuxtLink support,:items array with label and to,Manual breadcrumb links,"<UBreadcrumb :items=""breadcrumbs""/>","<nav><span v-for=""crumb in crumbs"">",Low,https://ui.nuxt.com/docs/components/breadcrumb
|
|
30
|
+
29,Navigation,Use UTabs for tabbed content,Tab navigation with content panels,UTabs with items containing slot content,Manual tab state,"<UTabs :items=""tabs""/>","<div><button @click=""tab=1"">",Medium,https://ui.nuxt.com/docs/components/tabs
|
|
31
|
+
30,Feedback,Use useToast for notifications,Composable for toast notifications,useToast().add({ title description }),Alert components for toasts,"const toast = useToast(); toast.add({ title: 'Saved' })",<UAlert v-if="showSuccess">,High,https://ui.nuxt.com/docs/components/toast
|
|
32
|
+
31,Feedback,Use UAlert for inline messages,Static alert messages with icon and actions,UAlert with title description color,Toast for static messages,"<UAlert title=""Warning"" color=""warning""/>",useToast for inline alerts,Medium,https://ui.nuxt.com/docs/components/alert
|
|
33
|
+
32,Feedback,Use USkeleton for loading states,Placeholder content during data loading,USkeleton with appropriate size,Spinner for content loading,<USkeleton class="h-4 w-32"/>,<UIcon name="lucide:loader" class="animate-spin"/>,Low,https://ui.nuxt.com/docs/components/skeleton
|
|
34
|
+
33,Color Mode,Use UColorModeButton for theme toggle,Built-in light/dark mode toggle button,UColorModeButton component,Manual color mode logic,<UColorModeButton/>,"<button @click=""toggleColorMode"">",Low,https://ui.nuxt.com/docs/components/color-mode-button
|
|
35
|
+
34,Color Mode,Use UColorModeSelect for theme picker,Dropdown to select system light or dark mode,UColorModeSelect component,Custom select for theme,<UColorModeSelect/>,"<USelect v-model=""colorMode"" :items=""modes""/>",Low,https://ui.nuxt.com/docs/components/color-mode-select
|
|
36
|
+
35,Customization,Use ui prop for component styling,Override component styles via ui prop,ui prop with slot class overrides,Global CSS overrides,"<UButton :ui=""{ base: 'rounded-full' }""/>",<UButton class="!rounded-full"/>,Medium,https://ui.nuxt.com/docs/getting-started/theme/components
|
|
37
|
+
36,Customization,Configure default variants in nuxt.config,Set default color and size for all components,theme.defaultVariants in ui config,Repeat props on every component,"ui: { theme: { defaultVariants: { color: 'neutral' } } }","<UButton color=""neutral""> everywhere",Medium,https://ui.nuxt.com/docs/getting-started/installation/nuxt
|
|
38
|
+
37,Customization,Use app.config.ts for theme overrides,Runtime theme customization,defineAppConfig with ui key,nuxt.config for runtime values,"defineAppConfig({ ui: { button: { defaultVariants: { size: 'sm' } } } })","nuxt.config ui.button.size: 'sm'",Medium,https://ui.nuxt.com/docs/getting-started/theme/components
|
|
39
|
+
38,Performance,Enable component detection,Tree-shake unused component CSS,experimental.componentDetection: true,Include all component CSS,"ui: { experimental: { componentDetection: true } }","ui: {} (includes all CSS)",Low,https://ui.nuxt.com/docs/getting-started/installation/nuxt
|
|
40
|
+
39,Performance,Use UTable virtualize for large data,Enable virtualization for 1000+ rows,:virtualize prop on UTable,Render all rows,"<UTable :data=""largeData"" virtualize/>","<UTable :data=""largeData""/>",Medium,https://ui.nuxt.com/docs/components/table
|
|
41
|
+
40,Accessibility,Use semantic component props,Components have built-in ARIA support,Use title description label props,Skip accessibility props,"<UModal title=""Settings"">","<UModal><h2>Settings</h2>",Medium,https://ui.nuxt.com/docs/components/modal
|
|
42
|
+
41,Accessibility,Use UFormField for form accessibility,Automatic label-input association,UFormField wraps inputs,Manual id and for attributes,"<UFormField label=""Email""><UInput/></UFormField>","<label for=""email"">Email</label><UInput id=""email""/>",High,https://ui.nuxt.com/docs/components/form-field
|
|
43
|
+
42,Content,Use UContentToc for table of contents,Automatic TOC with active heading highlight,UContentToc with :links,Manual TOC implementation,"<UContentToc :links=""toc""/>","<nav><a v-for=""heading in headings"">",Low,https://ui.nuxt.com/docs/components/content-toc
|
|
44
|
+
43,Content,Use UContentSearch for docs search,Command palette for documentation search,UContentSearch with Nuxt Content,Custom search implementation,<UContentSearch/>,<UCommandPalette :groups="searchResults"/>,Low,https://ui.nuxt.com/docs/components/content-search
|
|
45
|
+
44,AI/Chat,Use UChatMessages for chat UI,Designed for Vercel AI SDK integration,UChatMessages with messages array,Custom chat message list,"<UChatMessages :messages=""messages""/>","<div v-for=""msg in messages"">",Medium,https://ui.nuxt.com/docs/components/chat-messages
|
|
46
|
+
45,AI/Chat,Use UChatPrompt for input,Enhanced textarea for AI prompts,UChatPrompt with v-model,Basic textarea,<UChatPrompt v-model="prompt"/>,<UTextarea v-model="prompt"/>,Medium,https://ui.nuxt.com/docs/components/chat-prompt
|
|
47
|
+
46,Editor,Use UEditor for rich text,TipTap-based editor with toolbar support,UEditor with v-model:content,Custom TipTap setup,"<UEditor v-model:content=""content""/>",Manual TipTap initialization,Medium,https://ui.nuxt.com/docs/components/editor
|
|
48
|
+
47,Links,Use to prop for navigation,UButton and ULink support NuxtLink to prop,to="/dashboard" for internal links,href for internal navigation,"<UButton to=""/dashboard"">","<UButton href=""/dashboard"">",Medium,https://ui.nuxt.com/docs/components/button
|
|
49
|
+
48,Links,Use external prop for outside links,Explicitly mark external links,target="_blank" with external URLs,Forget rel="noopener","<UButton to=""https://example.com"" target=""_blank"">","<UButton href=""https://..."">",Low,https://ui.nuxt.com/docs/components/link
|
|
50
|
+
49,Loading,Use loadingAuto on buttons,Automatic loading state from @click promise,loadingAuto prop on UButton,Manual loading state,"<UButton loadingAuto @click=""async () => await save()"">","<UButton :loading=""isLoading"" @click=""save"">",Low,https://ui.nuxt.com/docs/components/button
|
|
51
|
+
50,Loading,Use UForm loadingAuto,Auto-disable form during submit,loadingAuto on UForm (default true),Manual form disabled state,"<UForm @submit=""handleSubmit"">","<UForm :disabled=""isSubmitting"">",Low,https://ui.nuxt.com/docs/components/form
|
package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Routing,Use file-based routing,Create routes by adding files in pages directory,pages/ directory with index.vue,Manual route configuration,pages/dashboard/index.vue,Custom router setup,Medium,https://nuxt.com/docs/getting-started/routing
|
|
3
|
+
2,Routing,Use dynamic route parameters,Create dynamic routes with bracket syntax,[id].vue for dynamic params,Hardcoded routes for dynamic content,pages/posts/[id].vue,pages/posts/post1.vue,Medium,https://nuxt.com/docs/getting-started/routing
|
|
4
|
+
3,Routing,Use catch-all routes,Handle multiple path segments with [...slug],[...slug].vue for catch-all,Multiple nested dynamic routes,pages/[...slug].vue,pages/[a]/[b]/[c].vue,Low,https://nuxt.com/docs/getting-started/routing
|
|
5
|
+
4,Routing,Define page metadata with definePageMeta,Set page-level configuration and middleware,definePageMeta for layout middleware title,Manual route meta configuration,"definePageMeta({ layout: 'admin', middleware: 'auth' })",router.beforeEach for page config,High,https://nuxt.com/docs/api/utils/define-page-meta
|
|
6
|
+
5,Routing,Use validate for route params,Validate dynamic route parameters before rendering,validate function in definePageMeta,Manual validation in setup,"definePageMeta({ validate: (route) => /^\d+$/.test(route.params.id) })",if (!valid) navigateTo('/404'),Medium,https://nuxt.com/docs/api/utils/define-page-meta
|
|
7
|
+
6,Rendering,Use SSR by default,Server-side rendering is enabled by default,Keep ssr: true (default),Disable SSR unnecessarily,ssr: true (default),ssr: false for all pages,High,https://nuxt.com/docs/guide/concepts/rendering
|
|
8
|
+
7,Rendering,Use .client suffix for client-only components,Mark components to render only on client,ComponentName.client.vue suffix,v-if with process.client check,Comments.client.vue,<div v-if="process.client"><Comments/></div>,Medium,https://nuxt.com/docs/guide/directory-structure/components
|
|
9
|
+
8,Rendering,Use .server suffix for server-only components,Mark components to render only on server,ComponentName.server.vue suffix,Manual server check,HeavyMarkdown.server.vue,v-if="process.server",Low,https://nuxt.com/docs/guide/directory-structure/components
|
|
10
|
+
9,DataFetching,Use useFetch for simple data fetching,Wrapper around useAsyncData for URL fetching,useFetch for API calls,$fetch in onMounted,"const { data } = await useFetch('/api/posts')","onMounted(async () => { data.value = await $fetch('/api/posts') })",High,https://nuxt.com/docs/api/composables/use-fetch
|
|
11
|
+
10,DataFetching,Use useAsyncData for complex fetching,Fine-grained control over async data,useAsyncData for CMS or custom fetching,useFetch for non-URL data sources,"const { data } = await useAsyncData('posts', () => cms.getPosts())","const { data } = await useFetch(() => cms.getPosts())",Medium,https://nuxt.com/docs/api/composables/use-async-data
|
|
12
|
+
11,DataFetching,Use $fetch for non-reactive requests,$fetch for event handlers and non-component code,$fetch in event handlers or server routes,useFetch in click handlers,"async function submit() { await $fetch('/api/submit', { method: 'POST' }) }","async function submit() { await useFetch('/api/submit') }",High,https://nuxt.com/docs/api/utils/dollarfetch
|
|
13
|
+
12,DataFetching,Use lazy option for non-blocking fetch,Defer data fetching for better initial load,lazy: true for below-fold content,Blocking fetch for non-critical data,"useFetch('/api/comments', { lazy: true })",await useFetch('/api/comments') for footer,Medium,https://nuxt.com/docs/api/composables/use-fetch
|
|
14
|
+
13,DataFetching,Use server option to control fetch location,Choose where data is fetched,server: false for client-only data,Server fetch for user-specific client data,"useFetch('/api/user-preferences', { server: false })",useFetch for localStorage-dependent data,Medium,https://nuxt.com/docs/api/composables/use-fetch
|
|
15
|
+
14,DataFetching,Use pick to reduce payload size,Select only needed fields from response,pick option for large responses,Fetching entire objects when few fields needed,"useFetch('/api/user', { pick: ['id', 'name'] })",useFetch('/api/user') then destructure,Low,https://nuxt.com/docs/api/composables/use-fetch
|
|
16
|
+
15,DataFetching,Use transform for data manipulation,Transform data before storing in state,transform option for data shaping,Manual transformation after fetch,"useFetch('/api/posts', { transform: (posts) => posts.map(p => p.title) })",const titles = data.value.map(p => p.title),Low,https://nuxt.com/docs/api/composables/use-fetch
|
|
17
|
+
16,DataFetching,Handle loading and error states,Always handle pending and error states,Check status pending error refs,Ignoring loading states,"<div v-if=""status === 'pending'"">Loading...</div>",No loading indicator,High,https://nuxt.com/docs/getting-started/data-fetching
|
|
18
|
+
17,Lifecycle,Avoid side effects in script setup root,Move side effects to lifecycle hooks,Side effects in onMounted,setInterval in root script setup,"onMounted(() => { interval = setInterval(...) })","<script setup>setInterval(...)</script>",High,https://nuxt.com/docs/guide/concepts/nuxt-lifecycle
|
|
19
|
+
18,Lifecycle,Use onMounted for DOM access,Access DOM only after component is mounted,onMounted for DOM manipulation,Direct DOM access in setup,"onMounted(() => { document.getElementById('el') })","<script setup>document.getElementById('el')</script>",High,https://nuxt.com/docs/api/composables/on-mounted
|
|
20
|
+
19,Lifecycle,Use nextTick for post-render access,Wait for DOM updates before accessing elements,await nextTick() after state changes,Immediate DOM access after state change,"count.value++; await nextTick(); el.value.focus()","count.value++; el.value.focus()",Medium,https://nuxt.com/docs/api/utils/next-tick
|
|
21
|
+
20,Lifecycle,Use onPrehydrate for pre-hydration logic,Run code before Nuxt hydrates the page,onPrehydrate for client setup,onMounted for hydration-critical code,"onPrehydrate(() => { console.log(window) })",onMounted for pre-hydration needs,Low,https://nuxt.com/docs/api/composables/on-prehydrate
|
|
22
|
+
21,Server,Use server/api for API routes,Create API endpoints in server/api directory,server/api/users.ts for /api/users,Manual Express setup,server/api/hello.ts -> /api/hello,app.get('/api/hello'),High,https://nuxt.com/docs/guide/directory-structure/server
|
|
23
|
+
22,Server,Use defineEventHandler for handlers,Define server route handlers,defineEventHandler for all handlers,export default function,"export default defineEventHandler((event) => { return { hello: 'world' } })","export default function(req, res) {}",High,https://nuxt.com/docs/guide/directory-structure/server
|
|
24
|
+
23,Server,Use server/routes for non-api routes,Routes without /api prefix,server/routes for custom paths,server/api for non-api routes,server/routes/sitemap.xml.ts,server/api/sitemap.xml.ts,Medium,https://nuxt.com/docs/guide/directory-structure/server
|
|
25
|
+
24,Server,Use getQuery and readBody for input,Access query params and request body,getQuery(event) readBody(event),Direct event access,"const { id } = getQuery(event)",event.node.req.query,Medium,https://nuxt.com/docs/guide/directory-structure/server
|
|
26
|
+
25,Server,Validate server input,Always validate input in server handlers,Zod or similar for validation,Trust client input,"const body = await readBody(event); schema.parse(body)",const body = await readBody(event),High,https://nuxt.com/docs/guide/directory-structure/server
|
|
27
|
+
26,State,Use useState for shared reactive state,SSR-friendly shared state across components,useState for cross-component state,ref for shared state,"const count = useState('count', () => 0)",const count = ref(0) in composable,High,https://nuxt.com/docs/api/composables/use-state
|
|
28
|
+
27,State,Use unique keys for useState,Prevent state conflicts with unique keys,Descriptive unique keys for each state,Generic or duplicate keys,"useState('user-preferences', () => ({}))",useState('data') in multiple places,Medium,https://nuxt.com/docs/api/composables/use-state
|
|
29
|
+
28,State,Use Pinia for complex state,Pinia for advanced state management,@pinia/nuxt for complex apps,Custom state management,useMainStore() with Pinia,Custom reactive store implementation,Medium,https://nuxt.com/docs/getting-started/state-management
|
|
30
|
+
29,State,Use callOnce for one-time async operations,Ensure async operations run only once,callOnce for store initialization,Direct await in component,"await callOnce(store.fetch)",await store.fetch() on every render,Medium,https://nuxt.com/docs/api/utils/call-once
|
|
31
|
+
30,SEO,Use useSeoMeta for SEO tags,Type-safe SEO meta tag management,useSeoMeta for meta tags,useHead for simple meta,"useSeoMeta({ title: 'Home', ogTitle: 'Home', description: '...' })","useHead({ meta: [{ name: 'description', content: '...' }] })",High,https://nuxt.com/docs/api/composables/use-seo-meta
|
|
32
|
+
31,SEO,Use reactive values in useSeoMeta,Dynamic SEO tags with refs or getters,Computed getters for dynamic values,Static values for dynamic content,"useSeoMeta({ title: () => post.value.title })","useSeoMeta({ title: post.value.title })",Medium,https://nuxt.com/docs/api/composables/use-seo-meta
|
|
33
|
+
32,SEO,Use useHead for non-meta head elements,Scripts styles links in head,useHead for scripts and links,useSeoMeta for scripts,"useHead({ script: [{ src: '/analytics.js' }] })","useSeoMeta({ script: '...' })",Medium,https://nuxt.com/docs/api/composables/use-head
|
|
34
|
+
33,SEO,Include OpenGraph tags,Add OG tags for social sharing,ogTitle ogDescription ogImage,Missing social preview,"useSeoMeta({ ogImage: '/og.png', twitterCard: 'summary_large_image' })",No OG configuration,Medium,https://nuxt.com/docs/api/composables/use-seo-meta
|
|
35
|
+
34,Middleware,Use defineNuxtRouteMiddleware,Define route middleware properly,defineNuxtRouteMiddleware wrapper,export default function,"export default defineNuxtRouteMiddleware((to, from) => {})","export default function(to, from) {}",High,https://nuxt.com/docs/guide/directory-structure/middleware
|
|
36
|
+
35,Middleware,Use navigateTo for redirects,Redirect in middleware with navigateTo,return navigateTo('/login'),router.push in middleware,"if (!auth) return navigateTo('/login')","if (!auth) router.push('/login')",High,https://nuxt.com/docs/api/utils/navigate-to
|
|
37
|
+
36,Middleware,Reference middleware in definePageMeta,Apply middleware to specific pages,middleware array in definePageMeta,Global middleware for page-specific,definePageMeta({ middleware: ['auth'] }),Global auth check for one page,Medium,https://nuxt.com/docs/guide/directory-structure/middleware
|
|
38
|
+
37,Middleware,Use .global suffix for global middleware,Apply middleware to all routes,auth.global.ts for app-wide auth,Manual middleware on every page,middleware/auth.global.ts,middleware: ['auth'] on every page,Medium,https://nuxt.com/docs/guide/directory-structure/middleware
|
|
39
|
+
38,ErrorHandling,Use createError for errors,Create errors with proper status codes,createError with statusCode,throw new Error,"throw createError({ statusCode: 404, statusMessage: 'Not Found' })",throw new Error('Not Found'),High,https://nuxt.com/docs/api/utils/create-error
|
|
40
|
+
39,ErrorHandling,Use NuxtErrorBoundary for local errors,Handle errors within component subtree,NuxtErrorBoundary for component errors,Global error page for local errors,"<NuxtErrorBoundary @error=""log""><template #error=""{ error }"">",error.vue for component errors,Medium,https://nuxt.com/docs/getting-started/error-handling
|
|
41
|
+
40,ErrorHandling,Use clearError to recover from errors,Clear error state and optionally redirect,clearError({ redirect: '/' }),Manual error state reset,clearError({ redirect: '/home' }),error.value = null,Medium,https://nuxt.com/docs/api/utils/clear-error
|
|
42
|
+
41,ErrorHandling,Use short statusMessage,Keep statusMessage brief for security,Short generic messages,Detailed error info in statusMessage,"createError({ statusCode: 400, statusMessage: 'Bad Request' })","createError({ statusMessage: 'Invalid user ID: 123' })",High,https://nuxt.com/docs/getting-started/error-handling
|
|
43
|
+
42,Link,Use NuxtLink for internal navigation,Client-side navigation with prefetching,<NuxtLink to> for internal links,<a href> for internal links,<NuxtLink to="/about">About</NuxtLink>,<a href="/about">About</a>,High,https://nuxt.com/docs/api/components/nuxt-link
|
|
44
|
+
43,Link,Configure prefetch behavior,Control when prefetching occurs,prefetchOn for interaction-based,Default prefetch for low-priority,"<NuxtLink prefetch-on=""interaction"">",Always default prefetch,Low,https://nuxt.com/docs/api/components/nuxt-link
|
|
45
|
+
44,Link,Use useRouter for programmatic navigation,Navigate programmatically,useRouter().push() for navigation,Direct window.location,"const router = useRouter(); router.push('/dashboard')",window.location.href = '/dashboard',Medium,https://nuxt.com/docs/api/composables/use-router
|
|
46
|
+
45,Link,Use navigateTo in composables,Navigate outside components,navigateTo() in middleware or plugins,useRouter in non-component code,return navigateTo('/login'),router.push in middleware,Medium,https://nuxt.com/docs/api/utils/navigate-to
|
|
47
|
+
46,AutoImports,Leverage auto-imports,Use auto-imported composables directly,Direct use of ref computed useFetch,Manual imports for Nuxt composables,"const count = ref(0)","import { ref } from 'vue'; const count = ref(0)",Medium,https://nuxt.com/docs/guide/concepts/auto-imports
|
|
48
|
+
47,AutoImports,Use #imports for explicit imports,Explicit imports when needed,#imports for clarity or disabled auto-imports,"import from 'vue' when auto-import enabled","import { ref } from '#imports'","import { ref } from 'vue'",Low,https://nuxt.com/docs/guide/concepts/auto-imports
|
|
49
|
+
48,AutoImports,Configure third-party auto-imports,Add external package auto-imports,imports.presets in nuxt.config,Manual imports everywhere,"imports: { presets: [{ from: 'vue-i18n', imports: ['useI18n'] }] }",import { useI18n } everywhere,Low,https://nuxt.com/docs/guide/concepts/auto-imports
|
|
50
|
+
49,Plugins,Use defineNuxtPlugin,Define plugins properly,defineNuxtPlugin wrapper,export default function,"export default defineNuxtPlugin((nuxtApp) => {})","export default function(ctx) {}",High,https://nuxt.com/docs/guide/directory-structure/plugins
|
|
51
|
+
50,Plugins,Use provide for injection,Provide helpers across app,return { provide: {} } for type safety,nuxtApp.provide without types,"return { provide: { hello: (name) => `Hello ${name}!` } }","nuxtApp.provide('hello', fn)",Medium,https://nuxt.com/docs/guide/directory-structure/plugins
|
|
52
|
+
51,Plugins,Use .client or .server suffix,Control plugin execution environment,plugin.client.ts for client-only,if (process.client) checks,analytics.client.ts,"if (process.client) { // analytics }",Medium,https://nuxt.com/docs/guide/directory-structure/plugins
|
|
53
|
+
52,Environment,Use runtimeConfig for env vars,Access environment variables safely,runtimeConfig in nuxt.config,process.env directly,"runtimeConfig: { apiSecret: '', public: { apiBase: '' } }",process.env.API_SECRET in components,High,https://nuxt.com/docs/guide/going-further/runtime-config
|
|
54
|
+
53,Environment,Use NUXT_ prefix for env override,Override config with environment variables,NUXT_API_SECRET NUXT_PUBLIC_API_BASE,Custom env var names,NUXT_PUBLIC_API_BASE=https://api.example.com,API_BASE=https://api.example.com,High,https://nuxt.com/docs/guide/going-further/runtime-config
|
|
55
|
+
54,Environment,Access public config with useRuntimeConfig,Get public config in components,useRuntimeConfig().public,Direct process.env access,const config = useRuntimeConfig(); config.public.apiBase,process.env.NUXT_PUBLIC_API_BASE,High,https://nuxt.com/docs/api/composables/use-runtime-config
|
|
56
|
+
55,Environment,Keep secrets in private config,Server-only secrets in runtimeConfig root,runtimeConfig.apiSecret (server only),Secrets in public config,runtimeConfig: { dbPassword: '' },runtimeConfig: { public: { dbPassword: '' } },High,https://nuxt.com/docs/guide/going-further/runtime-config
|
|
57
|
+
56,Performance,Use Lazy prefix for code splitting,Lazy load components with Lazy prefix,<LazyComponent> for below-fold,Eager load all components,<LazyMountainsList v-if="show"/>,<MountainsList/> for hidden content,Medium,https://nuxt.com/docs/guide/directory-structure/components
|
|
58
|
+
57,Performance,Use useLazyFetch for non-blocking data,Alias for useFetch with lazy: true,useLazyFetch for secondary data,useFetch for all requests,"const { data } = useLazyFetch('/api/comments')",await useFetch for comments section,Medium,https://nuxt.com/docs/api/composables/use-lazy-fetch
|
|
59
|
+
58,Performance,Use lazy hydration for interactivity,Delay component hydration until needed,LazyComponent with hydration strategy,Immediate hydration for all,<LazyModal hydrate-on-visible/>,<Modal/> in footer,Low,https://nuxt.com/docs/guide/going-further/experimental-features
|
package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/react-native.csv
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Components,Use functional components,Hooks-based components are standard,Functional components with hooks,Class components,const App = () => { },class App extends Component,Medium,https://reactnative.dev/docs/intro-react
|
|
3
|
+
2,Components,Keep components small,Single responsibility principle,Split into smaller components,Large monolithic components,<Header /><Content /><Footer />,500+ line component,Medium,
|
|
4
|
+
3,Components,Use TypeScript,Type safety for props and state,TypeScript for new projects,JavaScript without types,const Button: FC<Props> = () => { },const Button = (props) => { },Medium,
|
|
5
|
+
4,Components,Colocate component files,Keep related files together,Component folder with styles,Flat structure,components/Button/index.tsx styles.ts,components/Button.tsx styles/button.ts,Low,
|
|
6
|
+
5,Styling,Use StyleSheet.create,Optimized style objects,StyleSheet for all styles,Inline style objects,StyleSheet.create({ container: {} }),style={{ margin: 10 }},High,https://reactnative.dev/docs/stylesheet
|
|
7
|
+
6,Styling,Avoid inline styles,Prevent object recreation,Styles in StyleSheet,Inline style objects in render,style={styles.container},"style={{ margin: 10, padding: 5 }}",Medium,
|
|
8
|
+
7,Styling,Use flexbox for layout,React Native uses flexbox,flexDirection alignItems justifyContent,Absolute positioning everywhere,flexDirection: 'row',position: 'absolute' everywhere,Medium,https://reactnative.dev/docs/flexbox
|
|
9
|
+
8,Styling,Handle platform differences,Platform-specific styles,Platform.select or .ios/.android files,Same styles for both platforms,"Platform.select({ ios: {}, android: {} })",Hardcoded iOS values,Medium,https://reactnative.dev/docs/platform-specific-code
|
|
10
|
+
9,Styling,Use responsive dimensions,Scale for different screens,Dimensions or useWindowDimensions,Fixed pixel values,useWindowDimensions(),width: 375,Medium,
|
|
11
|
+
10,Navigation,Use React Navigation,Standard navigation library,React Navigation for routing,Manual navigation management,createStackNavigator(),Custom navigation state,Medium,https://reactnavigation.org/
|
|
12
|
+
11,Navigation,Type navigation params,Type-safe navigation,Typed navigation props,Untyped navigation,"navigation.navigate<RootStackParamList>('Home', { id })","navigation.navigate('Home', { id })",Medium,
|
|
13
|
+
12,Navigation,Use deep linking,Support URL-based navigation,Configure linking prop,No deep link support,linking: { prefixes: [] },No linking configuration,Medium,https://reactnavigation.org/docs/deep-linking/
|
|
14
|
+
13,Navigation,Handle back button,Android back button handling,useFocusEffect with BackHandler,Ignore back button,BackHandler.addEventListener,No back handler,High,
|
|
15
|
+
14,State,Use useState for local state,Simple component state,useState for UI state,Class component state,"const [count, setCount] = useState(0)",this.state = { count: 0 },Medium,
|
|
16
|
+
15,State,Use useReducer for complex state,Complex state logic,useReducer for related state,Multiple useState for related values,useReducer(reducer initialState),5+ useState calls,Medium,
|
|
17
|
+
16,State,Use context sparingly,Context for global state,Context for theme auth locale,Context for frequently changing data,ThemeContext for app theme,Context for list item data,Medium,
|
|
18
|
+
17,State,Consider Zustand or Redux,External state management,Zustand for simple Redux for complex,useState for global state,create((set) => ({ })),Prop drilling global state,Medium,
|
|
19
|
+
18,Lists,Use FlatList for long lists,Virtualized list rendering,FlatList for 50+ items,ScrollView with map,<FlatList data={items} />,<ScrollView>{items.map()}</ScrollView>,High,https://reactnative.dev/docs/flatlist
|
|
20
|
+
19,Lists,Provide keyExtractor,Unique keys for list items,keyExtractor with stable ID,Index as key,keyExtractor={(item) => item.id},"keyExtractor={(_, index) => index}",High,
|
|
21
|
+
20,Lists,Optimize renderItem,Memoize list item components,React.memo for list items,Inline render function,renderItem={({ item }) => <MemoizedItem item={item} />},renderItem={({ item }) => <View>...</View>},High,
|
|
22
|
+
21,Lists,Use getItemLayout for fixed height,Skip measurement for performance,getItemLayout when height known,Dynamic measurement for fixed items,"getItemLayout={(_, index) => ({ length: 50, offset: 50 * index, index })}",No getItemLayout for fixed height,Medium,
|
|
23
|
+
22,Lists,Implement windowSize,Control render window,Smaller windowSize for memory,Default windowSize for large lists,windowSize={5},windowSize={21} for huge lists,Medium,
|
|
24
|
+
23,Performance,Use React.memo,Prevent unnecessary re-renders,memo for pure components,No memoization,export default memo(MyComponent),export default MyComponent,Medium,
|
|
25
|
+
24,Performance,Use useCallback for handlers,Stable function references,useCallback for props,New function on every render,"useCallback(() => {}, [deps])",() => handlePress(),Medium,
|
|
26
|
+
25,Performance,Use useMemo for expensive ops,Cache expensive calculations,useMemo for heavy computations,Recalculate every render,"useMemo(() => expensive(), [deps])",const result = expensive(),Medium,
|
|
27
|
+
26,Performance,Avoid anonymous functions in JSX,Prevent re-renders,Named handlers or useCallback,Inline arrow functions,onPress={handlePress},onPress={() => doSomething()},Medium,
|
|
28
|
+
27,Performance,Use Hermes engine,Improved startup and memory,Enable Hermes in build,JavaScriptCore for new projects,hermes_enabled: true,hermes_enabled: false,Medium,https://reactnative.dev/docs/hermes
|
|
29
|
+
28,Images,Use expo-image,Modern performant image component for React Native,"Use expo-image for caching, blurring, and performance",Use default Image for heavy lists or unmaintained libraries,<Image source={url} cachePolicy='memory-disk' /> (expo-image),<FastImage source={url} />,Medium,https://docs.expo.dev/versions/latest/sdk/image/
|
|
30
|
+
29,Images,Specify image dimensions,Prevent layout shifts,width and height for remote images,No dimensions for network images,<Image style={{ width: 100 height: 100 }} />,<Image source={{ uri }} /> no size,High,
|
|
31
|
+
30,Images,Use resizeMode,Control image scaling,resizeMode cover contain,Stretch images,"resizeMode=""cover""",No resizeMode,Low,
|
|
32
|
+
31,Forms,Use controlled inputs,State-controlled form fields,value + onChangeText,Uncontrolled inputs,<TextInput value={text} onChangeText={setText} />,<TextInput defaultValue={text} />,Medium,
|
|
33
|
+
32,Forms,Handle keyboard,Manage keyboard visibility,KeyboardAvoidingView,Content hidden by keyboard,"<KeyboardAvoidingView behavior=""padding"">",No keyboard handling,High,https://reactnative.dev/docs/keyboardavoidingview
|
|
34
|
+
33,Forms,Use proper keyboard types,Appropriate keyboard for input,keyboardType for input type,Default keyboard for all,"keyboardType=""email-address""","keyboardType=""default"" for email",Low,
|
|
35
|
+
34,Touch,Use Pressable,Modern touch handling,Pressable for touch interactions,TouchableOpacity for new code,<Pressable onPress={} />,<TouchableOpacity onPress={} />,Low,https://reactnative.dev/docs/pressable
|
|
36
|
+
35,Touch,Provide touch feedback,Visual feedback on press,Ripple or opacity change,No feedback on press,android_ripple={{ color: 'gray' }},No press feedback,Medium,
|
|
37
|
+
36,Touch,Set hitSlop for small targets,Increase touch area,hitSlop for icons and small buttons,Tiny touch targets,hitSlop={{ top: 10 bottom: 10 }},44x44 with no hitSlop,Medium,
|
|
38
|
+
37,Animation,Use Reanimated,High-performance animations,react-native-reanimated,Animated API for complex,useSharedValue useAnimatedStyle,Animated.timing for gesture,Medium,https://docs.swmansion.com/react-native-reanimated/
|
|
39
|
+
38,Animation,Run on UI thread,worklets for smooth animation,Run animations on UI thread,JS thread animations,runOnUI(() => {}),Animated on JS thread,High,
|
|
40
|
+
39,Animation,Use gesture handler,Native gesture recognition,react-native-gesture-handler,JS-based gesture handling,<GestureDetector>,<View onTouchMove={} />,Medium,https://docs.swmansion.com/react-native-gesture-handler/
|
|
41
|
+
40,Async,Handle loading states,Show loading indicators,ActivityIndicator during load,Empty screen during load,{isLoading ? <ActivityIndicator /> : <Content />},No loading state,Medium,
|
|
42
|
+
41,Async,Handle errors gracefully,Error boundaries and fallbacks,Error UI for failed requests,Crash on error,{error ? <ErrorView /> : <Content />},No error handling,High,
|
|
43
|
+
42,Async,Cancel async operations,Cleanup on unmount,AbortController or cleanup,Memory leaks from async,useEffect cleanup,No cleanup for subscriptions,High,
|
|
44
|
+
43,Accessibility,Add accessibility labels,Describe UI elements,accessibilityLabel for all interactive,Missing labels,"accessibilityLabel=""Submit form""",<Pressable> without label,High,https://reactnative.dev/docs/accessibility
|
|
45
|
+
44,Accessibility,Use accessibility roles,Semantic meaning,accessibilityRole for elements,Wrong roles,"accessibilityRole=""button""",No role for button,Medium,
|
|
46
|
+
45,Accessibility,Support screen readers,Test with TalkBack/VoiceOver,Test with screen readers,Skip accessibility testing,Regular TalkBack testing,No screen reader testing,High,
|
|
47
|
+
46,Testing,Use React Native Testing Library,Component testing,render and fireEvent,Enzyme or manual testing,render(<Component />),shallow(<Component />),Medium,https://callstack.github.io/react-native-testing-library/
|
|
48
|
+
47,Testing,Test on real devices,Real device behavior,Test on iOS and Android devices,Simulator only,Device testing in CI,Simulator only testing,High,
|
|
49
|
+
48,Testing,Use Detox for E2E,End-to-end testing,Detox for critical flows,Manual E2E testing,detox test,Manual testing only,Medium,https://wix.github.io/Detox/
|
|
50
|
+
49,Native,Use native modules carefully,Bridge has overhead,Batch native calls,Frequent bridge crossing,Batch updates,Call native on every keystroke,High,
|
|
51
|
+
50,Native,Use Expo when possible,Simplified development,Expo for standard features,Bare RN for simple apps,expo install package,react-native link package,Low,https://docs.expo.dev/
|
|
52
|
+
51,Native,Handle permissions,Request permissions properly,Check and request permissions,Assume permissions granted,PermissionsAndroid.request(),Access without permission check,High,https://reactnative.dev/docs/permissionsandroid
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,State,Use useState for local state,Simple component state should use useState hook,useState for form inputs toggles counters,Class components this.state,"const [count, setCount] = useState(0)",this.state = { count: 0 },Medium,https://react.dev/reference/react/useState
|
|
3
|
+
2,State,Lift state up when needed,Share state between siblings by lifting to parent,Lift shared state to common ancestor,Prop drilling through many levels,Parent holds state passes down,Deep prop chains,Medium,https://react.dev/learn/sharing-state-between-components
|
|
4
|
+
3,State,Use useReducer for complex state,Complex state logic benefits from reducer pattern,useReducer for state with multiple sub-values,Multiple useState for related values,useReducer with action types,5+ useState calls that update together,Medium,https://react.dev/reference/react/useReducer
|
|
5
|
+
4,State,Avoid unnecessary state,Derive values from existing state when possible,Compute derived values in render,Store derivable values in state,const total = items.reduce(...),"const [total, setTotal] = useState(0)",High,https://react.dev/learn/choosing-the-state-structure
|
|
6
|
+
5,State,Initialize state lazily,Use function form for expensive initial state,useState(() => computeExpensive()),useState(computeExpensive()),useState(() => JSON.parse(data)),useState(JSON.parse(data)),Medium,https://react.dev/reference/react/useState#avoiding-recreating-the-initial-state
|
|
7
|
+
6,Effects,Clean up effects,Return cleanup function for subscriptions timers,Return cleanup function in useEffect,No cleanup for subscriptions,useEffect(() => { sub(); return unsub; }),useEffect(() => { subscribe(); }),High,https://react.dev/reference/react/useEffect#connecting-to-an-external-system
|
|
8
|
+
7,Effects,Specify dependencies correctly,Include all values used inside effect in deps array,All referenced values in dependency array,Empty deps with external references,[value] when using value in effect,[] when using props/state in effect,High,https://react.dev/reference/react/useEffect#specifying-reactive-dependencies
|
|
9
|
+
8,Effects,Avoid unnecessary effects,Don't use effects for transforming data or events,Transform data during render handle events directly,useEffect for derived state or event handling,const filtered = items.filter(...),useEffect(() => setFiltered(items.filter(...))),High,https://react.dev/learn/you-might-not-need-an-effect
|
|
10
|
+
9,Effects,Use refs for non-reactive values,Store values that don't trigger re-renders in refs,useRef for interval IDs DOM elements,useState for values that don't need render,const intervalRef = useRef(null),"const [intervalId, setIntervalId] = useState()",Medium,https://react.dev/reference/react/useRef
|
|
11
|
+
10,Rendering,Use keys properly,Stable unique keys for list items,Use stable IDs as keys,Array index as key for dynamic lists,key={item.id},key={index},High,https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key
|
|
12
|
+
11,Rendering,Memoize expensive calculations,Use useMemo for costly computations,useMemo for expensive filtering/sorting,Recalculate every render,"useMemo(() => expensive(), [deps])",const result = expensiveCalc(),Medium,https://react.dev/reference/react/useMemo
|
|
13
|
+
12,Rendering,Memoize callbacks passed to children,Use useCallback for functions passed as props,useCallback for handlers passed to memoized children,New function reference every render,"useCallback(() => {}, [deps])",const handler = () => {},Medium,https://react.dev/reference/react/useCallback
|
|
14
|
+
13,Rendering,Use React.memo wisely,Wrap components that render often with same props,memo for pure components with stable props,memo everything or nothing,memo(ExpensiveList),memo(SimpleButton),Low,https://react.dev/reference/react/memo
|
|
15
|
+
14,Rendering,Avoid inline object/array creation in JSX,Create objects outside render or memoize,Define style objects outside component,Inline objects in props,<div style={styles.container}>,<div style={{ margin: 10 }}>,Medium,
|
|
16
|
+
15,Components,Keep components small and focused,Single responsibility for each component,One concern per component,Large multi-purpose components,<UserAvatar /><UserName />,<UserCard /> with 500 lines,Medium,
|
|
17
|
+
16,Components,Use composition over inheritance,Compose components using children and props,Use children prop for flexibility,Inheritance hierarchies,<Card>{content}</Card>,class SpecialCard extends Card,Medium,https://react.dev/learn/thinking-in-react
|
|
18
|
+
17,Components,Colocate related code,Keep related components and hooks together,Related files in same directory,Flat structure with many files,components/User/UserCard.tsx,components/UserCard.tsx + hooks/useUser.ts,Low,
|
|
19
|
+
18,Components,Use fragments to avoid extra DOM,Fragment or <> for multiple elements without wrapper,<> for grouping without DOM node,Extra div wrappers,<>{items.map(...)}</>,<div>{items.map(...)}</div>,Low,https://react.dev/reference/react/Fragment
|
|
20
|
+
19,Props,Destructure props,Destructure props for cleaner component code,Destructure in function signature,props.name props.value throughout,"function User({ name, age })",function User(props),Low,
|
|
21
|
+
20,Props,Provide default props values,Use default parameters or defaultProps,Default values in destructuring,Undefined checks throughout,function Button({ size = 'md' }),if (size === undefined) size = 'md',Low,
|
|
22
|
+
21,Props,Avoid prop drilling,Use context or composition for deeply nested data,Context for global data composition for UI,Passing props through 5+ levels,<UserContext.Provider>,<A user={u}><B user={u}><C user={u}>,Medium,https://react.dev/learn/passing-data-deeply-with-context
|
|
23
|
+
22,Props,Validate props with TypeScript,Use TypeScript interfaces for prop types,interface Props { name: string },PropTypes or no validation,interface ButtonProps { onClick: () => void },Button.propTypes = {},Medium,
|
|
24
|
+
23,Events,Use synthetic events correctly,React normalizes events across browsers,e.preventDefault() e.stopPropagation(),Access native event unnecessarily,onClick={(e) => e.preventDefault()},onClick={(e) => e.nativeEvent.preventDefault()},Low,https://react.dev/reference/react-dom/components/common#react-event-object
|
|
25
|
+
24,Events,Avoid binding in render,Use arrow functions in class or hooks,Arrow functions in functional components,bind in render or constructor,const handleClick = () => {},this.handleClick.bind(this),Medium,
|
|
26
|
+
25,Events,Pass event handlers not call results,Pass function reference not invocation,onClick={handleClick},onClick={handleClick()} causing immediate call,onClick={handleClick},onClick={handleClick()},High,
|
|
27
|
+
26,Forms,Controlled components for forms,Use state to control form inputs,value + onChange for inputs,Uncontrolled inputs with refs,<input value={val} onChange={setVal}>,<input ref={inputRef}>,Medium,https://react.dev/reference/react-dom/components/input#controlling-an-input-with-a-state-variable
|
|
28
|
+
27,Forms,Handle form submission properly,Prevent default and handle in submit handler,onSubmit with preventDefault,onClick on submit button only,<form onSubmit={handleSubmit}>,<button onClick={handleSubmit}>,Medium,
|
|
29
|
+
28,Forms,Debounce rapid input changes,Debounce search/filter inputs,useDeferredValue or debounce for search,Filter on every keystroke,useDeferredValue(searchTerm),useEffect filtering on every change,Medium,https://react.dev/reference/react/useDeferredValue
|
|
30
|
+
29,Hooks,Follow rules of hooks,Only call hooks at top level and in React functions,Hooks at component top level,Hooks in conditions loops or callbacks,"const [x, setX] = useState()","if (cond) { const [x, setX] = useState() }",High,https://react.dev/reference/rules/rules-of-hooks
|
|
31
|
+
30,Hooks,Custom hooks for reusable logic,Extract shared stateful logic to custom hooks,useCustomHook for reusable patterns,Duplicate hook logic across components,const { data } = useFetch(url),Duplicate useEffect/useState in components,Medium,https://react.dev/learn/reusing-logic-with-custom-hooks
|
|
32
|
+
31,Hooks,Name custom hooks with use prefix,Custom hooks must start with use,useFetch useForm useAuth,fetchData or getData for hook,function useFetch(url),function fetchData(url),High,
|
|
33
|
+
32,Context,Use context for global data,Context for theme auth locale,Context for app-wide state,Context for frequently changing data,<ThemeContext.Provider>,Context for form field values,Medium,https://react.dev/learn/passing-data-deeply-with-context
|
|
34
|
+
33,Context,Split contexts by concern,Separate contexts for different domains,ThemeContext + AuthContext,One giant AppContext,<ThemeProvider><AuthProvider>,<AppProvider value={{theme user...}}>,Medium,
|
|
35
|
+
34,Context,Memoize context values,Prevent unnecessary re-renders with useMemo,useMemo for context value object,New object reference every render,"value={useMemo(() => ({...}), [])}","value={{ user, theme }}",High,
|
|
36
|
+
35,Performance,Use React DevTools Profiler,Profile to identify performance bottlenecks,Profile before optimizing,Optimize without measuring,React DevTools Profiler,Guessing at bottlenecks,Medium,https://react.dev/learn/react-developer-tools
|
|
37
|
+
36,Performance,Lazy load components,Use React.lazy for code splitting,lazy() for routes and heavy components,Import everything upfront,const Page = lazy(() => import('./Page')),import Page from './Page',Medium,https://react.dev/reference/react/lazy
|
|
38
|
+
37,Performance,Virtualize long lists,Use windowing for lists over 100 items,react-window or react-virtual,Render thousands of DOM nodes,<VirtualizedList items={items}/>,{items.map(i => <Item />)},High,
|
|
39
|
+
38,Performance,Batch state updates,React 18 auto-batches but be aware,Let React batch related updates,Manual batching with flushSync,setA(1); setB(2); // batched,flushSync(() => setA(1)),Low,https://react.dev/learn/queueing-a-series-of-state-updates
|
|
40
|
+
39,ErrorHandling,Use error boundaries,Catch JavaScript errors in component tree,ErrorBoundary wrapping sections,Let errors crash entire app,<ErrorBoundary><App/></ErrorBoundary>,No error handling,High,https://react.dev/reference/react/Component#catching-rendering-errors-with-an-error-boundary
|
|
41
|
+
40,ErrorHandling,Handle async errors,Catch errors in async operations,try/catch in async handlers,Unhandled promise rejections,try { await fetch() } catch(e) {},await fetch() // no catch,High,
|
|
42
|
+
41,Testing,Test behavior not implementation,Test what user sees and does,Test renders and interactions,Test internal state or methods,expect(screen.getByText('Hello')),expect(component.state.name),Medium,https://testing-library.com/docs/react-testing-library/intro/
|
|
43
|
+
42,Testing,Use testing-library queries,Use accessible queries,getByRole getByLabelText,getByTestId for everything,getByRole('button'),getByTestId('submit-btn'),Medium,https://testing-library.com/docs/queries/about#priority
|
|
44
|
+
43,Accessibility,Use semantic HTML,Proper HTML elements for their purpose,button for clicks nav for navigation,div with onClick for buttons,<button onClick={...}>,<div onClick={...}>,High,https://react.dev/reference/react-dom/components#all-html-components
|
|
45
|
+
44,Accessibility,Manage focus properly,Handle focus for modals dialogs,Focus trap in modals return focus on close,No focus management,useEffect to focus input,Modal without focus trap,High,
|
|
46
|
+
45,Accessibility,Announce dynamic content,Use ARIA live regions for updates,aria-live for dynamic updates,Silent updates to screen readers,"<div aria-live=""polite"">{msg}</div>",<div>{msg}</div>,Medium,
|
|
47
|
+
46,Accessibility,Label form controls,Associate labels with inputs,htmlFor matching input id,Placeholder as only label,"<label htmlFor=""email"">Email</label>","<input placeholder=""Email""/>",High,
|
|
48
|
+
47,TypeScript,Type component props,Define interfaces for all props,interface Props with all prop types,any or missing types,interface Props { name: string },function Component(props: any),High,
|
|
49
|
+
48,TypeScript,Type state properly,Provide types for useState,useState<Type>() for complex state,Inferred any types,useState<User | null>(null),useState(null),Medium,
|
|
50
|
+
49,TypeScript,Type event handlers,Use React event types,React.ChangeEvent<HTMLInputElement>,Generic Event type,onChange: React.ChangeEvent<HTMLInputElement>,onChange: Event,Medium,
|
|
51
|
+
50,TypeScript,Use generics for reusable components,Generic components for flexible typing,Generic props for list components,Union types for flexibility,<List<T> items={T[]}>,<List items={any[]}>,Medium,
|
|
52
|
+
51,Patterns,Container/Presentational split,Separate data logic from UI,Container fetches presentational renders,Mixed data and UI in one,<UserContainer><UserView/></UserContainer>,<User /> with fetch and render,Low,
|
|
53
|
+
52,Patterns,Render props for flexibility,Share code via render prop pattern,Render prop for customizable rendering,Duplicate logic across components,<DataFetcher render={data => ...}/>,Copy paste fetch logic,Low,https://react.dev/reference/react/cloneElement#passing-data-with-a-render-prop
|
|
54
|
+
53,Patterns,Compound components,Related components sharing state,Tab + TabPanel sharing context,Prop drilling between related,<Tabs><Tab/><TabPanel/></Tabs>,<Tabs tabs={[]} panels={[...]}/>,Low,
|
package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/shadcn.csv
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Setup,Use CLI for installation,Install components via shadcn CLI for proper setup,npx shadcn@latest add component-name,Manual copy-paste from docs,npx shadcn@latest add button,Copy component code manually,High,https://ui.shadcn.com/docs/cli
|
|
3
|
+
2,Setup,Initialize project properly,Run init command to set up components.json and globals.css,npx shadcn@latest init before adding components,Skip init and add components directly,npx shadcn@latest init,npx shadcn@latest add button (without init),High,https://ui.shadcn.com/docs/installation
|
|
4
|
+
3,Setup,Configure path aliases,Set up proper import aliases in tsconfig and components.json,Use @/components/ui path aliases,Relative imports like ../../components,import { Button } from "@/components/ui/button",import { Button } from "../../components/ui/button",Medium,https://ui.shadcn.com/docs/installation
|
|
5
|
+
4,Theming,Use CSS variables for colors,Define colors as CSS variables in globals.css for theming,CSS variables in :root and .dark,Hardcoded color values in components,bg-primary text-primary-foreground,bg-blue-500 text-white,High,https://ui.shadcn.com/docs/theming
|
|
6
|
+
5,Theming,Follow naming convention,Use semantic color names with foreground pattern,primary/primary-foreground secondary/secondary-foreground,Generic color names,--primary --primary-foreground,--blue --light-blue,Medium,https://ui.shadcn.com/docs/theming
|
|
7
|
+
6,Theming,Support dark mode,Include .dark class styles for all custom CSS,Define both :root and .dark color schemes,Only light mode colors,.dark { --background: 240 10% 3.9%; },No .dark class styles,High,https://ui.shadcn.com/docs/dark-mode
|
|
8
|
+
7,Components,Use component variants,Leverage cva variants for consistent styling,Use variant prop for different styles,Inline conditional classes,<Button variant="destructive">,<Button className={isError ? "bg-red-500" : "bg-blue-500"}>,Medium,https://ui.shadcn.com/docs/components/button
|
|
9
|
+
8,Components,Compose with className,Add custom classes via className prop for overrides,Extend with className for one-off customizations,Modify component source directly,<Button className="w-full">,Edit button.tsx to add w-full,Medium,https://ui.shadcn.com/docs/components/button
|
|
10
|
+
9,Components,Use size variants consistently,Apply size prop for consistent sizing across components,size="sm" size="lg" for sizing,Mix size classes inconsistently,<Button size="lg">,<Button className="text-lg px-8 py-4">,Medium,https://ui.shadcn.com/docs/components/button
|
|
11
|
+
10,Components,Prefer compound components,Use provided sub-components for complex UI,Card + CardHeader + CardContent pattern,Single component with many props,<Card><CardHeader><CardTitle>,<Card title="x" content="y" footer="z">,Medium,https://ui.shadcn.com/docs/components/card
|
|
12
|
+
11,Dialog,Use Dialog for modal content,Dialog component for overlay modal windows,Dialog for confirmations forms details,Alert for modal content,<Dialog><DialogContent>,<Alert> styled as modal,High,https://ui.shadcn.com/docs/components/dialog
|
|
13
|
+
12,Dialog,Handle dialog state properly,Use open and onOpenChange for controlled dialogs,Controlled state with useState,Uncontrolled with default open only,"<Dialog open={open} onOpenChange={setOpen}>","<Dialog defaultOpen={true}>",Medium,https://ui.shadcn.com/docs/components/dialog
|
|
14
|
+
13,Dialog,Include proper dialog structure,Use DialogHeader DialogTitle DialogDescription,Complete semantic structure,Missing title or description,<DialogHeader><DialogTitle><DialogDescription>,<DialogContent><p>Content</p></DialogContent>,High,https://ui.shadcn.com/docs/components/dialog
|
|
15
|
+
14,Sheet,Use Sheet for side panels,Sheet component for slide-out panels and drawers,Sheet for navigation filters settings,Dialog for side content,<Sheet side="right">,<Dialog> with slide animation,Medium,https://ui.shadcn.com/docs/components/sheet
|
|
16
|
+
15,Sheet,Specify sheet side,Set side prop for sheet slide direction,Explicit side="left" or side="right",Default side without consideration,<Sheet><SheetContent side="left">,<Sheet><SheetContent>,Low,https://ui.shadcn.com/docs/components/sheet
|
|
17
|
+
16,Form,Use Form with react-hook-form,Integrate Form component with react-hook-form for validation,useForm + Form + FormField pattern,Custom form handling without Form,<Form {...form}><FormField control={form.control}>,<form onSubmit={handleSubmit}>,High,https://ui.shadcn.com/docs/components/form
|
|
18
|
+
17,Form,Use FormField for inputs,Wrap inputs in FormField for proper labeling and errors,FormField + FormItem + FormLabel + FormControl,Input without FormField wrapper,<FormField><FormItem><FormLabel><FormControl><Input>,<Input onChange={...}>,High,https://ui.shadcn.com/docs/components/form
|
|
19
|
+
18,Form,Display form messages,Use FormMessage for validation error display,FormMessage after FormControl,Custom error text without FormMessage,<FormControl><Input/></FormControl><FormMessage/>,<Input/>{error && <span>{error}</span>},Medium,https://ui.shadcn.com/docs/components/form
|
|
20
|
+
19,Form,Use Zod for validation,Define form schema with Zod for type-safe validation,zodResolver with form schema,Manual validation logic,zodResolver(formSchema),validate: (values) => { if (!values.email) },Medium,https://ui.shadcn.com/docs/components/form
|
|
21
|
+
20,Select,Use Select for dropdowns,Select component for option selection,Select for choosing from list,Native select element,<Select><SelectTrigger><SelectContent>,<select><option>,Medium,https://ui.shadcn.com/docs/components/select
|
|
22
|
+
21,Select,Structure Select properly,Include Trigger Value Content and Items,Complete Select structure,Missing SelectValue or SelectContent,<SelectTrigger><SelectValue/></SelectTrigger><SelectContent><SelectItem>,<Select><option>,High,https://ui.shadcn.com/docs/components/select
|
|
23
|
+
22,Command,Use Command for search,Command component for searchable lists and palettes,Command for command palette search,Input with custom dropdown,<Command><CommandInput><CommandList>,<Input><div className="dropdown">,Medium,https://ui.shadcn.com/docs/components/command
|
|
24
|
+
23,Command,Group command items,Use CommandGroup for categorized items,CommandGroup with heading for sections,Flat list without grouping,<CommandGroup heading="Suggestions"><CommandItem>,<CommandItem> without groups,Low,https://ui.shadcn.com/docs/components/command
|
|
25
|
+
24,Table,Use Table for data display,Table component for structured data,Table for tabular data display,Div grid for table-like layouts,<Table><TableHeader><TableBody><TableRow>,<div className="grid">,Medium,https://ui.shadcn.com/docs/components/table
|
|
26
|
+
25,Table,Include proper table structure,Use TableHeader TableBody TableRow TableCell,Semantic table structure,Missing thead or tbody,<TableHeader><TableRow><TableHead>,<Table><TableRow> without header,High,https://ui.shadcn.com/docs/components/table
|
|
27
|
+
26,DataTable,Use DataTable for complex tables,Combine Table with TanStack Table for features,DataTable pattern for sorting filtering pagination,Custom table implementation,useReactTable + Table components,Custom sort filter pagination logic,Medium,https://ui.shadcn.com/docs/components/data-table
|
|
28
|
+
27,Tabs,Use Tabs for content switching,Tabs component for tabbed interfaces,Tabs for related content sections,Custom tab implementation,<Tabs><TabsList><TabsTrigger><TabsContent>,<div onClick={() => setTab(...)},Medium,https://ui.shadcn.com/docs/components/tabs
|
|
29
|
+
28,Tabs,Set default tab value,Specify defaultValue for initial tab,defaultValue on Tabs component,No default leaving first tab,<Tabs defaultValue="account">,<Tabs> without defaultValue,Low,https://ui.shadcn.com/docs/components/tabs
|
|
30
|
+
29,Accordion,Use Accordion for collapsible,Accordion for expandable content sections,Accordion for FAQ settings panels,Custom collapse implementation,<Accordion><AccordionItem><AccordionTrigger>,<div onClick={() => setOpen(!open)}>,Medium,https://ui.shadcn.com/docs/components/accordion
|
|
31
|
+
30,Accordion,Choose accordion type,Use type="single" or type="multiple" appropriately,type="single" for one open type="multiple" for many,Default type without consideration,<Accordion type="single" collapsible>,<Accordion> without type,Low,https://ui.shadcn.com/docs/components/accordion
|
|
32
|
+
31,Toast,Use Sonner for toasts,Sonner integration for toast notifications,toast() from sonner for notifications,Custom toast implementation,toast("Event created"),setShowToast(true),Medium,https://ui.shadcn.com/docs/components/sonner
|
|
33
|
+
32,Toast,Add Toaster to layout,Include Toaster component in root layout,<Toaster /> in app layout,Toaster in individual pages,app/layout.tsx: <Toaster />,page.tsx: <Toaster />,High,https://ui.shadcn.com/docs/components/sonner
|
|
34
|
+
33,Toast,Use toast variants,Apply toast.success toast.error for context,Semantic toast methods,Generic toast for all messages,toast.success("Saved!") toast.error("Failed"),toast("Saved!") toast("Failed"),Medium,https://ui.shadcn.com/docs/components/sonner
|
|
35
|
+
34,Popover,Use Popover for floating content,Popover for dropdown menus and floating panels,Popover for contextual actions,Absolute positioned divs,<Popover><PopoverTrigger><PopoverContent>,<div className="relative"><div className="absolute">,Medium,https://ui.shadcn.com/docs/components/popover
|
|
36
|
+
35,Popover,Handle popover alignment,Use align and side props for positioning,Explicit alignment configuration,Default alignment for all,<PopoverContent align="start" side="bottom">,<PopoverContent>,Low,https://ui.shadcn.com/docs/components/popover
|
|
37
|
+
36,DropdownMenu,Use DropdownMenu for actions,DropdownMenu for action lists and context menus,DropdownMenu for user menu actions,Popover for action lists,<DropdownMenu><DropdownMenuTrigger><DropdownMenuContent>,<Popover> for menu actions,Medium,https://ui.shadcn.com/docs/components/dropdown-menu
|
|
38
|
+
37,DropdownMenu,Group menu items,Use DropdownMenuGroup and DropdownMenuSeparator,Organized menu with separators,Flat list of items,<DropdownMenuGroup><DropdownMenuItem><DropdownMenuSeparator>,<DropdownMenuItem> without organization,Low,https://ui.shadcn.com/docs/components/dropdown-menu
|
|
39
|
+
38,Tooltip,Use Tooltip for hints,Tooltip for icon buttons and truncated text,Tooltip for additional context,Title attribute for tooltips,<Tooltip><TooltipTrigger><TooltipContent>,<button title="Delete">,Medium,https://ui.shadcn.com/docs/components/tooltip
|
|
40
|
+
39,Tooltip,Add TooltipProvider,Wrap app or section in TooltipProvider,TooltipProvider at app level,TooltipProvider per tooltip,<TooltipProvider><App/></TooltipProvider>,<Tooltip><TooltipProvider>,High,https://ui.shadcn.com/docs/components/tooltip
|
|
41
|
+
40,Skeleton,Use Skeleton for loading,Skeleton component for loading placeholders,Skeleton matching content layout,Spinner for content loading,<Skeleton className="h-4 w-[200px]"/>,<Spinner/> for card loading,Medium,https://ui.shadcn.com/docs/components/skeleton
|
|
42
|
+
41,Skeleton,Match skeleton dimensions,Size skeleton to match loaded content,Skeleton same size as expected content,Generic skeleton size,<Skeleton className="h-12 w-12 rounded-full"/>,<Skeleton/> without sizing,Medium,https://ui.shadcn.com/docs/components/skeleton
|
|
43
|
+
42,AlertDialog,Use AlertDialog for confirms,AlertDialog for destructive action confirmation,AlertDialog for delete confirmations,Dialog for confirmations,<AlertDialog><AlertDialogTrigger><AlertDialogContent>,<Dialog> for delete confirmation,High,https://ui.shadcn.com/docs/components/alert-dialog
|
|
44
|
+
43,AlertDialog,Include action buttons,Use AlertDialogAction and AlertDialogCancel,Standard confirm/cancel pattern,Custom buttons in AlertDialog,<AlertDialogCancel>Cancel</AlertDialogCancel><AlertDialogAction>,<Button>Cancel</Button><Button>Confirm</Button>,Medium,https://ui.shadcn.com/docs/components/alert-dialog
|
|
45
|
+
44,Sidebar,Use Sidebar for navigation,Sidebar component for app navigation,Sidebar for main app navigation,Custom sidebar implementation,<SidebarProvider><Sidebar><SidebarContent>,<div className="w-64 fixed">,Medium,https://ui.shadcn.com/docs/components/sidebar
|
|
46
|
+
45,Sidebar,Wrap in SidebarProvider,Use SidebarProvider for sidebar state management,SidebarProvider at layout level,Sidebar without provider,<SidebarProvider><Sidebar></SidebarProvider>,<Sidebar> without provider,High,https://ui.shadcn.com/docs/components/sidebar
|
|
47
|
+
46,Sidebar,Use SidebarTrigger,Include SidebarTrigger for mobile toggle,SidebarTrigger for responsive toggle,Custom toggle button,<SidebarTrigger/>,<Button onClick={() => toggleSidebar()}>,Medium,https://ui.shadcn.com/docs/components/sidebar
|
|
48
|
+
47,Chart,Use Chart for data viz,Chart component with Recharts integration,Chart component for dashboards,Direct Recharts without wrapper,<ChartContainer config={chartConfig}>,<ResponsiveContainer><BarChart>,Medium,https://ui.shadcn.com/docs/components/chart
|
|
49
|
+
48,Chart,Define chart config,Create chartConfig for consistent theming,chartConfig with color definitions,Inline colors in charts,"{ desktop: { label: ""Desktop"", color: ""#2563eb"" } }",<Bar fill="#2563eb"/>,Medium,https://ui.shadcn.com/docs/components/chart
|
|
50
|
+
49,Chart,Use ChartTooltip,Apply ChartTooltip for interactive charts,ChartTooltip with ChartTooltipContent,Recharts Tooltip directly,<ChartTooltip content={<ChartTooltipContent/>}/>,<Tooltip/> from recharts,Low,https://ui.shadcn.com/docs/components/chart
|
|
51
|
+
50,Blocks,Use blocks for scaffolding,Start from shadcn blocks for common layouts,npx shadcn@latest add dashboard-01,Build dashboard from scratch,npx shadcn@latest add login-01,Custom login page from scratch,Medium,https://ui.shadcn.com/blocks
|
|
52
|
+
51,Blocks,Customize block components,Modify copied block code to fit needs,Edit block files after installation,Use blocks without modification,Customize dashboard-01 layout,Use dashboard-01 as-is,Low,https://ui.shadcn.com/blocks
|
|
53
|
+
52,A11y,Use semantic components,Shadcn components have built-in ARIA,Rely on component accessibility,Override ARIA attributes,<Button> has button role,<div role="button">,High,https://ui.shadcn.com/docs/components/button
|
|
54
|
+
53,A11y,Maintain focus management,Dialog Sheet handle focus automatically,Let components manage focus,Custom focus handling,<Dialog> traps focus,document.querySelector().focus(),High,https://ui.shadcn.com/docs/components/dialog
|
|
55
|
+
54,A11y,Provide labels,Use FormLabel and aria-label appropriately,FormLabel for form inputs,Placeholder as only label,<FormLabel>Email</FormLabel><Input/>,<Input placeholder="Email"/>,High,https://ui.shadcn.com/docs/components/form
|
|
56
|
+
55,Performance,Import components individually,Import only needed components,Named imports from component files,Import all from index,import { Button } from "@/components/ui/button",import { Button Card Dialog } from "@/components/ui",Medium,
|
|
57
|
+
56,Performance,Lazy load dialogs,Dynamic import for heavy dialog content,React.lazy for dialog content,Import all dialogs upfront,const HeavyContent = lazy(() => import('./Heavy')),import HeavyContent from './Heavy',Medium,
|
|
58
|
+
57,Customization,Extend variants with cva,Add new variants using class-variance-authority,Extend buttonVariants for new styles,Inline classes for variants,"variants: { size: { xl: ""h-14 px-8"" } }",className="h-14 px-8",Medium,https://ui.shadcn.com/docs/components/button
|
|
59
|
+
58,Customization,Create custom components,Build new components following shadcn patterns,Use cn() and cva for custom components,Different patterns for custom,const Custom = ({ className }) => <div className={cn("base" className)}>,const Custom = ({ style }) => <div style={style}>,Medium,
|
|
60
|
+
59,Patterns,Use asChild for composition,asChild prop for component composition,Slot pattern with asChild,Wrapper divs for composition,<Button asChild><Link href="/">,<Button><Link href="/"></Link></Button>,Medium,https://ui.shadcn.com/docs/components/button
|
|
61
|
+
60,Patterns,Combine with React Hook Form,Form + useForm for complete forms,RHF Controller with shadcn inputs,Custom form state management,<FormField control={form.control} name="email">,<Input value={email} onChange={(e) => setEmail(e.target.value)},High,https://ui.shadcn.com/docs/components/form
|
package/dist/ui-ux-pro-max-skill/cli/assets/.codex/skills/ui-ux-pro-max/data/stacks/svelte.csv
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Reactivity,Use $: for reactive statements,Automatic dependency tracking,$: for derived values,Manual recalculation,$: doubled = count * 2,let doubled; count && (doubled = count * 2),Medium,https://svelte.dev/docs/svelte-components#script-3-$-marks-a-statement-as-reactive
|
|
3
|
+
2,Reactivity,Trigger reactivity with assignment,Svelte tracks assignments not mutations,Reassign arrays/objects to trigger update,Mutate without reassignment,"items = [...items, newItem]",items.push(newItem),High,https://svelte.dev/docs/svelte-components#script-2-assignments-are-reactive
|
|
4
|
+
3,Reactivity,Use $state in Svelte 5,Runes for explicit reactivity,let count = $state(0),Implicit reactivity in Svelte 5,let count = $state(0),let count = 0 (Svelte 5),Medium,https://svelte.dev/blog/runes
|
|
5
|
+
4,Reactivity,Use $derived for computed values,$derived replaces $: in Svelte 5,let doubled = $derived(count * 2),$: in Svelte 5,let doubled = $derived(count * 2),$: doubled = count * 2 (Svelte 5),Medium,
|
|
6
|
+
5,Reactivity,Use $effect for side effects,$effect replaces $: side effects,Use $effect for subscriptions,$: for side effects in Svelte 5,$effect(() => console.log(count)),$: console.log(count) (Svelte 5),Medium,
|
|
7
|
+
6,Props,Export let for props,Declare props with export let,export let propName,Props without export,export let count = 0,let count = 0,High,https://svelte.dev/docs/svelte-components#script-1-export-creates-a-component-prop
|
|
8
|
+
7,Props,Use $props in Svelte 5,$props rune for prop access,let { name } = $props(),export let in Svelte 5,"let { name, age = 0 } = $props()",export let name; export let age = 0,Medium,
|
|
9
|
+
8,Props,Provide default values,Default props with assignment,export let count = 0,Required props without defaults,export let count = 0,export let count,Low,
|
|
10
|
+
9,Props,Use spread props,Pass through unknown props,{...$$restProps} on elements,Manual prop forwarding,<button {...$$restProps}>,<button class={$$props.class}>,Low,https://svelte.dev/docs/basic-markup#attributes-and-props
|
|
11
|
+
10,Bindings,Use bind: for two-way binding,Simplified input handling,bind:value for inputs,on:input with manual update,<input bind:value={name}>,<input value={name} on:input={e => name = e.target.value}>,Low,https://svelte.dev/docs/element-directives#bind-property
|
|
12
|
+
11,Bindings,Bind to DOM elements,Reference DOM nodes,bind:this for element reference,querySelector in onMount,<div bind:this={el}>,onMount(() => el = document.querySelector()),Medium,
|
|
13
|
+
12,Bindings,Use bind:group for radios/checkboxes,Simplified group handling,bind:group for radio/checkbox groups,Manual checked handling,"<input type=""radio"" bind:group={selected}>","<input type=""radio"" checked={selected === value}>",Low,
|
|
14
|
+
13,Events,Use on: for event handlers,Event directive syntax,on:click={handler},addEventListener in onMount,<button on:click={handleClick}>,onMount(() => btn.addEventListener()),Medium,https://svelte.dev/docs/element-directives#on-eventname
|
|
15
|
+
14,Events,Forward events with on:event,Pass events to parent,on:click without handler,createEventDispatcher for DOM events,<button on:click>,"dispatch('click', event)",Low,
|
|
16
|
+
15,Events,Use createEventDispatcher,Custom component events,dispatch for custom events,on:event for custom events,"dispatch('save', { data })",on:save without dispatch,Medium,https://svelte.dev/docs/svelte#createeventdispatcher
|
|
17
|
+
16,Lifecycle,Use onMount for initialization,Run code after component mounts,onMount for setup and data fetching,Code in script body for side effects,onMount(() => fetchData()),fetchData() in script body,High,https://svelte.dev/docs/svelte#onmount
|
|
18
|
+
17,Lifecycle,Return cleanup from onMount,Automatic cleanup on destroy,Return function from onMount,Separate onDestroy for paired cleanup,onMount(() => { sub(); return unsub }),onMount(sub); onDestroy(unsub),Medium,
|
|
19
|
+
18,Lifecycle,Use onDestroy sparingly,Only when onMount cleanup not possible,onDestroy for non-mount cleanup,onDestroy for mount-related cleanup,onDestroy for store unsubscribe,onDestroy(() => clearInterval(id)),Low,
|
|
20
|
+
19,Lifecycle,Avoid beforeUpdate/afterUpdate,Usually not needed,Reactive statements instead,beforeUpdate for derived state,$: if (x) doSomething(),beforeUpdate(() => doSomething()),Low,
|
|
21
|
+
20,Stores,Use writable for mutable state,Basic reactive store,writable for shared mutable state,Local variables for shared state,const count = writable(0),let count = 0 in module,Medium,https://svelte.dev/docs/svelte-store#writable
|
|
22
|
+
21,Stores,Use readable for read-only state,External data sources,readable for derived/external data,writable for read-only data,"readable(0, set => interval(set))",writable(0) for timer,Low,https://svelte.dev/docs/svelte-store#readable
|
|
23
|
+
22,Stores,Use derived for computed stores,Combine or transform stores,derived for computed values,Manual subscription for derived,"derived(count, $c => $c * 2)",count.subscribe(c => doubled = c * 2),Medium,https://svelte.dev/docs/svelte-store#derived
|
|
24
|
+
23,Stores,Use $ prefix for auto-subscription,Automatic subscribe/unsubscribe,$storeName in components,Manual subscription,{$count},count.subscribe(c => value = c),High,
|
|
25
|
+
24,Stores,Clean up custom subscriptions,Unsubscribe when component destroys,Return unsubscribe from onMount,Leave subscriptions open,onMount(() => store.subscribe(fn)),store.subscribe(fn) in script,High,
|
|
26
|
+
25,Slots,Use slots for composition,Content projection,<slot> for flexible content,Props for all content,<slot>Default</slot>,"<Component content=""text""/>",Medium,https://svelte.dev/docs/special-elements#slot
|
|
27
|
+
26,Slots,Name slots for multiple areas,Multiple content areas,"<slot name=""header"">",Single slot for complex layouts,"<slot name=""header""><slot name=""footer"">",<slot> with complex conditionals,Low,
|
|
28
|
+
27,Slots,Check slot content with $$slots,Conditional slot rendering,$$slots.name for conditional rendering,Always render slot wrapper,"{#if $$slots.footer}<slot name=""footer""/>{/if}","<div><slot name=""footer""/></div>",Low,
|
|
29
|
+
28,Styling,Use scoped styles by default,Styles scoped to component,<style> for component styles,Global styles for component,:global() only when needed,<style> all global,Medium,https://svelte.dev/docs/svelte-components#style
|
|
30
|
+
29,Styling,Use :global() sparingly,Escape scoping when needed,:global for third-party styling,Global for all styles,:global(.external-lib),<style> without scoping,Medium,
|
|
31
|
+
30,Styling,Use CSS variables for theming,Dynamic styling,CSS custom properties,Inline styles for themes,"style=""--color: {color}""","style=""color: {color}""",Low,
|
|
32
|
+
31,Transitions,Use built-in transitions,Svelte transition directives,transition:fade for simple effects,Manual CSS transitions,<div transition:fade>,<div class:fade={visible}>,Low,https://svelte.dev/docs/element-directives#transition-fn
|
|
33
|
+
32,Transitions,Use in: and out: separately,Different enter/exit animations,in:fly out:fade for asymmetric,Same transition for both,<div in:fly out:fade>,<div transition:fly>,Low,
|
|
34
|
+
33,Transitions,Add local modifier,Prevent ancestor trigger,transition:fade|local,Global transitions for lists,<div transition:slide|local>,<div transition:slide>,Medium,
|
|
35
|
+
34,Actions,Use actions for DOM behavior,Reusable DOM logic,use:action for DOM enhancements,onMount for each usage,<div use:clickOutside>,onMount(() => setupClickOutside(el)),Medium,https://svelte.dev/docs/element-directives#use-action
|
|
36
|
+
35,Actions,Return update and destroy,Lifecycle methods for actions,"Return { update, destroy }",Only initial setup,"return { update(params) {}, destroy() {} }",return destroy only,Medium,
|
|
37
|
+
36,Actions,Pass parameters to actions,Configure action behavior,use:action={params},Hardcoded action behavior,<div use:tooltip={options}>,<div use:tooltip>,Low,
|
|
38
|
+
37,Logic,Use {#if} for conditionals,Template conditionals,{#if} {:else if} {:else},Ternary in expressions,{#if cond}...{:else}...{/if},{cond ? a : b} for complex,Low,https://svelte.dev/docs/logic-blocks#if
|
|
39
|
+
38,Logic,Use {#each} for lists,List rendering,{#each} with key,Map in expression,{#each items as item (item.id)},{items.map(i => `<div>${i}</div>`)},Medium,
|
|
40
|
+
39,Logic,Always use keys in {#each},Proper list reconciliation,(item.id) for unique key,Index as key or no key,{#each items as item (item.id)},"{#each items as item, i (i)}",High,
|
|
41
|
+
40,Logic,Use {#await} for promises,Handle async states,{#await} for loading/error states,Manual promise handling,{#await promise}...{:then}...{:catch},{#if loading}...{#if error},Medium,https://svelte.dev/docs/logic-blocks#await
|
|
42
|
+
41,SvelteKit,Use +page.svelte for routes,File-based routing,+page.svelte for route components,Custom routing setup,routes/about/+page.svelte,routes/About.svelte,Medium,https://kit.svelte.dev/docs/routing
|
|
43
|
+
42,SvelteKit,Use +page.js for data loading,Load data before render,load function in +page.js,onMount for data fetching,export function load() {},onMount(() => fetchData()),High,https://kit.svelte.dev/docs/load
|
|
44
|
+
43,SvelteKit,Use +page.server.js for server-only,Server-side data loading,+page.server.js for sensitive data,+page.js for API keys,+page.server.js with DB access,+page.js with DB access,High,
|
|
45
|
+
44,SvelteKit,Use form actions,Server-side form handling,+page.server.js actions,API routes for forms,export const actions = { default },fetch('/api/submit'),Medium,https://kit.svelte.dev/docs/form-actions
|
|
46
|
+
45,SvelteKit,Use $app/stores for app state,$page $navigating $updated,$page for current page data,Manual URL parsing,import { page } from '$app/stores',window.location.pathname,Medium,https://kit.svelte.dev/docs/modules#$app-stores
|
|
47
|
+
46,Performance,Use {#key} for forced re-render,Reset component state,{#key id} for fresh instance,Manual destroy/create,{#key item.id}<Component/>{/key},on:change={() => component = null},Low,https://svelte.dev/docs/logic-blocks#key
|
|
48
|
+
47,Performance,Avoid unnecessary reactivity,Not everything needs $:,$: only for side effects,$: for simple assignments,$: if (x) console.log(x),$: y = x (when y = x works),Low,
|
|
49
|
+
48,Performance,Use immutable compiler option,Skip equality checks,immutable: true for large lists,Default for all components,<svelte:options immutable/>,Default without immutable,Low,
|
|
50
|
+
49,TypeScript,"Use lang=""ts"" in script",TypeScript support,"<script lang=""ts"">",JavaScript for typed projects,"<script lang=""ts"">",<script> with JSDoc,Medium,https://svelte.dev/docs/typescript
|
|
51
|
+
50,TypeScript,Type props with interface,Explicit prop types,interface $$Props for types,Untyped props,interface $$Props { name: string },export let name,Medium,
|
|
52
|
+
51,TypeScript,Type events with createEventDispatcher,Type-safe events,createEventDispatcher<Events>(),Untyped dispatch,createEventDispatcher<{ save: Data }>(),createEventDispatcher(),Medium,
|
|
53
|
+
52,Accessibility,Use semantic elements,Proper HTML in templates,button nav main appropriately,div for everything,<button on:click>,<div on:click>,High,
|
|
54
|
+
53,Accessibility,Add aria to dynamic content,Accessible state changes,aria-live for updates,Silent dynamic updates,"<div aria-live=""polite"">{message}</div>",<div>{message}</div>,Medium,
|