@ruaruababa/vibe-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CATALOG.md +317 -0
- package/README.md +121 -0
- package/aliases.json +65 -0
- package/bin/vibe.js +2 -0
- package/bundles.json +265 -0
- package/catalog.json +1560 -0
- package/dist/antigravity-skills/bin/cli.js +438 -0
- package/dist/antigravity-skills/lib/skill-utils.js +158 -0
- package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
- package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
- package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
- package/dist/bin/vibe.js +2 -0
- package/dist/dist/src/cli/index.js +26 -0
- package/dist/lib/skill-utils.js +158 -0
- package/dist/scripts/build-catalog.js +50 -0
- package/dist/scripts/normalize-frontmatter.js +144 -0
- package/dist/scripts/validate-skills.js +56 -0
- package/dist/src/cli/index.js +146 -0
- package/dist/src/types/index.js +13 -0
- package/dist/src/utils/fs.js +1 -0
- package/package.json +43 -0
- package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
- package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
- package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
- package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
- package/skills/agent-orchestrator/SKILL.md +24 -0
- package/skills/ai-engineer/SKILL.md +171 -0
- package/skills/airflow-dag-patterns/SKILL.md +41 -0
- package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
- package/skills/angular-migration/SKILL.md +428 -0
- package/skills/anti-reversing-techniques/SKILL.md +42 -0
- package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
- package/skills/api-design-principles/SKILL.md +37 -0
- package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/skills/api-documenter/SKILL.md +184 -0
- package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
- package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
- package/skills/application-performance-performance-optimization/SKILL.md +154 -0
- package/skills/architect-review/SKILL.md +174 -0
- package/skills/architecture-decision-records/SKILL.md +441 -0
- package/skills/architecture-patterns/SKILL.md +37 -0
- package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
- package/skills/arm-cortex-expert/SKILL.md +306 -0
- package/skills/async-python-patterns/SKILL.md +39 -0
- package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
- package/skills/attack-tree-construction/SKILL.md +38 -0
- package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
- package/skills/auth-implementation-patterns/SKILL.md +39 -0
- package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
- package/skills/backend-architect/SKILL.md +333 -0
- package/skills/backend-development-feature-development/SKILL.md +180 -0
- package/skills/backend-security-coder/SKILL.md +156 -0
- package/skills/backtesting-frameworks/SKILL.md +39 -0
- package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
- package/skills/bash-defensive-patterns/SKILL.md +43 -0
- package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
- package/skills/bash-pro/SKILL.md +310 -0
- package/skills/bats-testing-patterns/SKILL.md +34 -0
- package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
- package/skills/bazel-build-optimization/SKILL.md +397 -0
- package/skills/billing-automation/SKILL.md +42 -0
- package/skills/billing-automation/resources/implementation-playbook.md +544 -0
- package/skills/binary-analysis-patterns/SKILL.md +450 -0
- package/skills/blockchain-developer/SKILL.md +208 -0
- package/skills/business-analyst/SKILL.md +182 -0
- package/skills/c-pro/SKILL.md +56 -0
- package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
- package/skills/c4-code/SKILL.md +244 -0
- package/skills/c4-component/SKILL.md +153 -0
- package/skills/c4-container/SKILL.md +171 -0
- package/skills/c4-context/SKILL.md +150 -0
- package/skills/changelog-automation/SKILL.md +38 -0
- package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
- package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
- package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
- package/skills/clean-markdown/SKILL.md +23 -0
- package/skills/cloud-architect/SKILL.md +135 -0
- package/skills/code-documentation-code-explain/SKILL.md +46 -0
- package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
- package/skills/code-documentation-doc-generate/SKILL.md +48 -0
- package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/code-refactoring-context-restore/SKILL.md +179 -0
- package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
- package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
- package/skills/code-review-ai-ai-review/SKILL.md +450 -0
- package/skills/code-review-excellence/SKILL.md +40 -0
- package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
- package/skills/code-reviewer/SKILL.md +178 -0
- package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
- package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
- package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
- package/skills/competitive-landscape/SKILL.md +34 -0
- package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
- package/skills/comprehensive-review-full-review/SKILL.md +146 -0
- package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
- package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
- package/skills/conductor-implement/SKILL.md +388 -0
- package/skills/conductor-manage/SKILL.md +39 -0
- package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
- package/skills/conductor-new-track/SKILL.md +433 -0
- package/skills/conductor-revert/SKILL.md +372 -0
- package/skills/conductor-setup/SKILL.md +426 -0
- package/skills/conductor-status/SKILL.md +338 -0
- package/skills/conductor-validator/SKILL.md +62 -0
- package/skills/content-marketer/SKILL.md +170 -0
- package/skills/context-driven-development/SKILL.md +400 -0
- package/skills/context-management-context-restore/SKILL.md +179 -0
- package/skills/context-management-context-save/SKILL.md +177 -0
- package/skills/context-manager/SKILL.md +185 -0
- package/skills/cost-optimization/SKILL.md +286 -0
- package/skills/cpp-pro/SKILL.md +59 -0
- package/skills/cqrs-implementation/SKILL.md +35 -0
- package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
- package/skills/csharp-pro/SKILL.md +59 -0
- package/skills/customer-support/SKILL.md +170 -0
- package/skills/data-engineer/SKILL.md +224 -0
- package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
- package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
- package/skills/data-quality-frameworks/SKILL.md +40 -0
- package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
- package/skills/data-scientist/SKILL.md +199 -0
- package/skills/data-storytelling/SKILL.md +465 -0
- package/skills/database-admin/SKILL.md +165 -0
- package/skills/database-architect/SKILL.md +268 -0
- package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
- package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
- package/skills/database-migration/SKILL.md +436 -0
- package/skills/database-migrations-migration-observability/SKILL.md +420 -0
- package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
- package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
- package/skills/database-optimizer/SKILL.md +167 -0
- package/skills/dbt-transformation-patterns/SKILL.md +34 -0
- package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
- package/skills/debugger/SKILL.md +49 -0
- package/skills/debugging-strategies/SKILL.md +34 -0
- package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
- package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
- package/skills/defi-protocol-templates/SKILL.md +466 -0
- package/skills/dependency-management-deps-audit/SKILL.md +44 -0
- package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/dependency-upgrade/SKILL.md +421 -0
- package/skills/deployment-engineer/SKILL.md +170 -0
- package/skills/deployment-pipeline-design/SKILL.md +371 -0
- package/skills/deployment-validation-config-validate/SKILL.md +496 -0
- package/skills/devops-troubleshooter/SKILL.md +161 -0
- package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
- package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
- package/skills/distributed-tracing/SKILL.md +450 -0
- package/skills/django-pro/SKILL.md +180 -0
- package/skills/docs-architect/SKILL.md +98 -0
- package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
- package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/dotnet-architect/SKILL.md +197 -0
- package/skills/dotnet-backend-patterns/SKILL.md +37 -0
- package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
- package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
- package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
- package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
- package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
- package/skills/dummy-skill/SKILL.md +5 -0
- package/skills/dx-optimizer/SKILL.md +83 -0
- package/skills/e2e-testing-patterns/SKILL.md +41 -0
- package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
- package/skills/elixir-pro/SKILL.md +59 -0
- package/skills/embedding-strategies/SKILL.md +491 -0
- package/skills/employment-contract-templates/SKILL.md +39 -0
- package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
- package/skills/error-debugging-error-analysis/SKILL.md +47 -0
- package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-debugging-error-trace/SKILL.md +43 -0
- package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
- package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
- package/skills/error-detective/SKILL.md +53 -0
- package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
- package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
- package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
- package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
- package/skills/error-handling-patterns/SKILL.md +35 -0
- package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
- package/skills/event-sourcing-architect/SKILL.md +58 -0
- package/skills/event-store-design/SKILL.md +449 -0
- package/skills/fastapi-pro/SKILL.md +192 -0
- package/skills/fastapi-templates/SKILL.md +32 -0
- package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
- package/skills/final-test/SKILL.md +5 -0
- package/skills/firmware-analyst/SKILL.md +320 -0
- package/skills/flutter-expert/SKILL.md +200 -0
- package/skills/framework-migration-code-migrate/SKILL.md +48 -0
- package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
- package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
- package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
- package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
- package/skills/frontend-developer/SKILL.md +171 -0
- package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
- package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
- package/skills/frontend-security-coder/SKILL.md +170 -0
- package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
- package/skills/gdpr-data-handling/SKILL.md +33 -0
- package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
- package/skills/git-advanced-workflows/SKILL.md +412 -0
- package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
- package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
- package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
- package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
- package/skills/github-actions-templates/SKILL.md +345 -0
- package/skills/gitlab-ci-patterns/SKILL.md +283 -0
- package/skills/gitops-workflow/SKILL.md +303 -0
- package/skills/gitops-workflow/references/argocd-setup.md +134 -0
- package/skills/gitops-workflow/references/sync-policies.md +131 -0
- package/skills/go-concurrency-patterns/SKILL.md +33 -0
- package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
- package/skills/godot-gdscript-patterns/SKILL.md +33 -0
- package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
- package/skills/golang-pro/SKILL.md +179 -0
- package/skills/grafana-dashboards/SKILL.md +381 -0
- package/skills/graphql-architect/SKILL.md +182 -0
- package/skills/haskell-pro/SKILL.md +56 -0
- package/skills/helm-chart-scaffolding/SKILL.md +34 -0
- package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
- package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
- package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
- package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
- package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
- package/skills/hr-pro/SKILL.md +126 -0
- package/skills/hybrid-cloud-architect/SKILL.md +168 -0
- package/skills/hybrid-cloud-networking/SKILL.md +238 -0
- package/skills/hybrid-search-implementation/SKILL.md +32 -0
- package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
- package/skills/incident-responder/SKILL.md +213 -0
- package/skills/incident-response-incident-response/SKILL.md +168 -0
- package/skills/incident-response-smart-fix/SKILL.md +29 -0
- package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
- package/skills/incident-runbook-templates/SKILL.md +395 -0
- package/skills/ios-developer/SKILL.md +219 -0
- package/skills/istio-traffic-management/SKILL.md +337 -0
- package/skills/java-pro/SKILL.md +177 -0
- package/skills/javascript-pro/SKILL.md +57 -0
- package/skills/javascript-testing-patterns/SKILL.md +35 -0
- package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
- package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
- package/skills/julia-pro/SKILL.md +209 -0
- package/skills/k8s-manifest-generator/SKILL.md +35 -0
- package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
- package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
- package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
- package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
- package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
- package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
- package/skills/k8s-security-policies/SKILL.md +346 -0
- package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
- package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
- package/skills/kpi-dashboard-design/SKILL.md +440 -0
- package/skills/kubernetes-architect/SKILL.md +170 -0
- package/skills/langchain-architecture/SKILL.md +350 -0
- package/skills/legacy-modernizer/SKILL.md +53 -0
- package/skills/legal-advisor/SKILL.md +70 -0
- package/skills/linkerd-patterns/SKILL.md +321 -0
- package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
- package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
- package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
- package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
- package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
- package/skills/llm-evaluation/SKILL.md +483 -0
- package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
- package/skills/malware-analyst/SKILL.md +247 -0
- package/skills/market-sizing-analysis/SKILL.md +425 -0
- package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
- package/skills/market-sizing-analysis/references/data-sources.md +360 -0
- package/skills/memory-forensics/SKILL.md +491 -0
- package/skills/memory-safety-patterns/SKILL.md +33 -0
- package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
- package/skills/mermaid-expert/SKILL.md +59 -0
- package/skills/microservices-patterns/SKILL.md +35 -0
- package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
- package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
- package/skills/ml-engineer/SKILL.md +168 -0
- package/skills/ml-pipeline-workflow/SKILL.md +257 -0
- package/skills/mlops-engineer/SKILL.md +219 -0
- package/skills/mobile-developer/SKILL.md +205 -0
- package/skills/mobile-security-coder/SKILL.md +184 -0
- package/skills/modern-javascript-patterns/SKILL.md +35 -0
- package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
- package/skills/monorepo-architect/SKILL.md +61 -0
- package/skills/monorepo-management/SKILL.md +35 -0
- package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
- package/skills/mtls-configuration/SKILL.md +359 -0
- package/skills/multi-cloud-architecture/SKILL.md +189 -0
- package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
- package/skills/network-engineer/SKILL.md +169 -0
- package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
- package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
- package/skills/nft-standards/SKILL.md +395 -0
- package/skills/node-expert/SKILL.md +23 -0
- package/skills/nodejs-backend-patterns/SKILL.md +35 -0
- package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
- package/skills/nx-workspace-patterns/SKILL.md +464 -0
- package/skills/observability-engineer/SKILL.md +237 -0
- package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
- package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
- package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
- package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
- package/skills/on-call-handoff-patterns/SKILL.md +453 -0
- package/skills/openapi-spec-generation/SKILL.md +33 -0
- package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
- package/skills/payment-integration/SKILL.md +77 -0
- package/skills/paypal-integration/SKILL.md +479 -0
- package/skills/pci-compliance/SKILL.md +478 -0
- package/skills/performance-engineer/SKILL.md +180 -0
- package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
- package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
- package/skills/php-pro/SKILL.md +63 -0
- package/skills/posix-shell-pro/SKILL.md +304 -0
- package/skills/postgresql/SKILL.md +230 -0
- package/skills/postmortem-writing/SKILL.md +386 -0
- package/skills/projection-patterns/SKILL.md +33 -0
- package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
- package/skills/prometheus-configuration/SKILL.md +404 -0
- package/skills/prompt-engineer/SKILL.md +272 -0
- package/skills/prompt-engineering-patterns/SKILL.md +213 -0
- package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
- package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
- package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
- package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
- package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
- package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
- package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
- package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
- package/skills/protocol-reverse-engineering/SKILL.md +29 -0
- package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
- package/skills/python-development-python-scaffold/SKILL.md +331 -0
- package/skills/python-packaging/SKILL.md +36 -0
- package/skills/python-packaging/resources/implementation-playbook.md +869 -0
- package/skills/python-performance-optimization/SKILL.md +36 -0
- package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
- package/skills/python-pro/SKILL.md +158 -0
- package/skills/python-testing-patterns/SKILL.md +37 -0
- package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
- package/skills/quant-analyst/SKILL.md +53 -0
- package/skills/rag-implementation/SKILL.md +421 -0
- package/skills/react-modernization/SKILL.md +34 -0
- package/skills/react-modernization/resources/implementation-playbook.md +512 -0
- package/skills/react-native-architecture/SKILL.md +33 -0
- package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
- package/skills/react-state-management/SKILL.md +441 -0
- package/skills/reference-builder/SKILL.md +188 -0
- package/skills/reverse-engineer/SKILL.md +173 -0
- package/skills/risk-manager/SKILL.md +61 -0
- package/skills/risk-metrics-calculation/SKILL.md +33 -0
- package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
- package/skills/ruby-pro/SKILL.md +56 -0
- package/skills/rust-async-patterns/SKILL.md +33 -0
- package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
- package/skills/rust-pro/SKILL.md +178 -0
- package/skills/saga-orchestration/SKILL.md +496 -0
- package/skills/sales-automator/SKILL.md +55 -0
- package/skills/sast-configuration/SKILL.md +212 -0
- package/skills/scala-pro/SKILL.md +82 -0
- package/skills/screen-reader-testing/SKILL.md +33 -0
- package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
- package/skills/search-specialist/SKILL.md +80 -0
- package/skills/secrets-management/SKILL.md +364 -0
- package/skills/security-auditor/SKILL.md +169 -0
- package/skills/security-compliance-compliance-check/SKILL.md +55 -0
- package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
- package/skills/security-requirement-extraction/SKILL.md +33 -0
- package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
- package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
- package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
- package/skills/security-scanning-security-hardening/SKILL.md +147 -0
- package/skills/security-scanning-security-sast/SKILL.md +495 -0
- package/skills/seo-authority-builder/SKILL.md +136 -0
- package/skills/seo-cannibalization-detector/SKILL.md +123 -0
- package/skills/seo-content-auditor/SKILL.md +83 -0
- package/skills/seo-content-planner/SKILL.md +108 -0
- package/skills/seo-content-refresher/SKILL.md +118 -0
- package/skills/seo-content-writer/SKILL.md +96 -0
- package/skills/seo-keyword-strategist/SKILL.md +95 -0
- package/skills/seo-meta-optimizer/SKILL.md +92 -0
- package/skills/seo-snippet-hunter/SKILL.md +114 -0
- package/skills/seo-structure-architect/SKILL.md +108 -0
- package/skills/service-mesh-expert/SKILL.md +58 -0
- package/skills/service-mesh-observability/SKILL.md +395 -0
- package/skills/shellcheck-configuration/SKILL.md +466 -0
- package/skills/similarity-search-patterns/SKILL.md +33 -0
- package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
- package/skills/slo-implementation/SKILL.md +341 -0
- package/skills/solidity-security/SKILL.md +34 -0
- package/skills/solidity-security/resources/implementation-playbook.md +524 -0
- package/skills/spark-optimization/SKILL.md +427 -0
- package/skills/sql-optimization-patterns/SKILL.md +35 -0
- package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
- package/skills/sql-pro/SKILL.md +173 -0
- package/skills/startup-analyst/SKILL.md +328 -0
- package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
- package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
- package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
- package/skills/startup-financial-modeling/SKILL.md +467 -0
- package/skills/startup-metrics-framework/SKILL.md +34 -0
- package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
- package/skills/stride-analysis-patterns/SKILL.md +33 -0
- package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
- package/skills/stripe-integration/SKILL.md +454 -0
- package/skills/systems-programming-rust-project/SKILL.md +440 -0
- package/skills/tailwind-design-system/SKILL.md +33 -0
- package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
- package/skills/tdd-orchestrator/SKILL.md +205 -0
- package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
- package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
- package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
- package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
- package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
- package/skills/team-collaboration-issue/SKILL.md +37 -0
- package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
- package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
- package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
- package/skills/team-composition-analysis/SKILL.md +413 -0
- package/skills/temporal-python-pro/SKILL.md +370 -0
- package/skills/temporal-python-testing/SKILL.md +170 -0
- package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
- package/skills/temporal-python-testing/resources/local-setup.md +553 -0
- package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
- package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
- package/skills/terraform-module-library/SKILL.md +261 -0
- package/skills/terraform-module-library/references/aws-modules.md +63 -0
- package/skills/terraform-specialist/SKILL.md +166 -0
- package/skills/test-automator/SKILL.md +224 -0
- package/skills/threat-mitigation-mapping/SKILL.md +33 -0
- package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
- package/skills/threat-modeling-expert/SKILL.md +60 -0
- package/skills/track-management/SKILL.md +38 -0
- package/skills/track-management/resources/implementation-playbook.md +591 -0
- package/skills/turborepo-caching/SKILL.md +419 -0
- package/skills/tutorial-engineer/SKILL.md +139 -0
- package/skills/typescript-advanced-types/SKILL.md +35 -0
- package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
- package/skills/typescript-pro/SKILL.md +55 -0
- package/skills/ui-minimal/SKILL.md +23 -0
- package/skills/ui-ux-designer/SKILL.md +209 -0
- package/skills/ui-visual-validator/SKILL.md +214 -0
- package/skills/unit-testing-test-generate/SKILL.md +319 -0
- package/skills/unity-developer/SKILL.md +230 -0
- package/skills/unity-ecs-patterns/SKILL.md +33 -0
- package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
- package/skills/uv-package-manager/SKILL.md +37 -0
- package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
- package/skills/vector-database-engineer/SKILL.md +60 -0
- package/skills/vector-index-tuning/SKILL.md +42 -0
- package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
- package/skills/wcag-audit-patterns/SKILL.md +41 -0
- package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
- package/skills/web3-testing/SKILL.md +427 -0
- package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
- package/skills/workflow-patterns/SKILL.md +38 -0
- package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
|
@@ -0,0 +1,802 @@
|
|
|
1
|
+
# Code Explanation and Analysis Implementation Playbook
|
|
2
|
+
|
|
3
|
+
This file contains detailed patterns, checklists, and code samples referenced by the skill.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
### 1. Code Comprehension Analysis
|
|
8
|
+
|
|
9
|
+
Analyze the code to determine complexity and structure:
|
|
10
|
+
|
|
11
|
+
**Code Complexity Assessment**
|
|
12
|
+
```python
|
|
13
|
+
import ast
|
|
14
|
+
import re
|
|
15
|
+
from typing import Dict, List, Tuple
|
|
16
|
+
|
|
17
|
+
class CodeAnalyzer:
|
|
18
|
+
def analyze_complexity(self, code: str) -> Dict:
|
|
19
|
+
"""
|
|
20
|
+
Analyze code complexity and structure
|
|
21
|
+
"""
|
|
22
|
+
analysis = {
|
|
23
|
+
'complexity_score': 0,
|
|
24
|
+
'concepts': [],
|
|
25
|
+
'patterns': [],
|
|
26
|
+
'dependencies': [],
|
|
27
|
+
'difficulty_level': 'beginner'
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# Parse code structure
|
|
31
|
+
try:
|
|
32
|
+
tree = ast.parse(code)
|
|
33
|
+
|
|
34
|
+
# Analyze complexity metrics
|
|
35
|
+
analysis['metrics'] = {
|
|
36
|
+
'lines_of_code': len(code.splitlines()),
|
|
37
|
+
'cyclomatic_complexity': self._calculate_cyclomatic_complexity(tree),
|
|
38
|
+
'nesting_depth': self._calculate_max_nesting(tree),
|
|
39
|
+
'function_count': len([n for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)]),
|
|
40
|
+
'class_count': len([n for n in ast.walk(tree) if isinstance(n, ast.ClassDef)])
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
# Identify concepts used
|
|
44
|
+
analysis['concepts'] = self._identify_concepts(tree)
|
|
45
|
+
|
|
46
|
+
# Detect design patterns
|
|
47
|
+
analysis['patterns'] = self._detect_patterns(tree)
|
|
48
|
+
|
|
49
|
+
# Extract dependencies
|
|
50
|
+
analysis['dependencies'] = self._extract_dependencies(tree)
|
|
51
|
+
|
|
52
|
+
# Determine difficulty level
|
|
53
|
+
analysis['difficulty_level'] = self._assess_difficulty(analysis)
|
|
54
|
+
|
|
55
|
+
except SyntaxError as e:
|
|
56
|
+
analysis['parse_error'] = str(e)
|
|
57
|
+
|
|
58
|
+
return analysis
|
|
59
|
+
|
|
60
|
+
def _identify_concepts(self, tree) -> List[str]:
|
|
61
|
+
"""
|
|
62
|
+
Identify programming concepts used in the code
|
|
63
|
+
"""
|
|
64
|
+
concepts = []
|
|
65
|
+
|
|
66
|
+
for node in ast.walk(tree):
|
|
67
|
+
# Async/await
|
|
68
|
+
if isinstance(node, (ast.AsyncFunctionDef, ast.AsyncWith, ast.AsyncFor)):
|
|
69
|
+
concepts.append('asynchronous programming')
|
|
70
|
+
|
|
71
|
+
# Decorators
|
|
72
|
+
elif isinstance(node, ast.FunctionDef) and node.decorator_list:
|
|
73
|
+
concepts.append('decorators')
|
|
74
|
+
|
|
75
|
+
# Context managers
|
|
76
|
+
elif isinstance(node, ast.With):
|
|
77
|
+
concepts.append('context managers')
|
|
78
|
+
|
|
79
|
+
# Generators
|
|
80
|
+
elif isinstance(node, ast.Yield):
|
|
81
|
+
concepts.append('generators')
|
|
82
|
+
|
|
83
|
+
# List/Dict/Set comprehensions
|
|
84
|
+
elif isinstance(node, (ast.ListComp, ast.DictComp, ast.SetComp)):
|
|
85
|
+
concepts.append('comprehensions')
|
|
86
|
+
|
|
87
|
+
# Lambda functions
|
|
88
|
+
elif isinstance(node, ast.Lambda):
|
|
89
|
+
concepts.append('lambda functions')
|
|
90
|
+
|
|
91
|
+
# Exception handling
|
|
92
|
+
elif isinstance(node, ast.Try):
|
|
93
|
+
concepts.append('exception handling')
|
|
94
|
+
|
|
95
|
+
return list(set(concepts))
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 2. Visual Explanation Generation
|
|
99
|
+
|
|
100
|
+
Create visual representations of code flow:
|
|
101
|
+
|
|
102
|
+
**Flow Diagram Generation**
|
|
103
|
+
```python
|
|
104
|
+
class VisualExplainer:
|
|
105
|
+
def generate_flow_diagram(self, code_structure):
|
|
106
|
+
"""
|
|
107
|
+
Generate Mermaid diagram showing code flow
|
|
108
|
+
"""
|
|
109
|
+
diagram = "```mermaid\nflowchart TD\n"
|
|
110
|
+
|
|
111
|
+
# Example: Function call flow
|
|
112
|
+
if code_structure['type'] == 'function_flow':
|
|
113
|
+
nodes = []
|
|
114
|
+
edges = []
|
|
115
|
+
|
|
116
|
+
for i, func in enumerate(code_structure['functions']):
|
|
117
|
+
node_id = f"F{i}"
|
|
118
|
+
nodes.append(f" {node_id}[{func['name']}]")
|
|
119
|
+
|
|
120
|
+
# Add function details
|
|
121
|
+
if func.get('parameters'):
|
|
122
|
+
nodes.append(f" {node_id}_params[/{', '.join(func['parameters'])}/]")
|
|
123
|
+
edges.append(f" {node_id}_params --> {node_id}")
|
|
124
|
+
|
|
125
|
+
# Add return value
|
|
126
|
+
if func.get('returns'):
|
|
127
|
+
nodes.append(f" {node_id}_return[{func['returns']}]")
|
|
128
|
+
edges.append(f" {node_id} --> {node_id}_return")
|
|
129
|
+
|
|
130
|
+
# Connect to called functions
|
|
131
|
+
for called in func.get('calls', []):
|
|
132
|
+
called_id = f"F{code_structure['function_map'][called]}"
|
|
133
|
+
edges.append(f" {node_id} --> {called_id}")
|
|
134
|
+
|
|
135
|
+
diagram += "\n".join(nodes) + "\n"
|
|
136
|
+
diagram += "\n".join(edges) + "\n"
|
|
137
|
+
|
|
138
|
+
diagram += "```"
|
|
139
|
+
return diagram
|
|
140
|
+
|
|
141
|
+
def generate_class_diagram(self, classes):
|
|
142
|
+
"""
|
|
143
|
+
Generate UML-style class diagram
|
|
144
|
+
"""
|
|
145
|
+
diagram = "```mermaid\nclassDiagram\n"
|
|
146
|
+
|
|
147
|
+
for cls in classes:
|
|
148
|
+
# Class definition
|
|
149
|
+
diagram += f" class {cls['name']} {{\n"
|
|
150
|
+
|
|
151
|
+
# Attributes
|
|
152
|
+
for attr in cls.get('attributes', []):
|
|
153
|
+
visibility = '+' if attr['public'] else '-'
|
|
154
|
+
diagram += f" {visibility}{attr['name']} : {attr['type']}\n"
|
|
155
|
+
|
|
156
|
+
# Methods
|
|
157
|
+
for method in cls.get('methods', []):
|
|
158
|
+
visibility = '+' if method['public'] else '-'
|
|
159
|
+
params = ', '.join(method.get('params', []))
|
|
160
|
+
diagram += f" {visibility}{method['name']}({params}) : {method['returns']}\n"
|
|
161
|
+
|
|
162
|
+
diagram += " }\n"
|
|
163
|
+
|
|
164
|
+
# Relationships
|
|
165
|
+
if cls.get('inherits'):
|
|
166
|
+
diagram += f" {cls['inherits']} <|-- {cls['name']}\n"
|
|
167
|
+
|
|
168
|
+
for composition in cls.get('compositions', []):
|
|
169
|
+
diagram += f" {cls['name']} *-- {composition}\n"
|
|
170
|
+
|
|
171
|
+
diagram += "```"
|
|
172
|
+
return diagram
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### 3. Step-by-Step Explanation
|
|
176
|
+
|
|
177
|
+
Break down complex code into digestible steps:
|
|
178
|
+
|
|
179
|
+
**Progressive Explanation**
|
|
180
|
+
```python
|
|
181
|
+
def generate_step_by_step_explanation(self, code, analysis):
|
|
182
|
+
"""
|
|
183
|
+
Create progressive explanation from simple to complex
|
|
184
|
+
"""
|
|
185
|
+
explanation = {
|
|
186
|
+
'overview': self._generate_overview(code, analysis),
|
|
187
|
+
'steps': [],
|
|
188
|
+
'deep_dive': [],
|
|
189
|
+
'examples': []
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
# Level 1: High-level overview
|
|
193
|
+
explanation['overview'] = f"""
|
|
194
|
+
## What This Code Does
|
|
195
|
+
|
|
196
|
+
{self._summarize_purpose(code, analysis)}
|
|
197
|
+
|
|
198
|
+
**Key Concepts**: {', '.join(analysis['concepts'])}
|
|
199
|
+
**Difficulty Level**: {analysis['difficulty_level'].capitalize()}
|
|
200
|
+
"""
|
|
201
|
+
|
|
202
|
+
# Level 2: Step-by-step breakdown
|
|
203
|
+
if analysis.get('functions'):
|
|
204
|
+
for i, func in enumerate(analysis['functions']):
|
|
205
|
+
step = f"""
|
|
206
|
+
### Step {i+1}: {func['name']}
|
|
207
|
+
|
|
208
|
+
**Purpose**: {self._explain_function_purpose(func)}
|
|
209
|
+
|
|
210
|
+
**How it works**:
|
|
211
|
+
"""
|
|
212
|
+
# Break down function logic
|
|
213
|
+
for j, logic_step in enumerate(self._analyze_function_logic(func)):
|
|
214
|
+
step += f"{j+1}. {logic_step}\n"
|
|
215
|
+
|
|
216
|
+
# Add visual flow if complex
|
|
217
|
+
if func['complexity'] > 5:
|
|
218
|
+
step += f"\n{self._generate_function_flow(func)}\n"
|
|
219
|
+
|
|
220
|
+
explanation['steps'].append(step)
|
|
221
|
+
|
|
222
|
+
# Level 3: Deep dive into complex parts
|
|
223
|
+
for concept in analysis['concepts']:
|
|
224
|
+
deep_dive = self._explain_concept(concept, code)
|
|
225
|
+
explanation['deep_dive'].append(deep_dive)
|
|
226
|
+
|
|
227
|
+
return explanation
|
|
228
|
+
|
|
229
|
+
def _explain_concept(self, concept, code):
|
|
230
|
+
"""
|
|
231
|
+
Explain programming concept with examples
|
|
232
|
+
"""
|
|
233
|
+
explanations = {
|
|
234
|
+
'decorators': '''
|
|
235
|
+
## Understanding Decorators
|
|
236
|
+
|
|
237
|
+
Decorators are a way to modify or enhance functions without changing their code directly.
|
|
238
|
+
|
|
239
|
+
**Simple Analogy**: Think of a decorator like gift wrapping - it adds something extra around the original item.
|
|
240
|
+
|
|
241
|
+
**How it works**:
|
|
242
|
+
```python
|
|
243
|
+
# This decorator:
|
|
244
|
+
@timer
|
|
245
|
+
def slow_function():
|
|
246
|
+
time.sleep(1)
|
|
247
|
+
|
|
248
|
+
# Is equivalent to:
|
|
249
|
+
def slow_function():
|
|
250
|
+
time.sleep(1)
|
|
251
|
+
slow_function = timer(slow_function)
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**In this code**: The decorator is used to {specific_use_in_code}
|
|
255
|
+
''',
|
|
256
|
+
'generators': '''
|
|
257
|
+
## Understanding Generators
|
|
258
|
+
|
|
259
|
+
Generators produce values one at a time, saving memory by not creating all values at once.
|
|
260
|
+
|
|
261
|
+
**Simple Analogy**: Like a ticket dispenser that gives one ticket at a time, rather than printing all tickets upfront.
|
|
262
|
+
|
|
263
|
+
**How it works**:
|
|
264
|
+
```python
|
|
265
|
+
# Generator function
|
|
266
|
+
def count_up_to(n):
|
|
267
|
+
i = 0
|
|
268
|
+
while i < n:
|
|
269
|
+
yield i # Produces one value and pauses
|
|
270
|
+
i += 1
|
|
271
|
+
|
|
272
|
+
# Using the generator
|
|
273
|
+
for num in count_up_to(5):
|
|
274
|
+
print(num) # Prints 0, 1, 2, 3, 4
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**In this code**: The generator is used to {specific_use_in_code}
|
|
278
|
+
'''
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return explanations.get(concept, f"Explanation for {concept}")
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### 4. Algorithm Visualization
|
|
285
|
+
|
|
286
|
+
Visualize algorithm execution:
|
|
287
|
+
|
|
288
|
+
**Algorithm Step Visualization**
|
|
289
|
+
```python
|
|
290
|
+
class AlgorithmVisualizer:
|
|
291
|
+
def visualize_sorting_algorithm(self, algorithm_name, array):
|
|
292
|
+
"""
|
|
293
|
+
Create step-by-step visualization of sorting algorithm
|
|
294
|
+
"""
|
|
295
|
+
steps = []
|
|
296
|
+
|
|
297
|
+
if algorithm_name == 'bubble_sort':
|
|
298
|
+
steps.append("""
|
|
299
|
+
## Bubble Sort Visualization
|
|
300
|
+
|
|
301
|
+
**Initial Array**: [5, 2, 8, 1, 9]
|
|
302
|
+
|
|
303
|
+
### How Bubble Sort Works:
|
|
304
|
+
1. Compare adjacent elements
|
|
305
|
+
2. Swap if they're in wrong order
|
|
306
|
+
3. Repeat until no swaps needed
|
|
307
|
+
|
|
308
|
+
### Step-by-Step Execution:
|
|
309
|
+
""")
|
|
310
|
+
|
|
311
|
+
# Simulate bubble sort with visualization
|
|
312
|
+
arr = array.copy()
|
|
313
|
+
n = len(arr)
|
|
314
|
+
|
|
315
|
+
for i in range(n):
|
|
316
|
+
swapped = False
|
|
317
|
+
step_viz = f"\n**Pass {i+1}**:\n"
|
|
318
|
+
|
|
319
|
+
for j in range(0, n-i-1):
|
|
320
|
+
# Show comparison
|
|
321
|
+
step_viz += f"Compare [{arr[j]}] and [{arr[j+1]}]: "
|
|
322
|
+
|
|
323
|
+
if arr[j] > arr[j+1]:
|
|
324
|
+
arr[j], arr[j+1] = arr[j+1], arr[j]
|
|
325
|
+
step_viz += f"Swap → {arr}\n"
|
|
326
|
+
swapped = True
|
|
327
|
+
else:
|
|
328
|
+
step_viz += "No swap needed\n"
|
|
329
|
+
|
|
330
|
+
steps.append(step_viz)
|
|
331
|
+
|
|
332
|
+
if not swapped:
|
|
333
|
+
steps.append(f"\n✅ Array is sorted: {arr}")
|
|
334
|
+
break
|
|
335
|
+
|
|
336
|
+
return '\n'.join(steps)
|
|
337
|
+
|
|
338
|
+
def visualize_recursion(self, func_name, example_input):
|
|
339
|
+
"""
|
|
340
|
+
Visualize recursive function calls
|
|
341
|
+
"""
|
|
342
|
+
viz = f"""
|
|
343
|
+
## Recursion Visualization: {func_name}
|
|
344
|
+
|
|
345
|
+
### Call Stack Visualization:
|
|
346
|
+
```
|
|
347
|
+
{func_name}({example_input})
|
|
348
|
+
│
|
|
349
|
+
├─> Base case check: {example_input} == 0? No
|
|
350
|
+
├─> Recursive call: {func_name}({example_input - 1})
|
|
351
|
+
│ │
|
|
352
|
+
│ ├─> Base case check: {example_input - 1} == 0? No
|
|
353
|
+
│ ├─> Recursive call: {func_name}({example_input - 2})
|
|
354
|
+
│ │ │
|
|
355
|
+
│ │ ├─> Base case check: 1 == 0? No
|
|
356
|
+
│ │ ├─> Recursive call: {func_name}(0)
|
|
357
|
+
│ │ │ │
|
|
358
|
+
│ │ │ └─> Base case: Return 1
|
|
359
|
+
│ │ │
|
|
360
|
+
│ │ └─> Return: 1 * 1 = 1
|
|
361
|
+
│ │
|
|
362
|
+
│ └─> Return: 2 * 1 = 2
|
|
363
|
+
│
|
|
364
|
+
└─> Return: 3 * 2 = 6
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
**Final Result**: {func_name}({example_input}) = 6
|
|
368
|
+
"""
|
|
369
|
+
return viz
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### 5. Interactive Examples
|
|
373
|
+
|
|
374
|
+
Generate interactive examples for better understanding:
|
|
375
|
+
|
|
376
|
+
**Code Playground Examples**
|
|
377
|
+
```python
|
|
378
|
+
def generate_interactive_examples(self, concept):
|
|
379
|
+
"""
|
|
380
|
+
Create runnable examples for concepts
|
|
381
|
+
"""
|
|
382
|
+
examples = {
|
|
383
|
+
'error_handling': '''
|
|
384
|
+
## Try It Yourself: Error Handling
|
|
385
|
+
|
|
386
|
+
### Example 1: Basic Try-Except
|
|
387
|
+
```python
|
|
388
|
+
def safe_divide(a, b):
|
|
389
|
+
try:
|
|
390
|
+
result = a / b
|
|
391
|
+
print(f"{a} / {b} = {result}")
|
|
392
|
+
return result
|
|
393
|
+
except ZeroDivisionError:
|
|
394
|
+
print("Error: Cannot divide by zero!")
|
|
395
|
+
return None
|
|
396
|
+
except TypeError:
|
|
397
|
+
print("Error: Please provide numbers only!")
|
|
398
|
+
return None
|
|
399
|
+
finally:
|
|
400
|
+
print("Division attempt completed")
|
|
401
|
+
|
|
402
|
+
# Test cases - try these:
|
|
403
|
+
safe_divide(10, 2) # Success case
|
|
404
|
+
safe_divide(10, 0) # Division by zero
|
|
405
|
+
safe_divide(10, "2") # Type error
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
### Example 2: Custom Exceptions
|
|
409
|
+
```python
|
|
410
|
+
class ValidationError(Exception):
|
|
411
|
+
"""Custom exception for validation errors"""
|
|
412
|
+
pass
|
|
413
|
+
|
|
414
|
+
def validate_age(age):
|
|
415
|
+
try:
|
|
416
|
+
age = int(age)
|
|
417
|
+
if age < 0:
|
|
418
|
+
raise ValidationError("Age cannot be negative")
|
|
419
|
+
if age > 150:
|
|
420
|
+
raise ValidationError("Age seems unrealistic")
|
|
421
|
+
return age
|
|
422
|
+
except ValueError:
|
|
423
|
+
raise ValidationError("Age must be a number")
|
|
424
|
+
|
|
425
|
+
# Try these examples:
|
|
426
|
+
try:
|
|
427
|
+
validate_age(25) # Valid
|
|
428
|
+
validate_age(-5) # Negative age
|
|
429
|
+
validate_age("abc") # Not a number
|
|
430
|
+
except ValidationError as e:
|
|
431
|
+
print(f"Validation failed: {e}")
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
### Exercise: Implement Your Own
|
|
435
|
+
Try implementing a function that:
|
|
436
|
+
1. Takes a list of numbers
|
|
437
|
+
2. Returns their average
|
|
438
|
+
3. Handles empty lists
|
|
439
|
+
4. Handles non-numeric values
|
|
440
|
+
5. Uses appropriate exception handling
|
|
441
|
+
''',
|
|
442
|
+
'async_programming': '''
|
|
443
|
+
## Try It Yourself: Async Programming
|
|
444
|
+
|
|
445
|
+
### Example 1: Basic Async/Await
|
|
446
|
+
```python
|
|
447
|
+
import asyncio
|
|
448
|
+
import time
|
|
449
|
+
|
|
450
|
+
async def slow_operation(name, duration):
|
|
451
|
+
print(f"{name} started...")
|
|
452
|
+
await asyncio.sleep(duration)
|
|
453
|
+
print(f"{name} completed after {duration}s")
|
|
454
|
+
return f"{name} result"
|
|
455
|
+
|
|
456
|
+
async def main():
|
|
457
|
+
# Sequential execution (slow)
|
|
458
|
+
start = time.time()
|
|
459
|
+
await slow_operation("Task 1", 2)
|
|
460
|
+
await slow_operation("Task 2", 2)
|
|
461
|
+
print(f"Sequential time: {time.time() - start:.2f}s")
|
|
462
|
+
|
|
463
|
+
# Concurrent execution (fast)
|
|
464
|
+
start = time.time()
|
|
465
|
+
results = await asyncio.gather(
|
|
466
|
+
slow_operation("Task 3", 2),
|
|
467
|
+
slow_operation("Task 4", 2)
|
|
468
|
+
)
|
|
469
|
+
print(f"Concurrent time: {time.time() - start:.2f}s")
|
|
470
|
+
print(f"Results: {results}")
|
|
471
|
+
|
|
472
|
+
# Run it:
|
|
473
|
+
asyncio.run(main())
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
### Example 2: Real-world Async Pattern
|
|
477
|
+
```python
|
|
478
|
+
async def fetch_data(url):
|
|
479
|
+
"""Simulate API call"""
|
|
480
|
+
await asyncio.sleep(1) # Simulate network delay
|
|
481
|
+
return f"Data from {url}"
|
|
482
|
+
|
|
483
|
+
async def process_urls(urls):
|
|
484
|
+
tasks = [fetch_data(url) for url in urls]
|
|
485
|
+
results = await asyncio.gather(*tasks)
|
|
486
|
+
return results
|
|
487
|
+
|
|
488
|
+
# Try with different URLs:
|
|
489
|
+
urls = ["api.example.com/1", "api.example.com/2", "api.example.com/3"]
|
|
490
|
+
results = asyncio.run(process_urls(urls))
|
|
491
|
+
print(results)
|
|
492
|
+
```
|
|
493
|
+
'''
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
return examples.get(concept, "No example available")
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
### 6. Design Pattern Explanation
|
|
500
|
+
|
|
501
|
+
Explain design patterns found in code:
|
|
502
|
+
|
|
503
|
+
**Pattern Recognition and Explanation**
|
|
504
|
+
```python
|
|
505
|
+
class DesignPatternExplainer:
|
|
506
|
+
def explain_pattern(self, pattern_name, code_example):
|
|
507
|
+
"""
|
|
508
|
+
Explain design pattern with diagrams and examples
|
|
509
|
+
"""
|
|
510
|
+
patterns = {
|
|
511
|
+
'singleton': '''
|
|
512
|
+
## Singleton Pattern
|
|
513
|
+
|
|
514
|
+
### What is it?
|
|
515
|
+
The Singleton pattern ensures a class has only one instance and provides global access to it.
|
|
516
|
+
|
|
517
|
+
### When to use it?
|
|
518
|
+
- Database connections
|
|
519
|
+
- Configuration managers
|
|
520
|
+
- Logging services
|
|
521
|
+
- Cache managers
|
|
522
|
+
|
|
523
|
+
### Visual Representation:
|
|
524
|
+
```mermaid
|
|
525
|
+
classDiagram
|
|
526
|
+
class Singleton {
|
|
527
|
+
-instance: Singleton
|
|
528
|
+
-__init__()
|
|
529
|
+
+getInstance(): Singleton
|
|
530
|
+
}
|
|
531
|
+
Singleton --> Singleton : returns same instance
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
### Implementation in this code:
|
|
535
|
+
{code_analysis}
|
|
536
|
+
|
|
537
|
+
### Benefits:
|
|
538
|
+
✅ Controlled access to single instance
|
|
539
|
+
✅ Reduced namespace pollution
|
|
540
|
+
✅ Permits refinement of operations
|
|
541
|
+
|
|
542
|
+
### Drawbacks:
|
|
543
|
+
❌ Can make unit testing difficult
|
|
544
|
+
❌ Violates Single Responsibility Principle
|
|
545
|
+
❌ Can hide dependencies
|
|
546
|
+
|
|
547
|
+
### Alternative Approaches:
|
|
548
|
+
1. Dependency Injection
|
|
549
|
+
2. Module-level singleton
|
|
550
|
+
3. Borg pattern
|
|
551
|
+
''',
|
|
552
|
+
'observer': '''
|
|
553
|
+
## Observer Pattern
|
|
554
|
+
|
|
555
|
+
### What is it?
|
|
556
|
+
The Observer pattern defines a one-to-many dependency between objects so that when one object changes state, all dependents are notified.
|
|
557
|
+
|
|
558
|
+
### When to use it?
|
|
559
|
+
- Event handling systems
|
|
560
|
+
- Model-View architectures
|
|
561
|
+
- Distributed event handling
|
|
562
|
+
|
|
563
|
+
### Visual Representation:
|
|
564
|
+
```mermaid
|
|
565
|
+
classDiagram
|
|
566
|
+
class Subject {
|
|
567
|
+
+attach(Observer)
|
|
568
|
+
+detach(Observer)
|
|
569
|
+
+notify()
|
|
570
|
+
}
|
|
571
|
+
class Observer {
|
|
572
|
+
+update()
|
|
573
|
+
}
|
|
574
|
+
class ConcreteSubject {
|
|
575
|
+
-state
|
|
576
|
+
+getState()
|
|
577
|
+
+setState()
|
|
578
|
+
}
|
|
579
|
+
class ConcreteObserver {
|
|
580
|
+
-subject
|
|
581
|
+
+update()
|
|
582
|
+
}
|
|
583
|
+
Subject <|-- ConcreteSubject
|
|
584
|
+
Observer <|-- ConcreteObserver
|
|
585
|
+
ConcreteSubject --> Observer : notifies
|
|
586
|
+
ConcreteObserver --> ConcreteSubject : observes
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
### Implementation in this code:
|
|
590
|
+
{code_analysis}
|
|
591
|
+
|
|
592
|
+
### Real-world Example:
|
|
593
|
+
```python
|
|
594
|
+
# Newsletter subscription system
|
|
595
|
+
class Newsletter:
|
|
596
|
+
def __init__(self):
|
|
597
|
+
self._subscribers = []
|
|
598
|
+
self._latest_article = None
|
|
599
|
+
|
|
600
|
+
def subscribe(self, subscriber):
|
|
601
|
+
self._subscribers.append(subscriber)
|
|
602
|
+
|
|
603
|
+
def unsubscribe(self, subscriber):
|
|
604
|
+
self._subscribers.remove(subscriber)
|
|
605
|
+
|
|
606
|
+
def publish_article(self, article):
|
|
607
|
+
self._latest_article = article
|
|
608
|
+
self._notify_subscribers()
|
|
609
|
+
|
|
610
|
+
def _notify_subscribers(self):
|
|
611
|
+
for subscriber in self._subscribers:
|
|
612
|
+
subscriber.update(self._latest_article)
|
|
613
|
+
|
|
614
|
+
class EmailSubscriber:
|
|
615
|
+
def __init__(self, email):
|
|
616
|
+
self.email = email
|
|
617
|
+
|
|
618
|
+
def update(self, article):
|
|
619
|
+
print(f"Sending email to {self.email}: New article - {article}")
|
|
620
|
+
```
|
|
621
|
+
'''
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
return patterns.get(pattern_name, "Pattern explanation not available")
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
### 7. Common Pitfalls and Best Practices
|
|
628
|
+
|
|
629
|
+
Highlight potential issues and improvements:
|
|
630
|
+
|
|
631
|
+
**Code Review Insights**
|
|
632
|
+
```python
|
|
633
|
+
def analyze_common_pitfalls(self, code):
|
|
634
|
+
"""
|
|
635
|
+
Identify common mistakes and suggest improvements
|
|
636
|
+
"""
|
|
637
|
+
issues = []
|
|
638
|
+
|
|
639
|
+
# Check for common Python pitfalls
|
|
640
|
+
pitfall_patterns = [
|
|
641
|
+
{
|
|
642
|
+
'pattern': r'except:',
|
|
643
|
+
'issue': 'Bare except clause',
|
|
644
|
+
'severity': 'high',
|
|
645
|
+
'explanation': '''
|
|
646
|
+
## ⚠️ Bare Except Clause
|
|
647
|
+
|
|
648
|
+
**Problem**: `except:` catches ALL exceptions, including system exits and keyboard interrupts.
|
|
649
|
+
|
|
650
|
+
**Why it's bad**:
|
|
651
|
+
- Hides programming errors
|
|
652
|
+
- Makes debugging difficult
|
|
653
|
+
- Can catch exceptions you didn't intend to handle
|
|
654
|
+
|
|
655
|
+
**Better approach**:
|
|
656
|
+
```python
|
|
657
|
+
# Bad
|
|
658
|
+
try:
|
|
659
|
+
risky_operation()
|
|
660
|
+
except:
|
|
661
|
+
print("Something went wrong")
|
|
662
|
+
|
|
663
|
+
# Good
|
|
664
|
+
try:
|
|
665
|
+
risky_operation()
|
|
666
|
+
except (ValueError, TypeError) as e:
|
|
667
|
+
print(f"Expected error: {e}")
|
|
668
|
+
except Exception as e:
|
|
669
|
+
logger.error(f"Unexpected error: {e}")
|
|
670
|
+
raise
|
|
671
|
+
```
|
|
672
|
+
'''
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
'pattern': r'def.*\(\s*\):.*global',
|
|
676
|
+
'issue': 'Global variable usage',
|
|
677
|
+
'severity': 'medium',
|
|
678
|
+
'explanation': '''
|
|
679
|
+
## ⚠️ Global Variable Usage
|
|
680
|
+
|
|
681
|
+
**Problem**: Using global variables makes code harder to test and reason about.
|
|
682
|
+
|
|
683
|
+
**Better approaches**:
|
|
684
|
+
1. Pass as parameter
|
|
685
|
+
2. Use class attributes
|
|
686
|
+
3. Use dependency injection
|
|
687
|
+
4. Return values instead
|
|
688
|
+
|
|
689
|
+
**Example refactor**:
|
|
690
|
+
```python
|
|
691
|
+
# Bad
|
|
692
|
+
count = 0
|
|
693
|
+
def increment():
|
|
694
|
+
global count
|
|
695
|
+
count += 1
|
|
696
|
+
|
|
697
|
+
# Good
|
|
698
|
+
class Counter:
|
|
699
|
+
def __init__(self):
|
|
700
|
+
self.count = 0
|
|
701
|
+
|
|
702
|
+
def increment(self):
|
|
703
|
+
self.count += 1
|
|
704
|
+
return self.count
|
|
705
|
+
```
|
|
706
|
+
'''
|
|
707
|
+
}
|
|
708
|
+
]
|
|
709
|
+
|
|
710
|
+
for pitfall in pitfall_patterns:
|
|
711
|
+
if re.search(pitfall['pattern'], code):
|
|
712
|
+
issues.append(pitfall)
|
|
713
|
+
|
|
714
|
+
return issues
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
### 8. Learning Path Recommendations
|
|
718
|
+
|
|
719
|
+
Suggest resources for deeper understanding:
|
|
720
|
+
|
|
721
|
+
**Personalized Learning Path**
|
|
722
|
+
```python
|
|
723
|
+
def generate_learning_path(self, analysis):
|
|
724
|
+
"""
|
|
725
|
+
Create personalized learning recommendations
|
|
726
|
+
"""
|
|
727
|
+
learning_path = {
|
|
728
|
+
'current_level': analysis['difficulty_level'],
|
|
729
|
+
'identified_gaps': [],
|
|
730
|
+
'recommended_topics': [],
|
|
731
|
+
'resources': []
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
# Identify knowledge gaps
|
|
735
|
+
if 'async' in analysis['concepts'] and analysis['difficulty_level'] == 'beginner':
|
|
736
|
+
learning_path['identified_gaps'].append('Asynchronous programming fundamentals')
|
|
737
|
+
learning_path['recommended_topics'].extend([
|
|
738
|
+
'Event loops',
|
|
739
|
+
'Coroutines vs threads',
|
|
740
|
+
'Async/await syntax',
|
|
741
|
+
'Concurrent programming patterns'
|
|
742
|
+
])
|
|
743
|
+
|
|
744
|
+
# Add resources
|
|
745
|
+
learning_path['resources'] = [
|
|
746
|
+
{
|
|
747
|
+
'topic': 'Async Programming',
|
|
748
|
+
'type': 'tutorial',
|
|
749
|
+
'title': 'Async IO in Python: A Complete Walkthrough',
|
|
750
|
+
'url': 'https://realpython.com/async-io-python/',
|
|
751
|
+
'difficulty': 'intermediate',
|
|
752
|
+
'time_estimate': '45 minutes'
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
'topic': 'Design Patterns',
|
|
756
|
+
'type': 'book',
|
|
757
|
+
'title': 'Head First Design Patterns',
|
|
758
|
+
'difficulty': 'beginner-friendly',
|
|
759
|
+
'format': 'visual learning'
|
|
760
|
+
}
|
|
761
|
+
]
|
|
762
|
+
|
|
763
|
+
# Create structured learning plan
|
|
764
|
+
learning_path['structured_plan'] = f"""
|
|
765
|
+
## Your Personalized Learning Path
|
|
766
|
+
|
|
767
|
+
### Week 1-2: Fundamentals
|
|
768
|
+
- Review basic concepts: {', '.join(learning_path['recommended_topics'][:2])}
|
|
769
|
+
- Complete exercises on each topic
|
|
770
|
+
- Build a small project using these concepts
|
|
771
|
+
|
|
772
|
+
### Week 3-4: Applied Learning
|
|
773
|
+
- Study the patterns in this codebase
|
|
774
|
+
- Refactor a simple version yourself
|
|
775
|
+
- Compare your approach with the original
|
|
776
|
+
|
|
777
|
+
### Week 5-6: Advanced Topics
|
|
778
|
+
- Explore edge cases and optimizations
|
|
779
|
+
- Learn about alternative approaches
|
|
780
|
+
- Contribute to open source projects using these patterns
|
|
781
|
+
|
|
782
|
+
### Practice Projects:
|
|
783
|
+
1. **Beginner**: {self._suggest_beginner_project(analysis)}
|
|
784
|
+
2. **Intermediate**: {self._suggest_intermediate_project(analysis)}
|
|
785
|
+
3. **Advanced**: {self._suggest_advanced_project(analysis)}
|
|
786
|
+
"""
|
|
787
|
+
|
|
788
|
+
return learning_path
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
## Output Format
|
|
792
|
+
|
|
793
|
+
1. **Complexity Analysis**: Overview of code complexity and concepts used
|
|
794
|
+
2. **Visual Diagrams**: Flow charts, class diagrams, and execution visualizations
|
|
795
|
+
3. **Step-by-Step Breakdown**: Progressive explanation from simple to complex
|
|
796
|
+
4. **Interactive Examples**: Runnable code samples to experiment with
|
|
797
|
+
5. **Common Pitfalls**: Issues to avoid with explanations
|
|
798
|
+
6. **Best Practices**: Improved approaches and patterns
|
|
799
|
+
7. **Learning Resources**: Curated resources for deeper understanding
|
|
800
|
+
8. **Practice Exercises**: Hands-on challenges to reinforce learning
|
|
801
|
+
|
|
802
|
+
Focus on making complex code accessible through clear explanations, visual aids, and practical examples that build understanding progressively.
|