takomi 2.0.4
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/README.md +422 -0
- package/assets/.agent/skills/agent-recovery/SKILL.md +147 -0
- package/assets/.agent/skills/ai-avatar-video/SKILL.md +153 -0
- package/assets/.agent/skills/ai-marketing-videos/SKILL.md +295 -0
- package/assets/.agent/skills/ai-podcast-creation/SKILL.md +292 -0
- package/assets/.agent/skills/ai-product-photography/SKILL.md +269 -0
- package/assets/.agent/skills/ai-sdk/SKILL.md +77 -0
- package/assets/.agent/skills/ai-sdk/references/ai-gateway.md +66 -0
- package/assets/.agent/skills/ai-sdk/references/common-errors.md +443 -0
- package/assets/.agent/skills/ai-sdk/references/type-safe-agents.md +204 -0
- package/assets/.agent/skills/ai-social-media-content/SKILL.md +253 -0
- package/assets/.agent/skills/ai-voice-cloning/SKILL.md +276 -0
- package/assets/.agent/skills/algorithmic-art/LICENSE.txt +202 -0
- package/assets/.agent/skills/algorithmic-art/SKILL.md +405 -0
- package/assets/.agent/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/assets/.agent/skills/algorithmic-art/templates/viewer.html +599 -0
- package/assets/.agent/skills/audit-website/SKILL.md +631 -0
- package/assets/.agent/skills/audit-website/agents/openai.yaml +6 -0
- package/assets/.agent/skills/audit-website/assets/icon-large.png +0 -0
- package/assets/.agent/skills/audit-website/assets/icon-small.svg +41 -0
- package/assets/.agent/skills/audit-website/references/OUTPUT-FORMAT.md +250 -0
- package/assets/.agent/skills/avoid-feature-creep/SKILL.md +307 -0
- package/assets/.agent/skills/avoid-feature-creep/agents/openai.yaml +3 -0
- package/assets/.agent/skills/avoid-feature-creep/assets/large-logo.png +0 -0
- package/assets/.agent/skills/avoid-feature-creep/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/building-native-ui/SKILL.md +320 -0
- package/assets/.agent/skills/building-native-ui/references/animations.md +220 -0
- package/assets/.agent/skills/building-native-ui/references/controls.md +270 -0
- package/assets/.agent/skills/building-native-ui/references/form-sheet.md +227 -0
- package/assets/.agent/skills/building-native-ui/references/gradients.md +106 -0
- package/assets/.agent/skills/building-native-ui/references/icons.md +213 -0
- package/assets/.agent/skills/building-native-ui/references/media.md +198 -0
- package/assets/.agent/skills/building-native-ui/references/route-structure.md +229 -0
- package/assets/.agent/skills/building-native-ui/references/search.md +248 -0
- package/assets/.agent/skills/building-native-ui/references/storage.md +121 -0
- package/assets/.agent/skills/building-native-ui/references/tabs.md +368 -0
- package/assets/.agent/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
- package/assets/.agent/skills/building-native-ui/references/visual-effects.md +197 -0
- package/assets/.agent/skills/building-native-ui/references/webgpu-three.md +605 -0
- package/assets/.agent/skills/building-native-ui/references/zoom-transitions.md +158 -0
- package/assets/.agent/skills/code-review/SKILL.md +81 -0
- package/assets/.agent/skills/component-analysis/SKILL.md +103 -0
- package/assets/.agent/skills/context7/SKILL.md +85 -0
- package/assets/.agent/skills/convex/SKILL.md +62 -0
- package/assets/.agent/skills/convex/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-agents/SKILL.md +516 -0
- package/assets/.agent/skills/convex-agents/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-agents/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-agents/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-best-practices/SKILL.md +369 -0
- package/assets/.agent/skills/convex-best-practices/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-best-practices/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-best-practices/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-component-authoring/SKILL.md +457 -0
- package/assets/.agent/skills/convex-component-authoring/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-component-authoring/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-component-authoring/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-cron-jobs/SKILL.md +604 -0
- package/assets/.agent/skills/convex-cron-jobs/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-cron-jobs/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-cron-jobs/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-file-storage/SKILL.md +467 -0
- package/assets/.agent/skills/convex-file-storage/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-file-storage/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-file-storage/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-functions/SKILL.md +458 -0
- package/assets/.agent/skills/convex-functions/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-functions/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-functions/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-http-actions/SKILL.md +733 -0
- package/assets/.agent/skills/convex-http-actions/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-http-actions/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-http-actions/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-migrations/SKILL.md +712 -0
- package/assets/.agent/skills/convex-migrations/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-migrations/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-migrations/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-realtime/SKILL.md +443 -0
- package/assets/.agent/skills/convex-realtime/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-realtime/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-realtime/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-schema-validator/SKILL.md +400 -0
- package/assets/.agent/skills/convex-schema-validator/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-schema-validator/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-schema-validator/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-security-audit/SKILL.md +539 -0
- package/assets/.agent/skills/convex-security-audit/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-security-audit/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-security-audit/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-security-check/SKILL.md +378 -0
- package/assets/.agent/skills/convex-security-check/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-security-check/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-security-check/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/copywriting/SKILL.md +251 -0
- package/assets/.agent/skills/copywriting/references/copy-frameworks.md +338 -0
- package/assets/.agent/skills/copywriting/references/natural-transitions.md +252 -0
- package/assets/.agent/skills/crafting-effective-readmes/SKILL.md +78 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/art-of-readme.md +536 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/make-a-readme.md +119 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/standard-readme-example-maximal.md +68 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/standard-readme-example-minimal.md +21 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/standard-readme-spec.md +242 -0
- package/assets/.agent/skills/crafting-effective-readmes/section-checklist.md +17 -0
- package/assets/.agent/skills/crafting-effective-readmes/style-guide.md +13 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/internal.md +106 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/oss.md +77 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/personal.md +51 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/xdg-config.md +71 -0
- package/assets/.agent/skills/crafting-effective-readmes/using-references.md +35 -0
- package/assets/.agent/skills/docx/LICENSE.txt +30 -0
- package/assets/.agent/skills/docx/SKILL.md +481 -0
- package/assets/.agent/skills/docx/scripts/accept_changes.py +135 -0
- package/assets/.agent/skills/docx/scripts/comment.py +318 -0
- package/assets/.agent/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/assets/.agent/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/assets/.agent/skills/docx/scripts/office/pack.py +159 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/assets/.agent/skills/docx/scripts/office/soffice.py +183 -0
- package/assets/.agent/skills/docx/scripts/office/unpack.py +132 -0
- package/assets/.agent/skills/docx/scripts/office/validate.py +111 -0
- package/assets/.agent/skills/docx/scripts/office/validators/base.py +847 -0
- package/assets/.agent/skills/docx/scripts/office/validators/docx.py +446 -0
- package/assets/.agent/skills/docx/scripts/office/validators/pptx.py +275 -0
- package/assets/.agent/skills/docx/scripts/office/validators/redlining.py +247 -0
- package/assets/.agent/skills/docx/scripts/templates/comments.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/people.xml +3 -0
- package/assets/.agent/skills/domain-name-brainstormer/SKILL.md +212 -0
- package/assets/.agent/skills/frontend-design/LICENSE.txt +177 -0
- package/assets/.agent/skills/frontend-design/SKILL.md +42 -0
- package/assets/.agent/skills/gemini/SKILL.md +223 -0
- package/assets/.agent/skills/git-worktree/SKILL.md +78 -0
- package/assets/.agent/skills/github-ops/SKILL.md +220 -0
- package/assets/.agent/skills/github-ops/scripts/publish_issues.ps1 +443 -0
- package/assets/.agent/skills/github-ops/scripts/smart-ops.ps1 +128 -0
- package/assets/.agent/skills/github-ops/scripts/smart-ops.sh +130 -0
- package/assets/.agent/skills/global-brand-namer/SKILL.md +119 -0
- package/assets/.agent/skills/global-brand-namer/references/language-matrices.md +196 -0
- package/assets/.agent/skills/global-brand-namer/references/saas-modifiers.md +132 -0
- package/assets/.agent/skills/google-trends/SKILL.md +157 -0
- package/assets/.agent/skills/google-trends/scripts/package.json +17 -0
- package/assets/.agent/skills/google-trends/scripts/pnpm-lock.yaml +31 -0
- package/assets/.agent/skills/google-trends/scripts/search.js +168 -0
- package/assets/.agent/skills/high-fidelity-extraction/SKILL.md +59 -0
- package/assets/.agent/skills/jules/SKILL.md +196 -0
- package/assets/.agent/skills/marketing-ideas/SKILL.md +166 -0
- package/assets/.agent/skills/marketing-ideas/references/ideas-by-category.md +347 -0
- package/assets/.agent/skills/monorepo-management/SKILL.md +623 -0
- package/assets/.agent/skills/nextjs-standards/SKILL.md +194 -0
- package/assets/.agent/skills/nextjs-standards/scripts/vibe-verify.py +150 -0
- package/assets/.agent/skills/nextjs-standards/templates/Coding_Guidelines.md +337 -0
- package/assets/.agent/skills/nextjs-standards/templates/Issue_Template.md +194 -0
- package/assets/.agent/skills/optimize-agent-context/SKILL.md +97 -0
- package/assets/.agent/skills/pdf/LICENSE.txt +30 -0
- package/assets/.agent/skills/pdf/SKILL.md +314 -0
- package/assets/.agent/skills/pdf/forms.md +294 -0
- package/assets/.agent/skills/pdf/reference.md +612 -0
- package/assets/.agent/skills/pdf/scripts/check_bounding_boxes.py +65 -0
- package/assets/.agent/skills/pdf/scripts/check_fillable_fields.py +11 -0
- package/assets/.agent/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/assets/.agent/skills/pdf/scripts/create_validation_image.py +37 -0
- package/assets/.agent/skills/pdf/scripts/extract_form_field_info.py +122 -0
- package/assets/.agent/skills/pdf/scripts/extract_form_structure.py +115 -0
- package/assets/.agent/skills/pdf/scripts/fill_fillable_fields.py +98 -0
- package/assets/.agent/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/assets/.agent/skills/pptx/LICENSE.txt +30 -0
- package/assets/.agent/skills/pptx/SKILL.md +232 -0
- package/assets/.agent/skills/pptx/editing.md +205 -0
- package/assets/.agent/skills/pptx/pptxgenjs.md +420 -0
- package/assets/.agent/skills/pptx/scripts/add_slide.py +195 -0
- package/assets/.agent/skills/pptx/scripts/clean.py +286 -0
- package/assets/.agent/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
- package/assets/.agent/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/assets/.agent/skills/pptx/scripts/office/pack.py +159 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/assets/.agent/skills/pptx/scripts/office/soffice.py +183 -0
- package/assets/.agent/skills/pptx/scripts/office/unpack.py +132 -0
- package/assets/.agent/skills/pptx/scripts/office/validate.py +111 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/base.py +847 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/docx.py +446 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/pptx.py +275 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/redlining.py +247 -0
- package/assets/.agent/skills/pptx/scripts/thumbnail.py +289 -0
- package/assets/.agent/skills/pricing-strategy/SKILL.md +227 -0
- package/assets/.agent/skills/pricing-strategy/references/research-methods.md +146 -0
- package/assets/.agent/skills/pricing-strategy/references/tier-structure.md +223 -0
- package/assets/.agent/skills/programmatic-seo/SKILL.md +236 -0
- package/assets/.agent/skills/programmatic-seo/references/playbooks.md +293 -0
- package/assets/.agent/skills/prompt-engineering/SKILL.md +342 -0
- package/assets/.agent/skills/remotion/SKILL.md +45 -0
- package/assets/.agent/skills/remotion/rules/3d.md +86 -0
- package/assets/.agent/skills/remotion/rules/animations.md +29 -0
- package/assets/.agent/skills/remotion/rules/assets/charts-bar-chart.tsx +173 -0
- package/assets/.agent/skills/remotion/rules/assets/text-animations-typewriter.tsx +100 -0
- package/assets/.agent/skills/remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/assets/.agent/skills/remotion/rules/assets.md +78 -0
- package/assets/.agent/skills/remotion/rules/audio.md +172 -0
- package/assets/.agent/skills/remotion/rules/calculate-metadata.md +104 -0
- package/assets/.agent/skills/remotion/rules/can-decode.md +75 -0
- package/assets/.agent/skills/remotion/rules/charts.md +58 -0
- package/assets/.agent/skills/remotion/rules/compositions.md +141 -0
- package/assets/.agent/skills/remotion/rules/display-captions.md +126 -0
- package/assets/.agent/skills/remotion/rules/extract-frames.md +229 -0
- package/assets/.agent/skills/remotion/rules/fonts.md +152 -0
- package/assets/.agent/skills/remotion/rules/get-audio-duration.md +58 -0
- package/assets/.agent/skills/remotion/rules/get-video-dimensions.md +68 -0
- package/assets/.agent/skills/remotion/rules/get-video-duration.md +58 -0
- package/assets/.agent/skills/remotion/rules/gifs.md +138 -0
- package/assets/.agent/skills/remotion/rules/images.md +130 -0
- package/assets/.agent/skills/remotion/rules/import-srt-captions.md +67 -0
- package/assets/.agent/skills/remotion/rules/lottie.md +68 -0
- package/assets/.agent/skills/remotion/rules/maps.md +403 -0
- package/assets/.agent/skills/remotion/rules/measuring-dom-nodes.md +35 -0
- package/assets/.agent/skills/remotion/rules/measuring-text.md +143 -0
- package/assets/.agent/skills/remotion/rules/parameters.md +98 -0
- package/assets/.agent/skills/remotion/rules/sequencing.md +118 -0
- package/assets/.agent/skills/remotion/rules/tailwind.md +11 -0
- package/assets/.agent/skills/remotion/rules/text-animations.md +20 -0
- package/assets/.agent/skills/remotion/rules/timing.md +179 -0
- package/assets/.agent/skills/remotion/rules/transcribe-captions.md +19 -0
- package/assets/.agent/skills/remotion/rules/transitions.md +122 -0
- package/assets/.agent/skills/remotion/rules/trimming.md +53 -0
- package/assets/.agent/skills/remotion/rules/videos.md +171 -0
- package/assets/.agent/skills/security-audit/SKILL.md +184 -0
- package/assets/.agent/skills/seo-ready/SKILL.md +140 -0
- package/assets/.agent/skills/seo-ready/references/aeo-geo-patterns.md +279 -0
- package/assets/.agent/skills/seo-ready/references/ai-writing-detection.md +190 -0
- package/assets/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/assets/.agent/skills/skill-creator/SKILL.md +356 -0
- package/assets/.agent/skills/skill-creator/references/output-patterns.md +82 -0
- package/assets/.agent/skills/skill-creator/references/workflows.md +28 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/assets/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/assets/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/assets/.agent/skills/social-content/SKILL.md +277 -0
- package/assets/.agent/skills/social-content/references/platforms.md +163 -0
- package/assets/.agent/skills/social-content/references/post-templates.md +171 -0
- package/assets/.agent/skills/social-content/references/reverse-engineering.md +190 -0
- package/assets/.agent/skills/spawn-task/SKILL.md +130 -0
- package/assets/.agent/skills/stitch/SKILL.md +258 -0
- package/assets/.agent/skills/stitch/design-md/README.md +34 -0
- package/assets/.agent/skills/stitch/design-md/SKILL.md +172 -0
- package/assets/.agent/skills/stitch/design-md/examples/DESIGN.md +154 -0
- package/assets/.agent/skills/stitch/enhance-prompt/README.md +34 -0
- package/assets/.agent/skills/stitch/enhance-prompt/SKILL.md +204 -0
- package/assets/.agent/skills/stitch/enhance-prompt/references/KEYWORDS.md +114 -0
- package/assets/.agent/skills/stitch/react-components/README.md +36 -0
- package/assets/.agent/skills/stitch/react-components/SKILL.md +47 -0
- package/assets/.agent/skills/stitch/react-components/examples/gold-standard-card.tsx +80 -0
- package/assets/.agent/skills/stitch/react-components/package-lock.json +231 -0
- package/assets/.agent/skills/stitch/react-components/package.json +16 -0
- package/assets/.agent/skills/stitch/react-components/resources/architecture-checklist.md +15 -0
- package/assets/.agent/skills/stitch/react-components/resources/component-template.tsx +37 -0
- package/assets/.agent/skills/stitch/react-components/resources/stitch-api-reference.md +14 -0
- package/assets/.agent/skills/stitch/react-components/resources/style-guide.json +27 -0
- package/assets/.agent/skills/stitch/react-components/scripts/fetch-stitch.sh +30 -0
- package/assets/.agent/skills/stitch/react-components/scripts/validate.js +68 -0
- package/assets/.agent/skills/stitch/remotion/README.md +105 -0
- package/assets/.agent/skills/stitch/remotion/SKILL.md +393 -0
- package/assets/.agent/skills/stitch/remotion/examples/WalkthroughComposition.tsx +78 -0
- package/assets/.agent/skills/stitch/remotion/examples/screens.json +56 -0
- package/assets/.agent/skills/stitch/remotion/resources/composition-checklist.md +124 -0
- package/assets/.agent/skills/stitch/remotion/resources/screen-slide-template.tsx +123 -0
- package/assets/.agent/skills/stitch/remotion/scripts/download-stitch-asset.sh +38 -0
- package/assets/.agent/skills/stitch/shadcn-ui/README.md +248 -0
- package/assets/.agent/skills/stitch/shadcn-ui/SKILL.md +326 -0
- package/assets/.agent/skills/stitch/shadcn-ui/examples/auth-layout.tsx +177 -0
- package/assets/.agent/skills/stitch/shadcn-ui/examples/data-table.tsx +313 -0
- package/assets/.agent/skills/stitch/shadcn-ui/examples/form-pattern.tsx +177 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/component-catalog.md +481 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/customization-guide.md +516 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/migration-guide.md +463 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/setup-guide.md +412 -0
- package/assets/.agent/skills/stitch/shadcn-ui/scripts/verify-setup.sh +134 -0
- package/assets/.agent/skills/stitch/stitch-loop/README.md +54 -0
- package/assets/.agent/skills/stitch/stitch-loop/SKILL.md +203 -0
- package/assets/.agent/skills/stitch/stitch-loop/examples/SITE.md +73 -0
- package/assets/.agent/skills/stitch/stitch-loop/examples/next-prompt.md +25 -0
- package/assets/.agent/skills/stitch/stitch-loop/resources/baton-schema.md +61 -0
- package/assets/.agent/skills/stitch/stitch-loop/resources/site-template.md +104 -0
- package/assets/.agent/skills/subagent-driven-development/SKILL.md +242 -0
- package/assets/.agent/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/assets/.agent/skills/subagent-driven-development/implementer-prompt.md +78 -0
- package/assets/.agent/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/assets/.agent/skills/sync-docs/SKILL.md +88 -0
- package/assets/.agent/skills/twitter-automation/SKILL.md +157 -0
- package/assets/.agent/skills/ui-ux-pro-max/README.md +488 -0
- package/assets/.agent/skills/ui-ux-pro-max/SKILL.md +293 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-311.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-311.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/core.py +258 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/assets/.agent/skills/upgrading-expo/SKILL.md +125 -0
- package/assets/.agent/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
- package/assets/.agent/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
- package/assets/.agent/skills/upgrading-expo/references/native-tabs.md +124 -0
- package/assets/.agent/skills/upgrading-expo/references/new-architecture.md +79 -0
- package/assets/.agent/skills/upgrading-expo/references/react-19.md +79 -0
- package/assets/.agent/skills/upgrading-expo/references/react-compiler.md +59 -0
- package/assets/.agent/skills/web-design-guidelines/SKILL.md +39 -0
- package/assets/.agent/skills/webapp-testing/LICENSE.txt +202 -0
- package/assets/.agent/skills/webapp-testing/SKILL.md +96 -0
- package/assets/.agent/skills/webapp-testing/examples/console_logging.py +35 -0
- package/assets/.agent/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/assets/.agent/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/assets/.agent/skills/webapp-testing/scripts/with_server.py +106 -0
- package/assets/.agent/skills/xlsx/LICENSE.txt +30 -0
- package/assets/.agent/skills/xlsx/SKILL.md +292 -0
- package/assets/.agent/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/assets/.agent/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/assets/.agent/skills/xlsx/scripts/office/pack.py +159 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/assets/.agent/skills/xlsx/scripts/office/soffice.py +183 -0
- package/assets/.agent/skills/xlsx/scripts/office/unpack.py +132 -0
- package/assets/.agent/skills/xlsx/scripts/office/validate.py +111 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/base.py +847 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/docx.py +446 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/pptx.py +275 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/redlining.py +247 -0
- package/assets/.agent/skills/xlsx/scripts/recalc.py +184 -0
- package/assets/.agent/skills/youtube-pipeline/SKILL.md +194 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase1-strategy.md +224 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase2-packaging.md +148 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase3-scripting.md +197 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase3.5-shorts.md +271 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase4-production.md +193 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase5-repurposing.md +159 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-pipeline.md +161 -0
- package/assets/.agent/skills/youtube-pipeline/scripts/parse_yt_studio.ps1 +150 -0
- package/assets/.agent/workflows/LEGACY/ANTIGRAVITY_TOOLBOX.md +200 -0
- package/assets/.agent/workflows/LEGACY/analyze_component.md +141 -0
- package/assets/.agent/workflows/LEGACY/build_vibecode_project.md +154 -0
- package/assets/.agent/workflows/LEGACY/build_vibecode_project_v2.md +158 -0
- package/assets/.agent/workflows/LEGACY/deep_code_audit.md +79 -0
- package/assets/.agent/workflows/LEGACY/gemini-orchestrate.md +63 -0
- package/assets/.agent/workflows/LEGACY/git_worktree.md +71 -0
- package/assets/.agent/workflows/LEGACY/init_smart_ops.md +101 -0
- package/assets/.agent/workflows/LEGACY/init_vibecode_genesis_v1.md +137 -0
- package/assets/.agent/workflows/LEGACY/multi_agent_strategy.md +62 -0
- package/assets/.agent/workflows/LEGACY/orchestrate.md +321 -0
- package/assets/.agent/workflows/LEGACY/seo_ready.md +249 -0
- package/assets/.agent/workflows/LEGACY/vibe-orchestrator.md +305 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase1-strategy.md +224 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase2-packaging.md +148 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase3-scripting.md +197 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase3.5-shorts.md +271 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase4-production.md +193 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase5-repurposing.md +159 -0
- package/assets/.agent/workflows/LEGACY/youtube-pipeline.md +161 -0
- package/assets/.agent/workflows/README.md +537 -0
- package/assets/.agent/workflows/Vercel Ai SDK.md +34083 -0
- package/assets/.agent/workflows/agent_reset.md +173 -0
- package/assets/.agent/workflows/escalate.md +112 -0
- package/assets/.agent/workflows/migrate.md +135 -0
- package/assets/.agent/workflows/mode-architect.md +422 -0
- package/assets/.agent/workflows/mode-ask.md +294 -0
- package/assets/.agent/workflows/mode-code.md +481 -0
- package/assets/.agent/workflows/mode-debug.md +407 -0
- package/assets/.agent/workflows/mode-orchestrator.md +222 -0
- package/assets/.agent/workflows/mode-review.md +341 -0
- package/assets/.agent/workflows/mode-visionary.md +186 -0
- package/assets/.agent/workflows/optimize-agent-context.md +54 -0
- package/assets/.agent/workflows/remotion-build.md +323 -0
- package/assets/.agent/workflows/reverse_genesis.md +132 -0
- package/assets/.agent/workflows/review_code.md +133 -0
- package/assets/.agent/workflows/spawn-jstar-code-review.md +121 -0
- package/assets/.agent/workflows/stitch.md +149 -0
- package/assets/.agent/workflows/vibe-build.md +271 -0
- package/assets/.agent/workflows/vibe-continueBuild.md +184 -0
- package/assets/.agent/workflows/vibe-design.md +98 -0
- package/assets/.agent/workflows/vibe-finalize.md +208 -0
- package/assets/.agent/workflows/vibe-genesis.md +191 -0
- package/assets/.agent/workflows/vibe-primeAgent.md +110 -0
- package/assets/.agent/workflows/vibe-spawnTask.md +188 -0
- package/assets/.agent/workflows/vibe-syncDocs.md +90 -0
- package/assets/Legacy/0 VibeCode User Manual.md +175 -0
- package/assets/Legacy/1 Project Genesis Protocol The VibeCode Workflow.md +89 -0
- package/assets/Legacy/2/342/234/250 ULTIMATE ORCHESTRATION PROMPT/342/234/250.md" +114 -0
- package/assets/Legacy/3 Design System Genesis Protocol.md +75 -0
- package/assets/Legacy/3.1.1 my_design_system_rules.md +177 -0
- package/assets/Legacy/3.1.2 Material You M3 Genesis Protocol.md +73 -0
- package/assets/Legacy/4 The Ultimate GitHub Issue Meta-Prompt Template.md +54 -0
- package/assets/Legacy/5 The Escalation & Handoff Protocol.md +97 -0
- package/assets/Legacy/8 The Seamless Migration Meta-Prompt (Your Reusable Tool).md +38 -0
- package/assets/Legacy/9 The Reverse Genesis Protocol.md +75 -0
- package/assets/Takomi-Agents/custom_modes.yaml +1252 -0
- package/assets/Takomi-Agents/kilo-code-settings.json +1 -0
- package/assets/Takomi-Agents/vibe-architect.yaml +473 -0
- package/assets/Takomi-Agents/vibe-ask.yaml +395 -0
- package/assets/Takomi-Agents/vibe-code.yaml +522 -0
- package/assets/Takomi-Agents/vibe-debug.yaml +448 -0
- package/assets/Takomi-Agents/vibe-orchestrator.yaml +763 -0
- package/assets/Takomi-Agents/vibe-review.yaml +459 -0
- package/assets/Takomi-Agents/vibe-visionary.yaml +607 -0
- package/bin/takomi.js +2 -0
- package/package.json +42 -0
- package/src/cli.js +638 -0
- package/src/harness.js +281 -0
- package/src/store.js +239 -0
- package/src/utils.js +447 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"""Create thumbnail grids from PowerPoint presentation slides.
|
|
2
|
+
|
|
3
|
+
Creates a grid layout of slide thumbnails for quick visual analysis.
|
|
4
|
+
Labels each thumbnail with its XML filename (e.g., slide1.xml).
|
|
5
|
+
Hidden slides are shown with a placeholder pattern.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
python thumbnail.py input.pptx [output_prefix] [--cols N]
|
|
9
|
+
|
|
10
|
+
Examples:
|
|
11
|
+
python thumbnail.py presentation.pptx
|
|
12
|
+
# Creates: thumbnails.jpg
|
|
13
|
+
|
|
14
|
+
python thumbnail.py template.pptx grid --cols 4
|
|
15
|
+
# Creates: grid.jpg (or grid-1.jpg, grid-2.jpg for large decks)
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import argparse
|
|
19
|
+
import subprocess
|
|
20
|
+
import sys
|
|
21
|
+
import tempfile
|
|
22
|
+
import zipfile
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
|
|
25
|
+
import defusedxml.minidom
|
|
26
|
+
from office.soffice import get_soffice_env
|
|
27
|
+
from PIL import Image, ImageDraw, ImageFont
|
|
28
|
+
|
|
29
|
+
THUMBNAIL_WIDTH = 300
|
|
30
|
+
CONVERSION_DPI = 100
|
|
31
|
+
MAX_COLS = 6
|
|
32
|
+
DEFAULT_COLS = 3
|
|
33
|
+
JPEG_QUALITY = 95
|
|
34
|
+
GRID_PADDING = 20
|
|
35
|
+
BORDER_WIDTH = 2
|
|
36
|
+
FONT_SIZE_RATIO = 0.10
|
|
37
|
+
LABEL_PADDING_RATIO = 0.4
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def main():
|
|
41
|
+
parser = argparse.ArgumentParser(
|
|
42
|
+
description="Create thumbnail grids from PowerPoint slides."
|
|
43
|
+
)
|
|
44
|
+
parser.add_argument("input", help="Input PowerPoint file (.pptx)")
|
|
45
|
+
parser.add_argument(
|
|
46
|
+
"output_prefix",
|
|
47
|
+
nargs="?",
|
|
48
|
+
default="thumbnails",
|
|
49
|
+
help="Output prefix for image files (default: thumbnails)",
|
|
50
|
+
)
|
|
51
|
+
parser.add_argument(
|
|
52
|
+
"--cols",
|
|
53
|
+
type=int,
|
|
54
|
+
default=DEFAULT_COLS,
|
|
55
|
+
help=f"Number of columns (default: {DEFAULT_COLS}, max: {MAX_COLS})",
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
args = parser.parse_args()
|
|
59
|
+
|
|
60
|
+
cols = min(args.cols, MAX_COLS)
|
|
61
|
+
if args.cols > MAX_COLS:
|
|
62
|
+
print(f"Warning: Columns limited to {MAX_COLS}")
|
|
63
|
+
|
|
64
|
+
input_path = Path(args.input)
|
|
65
|
+
if not input_path.exists() or input_path.suffix.lower() != ".pptx":
|
|
66
|
+
print(f"Error: Invalid PowerPoint file: {args.input}", file=sys.stderr)
|
|
67
|
+
sys.exit(1)
|
|
68
|
+
|
|
69
|
+
output_path = Path(f"{args.output_prefix}.jpg")
|
|
70
|
+
|
|
71
|
+
try:
|
|
72
|
+
slide_info = get_slide_info(input_path)
|
|
73
|
+
|
|
74
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
75
|
+
temp_path = Path(temp_dir)
|
|
76
|
+
visible_images = convert_to_images(input_path, temp_path)
|
|
77
|
+
|
|
78
|
+
if not visible_images and not any(s["hidden"] for s in slide_info):
|
|
79
|
+
print("Error: No slides found", file=sys.stderr)
|
|
80
|
+
sys.exit(1)
|
|
81
|
+
|
|
82
|
+
slides = build_slide_list(slide_info, visible_images, temp_path)
|
|
83
|
+
|
|
84
|
+
grid_files = create_grids(slides, cols, THUMBNAIL_WIDTH, output_path)
|
|
85
|
+
|
|
86
|
+
print(f"Created {len(grid_files)} grid(s):")
|
|
87
|
+
for grid_file in grid_files:
|
|
88
|
+
print(f" {grid_file}")
|
|
89
|
+
|
|
90
|
+
except Exception as e:
|
|
91
|
+
print(f"Error: {e}", file=sys.stderr)
|
|
92
|
+
sys.exit(1)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def get_slide_info(pptx_path: Path) -> list[dict]:
|
|
96
|
+
with zipfile.ZipFile(pptx_path, "r") as zf:
|
|
97
|
+
rels_content = zf.read("ppt/_rels/presentation.xml.rels").decode("utf-8")
|
|
98
|
+
rels_dom = defusedxml.minidom.parseString(rels_content)
|
|
99
|
+
|
|
100
|
+
rid_to_slide = {}
|
|
101
|
+
for rel in rels_dom.getElementsByTagName("Relationship"):
|
|
102
|
+
rid = rel.getAttribute("Id")
|
|
103
|
+
target = rel.getAttribute("Target")
|
|
104
|
+
rel_type = rel.getAttribute("Type")
|
|
105
|
+
if "slide" in rel_type and target.startswith("slides/"):
|
|
106
|
+
rid_to_slide[rid] = target.replace("slides/", "")
|
|
107
|
+
|
|
108
|
+
pres_content = zf.read("ppt/presentation.xml").decode("utf-8")
|
|
109
|
+
pres_dom = defusedxml.minidom.parseString(pres_content)
|
|
110
|
+
|
|
111
|
+
slides = []
|
|
112
|
+
for sld_id in pres_dom.getElementsByTagName("p:sldId"):
|
|
113
|
+
rid = sld_id.getAttribute("r:id")
|
|
114
|
+
if rid in rid_to_slide:
|
|
115
|
+
hidden = sld_id.getAttribute("show") == "0"
|
|
116
|
+
slides.append({"name": rid_to_slide[rid], "hidden": hidden})
|
|
117
|
+
|
|
118
|
+
return slides
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def build_slide_list(
|
|
122
|
+
slide_info: list[dict],
|
|
123
|
+
visible_images: list[Path],
|
|
124
|
+
temp_dir: Path,
|
|
125
|
+
) -> list[tuple[Path, str]]:
|
|
126
|
+
if visible_images:
|
|
127
|
+
with Image.open(visible_images[0]) as img:
|
|
128
|
+
placeholder_size = img.size
|
|
129
|
+
else:
|
|
130
|
+
placeholder_size = (1920, 1080)
|
|
131
|
+
|
|
132
|
+
slides = []
|
|
133
|
+
visible_idx = 0
|
|
134
|
+
|
|
135
|
+
for info in slide_info:
|
|
136
|
+
if info["hidden"]:
|
|
137
|
+
placeholder_path = temp_dir / f"hidden-{info['name']}.jpg"
|
|
138
|
+
placeholder_img = create_hidden_placeholder(placeholder_size)
|
|
139
|
+
placeholder_img.save(placeholder_path, "JPEG")
|
|
140
|
+
slides.append((placeholder_path, f"{info['name']} (hidden)"))
|
|
141
|
+
else:
|
|
142
|
+
if visible_idx < len(visible_images):
|
|
143
|
+
slides.append((visible_images[visible_idx], info["name"]))
|
|
144
|
+
visible_idx += 1
|
|
145
|
+
|
|
146
|
+
return slides
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def create_hidden_placeholder(size: tuple[int, int]) -> Image.Image:
|
|
150
|
+
img = Image.new("RGB", size, color="#F0F0F0")
|
|
151
|
+
draw = ImageDraw.Draw(img)
|
|
152
|
+
line_width = max(5, min(size) // 100)
|
|
153
|
+
draw.line([(0, 0), size], fill="#CCCCCC", width=line_width)
|
|
154
|
+
draw.line([(size[0], 0), (0, size[1])], fill="#CCCCCC", width=line_width)
|
|
155
|
+
return img
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
def convert_to_images(pptx_path: Path, temp_dir: Path) -> list[Path]:
|
|
159
|
+
pdf_path = temp_dir / f"{pptx_path.stem}.pdf"
|
|
160
|
+
|
|
161
|
+
result = subprocess.run(
|
|
162
|
+
[
|
|
163
|
+
"soffice",
|
|
164
|
+
"--headless",
|
|
165
|
+
"--convert-to",
|
|
166
|
+
"pdf",
|
|
167
|
+
"--outdir",
|
|
168
|
+
str(temp_dir),
|
|
169
|
+
str(pptx_path),
|
|
170
|
+
],
|
|
171
|
+
capture_output=True,
|
|
172
|
+
text=True,
|
|
173
|
+
env=get_soffice_env(),
|
|
174
|
+
)
|
|
175
|
+
if result.returncode != 0 or not pdf_path.exists():
|
|
176
|
+
raise RuntimeError("PDF conversion failed")
|
|
177
|
+
|
|
178
|
+
result = subprocess.run(
|
|
179
|
+
[
|
|
180
|
+
"pdftoppm",
|
|
181
|
+
"-jpeg",
|
|
182
|
+
"-r",
|
|
183
|
+
str(CONVERSION_DPI),
|
|
184
|
+
str(pdf_path),
|
|
185
|
+
str(temp_dir / "slide"),
|
|
186
|
+
],
|
|
187
|
+
capture_output=True,
|
|
188
|
+
text=True,
|
|
189
|
+
)
|
|
190
|
+
if result.returncode != 0:
|
|
191
|
+
raise RuntimeError("Image conversion failed")
|
|
192
|
+
|
|
193
|
+
return sorted(temp_dir.glob("slide-*.jpg"))
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
def create_grids(
|
|
197
|
+
slides: list[tuple[Path, str]],
|
|
198
|
+
cols: int,
|
|
199
|
+
width: int,
|
|
200
|
+
output_path: Path,
|
|
201
|
+
) -> list[str]:
|
|
202
|
+
max_per_grid = cols * (cols + 1)
|
|
203
|
+
grid_files = []
|
|
204
|
+
|
|
205
|
+
for chunk_idx, start_idx in enumerate(range(0, len(slides), max_per_grid)):
|
|
206
|
+
end_idx = min(start_idx + max_per_grid, len(slides))
|
|
207
|
+
chunk_slides = slides[start_idx:end_idx]
|
|
208
|
+
|
|
209
|
+
grid = create_grid(chunk_slides, cols, width)
|
|
210
|
+
|
|
211
|
+
if len(slides) <= max_per_grid:
|
|
212
|
+
grid_filename = output_path
|
|
213
|
+
else:
|
|
214
|
+
stem = output_path.stem
|
|
215
|
+
suffix = output_path.suffix
|
|
216
|
+
grid_filename = output_path.parent / f"{stem}-{chunk_idx + 1}{suffix}"
|
|
217
|
+
|
|
218
|
+
grid_filename.parent.mkdir(parents=True, exist_ok=True)
|
|
219
|
+
grid.save(str(grid_filename), quality=JPEG_QUALITY)
|
|
220
|
+
grid_files.append(str(grid_filename))
|
|
221
|
+
|
|
222
|
+
return grid_files
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def create_grid(
|
|
226
|
+
slides: list[tuple[Path, str]],
|
|
227
|
+
cols: int,
|
|
228
|
+
width: int,
|
|
229
|
+
) -> Image.Image:
|
|
230
|
+
font_size = int(width * FONT_SIZE_RATIO)
|
|
231
|
+
label_padding = int(font_size * LABEL_PADDING_RATIO)
|
|
232
|
+
|
|
233
|
+
with Image.open(slides[0][0]) as img:
|
|
234
|
+
aspect = img.height / img.width
|
|
235
|
+
height = int(width * aspect)
|
|
236
|
+
|
|
237
|
+
rows = (len(slides) + cols - 1) // cols
|
|
238
|
+
grid_w = cols * width + (cols + 1) * GRID_PADDING
|
|
239
|
+
grid_h = rows * (height + font_size + label_padding * 2) + (rows + 1) * GRID_PADDING
|
|
240
|
+
|
|
241
|
+
grid = Image.new("RGB", (grid_w, grid_h), "white")
|
|
242
|
+
draw = ImageDraw.Draw(grid)
|
|
243
|
+
|
|
244
|
+
try:
|
|
245
|
+
font = ImageFont.load_default(size=font_size)
|
|
246
|
+
except Exception:
|
|
247
|
+
font = ImageFont.load_default()
|
|
248
|
+
|
|
249
|
+
for i, (img_path, slide_name) in enumerate(slides):
|
|
250
|
+
row, col = i // cols, i % cols
|
|
251
|
+
x = col * width + (col + 1) * GRID_PADDING
|
|
252
|
+
y_base = (
|
|
253
|
+
row * (height + font_size + label_padding * 2) + (row + 1) * GRID_PADDING
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
label = slide_name
|
|
257
|
+
bbox = draw.textbbox((0, 0), label, font=font)
|
|
258
|
+
text_w = bbox[2] - bbox[0]
|
|
259
|
+
draw.text(
|
|
260
|
+
(x + (width - text_w) // 2, y_base + label_padding),
|
|
261
|
+
label,
|
|
262
|
+
fill="black",
|
|
263
|
+
font=font,
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
y_thumbnail = y_base + label_padding + font_size + label_padding
|
|
267
|
+
|
|
268
|
+
with Image.open(img_path) as img:
|
|
269
|
+
img.thumbnail((width, height), Image.Resampling.LANCZOS)
|
|
270
|
+
w, h = img.size
|
|
271
|
+
tx = x + (width - w) // 2
|
|
272
|
+
ty = y_thumbnail + (height - h) // 2
|
|
273
|
+
grid.paste(img, (tx, ty))
|
|
274
|
+
|
|
275
|
+
if BORDER_WIDTH > 0:
|
|
276
|
+
draw.rectangle(
|
|
277
|
+
[
|
|
278
|
+
(tx - BORDER_WIDTH, ty - BORDER_WIDTH),
|
|
279
|
+
(tx + w + BORDER_WIDTH - 1, ty + h + BORDER_WIDTH - 1),
|
|
280
|
+
],
|
|
281
|
+
outline="gray",
|
|
282
|
+
width=BORDER_WIDTH,
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
return grid
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
if __name__ == "__main__":
|
|
289
|
+
main()
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pricing-strategy
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' or 'monetization.' This skill covers pricing research, tier structure, and packaging strategy."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Pricing Strategy
|
|
8
|
+
|
|
9
|
+
You are an expert in SaaS pricing and monetization strategy. Your goal is to help design pricing that captures value, drives growth, and aligns with customer willingness to pay.
|
|
10
|
+
|
|
11
|
+
## Before Starting
|
|
12
|
+
|
|
13
|
+
**Check for product marketing context first:**
|
|
14
|
+
If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
|
|
15
|
+
|
|
16
|
+
Gather this context (ask if not provided):
|
|
17
|
+
|
|
18
|
+
### 1. Business Context
|
|
19
|
+
- What type of product? (SaaS, marketplace, e-commerce, service)
|
|
20
|
+
- What's your current pricing (if any)?
|
|
21
|
+
- What's your target market? (SMB, mid-market, enterprise)
|
|
22
|
+
- What's your go-to-market motion? (self-serve, sales-led, hybrid)
|
|
23
|
+
|
|
24
|
+
### 2. Value & Competition
|
|
25
|
+
- What's the primary value you deliver?
|
|
26
|
+
- What alternatives do customers consider?
|
|
27
|
+
- How do competitors price?
|
|
28
|
+
|
|
29
|
+
### 3. Current Performance
|
|
30
|
+
- What's your current conversion rate?
|
|
31
|
+
- What's your ARPU and churn rate?
|
|
32
|
+
- Any feedback on pricing from customers/prospects?
|
|
33
|
+
|
|
34
|
+
### 4. Goals
|
|
35
|
+
- Optimizing for growth, revenue, or profitability?
|
|
36
|
+
- Moving upmarket or expanding downmarket?
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Pricing Fundamentals
|
|
41
|
+
|
|
42
|
+
### The Three Pricing Axes
|
|
43
|
+
|
|
44
|
+
**1. Packaging** — What's included at each tier?
|
|
45
|
+
- Features, limits, support level
|
|
46
|
+
- How tiers differ from each other
|
|
47
|
+
|
|
48
|
+
**2. Pricing Metric** — What do you charge for?
|
|
49
|
+
- Per user, per usage, flat fee
|
|
50
|
+
- How price scales with value
|
|
51
|
+
|
|
52
|
+
**3. Price Point** — How much do you charge?
|
|
53
|
+
- The actual dollar amounts
|
|
54
|
+
- Perceived value vs. cost
|
|
55
|
+
|
|
56
|
+
### Value-Based Pricing
|
|
57
|
+
|
|
58
|
+
Price should be based on value delivered, not cost to serve:
|
|
59
|
+
|
|
60
|
+
- **Customer's perceived value** — The ceiling
|
|
61
|
+
- **Your price** — Between alternatives and perceived value
|
|
62
|
+
- **Next best alternative** — The floor for differentiation
|
|
63
|
+
- **Your cost to serve** — Only a baseline, not the basis
|
|
64
|
+
|
|
65
|
+
**Key insight:** Price between the next best alternative and perceived value.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Value Metrics
|
|
70
|
+
|
|
71
|
+
### What is a Value Metric?
|
|
72
|
+
|
|
73
|
+
The value metric is what you charge for—it should scale with the value customers receive.
|
|
74
|
+
|
|
75
|
+
**Good value metrics:**
|
|
76
|
+
- Align price with value delivered
|
|
77
|
+
- Are easy to understand
|
|
78
|
+
- Scale as customer grows
|
|
79
|
+
- Are hard to game
|
|
80
|
+
|
|
81
|
+
### Common Value Metrics
|
|
82
|
+
|
|
83
|
+
| Metric | Best For | Example |
|
|
84
|
+
|--------|----------|---------|
|
|
85
|
+
| Per user/seat | Collaboration tools | Slack, Notion |
|
|
86
|
+
| Per usage | Variable consumption | AWS, Twilio |
|
|
87
|
+
| Per feature | Modular products | HubSpot add-ons |
|
|
88
|
+
| Per contact/record | CRM, email tools | Mailchimp |
|
|
89
|
+
| Per transaction | Payments, marketplaces | Stripe |
|
|
90
|
+
| Flat fee | Simple products | Basecamp |
|
|
91
|
+
|
|
92
|
+
### Choosing Your Value Metric
|
|
93
|
+
|
|
94
|
+
Ask: "As a customer uses more of [metric], do they get more value?"
|
|
95
|
+
- If yes → good value metric
|
|
96
|
+
- If no → price doesn't align with value
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Tier Structure Overview
|
|
101
|
+
|
|
102
|
+
### Good-Better-Best Framework
|
|
103
|
+
|
|
104
|
+
**Good tier (Entry):** Core features, limited usage, low price
|
|
105
|
+
**Better tier (Recommended):** Full features, reasonable limits, anchor price
|
|
106
|
+
**Best tier (Premium):** Everything, advanced features, 2-3x Better price
|
|
107
|
+
|
|
108
|
+
### Tier Differentiation
|
|
109
|
+
|
|
110
|
+
- **Feature gating** — Basic vs. advanced features
|
|
111
|
+
- **Usage limits** — Same features, different limits
|
|
112
|
+
- **Support level** — Email → Priority → Dedicated
|
|
113
|
+
- **Access** — API, SSO, custom branding
|
|
114
|
+
|
|
115
|
+
**For detailed tier structures and persona-based packaging**: See [references/tier-structure.md](references/tier-structure.md)
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Pricing Research
|
|
120
|
+
|
|
121
|
+
### Van Westendorp Method
|
|
122
|
+
|
|
123
|
+
Four questions that identify acceptable price range:
|
|
124
|
+
1. Too expensive (wouldn't consider)
|
|
125
|
+
2. Too cheap (question quality)
|
|
126
|
+
3. Expensive but might consider
|
|
127
|
+
4. A bargain
|
|
128
|
+
|
|
129
|
+
Analyze intersections to find optimal pricing zone.
|
|
130
|
+
|
|
131
|
+
### MaxDiff Analysis
|
|
132
|
+
|
|
133
|
+
Identifies which features customers value most:
|
|
134
|
+
- Show sets of features
|
|
135
|
+
- Ask: Most important? Least important?
|
|
136
|
+
- Results inform tier packaging
|
|
137
|
+
|
|
138
|
+
**For detailed research methods**: See [references/research-methods.md](references/research-methods.md)
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## When to Raise Prices
|
|
143
|
+
|
|
144
|
+
### Signs It's Time
|
|
145
|
+
|
|
146
|
+
**Market signals:**
|
|
147
|
+
- Competitors have raised prices
|
|
148
|
+
- Prospects don't flinch at price
|
|
149
|
+
- "It's so cheap!" feedback
|
|
150
|
+
|
|
151
|
+
**Business signals:**
|
|
152
|
+
- Very high conversion rates (>40%)
|
|
153
|
+
- Very low churn (<3% monthly)
|
|
154
|
+
- Strong unit economics
|
|
155
|
+
|
|
156
|
+
**Product signals:**
|
|
157
|
+
- Significant value added since last pricing
|
|
158
|
+
- Product more mature/stable
|
|
159
|
+
|
|
160
|
+
### Price Increase Strategies
|
|
161
|
+
|
|
162
|
+
1. **Grandfather existing** — New price for new customers only
|
|
163
|
+
2. **Delayed increase** — Announce 3-6 months out
|
|
164
|
+
3. **Tied to value** — Raise price but add features
|
|
165
|
+
4. **Plan restructure** — Change plans entirely
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Pricing Page Best Practices
|
|
170
|
+
|
|
171
|
+
### Above the Fold
|
|
172
|
+
- Clear tier comparison table
|
|
173
|
+
- Recommended tier highlighted
|
|
174
|
+
- Monthly/annual toggle
|
|
175
|
+
- Primary CTA for each tier
|
|
176
|
+
|
|
177
|
+
### Common Elements
|
|
178
|
+
- Feature comparison table
|
|
179
|
+
- Who each tier is for
|
|
180
|
+
- FAQ section
|
|
181
|
+
- Annual discount callout (17-20%)
|
|
182
|
+
- Money-back guarantee
|
|
183
|
+
- Customer logos/trust signals
|
|
184
|
+
|
|
185
|
+
### Pricing Psychology
|
|
186
|
+
- **Anchoring:** Show higher-priced option first
|
|
187
|
+
- **Decoy effect:** Middle tier should be best value
|
|
188
|
+
- **Charm pricing:** $49 vs. $50 (for value-focused)
|
|
189
|
+
- **Round pricing:** $50 vs. $49 (for premium)
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Pricing Checklist
|
|
194
|
+
|
|
195
|
+
### Before Setting Prices
|
|
196
|
+
- [ ] Defined target customer personas
|
|
197
|
+
- [ ] Researched competitor pricing
|
|
198
|
+
- [ ] Identified your value metric
|
|
199
|
+
- [ ] Conducted willingness-to-pay research
|
|
200
|
+
- [ ] Mapped features to tiers
|
|
201
|
+
|
|
202
|
+
### Pricing Structure
|
|
203
|
+
- [ ] Chosen number of tiers
|
|
204
|
+
- [ ] Differentiated tiers clearly
|
|
205
|
+
- [ ] Set price points based on research
|
|
206
|
+
- [ ] Created annual discount strategy
|
|
207
|
+
- [ ] Planned enterprise/custom tier
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Task-Specific Questions
|
|
212
|
+
|
|
213
|
+
1. What pricing research have you done?
|
|
214
|
+
2. What's your current ARPU and conversion rate?
|
|
215
|
+
3. What's your primary value metric?
|
|
216
|
+
4. Who are your main pricing personas?
|
|
217
|
+
5. Are you self-serve, sales-led, or hybrid?
|
|
218
|
+
6. What pricing changes are you considering?
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Related Skills
|
|
223
|
+
|
|
224
|
+
- **page-cro**: For optimizing pricing page conversion
|
|
225
|
+
- **copywriting**: For pricing page copy
|
|
226
|
+
- **marketing-psychology**: For pricing psychology principles
|
|
227
|
+
- **ab-test-setup**: For testing pricing changes
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Pricing Research Methods
|
|
2
|
+
|
|
3
|
+
## Van Westendorp Price Sensitivity Meter
|
|
4
|
+
|
|
5
|
+
The Van Westendorp survey identifies the acceptable price range for your product.
|
|
6
|
+
|
|
7
|
+
### The Four Questions
|
|
8
|
+
|
|
9
|
+
Ask each respondent:
|
|
10
|
+
1. "At what price would you consider [product] to be so expensive that you would not consider buying it?" (Too expensive)
|
|
11
|
+
2. "At what price would you consider [product] to be priced so low that you would question its quality?" (Too cheap)
|
|
12
|
+
3. "At what price would you consider [product] to be starting to get expensive, but you still might consider it?" (Expensive/high side)
|
|
13
|
+
4. "At what price would you consider [product] to be a bargain—a great buy for the money?" (Cheap/good value)
|
|
14
|
+
|
|
15
|
+
### How to Analyze
|
|
16
|
+
|
|
17
|
+
1. Plot cumulative distributions for each question
|
|
18
|
+
2. Find the intersections:
|
|
19
|
+
- **Point of Marginal Cheapness (PMC):** "Too cheap" crosses "Expensive"
|
|
20
|
+
- **Point of Marginal Expensiveness (PME):** "Too expensive" crosses "Cheap"
|
|
21
|
+
- **Optimal Price Point (OPP):** "Too cheap" crosses "Too expensive"
|
|
22
|
+
- **Indifference Price Point (IDP):** "Expensive" crosses "Cheap"
|
|
23
|
+
|
|
24
|
+
**The acceptable price range:** PMC to PME
|
|
25
|
+
**Optimal pricing zone:** Between OPP and IDP
|
|
26
|
+
|
|
27
|
+
### Survey Tips
|
|
28
|
+
- Need 100-300 respondents for reliable data
|
|
29
|
+
- Segment by persona (different willingness to pay)
|
|
30
|
+
- Use realistic product descriptions
|
|
31
|
+
- Consider adding purchase intent questions
|
|
32
|
+
|
|
33
|
+
### Sample Output
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Price Sensitivity Analysis Results:
|
|
37
|
+
─────────────────────────────────
|
|
38
|
+
Point of Marginal Cheapness: $29/mo
|
|
39
|
+
Optimal Price Point: $49/mo
|
|
40
|
+
Indifference Price Point: $59/mo
|
|
41
|
+
Point of Marginal Expensiveness: $79/mo
|
|
42
|
+
|
|
43
|
+
Recommended range: $49-59/mo
|
|
44
|
+
Current price: $39/mo (below optimal)
|
|
45
|
+
Opportunity: 25-50% price increase without significant demand impact
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## MaxDiff Analysis (Best-Worst Scaling)
|
|
51
|
+
|
|
52
|
+
MaxDiff identifies which features customers value most, informing packaging decisions.
|
|
53
|
+
|
|
54
|
+
### How It Works
|
|
55
|
+
|
|
56
|
+
1. List 8-15 features you could include
|
|
57
|
+
2. Show respondents sets of 4-5 features at a time
|
|
58
|
+
3. Ask: "Which is MOST important? Which is LEAST important?"
|
|
59
|
+
4. Repeat across multiple sets until all features compared
|
|
60
|
+
5. Statistical analysis produces importance scores
|
|
61
|
+
|
|
62
|
+
### Example Survey Question
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
Which feature is MOST important to you?
|
|
66
|
+
Which feature is LEAST important to you?
|
|
67
|
+
|
|
68
|
+
□ Unlimited projects
|
|
69
|
+
□ Custom branding
|
|
70
|
+
□ Priority support
|
|
71
|
+
□ API access
|
|
72
|
+
□ Advanced analytics
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Analyzing Results
|
|
76
|
+
|
|
77
|
+
Features are ranked by utility score:
|
|
78
|
+
- High utility = Must-have (include in base tier)
|
|
79
|
+
- Medium utility = Differentiator (use for tier separation)
|
|
80
|
+
- Low utility = Nice-to-have (premium tier or cut)
|
|
81
|
+
|
|
82
|
+
### Using MaxDiff for Packaging
|
|
83
|
+
|
|
84
|
+
| Utility Score | Packaging Decision |
|
|
85
|
+
|---------------|-------------------|
|
|
86
|
+
| Top 20% | Include in all tiers (table stakes) |
|
|
87
|
+
| 20-50% | Use to differentiate tiers |
|
|
88
|
+
| 50-80% | Higher tiers only |
|
|
89
|
+
| Bottom 20% | Consider cutting or premium add-on |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Willingness to Pay Surveys
|
|
94
|
+
|
|
95
|
+
**Direct method (simple but biased):**
|
|
96
|
+
"How much would you pay for [product]?"
|
|
97
|
+
|
|
98
|
+
**Better: Gabor-Granger method:**
|
|
99
|
+
"Would you buy [product] at [$X]?" (Yes/No)
|
|
100
|
+
Vary price across respondents to build demand curve.
|
|
101
|
+
|
|
102
|
+
**Even better: Conjoint analysis:**
|
|
103
|
+
Show product bundles at different prices
|
|
104
|
+
Respondents choose preferred option
|
|
105
|
+
Statistical analysis reveals price sensitivity per feature
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Usage-Value Correlation Analysis
|
|
110
|
+
|
|
111
|
+
### 1. Instrument usage data
|
|
112
|
+
Track how customers use your product:
|
|
113
|
+
- Feature usage frequency
|
|
114
|
+
- Volume metrics (users, records, API calls)
|
|
115
|
+
- Outcome metrics (revenue generated, time saved)
|
|
116
|
+
|
|
117
|
+
### 2. Correlate with customer success
|
|
118
|
+
- Which usage patterns predict retention?
|
|
119
|
+
- Which usage patterns predict expansion?
|
|
120
|
+
- Which customers pay the most, and why?
|
|
121
|
+
|
|
122
|
+
### 3. Identify value thresholds
|
|
123
|
+
- At what usage level do customers "get it"?
|
|
124
|
+
- At what usage level do they expand?
|
|
125
|
+
- At what usage level should price increase?
|
|
126
|
+
|
|
127
|
+
### Example Analysis
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Usage-Value Correlation Analysis:
|
|
131
|
+
─────────────────────────────────
|
|
132
|
+
Segment: High-LTV customers (>$10k ARR)
|
|
133
|
+
Average monthly active users: 15
|
|
134
|
+
Average projects: 8
|
|
135
|
+
Average integrations: 4
|
|
136
|
+
|
|
137
|
+
Segment: Churned customers
|
|
138
|
+
Average monthly active users: 3
|
|
139
|
+
Average projects: 2
|
|
140
|
+
Average integrations: 0
|
|
141
|
+
|
|
142
|
+
Insight: Value correlates with team adoption (users)
|
|
143
|
+
and depth of use (integrations)
|
|
144
|
+
|
|
145
|
+
Recommendation: Price per user, gate integrations to higher tiers
|
|
146
|
+
```
|