@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/.claude/skills/ui-ux-pro-max/data/react-performance.csv
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
No,Category,Issue,Keywords,Platform,Description,Do,Don't,Code Example Good,Code Example Bad,Severity
|
|
2
|
+
1,Async Waterfall,Defer Await,async await defer branch,React/Next.js,Move await into branches where actually used to avoid blocking unused code paths,Move await operations into branches where they're needed,Await at top of function blocking all branches,"if (skip) return { skipped: true }; const data = await fetch()","const data = await fetch(); if (skip) return { skipped: true }",Critical
|
|
3
|
+
2,Async Waterfall,Promise.all Parallel,promise all parallel concurrent,React/Next.js,Execute independent async operations concurrently using Promise.all(),Use Promise.all() for independent operations,Sequential await for independent operations,"const [user, posts] = await Promise.all([fetchUser(), fetchPosts()])","const user = await fetchUser(); const posts = await fetchPosts()",Critical
|
|
4
|
+
3,Async Waterfall,Dependency Parallelization,better-all dependency parallel,React/Next.js,Use better-all for operations with partial dependencies to maximize parallelism,Use better-all to start each task at earliest possible moment,Wait for unrelated data before starting dependent fetch,"await all({ user() {}, config() {}, profile() { return fetch((await this.$.user).id) } })","const [user, config] = await Promise.all([...]); const profile = await fetchProfile(user.id)",Critical
|
|
5
|
+
4,Async Waterfall,API Route Optimization,api route waterfall promise,React/Next.js,In API routes start independent operations immediately even if not awaited yet,Start promises early and await late,Sequential awaits in API handlers,"const sessionP = auth(); const configP = fetchConfig(); const session = await sessionP","const session = await auth(); const config = await fetchConfig()",Critical
|
|
6
|
+
5,Async Waterfall,Suspense Boundaries,suspense streaming boundary,React/Next.js,Use Suspense to show wrapper UI faster while data loads,Wrap async components in Suspense boundaries,Await data blocking entire page render,"<Suspense fallback={<Skeleton />}><DataDisplay /></Suspense>","const data = await fetchData(); return <DataDisplay data={data} />",High
|
|
7
|
+
6,Bundle Size,Barrel Imports,barrel import direct path,React/Next.js,Import directly from source files instead of barrel files to avoid loading unused modules,Import directly from source path,Import from barrel/index files,"import Check from 'lucide-react/dist/esm/icons/check'","import { Check } from 'lucide-react'",Critical
|
|
8
|
+
7,Bundle Size,Dynamic Imports,dynamic import lazy next,React/Next.js,Use next/dynamic to lazy-load large components not needed on initial render,Use dynamic() for heavy components,Import heavy components at top level,"const Monaco = dynamic(() => import('./monaco'), { ssr: false })","import { MonacoEditor } from './monaco-editor'",Critical
|
|
9
|
+
8,Bundle Size,Defer Third Party,analytics defer third-party,React/Next.js,Load analytics and logging after hydration since they don't block interaction,Load non-critical scripts after hydration,Include analytics in main bundle,"const Analytics = dynamic(() => import('@vercel/analytics'), { ssr: false })","import { Analytics } from '@vercel/analytics/react'",Medium
|
|
10
|
+
9,Bundle Size,Conditional Loading,conditional module lazy,React/Next.js,Load large data or modules only when a feature is activated,Dynamic import when feature enabled,Import large modules unconditionally,"useEffect(() => { if (enabled) import('./heavy.js') }, [enabled])","import { heavyData } from './heavy.js'",High
|
|
11
|
+
10,Bundle Size,Preload Intent,preload hover focus intent,React/Next.js,Preload heavy bundles on hover/focus before they're needed,Preload on user intent signals,Load only on click,"onMouseEnter={() => import('./editor')}","onClick={() => import('./editor')}",Medium
|
|
12
|
+
11,Server,React.cache Dedup,react cache deduplicate request,React/Next.js,Use React.cache() for server-side request deduplication within single request,Wrap data fetchers with cache(),Fetch same data multiple times in tree,"export const getUser = cache(async () => await db.user.find())","export async function getUser() { return await db.user.find() }",Medium
|
|
13
|
+
12,Server,LRU Cache Cross-Request,lru cache cross request,React/Next.js,Use LRU cache for data shared across sequential requests,Use LRU for cross-request caching,Refetch same data on every request,"const cache = new LRUCache({ max: 1000, ttl: 5*60*1000 })","Always fetch from database",High
|
|
14
|
+
13,Server,Minimize Serialization,serialization rsc boundary,React/Next.js,Only pass fields that client actually uses across RSC boundaries,Pass only needed fields to client components,Pass entire objects to client,"<Profile name={user.name} />","<Profile user={user} /> // 50 fields serialized",High
|
|
15
|
+
14,Server,Parallel Fetching,parallel fetch component composition,React/Next.js,Restructure components to parallelize data fetching in RSC,Use component composition for parallel fetches,Sequential fetches in parent component,"<Header /><Sidebar /> // both fetch in parallel","const header = await fetchHeader(); return <><div>{header}</div><Sidebar /></>",Critical
|
|
16
|
+
15,Server,After Non-blocking,after non-blocking logging,React/Next.js,Use Next.js after() to schedule work after response is sent,Use after() for logging/analytics,Block response for non-critical operations,"after(async () => { await logAction() }); return Response.json(data)","await logAction(); return Response.json(data)",Medium
|
|
17
|
+
16,Client,SWR Deduplication,swr dedup cache revalidate,React/Next.js,Use SWR for automatic request deduplication and caching,Use useSWR for client data fetching,Manual fetch in useEffect,"const { data } = useSWR('/api/users', fetcher)","useEffect(() => { fetch('/api/users').then(setUsers) }, [])",Medium-High
|
|
18
|
+
17,Client,Event Listener Dedup,event listener deduplicate global,React/Next.js,Share global event listeners across component instances,Use useSWRSubscription for shared listeners,Register listener per component instance,"useSWRSubscription('global-keydown', () => { window.addEventListener... })","useEffect(() => { window.addEventListener('keydown', handler) }, [])",Low
|
|
19
|
+
18,Rerender,Defer State Reads,state read callback subscription,React/Next.js,Don't subscribe to state only used in callbacks,Read state on-demand in callbacks,Subscribe to state used only in handlers,"const handleClick = () => { const params = new URLSearchParams(location.search) }","const params = useSearchParams(); const handleClick = () => { params.get('ref') }",Medium
|
|
20
|
+
19,Rerender,Memoized Components,memo extract expensive,React/Next.js,Extract expensive work into memoized components for early returns,Extract to memo() components,Compute expensive values before early return,"const UserAvatar = memo(({ user }) => ...); if (loading) return <Skeleton />","const avatar = useMemo(() => compute(user)); if (loading) return <Skeleton />",Medium
|
|
21
|
+
20,Rerender,Narrow Dependencies,effect dependency primitive,React/Next.js,Specify primitive dependencies instead of objects in effects,Use primitive values in dependency arrays,Use object references as dependencies,"useEffect(() => { console.log(user.id) }, [user.id])","useEffect(() => { console.log(user.id) }, [user])",Low
|
|
22
|
+
21,Rerender,Derived State,derived boolean subscription,React/Next.js,Subscribe to derived booleans instead of continuous values,Use derived boolean state,Subscribe to continuous values,"const isMobile = useMediaQuery('(max-width: 767px)')","const width = useWindowWidth(); const isMobile = width < 768",Medium
|
|
23
|
+
22,Rerender,Functional setState,functional setstate callback,React/Next.js,Use functional setState updates for stable callbacks and no stale closures,Use functional form: setState(curr => ...),Reference state directly in setState,"setItems(curr => [...curr, newItem])","setItems([...items, newItem]) // items in deps",Medium
|
|
24
|
+
23,Rerender,Lazy State Init,usestate lazy initialization,React/Next.js,Pass function to useState for expensive initial values,Use function form for expensive init,Compute expensive value directly,"useState(() => buildSearchIndex(items))","useState(buildSearchIndex(items)) // runs every render",Medium
|
|
25
|
+
24,Rerender,Transitions,starttransition non-urgent,React/Next.js,Mark frequent non-urgent state updates as transitions,Use startTransition for non-urgent updates,Block UI on every state change,"startTransition(() => setScrollY(window.scrollY))","setScrollY(window.scrollY) // blocks on every scroll",Medium
|
|
26
|
+
25,Rendering,SVG Animation Wrapper,svg animation wrapper div,React/Next.js,Wrap SVG in div and animate wrapper for hardware acceleration,Animate div wrapper around SVG,Animate SVG element directly,"<div class='animate-spin'><svg>...</svg></div>","<svg class='animate-spin'>...</svg>",Low
|
|
27
|
+
26,Rendering,Content Visibility,content-visibility auto,React/Next.js,Apply content-visibility: auto to defer off-screen rendering,Use content-visibility for long lists,Render all list items immediately,".item { content-visibility: auto; contain-intrinsic-size: 0 80px }","Render 1000 items without optimization",High
|
|
28
|
+
27,Rendering,Hoist Static JSX,hoist static jsx element,React/Next.js,Extract static JSX outside components to avoid re-creation,Hoist static elements to module scope,Create static elements inside components,"const skeleton = <div class='animate-pulse' />; function C() { return skeleton }","function C() { return <div class='animate-pulse' /> }",Low
|
|
29
|
+
28,Rendering,Hydration No Flicker,hydration mismatch flicker,React/Next.js,Use inline script to set client-only data before hydration,Inject sync script for client-only values,Use useEffect causing flash,"<script dangerouslySetInnerHTML={{ __html: 'el.className = localStorage.theme' }} />","useEffect(() => setTheme(localStorage.theme), []) // flickers",Medium
|
|
30
|
+
29,Rendering,Conditional Render,conditional render ternary,React/Next.js,Use ternary instead of && when condition can be 0 or NaN,Use explicit ternary for conditionals,Use && with potentially falsy numbers,"{count > 0 ? <Badge>{count}</Badge> : null}","{count && <Badge>{count}</Badge>} // renders '0'",Low
|
|
31
|
+
30,Rendering,Activity Component,activity show hide preserve,React/Next.js,Use Activity component to preserve state/DOM for toggled components,Use Activity for expensive toggle components,Unmount/remount on visibility toggle,"<Activity mode={isOpen ? 'visible' : 'hidden'}><Menu /></Activity>","{isOpen && <Menu />} // loses state",Medium
|
|
32
|
+
31,JS Perf,Batch DOM CSS,batch dom css reflow,React/Next.js,Group CSS changes via classes or cssText to minimize reflows,Use class toggle or cssText,Change styles one property at a time,"element.classList.add('highlighted')","el.style.width='100px'; el.style.height='200px'",Medium
|
|
33
|
+
32,JS Perf,Index Map Lookup,map index lookup find,React/Next.js,Build Map for repeated lookups instead of multiple .find() calls,Build index Map for O(1) lookups,Use .find() in loops,"const byId = new Map(users.map(u => [u.id, u])); byId.get(id)","users.find(u => u.id === order.userId) // O(n) each time",Low-Medium
|
|
34
|
+
33,JS Perf,Cache Property Access,cache property loop,React/Next.js,Cache object property lookups in hot paths,Cache values before loops,Access nested properties in loops,"const val = obj.config.settings.value; for (...) process(val)","for (...) process(obj.config.settings.value)",Low-Medium
|
|
35
|
+
34,JS Perf,Cache Function Results,memoize cache function,React/Next.js,Use module-level Map to cache repeated function results,Use Map cache for repeated calls,Recompute same values repeatedly,"const cache = new Map(); if (cache.has(x)) return cache.get(x)","slugify(name) // called 100 times same input",Medium
|
|
36
|
+
35,JS Perf,Cache Storage API,localstorage cache read,React/Next.js,Cache localStorage/sessionStorage reads in memory,Cache storage reads in Map,Read storage on every call,"if (!cache.has(key)) cache.set(key, localStorage.getItem(key))","localStorage.getItem('theme') // every call",Low-Medium
|
|
37
|
+
36,JS Perf,Combine Iterations,combine filter map loop,React/Next.js,Combine multiple filter/map into single loop,Single loop for multiple categorizations,Chain multiple filter() calls,"for (u of users) { if (u.isAdmin) admins.push(u); if (u.isTester) testers.push(u) }","users.filter(admin); users.filter(tester); users.filter(inactive)",Low-Medium
|
|
38
|
+
37,JS Perf,Length Check First,length check array compare,React/Next.js,Check array lengths before expensive comparisons,Early return if lengths differ,Always run expensive comparison,"if (a.length !== b.length) return true; // then compare","a.sort().join() !== b.sort().join() // even when lengths differ",Medium-High
|
|
39
|
+
38,JS Perf,Early Return,early return exit function,React/Next.js,Return early when result is determined to skip processing,Return immediately on first error,Process all items then check errors,"for (u of users) { if (!u.email) return { error: 'Email required' } }","let hasError; for (...) { if (!email) hasError=true }; if (hasError)...",Low-Medium
|
|
40
|
+
39,JS Perf,Hoist RegExp,regexp hoist module,React/Next.js,Don't create RegExp inside render - hoist or memoize,Hoist RegExp to module scope,Create RegExp every render,"const EMAIL_RE = /^[^@]+@[^@]+$/; function validate() { EMAIL_RE.test(x) }","function C() { const re = new RegExp(pattern); re.test(x) }",Low-Medium
|
|
41
|
+
40,JS Perf,Loop Min Max,loop min max sort,React/Next.js,Use loop for min/max instead of sort - O(n) vs O(n log n),Single pass loop for min/max,Sort array to find min/max,"let max = arr[0]; for (x of arr) if (x > max) max = x","arr.sort((a,b) => b-a)[0] // O(n log n)",Low
|
|
42
|
+
41,JS Perf,Set Map Lookups,set map includes has,React/Next.js,Use Set/Map for O(1) lookups instead of array.includes(),Convert to Set for membership checks,Use .includes() for repeated checks,"const allowed = new Set(['a','b']); allowed.has(id)","const allowed = ['a','b']; allowed.includes(id)",Low-Medium
|
|
43
|
+
42,JS Perf,toSorted Immutable,tosorted sort immutable,React/Next.js,Use toSorted() instead of sort() to avoid mutating arrays,Use toSorted() for immutability,Mutate arrays with sort(),"users.toSorted((a,b) => a.name.localeCompare(b.name))","users.sort((a,b) => a.name.localeCompare(b.name)) // mutates",Medium-High
|
|
44
|
+
43,Advanced,Event Handler Refs,useeffectevent ref handler,React/Next.js,Store callbacks in refs for stable effect subscriptions,Use useEffectEvent for stable handlers,Re-subscribe on every callback change,"const onEvent = useEffectEvent(handler); useEffect(() => { listen(onEvent) }, [])","useEffect(() => { listen(handler) }, [handler]) // re-subscribes",Low
|
|
45
|
+
44,Advanced,useLatest Hook,uselatest ref callback,React/Next.js,Access latest values in callbacks without adding to dependency arrays,Use useLatest for fresh values in stable callbacks,Add callback to effect dependencies,"const cbRef = useLatest(cb); useEffect(() => { setTimeout(() => cbRef.current()) }, [])","useEffect(() => { setTimeout(() => cb()) }, [cb]) // re-runs",Low
|
package/dist/ui-ux-pro-max-skill/cli/assets/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Widgets,Use StatelessWidget when possible,Immutable widgets are simpler,StatelessWidget for static UI,StatefulWidget for everything,class MyWidget extends StatelessWidget,class MyWidget extends StatefulWidget (static),Medium,https://api.flutter.dev/flutter/widgets/StatelessWidget-class.html
|
|
3
|
+
2,Widgets,Keep widgets small,Single responsibility principle,Extract widgets into smaller pieces,Large build methods,Column(children: [Header() Content()]),500+ line build method,Medium,
|
|
4
|
+
3,Widgets,Use const constructors,Compile-time constants for performance,const MyWidget() when possible,Non-const for static widgets,const Text('Hello'),Text('Hello') for literals,High,https://dart.dev/guides/language/language-tour#constant-constructors
|
|
5
|
+
4,Widgets,Prefer composition over inheritance,Combine widgets using children,Compose widgets,Extend widget classes,Container(child: MyContent()),class MyContainer extends Container,Medium,
|
|
6
|
+
5,State,Use setState correctly,Minimal state in StatefulWidget,setState for UI state changes,setState for business logic,setState(() { _counter++; }),Complex logic in setState,Medium,https://api.flutter.dev/flutter/widgets/State/setState.html
|
|
7
|
+
6,State,Avoid setState in build,Never call setState during build,setState in callbacks only,setState in build method,onPressed: () => setState(() {}),build() { setState(); },High,
|
|
8
|
+
7,State,Use state management for complex apps,Provider Riverpod BLoC,State management for shared state,setState for global state,Provider.of<MyState>(context),Global setState calls,Medium,
|
|
9
|
+
8,State,Prefer Riverpod or Provider,Recommended state solutions,Riverpod for new projects,InheritedWidget manually,ref.watch(myProvider),Custom InheritedWidget,Medium,https://riverpod.dev/
|
|
10
|
+
9,State,Dispose resources,Clean up controllers and subscriptions,dispose() for cleanup,Memory leaks from subscriptions,@override void dispose() { controller.dispose(); },No dispose implementation,High,
|
|
11
|
+
10,Layout,Use Column and Row,Basic layout widgets,Column Row for linear layouts,Stack for simple layouts,"Column(children: [Text(), Button()])",Stack for vertical list,Medium,https://api.flutter.dev/flutter/widgets/Column-class.html
|
|
12
|
+
11,Layout,Use Expanded and Flexible,Control flex behavior,Expanded to fill space,Fixed sizes in flex containers,Expanded(child: Container()),Container(width: 200) in Row,Medium,
|
|
13
|
+
12,Layout,Use SizedBox for spacing,Consistent spacing,SizedBox for gaps,Container for spacing only,SizedBox(height: 16),Container(height: 16),Low,
|
|
14
|
+
13,Layout,Use LayoutBuilder for responsive,Respond to constraints,LayoutBuilder for adaptive layouts,Fixed sizes for responsive,LayoutBuilder(builder: (context constraints) {}),Container(width: 375),Medium,https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html
|
|
15
|
+
14,Layout,Avoid deep nesting,Keep widget tree shallow,Extract deeply nested widgets,10+ levels of nesting,Extract widget to method or class,Column(Row(Column(Row(...)))),Medium,
|
|
16
|
+
15,Lists,Use ListView.builder,Lazy list building,ListView.builder for long lists,ListView with children for large lists,"ListView.builder(itemCount: 100, itemBuilder: ...)",ListView(children: items.map(...).toList()),High,https://api.flutter.dev/flutter/widgets/ListView-class.html
|
|
17
|
+
16,Lists,Provide itemExtent when known,Skip measurement,itemExtent for fixed height items,No itemExtent for uniform lists,ListView.builder(itemExtent: 50),ListView.builder without itemExtent,Medium,
|
|
18
|
+
17,Lists,Use keys for stateful items,Preserve widget state,Key for stateful list items,No key for dynamic lists,ListTile(key: ValueKey(item.id)),ListTile without key,High,
|
|
19
|
+
18,Lists,Use SliverList for custom scroll,Custom scroll effects,CustomScrollView with Slivers,Nested ListViews,CustomScrollView(slivers: [SliverList()]),ListView inside ListView,Medium,https://api.flutter.dev/flutter/widgets/SliverList-class.html
|
|
20
|
+
19,Navigation,Use Navigator 2.0 or GoRouter,Declarative routing,go_router for navigation,Navigator.push for complex apps,GoRouter(routes: [...]),Navigator.push everywhere,Medium,https://pub.dev/packages/go_router
|
|
21
|
+
20,Navigation,Use named routes,Organized navigation,Named routes for clarity,Anonymous routes,Navigator.pushNamed(context '/home'),Navigator.push(context MaterialPageRoute()),Low,
|
|
22
|
+
21,Navigation,Handle back button (PopScope),Android back behavior and predictive back (Android 14+),Use PopScope widget (WillPopScope is deprecated),Use WillPopScope,"PopScope(canPop: false, onPopInvoked: (didPop) => ...)",WillPopScope(onWillPop: ...),High,https://api.flutter.dev/flutter/widgets/PopScope-class.html
|
|
23
|
+
22,Navigation,Pass typed arguments,Type-safe route arguments,Typed route arguments,Dynamic arguments,MyRoute(id: '123'),arguments: {'id': '123'},Medium,
|
|
24
|
+
23,Async,Use FutureBuilder,Async UI building,FutureBuilder for async data,setState for async,FutureBuilder(future: fetchData()),fetchData().then((d) => setState()),Medium,https://api.flutter.dev/flutter/widgets/FutureBuilder-class.html
|
|
25
|
+
24,Async,Use StreamBuilder,Stream UI building,StreamBuilder for streams,Manual stream subscription,StreamBuilder(stream: myStream),stream.listen in initState,Medium,https://api.flutter.dev/flutter/widgets/StreamBuilder-class.html
|
|
26
|
+
25,Async,Handle loading and error states,Complete async UI states,ConnectionState checks,Only success state,if (snapshot.connectionState == ConnectionState.waiting),No loading indicator,High,
|
|
27
|
+
26,Async,Cancel subscriptions,Clean up stream subscriptions,Cancel in dispose,Memory leaks,subscription.cancel() in dispose,No subscription cleanup,High,
|
|
28
|
+
27,Theming,Use ThemeData,Consistent theming,ThemeData for app theme,Hardcoded colors,Theme.of(context).primaryColor,Color(0xFF123456) everywhere,Medium,https://api.flutter.dev/flutter/material/ThemeData-class.html
|
|
29
|
+
28,Theming,Use ColorScheme,Material 3 color system,ColorScheme for colors,Individual color properties,colorScheme: ColorScheme.fromSeed(),primaryColor: Colors.blue,Medium,
|
|
30
|
+
29,Theming,Access theme via context,Dynamic theme access,Theme.of(context),Static theme reference,Theme.of(context).textTheme.bodyLarge,TextStyle(fontSize: 16),Medium,
|
|
31
|
+
30,Theming,Support dark mode,Respect system theme,darkTheme in MaterialApp,Light theme only,"MaterialApp(theme: light, darkTheme: dark)",MaterialApp(theme: light),Medium,
|
|
32
|
+
31,Animation,Use implicit animations,Simple animations,AnimatedContainer AnimatedOpacity,Explicit for simple transitions,AnimatedContainer(duration: Duration()),AnimationController for fade,Low,https://api.flutter.dev/flutter/widgets/AnimatedContainer-class.html
|
|
33
|
+
32,Animation,Use AnimationController for complex,Fine-grained control,AnimationController with Ticker,Implicit for complex sequences,AnimationController(vsync: this),AnimatedContainer for staggered,Medium,
|
|
34
|
+
33,Animation,Dispose AnimationControllers,Clean up animation resources,dispose() for controllers,Memory leaks,controller.dispose() in dispose,No controller disposal,High,
|
|
35
|
+
34,Animation,Use Hero for transitions,Shared element transitions,Hero for navigation animations,Manual shared element,Hero(tag: 'image' child: Image()),Custom shared element animation,Low,https://api.flutter.dev/flutter/widgets/Hero-class.html
|
|
36
|
+
35,Forms,Use Form widget,Form validation,Form with GlobalKey,Individual validation,Form(key: _formKey child: ...),TextField without Form,Medium,https://api.flutter.dev/flutter/widgets/Form-class.html
|
|
37
|
+
36,Forms,Use TextEditingController,Control text input,Controller for text fields,onChanged for all text,final controller = TextEditingController(),onChanged: (v) => setState(),Medium,
|
|
38
|
+
37,Forms,Validate on submit,Form validation flow,_formKey.currentState!.validate(),Skip validation,if (_formKey.currentState!.validate()),Submit without validation,High,
|
|
39
|
+
38,Forms,Dispose controllers,Clean up text controllers,dispose() for controllers,Memory leaks,controller.dispose() in dispose,No controller disposal,High,
|
|
40
|
+
39,Performance,Use const widgets,Reduce rebuilds,const for static widgets,No const for literals,const Icon(Icons.add),Icon(Icons.add),High,
|
|
41
|
+
40,Performance,Avoid rebuilding entire tree,Minimal rebuild scope,Isolate changing widgets,setState on parent,Consumer only around changing widget,setState on root widget,High,
|
|
42
|
+
41,Performance,Use RepaintBoundary,Isolate repaints,RepaintBoundary for animations,Full screen repaints,RepaintBoundary(child: AnimatedWidget()),Animation without boundary,Medium,https://api.flutter.dev/flutter/widgets/RepaintBoundary-class.html
|
|
43
|
+
42,Performance,Profile with DevTools,Measure before optimizing,Flutter DevTools profiling,Guess at performance,DevTools performance tab,Optimize without measuring,Medium,https://docs.flutter.dev/tools/devtools
|
|
44
|
+
43,Accessibility,Use Semantics widget,Screen reader support,Semantics for accessibility,Missing accessibility info,Semantics(label: 'Submit button'),GestureDetector without semantics,High,https://api.flutter.dev/flutter/widgets/Semantics-class.html
|
|
45
|
+
44,Accessibility,Support large fonts,MediaQuery text scaling,MediaQuery.textScaleFactor,Fixed font sizes,style: Theme.of(context).textTheme,TextStyle(fontSize: 14),High,
|
|
46
|
+
45,Accessibility,Test with screen readers,TalkBack and VoiceOver,Test accessibility regularly,Skip accessibility testing,Regular TalkBack testing,No screen reader testing,High,
|
|
47
|
+
46,Testing,Use widget tests,Test widget behavior,WidgetTester for UI tests,Unit tests only,testWidgets('...' (tester) async {}),Only test() for UI,Medium,https://docs.flutter.dev/testing
|
|
48
|
+
47,Testing,Use integration tests,Full app testing,integration_test package,Manual testing only,IntegrationTestWidgetsFlutterBinding,Manual E2E testing,Medium,
|
|
49
|
+
48,Testing,Mock dependencies,Isolate tests,Mockito or mocktail,Real dependencies in tests,when(mock.method()).thenReturn(),Real API calls in tests,Medium,
|
|
50
|
+
49,Platform,Use Platform checks,Platform-specific code,Platform.isIOS Platform.isAndroid,Same code for all platforms,if (Platform.isIOS) {},Hardcoded iOS behavior,Medium,
|
|
51
|
+
50,Platform,Use kIsWeb for web,Web platform detection,kIsWeb for web checks,Platform for web,if (kIsWeb) {},Platform.isWeb (doesn't exist),Medium,
|
|
52
|
+
51,Packages,Use pub.dev packages,Community packages,Popular maintained packages,Custom implementations,cached_network_image,Custom image cache,Medium,https://pub.dev/
|
|
53
|
+
52,Packages,Check package quality,Quality before adding,Pub points and popularity,Any package without review,100+ pub points,Unmaintained packages,Medium,
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Animation,Use Tailwind animate utilities,Built-in animations are optimized and respect reduced-motion,Use animate-pulse animate-spin animate-ping,Custom @keyframes for simple effects,animate-pulse,@keyframes pulse {...},Medium,https://tailwindcss.com/docs/animation
|
|
3
|
+
2,Animation,Limit bounce animations,Continuous bounce is distracting and causes motion sickness,Use animate-bounce sparingly on CTAs only,Multiple bounce animations on page,Single CTA with animate-bounce,5+ elements with animate-bounce,High,
|
|
4
|
+
3,Animation,Transition duration,Use appropriate transition speeds for UI feedback,duration-150 to duration-300 for UI,duration-1000 or longer for UI elements,transition-all duration-200,transition-all duration-1000,Medium,https://tailwindcss.com/docs/transition-duration
|
|
5
|
+
4,Animation,Hover transitions,Add smooth transitions on hover state changes,Add transition class with hover states,Instant hover changes without transition,hover:bg-gray-100 transition-colors,hover:bg-gray-100 (no transition),Low,
|
|
6
|
+
5,Z-Index,Use Tailwind z-* scale,Consistent stacking context with predefined scale,z-0 z-10 z-20 z-30 z-40 z-50,Arbitrary z-index values,z-50 for modals,z-[9999],Medium,https://tailwindcss.com/docs/z-index
|
|
7
|
+
6,Z-Index,Fixed elements z-index,Fixed navigation and modals need explicit z-index,z-50 for nav z-40 for dropdowns,Relying on DOM order for stacking,fixed top-0 z-50,fixed top-0 (no z-index),High,
|
|
8
|
+
7,Z-Index,Negative z-index for backgrounds,Use negative z-index for decorative backgrounds,z-[-1] for background elements,Positive z-index for backgrounds,-z-10 for decorative,z-10 for background,Low,
|
|
9
|
+
8,Layout,Container max-width,Limit content width for readability,max-w-7xl mx-auto for main content,Full-width content on large screens,max-w-7xl mx-auto px-4,w-full (no max-width),Medium,https://tailwindcss.com/docs/container
|
|
10
|
+
9,Layout,Responsive padding,Adjust padding for different screen sizes,px-4 md:px-6 lg:px-8,Same padding all sizes,px-4 sm:px-6 lg:px-8,px-8 (same all sizes),Medium,
|
|
11
|
+
10,Layout,Grid gaps,Use consistent gap utilities for spacing,gap-4 gap-6 gap-8,Margins on individual items,grid gap-6,grid with mb-4 on each item,Medium,https://tailwindcss.com/docs/gap
|
|
12
|
+
11,Layout,Flexbox alignment,Use flex utilities for alignment,items-center justify-between,Multiple nested wrappers,flex items-center justify-between,Nested divs for alignment,Low,
|
|
13
|
+
12,Images,Aspect ratio,Maintain consistent image aspect ratios,aspect-video aspect-square,No aspect ratio on containers,aspect-video rounded-lg,No aspect control,Medium,https://tailwindcss.com/docs/aspect-ratio
|
|
14
|
+
13,Images,Object fit,Control image scaling within containers,object-cover object-contain,Stretched distorted images,object-cover w-full h-full,No object-fit,Medium,https://tailwindcss.com/docs/object-fit
|
|
15
|
+
14,Images,Lazy loading,Defer loading of off-screen images,loading='lazy' on images,All images eager load,<img loading='lazy'>,<img> without lazy,High,
|
|
16
|
+
15,Images,Responsive images,Serve appropriate image sizes,srcset and sizes attributes,Same large image all devices,srcset with multiple sizes,4000px image everywhere,High,
|
|
17
|
+
16,Typography,Prose plugin,Use @tailwindcss/typography for rich text,prose prose-lg for article content,Custom styles for markdown,prose prose-lg max-w-none,Custom text styling,Medium,https://tailwindcss.com/docs/typography-plugin
|
|
18
|
+
17,Typography,Line height,Use appropriate line height for readability,leading-relaxed for body text,Default tight line height,leading-relaxed (1.625),leading-none or leading-tight,Medium,https://tailwindcss.com/docs/line-height
|
|
19
|
+
18,Typography,Font size scale,Use consistent text size scale,text-sm text-base text-lg text-xl,Arbitrary font sizes,text-lg,text-[17px],Low,https://tailwindcss.com/docs/font-size
|
|
20
|
+
19,Typography,Text truncation,Handle long text gracefully,truncate or line-clamp-*,Overflow breaking layout,line-clamp-2,No overflow handling,Medium,https://tailwindcss.com/docs/text-overflow
|
|
21
|
+
20,Colors,Opacity utilities,Use color opacity utilities,bg-black/50 text-white/80,Separate opacity class,bg-black/50,bg-black opacity-50,Low,https://tailwindcss.com/docs/background-color
|
|
22
|
+
21,Colors,Dark mode,Support dark mode with dark: prefix,dark:bg-gray-900 dark:text-white,No dark mode support,dark:bg-gray-900,Only light theme,Medium,https://tailwindcss.com/docs/dark-mode
|
|
23
|
+
22,Colors,Semantic colors,Use semantic color naming in config,primary secondary danger success,Generic color names in components,bg-primary,bg-blue-500 everywhere,Medium,
|
|
24
|
+
23,Spacing,Consistent spacing scale,Use Tailwind spacing scale consistently,p-4 m-6 gap-8,Arbitrary pixel values,p-4 (1rem),p-[15px],Low,https://tailwindcss.com/docs/customizing-spacing
|
|
25
|
+
24,Spacing,Negative margins,Use sparingly for overlapping effects,-mt-4 for overlapping elements,Negative margins for layout fixing,-mt-8 for card overlap,-m-2 to fix spacing issues,Medium,
|
|
26
|
+
25,Spacing,Space between,Use space-y-* for vertical lists,space-y-4 on flex/grid column,Margin on each child,space-y-4,Each child has mb-4,Low,https://tailwindcss.com/docs/space
|
|
27
|
+
26,Forms,Focus states,Always show focus indicators,focus:ring-2 focus:ring-blue-500,Remove focus outline,focus:ring-2 focus:ring-offset-2,focus:outline-none (no replacement),High,
|
|
28
|
+
27,Forms,Input sizing,Consistent input dimensions,h-10 px-3 for inputs,Inconsistent input heights,h-10 w-full px-3,Various heights per input,Medium,
|
|
29
|
+
28,Forms,Disabled states,Clear disabled styling,disabled:opacity-50 disabled:cursor-not-allowed,No disabled indication,disabled:opacity-50,Same style as enabled,Medium,
|
|
30
|
+
29,Forms,Placeholder styling,Style placeholder text appropriately,placeholder:text-gray-400,Dark placeholder text,placeholder:text-gray-400,Default dark placeholder,Low,
|
|
31
|
+
30,Responsive,Mobile-first approach,Start with mobile styles and add breakpoints,Default mobile + md: lg: xl:,Desktop-first approach,text-sm md:text-base,text-base max-md:text-sm,Medium,https://tailwindcss.com/docs/responsive-design
|
|
32
|
+
31,Responsive,Breakpoint testing,Test at standard breakpoints,320 375 768 1024 1280 1536,Only test on development device,Test all breakpoints,Single device testing,High,
|
|
33
|
+
32,Responsive,Hidden/shown utilities,Control visibility per breakpoint,hidden md:block,Different content per breakpoint,hidden md:flex,Separate mobile/desktop components,Low,https://tailwindcss.com/docs/display
|
|
34
|
+
33,Buttons,Button sizing,Consistent button dimensions,px-4 py-2 or px-6 py-3,Inconsistent button sizes,px-4 py-2 text-sm,Various padding per button,Medium,
|
|
35
|
+
34,Buttons,Touch targets,Minimum 44px touch target on mobile,min-h-[44px] on mobile,Small buttons on mobile,min-h-[44px] min-w-[44px],h-8 w-8 on mobile,High,
|
|
36
|
+
35,Buttons,Loading states,Show loading feedback,disabled + spinner icon,Clickable during loading,<Button disabled><Spinner/></Button>,Button without loading state,High,
|
|
37
|
+
36,Buttons,Icon buttons,Accessible icon-only buttons,aria-label on icon buttons,Icon button without label,<button aria-label='Close'><XIcon/></button>,<button><XIcon/></button>,High,
|
|
38
|
+
37,Cards,Card structure,Consistent card styling,rounded-lg shadow-md p-6,Inconsistent card styles,rounded-2xl shadow-lg p-6,Mixed card styling,Low,
|
|
39
|
+
38,Cards,Card hover states,Interactive cards should have hover feedback,hover:shadow-lg transition-shadow,No hover on clickable cards,hover:shadow-xl transition-shadow,Static cards that are clickable,Medium,
|
|
40
|
+
39,Cards,Card spacing,Consistent internal card spacing,space-y-4 for card content,Inconsistent internal spacing,space-y-4 or p-6,Mixed mb-2 mb-4 mb-6,Low,
|
|
41
|
+
40,Accessibility,Screen reader text,Provide context for screen readers,sr-only for hidden labels,Missing context for icons,<span class='sr-only'>Close menu</span>,No label for icon button,High,https://tailwindcss.com/docs/screen-readers
|
|
42
|
+
41,Accessibility,Focus visible,Show focus only for keyboard users,focus-visible:ring-2,Focus on all interactions,focus-visible:ring-2,focus:ring-2 (shows on click too),Medium,
|
|
43
|
+
42,Accessibility,Reduced motion,Respect user motion preferences,motion-reduce:animate-none,Ignore motion preferences,motion-reduce:transition-none,No reduced motion support,High,https://tailwindcss.com/docs/hover-focus-and-other-states#prefers-reduced-motion
|
|
44
|
+
43,Performance,Configure content paths,Tailwind needs to know where classes are used,Use 'content' array in config,Use deprecated 'purge' option (v2),"content: ['./src/**/*.{js,ts,jsx,tsx}']",purge: [...],High,https://tailwindcss.com/docs/content-configuration
|
|
45
|
+
44,Performance,JIT mode,Use JIT for faster builds and smaller bundles,JIT enabled (default in v3),Full CSS in development,Tailwind v3 defaults,Tailwind v2 without JIT,Medium,
|
|
46
|
+
45,Performance,Avoid @apply bloat,Use @apply sparingly,Direct utilities in HTML,Heavy @apply usage,class='px-4 py-2 rounded',@apply px-4 py-2 rounded;,Low,https://tailwindcss.com/docs/reusing-styles
|
|
47
|
+
46,Plugins,Official plugins,Use official Tailwind plugins,@tailwindcss/forms typography aspect-ratio,Custom implementations,@tailwindcss/forms,Custom form reset CSS,Medium,https://tailwindcss.com/docs/plugins
|
|
48
|
+
47,Plugins,Custom utilities,Create utilities for repeated patterns,Custom utility in config,Repeated arbitrary values,Custom shadow utility,"shadow-[0_4px_20px_rgba(0,0,0,0.1)] everywhere",Medium,
|
|
49
|
+
48,Layout,Container Queries,Use @container for component-based responsiveness,Use @container and @lg: etc.,Media queries for component internals,@container @lg:grid-cols-2,@media (min-width: ...) inside component,Medium,https://github.com/tailwindlabs/tailwindcss-container-queries
|
|
50
|
+
49,Interactivity,Group and Peer,Style based on parent/sibling state,group-hover peer-checked,JS for simple state interactions,group-hover:text-blue-500,onMouseEnter={() => setHover(true)},Low,https://tailwindcss.com/docs/hover-focus-and-other-states#styling-based-on-parent-state
|
|
51
|
+
50,Customization,Arbitrary Values,Use [] for one-off values,w-[350px] for specific needs,Creating config for single use,top-[117px] (if strictly needed),style={{ top: '117px' }},Low,https://tailwindcss.com/docs/adding-custom-styles#using-arbitrary-values
|
|
52
|
+
51,Colors,Theme color variables,Define colors in Tailwind theme and use directly,bg-primary text-success border-cta,bg-[var(--color-primary)] text-[var(--color-success)],bg-primary,bg-[var(--color-primary)],Medium,https://tailwindcss.com/docs/customizing-colors
|
|
53
|
+
52,Colors,Use bg-linear-to-* for gradients,Tailwind v4 uses bg-linear-to-* syntax for gradients,bg-linear-to-r bg-linear-to-b,bg-gradient-to-* (deprecated in v4),bg-linear-to-r from-blue-500 to-purple-500,bg-gradient-to-r from-blue-500 to-purple-500,Medium,https://tailwindcss.com/docs/background-image
|
|
54
|
+
53,Layout,Use shrink-0 shorthand,Shorter class name for flex-shrink-0,shrink-0 shrink,flex-shrink-0 flex-shrink,shrink-0,flex-shrink-0,Low,https://tailwindcss.com/docs/flex-shrink
|
|
55
|
+
54,Layout,Use size-* for square dimensions,Single utility for equal width and height,size-4 size-8 size-12,Separate h-* w-* for squares,size-6,h-6 w-6,Low,https://tailwindcss.com/docs/size
|
|
56
|
+
55,Images,SVG explicit dimensions,Add width/height attributes to SVGs to prevent layout shift before CSS loads,<svg class='size-6' width='24' height='24'>,SVG without explicit dimensions,<svg class='size-6' width='24' height='24'>,<svg class='size-6'>,High,
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Composable,Pure UI composables,Composable functions should only render UI,Accept state and callbacks,Calling usecase/repo,Pure UI composable,Business logic in UI,High,https://developer.android.com/jetpack/compose/mental-model
|
|
3
|
+
2,Composable,Small composables,Each composable has single responsibility,Split into components,Huge composable,Reusable UI,Monolithic UI,Medium,
|
|
4
|
+
3,Composable,Stateless by default,Prefer stateless composables,Hoist state,Local mutable state,Stateless UI,Hidden state,High,https://developer.android.com/jetpack/compose/state#state-hoisting
|
|
5
|
+
4,State,Single source of truth,UI state comes from one source,StateFlow from VM,Multiple states,Unified UiState,Scattered state,High,https://developer.android.com/topic/architecture/ui-layer
|
|
6
|
+
5,State,Model UI State,Use sealed interface/data class,UiState.Loading,Boolean flags,Explicit state,Flag hell,High,
|
|
7
|
+
6,State,remember only UI state,remember for UI-only state,"Scroll, animation",Business state,Correct remember,Misuse remember,High,https://developer.android.com/jetpack/compose/state
|
|
8
|
+
7,State,rememberSaveable,Persist state across config,rememberSaveable,remember,State survives,State lost,High,https://developer.android.com/jetpack/compose/state#restore-ui-state
|
|
9
|
+
8,State,derivedStateOf,Optimize recomposition,derivedStateOf,Recompute always,Optimized,Jank,Medium,https://developer.android.com/jetpack/compose/performance
|
|
10
|
+
9,SideEffect,LaunchedEffect keys,Use correct keys,LaunchedEffect(id),LaunchedEffect(Unit),Scoped effect,Infinite loop,High,https://developer.android.com/jetpack/compose/side-effects
|
|
11
|
+
10,SideEffect,rememberUpdatedState,Avoid stale lambdas,rememberUpdatedState,Capture directly,Safe callback,Stale state,Medium,https://developer.android.com/jetpack/compose/side-effects
|
|
12
|
+
11,SideEffect,DisposableEffect,Clean up resources,onDispose,No cleanup,No leak,Memory leak,High,
|
|
13
|
+
12,Architecture,Unidirectional data flow,UI → VM → State,onEvent,Two-way binding,Predictable flow,Hard debug,High,https://developer.android.com/topic/architecture
|
|
14
|
+
13,Architecture,No business logic in UI,Logic belongs to VM,Collect state,Call repo,Clean UI,Fat UI,High,
|
|
15
|
+
14,Architecture,Expose immutable state,Expose StateFlow,asStateFlow,Mutable exposed,Safe API,State mutation,High,
|
|
16
|
+
15,Lifecycle,Lifecycle-aware collect,Use collectAsStateWithLifecycle,Lifecycle aware,collectAsState,No leak,Leak,High,https://developer.android.com/jetpack/compose/lifecycle
|
|
17
|
+
16,Navigation,Event-based navigation,VM emits navigation event,"VM: Channel + receiveAsFlow(), V: Collect with Dispatchers.Main.immediate",Nav in UI,Decoupled nav,Using State / SharedFlow for navigation -> event is replayed and navigation fires again (StateFlow),High,https://developer.android.com/jetpack/compose/navigation
|
|
18
|
+
17,Navigation,Typed routes,Use sealed routes,sealed class Route,String routes,Type-safe,Runtime crash,Medium,
|
|
19
|
+
18,Performance,Stable parameters,Prefer immutable/stable params,@Immutable,Mutable params,Stable recomposition,Extra recomposition,High,https://developer.android.com/jetpack/compose/performance
|
|
20
|
+
19,Performance,Use key in Lazy,Provide stable keys,key=id,No key,Stable list,Item jump,High,
|
|
21
|
+
20,Performance,Avoid heavy work,No heavy computation in UI,Precompute in VM,Compute in UI,Smooth UI,Jank,High,
|
|
22
|
+
21,Performance,Remember expensive objects,remember heavy objects,remember,Recreate each recomposition,Efficient,Wasteful,Medium,
|
|
23
|
+
22,Theming,Design system,Centralized theme,Material3 tokens,Hardcoded values,Consistent UI,Inconsistent,High,https://developer.android.com/jetpack/compose/themes
|
|
24
|
+
23,Theming,Dark mode support,Theme-based colors,colorScheme,Fixed color,Adaptive UI,Broken dark,Medium,
|
|
25
|
+
24,Layout,Prefer Modifier over extra layouts,Use Modifier to adjust layout instead of adding wrapper composables,Use Modifier.padding(),Wrap content with extra Box,Padding via modifier,Box just for padding,High,https://developer.android.com/jetpack/compose/modifiers
|
|
26
|
+
25,Layout,Avoid deep layout nesting,Deep layout trees increase measure & layout cost,Keep layout flat,Box ? Column ? Box ? Row,Flat hierarchy,Deep nested tree,High,
|
|
27
|
+
26,Layout,Use Row/Column for linear layout,Linear layouts are simpler and more performant,Use Row / Column,Custom layout for simple cases,Row/Column usage,Over-engineered layout,High,
|
|
28
|
+
27,Layout,Use Box only for overlapping content,Box should be used only when children overlap,Stack elements,Use Box as Column,Proper overlay,Misused Box,Medium,
|
|
29
|
+
28,Layout,Prefer LazyColumn over Column scroll,Lazy layouts are virtualized and efficient,LazyColumn,Column.verticalScroll(),Lazy list,Scrollable Column,High,https://developer.android.com/jetpack/compose/lists
|
|
30
|
+
29,Layout,Avoid nested scroll containers,Nested scrolling causes UX & performance issues,Single scroll container,Scroll inside scroll,One scroll per screen,Nested scroll,High,
|
|
31
|
+
30,Layout,Avoid fillMaxSize by default,fillMaxSize may break parent constraints,Use exact size,Fill max everywhere,Constraint-aware size,Overfilled layout,Medium,
|
|
32
|
+
31,Layout,Avoid intrinsic size unless necessary,Intrinsic measurement is expensive,Explicit sizing,IntrinsicSize.Min,Predictable layout,Expensive measure,High,https://developer.android.com/jetpack/compose/layout/intrinsics
|
|
33
|
+
32,Layout,Use Arrangement and Alignment APIs,Declare layout intent explicitly,Use Arrangement / Alignment,Manual spacing hacks,Declarative spacing,Magic spacing,High,
|
|
34
|
+
33,Layout,Extract reusable layout patterns,Repeated layouts should be shared,Create layout composable,Copy-paste layouts,Reusable scaffold,Duplicated layout,High,
|
|
35
|
+
34,Theming,No hardcoded text style,Use typography,MaterialTheme.typography,Hardcode sp,Scalable,Inconsistent,Medium,
|
|
36
|
+
35,Testing,Stateless UI testing,Composable easy to test,Pass state,Hidden state,Testable,Hard test,High,https://developer.android.com/jetpack/compose/testing
|
|
37
|
+
36,Testing,Use testTag,Stable UI selectors,Modifier.testTag,Find by text,Stable tests,Flaky tests,Medium,
|
|
38
|
+
37,Preview,Multiple previews,Preview multiple states,@Preview,Single preview,Better dev UX,Misleading,Low,https://developer.android.com/jetpack/compose/tooling/preview
|
|
39
|
+
38,DI,Inject VM via Hilt,Use hiltViewModel,@HiltViewModel,Manual VM,Clean DI,Coupling,High,https://developer.android.com/training/dependency-injection/hilt-jetpack
|
|
40
|
+
39,DI,No DI in UI,Inject in VM,Constructor inject,Inject composable,Proper scope,Wrong scope,High,
|
|
41
|
+
40,Accessibility,Content description,Accessible UI,contentDescription,Ignore a11y,Inclusive,A11y fail,Medium,https://developer.android.com/jetpack/compose/accessibility
|
|
42
|
+
41,Accessibility,Semantics,Use semantics API,Modifier.semantics,None,Testable a11y,Invisible,Medium,
|
|
43
|
+
42,Animation,Compose animation APIs,Use animate*AsState,AnimatedVisibility,Manual anim,Smooth,Jank,Medium,https://developer.android.com/jetpack/compose/animation
|
|
44
|
+
43,Animation,Avoid animation logic in VM,Animation is UI concern,Animate in UI,Animate in VM,Correct layering,Mixed concern,Low,
|
|
45
|
+
44,Modularization,Feature-based UI modules,UI per feature,:feature:ui,God module,Scalable,Tight coupling,High,https://developer.android.com/topic/modularization
|
|
46
|
+
45,Modularization,Public UI contracts,Expose minimal UI API,Interface/Route,Expose impl,Encapsulated,Leaky module,Medium,
|
|
47
|
+
46,State,Snapshot state only,Use Compose state,mutableStateOf,Custom observable,Compose aware,Buggy UI,Medium,
|
|
48
|
+
47,State,Avoid mutable collections,Immutable list/map,PersistentList,MutableList,Stable UI,Silent bug,High,
|
|
49
|
+
48,Lifecycle,RememberCoroutineScope usage,Only for UI jobs,UI coroutine,Long jobs,Scoped job,Leak,Medium,https://developer.android.com/jetpack/compose/side-effects#remembercoroutinescope
|
|
50
|
+
49,Interop,Interop View carefully,Use AndroidView,Isolated usage,Mix everywhere,Safe interop,Messy UI,Low,https://developer.android.com/jetpack/compose/interop
|
|
51
|
+
50,Interop,Avoid legacy patterns,No LiveData in UI,StateFlow,LiveData,Modern stack,Legacy debt,Medium,
|
|
52
|
+
51,Debug,Use layout inspector,Inspect recomposition,Tools,Blind debug,Fast debug,Guessing,Low,https://developer.android.com/studio/debug/layout-inspector
|
|
53
|
+
52,Debug,Enable recomposition counts,Track recomposition,Debug flags,Ignore,Performance aware,Hidden jank,Low,
|
package/dist/ui-ux-pro-max-skill/cli/assets/.claude/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/.claude/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/.claude/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
|
|
@@ -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
|