devskill 2.0.7 → 2.0.8
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/meta.ts +4 -0
- package/package.json +1 -1
- package/skills/add-educational-comments/LICENSE.md +21 -0
- package/skills/add-educational-comments/SKILL.md +128 -0
- package/skills/add-educational-comments/SYNC.md +5 -0
- package/skills/agent-governance/LICENSE.md +21 -0
- package/skills/agent-governance/SKILL.md +569 -0
- package/skills/agent-governance/SYNC.md +5 -0
- package/skills/agentic-eval/LICENSE.md +21 -0
- package/skills/agentic-eval/SKILL.md +189 -0
- package/skills/agentic-eval/SYNC.md +5 -0
- package/skills/ai-prompt-engineering-safety-review/LICENSE.md +21 -0
- package/skills/ai-prompt-engineering-safety-review/SKILL.md +230 -0
- package/skills/ai-prompt-engineering-safety-review/SYNC.md +5 -0
- package/skills/appinsights-instrumentation/LICENSE.md +21 -0
- package/skills/appinsights-instrumentation/LICENSE.txt +21 -0
- package/skills/appinsights-instrumentation/SKILL.md +48 -0
- package/skills/appinsights-instrumentation/SYNC.md +5 -0
- package/skills/appinsights-instrumentation/examples/appinsights.bicep +30 -0
- package/skills/appinsights-instrumentation/references/ASPNETCORE.md +29 -0
- package/skills/appinsights-instrumentation/references/AUTO.md +13 -0
- package/skills/appinsights-instrumentation/references/NODEJS.md +28 -0
- package/skills/appinsights-instrumentation/references/PYTHON.md +48 -0
- package/skills/appinsights-instrumentation/scripts/appinsights.ps1 +20 -0
- package/skills/apple-appstore-reviewer/LICENSE.md +21 -0
- package/skills/apple-appstore-reviewer/SKILL.md +305 -0
- package/skills/apple-appstore-reviewer/SYNC.md +5 -0
- package/skills/arch-linux-triage/LICENSE.md +21 -0
- package/skills/arch-linux-triage/SKILL.md +31 -0
- package/skills/arch-linux-triage/SYNC.md +5 -0
- package/skills/architecture-blueprint-generator/LICENSE.md +21 -0
- package/skills/architecture-blueprint-generator/SKILL.md +322 -0
- package/skills/architecture-blueprint-generator/SYNC.md +5 -0
- package/skills/aspire/LICENSE.md +21 -0
- package/skills/aspire/SKILL.md +231 -0
- package/skills/aspire/SYNC.md +5 -0
- package/skills/aspire/references/architecture.md +341 -0
- package/skills/aspire/references/cli-reference.md +307 -0
- package/skills/aspire/references/dashboard.md +226 -0
- package/skills/aspire/references/deployment.md +237 -0
- package/skills/aspire/references/integrations-catalog.md +68 -0
- package/skills/aspire/references/mcp-server.md +195 -0
- package/skills/aspire/references/polyglot-apis.md +296 -0
- package/skills/aspire/references/testing.md +281 -0
- package/skills/aspire/references/troubleshooting.md +194 -0
- package/skills/aspnet-minimal-api-openapi/LICENSE.md +21 -0
- package/skills/aspnet-minimal-api-openapi/SKILL.md +41 -0
- package/skills/aspnet-minimal-api-openapi/SYNC.md +5 -0
- package/skills/automate-this/LICENSE.md +21 -0
- package/skills/automate-this/SKILL.md +244 -0
- package/skills/automate-this/SYNC.md +5 -0
- package/skills/autoresearch/LICENSE.md +21 -0
- package/skills/autoresearch/SKILL.md +275 -0
- package/skills/autoresearch/SYNC.md +5 -0
- package/skills/aws-cdk-python-setup/LICENSE.md +21 -0
- package/skills/aws-cdk-python-setup/SKILL.md +111 -0
- package/skills/aws-cdk-python-setup/SYNC.md +5 -0
- package/skills/az-cost-optimize/LICENSE.md +21 -0
- package/skills/az-cost-optimize/SKILL.md +305 -0
- package/skills/az-cost-optimize/SYNC.md +5 -0
- package/skills/azure-deployment-preflight/LICENSE.md +21 -0
- package/skills/azure-deployment-preflight/SKILL.md +216 -0
- package/skills/azure-deployment-preflight/SYNC.md +5 -0
- package/skills/azure-deployment-preflight/references/ERROR-HANDLING.md +392 -0
- package/skills/azure-deployment-preflight/references/REPORT-TEMPLATE.md +352 -0
- package/skills/azure-deployment-preflight/references/VALIDATION-COMMANDS.md +379 -0
- package/skills/azure-devops-cli/LICENSE.md +21 -0
- package/skills/azure-devops-cli/SKILL.md +94 -0
- package/skills/azure-devops-cli/SYNC.md +5 -0
- package/skills/azure-devops-cli/references/advanced-usage.md +197 -0
- package/skills/azure-devops-cli/references/boards-and-iterations.md +258 -0
- package/skills/azure-devops-cli/references/org-and-security.md +469 -0
- package/skills/azure-devops-cli/references/pipelines-and-builds.md +245 -0
- package/skills/azure-devops-cli/references/repos-and-prs.md +333 -0
- package/skills/azure-devops-cli/references/variables-and-agents.md +212 -0
- package/skills/azure-devops-cli/references/workflows-and-patterns.md +668 -0
- package/skills/azure-pricing/LICENSE.md +21 -0
- package/skills/azure-pricing/SKILL.md +189 -0
- package/skills/azure-pricing/SYNC.md +5 -0
- package/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md +135 -0
- package/skills/azure-pricing/references/COST-ESTIMATOR.md +142 -0
- package/skills/azure-pricing/references/REGIONS.md +84 -0
- package/skills/azure-pricing/references/SERVICE-NAMES.md +106 -0
- package/skills/azure-resource-health-diagnose/LICENSE.md +21 -0
- package/skills/azure-resource-health-diagnose/SKILL.md +290 -0
- package/skills/azure-resource-health-diagnose/SYNC.md +5 -0
- package/skills/azure-resource-visualizer/LICENSE.md +21 -0
- package/skills/azure-resource-visualizer/LICENSE.txt +21 -0
- package/skills/azure-resource-visualizer/SKILL.md +233 -0
- package/skills/azure-resource-visualizer/SYNC.md +5 -0
- package/skills/azure-resource-visualizer/assets/template-architecture.md +41 -0
- package/skills/azure-role-selector/LICENSE.md +21 -0
- package/skills/azure-role-selector/LICENSE.txt +21 -0
- package/skills/azure-role-selector/SKILL.md +6 -0
- package/skills/azure-role-selector/SYNC.md +5 -0
- package/skills/azure-static-web-apps/LICENSE.md +21 -0
- package/skills/azure-static-web-apps/SKILL.md +315 -0
- package/skills/azure-static-web-apps/SYNC.md +5 -0
- package/skills/bigquery-pipeline-audit/LICENSE.md +21 -0
- package/skills/bigquery-pipeline-audit/SKILL.md +129 -0
- package/skills/bigquery-pipeline-audit/SYNC.md +5 -0
- package/skills/boost-prompt/LICENSE.md +21 -0
- package/skills/boost-prompt/SKILL.md +25 -0
- package/skills/boost-prompt/SYNC.md +5 -0
- package/skills/breakdown-epic-arch/LICENSE.md +21 -0
- package/skills/breakdown-epic-arch/SKILL.md +66 -0
- package/skills/breakdown-epic-arch/SYNC.md +5 -0
- package/skills/breakdown-epic-pm/LICENSE.md +21 -0
- package/skills/breakdown-epic-pm/SKILL.md +58 -0
- package/skills/breakdown-epic-pm/SYNC.md +5 -0
- package/skills/breakdown-feature-implementation/LICENSE.md +21 -0
- package/skills/breakdown-feature-implementation/SKILL.md +128 -0
- package/skills/breakdown-feature-implementation/SYNC.md +5 -0
- package/skills/breakdown-feature-prd/LICENSE.md +21 -0
- package/skills/breakdown-feature-prd/SKILL.md +61 -0
- package/skills/breakdown-feature-prd/SYNC.md +5 -0
- package/skills/breakdown-plan/LICENSE.md +21 -0
- package/skills/breakdown-plan/SKILL.md +509 -0
- package/skills/breakdown-plan/SYNC.md +5 -0
- package/skills/breakdown-test/LICENSE.md +21 -0
- package/skills/breakdown-test/SKILL.md +365 -0
- package/skills/breakdown-test/SYNC.md +5 -0
- package/skills/centos-linux-triage/LICENSE.md +21 -0
- package/skills/centos-linux-triage/SKILL.md +31 -0
- package/skills/centos-linux-triage/SYNC.md +5 -0
- package/skills/chrome-devtools/LICENSE.md +21 -0
- package/skills/chrome-devtools/SKILL.md +97 -0
- package/skills/chrome-devtools/SYNC.md +5 -0
- package/skills/cli-mastery/LICENSE.md +21 -0
- package/skills/cli-mastery/SKILL.md +43 -0
- package/skills/cli-mastery/SYNC.md +5 -0
- package/skills/cli-mastery/references/final-exam.md +24 -0
- package/skills/cli-mastery/references/module-1-slash-commands.md +88 -0
- package/skills/cli-mastery/references/module-2-keyboard-shortcuts.md +38 -0
- package/skills/cli-mastery/references/module-3-modes.md +33 -0
- package/skills/cli-mastery/references/module-4-agents.md +42 -0
- package/skills/cli-mastery/references/module-5-skills.md +33 -0
- package/skills/cli-mastery/references/module-6-mcp.md +50 -0
- package/skills/cli-mastery/references/module-7-advanced.md +38 -0
- package/skills/cli-mastery/references/module-8-configuration.md +34 -0
- package/skills/cli-mastery/references/scenarios.md +44 -0
- package/skills/cloud-design-patterns/LICENSE.md +21 -0
- package/skills/cloud-design-patterns/SKILL.md +62 -0
- package/skills/cloud-design-patterns/SYNC.md +5 -0
- package/skills/cloud-design-patterns/references/architecture-design.md +127 -0
- package/skills/cloud-design-patterns/references/azure-service-mappings.md +13 -0
- package/skills/cloud-design-patterns/references/best-practices.md +34 -0
- package/skills/cloud-design-patterns/references/deployment-operational.md +91 -0
- package/skills/cloud-design-patterns/references/event-driven.md +21 -0
- package/skills/cloud-design-patterns/references/messaging-integration.md +127 -0
- package/skills/cloud-design-patterns/references/performance.md +180 -0
- package/skills/cloud-design-patterns/references/reliability-resilience.md +156 -0
- package/skills/cloud-design-patterns/references/security.md +55 -0
- package/skills/code-exemplars-blueprint-generator/LICENSE.md +21 -0
- package/skills/code-exemplars-blueprint-generator/SKILL.md +126 -0
- package/skills/code-exemplars-blueprint-generator/SYNC.md +5 -0
- package/skills/codeql/LICENSE.md +21 -0
- package/skills/codeql/SKILL.md +405 -0
- package/skills/codeql/SYNC.md +5 -0
- package/skills/codeql/references/alert-management.md +170 -0
- package/skills/codeql/references/cli-commands.md +283 -0
- package/skills/codeql/references/compiled-languages.md +284 -0
- package/skills/codeql/references/sarif-output.md +265 -0
- package/skills/codeql/references/troubleshooting.md +259 -0
- package/skills/codeql/references/workflow-configuration.md +398 -0
- package/skills/comment-code-generate-a-tutorial/LICENSE.md +21 -0
- package/skills/comment-code-generate-a-tutorial/SKILL.md +26 -0
- package/skills/comment-code-generate-a-tutorial/SYNC.md +5 -0
- package/skills/containerize-aspnet-framework/LICENSE.md +21 -0
- package/skills/containerize-aspnet-framework/SKILL.md +454 -0
- package/skills/containerize-aspnet-framework/SYNC.md +5 -0
- package/skills/containerize-aspnetcore/LICENSE.md +21 -0
- package/skills/containerize-aspnetcore/SKILL.md +392 -0
- package/skills/containerize-aspnetcore/SYNC.md +5 -0
- package/skills/context-map/LICENSE.md +21 -0
- package/skills/context-map/SKILL.md +52 -0
- package/skills/context-map/SYNC.md +5 -0
- package/skills/conventional-commit/LICENSE.md +21 -0
- package/skills/conventional-commit/SKILL.md +72 -0
- package/skills/conventional-commit/SYNC.md +5 -0
- package/skills/convert-plaintext-to-md/LICENSE.md +21 -0
- package/skills/convert-plaintext-to-md/SKILL.md +362 -0
- package/skills/convert-plaintext-to-md/SYNC.md +5 -0
- package/skills/copilot-cli-quickstart/LICENSE.md +21 -0
- package/skills/copilot-cli-quickstart/SKILL.md +774 -0
- package/skills/copilot-cli-quickstart/SYNC.md +5 -0
- package/skills/copilot-instructions-blueprint-generator/LICENSE.md +21 -0
- package/skills/copilot-instructions-blueprint-generator/SKILL.md +294 -0
- package/skills/copilot-instructions-blueprint-generator/SYNC.md +5 -0
- package/skills/copilot-sdk/LICENSE.md +21 -0
- package/skills/copilot-sdk/SKILL.md +914 -0
- package/skills/copilot-sdk/SYNC.md +5 -0
- package/skills/copilot-spaces/LICENSE.md +21 -0
- package/skills/copilot-spaces/SKILL.md +205 -0
- package/skills/copilot-spaces/SYNC.md +5 -0
- package/skills/copilot-usage-metrics/LICENSE.md +21 -0
- package/skills/copilot-usage-metrics/SKILL.md +52 -0
- package/skills/copilot-usage-metrics/SYNC.md +5 -0
- package/skills/copilot-usage-metrics/get-enterprise-metrics.sh +22 -0
- package/skills/copilot-usage-metrics/get-enterprise-user-metrics.sh +22 -0
- package/skills/copilot-usage-metrics/get-org-metrics.sh +22 -0
- package/skills/copilot-usage-metrics/get-org-user-metrics.sh +22 -0
- package/skills/cosmosdb-datamodeling/LICENSE.md +21 -0
- package/skills/cosmosdb-datamodeling/SKILL.md +1045 -0
- package/skills/cosmosdb-datamodeling/SYNC.md +5 -0
- package/skills/create-agentsmd/LICENSE.md +21 -0
- package/skills/create-agentsmd/SKILL.md +249 -0
- package/skills/create-agentsmd/SYNC.md +5 -0
- package/skills/create-architectural-decision-record/LICENSE.md +21 -0
- package/skills/create-architectural-decision-record/SKILL.md +97 -0
- package/skills/create-architectural-decision-record/SYNC.md +5 -0
- package/skills/create-github-action-workflow-specification/LICENSE.md +21 -0
- package/skills/create-github-action-workflow-specification/SKILL.md +276 -0
- package/skills/create-github-action-workflow-specification/SYNC.md +5 -0
- package/skills/create-github-issue-feature-from-specification/LICENSE.md +21 -0
- package/skills/create-github-issue-feature-from-specification/SKILL.md +28 -0
- package/skills/create-github-issue-feature-from-specification/SYNC.md +5 -0
- package/skills/create-github-issues-feature-from-implementation-plan/LICENSE.md +21 -0
- package/skills/create-github-issues-feature-from-implementation-plan/SKILL.md +28 -0
- package/skills/create-github-issues-feature-from-implementation-plan/SYNC.md +5 -0
- package/skills/create-github-issues-for-unmet-specification-requirements/LICENSE.md +21 -0
- package/skills/create-github-issues-for-unmet-specification-requirements/SKILL.md +35 -0
- package/skills/create-github-issues-for-unmet-specification-requirements/SYNC.md +5 -0
- package/skills/create-github-pull-request-from-specification/LICENSE.md +21 -0
- package/skills/create-github-pull-request-from-specification/SKILL.md +24 -0
- package/skills/create-github-pull-request-from-specification/SYNC.md +5 -0
- package/skills/create-implementation-plan/LICENSE.md +21 -0
- package/skills/create-implementation-plan/SKILL.md +157 -0
- package/skills/create-implementation-plan/SYNC.md +5 -0
- package/skills/create-llms/LICENSE.md +21 -0
- package/skills/create-llms/SKILL.md +210 -0
- package/skills/create-llms/SYNC.md +5 -0
- package/skills/create-readme/LICENSE.md +21 -0
- package/skills/create-readme/SKILL.md +21 -0
- package/skills/create-readme/SYNC.md +5 -0
- package/skills/create-specification/LICENSE.md +21 -0
- package/skills/create-specification/SKILL.md +127 -0
- package/skills/create-specification/SYNC.md +5 -0
- package/skills/create-spring-boot-java-project/LICENSE.md +21 -0
- package/skills/create-spring-boot-java-project/SKILL.md +163 -0
- package/skills/create-spring-boot-java-project/SYNC.md +5 -0
- package/skills/create-spring-boot-kotlin-project/LICENSE.md +21 -0
- package/skills/create-spring-boot-kotlin-project/SKILL.md +147 -0
- package/skills/create-spring-boot-kotlin-project/SYNC.md +5 -0
- package/skills/create-technical-spike/LICENSE.md +21 -0
- package/skills/create-technical-spike/SKILL.md +230 -0
- package/skills/create-technical-spike/SYNC.md +5 -0
- package/skills/create-tldr-page/LICENSE.md +21 -0
- package/skills/create-tldr-page/SKILL.md +210 -0
- package/skills/create-tldr-page/SYNC.md +5 -0
- package/skills/creating-oracle-to-postgres-master-migration-plan/LICENSE.md +21 -0
- package/skills/creating-oracle-to-postgres-master-migration-plan/SKILL.md +83 -0
- package/skills/creating-oracle-to-postgres-master-migration-plan/SYNC.md +5 -0
- package/skills/creating-oracle-to-postgres-migration-bug-report/LICENSE.md +21 -0
- package/skills/creating-oracle-to-postgres-migration-bug-report/SKILL.md +43 -0
- package/skills/creating-oracle-to-postgres-migration-bug-report/SYNC.md +5 -0
- package/skills/creating-oracle-to-postgres-migration-bug-report/references/BUG-REPORT-TEMPLATE.md +79 -0
- package/skills/creating-oracle-to-postgres-migration-integration-tests/LICENSE.md +21 -0
- package/skills/creating-oracle-to-postgres-migration-integration-tests/SKILL.md +60 -0
- package/skills/creating-oracle-to-postgres-migration-integration-tests/SYNC.md +5 -0
- package/skills/csharp-async/LICENSE.md +21 -0
- package/skills/csharp-async/SKILL.md +49 -0
- package/skills/csharp-async/SYNC.md +5 -0
- package/skills/csharp-docs/LICENSE.md +21 -0
- package/skills/csharp-docs/SKILL.md +62 -0
- package/skills/csharp-docs/SYNC.md +5 -0
- package/skills/csharp-mcp-server-generator/LICENSE.md +21 -0
- package/skills/csharp-mcp-server-generator/SKILL.md +59 -0
- package/skills/csharp-mcp-server-generator/SYNC.md +5 -0
- package/skills/csharp-mstest/LICENSE.md +21 -0
- package/skills/csharp-mstest/SKILL.md +478 -0
- package/skills/csharp-mstest/SYNC.md +5 -0
- package/skills/csharp-nunit/LICENSE.md +21 -0
- package/skills/csharp-nunit/SKILL.md +71 -0
- package/skills/csharp-nunit/SYNC.md +5 -0
- package/skills/csharp-tunit/LICENSE.md +21 -0
- package/skills/csharp-tunit/SKILL.md +100 -0
- package/skills/csharp-tunit/SYNC.md +5 -0
- package/skills/csharp-xunit/LICENSE.md +21 -0
- package/skills/csharp-xunit/SKILL.md +68 -0
- package/skills/csharp-xunit/SYNC.md +5 -0
- package/skills/datanalysis-credit-risk/LICENSE.md +21 -0
- package/skills/datanalysis-credit-risk/SKILL.md +113 -0
- package/skills/datanalysis-credit-risk/SYNC.md +5 -0
- package/skills/datanalysis-credit-risk/references/analysis.py +1223 -0
- package/skills/datanalysis-credit-risk/references/func.py +228 -0
- package/skills/datanalysis-credit-risk/scripts/example.py +391 -0
- package/skills/dataverse-python-advanced-patterns/LICENSE.md +21 -0
- package/skills/dataverse-python-advanced-patterns/SKILL.md +17 -0
- package/skills/dataverse-python-advanced-patterns/SYNC.md +5 -0
- package/skills/dataverse-python-production-code/LICENSE.md +21 -0
- package/skills/dataverse-python-production-code/SKILL.md +116 -0
- package/skills/dataverse-python-production-code/SYNC.md +5 -0
- package/skills/dataverse-python-quickstart/LICENSE.md +21 -0
- package/skills/dataverse-python-quickstart/SKILL.md +14 -0
- package/skills/dataverse-python-quickstart/SYNC.md +5 -0
- package/skills/dataverse-python-usecase-builder/LICENSE.md +21 -0
- package/skills/dataverse-python-usecase-builder/SKILL.md +246 -0
- package/skills/dataverse-python-usecase-builder/SYNC.md +5 -0
- package/skills/debian-linux-triage/LICENSE.md +21 -0
- package/skills/debian-linux-triage/SKILL.md +31 -0
- package/skills/debian-linux-triage/SYNC.md +5 -0
- package/skills/declarative-agents/LICENSE.md +21 -0
- package/skills/declarative-agents/SKILL.md +94 -0
- package/skills/declarative-agents/SYNC.md +5 -0
- package/skills/dependabot/LICENSE.md +21 -0
- package/skills/dependabot/SKILL.md +422 -0
- package/skills/dependabot/SYNC.md +5 -0
- package/skills/dependabot/references/dependabot-yml-reference.md +374 -0
- package/skills/dependabot/references/example-configs.md +409 -0
- package/skills/dependabot/references/pr-commands.md +91 -0
- package/skills/devops-rollout-plan/LICENSE.md +21 -0
- package/skills/devops-rollout-plan/SKILL.md +117 -0
- package/skills/devops-rollout-plan/SYNC.md +5 -0
- package/skills/documentation-writer/LICENSE.md +21 -0
- package/skills/documentation-writer/SKILL.md +45 -0
- package/skills/documentation-writer/SYNC.md +5 -0
- package/skills/dotnet-best-practices/LICENSE.md +21 -0
- package/skills/dotnet-best-practices/SKILL.md +85 -0
- package/skills/dotnet-best-practices/SYNC.md +5 -0
- package/skills/dotnet-design-pattern-review/LICENSE.md +21 -0
- package/skills/dotnet-design-pattern-review/SKILL.md +42 -0
- package/skills/dotnet-design-pattern-review/SYNC.md +5 -0
- package/skills/dotnet-timezone/LICENSE.md +21 -0
- package/skills/dotnet-timezone/SKILL.md +109 -0
- package/skills/dotnet-timezone/SYNC.md +5 -0
- package/skills/dotnet-timezone/references/code-patterns.md +153 -0
- package/skills/dotnet-timezone/references/timezone-index.md +87 -0
- package/skills/dotnet-upgrade/LICENSE.md +21 -0
- package/skills/dotnet-upgrade/SKILL.md +116 -0
- package/skills/dotnet-upgrade/SYNC.md +5 -0
- package/skills/doublecheck/LICENSE.md +21 -0
- package/skills/doublecheck/SKILL.md +277 -0
- package/skills/doublecheck/SYNC.md +5 -0
- package/skills/doublecheck/assets/verification-report-template.md +92 -0
- package/skills/editorconfig/LICENSE.md +21 -0
- package/skills/editorconfig/SKILL.md +63 -0
- package/skills/editorconfig/SYNC.md +5 -0
- package/skills/ef-core/LICENSE.md +21 -0
- package/skills/ef-core/SKILL.md +75 -0
- package/skills/ef-core/SYNC.md +5 -0
- package/skills/entra-agent-user/LICENSE.md +21 -0
- package/skills/entra-agent-user/SKILL.md +270 -0
- package/skills/entra-agent-user/SYNC.md +5 -0
- package/skills/eval-driven-dev/LICENSE.md +21 -0
- package/skills/eval-driven-dev/SKILL.md +862 -0
- package/skills/eval-driven-dev/SYNC.md +5 -0
- package/skills/eval-driven-dev/references/pixie-api.md +195 -0
- package/skills/excalidraw-diagram-generator/LICENSE.md +21 -0
- package/skills/excalidraw-diagram-generator/SKILL.md +613 -0
- package/skills/excalidraw-diagram-generator/SYNC.md +5 -0
- package/skills/excalidraw-diagram-generator/references/element-types.md +497 -0
- package/skills/excalidraw-diagram-generator/references/excalidraw-schema.md +350 -0
- package/skills/excalidraw-diagram-generator/scripts/README.md +193 -0
- package/skills/excalidraw-diagram-generator/scripts/add-arrow.py +312 -0
- package/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +404 -0
- package/skills/excalidraw-diagram-generator/scripts/split-excalidraw-library.py +183 -0
- package/skills/excalidraw-diagram-generator/templates/business-flow-swimlane-template.excalidraw +334 -0
- package/skills/excalidraw-diagram-generator/templates/class-diagram-template.excalidraw +558 -0
- package/skills/excalidraw-diagram-generator/templates/data-flow-diagram-template.excalidraw +279 -0
- package/skills/excalidraw-diagram-generator/templates/er-diagram-template.excalidraw +662 -0
- package/skills/excalidraw-diagram-generator/templates/flowchart-template.excalidraw +179 -0
- package/skills/excalidraw-diagram-generator/templates/mindmap-template.excalidraw +244 -0
- package/skills/excalidraw-diagram-generator/templates/relationship-template.excalidraw +145 -0
- package/skills/excalidraw-diagram-generator/templates/sequence-diagram-template.excalidraw +509 -0
- package/skills/fabric-lakehouse/LICENSE.md +21 -0
- package/skills/fabric-lakehouse/SKILL.md +106 -0
- package/skills/fabric-lakehouse/SYNC.md +5 -0
- package/skills/fabric-lakehouse/references/getdata.md +36 -0
- package/skills/fabric-lakehouse/references/pyspark.md +189 -0
- package/skills/fedora-linux-triage/LICENSE.md +21 -0
- package/skills/fedora-linux-triage/SKILL.md +31 -0
- package/skills/fedora-linux-triage/SYNC.md +5 -0
- package/skills/finalize-agent-prompt/LICENSE.md +21 -0
- package/skills/finalize-agent-prompt/SKILL.md +26 -0
- package/skills/finalize-agent-prompt/SYNC.md +5 -0
- package/skills/finnish-humanizer/LICENSE.md +21 -0
- package/skills/finnish-humanizer/SKILL.md +145 -0
- package/skills/finnish-humanizer/SYNC.md +5 -0
- package/skills/finnish-humanizer/references/patterns.md +338 -0
- package/skills/first-ask/LICENSE.md +21 -0
- package/skills/first-ask/SKILL.md +30 -0
- package/skills/first-ask/SYNC.md +5 -0
- package/skills/flowstudio-power-automate-build/LICENSE.md +21 -0
- package/skills/flowstudio-power-automate-build/SKILL.md +460 -0
- package/skills/flowstudio-power-automate-build/SYNC.md +5 -0
- package/skills/flowstudio-power-automate-build/references/action-patterns-connectors.md +542 -0
- package/skills/flowstudio-power-automate-build/references/action-patterns-core.md +542 -0
- package/skills/flowstudio-power-automate-build/references/action-patterns-data.md +735 -0
- package/skills/flowstudio-power-automate-build/references/build-patterns.md +108 -0
- package/skills/flowstudio-power-automate-build/references/flow-schema.md +225 -0
- package/skills/flowstudio-power-automate-build/references/trigger-types.md +211 -0
- package/skills/flowstudio-power-automate-debug/LICENSE.md +21 -0
- package/skills/flowstudio-power-automate-debug/SKILL.md +322 -0
- package/skills/flowstudio-power-automate-debug/SYNC.md +5 -0
- package/skills/flowstudio-power-automate-debug/references/common-errors.md +188 -0
- package/skills/flowstudio-power-automate-debug/references/debug-workflow.md +157 -0
- package/skills/flowstudio-power-automate-mcp/LICENSE.md +21 -0
- package/skills/flowstudio-power-automate-mcp/SKILL.md +450 -0
- package/skills/flowstudio-power-automate-mcp/SYNC.md +5 -0
- package/skills/flowstudio-power-automate-mcp/references/MCP-BOOTSTRAP.md +53 -0
- package/skills/flowstudio-power-automate-mcp/references/action-types.md +79 -0
- package/skills/flowstudio-power-automate-mcp/references/connection-references.md +115 -0
- package/skills/flowstudio-power-automate-mcp/references/tool-reference.md +445 -0
- package/skills/fluentui-blazor/LICENSE.md +21 -0
- package/skills/fluentui-blazor/SKILL.md +231 -0
- package/skills/fluentui-blazor/SYNC.md +5 -0
- package/skills/fluentui-blazor/references/DATAGRID.md +162 -0
- package/skills/fluentui-blazor/references/LAYOUT-AND-NAVIGATION.md +173 -0
- package/skills/fluentui-blazor/references/SETUP.md +129 -0
- package/skills/fluentui-blazor/references/THEMING.md +103 -0
- package/skills/folder-structure-blueprint-generator/LICENSE.md +21 -0
- package/skills/folder-structure-blueprint-generator/SKILL.md +405 -0
- package/skills/folder-structure-blueprint-generator/SYNC.md +5 -0
- package/skills/game-engine/LICENSE.md +21 -0
- package/skills/game-engine/SKILL.md +139 -0
- package/skills/game-engine/SYNC.md +5 -0
- package/skills/game-engine/assets/2d-maze-game.md +528 -0
- package/skills/game-engine/assets/2d-platform-game.md +1855 -0
- package/skills/game-engine/assets/gameBase-template-repo.md +310 -0
- package/skills/game-engine/assets/paddle-game-template.md +1528 -0
- package/skills/game-engine/assets/simple-2d-engine.md +507 -0
- package/skills/game-engine/references/3d-web-games.md +754 -0
- package/skills/game-engine/references/algorithms.md +843 -0
- package/skills/game-engine/references/basics.md +343 -0
- package/skills/game-engine/references/game-control-mechanisms.md +617 -0
- package/skills/game-engine/references/game-engine-core-principles.md +695 -0
- package/skills/game-engine/references/game-publishing.md +352 -0
- package/skills/game-engine/references/techniques.md +894 -0
- package/skills/game-engine/references/terminology.md +354 -0
- package/skills/game-engine/references/web-apis.md +1394 -0
- package/skills/gen-specs-as-issues/LICENSE.md +21 -0
- package/skills/gen-specs-as-issues/SKILL.md +165 -0
- package/skills/gen-specs-as-issues/SYNC.md +5 -0
- package/skills/generate-custom-instructions-from-codebase/LICENSE.md +21 -0
- package/skills/generate-custom-instructions-from-codebase/SKILL.md +240 -0
- package/skills/generate-custom-instructions-from-codebase/SYNC.md +5 -0
- package/skills/geofeed-tuner/LICENSE.md +21 -0
- package/skills/geofeed-tuner/SKILL.md +864 -0
- package/skills/geofeed-tuner/SYNC.md +5 -0
- package/skills/geofeed-tuner/assets/example/01-user-input-rfc8805-feed.csv +5 -0
- package/skills/geofeed-tuner/assets/iso3166-1.json +1249 -0
- package/skills/geofeed-tuner/assets/iso3166-2.json +20188 -0
- package/skills/geofeed-tuner/assets/small-territories.json +106 -0
- package/skills/geofeed-tuner/references/rfc8805.txt +735 -0
- package/skills/geofeed-tuner/references/snippets-python3.md +85 -0
- package/skills/geofeed-tuner/scripts/templates/index.html +2305 -0
- package/skills/gh-cli/LICENSE.md +21 -0
- package/skills/gh-cli/SKILL.md +2187 -0
- package/skills/gh-cli/SYNC.md +5 -0
- package/skills/git-commit/LICENSE.md +21 -0
- package/skills/git-commit/SKILL.md +124 -0
- package/skills/git-commit/SYNC.md +5 -0
- package/skills/git-flow-branch-creator/LICENSE.md +21 -0
- package/skills/git-flow-branch-creator/SKILL.md +292 -0
- package/skills/git-flow-branch-creator/SYNC.md +5 -0
- package/skills/github-copilot-starter/LICENSE.md +21 -0
- package/skills/github-copilot-starter/SKILL.md +402 -0
- package/skills/github-copilot-starter/SYNC.md +5 -0
- package/skills/github-issues/LICENSE.md +21 -0
- package/skills/github-issues/SKILL.md +201 -0
- package/skills/github-issues/SYNC.md +5 -0
- package/skills/github-issues/references/dependencies.md +71 -0
- package/skills/github-issues/references/images.md +116 -0
- package/skills/github-issues/references/issue-fields.md +191 -0
- package/skills/github-issues/references/issue-types.md +72 -0
- package/skills/github-issues/references/projects.md +273 -0
- package/skills/github-issues/references/search.md +231 -0
- package/skills/github-issues/references/sub-issues.md +137 -0
- package/skills/github-issues/references/templates.md +90 -0
- package/skills/go-mcp-server-generator/LICENSE.md +21 -0
- package/skills/go-mcp-server-generator/SKILL.md +334 -0
- package/skills/go-mcp-server-generator/SYNC.md +5 -0
- package/skills/gtm-0-to-1-launch/LICENSE.md +21 -0
- package/skills/gtm-0-to-1-launch/SKILL.md +321 -0
- package/skills/gtm-0-to-1-launch/SYNC.md +5 -0
- package/skills/gtm-ai-gtm/LICENSE.md +21 -0
- package/skills/gtm-ai-gtm/SKILL.md +569 -0
- package/skills/gtm-ai-gtm/SYNC.md +5 -0
- package/skills/gtm-board-and-investor-communication/LICENSE.md +21 -0
- package/skills/gtm-board-and-investor-communication/SKILL.md +456 -0
- package/skills/gtm-board-and-investor-communication/SYNC.md +5 -0
- package/skills/gtm-developer-ecosystem/LICENSE.md +21 -0
- package/skills/gtm-developer-ecosystem/SKILL.md +310 -0
- package/skills/gtm-developer-ecosystem/SYNC.md +5 -0
- package/skills/gtm-enterprise-account-planning/LICENSE.md +21 -0
- package/skills/gtm-enterprise-account-planning/SKILL.md +429 -0
- package/skills/gtm-enterprise-account-planning/SYNC.md +5 -0
- package/skills/gtm-enterprise-onboarding/LICENSE.md +21 -0
- package/skills/gtm-enterprise-onboarding/SKILL.md +457 -0
- package/skills/gtm-enterprise-onboarding/SYNC.md +5 -0
- package/skills/gtm-operating-cadence/LICENSE.md +21 -0
- package/skills/gtm-operating-cadence/SKILL.md +420 -0
- package/skills/gtm-operating-cadence/SYNC.md +5 -0
- package/skills/gtm-partnership-architecture/LICENSE.md +21 -0
- package/skills/gtm-partnership-architecture/SKILL.md +470 -0
- package/skills/gtm-partnership-architecture/SYNC.md +5 -0
- package/skills/gtm-positioning-strategy/LICENSE.md +21 -0
- package/skills/gtm-positioning-strategy/SKILL.md +438 -0
- package/skills/gtm-positioning-strategy/SYNC.md +5 -0
- package/skills/gtm-product-led-growth/LICENSE.md +21 -0
- package/skills/gtm-product-led-growth/SKILL.md +339 -0
- package/skills/gtm-product-led-growth/SYNC.md +5 -0
- package/skills/gtm-technical-product-pricing/LICENSE.md +21 -0
- package/skills/gtm-technical-product-pricing/SKILL.md +353 -0
- package/skills/gtm-technical-product-pricing/SYNC.md +5 -0
- package/skills/image-manipulation-image-magick/LICENSE.md +21 -0
- package/skills/image-manipulation-image-magick/SKILL.md +252 -0
- package/skills/image-manipulation-image-magick/SYNC.md +5 -0
- package/skills/import-infrastructure-as-code/LICENSE.md +21 -0
- package/skills/import-infrastructure-as-code/SKILL.md +367 -0
- package/skills/import-infrastructure-as-code/SYNC.md +5 -0
- package/skills/issue-fields-migration/LICENSE.md +21 -0
- package/skills/issue-fields-migration/SKILL.md +533 -0
- package/skills/issue-fields-migration/SYNC.md +5 -0
- package/skills/issue-fields-migration/references/issue-fields-api.md +129 -0
- package/skills/issue-fields-migration/references/labels-api.md +74 -0
- package/skills/issue-fields-migration/references/projects-api.md +116 -0
- package/skills/java-add-graalvm-native-image-support/LICENSE.md +21 -0
- package/skills/java-add-graalvm-native-image-support/SKILL.md +449 -0
- package/skills/java-add-graalvm-native-image-support/SYNC.md +5 -0
- package/skills/java-docs/LICENSE.md +21 -0
- package/skills/java-docs/SKILL.md +23 -0
- package/skills/java-docs/SYNC.md +5 -0
- package/skills/java-junit/LICENSE.md +21 -0
- package/skills/java-junit/SKILL.md +63 -0
- package/skills/java-junit/SYNC.md +5 -0
- package/skills/java-mcp-server-generator/LICENSE.md +21 -0
- package/skills/java-mcp-server-generator/SKILL.md +756 -0
- package/skills/java-mcp-server-generator/SYNC.md +5 -0
- package/skills/java-refactoring-extract-method/LICENSE.md +21 -0
- package/skills/java-refactoring-extract-method/SKILL.md +104 -0
- package/skills/java-refactoring-extract-method/SYNC.md +5 -0
- package/skills/java-refactoring-remove-parameter/LICENSE.md +21 -0
- package/skills/java-refactoring-remove-parameter/SKILL.md +84 -0
- package/skills/java-refactoring-remove-parameter/SYNC.md +5 -0
- package/skills/java-springboot/LICENSE.md +21 -0
- package/skills/java-springboot/SKILL.md +65 -0
- package/skills/java-springboot/SYNC.md +5 -0
- package/skills/javascript-typescript-jest/LICENSE.md +21 -0
- package/skills/javascript-typescript-jest/SKILL.md +44 -0
- package/skills/javascript-typescript-jest/SYNC.md +5 -0
- package/skills/kotlin-mcp-server-generator/LICENSE.md +21 -0
- package/skills/kotlin-mcp-server-generator/SKILL.md +449 -0
- package/skills/kotlin-mcp-server-generator/SYNC.md +5 -0
- package/skills/kotlin-springboot/LICENSE.md +21 -0
- package/skills/kotlin-springboot/SKILL.md +70 -0
- package/skills/kotlin-springboot/SYNC.md +5 -0
- package/skills/legacy-circuit-mockups/LICENSE.md +21 -0
- package/skills/legacy-circuit-mockups/SKILL.md +276 -0
- package/skills/legacy-circuit-mockups/SYNC.md +5 -0
- package/skills/legacy-circuit-mockups/references/28256-eeprom.md +190 -0
- package/skills/legacy-circuit-mockups/references/555.md +861 -0
- package/skills/legacy-circuit-mockups/references/6502.md +221 -0
- package/skills/legacy-circuit-mockups/references/6522.md +211 -0
- package/skills/legacy-circuit-mockups/references/6C62256.md +177 -0
- package/skills/legacy-circuit-mockups/references/7400-series.md +177 -0
- package/skills/legacy-circuit-mockups/references/assembly-compiler.md +258 -0
- package/skills/legacy-circuit-mockups/references/assembly-language.md +226 -0
- package/skills/legacy-circuit-mockups/references/basic-electronic-components.md +86 -0
- package/skills/legacy-circuit-mockups/references/breadboard.md +214 -0
- package/skills/legacy-circuit-mockups/references/common-breadboard-components.md +281 -0
- package/skills/legacy-circuit-mockups/references/connecting-electronic-components.md +310 -0
- package/skills/legacy-circuit-mockups/references/emulator-28256-eeprom.md +245 -0
- package/skills/legacy-circuit-mockups/references/emulator-6502.md +251 -0
- package/skills/legacy-circuit-mockups/references/emulator-6522.md +288 -0
- package/skills/legacy-circuit-mockups/references/emulator-6C62256.md +233 -0
- package/skills/legacy-circuit-mockups/references/emulator-lcd.md +266 -0
- package/skills/legacy-circuit-mockups/references/lcd.md +208 -0
- package/skills/legacy-circuit-mockups/references/minipro.md +211 -0
- package/skills/legacy-circuit-mockups/references/t48eeprom-programmer.md +174 -0
- package/skills/make-repo-contribution/LICENSE.md +21 -0
- package/skills/make-repo-contribution/SKILL.md +90 -0
- package/skills/make-repo-contribution/SYNC.md +5 -0
- package/skills/make-repo-contribution/assets/issue-template.md +37 -0
- package/skills/make-repo-contribution/assets/pr-template.md +36 -0
- package/skills/make-skill-template/LICENSE.md +21 -0
- package/skills/make-skill-template/SKILL.md +147 -0
- package/skills/make-skill-template/SYNC.md +5 -0
- package/skills/markdown-to-html/LICENSE.md +21 -0
- package/skills/markdown-to-html/SKILL.md +916 -0
- package/skills/markdown-to-html/SYNC.md +5 -0
- package/skills/markdown-to-html/references/basic-markdown-to-html.md +420 -0
- package/skills/markdown-to-html/references/basic-markdown.md +496 -0
- package/skills/markdown-to-html/references/code-blocks-to-html.md +165 -0
- package/skills/markdown-to-html/references/code-blocks.md +70 -0
- package/skills/markdown-to-html/references/collapsed-sections-to-html.md +136 -0
- package/skills/markdown-to-html/references/collapsed-sections.md +48 -0
- package/skills/markdown-to-html/references/gomarkdown.md +253 -0
- package/skills/markdown-to-html/references/hugo.md +394 -0
- package/skills/markdown-to-html/references/jekyll.md +321 -0
- package/skills/markdown-to-html/references/marked.md +121 -0
- package/skills/markdown-to-html/references/pandoc.md +226 -0
- package/skills/markdown-to-html/references/tables-to-html.md +169 -0
- package/skills/markdown-to-html/references/tables.md +72 -0
- package/skills/markdown-to-html/references/writing-mathematical-expressions-to-html.md +350 -0
- package/skills/markdown-to-html/references/writing-mathematical-expressions.md +76 -0
- package/skills/mcp-cli/LICENSE.md +21 -0
- package/skills/mcp-cli/SKILL.md +78 -0
- package/skills/mcp-cli/SYNC.md +5 -0
- package/skills/mcp-copilot-studio-server-generator/LICENSE.md +21 -0
- package/skills/mcp-copilot-studio-server-generator/SKILL.md +118 -0
- package/skills/mcp-copilot-studio-server-generator/SYNC.md +5 -0
- package/skills/mcp-create-adaptive-cards/LICENSE.md +21 -0
- package/skills/mcp-create-adaptive-cards/SKILL.md +532 -0
- package/skills/mcp-create-adaptive-cards/SYNC.md +5 -0
- package/skills/mcp-create-declarative-agent/LICENSE.md +21 -0
- package/skills/mcp-create-declarative-agent/SKILL.md +315 -0
- package/skills/mcp-create-declarative-agent/SYNC.md +5 -0
- package/skills/mcp-deploy-manage-agents/LICENSE.md +21 -0
- package/skills/mcp-deploy-manage-agents/SKILL.md +341 -0
- package/skills/mcp-deploy-manage-agents/SYNC.md +5 -0
- package/skills/meeting-minutes/LICENSE.md +21 -0
- package/skills/meeting-minutes/SKILL.md +235 -0
- package/skills/meeting-minutes/SYNC.md +5 -0
- package/skills/memory-merger/LICENSE.md +21 -0
- package/skills/memory-merger/SKILL.md +108 -0
- package/skills/memory-merger/SYNC.md +5 -0
- package/skills/mentoring-juniors/LICENSE.md +21 -0
- package/skills/mentoring-juniors/SKILL.md +310 -0
- package/skills/mentoring-juniors/SYNC.md +5 -0
- package/skills/microsoft-agent-framework/LICENSE.md +21 -0
- package/skills/microsoft-agent-framework/SKILL.md +65 -0
- package/skills/microsoft-agent-framework/SYNC.md +5 -0
- package/skills/microsoft-agent-framework/references/dotnet.md +24 -0
- package/skills/microsoft-agent-framework/references/python.md +24 -0
- package/skills/microsoft-code-reference/LICENSE.md +21 -0
- package/skills/microsoft-code-reference/SKILL.md +99 -0
- package/skills/microsoft-code-reference/SYNC.md +5 -0
- package/skills/microsoft-docs/LICENSE.md +21 -0
- package/skills/microsoft-docs/SKILL.md +134 -0
- package/skills/microsoft-docs/SYNC.md +5 -0
- package/skills/microsoft-skill-creator/LICENSE.md +21 -0
- package/skills/microsoft-skill-creator/SKILL.md +250 -0
- package/skills/microsoft-skill-creator/SYNC.md +5 -0
- package/skills/microsoft-skill-creator/references/skill-templates.md +345 -0
- package/skills/migrating-oracle-to-postgres-stored-procedures/LICENSE.md +21 -0
- package/skills/migrating-oracle-to-postgres-stored-procedures/SKILL.md +42 -0
- package/skills/migrating-oracle-to-postgres-stored-procedures/SYNC.md +5 -0
- package/skills/mkdocs-translations/LICENSE.md +21 -0
- package/skills/mkdocs-translations/SKILL.md +108 -0
- package/skills/mkdocs-translations/SYNC.md +5 -0
- package/skills/model-recommendation/LICENSE.md +21 -0
- package/skills/model-recommendation/SKILL.md +672 -0
- package/skills/model-recommendation/SYNC.md +5 -0
- package/skills/msstore-cli/LICENSE.md +21 -0
- package/skills/msstore-cli/SKILL.md +600 -0
- package/skills/msstore-cli/SYNC.md +5 -0
- package/skills/multi-stage-dockerfile/LICENSE.md +21 -0
- package/skills/multi-stage-dockerfile/SKILL.md +46 -0
- package/skills/multi-stage-dockerfile/SYNC.md +5 -0
- package/skills/my-issues/LICENSE.md +21 -0
- package/skills/my-issues/SKILL.md +8 -0
- package/skills/my-issues/SYNC.md +5 -0
- package/skills/my-pull-requests/LICENSE.md +21 -0
- package/skills/my-pull-requests/SKILL.md +14 -0
- package/skills/my-pull-requests/SYNC.md +5 -0
- package/skills/nano-banana-pro-openrouter/LICENSE.md +21 -0
- package/skills/nano-banana-pro-openrouter/SKILL.md +74 -0
- package/skills/nano-banana-pro-openrouter/SYNC.md +5 -0
- package/skills/nano-banana-pro-openrouter/assets/SYSTEM_TEMPLATE +14 -0
- package/skills/nano-banana-pro-openrouter/scripts/generate_image.py +191 -0
- package/skills/napkin/LICENSE.md +21 -0
- package/skills/napkin/SKILL.md +154 -0
- package/skills/napkin/SYNC.md +5 -0
- package/skills/napkin/assets/napkin.html +2019 -0
- package/skills/napkin/assets/step1-activate.svg +107 -0
- package/skills/napkin/assets/step2-whiteboard.svg +157 -0
- package/skills/napkin/assets/step3-draw.svg +143 -0
- package/skills/napkin/assets/step4-share.svg +98 -0
- package/skills/napkin/assets/step5-response.svg +112 -0
- package/skills/next-intl-add-language/LICENSE.md +21 -0
- package/skills/next-intl-add-language/SKILL.md +19 -0
- package/skills/next-intl-add-language/SYNC.md +5 -0
- package/skills/noob-mode/LICENSE.md +21 -0
- package/skills/noob-mode/SKILL.md +263 -0
- package/skills/noob-mode/SYNC.md +5 -0
- package/skills/noob-mode/references/examples.md +418 -0
- package/skills/noob-mode/references/glossary.md +368 -0
- package/skills/nuget-manager/LICENSE.md +21 -0
- package/skills/nuget-manager/SKILL.md +68 -0
- package/skills/nuget-manager/SYNC.md +5 -0
- package/skills/oo-component-documentation/LICENSE.md +21 -0
- package/skills/oo-component-documentation/SKILL.md +74 -0
- package/skills/oo-component-documentation/SYNC.md +5 -0
- package/skills/oo-component-documentation/assets/documentation-template.md +97 -0
- package/skills/oo-component-documentation/references/create-mode.md +32 -0
- package/skills/oo-component-documentation/references/update-mode.md +32 -0
- package/skills/openapi-to-application-code/LICENSE.md +21 -0
- package/skills/openapi-to-application-code/SKILL.md +112 -0
- package/skills/openapi-to-application-code/SYNC.md +5 -0
- package/skills/pdftk-server/LICENSE.md +21 -0
- package/skills/pdftk-server/SKILL.md +162 -0
- package/skills/pdftk-server/SYNC.md +5 -0
- package/skills/pdftk-server/references/download.md +75 -0
- package/skills/pdftk-server/references/pdftk-cli-examples.md +193 -0
- package/skills/pdftk-server/references/pdftk-man-page.md +232 -0
- package/skills/pdftk-server/references/pdftk-server-license.md +25 -0
- package/skills/pdftk-server/references/third-party-materials.md +103 -0
- package/skills/penpot-uiux-design/LICENSE.md +21 -0
- package/skills/penpot-uiux-design/SKILL.md +342 -0
- package/skills/penpot-uiux-design/SYNC.md +5 -0
- package/skills/penpot-uiux-design/references/accessibility.md +329 -0
- package/skills/penpot-uiux-design/references/component-patterns.md +339 -0
- package/skills/penpot-uiux-design/references/platform-guidelines.md +367 -0
- package/skills/penpot-uiux-design/references/setup-troubleshooting.md +328 -0
- package/skills/php-mcp-server-generator/LICENSE.md +21 -0
- package/skills/php-mcp-server-generator/SKILL.md +522 -0
- package/skills/php-mcp-server-generator/SYNC.md +5 -0
- package/skills/planning-oracle-to-postgres-migration-integration-testing/LICENSE.md +21 -0
- package/skills/planning-oracle-to-postgres-migration-integration-testing/SKILL.md +44 -0
- package/skills/planning-oracle-to-postgres-migration-integration-testing/SYNC.md +5 -0
- package/skills/plantuml-ascii/LICENSE.md +21 -0
- package/skills/plantuml-ascii/SKILL.md +305 -0
- package/skills/plantuml-ascii/SYNC.md +5 -0
- package/skills/playwright-automation-fill-in-form/LICENSE.md +21 -0
- package/skills/playwright-automation-fill-in-form/SKILL.md +28 -0
- package/skills/playwright-automation-fill-in-form/SYNC.md +5 -0
- package/skills/playwright-explore-website/LICENSE.md +21 -0
- package/skills/playwright-explore-website/SKILL.md +17 -0
- package/skills/playwright-explore-website/SYNC.md +5 -0
- package/skills/playwright-generate-test/LICENSE.md +21 -0
- package/skills/playwright-generate-test/SKILL.md +17 -0
- package/skills/playwright-generate-test/SYNC.md +5 -0
- package/skills/polyglot-test-agent/LICENSE.md +21 -0
- package/skills/polyglot-test-agent/SKILL.md +161 -0
- package/skills/polyglot-test-agent/SYNC.md +5 -0
- package/skills/polyglot-test-agent/unit-test-generation.prompt.md +155 -0
- package/skills/postgresql-code-review/LICENSE.md +21 -0
- package/skills/postgresql-code-review/SKILL.md +212 -0
- package/skills/postgresql-code-review/SYNC.md +5 -0
- package/skills/postgresql-optimization/LICENSE.md +21 -0
- package/skills/postgresql-optimization/SKILL.md +404 -0
- package/skills/postgresql-optimization/SYNC.md +5 -0
- package/skills/power-apps-code-app-scaffold/LICENSE.md +21 -0
- package/skills/power-apps-code-app-scaffold/SKILL.md +146 -0
- package/skills/power-apps-code-app-scaffold/SYNC.md +5 -0
- package/skills/power-bi-dax-optimization/LICENSE.md +21 -0
- package/skills/power-bi-dax-optimization/SKILL.md +173 -0
- package/skills/power-bi-dax-optimization/SYNC.md +5 -0
- package/skills/power-bi-model-design-review/LICENSE.md +21 -0
- package/skills/power-bi-model-design-review/SKILL.md +403 -0
- package/skills/power-bi-model-design-review/SYNC.md +5 -0
- package/skills/power-bi-performance-troubleshooting/LICENSE.md +21 -0
- package/skills/power-bi-performance-troubleshooting/SKILL.md +382 -0
- package/skills/power-bi-performance-troubleshooting/SYNC.md +5 -0
- package/skills/power-bi-report-design-consultation/LICENSE.md +21 -0
- package/skills/power-bi-report-design-consultation/SKILL.md +351 -0
- package/skills/power-bi-report-design-consultation/SYNC.md +5 -0
- package/skills/power-platform-mcp-connector-suite/LICENSE.md +21 -0
- package/skills/power-platform-mcp-connector-suite/SKILL.md +156 -0
- package/skills/power-platform-mcp-connector-suite/SYNC.md +5 -0
- package/skills/powerbi-modeling/LICENSE.md +21 -0
- package/skills/powerbi-modeling/SKILL.md +153 -0
- package/skills/powerbi-modeling/SYNC.md +5 -0
- package/skills/powerbi-modeling/references/MEASURES-DAX.md +195 -0
- package/skills/powerbi-modeling/references/PERFORMANCE.md +215 -0
- package/skills/powerbi-modeling/references/RELATIONSHIPS.md +147 -0
- package/skills/powerbi-modeling/references/RLS.md +226 -0
- package/skills/powerbi-modeling/references/STAR-SCHEMA.md +103 -0
- package/skills/prd/LICENSE.md +21 -0
- package/skills/prd/SKILL.md +143 -0
- package/skills/prd/SYNC.md +5 -0
- package/skills/premium-frontend-ui/LICENSE.md +21 -0
- package/skills/premium-frontend-ui/SKILL.md +110 -0
- package/skills/premium-frontend-ui/SYNC.md +5 -0
- package/skills/project-workflow-analysis-blueprint-generator/LICENSE.md +21 -0
- package/skills/project-workflow-analysis-blueprint-generator/SKILL.md +293 -0
- package/skills/project-workflow-analysis-blueprint-generator/SYNC.md +5 -0
- package/skills/prompt-builder/LICENSE.md +21 -0
- package/skills/prompt-builder/SKILL.md +141 -0
- package/skills/prompt-builder/SYNC.md +5 -0
- package/skills/publish-to-pages/LICENSE.md +21 -0
- package/skills/publish-to-pages/SKILL.md +107 -0
- package/skills/publish-to-pages/SYNC.md +5 -0
- package/skills/publish-to-pages/scripts/convert-pdf.py +176 -0
- package/skills/publish-to-pages/scripts/convert-pptx.py +376 -0
- package/skills/publish-to-pages/scripts/publish.sh +51 -0
- package/skills/pytest-coverage/LICENSE.md +21 -0
- package/skills/pytest-coverage/SKILL.md +28 -0
- package/skills/pytest-coverage/SYNC.md +5 -0
- package/skills/python-mcp-server-generator/LICENSE.md +21 -0
- package/skills/python-mcp-server-generator/SKILL.md +105 -0
- package/skills/python-mcp-server-generator/SYNC.md +5 -0
- package/skills/quasi-coder/LICENSE.md +21 -0
- package/skills/quasi-coder/SKILL.md +369 -0
- package/skills/quasi-coder/SYNC.md +5 -0
- package/skills/readme-blueprint-generator/LICENSE.md +21 -0
- package/skills/readme-blueprint-generator/SKILL.md +78 -0
- package/skills/readme-blueprint-generator/SYNC.md +5 -0
- package/skills/refactor/LICENSE.md +21 -0
- package/skills/refactor/SKILL.md +645 -0
- package/skills/refactor/SYNC.md +5 -0
- package/skills/refactor-method-complexity-reduce/LICENSE.md +21 -0
- package/skills/refactor-method-complexity-reduce/SKILL.md +98 -0
- package/skills/refactor-method-complexity-reduce/SYNC.md +5 -0
- package/skills/refactor-plan/LICENSE.md +21 -0
- package/skills/refactor-plan/SKILL.md +65 -0
- package/skills/refactor-plan/SYNC.md +5 -0
- package/skills/remember/LICENSE.md +21 -0
- package/skills/remember/SKILL.md +126 -0
- package/skills/remember/SYNC.md +5 -0
- package/skills/remember-interactive-programming/LICENSE.md +21 -0
- package/skills/remember-interactive-programming/SKILL.md +13 -0
- package/skills/remember-interactive-programming/SYNC.md +5 -0
- package/skills/repo-story-time/LICENSE.md +21 -0
- package/skills/repo-story-time/SKILL.md +154 -0
- package/skills/repo-story-time/SYNC.md +5 -0
- package/skills/review-and-refactor/LICENSE.md +21 -0
- package/skills/review-and-refactor/SKILL.md +15 -0
- package/skills/review-and-refactor/SYNC.md +5 -0
- package/skills/reviewing-oracle-to-postgres-migration/LICENSE.md +21 -0
- package/skills/reviewing-oracle-to-postgres-migration/SKILL.md +67 -0
- package/skills/reviewing-oracle-to-postgres-migration/SYNC.md +5 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/REFERENCE.md +13 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/empty-strings-handling.md +69 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/no-data-found-exceptions.md +99 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/oracle-parentheses-from-clause.md +190 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-sorting.md +51 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-timestamp-timezone.md +187 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-to-char-numeric.md +145 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/oracle-to-postgres-type-coercion.md +182 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/postgres-concurrent-transactions.md +259 -0
- package/skills/reviewing-oracle-to-postgres-migration/references/postgres-refcursor-handling.md +148 -0
- package/skills/ruby-mcp-server-generator/LICENSE.md +21 -0
- package/skills/ruby-mcp-server-generator/SKILL.md +660 -0
- package/skills/ruby-mcp-server-generator/SYNC.md +5 -0
- package/skills/rust-mcp-server-generator/LICENSE.md +21 -0
- package/skills/rust-mcp-server-generator/SKILL.md +577 -0
- package/skills/rust-mcp-server-generator/SYNC.md +5 -0
- package/skills/sandbox-npm-install/LICENSE.md +21 -0
- package/skills/sandbox-npm-install/SKILL.md +80 -0
- package/skills/sandbox-npm-install/SYNC.md +5 -0
- package/skills/sandbox-npm-install/scripts/install.sh +193 -0
- package/skills/scaffolding-oracle-to-postgres-migration-test-project/LICENSE.md +21 -0
- package/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md +54 -0
- package/skills/scaffolding-oracle-to-postgres-migration-test-project/SYNC.md +5 -0
- package/skills/scoutqa-test/LICENSE.md +21 -0
- package/skills/scoutqa-test/SKILL.md +375 -0
- package/skills/scoutqa-test/SYNC.md +5 -0
- package/skills/secret-scanning/LICENSE.md +21 -0
- package/skills/secret-scanning/SKILL.md +224 -0
- package/skills/secret-scanning/SYNC.md +5 -0
- package/skills/secret-scanning/references/alerts-and-remediation.md +245 -0
- package/skills/secret-scanning/references/custom-patterns.md +158 -0
- package/skills/secret-scanning/references/push-protection.md +164 -0
- package/skills/semantic-kernel/LICENSE.md +21 -0
- package/skills/semantic-kernel/SKILL.md +56 -0
- package/skills/semantic-kernel/SYNC.md +5 -0
- package/skills/semantic-kernel/references/dotnet.md +15 -0
- package/skills/semantic-kernel/references/python.md +15 -0
- package/skills/shuffle-json-data/LICENSE.md +21 -0
- package/skills/shuffle-json-data/SKILL.md +150 -0
- package/skills/shuffle-json-data/SYNC.md +5 -0
- package/skills/snowflake-semanticview/LICENSE.md +21 -0
- package/skills/snowflake-semanticview/SKILL.md +83 -0
- package/skills/snowflake-semanticview/SYNC.md +5 -0
- package/skills/sponsor-finder/LICENSE.md +21 -0
- package/skills/sponsor-finder/SKILL.md +258 -0
- package/skills/sponsor-finder/SYNC.md +5 -0
- package/skills/spring-boot-testing/LICENSE.md +21 -0
- package/skills/spring-boot-testing/SKILL.md +189 -0
- package/skills/spring-boot-testing/SYNC.md +5 -0
- package/skills/spring-boot-testing/references/assertj-basics.md +207 -0
- package/skills/spring-boot-testing/references/assertj-collections.md +183 -0
- package/skills/spring-boot-testing/references/context-caching.md +115 -0
- package/skills/spring-boot-testing/references/datajpatest.md +197 -0
- package/skills/spring-boot-testing/references/instancio.md +230 -0
- package/skills/spring-boot-testing/references/mockitobean.md +232 -0
- package/skills/spring-boot-testing/references/mockmvc-classic.md +206 -0
- package/skills/spring-boot-testing/references/mockmvc-tester.md +311 -0
- package/skills/spring-boot-testing/references/restclienttest.md +227 -0
- package/skills/spring-boot-testing/references/resttestclient.md +278 -0
- package/skills/spring-boot-testing/references/sb4-migration.md +181 -0
- package/skills/spring-boot-testing/references/test-slices-overview.md +203 -0
- package/skills/spring-boot-testing/references/testcontainers-jdbc.md +234 -0
- package/skills/spring-boot-testing/references/webmvctest.md +177 -0
- package/skills/sql-code-review/LICENSE.md +21 -0
- package/skills/sql-code-review/SKILL.md +301 -0
- package/skills/sql-code-review/SYNC.md +5 -0
- package/skills/sql-optimization/LICENSE.md +21 -0
- package/skills/sql-optimization/SKILL.md +296 -0
- package/skills/sql-optimization/SYNC.md +5 -0
- package/skills/structured-autonomy-generate/LICENSE.md +21 -0
- package/skills/structured-autonomy-generate/SKILL.md +125 -0
- package/skills/structured-autonomy-generate/SYNC.md +5 -0
- package/skills/structured-autonomy-implement/LICENSE.md +21 -0
- package/skills/structured-autonomy-implement/SKILL.md +19 -0
- package/skills/structured-autonomy-implement/SYNC.md +5 -0
- package/skills/structured-autonomy-plan/LICENSE.md +21 -0
- package/skills/structured-autonomy-plan/SKILL.md +81 -0
- package/skills/structured-autonomy-plan/SYNC.md +5 -0
- package/skills/suggest-awesome-github-copilot-agents/LICENSE.md +21 -0
- package/skills/suggest-awesome-github-copilot-agents/SKILL.md +106 -0
- package/skills/suggest-awesome-github-copilot-agents/SYNC.md +5 -0
- package/skills/suggest-awesome-github-copilot-instructions/LICENSE.md +21 -0
- package/skills/suggest-awesome-github-copilot-instructions/SKILL.md +122 -0
- package/skills/suggest-awesome-github-copilot-instructions/SYNC.md +5 -0
- package/skills/suggest-awesome-github-copilot-skills/LICENSE.md +21 -0
- package/skills/suggest-awesome-github-copilot-skills/SKILL.md +130 -0
- package/skills/suggest-awesome-github-copilot-skills/SYNC.md +5 -0
- package/skills/swift-mcp-server-generator/LICENSE.md +21 -0
- package/skills/swift-mcp-server-generator/SKILL.md +669 -0
- package/skills/swift-mcp-server-generator/SYNC.md +5 -0
- package/skills/technology-stack-blueprint-generator/LICENSE.md +21 -0
- package/skills/technology-stack-blueprint-generator/SKILL.md +242 -0
- package/skills/technology-stack-blueprint-generator/SYNC.md +5 -0
- package/skills/terraform-azurerm-set-diff-analyzer/LICENSE.md +21 -0
- package/skills/terraform-azurerm-set-diff-analyzer/SKILL.md +48 -0
- package/skills/terraform-azurerm-set-diff-analyzer/SYNC.md +5 -0
- package/skills/terraform-azurerm-set-diff-analyzer/references/azurerm_set_attributes.json +154 -0
- package/skills/terraform-azurerm-set-diff-analyzer/references/azurerm_set_attributes.md +145 -0
- package/skills/terraform-azurerm-set-diff-analyzer/scripts/README.md +205 -0
- package/skills/terraform-azurerm-set-diff-analyzer/scripts/analyze_plan.py +940 -0
- package/skills/tldr-prompt/LICENSE.md +21 -0
- package/skills/tldr-prompt/SKILL.md +304 -0
- package/skills/tldr-prompt/SYNC.md +5 -0
- package/skills/transloadit-media-processing/LICENSE.md +21 -0
- package/skills/transloadit-media-processing/SKILL.md +194 -0
- package/skills/transloadit-media-processing/SYNC.md +5 -0
- package/skills/typescript-mcp-server-generator/LICENSE.md +21 -0
- package/skills/typescript-mcp-server-generator/SKILL.md +90 -0
- package/skills/typescript-mcp-server-generator/SYNC.md +5 -0
- package/skills/typespec-api-operations/LICENSE.md +21 -0
- package/skills/typespec-api-operations/SKILL.md +418 -0
- package/skills/typespec-api-operations/SYNC.md +5 -0
- package/skills/typespec-create-agent/LICENSE.md +21 -0
- package/skills/typespec-create-agent/SKILL.md +91 -0
- package/skills/typespec-create-agent/SYNC.md +5 -0
- package/skills/typespec-create-api-plugin/LICENSE.md +21 -0
- package/skills/typespec-create-api-plugin/SKILL.md +164 -0
- package/skills/typespec-create-api-plugin/SYNC.md +5 -0
- package/skills/unit-test-vue-pinia/LICENSE.md +21 -0
- package/skills/unit-test-vue-pinia/SKILL.md +198 -0
- package/skills/unit-test-vue-pinia/SYNC.md +5 -0
- package/skills/unit-test-vue-pinia/references/pinia-patterns.md +95 -0
- package/skills/update-avm-modules-in-bicep/LICENSE.md +21 -0
- package/skills/update-avm-modules-in-bicep/SKILL.md +60 -0
- package/skills/update-avm-modules-in-bicep/SYNC.md +5 -0
- package/skills/update-implementation-plan/LICENSE.md +21 -0
- package/skills/update-implementation-plan/SKILL.md +157 -0
- package/skills/update-implementation-plan/SYNC.md +5 -0
- package/skills/update-llms/LICENSE.md +21 -0
- package/skills/update-llms/SKILL.md +216 -0
- package/skills/update-llms/SYNC.md +5 -0
- package/skills/update-markdown-file-index/LICENSE.md +21 -0
- package/skills/update-markdown-file-index/SKILL.md +76 -0
- package/skills/update-markdown-file-index/SYNC.md +5 -0
- package/skills/update-specification/LICENSE.md +21 -0
- package/skills/update-specification/SKILL.md +127 -0
- package/skills/update-specification/SYNC.md +5 -0
- package/skills/vscode-ext-commands/LICENSE.md +21 -0
- package/skills/vscode-ext-commands/SKILL.md +21 -0
- package/skills/vscode-ext-commands/SYNC.md +5 -0
- package/skills/vscode-ext-localization/LICENSE.md +21 -0
- package/skills/vscode-ext-localization/SKILL.md +25 -0
- package/skills/vscode-ext-localization/SYNC.md +5 -0
- package/skills/web-coder/LICENSE.md +21 -0
- package/skills/web-coder/SKILL.md +563 -0
- package/skills/web-coder/SYNC.md +5 -0
- package/skills/web-coder/references/accessibility.md +346 -0
- package/skills/web-coder/references/architecture-patterns.md +625 -0
- package/skills/web-coder/references/browsers-engines.md +358 -0
- package/skills/web-coder/references/css-styling.md +696 -0
- package/skills/web-coder/references/data-formats-encoding.md +411 -0
- package/skills/web-coder/references/development-tools.md +502 -0
- package/skills/web-coder/references/glossary.md +649 -0
- package/skills/web-coder/references/html-markup.md +387 -0
- package/skills/web-coder/references/http-networking.md +538 -0
- package/skills/web-coder/references/javascript-programming.md +807 -0
- package/skills/web-coder/references/media-graphics.md +504 -0
- package/skills/web-coder/references/performance-optimization.md +546 -0
- package/skills/web-coder/references/security-authentication.md +603 -0
- package/skills/web-coder/references/servers-infrastructure.md +615 -0
- package/skills/web-coder/references/web-apis-dom.md +654 -0
- package/skills/web-coder/references/web-protocols-standards.md +265 -0
- package/skills/web-design-reviewer/LICENSE.md +21 -0
- package/skills/web-design-reviewer/SKILL.md +368 -0
- package/skills/web-design-reviewer/SYNC.md +5 -0
- package/skills/web-design-reviewer/references/framework-fixes.md +475 -0
- package/skills/web-design-reviewer/references/visual-checklist.md +236 -0
- package/skills/webapp-testing/LICENSE.md +21 -0
- package/skills/webapp-testing/SKILL.md +104 -67
- package/skills/webapp-testing/SYNC.md +2 -2
- package/skills/webapp-testing/assets/test-helper.js +56 -0
- package/skills/what-context-needed/LICENSE.md +21 -0
- package/skills/what-context-needed/SKILL.md +39 -0
- package/skills/what-context-needed/SYNC.md +5 -0
- package/skills/winapp-cli/LICENSE.md +21 -0
- package/skills/winapp-cli/SKILL.md +217 -0
- package/skills/winapp-cli/SYNC.md +5 -0
- package/skills/winmd-api-search/LICENSE.md +21 -0
- package/skills/winmd-api-search/LICENSE.txt +21 -0
- package/skills/winmd-api-search/SKILL.md +192 -0
- package/skills/winmd-api-search/SYNC.md +5 -0
- package/skills/winmd-api-search/scripts/Invoke-WinMdQuery.ps1 +505 -0
- package/skills/winmd-api-search/scripts/Update-WinMdCache.ps1 +208 -0
- package/skills/winmd-api-search/scripts/cache-generator/CacheGenerator.csproj +29 -0
- package/skills/winmd-api-search/scripts/cache-generator/Directory.Build.props +3 -0
- package/skills/winmd-api-search/scripts/cache-generator/Directory.Build.targets +3 -0
- package/skills/winmd-api-search/scripts/cache-generator/Directory.Packages.props +3 -0
- package/skills/winmd-api-search/scripts/cache-generator/Program.cs +1222 -0
- package/skills/winui3-migration-guide/LICENSE.md +21 -0
- package/skills/winui3-migration-guide/SKILL.md +277 -0
- package/skills/winui3-migration-guide/SYNC.md +5 -0
- package/skills/workiq-copilot/LICENSE.md +21 -0
- package/skills/workiq-copilot/SKILL.md +98 -0
- package/skills/workiq-copilot/SYNC.md +5 -0
- package/skills/write-coding-standards-from-file/LICENSE.md +21 -0
- package/skills/write-coding-standards-from-file/SKILL.md +316 -0
- package/skills/write-coding-standards-from-file/SYNC.md +5 -0
- package/skills/webapp-testing/LICENSE.txt +0 -202
- package/skills/webapp-testing/examples/console_logging.py +0 -35
- package/skills/webapp-testing/examples/element_discovery.py +0 -40
- package/skills/webapp-testing/examples/static_html_automation.py +0 -33
- package/skills/webapp-testing/scripts/with_server.py +0 -106
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gtm-technical-product-pricing
|
|
3
|
+
description: Pricing strategy for technical products. Use when choosing usage-based vs seat-based, designing freemium thresholds, structuring enterprise pricing conversations, deciding when to raise prices, or using price as a positioning signal.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: Smit Patel (https://linkedin.com/in/smitkpatel)
|
|
7
|
+
source: https://github.com/beingsmit/technical-product-gtm
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Technical Product Pricing
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Initial Assessment
|
|
14
|
+
|
|
15
|
+
Before recommending pricing, understand:
|
|
16
|
+
|
|
17
|
+
1. **Product type**: API/platform, developer tool, SaaS application, infrastructure?
|
|
18
|
+
2. **Current pricing**: What do you charge now? How long has it been this way?
|
|
19
|
+
3. **GTM motion**: Self-serve, sales-assisted, enterprise, or hybrid?
|
|
20
|
+
4. **Cost structure**: What's your marginal cost per customer/user/unit?
|
|
21
|
+
5. **Competitive landscape**: What do alternatives cost? (Including "do nothing")
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Core Frameworks
|
|
26
|
+
|
|
27
|
+
### 1. The Price Increase Nobody Noticed (You're Probably Underpriced)
|
|
28
|
+
|
|
29
|
+
**The Pattern:**
|
|
30
|
+
|
|
31
|
+
Platform company, growth stage. Pricing hadn't changed since launch. Enterprise customers paying $15K/year for a product saving them $200K+ in engineering time.
|
|
32
|
+
|
|
33
|
+
Leadership debate: "If we raise prices, we'll lose customers."
|
|
34
|
+
|
|
35
|
+
**What actually happened:**
|
|
36
|
+
|
|
37
|
+
Raised enterprise tier from $15K to $45K/year. Added dedicated support, SSO, audit logs to justify the jump.
|
|
38
|
+
|
|
39
|
+
Lost: 0 enterprise customers. Zero.
|
|
40
|
+
|
|
41
|
+
Gained: 3x revenue per enterprise account. Plus the customers who stayed started taking the product more seriously — higher adoption, more internal champions, more expansion.
|
|
42
|
+
|
|
43
|
+
**Why This Happens:**
|
|
44
|
+
|
|
45
|
+
Technical founders anchor pricing to cost ("it costs us $X to serve them, so we charge $2X"). Enterprise buyers anchor pricing to value ("this saves us $200K, so $45K is cheap").
|
|
46
|
+
|
|
47
|
+
**The Pricing Sanity Check:**
|
|
48
|
+
|
|
49
|
+
For every customer segment, calculate:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Value Ratio = Customer's alternative cost / Your price
|
|
53
|
+
|
|
54
|
+
If Value Ratio > 10x → You're massively underpriced
|
|
55
|
+
If Value Ratio > 5x → You're underpriced (most startups are here)
|
|
56
|
+
If Value Ratio 3-5x → Healthy pricing
|
|
57
|
+
If Value Ratio < 3x → Approaching ceiling
|
|
58
|
+
If Value Ratio < 2x → You're expensive (need strong differentiation)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**How to Calculate Alternative Cost:**
|
|
62
|
+
|
|
63
|
+
- Hours spent on manual process × hourly rate × frequency
|
|
64
|
+
- Cost of building in-house (engineers × months × loaded cost)
|
|
65
|
+
- Cost of existing tool + switching cost + productivity loss during transition
|
|
66
|
+
- Cost of *not solving the problem* (incidents, downtime, churn)
|
|
67
|
+
|
|
68
|
+
**Common Mistake:**
|
|
69
|
+
|
|
70
|
+
Comparing your price to competitors instead of to customer's alternative cost. Competitors anchor you to a race to the bottom. Value anchors you to what the customer actually saves.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### 2. The Three Pricing Models (And When Each Breaks)
|
|
75
|
+
|
|
76
|
+
**Model 1: Seat-Based ($X/user/month)**
|
|
77
|
+
|
|
78
|
+
**Works when:**
|
|
79
|
+
- Value scales with number of users (collaboration tools, communication)
|
|
80
|
+
- Usage is relatively uniform across users
|
|
81
|
+
- You want predictable revenue
|
|
82
|
+
|
|
83
|
+
**Breaks when:**
|
|
84
|
+
- Power users and casual users get same price (casual users churn)
|
|
85
|
+
- Product value doesn't scale with seats (one admin configures for 1,000 users)
|
|
86
|
+
- Customers consolidate seats to reduce cost (usage goes up, revenue doesn't)
|
|
87
|
+
|
|
88
|
+
**Model 2: Usage-Based ($X/unit)**
|
|
89
|
+
|
|
90
|
+
**Works when:**
|
|
91
|
+
- Usage varies significantly by customer (API calls, compute, storage)
|
|
92
|
+
- Marginal cost is meaningful (you need usage to track with revenue)
|
|
93
|
+
- Value directly correlates with usage
|
|
94
|
+
|
|
95
|
+
**Breaks when:**
|
|
96
|
+
- Customers can't predict bills (sticker shock at month-end)
|
|
97
|
+
- Low-usage customers aren't worth supporting
|
|
98
|
+
- High-usage customers negotiate volume discounts that compress margins
|
|
99
|
+
|
|
100
|
+
**Model 3: Outcome-Based ($X/result)**
|
|
101
|
+
|
|
102
|
+
**Works when:**
|
|
103
|
+
- You can measure outcomes reliably (leads generated, tickets resolved, code deployed)
|
|
104
|
+
- Outcomes directly create customer value
|
|
105
|
+
- You have confidence in your product's effectiveness
|
|
106
|
+
|
|
107
|
+
**Breaks when:**
|
|
108
|
+
- Outcomes depend on factors outside your control
|
|
109
|
+
- Measurement is disputed ("that lead wasn't from your tool")
|
|
110
|
+
- Customers game the metric
|
|
111
|
+
|
|
112
|
+
**The Hybrid That Usually Wins:**
|
|
113
|
+
|
|
114
|
+
Platform fee (covers your fixed costs) + usage/outcome variable (scales with value).
|
|
115
|
+
|
|
116
|
+
Example: $500/month base + $0.05 per transaction (or API call, task completed, record processed — whatever your unit of value is).
|
|
117
|
+
|
|
118
|
+
Why this works:
|
|
119
|
+
- Base fee ensures every customer covers cost to serve
|
|
120
|
+
- Variable fee aligns price with value
|
|
121
|
+
- Customers can predict minimum spend (base) while scaling naturally
|
|
122
|
+
- You capture upside when customers grow
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### 3. Freemium Threshold Design (Where Free Ends and Paid Begins)
|
|
127
|
+
|
|
128
|
+
**The Pattern:**
|
|
129
|
+
|
|
130
|
+
The hardest pricing decision for developer tools: where do you draw the line between free and paid?
|
|
131
|
+
|
|
132
|
+
**The Framework: Find the Production Boundary**
|
|
133
|
+
|
|
134
|
+
Free users who never pay are fine — they create awareness, community, and content. The problem is when *production users* never pay.
|
|
135
|
+
|
|
136
|
+
**How to Find the Boundary:**
|
|
137
|
+
|
|
138
|
+
Map your usage distribution:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Usage Level | User Type | Willingness to Pay
|
|
142
|
+
─────────────────────────────────────────────────────────────
|
|
143
|
+
<100 units/mo | Hobbyist/learner | $0 (never paying)
|
|
144
|
+
100-1K units/mo | Side project | $0-20/mo (maybe)
|
|
145
|
+
1K-10K units/mo | Production use | $50-200/mo (will pay)
|
|
146
|
+
>10K units/mo | Business-critical| $200-2K/mo (must pay)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Set your free tier limit just below where production usage starts.** In this example: 1,000 units/month free.
|
|
150
|
+
|
|
151
|
+
Why: Hobbyists and learners stay free (they're your marketing engine). Production users hit the limit naturally and convert (they have budget).
|
|
152
|
+
|
|
153
|
+
**The Three Types of Free-to-Paid Triggers:**
|
|
154
|
+
|
|
155
|
+
**1. Usage limit** (most common for platforms)
|
|
156
|
+
- Free: 1,000 units/month (API calls, tasks, records, whatever your value unit is)
|
|
157
|
+
- Triggers when: Production usage exceeds limit
|
|
158
|
+
- Conversion signal: User is building something real
|
|
159
|
+
|
|
160
|
+
**2. Team/collaboration gate** (best for tools)
|
|
161
|
+
- Free: Individual use
|
|
162
|
+
- Triggers when: User invites second person
|
|
163
|
+
- Conversion signal: Tool is valuable enough to share
|
|
164
|
+
|
|
165
|
+
**3. Enterprise feature gate** (best for platforms)
|
|
166
|
+
- Free: Core features
|
|
167
|
+
- Triggers when: Needs SSO, RBAC, audit logs, SLAs
|
|
168
|
+
- Conversion signal: IT/security involved (real deployment)
|
|
169
|
+
|
|
170
|
+
**Common Mistake:**
|
|
171
|
+
|
|
172
|
+
Setting free tier too high ("we want developers to love us"). If production users don't hit the limit, they never convert. Generosity in free tier should target *learners*, not *production users*.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### 4. Enterprise Pricing (The Conversation, Not the Number)
|
|
177
|
+
|
|
178
|
+
**The Pattern:**
|
|
179
|
+
|
|
180
|
+
Enterprise pricing isn't a page on your website. It's a conversation. The "Contact Sales" button exists because enterprise deals have unique requirements — and because you should be pricing based on value, not a menu.
|
|
181
|
+
|
|
182
|
+
**Enterprise Pricing Variables:**
|
|
183
|
+
|
|
184
|
+
**1. Deployment model** (self-serve cloud, dedicated cloud, on-prem, hybrid)
|
|
185
|
+
- Each has different cost to serve → different price floor
|
|
186
|
+
- On-prem commands 2-5x premium over cloud (support complexity)
|
|
187
|
+
|
|
188
|
+
**2. Usage scale** (seats, API volume, data volume)
|
|
189
|
+
- Volume discounts should never go below cost to serve + 40% margin
|
|
190
|
+
- Discount off list price, not off already-discounted price
|
|
191
|
+
|
|
192
|
+
**3. Support level** (community, standard, premium, dedicated)
|
|
193
|
+
- Premium support: 1.5-2x base price
|
|
194
|
+
- Dedicated CSM: 2-3x base price
|
|
195
|
+
- 24/7 support with SLA: 3-5x base price
|
|
196
|
+
|
|
197
|
+
**4. Compliance requirements** (SOC 2, HIPAA, FedRAMP, data residency)
|
|
198
|
+
- Each compliance adds real cost (audits, infrastructure, process)
|
|
199
|
+
- Price accordingly: 1.5-2x base per compliance standard
|
|
200
|
+
|
|
201
|
+
**The Enterprise Pricing Conversation:**
|
|
202
|
+
|
|
203
|
+
When prospect says "what does it cost?":
|
|
204
|
+
|
|
205
|
+
1. **Don't answer with a number.** Answer with a question: "It depends on your deployment and scale requirements. Help me understand what you need."
|
|
206
|
+
|
|
207
|
+
2. **Map their requirements:**
|
|
208
|
+
- How many users/seats/units?
|
|
209
|
+
- Cloud or on-prem?
|
|
210
|
+
- Compliance needs?
|
|
211
|
+
- Support expectations?
|
|
212
|
+
- Integration requirements?
|
|
213
|
+
|
|
214
|
+
3. **Anchor to value before presenting price:**
|
|
215
|
+
- "Based on what you've described, you're currently spending [X] on this problem. Our solution typically reduces that by [Y%]."
|
|
216
|
+
- Then present price as fraction of savings.
|
|
217
|
+
|
|
218
|
+
4. **Present 3 options:**
|
|
219
|
+
- Good: Meets minimum requirements
|
|
220
|
+
- Better: Meets requirements + nice-to-haves (anchor here)
|
|
221
|
+
- Best: Everything, including things they didn't ask for
|
|
222
|
+
- Most buyers pick Better. That's your real price.
|
|
223
|
+
|
|
224
|
+
**Common Mistake:**
|
|
225
|
+
|
|
226
|
+
Publishing enterprise pricing on your website. The moment you publish a number, that's the ceiling — the negotiation only goes down from there. Keep enterprise pricing as a conversation.
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
### 5. Pricing as Positioning Signal
|
|
231
|
+
|
|
232
|
+
**The Pattern:**
|
|
233
|
+
|
|
234
|
+
Your price tells buyers who you're for. This is as much a positioning decision as a revenue decision.
|
|
235
|
+
|
|
236
|
+
**Price Signals:**
|
|
237
|
+
|
|
238
|
+
**$0 (Open source / free tier):**
|
|
239
|
+
- Signal: We're for developers who want to try before they buy
|
|
240
|
+
- Attracts: Individual contributors, experimenters
|
|
241
|
+
- Risk: Perceived as "not enterprise-ready"
|
|
242
|
+
|
|
243
|
+
**$20-100/month:**
|
|
244
|
+
- Signal: We're for teams and small businesses
|
|
245
|
+
- Attracts: Self-serve buyers, startups
|
|
246
|
+
- Risk: Enterprises won't take you seriously (too cheap)
|
|
247
|
+
|
|
248
|
+
**$500-2,000/month:**
|
|
249
|
+
- Signal: We're for production workloads
|
|
250
|
+
- Attracts: Growing companies with real budgets
|
|
251
|
+
- Risk: Startups priced out (may need free tier)
|
|
252
|
+
|
|
253
|
+
**$5,000-50,000/year:**
|
|
254
|
+
- Signal: We're for enterprises
|
|
255
|
+
- Attracts: Mid-market and enterprise
|
|
256
|
+
- Risk: Need sales team (can't be self-serve at this price)
|
|
257
|
+
|
|
258
|
+
**$100K+/year:**
|
|
259
|
+
- Signal: We're mission-critical infrastructure
|
|
260
|
+
- Attracts: Large enterprises
|
|
261
|
+
- Risk: Long sales cycles, heavy support expectations
|
|
262
|
+
|
|
263
|
+
**The Positioning Test:**
|
|
264
|
+
|
|
265
|
+
If you price at $50/month but want enterprise customers, your price is undermining your positioning. Enterprise buyers associate low price with low value. You may need to *raise* prices to attract the customers you want.
|
|
266
|
+
|
|
267
|
+
**Common Mistake:**
|
|
268
|
+
|
|
269
|
+
Pricing for the customer you have instead of the customer you want. If your roadmap is enterprise, price for enterprise — even if it means losing some SMB customers today.
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
### 6. When and How to Raise Prices
|
|
274
|
+
|
|
275
|
+
**Timing Signals:**
|
|
276
|
+
|
|
277
|
+
- Value ratio > 5x for most customers
|
|
278
|
+
- Win rates above 40% (you're not losing on price)
|
|
279
|
+
- No customer pushback on pricing in last 6 months
|
|
280
|
+
- Customers expanding faster than expected
|
|
281
|
+
- Competitors raised prices and didn't lose share
|
|
282
|
+
|
|
283
|
+
**How to Raise Without Losing Customers:**
|
|
284
|
+
|
|
285
|
+
**1. Grandfather existing customers** (12-24 months)
|
|
286
|
+
- New pricing for new customers only
|
|
287
|
+
- Existing customers get notice + timeline
|
|
288
|
+
- Creates urgency for prospects ("price is going up")
|
|
289
|
+
|
|
290
|
+
**2. Add value to justify increase**
|
|
291
|
+
- New tier with new features at higher price
|
|
292
|
+
- Move current tier features to new higher tier
|
|
293
|
+
- This is repositioning, not just a price increase
|
|
294
|
+
|
|
295
|
+
**3. Annual increase clause in contracts**
|
|
296
|
+
- Include 5-10% annual escalator in enterprise contracts
|
|
297
|
+
- Normalizes price increases
|
|
298
|
+
- Prevents "we've been paying the same for 4 years" conversations
|
|
299
|
+
|
|
300
|
+
**The Communication:**
|
|
301
|
+
|
|
302
|
+
"We're investing in [specific improvements]. To continue this level of investment, we're updating our pricing on [date]. Your current plan is locked in at your current rate until [grandfather date]."
|
|
303
|
+
|
|
304
|
+
Never apologize for raising prices. Frame it as investment in the product they love.
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## Decision Trees
|
|
309
|
+
|
|
310
|
+
### Which Pricing Model?
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
Does usage vary >5x between customers?
|
|
314
|
+
├─ Yes → Usage-based (or hybrid with usage component)
|
|
315
|
+
└─ No → Continue...
|
|
316
|
+
│
|
|
317
|
+
Does value scale with team size?
|
|
318
|
+
├─ Yes → Seat-based
|
|
319
|
+
└─ No → Continue...
|
|
320
|
+
│
|
|
321
|
+
Can you measure customer outcomes reliably?
|
|
322
|
+
├─ Yes → Outcome-based (or hybrid)
|
|
323
|
+
└─ No → Platform fee + feature-based tiers
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### Should We Raise Prices?
|
|
327
|
+
|
|
328
|
+
```
|
|
329
|
+
Is value ratio > 5x for most customers?
|
|
330
|
+
├─ Yes → Raise prices
|
|
331
|
+
└─ No → Continue...
|
|
332
|
+
│
|
|
333
|
+
Are win rates > 40%?
|
|
334
|
+
├─ Yes → Price isn't the problem, but consider raising
|
|
335
|
+
└─ No → Continue...
|
|
336
|
+
│
|
|
337
|
+
Are you losing deals specifically on price?
|
|
338
|
+
├─ Yes → Don't raise. Improve value or segment better.
|
|
339
|
+
└─ No → Something else is wrong (product, positioning, sales)
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## Related Skills
|
|
345
|
+
|
|
346
|
+
- **ai-gtm**: AI-specific pricing models (variable-cost AI, pricing outputs vs inputs)
|
|
347
|
+
- **product-led-growth**: Freemium conversion and PLG pricing gates
|
|
348
|
+
- **enterprise-account-planning**: Enterprise deal structuring and negotiation
|
|
349
|
+
- **positioning-strategy**: Price as positioning signal
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
*Based on pricing work at developer platforms and enterprise software companies, including enterprise price increases with zero customer loss, freemium threshold design that separated hobbyists from production users, partner pricing models, and pricing conversations across hundreds of enterprise deal cycles. Not theory — patterns from pricing decisions that directly impacted revenue.*
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright GitHub, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: image-manipulation-image-magick
|
|
3
|
+
description: Process and manipulate images using ImageMagick. Supports resizing, format conversion, batch processing, and retrieving image metadata. Use when working with images, creating thumbnails, resizing wallpapers, or performing batch image operations.
|
|
4
|
+
compatibility: Requires ImageMagick installed and available as `magick` on PATH. Cross-platform examples provided for PowerShell (Windows) and Bash (Linux/macOS).
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Image Manipulation with ImageMagick
|
|
8
|
+
|
|
9
|
+
This skill enables image processing and manipulation tasks using ImageMagick
|
|
10
|
+
across Windows, Linux, and macOS systems.
|
|
11
|
+
|
|
12
|
+
## When to Use This Skill
|
|
13
|
+
|
|
14
|
+
Use this skill when you need to:
|
|
15
|
+
|
|
16
|
+
- Resize images (single or batch)
|
|
17
|
+
- Get image dimensions and metadata
|
|
18
|
+
- Convert between image formats
|
|
19
|
+
- Create thumbnails
|
|
20
|
+
- Process wallpapers for different screen sizes
|
|
21
|
+
- Batch process multiple images with specific criteria
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
|
|
25
|
+
- ImageMagick installed on the system
|
|
26
|
+
- **Windows**: PowerShell with ImageMagick available as `magick` (or at `C:\Program Files\ImageMagick-*\magick.exe`)
|
|
27
|
+
- **Linux/macOS**: Bash with ImageMagick installed via package manager (`apt`, `brew`, etc.)
|
|
28
|
+
|
|
29
|
+
## Core Capabilities
|
|
30
|
+
|
|
31
|
+
### 1. Image Information
|
|
32
|
+
|
|
33
|
+
- Get image dimensions (width x height)
|
|
34
|
+
- Retrieve detailed metadata (format, color space, etc.)
|
|
35
|
+
- Identify image format
|
|
36
|
+
|
|
37
|
+
### 2. Image Resizing
|
|
38
|
+
|
|
39
|
+
- Resize single images
|
|
40
|
+
- Batch resize multiple images
|
|
41
|
+
- Create thumbnails with specific dimensions
|
|
42
|
+
- Maintain aspect ratios
|
|
43
|
+
|
|
44
|
+
### 3. Batch Processing
|
|
45
|
+
|
|
46
|
+
- Process images based on dimensions
|
|
47
|
+
- Filter and process specific file types
|
|
48
|
+
- Apply transformations to multiple files
|
|
49
|
+
|
|
50
|
+
## Usage Examples
|
|
51
|
+
|
|
52
|
+
### Example 0: Resolve `magick` executable
|
|
53
|
+
|
|
54
|
+
**PowerShell (Windows):**
|
|
55
|
+
```powershell
|
|
56
|
+
# Prefer ImageMagick on PATH
|
|
57
|
+
$magick = (Get-Command magick -ErrorAction SilentlyContinue)?.Source
|
|
58
|
+
|
|
59
|
+
# Fallback: common install pattern under Program Files
|
|
60
|
+
if (-not $magick) {
|
|
61
|
+
$magick = Get-ChildItem "C:\\Program Files\\ImageMagick-*\\magick.exe" -ErrorAction SilentlyContinue |
|
|
62
|
+
Select-Object -First 1 -ExpandProperty FullName
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (-not $magick) {
|
|
66
|
+
throw "ImageMagick not found. Install it and/or add 'magick' to PATH."
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Bash (Linux/macOS):**
|
|
71
|
+
```bash
|
|
72
|
+
# Check if magick is available on PATH
|
|
73
|
+
if ! command -v magick &> /dev/null; then
|
|
74
|
+
echo "ImageMagick not found. Install it using your package manager:"
|
|
75
|
+
echo " Ubuntu/Debian: sudo apt install imagemagick"
|
|
76
|
+
echo " macOS: brew install imagemagick"
|
|
77
|
+
exit 1
|
|
78
|
+
fi
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Example 1: Get Image Dimensions
|
|
82
|
+
|
|
83
|
+
**PowerShell (Windows):**
|
|
84
|
+
```powershell
|
|
85
|
+
# For a single image
|
|
86
|
+
& $magick identify -format "%wx%h" path/to/image.jpg
|
|
87
|
+
|
|
88
|
+
# For multiple images
|
|
89
|
+
Get-ChildItem "path/to/images/*" | ForEach-Object {
|
|
90
|
+
$dimensions = & $magick identify -format "%f: %wx%h`n" $_.FullName
|
|
91
|
+
Write-Host $dimensions
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Bash (Linux/macOS):**
|
|
96
|
+
```bash
|
|
97
|
+
# For a single image
|
|
98
|
+
magick identify -format "%wx%h" path/to/image.jpg
|
|
99
|
+
|
|
100
|
+
# For multiple images
|
|
101
|
+
for img in path/to/images/*; do
|
|
102
|
+
magick identify -format "%f: %wx%h\n" "$img"
|
|
103
|
+
done
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Example 2: Resize Images
|
|
107
|
+
|
|
108
|
+
**PowerShell (Windows):**
|
|
109
|
+
```powershell
|
|
110
|
+
# Resize a single image
|
|
111
|
+
& $magick input.jpg -resize 427x240 output.jpg
|
|
112
|
+
|
|
113
|
+
# Batch resize images
|
|
114
|
+
Get-ChildItem "path/to/images/*" | ForEach-Object {
|
|
115
|
+
& $magick $_.FullName -resize 427x240 "path/to/output/thumb_$($_.Name)"
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Bash (Linux/macOS):**
|
|
120
|
+
```bash
|
|
121
|
+
# Resize a single image
|
|
122
|
+
magick input.jpg -resize 427x240 output.jpg
|
|
123
|
+
|
|
124
|
+
# Batch resize images
|
|
125
|
+
for img in path/to/images/*; do
|
|
126
|
+
filename=$(basename "$img")
|
|
127
|
+
magick "$img" -resize 427x240 "path/to/output/thumb_$filename"
|
|
128
|
+
done
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Example 3: Get Detailed Image Information
|
|
132
|
+
|
|
133
|
+
**PowerShell (Windows):**
|
|
134
|
+
```powershell
|
|
135
|
+
# Get verbose information about an image
|
|
136
|
+
& $magick identify -verbose path/to/image.jpg
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Bash (Linux/macOS):**
|
|
140
|
+
```bash
|
|
141
|
+
# Get verbose information about an image
|
|
142
|
+
magick identify -verbose path/to/image.jpg
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Example 4: Process Images Based on Dimensions
|
|
146
|
+
|
|
147
|
+
**PowerShell (Windows):**
|
|
148
|
+
```powershell
|
|
149
|
+
Get-ChildItem "path/to/images/*" | ForEach-Object {
|
|
150
|
+
$dimensions = & $magick identify -format "%w,%h" $_.FullName
|
|
151
|
+
if ($dimensions) {
|
|
152
|
+
$width,$height = $dimensions -split ','
|
|
153
|
+
if ([int]$width -eq 2560 -or [int]$height -eq 1440) {
|
|
154
|
+
Write-Host "Processing $($_.Name)"
|
|
155
|
+
& $magick $_.FullName -resize 427x240 "path/to/output/thumb_$($_.Name)"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Bash (Linux/macOS):**
|
|
162
|
+
```bash
|
|
163
|
+
for img in path/to/images/*; do
|
|
164
|
+
dimensions=$(magick identify -format "%w,%h" "$img")
|
|
165
|
+
if [[ -n "$dimensions" ]]; then
|
|
166
|
+
width=$(echo "$dimensions" | cut -d',' -f1)
|
|
167
|
+
height=$(echo "$dimensions" | cut -d',' -f2)
|
|
168
|
+
if [[ "$width" -eq 2560 || "$height" -eq 1440 ]]; then
|
|
169
|
+
filename=$(basename "$img")
|
|
170
|
+
echo "Processing $filename"
|
|
171
|
+
magick "$img" -resize 427x240 "path/to/output/thumb_$filename"
|
|
172
|
+
fi
|
|
173
|
+
fi
|
|
174
|
+
done
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Guidelines
|
|
178
|
+
|
|
179
|
+
1. **Always quote file paths** - Use quotes around file paths that might contain spaces
|
|
180
|
+
2. **Use the `&` operator (PowerShell)** - Invoke the magick executable using `&` in PowerShell
|
|
181
|
+
3. **Store the path in a variable (PowerShell)** - Assign the ImageMagick path to `$magick` for cleaner code
|
|
182
|
+
4. **Wrap in loops** - When processing multiple files, use `ForEach-Object` (PowerShell) or `for` loops (Bash)
|
|
183
|
+
5. **Verify dimensions first** - Check image dimensions before processing to avoid unnecessary operations
|
|
184
|
+
6. **Use appropriate resize flags** - Consider using `!` to force exact dimensions or `^` for minimum dimensions
|
|
185
|
+
|
|
186
|
+
## Common Patterns
|
|
187
|
+
|
|
188
|
+
### PowerShell Patterns
|
|
189
|
+
|
|
190
|
+
#### Pattern: Store ImageMagick Path
|
|
191
|
+
|
|
192
|
+
```powershell
|
|
193
|
+
$magick = (Get-Command magick).Source
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### Pattern: Get Dimensions as Variables
|
|
197
|
+
|
|
198
|
+
```powershell
|
|
199
|
+
$dimensions = & $magick identify -format "%w,%h" $_.FullName
|
|
200
|
+
$width,$height = $dimensions -split ','
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
#### Pattern: Conditional Processing
|
|
204
|
+
|
|
205
|
+
```powershell
|
|
206
|
+
if ([int]$width -gt 1920) {
|
|
207
|
+
& $magick $_.FullName -resize 1920x1080 $outputPath
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
#### Pattern: Create Thumbnails
|
|
212
|
+
|
|
213
|
+
```powershell
|
|
214
|
+
& $magick $_.FullName -resize 427x240 "thumbnails/thumb_$($_.Name)"
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Bash Patterns
|
|
218
|
+
|
|
219
|
+
#### Pattern: Check ImageMagick Installation
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
command -v magick &> /dev/null || { echo "ImageMagick required"; exit 1; }
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
#### Pattern: Get Dimensions as Variables
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
dimensions=$(magick identify -format "%w,%h" "$img")
|
|
229
|
+
width=$(echo "$dimensions" | cut -d',' -f1)
|
|
230
|
+
height=$(echo "$dimensions" | cut -d',' -f2)
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
#### Pattern: Conditional Processing
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
if [[ "$width" -gt 1920 ]]; then
|
|
237
|
+
magick "$img" -resize 1920x1080 "$outputPath"
|
|
238
|
+
fi
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
#### Pattern: Create Thumbnails
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
filename=$(basename "$img")
|
|
245
|
+
magick "$img" -resize 427x240 "thumbnails/thumb_$filename"
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Limitations
|
|
249
|
+
|
|
250
|
+
- Large batch operations may be memory-intensive
|
|
251
|
+
- Some complex operations may require additional ImageMagick delegates
|
|
252
|
+
- On older Linux systems, use `convert` instead of `magick` (ImageMagick 6.x vs 7.x)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright GitHub, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|