@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,544 @@
|
|
|
1
|
+
# Screen Reader Testing Implementation Playbook
|
|
2
|
+
|
|
3
|
+
This file contains detailed patterns, checklists, and code samples referenced by the skill.
|
|
4
|
+
|
|
5
|
+
# Screen Reader Testing
|
|
6
|
+
|
|
7
|
+
Practical guide to testing web applications with screen readers for comprehensive accessibility validation.
|
|
8
|
+
|
|
9
|
+
## When to Use This Skill
|
|
10
|
+
|
|
11
|
+
- Validating screen reader compatibility
|
|
12
|
+
- Testing ARIA implementations
|
|
13
|
+
- Debugging assistive technology issues
|
|
14
|
+
- Verifying form accessibility
|
|
15
|
+
- Testing dynamic content announcements
|
|
16
|
+
- Ensuring navigation accessibility
|
|
17
|
+
|
|
18
|
+
## Core Concepts
|
|
19
|
+
|
|
20
|
+
### 1. Major Screen Readers
|
|
21
|
+
|
|
22
|
+
| Screen Reader | Platform | Browser | Usage |
|
|
23
|
+
| ------------- | --------- | -------------- | ----- |
|
|
24
|
+
| **VoiceOver** | macOS/iOS | Safari | ~15% |
|
|
25
|
+
| **NVDA** | Windows | Firefox/Chrome | ~31% |
|
|
26
|
+
| **JAWS** | Windows | Chrome/IE | ~40% |
|
|
27
|
+
| **TalkBack** | Android | Chrome | ~10% |
|
|
28
|
+
| **Narrator** | Windows | Edge | ~4% |
|
|
29
|
+
|
|
30
|
+
### 2. Testing Priority
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Minimum Coverage:
|
|
34
|
+
1. NVDA + Firefox (Windows)
|
|
35
|
+
2. VoiceOver + Safari (macOS)
|
|
36
|
+
3. VoiceOver + Safari (iOS)
|
|
37
|
+
|
|
38
|
+
Comprehensive Coverage:
|
|
39
|
+
+ JAWS + Chrome (Windows)
|
|
40
|
+
+ TalkBack + Chrome (Android)
|
|
41
|
+
+ Narrator + Edge (Windows)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Screen Reader Modes
|
|
45
|
+
|
|
46
|
+
| Mode | Purpose | When Used |
|
|
47
|
+
| ------------------ | ---------------------- | ----------------- |
|
|
48
|
+
| **Browse/Virtual** | Read content | Default reading |
|
|
49
|
+
| **Focus/Forms** | Interact with controls | Filling forms |
|
|
50
|
+
| **Application** | Custom widgets | ARIA applications |
|
|
51
|
+
|
|
52
|
+
## VoiceOver (macOS)
|
|
53
|
+
|
|
54
|
+
### Setup
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Enable: System Preferences → Accessibility → VoiceOver
|
|
58
|
+
Toggle: Cmd + F5
|
|
59
|
+
Quick Toggle: Triple-press Touch ID
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Essential Commands
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
Navigation:
|
|
66
|
+
VO = Ctrl + Option (VoiceOver modifier)
|
|
67
|
+
|
|
68
|
+
VO + Right Arrow Next element
|
|
69
|
+
VO + Left Arrow Previous element
|
|
70
|
+
VO + Shift + Down Enter group
|
|
71
|
+
VO + Shift + Up Exit group
|
|
72
|
+
|
|
73
|
+
Reading:
|
|
74
|
+
VO + A Read all from cursor
|
|
75
|
+
Ctrl Stop speaking
|
|
76
|
+
VO + B Read current paragraph
|
|
77
|
+
|
|
78
|
+
Interaction:
|
|
79
|
+
VO + Space Activate element
|
|
80
|
+
VO + Shift + M Open menu
|
|
81
|
+
Tab Next focusable element
|
|
82
|
+
Shift + Tab Previous focusable element
|
|
83
|
+
|
|
84
|
+
Rotor (VO + U):
|
|
85
|
+
Navigate by: Headings, Links, Forms, Landmarks
|
|
86
|
+
Left/Right Arrow Change rotor category
|
|
87
|
+
Up/Down Arrow Navigate within category
|
|
88
|
+
Enter Go to item
|
|
89
|
+
|
|
90
|
+
Web Specific:
|
|
91
|
+
VO + Cmd + H Next heading
|
|
92
|
+
VO + Cmd + J Next form control
|
|
93
|
+
VO + Cmd + L Next link
|
|
94
|
+
VO + Cmd + T Next table
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Testing Checklist
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
## VoiceOver Testing Checklist
|
|
101
|
+
|
|
102
|
+
### Page Load
|
|
103
|
+
|
|
104
|
+
- [ ] Page title announced
|
|
105
|
+
- [ ] Main landmark found
|
|
106
|
+
- [ ] Skip link works
|
|
107
|
+
|
|
108
|
+
### Navigation
|
|
109
|
+
|
|
110
|
+
- [ ] All headings discoverable via rotor
|
|
111
|
+
- [ ] Heading levels logical (H1 → H2 → H3)
|
|
112
|
+
- [ ] Landmarks properly labeled
|
|
113
|
+
- [ ] Skip links functional
|
|
114
|
+
|
|
115
|
+
### Links & Buttons
|
|
116
|
+
|
|
117
|
+
- [ ] Link purpose clear
|
|
118
|
+
- [ ] Button actions described
|
|
119
|
+
- [ ] New window/tab announced
|
|
120
|
+
|
|
121
|
+
### Forms
|
|
122
|
+
|
|
123
|
+
- [ ] All labels read with inputs
|
|
124
|
+
- [ ] Required fields announced
|
|
125
|
+
- [ ] Error messages read
|
|
126
|
+
- [ ] Instructions available
|
|
127
|
+
- [ ] Focus moves to errors
|
|
128
|
+
|
|
129
|
+
### Dynamic Content
|
|
130
|
+
|
|
131
|
+
- [ ] Alerts announced immediately
|
|
132
|
+
- [ ] Loading states communicated
|
|
133
|
+
- [ ] Content updates announced
|
|
134
|
+
- [ ] Modals trap focus correctly
|
|
135
|
+
|
|
136
|
+
### Tables
|
|
137
|
+
|
|
138
|
+
- [ ] Headers associated with cells
|
|
139
|
+
- [ ] Table navigation works
|
|
140
|
+
- [ ] Complex tables have captions
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Common Issues & Fixes
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
<!-- Issue: Button not announcing purpose -->
|
|
147
|
+
<button><svg>...</svg></button>
|
|
148
|
+
|
|
149
|
+
<!-- Fix -->
|
|
150
|
+
<button aria-label="Close dialog"><svg aria-hidden="true">...</svg></button>
|
|
151
|
+
|
|
152
|
+
<!-- Issue: Dynamic content not announced -->
|
|
153
|
+
<div id="results">New results loaded</div>
|
|
154
|
+
|
|
155
|
+
<!-- Fix -->
|
|
156
|
+
<div id="results" role="status" aria-live="polite">New results loaded</div>
|
|
157
|
+
|
|
158
|
+
<!-- Issue: Form error not read -->
|
|
159
|
+
<input type="email" />
|
|
160
|
+
<span class="error">Invalid email</span>
|
|
161
|
+
|
|
162
|
+
<!-- Fix -->
|
|
163
|
+
<input type="email" aria-invalid="true" aria-describedby="email-error" />
|
|
164
|
+
<span id="email-error" role="alert">Invalid email</span>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## NVDA (Windows)
|
|
168
|
+
|
|
169
|
+
### Setup
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
Download: nvaccess.org
|
|
173
|
+
Start: Ctrl + Alt + N
|
|
174
|
+
Stop: Insert + Q
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Essential Commands
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Navigation:
|
|
181
|
+
Insert = NVDA modifier
|
|
182
|
+
|
|
183
|
+
Down Arrow Next line
|
|
184
|
+
Up Arrow Previous line
|
|
185
|
+
Tab Next focusable
|
|
186
|
+
Shift + Tab Previous focusable
|
|
187
|
+
|
|
188
|
+
Reading:
|
|
189
|
+
NVDA + Down Arrow Say all
|
|
190
|
+
Ctrl Stop speech
|
|
191
|
+
NVDA + Up Arrow Current line
|
|
192
|
+
|
|
193
|
+
Headings:
|
|
194
|
+
H Next heading
|
|
195
|
+
Shift + H Previous heading
|
|
196
|
+
1-6 Heading level 1-6
|
|
197
|
+
|
|
198
|
+
Forms:
|
|
199
|
+
F Next form field
|
|
200
|
+
B Next button
|
|
201
|
+
E Next edit field
|
|
202
|
+
X Next checkbox
|
|
203
|
+
C Next combo box
|
|
204
|
+
|
|
205
|
+
Links:
|
|
206
|
+
K Next link
|
|
207
|
+
U Next unvisited link
|
|
208
|
+
V Next visited link
|
|
209
|
+
|
|
210
|
+
Landmarks:
|
|
211
|
+
D Next landmark
|
|
212
|
+
Shift + D Previous landmark
|
|
213
|
+
|
|
214
|
+
Tables:
|
|
215
|
+
T Next table
|
|
216
|
+
Ctrl + Alt + Arrows Navigate cells
|
|
217
|
+
|
|
218
|
+
Elements List (NVDA + F7):
|
|
219
|
+
Shows all links, headings, form fields, landmarks
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Browse vs Focus Mode
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
NVDA automatically switches modes:
|
|
226
|
+
- Browse Mode: Arrow keys navigate content
|
|
227
|
+
- Focus Mode: Arrow keys control interactive elements
|
|
228
|
+
|
|
229
|
+
Manual switch: NVDA + Space
|
|
230
|
+
|
|
231
|
+
Watch for:
|
|
232
|
+
- "Browse mode" announcement when navigating
|
|
233
|
+
- "Focus mode" when entering form fields
|
|
234
|
+
- Application role forces forms mode
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Testing Script
|
|
238
|
+
|
|
239
|
+
```markdown
|
|
240
|
+
## NVDA Test Script
|
|
241
|
+
|
|
242
|
+
### Initial Load
|
|
243
|
+
|
|
244
|
+
1. Navigate to page
|
|
245
|
+
2. Let page finish loading
|
|
246
|
+
3. Press Insert + Down to read all
|
|
247
|
+
4. Note: Page title, main content identified?
|
|
248
|
+
|
|
249
|
+
### Landmark Navigation
|
|
250
|
+
|
|
251
|
+
1. Press D repeatedly
|
|
252
|
+
2. Check: All main areas reachable?
|
|
253
|
+
3. Check: Landmarks properly labeled?
|
|
254
|
+
|
|
255
|
+
### Heading Navigation
|
|
256
|
+
|
|
257
|
+
1. Press Insert + F7 → Headings
|
|
258
|
+
2. Check: Logical heading structure?
|
|
259
|
+
3. Press H to navigate headings
|
|
260
|
+
4. Check: All sections discoverable?
|
|
261
|
+
|
|
262
|
+
### Form Testing
|
|
263
|
+
|
|
264
|
+
1. Press F to find first form field
|
|
265
|
+
2. Check: Label read?
|
|
266
|
+
3. Fill in invalid data
|
|
267
|
+
4. Submit form
|
|
268
|
+
5. Check: Errors announced?
|
|
269
|
+
6. Check: Focus moved to error?
|
|
270
|
+
|
|
271
|
+
### Interactive Elements
|
|
272
|
+
|
|
273
|
+
1. Tab through all interactive elements
|
|
274
|
+
2. Check: Each announces role and state
|
|
275
|
+
3. Activate buttons with Enter/Space
|
|
276
|
+
4. Check: Result announced?
|
|
277
|
+
|
|
278
|
+
### Dynamic Content
|
|
279
|
+
|
|
280
|
+
1. Trigger content update
|
|
281
|
+
2. Check: Change announced?
|
|
282
|
+
3. Open modal
|
|
283
|
+
4. Check: Focus trapped?
|
|
284
|
+
5. Close modal
|
|
285
|
+
6. Check: Focus returns?
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## JAWS (Windows)
|
|
289
|
+
|
|
290
|
+
### Essential Commands
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
Start: Desktop shortcut or Ctrl + Alt + J
|
|
294
|
+
Virtual Cursor: Auto-enabled in browsers
|
|
295
|
+
|
|
296
|
+
Navigation:
|
|
297
|
+
Arrow keys Navigate content
|
|
298
|
+
Tab Next focusable
|
|
299
|
+
Insert + Down Read all
|
|
300
|
+
Ctrl Stop speech
|
|
301
|
+
|
|
302
|
+
Quick Keys:
|
|
303
|
+
H Next heading
|
|
304
|
+
T Next table
|
|
305
|
+
F Next form field
|
|
306
|
+
B Next button
|
|
307
|
+
G Next graphic
|
|
308
|
+
L Next list
|
|
309
|
+
; Next landmark
|
|
310
|
+
|
|
311
|
+
Forms Mode:
|
|
312
|
+
Enter Enter forms mode
|
|
313
|
+
Numpad + Exit forms mode
|
|
314
|
+
F5 List form fields
|
|
315
|
+
|
|
316
|
+
Lists:
|
|
317
|
+
Insert + F7 Link list
|
|
318
|
+
Insert + F6 Heading list
|
|
319
|
+
Insert + F5 Form field list
|
|
320
|
+
|
|
321
|
+
Tables:
|
|
322
|
+
Ctrl + Alt + Arrows Table navigation
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
## TalkBack (Android)
|
|
326
|
+
|
|
327
|
+
### Setup
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
Enable: Settings → Accessibility → TalkBack
|
|
331
|
+
Toggle: Hold both volume buttons 3 seconds
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Gestures
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
Explore: Drag finger across screen
|
|
338
|
+
Next: Swipe right
|
|
339
|
+
Previous: Swipe left
|
|
340
|
+
Activate: Double tap
|
|
341
|
+
Scroll: Two finger swipe
|
|
342
|
+
|
|
343
|
+
Reading Controls (swipe up then right):
|
|
344
|
+
- Headings
|
|
345
|
+
- Links
|
|
346
|
+
- Controls
|
|
347
|
+
- Characters
|
|
348
|
+
- Words
|
|
349
|
+
- Lines
|
|
350
|
+
- Paragraphs
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
## Common Test Scenarios
|
|
354
|
+
|
|
355
|
+
### 1. Modal Dialog
|
|
356
|
+
|
|
357
|
+
```html
|
|
358
|
+
<!-- Accessible modal structure -->
|
|
359
|
+
<div
|
|
360
|
+
role="dialog"
|
|
361
|
+
aria-modal="true"
|
|
362
|
+
aria-labelledby="dialog-title"
|
|
363
|
+
aria-describedby="dialog-desc"
|
|
364
|
+
>
|
|
365
|
+
<h2 id="dialog-title">Confirm Delete</h2>
|
|
366
|
+
<p id="dialog-desc">This action cannot be undone.</p>
|
|
367
|
+
<button>Cancel</button>
|
|
368
|
+
<button>Delete</button>
|
|
369
|
+
</div>
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
```javascript
|
|
373
|
+
// Focus management
|
|
374
|
+
function openModal(modal) {
|
|
375
|
+
// Store last focused element
|
|
376
|
+
lastFocus = document.activeElement;
|
|
377
|
+
|
|
378
|
+
// Move focus to modal
|
|
379
|
+
modal.querySelector("h2").focus();
|
|
380
|
+
|
|
381
|
+
// Trap focus
|
|
382
|
+
modal.addEventListener("keydown", trapFocus);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
function closeModal(modal) {
|
|
386
|
+
// Return focus
|
|
387
|
+
lastFocus.focus();
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
function trapFocus(e) {
|
|
391
|
+
if (e.key === "Tab") {
|
|
392
|
+
const focusable = modal.querySelectorAll(
|
|
393
|
+
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',
|
|
394
|
+
);
|
|
395
|
+
const first = focusable[0];
|
|
396
|
+
const last = focusable[focusable.length - 1];
|
|
397
|
+
|
|
398
|
+
if (e.shiftKey && document.activeElement === first) {
|
|
399
|
+
last.focus();
|
|
400
|
+
e.preventDefault();
|
|
401
|
+
} else if (!e.shiftKey && document.activeElement === last) {
|
|
402
|
+
first.focus();
|
|
403
|
+
e.preventDefault();
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
if (e.key === "Escape") {
|
|
408
|
+
closeModal(modal);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### 2. Live Regions
|
|
414
|
+
|
|
415
|
+
```html
|
|
416
|
+
<!-- Status messages (polite) -->
|
|
417
|
+
<div role="status" aria-live="polite" aria-atomic="true">
|
|
418
|
+
<!-- Content updates will be announced after current speech -->
|
|
419
|
+
</div>
|
|
420
|
+
|
|
421
|
+
<!-- Alerts (assertive) -->
|
|
422
|
+
<div role="alert" aria-live="assertive">
|
|
423
|
+
<!-- Content updates interrupt current speech -->
|
|
424
|
+
</div>
|
|
425
|
+
|
|
426
|
+
<!-- Progress updates -->
|
|
427
|
+
<div
|
|
428
|
+
role="progressbar"
|
|
429
|
+
aria-valuenow="75"
|
|
430
|
+
aria-valuemin="0"
|
|
431
|
+
aria-valuemax="100"
|
|
432
|
+
aria-label="Upload progress"
|
|
433
|
+
></div>
|
|
434
|
+
|
|
435
|
+
<!-- Log (additions only) -->
|
|
436
|
+
<div role="log" aria-live="polite" aria-relevant="additions">
|
|
437
|
+
<!-- New messages announced, removals not -->
|
|
438
|
+
</div>
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
### 3. Tab Interface
|
|
442
|
+
|
|
443
|
+
```html
|
|
444
|
+
<div role="tablist" aria-label="Product information">
|
|
445
|
+
<button role="tab" id="tab-1" aria-selected="true" aria-controls="panel-1">
|
|
446
|
+
Description
|
|
447
|
+
</button>
|
|
448
|
+
<button
|
|
449
|
+
role="tab"
|
|
450
|
+
id="tab-2"
|
|
451
|
+
aria-selected="false"
|
|
452
|
+
aria-controls="panel-2"
|
|
453
|
+
tabindex="-1"
|
|
454
|
+
>
|
|
455
|
+
Reviews
|
|
456
|
+
</button>
|
|
457
|
+
</div>
|
|
458
|
+
|
|
459
|
+
<div role="tabpanel" id="panel-1" aria-labelledby="tab-1">
|
|
460
|
+
Product description content...
|
|
461
|
+
</div>
|
|
462
|
+
|
|
463
|
+
<div role="tabpanel" id="panel-2" aria-labelledby="tab-2" hidden>
|
|
464
|
+
Reviews content...
|
|
465
|
+
</div>
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
```javascript
|
|
469
|
+
// Tab keyboard navigation
|
|
470
|
+
tablist.addEventListener("keydown", (e) => {
|
|
471
|
+
const tabs = [...tablist.querySelectorAll('[role="tab"]')];
|
|
472
|
+
const index = tabs.indexOf(document.activeElement);
|
|
473
|
+
|
|
474
|
+
let newIndex;
|
|
475
|
+
switch (e.key) {
|
|
476
|
+
case "ArrowRight":
|
|
477
|
+
newIndex = (index + 1) % tabs.length;
|
|
478
|
+
break;
|
|
479
|
+
case "ArrowLeft":
|
|
480
|
+
newIndex = (index - 1 + tabs.length) % tabs.length;
|
|
481
|
+
break;
|
|
482
|
+
case "Home":
|
|
483
|
+
newIndex = 0;
|
|
484
|
+
break;
|
|
485
|
+
case "End":
|
|
486
|
+
newIndex = tabs.length - 1;
|
|
487
|
+
break;
|
|
488
|
+
default:
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
tabs[newIndex].focus();
|
|
493
|
+
activateTab(tabs[newIndex]);
|
|
494
|
+
e.preventDefault();
|
|
495
|
+
});
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
## Debugging Tips
|
|
499
|
+
|
|
500
|
+
```javascript
|
|
501
|
+
// Log what screen reader sees
|
|
502
|
+
function logAccessibleName(element) {
|
|
503
|
+
const computed = window.getComputedStyle(element);
|
|
504
|
+
console.log({
|
|
505
|
+
role: element.getAttribute("role") || element.tagName,
|
|
506
|
+
name:
|
|
507
|
+
element.getAttribute("aria-label") ||
|
|
508
|
+
element.getAttribute("aria-labelledby") ||
|
|
509
|
+
element.textContent,
|
|
510
|
+
state: {
|
|
511
|
+
expanded: element.getAttribute("aria-expanded"),
|
|
512
|
+
selected: element.getAttribute("aria-selected"),
|
|
513
|
+
checked: element.getAttribute("aria-checked"),
|
|
514
|
+
disabled: element.disabled,
|
|
515
|
+
},
|
|
516
|
+
visible: computed.display !== "none" && computed.visibility !== "hidden",
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
## Best Practices
|
|
522
|
+
|
|
523
|
+
### Do's
|
|
524
|
+
|
|
525
|
+
- **Test with actual screen readers** - Not just simulators
|
|
526
|
+
- **Use semantic HTML first** - ARIA is supplemental
|
|
527
|
+
- **Test in browse and focus modes** - Different experiences
|
|
528
|
+
- **Verify focus management** - Especially for SPAs
|
|
529
|
+
- **Test keyboard only first** - Foundation for SR testing
|
|
530
|
+
|
|
531
|
+
### Don'ts
|
|
532
|
+
|
|
533
|
+
- **Don't assume one SR is enough** - Test multiple
|
|
534
|
+
- **Don't ignore mobile** - Growing user base
|
|
535
|
+
- **Don't test only happy path** - Test error states
|
|
536
|
+
- **Don't skip dynamic content** - Most common issues
|
|
537
|
+
- **Don't rely on visual testing** - Different experience
|
|
538
|
+
|
|
539
|
+
## Resources
|
|
540
|
+
|
|
541
|
+
- [VoiceOver User Guide](https://support.apple.com/guide/voiceover/welcome/mac)
|
|
542
|
+
- [NVDA User Guide](https://www.nvaccess.org/files/nvda/documentation/userGuide.html)
|
|
543
|
+
- [JAWS Documentation](https://support.freedomscientific.com/Products/Blindness/JAWS)
|
|
544
|
+
- [WebAIM Screen Reader Survey](https://webaim.org/projects/screenreadersurvey/)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: search-specialist
|
|
3
|
+
description: Expert web researcher using advanced search techniques and
|
|
4
|
+
synthesis. Masters search operators, result filtering, and multi-source
|
|
5
|
+
verification. Handles competitive analysis and fact-checking. Use PROACTIVELY
|
|
6
|
+
for deep research, information gathering, or trend analysis.
|
|
7
|
+
metadata:
|
|
8
|
+
model: haiku
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Use this skill when
|
|
12
|
+
|
|
13
|
+
- Working on search specialist tasks or workflows
|
|
14
|
+
- Needing guidance, best practices, or checklists for search specialist
|
|
15
|
+
|
|
16
|
+
## Do not use this skill when
|
|
17
|
+
|
|
18
|
+
- The task is unrelated to search specialist
|
|
19
|
+
- You need a different domain or tool outside this scope
|
|
20
|
+
|
|
21
|
+
## Instructions
|
|
22
|
+
|
|
23
|
+
- Clarify goals, constraints, and required inputs.
|
|
24
|
+
- Apply relevant best practices and validate outcomes.
|
|
25
|
+
- Provide actionable steps and verification.
|
|
26
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
27
|
+
|
|
28
|
+
You are a search specialist expert at finding and synthesizing information from the web.
|
|
29
|
+
|
|
30
|
+
## Focus Areas
|
|
31
|
+
|
|
32
|
+
- Advanced search query formulation
|
|
33
|
+
- Domain-specific searching and filtering
|
|
34
|
+
- Result quality evaluation and ranking
|
|
35
|
+
- Information synthesis across sources
|
|
36
|
+
- Fact verification and cross-referencing
|
|
37
|
+
- Historical and trend analysis
|
|
38
|
+
|
|
39
|
+
## Search Strategies
|
|
40
|
+
|
|
41
|
+
### Query Optimization
|
|
42
|
+
|
|
43
|
+
- Use specific phrases in quotes for exact matches
|
|
44
|
+
- Exclude irrelevant terms with negative keywords
|
|
45
|
+
- Target specific timeframes for recent/historical data
|
|
46
|
+
- Formulate multiple query variations
|
|
47
|
+
|
|
48
|
+
### Domain Filtering
|
|
49
|
+
|
|
50
|
+
- allowed_domains for trusted sources
|
|
51
|
+
- blocked_domains to exclude unreliable sites
|
|
52
|
+
- Target specific sites for authoritative content
|
|
53
|
+
- Academic sources for research topics
|
|
54
|
+
|
|
55
|
+
### WebFetch Deep Dive
|
|
56
|
+
|
|
57
|
+
- Extract full content from promising results
|
|
58
|
+
- Parse structured data from pages
|
|
59
|
+
- Follow citation trails and references
|
|
60
|
+
- Capture data before it changes
|
|
61
|
+
|
|
62
|
+
## Approach
|
|
63
|
+
|
|
64
|
+
1. Understand the research objective clearly
|
|
65
|
+
2. Create 3-5 query variations for coverage
|
|
66
|
+
3. Search broadly first, then refine
|
|
67
|
+
4. Verify key facts across multiple sources
|
|
68
|
+
5. Track contradictions and consensus
|
|
69
|
+
|
|
70
|
+
## Output
|
|
71
|
+
|
|
72
|
+
- Research methodology and queries used
|
|
73
|
+
- Curated findings with source URLs
|
|
74
|
+
- Credibility assessment of sources
|
|
75
|
+
- Synthesis highlighting key insights
|
|
76
|
+
- Contradictions or gaps identified
|
|
77
|
+
- Data tables or structured summaries
|
|
78
|
+
- Recommendations for further research
|
|
79
|
+
|
|
80
|
+
Focus on actionable insights. Always provide direct quotes for important claims.
|