code-ai-installer 1.2.0 → 1.3.1
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/.agents/a11y_baseline/SKILL.md +260 -41
- package/.agents/a11y_baseline/agents/claude.json +2 -2
- package/.agents/a11y_baseline/agents/copilot.json +2 -2
- package/.agents/a11y_baseline/agents/gemini.json +2 -2
- package/.agents/a11y_baseline/agents/openai.yaml +1 -1
- package/.agents/a11y_baseline/agents/qwen.json +2 -2
- package/.agents/a11y_baseline/agents/skill.yaml +2 -2
- package/.agents/adr_log/SKILL.md +369 -69
- package/.agents/adr_log/agents/claude.json +2 -2
- package/.agents/adr_log/agents/copilot.json +2 -2
- package/.agents/adr_log/agents/gemini.json +2 -2
- package/.agents/adr_log/agents/openai.yaml +1 -1
- package/.agents/adr_log/agents/qwen.json +2 -2
- package/.agents/adr_log/agents/skill.yaml +2 -2
- package/.agents/api_contract_compliance_review/SKILL.md +224 -18
- package/.agents/api_contract_compliance_review/agents/claude.json +2 -2
- package/.agents/api_contract_compliance_review/agents/copilot.json +2 -2
- package/.agents/api_contract_compliance_review/agents/gemini.json +2 -2
- package/.agents/api_contract_compliance_review/agents/openai.yaml +1 -1
- package/.agents/api_contract_compliance_review/agents/qwen.json +2 -2
- package/.agents/api_contract_compliance_review/agents/skill.yaml +2 -2
- package/.agents/api_contracts/SKILL.md +329 -42
- package/.agents/api_contracts/agents/claude.json +2 -2
- package/.agents/api_contracts/agents/copilot.json +2 -2
- package/.agents/api_contracts/agents/gemini.json +2 -2
- package/.agents/api_contracts/agents/openai.yaml +1 -1
- package/.agents/api_contracts/agents/qwen.json +2 -2
- package/.agents/api_contracts/agents/skill.yaml +2 -2
- package/.agents/architecture_compliance_review/SKILL.md +213 -17
- package/.agents/architecture_compliance_review/agents/claude.json +2 -2
- package/.agents/architecture_compliance_review/agents/copilot.json +2 -2
- package/.agents/architecture_compliance_review/agents/gemini.json +2 -2
- package/.agents/architecture_compliance_review/agents/openai.yaml +1 -1
- package/.agents/architecture_compliance_review/agents/qwen.json +2 -2
- package/.agents/architecture_compliance_review/agents/skill.yaml +2 -2
- package/.agents/architecture_doc/SKILL.md +384 -92
- package/.agents/architecture_doc/agents/claude.json +2 -2
- package/.agents/architecture_doc/agents/copilot.json +2 -2
- package/.agents/architecture_doc/agents/gemini.json +2 -2
- package/.agents/architecture_doc/agents/openai.yaml +1 -1
- package/.agents/architecture_doc/agents/qwen.json +2 -2
- package/.agents/architecture_doc/agents/skill.yaml +2 -2
- package/.agents/board/SKILL.md +232 -43
- package/.agents/board/agents/claude.json +2 -2
- package/.agents/board/agents/copilot.json +2 -2
- package/.agents/board/agents/gemini.json +2 -2
- package/.agents/board/agents/openai.yaml +1 -1
- package/.agents/board/agents/qwen.json +2 -2
- package/.agents/board/agents/skill.yaml +2 -2
- package/.agents/cloud_infrastructure_security/SKILL.md +277 -68
- package/.agents/cloud_infrastructure_security/agents/claude.json +2 -2
- package/.agents/cloud_infrastructure_security/agents/copilot.json +2 -2
- package/.agents/cloud_infrastructure_security/agents/gemini.json +2 -2
- package/.agents/cloud_infrastructure_security/agents/openai.yaml +1 -1
- package/.agents/cloud_infrastructure_security/agents/qwen.json +2 -2
- package/.agents/cloud_infrastructure_security/agents/skill.yaml +2 -2
- package/.agents/code_review_checklist/SKILL.md +200 -47
- package/.agents/code_review_checklist/agents/claude.json +2 -2
- package/.agents/code_review_checklist/agents/copilot.json +2 -2
- package/.agents/code_review_checklist/agents/gemini.json +2 -2
- package/.agents/code_review_checklist/agents/openai.yaml +1 -1
- package/.agents/code_review_checklist/agents/qwen.json +2 -2
- package/.agents/code_review_checklist/agents/skill.yaml +2 -2
- package/.agents/current_state_analysis/SKILL.md +225 -44
- package/.agents/current_state_analysis/agents/claude.json +2 -2
- package/.agents/current_state_analysis/agents/copilot.json +2 -2
- package/.agents/current_state_analysis/agents/gemini.json +2 -2
- package/.agents/current_state_analysis/agents/openai.yaml +1 -1
- package/.agents/current_state_analysis/agents/qwen.json +2 -2
- package/.agents/current_state_analysis/agents/skill.yaml +2 -2
- package/.agents/data_model/SKILL.md +285 -40
- package/.agents/data_model/agents/claude.json +2 -2
- package/.agents/data_model/agents/copilot.json +2 -2
- package/.agents/data_model/agents/gemini.json +2 -2
- package/.agents/data_model/agents/openai.yaml +1 -1
- package/.agents/data_model/agents/qwen.json +2 -2
- package/.agents/data_model/agents/skill.yaml +2 -2
- package/.agents/dependency_supply_chain_review/SKILL.md +300 -20
- package/.agents/dependency_supply_chain_review/agents/claude.json +2 -2
- package/.agents/dependency_supply_chain_review/agents/copilot.json +2 -2
- package/.agents/dependency_supply_chain_review/agents/gemini.json +2 -2
- package/.agents/dependency_supply_chain_review/agents/openai.yaml +1 -1
- package/.agents/dependency_supply_chain_review/agents/qwen.json +2 -2
- package/.agents/dependency_supply_chain_review/agents/skill.yaml +2 -2
- package/.agents/deployment_ci_plan/SKILL.md +410 -51
- package/.agents/deployment_ci_plan/agents/claude.json +3 -2
- package/.agents/deployment_ci_plan/agents/copilot.json +3 -2
- package/.agents/deployment_ci_plan/agents/gemini.json +3 -2
- package/.agents/deployment_ci_plan/agents/openai.yaml +1 -1
- package/.agents/deployment_ci_plan/agents/qwen.json +3 -2
- package/.agents/deployment_ci_plan/agents/skill.yaml +2 -1
- package/.agents/design_intake/SKILL.md +225 -70
- package/.agents/design_intake/agents/claude.json +2 -2
- package/.agents/design_intake/agents/copilot.json +2 -2
- package/.agents/design_intake/agents/gemini.json +2 -2
- package/.agents/design_intake/agents/openai.yaml +1 -1
- package/.agents/design_intake/agents/qwen.json +2 -2
- package/.agents/design_intake/agents/skill.yaml +2 -2
- package/.agents/design_parity_review/SKILL.md +216 -73
- package/.agents/design_systems/SKILL.md +432 -15
- package/.agents/design_systems/agents/claude.json +2 -2
- package/.agents/design_systems/agents/copilot.json +2 -2
- package/.agents/design_systems/agents/gemini.json +2 -2
- package/.agents/design_systems/agents/openai.yaml +1 -1
- package/.agents/design_systems/agents/qwen.json +2 -2
- package/.agents/design_systems/agents/skill.yaml +2 -2
- package/.agents/dev_reference_snippets/SKILL.md +305 -117
- package/.agents/dev_reference_snippets/agents/claude.json +2 -2
- package/.agents/dev_reference_snippets/agents/copilot.json +2 -2
- package/.agents/dev_reference_snippets/agents/gemini.json +2 -2
- package/.agents/dev_reference_snippets/agents/openai.yaml +1 -1
- package/.agents/dev_reference_snippets/agents/qwen.json +2 -2
- package/.agents/dev_reference_snippets/agents/skill.yaml +2 -2
- package/.agents/docker_kubernetes_architecture/SKILL.md +480 -145
- package/.agents/docker_kubernetes_architecture/agents/claude.json +2 -2
- package/.agents/docker_kubernetes_architecture/agents/copilot.json +2 -2
- package/.agents/docker_kubernetes_architecture/agents/gemini.json +2 -2
- package/.agents/docker_kubernetes_architecture/agents/openai.yaml +1 -1
- package/.agents/docker_kubernetes_architecture/agents/qwen.json +2 -2
- package/.agents/docker_kubernetes_architecture/agents/skill.yaml +2 -2
- package/.agents/es2025_beast_practices/SKILL.md +433 -8
- package/.agents/es2025_beast_practices/agents/claude.json +2 -2
- package/.agents/es2025_beast_practices/agents/copilot.json +2 -2
- package/.agents/es2025_beast_practices/agents/gemini.json +2 -2
- package/.agents/es2025_beast_practices/agents/openai.yaml +1 -1
- package/.agents/es2025_beast_practices/agents/qwen.json +2 -2
- package/.agents/es2025_beast_practices/agents/skill.yaml +2 -2
- package/.agents/gates/SKILL.md +134 -35
- package/.agents/gates/agents/claude.json +2 -2
- package/.agents/gates/agents/copilot.json +2 -2
- package/.agents/gates/agents/gemini.json +2 -2
- package/.agents/gates/agents/openai.yaml +1 -1
- package/.agents/gates/agents/qwen.json +2 -2
- package/.agents/gates/agents/skill.yaml +2 -2
- package/.agents/go_beast_practices/SKILL.md +557 -23
- package/.agents/go_beast_practices/agents/claude.json +2 -2
- package/.agents/go_beast_practices/agents/copilot.json +2 -2
- package/.agents/go_beast_practices/agents/gemini.json +2 -2
- package/.agents/go_beast_practices/agents/openai.yaml +1 -1
- package/.agents/go_beast_practices/agents/qwen.json +2 -2
- package/.agents/go_beast_practices/agents/skill.yaml +2 -2
- package/.agents/google_stitch_skill/SKILL.md +2 -1
- package/.agents/google_stitch_skill/agents/claude.json +6 -6
- package/.agents/google_stitch_skill/agents/copilot.json +6 -6
- package/.agents/google_stitch_skill/agents/gemini.json +6 -6
- package/.agents/google_stitch_skill/agents/openai.yaml +2 -1
- package/.agents/google_stitch_skill/agents/qwen.json +6 -6
- package/.agents/google_stitch_skill/agents/skill.yaml +4 -3
- package/.agents/handoff/SKILL.md +212 -52
- package/.agents/handoff/agents/claude.json +2 -2
- package/.agents/handoff/agents/copilot.json +2 -2
- package/.agents/handoff/agents/gemini.json +2 -2
- package/.agents/handoff/agents/openai.yaml +1 -1
- package/.agents/handoff/agents/qwen.json +2 -2
- package/.agents/handoff/agents/skill.yaml +2 -2
- package/.agents/k8s_manifests_conventions/SKILL.md +548 -176
- package/.agents/k8s_manifests_conventions/agents/claude.json +2 -2
- package/.agents/k8s_manifests_conventions/agents/copilot.json +2 -2
- package/.agents/k8s_manifests_conventions/agents/gemini.json +2 -2
- package/.agents/k8s_manifests_conventions/agents/openai.yaml +1 -1
- package/.agents/k8s_manifests_conventions/agents/qwen.json +2 -2
- package/.agents/k8s_manifests_conventions/agents/skill.yaml +2 -2
- package/.agents/memory/SKILL.md +219 -29
- package/.agents/memory/agents/claude.json +2 -2
- package/.agents/memory/agents/copilot.json +2 -2
- package/.agents/memory/agents/gemini.json +2 -2
- package/.agents/memory/agents/openai.yaml +1 -1
- package/.agents/memory/agents/qwen.json +2 -2
- package/.agents/memory/agents/skill.yaml +2 -2
- package/.agents/mongodb_mongoose_best_practices/SKILL.md +724 -236
- package/.agents/mongodb_mongoose_best_practices/agents/claude.json +2 -2
- package/.agents/mongodb_mongoose_best_practices/agents/copilot.json +2 -2
- package/.agents/mongodb_mongoose_best_practices/agents/gemini.json +2 -2
- package/.agents/mongodb_mongoose_best_practices/agents/openai.yaml +1 -1
- package/.agents/mongodb_mongoose_best_practices/agents/qwen.json +2 -2
- package/.agents/mongodb_mongoose_best_practices/agents/skill.yaml +2 -2
- package/.agents/n8n_pinecone_qdrant_supabase/SKILL.md +671 -59
- package/.agents/n8n_pinecone_qdrant_supabase/agents/claude.json +2 -2
- package/.agents/n8n_pinecone_qdrant_supabase/agents/copilot.json +2 -2
- package/.agents/n8n_pinecone_qdrant_supabase/agents/gemini.json +2 -2
- package/.agents/n8n_pinecone_qdrant_supabase/agents/openai.yaml +1 -1
- package/.agents/n8n_pinecone_qdrant_supabase/agents/qwen.json +2 -2
- package/.agents/n8n_pinecone_qdrant_supabase/agents/skill.yaml +2 -2
- package/.agents/node_express_beast_practices/SKILL.md +729 -30
- package/.agents/node_express_beast_practices/agents/claude.json +1 -1
- package/.agents/node_express_beast_practices/agents/copilot.json +1 -1
- package/.agents/node_express_beast_practices/agents/gemini.json +1 -1
- package/.agents/node_express_beast_practices/agents/openai.yaml +1 -1
- package/.agents/node_express_beast_practices/agents/qwen.json +1 -1
- package/.agents/node_express_beast_practices/agents/skill.yaml +1 -1
- package/.agents/observability_logging/SKILL.md +499 -16
- package/.agents/observability_logging/agents/claude.json +2 -2
- package/.agents/observability_logging/agents/copilot.json +2 -2
- package/.agents/observability_logging/agents/gemini.json +2 -2
- package/.agents/observability_logging/agents/openai.yaml +1 -1
- package/.agents/observability_logging/agents/qwen.json +2 -2
- package/.agents/observability_logging/agents/skill.yaml +2 -2
- package/.agents/observability_plan/SKILL.md +279 -38
- package/.agents/observability_plan/agents/claude.json +3 -2
- package/.agents/observability_plan/agents/copilot.json +3 -2
- package/.agents/observability_plan/agents/gemini.json +3 -2
- package/.agents/observability_plan/agents/openai.yaml +1 -1
- package/.agents/observability_plan/agents/qwen.json +3 -2
- package/.agents/observability_plan/agents/skill.yaml +2 -1
- package/.agents/observability_review/SKILL.md +254 -20
- package/.agents/observability_review/agents/claude.json +2 -2
- package/.agents/observability_review/agents/copilot.json +2 -2
- package/.agents/observability_review/agents/gemini.json +2 -2
- package/.agents/observability_review/agents/openai.yaml +1 -1
- package/.agents/observability_review/agents/qwen.json +2 -2
- package/.agents/observability_review/agents/skill.yaml +2 -2
- package/.agents/performance_review_baseline/SKILL.md +239 -17
- package/.agents/performance_review_baseline/agents/claude.json +2 -2
- package/.agents/performance_review_baseline/agents/copilot.json +2 -2
- package/.agents/performance_review_baseline/agents/gemini.json +2 -2
- package/.agents/performance_review_baseline/agents/openai.yaml +1 -1
- package/.agents/performance_review_baseline/agents/qwen.json +2 -2
- package/.agents/performance_review_baseline/agents/skill.yaml +2 -2
- package/.agents/pm_backlog/SKILL.md +250 -32
- package/.agents/pm_backlog/agents/claude.json +2 -2
- package/.agents/pm_backlog/agents/copilot.json +2 -2
- package/.agents/pm_backlog/agents/gemini.json +2 -2
- package/.agents/pm_backlog/agents/openai.yaml +1 -1
- package/.agents/pm_backlog/agents/qwen.json +2 -2
- package/.agents/pm_backlog/agents/skill.yaml +2 -2
- package/.agents/pm_interview/SKILL.md +197 -56
- package/.agents/pm_interview/agents/claude.json +2 -2
- package/.agents/pm_interview/agents/copilot.json +2 -2
- package/.agents/pm_interview/agents/gemini.json +2 -2
- package/.agents/pm_interview/agents/openai.yaml +1 -1
- package/.agents/pm_interview/agents/qwen.json +2 -2
- package/.agents/pm_interview/agents/skill.yaml +2 -2
- package/.agents/pm_prd/SKILL.md +215 -56
- package/.agents/pm_prd/agents/claude.json +2 -2
- package/.agents/pm_prd/agents/copilot.json +2 -2
- package/.agents/pm_prd/agents/gemini.json +2 -2
- package/.agents/pm_prd/agents/openai.yaml +1 -1
- package/.agents/pm_prd/agents/qwen.json +2 -2
- package/.agents/pm_prd/agents/skill.yaml +2 -2
- package/.agents/qa_api_contract_tests/SKILL.md +207 -16
- package/.agents/qa_api_contract_tests/agents/claude.json +2 -2
- package/.agents/qa_api_contract_tests/agents/copilot.json +2 -2
- package/.agents/qa_api_contract_tests/agents/gemini.json +2 -2
- package/.agents/qa_api_contract_tests/agents/openai.yaml +1 -1
- package/.agents/qa_api_contract_tests/agents/qwen.json +2 -2
- package/.agents/qa_api_contract_tests/agents/skill.yaml +2 -2
- package/.agents/qa_manual_run/SKILL.md +209 -16
- package/.agents/qa_manual_run/agents/claude.json +2 -2
- package/.agents/qa_manual_run/agents/copilot.json +2 -2
- package/.agents/qa_manual_run/agents/gemini.json +2 -2
- package/.agents/qa_manual_run/agents/openai.yaml +1 -1
- package/.agents/qa_manual_run/agents/qwen.json +2 -2
- package/.agents/qa_manual_run/agents/skill.yaml +2 -2
- package/.agents/qa_regression_baseline/SKILL.md +217 -0
- package/.agents/qa_regression_baseline/agents/claude.json +19 -0
- package/.agents/qa_regression_baseline/agents/copilot.json +19 -0
- package/.agents/qa_regression_baseline/agents/gemini.json +19 -0
- package/.agents/qa_regression_baseline/agents/openai.yaml +8 -0
- package/.agents/qa_regression_baseline/agents/qwen.json +19 -0
- package/.agents/qa_regression_baseline/agents/skill.yaml +23 -0
- package/.agents/qa_security_smoke_tests/SKILL.md +188 -14
- package/.agents/qa_security_smoke_tests/agents/claude.json +2 -2
- package/.agents/qa_security_smoke_tests/agents/copilot.json +2 -2
- package/.agents/qa_security_smoke_tests/agents/gemini.json +2 -2
- package/.agents/qa_security_smoke_tests/agents/openai.yaml +1 -1
- package/.agents/qa_security_smoke_tests/agents/qwen.json +2 -2
- package/.agents/qa_security_smoke_tests/agents/skill.yaml +2 -2
- package/.agents/qa_test_plan/SKILL.md +203 -20
- package/.agents/qa_test_plan/agents/claude.json +2 -2
- package/.agents/qa_test_plan/agents/copilot.json +2 -2
- package/.agents/qa_test_plan/agents/gemini.json +2 -2
- package/.agents/qa_test_plan/agents/openai.yaml +1 -1
- package/.agents/qa_test_plan/agents/qwen.json +2 -2
- package/.agents/qa_test_plan/agents/skill.yaml +2 -2
- package/.agents/qa_ui_a11y_smoke/SKILL.md +230 -12
- package/.agents/qa_ui_a11y_smoke/agents/claude.json +2 -2
- package/.agents/qa_ui_a11y_smoke/agents/copilot.json +2 -2
- package/.agents/qa_ui_a11y_smoke/agents/gemini.json +2 -2
- package/.agents/qa_ui_a11y_smoke/agents/openai.yaml +1 -1
- package/.agents/qa_ui_a11y_smoke/agents/qwen.json +2 -2
- package/.agents/qa_ui_a11y_smoke/agents/skill.yaml +2 -2
- package/.agents/react_15_3_wix_iframe/SKILL.md +411 -12
- package/.agents/react_15_3_wix_iframe/agents/claude.json +2 -2
- package/.agents/react_15_3_wix_iframe/agents/copilot.json +2 -2
- package/.agents/react_15_3_wix_iframe/agents/gemini.json +2 -2
- package/.agents/react_15_3_wix_iframe/agents/openai.yaml +1 -1
- package/.agents/react_15_3_wix_iframe/agents/qwen.json +2 -2
- package/.agents/react_15_3_wix_iframe/agents/skill.yaml +2 -2
- package/.agents/react_beast_practices/SKILL.md +285 -18
- package/.agents/react_beast_practices/agents/claude.json +2 -2
- package/.agents/react_beast_practices/agents/copilot.json +2 -2
- package/.agents/react_beast_practices/agents/gemini.json +2 -2
- package/.agents/react_beast_practices/agents/openai.yaml +1 -1
- package/.agents/react_beast_practices/agents/qwen.json +2 -2
- package/.agents/react_beast_practices/agents/skill.yaml +2 -2
- package/.agents/release_gate/SKILL.md +213 -77
- package/.agents/release_gate/agents/claude.json +2 -2
- package/.agents/release_gate/agents/copilot.json +2 -2
- package/.agents/release_gate/agents/gemini.json +2 -2
- package/.agents/release_gate/agents/openai.yaml +1 -1
- package/.agents/release_gate/agents/qwen.json +2 -2
- package/.agents/release_gate/agents/skill.yaml +2 -2
- package/.agents/release_gate_checklist_template/SKILL.md +182 -68
- package/.agents/review_reference_snippets/SKILL.md +116 -0
- package/.agents/security_baseline_dev/SKILL.md +496 -16
- package/.agents/security_baseline_dev/agents/claude.json +2 -2
- package/.agents/security_baseline_dev/agents/copilot.json +2 -2
- package/.agents/security_baseline_dev/agents/gemini.json +2 -2
- package/.agents/security_baseline_dev/agents/openai.yaml +1 -1
- package/.agents/security_baseline_dev/agents/qwen.json +2 -2
- package/.agents/security_baseline_dev/agents/skill.yaml +2 -2
- package/.agents/security_review/SKILL.md +277 -55
- package/.agents/security_review_baseline/SKILL.md +119 -25
- package/.agents/security_review_baseline/agents/claude.json +2 -2
- package/.agents/security_review_baseline/agents/copilot.json +2 -2
- package/.agents/security_review_baseline/agents/gemini.json +2 -2
- package/.agents/security_review_baseline/agents/openai.yaml +1 -1
- package/.agents/security_review_baseline/agents/qwen.json +2 -2
- package/.agents/security_review_baseline/agents/skill.yaml +2 -2
- package/.agents/state_rtk_beast_practices/SKILL.md +735 -15
- package/.agents/state_rtk_beast_practices/agents/claude.json +2 -2
- package/.agents/state_rtk_beast_practices/agents/copilot.json +2 -2
- package/.agents/state_rtk_beast_practices/agents/gemini.json +2 -2
- package/.agents/state_rtk_beast_practices/agents/openai.yaml +1 -1
- package/.agents/state_rtk_beast_practices/agents/qwen.json +2 -2
- package/.agents/state_rtk_beast_practices/agents/skill.yaml +2 -2
- package/.agents/state_zustand_beast_practices/SKILL.md +808 -11
- package/.agents/state_zustand_beast_practices/agents/claude.json +2 -2
- package/.agents/state_zustand_beast_practices/agents/copilot.json +2 -2
- package/.agents/state_zustand_beast_practices/agents/gemini.json +2 -2
- package/.agents/state_zustand_beast_practices/agents/openai.yaml +1 -1
- package/.agents/state_zustand_beast_practices/agents/qwen.json +2 -2
- package/.agents/state_zustand_beast_practices/agents/skill.yaml +2 -2
- package/.agents/styling_css_stack/SKILL.md +558 -12
- package/.agents/styling_css_stack/agents/claude.json +2 -2
- package/.agents/styling_css_stack/agents/copilot.json +2 -2
- package/.agents/styling_css_stack/agents/gemini.json +2 -2
- package/.agents/styling_css_stack/agents/openai.yaml +1 -1
- package/.agents/styling_css_stack/agents/qwen.json +2 -2
- package/.agents/styling_css_stack/agents/skill.yaml +2 -2
- package/.agents/system_design_checklist/SKILL.md +207 -48
- package/.agents/system_design_checklist/agents/claude.json +3 -2
- package/.agents/system_design_checklist/agents/copilot.json +3 -2
- package/.agents/system_design_checklist/agents/gemini.json +3 -2
- package/.agents/system_design_checklist/agents/openai.yaml +1 -1
- package/.agents/system_design_checklist/agents/qwen.json +3 -2
- package/.agents/system_design_checklist/agents/skill.yaml +2 -1
- package/.agents/tailwind_beast_practices/SKILL.md +512 -0
- package/.agents/tailwind_beast_practices/agents/claude.json +18 -0
- package/.agents/tailwind_beast_practices/agents/copilot.json +18 -0
- package/.agents/tailwind_beast_practices/agents/gemini.json +18 -0
- package/.agents/tailwind_beast_practices/agents/openai.yaml +8 -0
- package/.agents/tailwind_beast_practices/agents/qwen.json +18 -0
- package/.agents/tailwind_beast_practices/agents/skill.yaml +22 -0
- package/.agents/tanstack_beast_practices/SKILL.md +465 -11
- package/.agents/tanstack_beast_practices/agents/claude.json +2 -2
- package/.agents/tanstack_beast_practices/agents/copilot.json +2 -2
- package/.agents/tanstack_beast_practices/agents/gemini.json +2 -2
- package/.agents/tanstack_beast_practices/agents/openai.yaml +1 -1
- package/.agents/tanstack_beast_practices/agents/qwen.json +2 -2
- package/.agents/tanstack_beast_practices/agents/skill.yaml +2 -2
- package/.agents/tdd_workflow/SKILL.md +441 -22
- package/.agents/tdd_workflow/agents/claude.json +2 -2
- package/.agents/tdd_workflow/agents/copilot.json +2 -2
- package/.agents/tdd_workflow/agents/gemini.json +2 -2
- package/.agents/tdd_workflow/agents/openai.yaml +1 -1
- package/.agents/tdd_workflow/agents/qwen.json +2 -2
- package/.agents/tdd_workflow/agents/skill.yaml +2 -2
- package/.agents/testing_strategy_js/SKILL.md +636 -30
- package/.agents/testing_strategy_js/agents/claude.json +2 -2
- package/.agents/testing_strategy_js/agents/copilot.json +2 -2
- package/.agents/testing_strategy_js/agents/gemini.json +2 -2
- package/.agents/testing_strategy_js/agents/openai.yaml +1 -1
- package/.agents/testing_strategy_js/agents/qwen.json +2 -2
- package/.agents/testing_strategy_js/agents/skill.yaml +2 -2
- package/.agents/tests_quality_review/SKILL.md +279 -18
- package/.agents/tests_quality_review/agents/claude.json +2 -2
- package/.agents/tests_quality_review/agents/copilot.json +2 -2
- package/.agents/tests_quality_review/agents/gemini.json +2 -2
- package/.agents/tests_quality_review/agents/openai.yaml +1 -1
- package/.agents/tests_quality_review/agents/qwen.json +2 -2
- package/.agents/tests_quality_review/agents/skill.yaml +2 -2
- package/.agents/threat_model_baseline/SKILL.md +210 -57
- package/.agents/threat_model_baseline/agents/claude.json +2 -2
- package/.agents/threat_model_baseline/agents/copilot.json +2 -2
- package/.agents/threat_model_baseline/agents/gemini.json +2 -2
- package/.agents/threat_model_baseline/agents/openai.yaml +1 -1
- package/.agents/threat_model_baseline/agents/qwen.json +2 -2
- package/.agents/threat_model_baseline/agents/skill.yaml +2 -2
- package/.agents/tooling_bun_biome/SKILL.md +539 -17
- package/.agents/tooling_bun_biome/agents/claude.json +2 -2
- package/.agents/tooling_bun_biome/agents/copilot.json +2 -2
- package/.agents/tooling_bun_biome/agents/gemini.json +2 -2
- package/.agents/tooling_bun_biome/agents/openai.yaml +1 -1
- package/.agents/tooling_bun_biome/agents/qwen.json +2 -2
- package/.agents/tooling_bun_biome/agents/skill.yaml +2 -2
- package/.agents/typescript_beast_practices/SKILL.md +427 -8
- package/.agents/typescript_beast_practices/agents/claude.json +2 -2
- package/.agents/typescript_beast_practices/agents/copilot.json +2 -2
- package/.agents/typescript_beast_practices/agents/gemini.json +2 -2
- package/.agents/typescript_beast_practices/agents/openai.yaml +1 -1
- package/.agents/typescript_beast_practices/agents/qwen.json +2 -2
- package/.agents/typescript_beast_practices/agents/skill.yaml +2 -2
- package/.agents/ui_a11y_smoke_review/SKILL.md +195 -15
- package/.agents/ui_a11y_smoke_review/agents/claude.json +2 -2
- package/.agents/ui_a11y_smoke_review/agents/copilot.json +2 -2
- package/.agents/ui_a11y_smoke_review/agents/gemini.json +2 -2
- package/.agents/ui_a11y_smoke_review/agents/openai.yaml +1 -1
- package/.agents/ui_a11y_smoke_review/agents/qwen.json +2 -2
- package/.agents/ui_a11y_smoke_review/agents/skill.yaml +2 -2
- package/.agents/ui_inventory/SKILL.md +277 -50
- package/.agents/ui_inventory/agents/claude.json +2 -2
- package/.agents/ui_inventory/agents/copilot.json +2 -2
- package/.agents/ui_inventory/agents/gemini.json +2 -2
- package/.agents/ui_inventory/agents/openai.yaml +1 -1
- package/.agents/ui_inventory/agents/qwen.json +2 -2
- package/.agents/ui_inventory/agents/skill.yaml +2 -2
- package/.agents/ux_discovery/SKILL.md +214 -48
- package/.agents/ux_discovery/agents/claude.json +2 -2
- package/.agents/ux_discovery/agents/copilot.json +2 -2
- package/.agents/ux_discovery/agents/gemini.json +2 -2
- package/.agents/ux_discovery/agents/openai.yaml +1 -1
- package/.agents/ux_discovery/agents/qwen.json +2 -2
- package/.agents/ux_discovery/agents/skill.yaml +2 -2
- package/.agents/ux_spec/SKILL.md +282 -56
- package/.agents/ux_spec/agents/claude.json +2 -2
- package/.agents/ux_spec/agents/copilot.json +2 -2
- package/.agents/ux_spec/agents/gemini.json +2 -2
- package/.agents/ux_spec/agents/openai.yaml +1 -1
- package/.agents/ux_spec/agents/qwen.json +2 -2
- package/.agents/ux_spec/agents/skill.yaml +2 -2
- package/.agents/wix_iframe_sdk/SKILL.md +277 -48
- package/.agents/wix_iframe_sdk/agents/claude.json +2 -2
- package/.agents/wix_iframe_sdk/agents/copilot.json +2 -2
- package/.agents/wix_iframe_sdk/agents/gemini.json +2 -2
- package/.agents/wix_iframe_sdk/agents/openai.yaml +1 -1
- package/.agents/wix_iframe_sdk/agents/qwen.json +2 -2
- package/.agents/wix_iframe_sdk/agents/skill.yaml +2 -2
- package/.agents/wix_self_hosted_embedded_script/SKILL.md +605 -82
- package/.agents/wix_self_hosted_embedded_script/agents/claude.json +2 -2
- package/.agents/wix_self_hosted_embedded_script/agents/copilot.json +2 -2
- package/.agents/wix_self_hosted_embedded_script/agents/gemini.json +2 -2
- package/.agents/wix_self_hosted_embedded_script/agents/openai.yaml +1 -1
- package/.agents/wix_self_hosted_embedded_script/agents/qwen.json +2 -2
- package/.agents/wix_self_hosted_embedded_script/agents/skill.yaml +2 -2
- package/AGENTS.yaml +2 -0
- package/agents/conductor.md +50 -0
- package/agents/devops.md +31 -1
- package/agents/orchestrator.claude.json +2 -0
- package/agents/orchestrator.copilot.json +2 -0
- package/agents/orchestrator.gemini.json +2 -0
- package/agents/orchestrator.openai.yaml +2 -0
- package/agents/orchestrator.qwen.json +2 -0
- package/agents/reviewer.md +0 -1
- package/agents/senior_full_stack.md +1 -0
- package/agents/tester.md +1 -1
- package/agents/ux_ui_designer.md +2 -2
- package/locales/en/.agents/a11y_baseline/SKILL.md +260 -41
- package/locales/en/.agents/a11y_baseline/agents/claude.json +3 -2
- package/locales/en/.agents/a11y_baseline/agents/copilot.json +3 -2
- package/locales/en/.agents/a11y_baseline/agents/gemini.json +3 -2
- package/locales/en/.agents/a11y_baseline/agents/openai.yaml +1 -1
- package/locales/en/.agents/a11y_baseline/agents/qwen.json +3 -2
- package/locales/en/.agents/a11y_baseline/agents/skill.yaml +2 -1
- package/locales/en/.agents/adr_log/SKILL.md +330 -30
- package/locales/en/.agents/adr_log/agents/claude.json +5 -5
- package/locales/en/.agents/adr_log/agents/copilot.json +5 -5
- package/locales/en/.agents/adr_log/agents/gemini.json +5 -5
- package/locales/en/.agents/adr_log/agents/openai.yaml +3 -3
- package/locales/en/.agents/adr_log/agents/qwen.json +5 -5
- package/locales/en/.agents/adr_log/agents/skill.yaml +5 -5
- package/locales/en/.agents/api_contract_compliance_review/SKILL.md +218 -12
- package/locales/en/.agents/api_contract_compliance_review/agents/claude.json +2 -2
- package/locales/en/.agents/api_contract_compliance_review/agents/copilot.json +2 -2
- package/locales/en/.agents/api_contract_compliance_review/agents/gemini.json +2 -2
- package/locales/en/.agents/api_contract_compliance_review/agents/openai.yaml +1 -1
- package/locales/en/.agents/api_contract_compliance_review/agents/qwen.json +2 -2
- package/locales/en/.agents/api_contract_compliance_review/agents/skill.yaml +2 -2
- package/locales/en/.agents/api_contracts/SKILL.md +323 -36
- package/locales/en/.agents/api_contracts/agents/claude.json +2 -2
- package/locales/en/.agents/api_contracts/agents/copilot.json +2 -2
- package/locales/en/.agents/api_contracts/agents/gemini.json +2 -2
- package/locales/en/.agents/api_contracts/agents/openai.yaml +1 -1
- package/locales/en/.agents/api_contracts/agents/qwen.json +2 -2
- package/locales/en/.agents/api_contracts/agents/skill.yaml +2 -2
- package/locales/en/.agents/architecture_compliance_review/SKILL.md +206 -10
- package/locales/en/.agents/architecture_compliance_review/agents/claude.json +5 -4
- package/locales/en/.agents/architecture_compliance_review/agents/copilot.json +5 -4
- package/locales/en/.agents/architecture_compliance_review/agents/gemini.json +5 -4
- package/locales/en/.agents/architecture_compliance_review/agents/openai.yaml +3 -3
- package/locales/en/.agents/architecture_compliance_review/agents/qwen.json +5 -4
- package/locales/en/.agents/architecture_compliance_review/agents/skill.yaml +5 -4
- package/locales/en/.agents/architecture_doc/SKILL.md +374 -82
- package/locales/en/.agents/architecture_doc/agents/claude.json +2 -2
- package/locales/en/.agents/architecture_doc/agents/copilot.json +2 -2
- package/locales/en/.agents/architecture_doc/agents/gemini.json +2 -2
- package/locales/en/.agents/architecture_doc/agents/openai.yaml +1 -1
- package/locales/en/.agents/architecture_doc/agents/qwen.json +2 -2
- package/locales/en/.agents/architecture_doc/agents/skill.yaml +2 -2
- package/locales/en/.agents/board/SKILL.md +232 -43
- package/locales/en/.agents/board/agents/claude.json +2 -2
- package/locales/en/.agents/board/agents/copilot.json +2 -2
- package/locales/en/.agents/board/agents/gemini.json +2 -2
- package/locales/en/.agents/board/agents/openai.yaml +1 -1
- package/locales/en/.agents/board/agents/qwen.json +2 -2
- package/locales/en/.agents/board/agents/skill.yaml +2 -2
- package/locales/en/.agents/cloud_infrastructure_security/SKILL.md +277 -68
- package/locales/en/.agents/cloud_infrastructure_security/agents/claude.json +5 -4
- package/locales/en/.agents/cloud_infrastructure_security/agents/copilot.json +5 -4
- package/locales/en/.agents/cloud_infrastructure_security/agents/gemini.json +5 -4
- package/locales/en/.agents/cloud_infrastructure_security/agents/openai.yaml +3 -3
- package/locales/en/.agents/cloud_infrastructure_security/agents/qwen.json +5 -4
- package/locales/en/.agents/cloud_infrastructure_security/agents/skill.yaml +5 -4
- package/locales/en/.agents/code_review_checklist/SKILL.md +194 -41
- package/locales/en/.agents/code_review_checklist/agents/claude.json +2 -2
- package/locales/en/.agents/code_review_checklist/agents/copilot.json +2 -2
- package/locales/en/.agents/code_review_checklist/agents/gemini.json +2 -2
- package/locales/en/.agents/code_review_checklist/agents/openai.yaml +1 -1
- package/locales/en/.agents/code_review_checklist/agents/qwen.json +2 -2
- package/locales/en/.agents/code_review_checklist/agents/skill.yaml +2 -2
- package/locales/en/.agents/current_state_analysis/SKILL.md +225 -44
- package/locales/en/.agents/current_state_analysis/agents/claude.json +5 -4
- package/locales/en/.agents/current_state_analysis/agents/copilot.json +5 -4
- package/locales/en/.agents/current_state_analysis/agents/gemini.json +5 -4
- package/locales/en/.agents/current_state_analysis/agents/openai.yaml +3 -3
- package/locales/en/.agents/current_state_analysis/agents/qwen.json +5 -4
- package/locales/en/.agents/current_state_analysis/agents/skill.yaml +5 -4
- package/locales/en/.agents/data_model/SKILL.md +277 -32
- package/locales/en/.agents/data_model/agents/claude.json +2 -2
- package/locales/en/.agents/data_model/agents/copilot.json +2 -2
- package/locales/en/.agents/data_model/agents/gemini.json +2 -2
- package/locales/en/.agents/data_model/agents/openai.yaml +1 -1
- package/locales/en/.agents/data_model/agents/qwen.json +2 -2
- package/locales/en/.agents/data_model/agents/skill.yaml +2 -2
- package/locales/en/.agents/dependency_supply_chain_review/SKILL.md +291 -11
- package/locales/en/.agents/dependency_supply_chain_review/agents/claude.json +5 -4
- package/locales/en/.agents/dependency_supply_chain_review/agents/copilot.json +5 -4
- package/locales/en/.agents/dependency_supply_chain_review/agents/gemini.json +5 -4
- package/locales/en/.agents/dependency_supply_chain_review/agents/openai.yaml +3 -3
- package/locales/en/.agents/dependency_supply_chain_review/agents/qwen.json +5 -4
- package/locales/en/.agents/dependency_supply_chain_review/agents/skill.yaml +5 -4
- package/locales/en/.agents/deployment_ci_plan/SKILL.md +404 -45
- package/locales/en/.agents/deployment_ci_plan/agents/claude.json +2 -2
- package/locales/en/.agents/deployment_ci_plan/agents/copilot.json +2 -2
- package/locales/en/.agents/deployment_ci_plan/agents/gemini.json +2 -2
- package/locales/en/.agents/deployment_ci_plan/agents/openai.yaml +1 -1
- package/locales/en/.agents/deployment_ci_plan/agents/qwen.json +2 -2
- package/locales/en/.agents/deployment_ci_plan/agents/skill.yaml +2 -2
- package/locales/en/.agents/design_intake/SKILL.md +224 -68
- package/locales/en/.agents/design_intake/agents/claude.json +4 -5
- package/locales/en/.agents/design_intake/agents/copilot.json +4 -5
- package/locales/en/.agents/design_intake/agents/gemini.json +4 -5
- package/locales/en/.agents/design_intake/agents/openai.yaml +3 -3
- package/locales/en/.agents/design_intake/agents/qwen.json +4 -5
- package/locales/en/.agents/design_intake/agents/skill.yaml +4 -5
- package/locales/en/.agents/design_parity_review/SKILL.md +216 -60
- package/locales/en/.agents/design_parity_review/agents/claude.json +2 -3
- package/locales/en/.agents/design_parity_review/agents/copilot.json +2 -3
- package/locales/en/.agents/design_parity_review/agents/gemini.json +2 -3
- package/locales/en/.agents/design_parity_review/agents/openai.yaml +2 -2
- package/locales/en/.agents/design_parity_review/agents/qwen.json +2 -3
- package/locales/en/.agents/design_parity_review/agents/skill.yaml +2 -3
- package/locales/en/.agents/design_systems/SKILL.md +432 -15
- package/locales/en/.agents/design_systems/agents/claude.json +2 -2
- package/locales/en/.agents/design_systems/agents/copilot.json +2 -2
- package/locales/en/.agents/design_systems/agents/gemini.json +2 -2
- package/locales/en/.agents/design_systems/agents/openai.yaml +1 -1
- package/locales/en/.agents/design_systems/agents/qwen.json +2 -2
- package/locales/en/.agents/design_systems/agents/skill.yaml +2 -2
- package/locales/en/.agents/dev_reference_snippets/SKILL.md +585 -397
- package/locales/en/.agents/dev_reference_snippets/agents/claude.json +2 -2
- package/locales/en/.agents/dev_reference_snippets/agents/copilot.json +2 -2
- package/locales/en/.agents/dev_reference_snippets/agents/gemini.json +2 -2
- package/locales/en/.agents/dev_reference_snippets/agents/openai.yaml +1 -1
- package/locales/en/.agents/dev_reference_snippets/agents/qwen.json +2 -2
- package/locales/en/.agents/dev_reference_snippets/agents/skill.yaml +2 -2
- package/locales/en/.agents/docker_kubernetes_architecture/SKILL.md +473 -137
- package/locales/en/.agents/docker_kubernetes_architecture/agents/claude.json +5 -4
- package/locales/en/.agents/docker_kubernetes_architecture/agents/copilot.json +5 -4
- package/locales/en/.agents/docker_kubernetes_architecture/agents/gemini.json +5 -4
- package/locales/en/.agents/docker_kubernetes_architecture/agents/openai.yaml +3 -3
- package/locales/en/.agents/docker_kubernetes_architecture/agents/qwen.json +5 -4
- package/locales/en/.agents/docker_kubernetes_architecture/agents/skill.yaml +5 -4
- package/locales/en/.agents/es2025_beast_practices/SKILL.md +440 -15
- package/locales/en/.agents/es2025_beast_practices/agents/claude.json +4 -4
- package/locales/en/.agents/es2025_beast_practices/agents/copilot.json +4 -4
- package/locales/en/.agents/es2025_beast_practices/agents/gemini.json +4 -4
- package/locales/en/.agents/es2025_beast_practices/agents/openai.yaml +3 -3
- package/locales/en/.agents/es2025_beast_practices/agents/qwen.json +4 -4
- package/locales/en/.agents/es2025_beast_practices/agents/skill.yaml +4 -4
- package/locales/en/.agents/gates/SKILL.md +128 -29
- package/locales/en/.agents/gates/agents/claude.json +2 -2
- package/locales/en/.agents/gates/agents/copilot.json +2 -2
- package/locales/en/.agents/gates/agents/gemini.json +2 -2
- package/locales/en/.agents/gates/agents/openai.yaml +1 -1
- package/locales/en/.agents/gates/agents/qwen.json +2 -2
- package/locales/en/.agents/gates/agents/skill.yaml +2 -2
- package/locales/en/.agents/go_beast_practices/SKILL.md +557 -23
- package/locales/en/.agents/go_beast_practices/agents/claude.json +5 -4
- package/locales/en/.agents/go_beast_practices/agents/copilot.json +5 -4
- package/locales/en/.agents/go_beast_practices/agents/gemini.json +5 -4
- package/locales/en/.agents/go_beast_practices/agents/openai.yaml +3 -3
- package/locales/en/.agents/go_beast_practices/agents/qwen.json +5 -4
- package/locales/en/.agents/go_beast_practices/agents/skill.yaml +5 -4
- package/locales/en/.agents/google_stitch_skill/SKILL.md +508 -70
- package/locales/en/.agents/google_stitch_skill/agents/claude.json +7 -6
- package/locales/en/.agents/google_stitch_skill/agents/copilot.json +7 -6
- package/locales/en/.agents/google_stitch_skill/agents/gemini.json +7 -6
- package/locales/en/.agents/google_stitch_skill/agents/openai.yaml +3 -1
- package/locales/en/.agents/google_stitch_skill/agents/qwen.json +7 -6
- package/locales/en/.agents/google_stitch_skill/agents/skill.yaml +5 -3
- package/locales/en/.agents/handoff/SKILL.md +206 -46
- package/locales/en/.agents/handoff/agents/claude.json +5 -5
- package/locales/en/.agents/handoff/agents/copilot.json +5 -5
- package/locales/en/.agents/handoff/agents/gemini.json +5 -5
- package/locales/en/.agents/handoff/agents/openai.yaml +3 -3
- package/locales/en/.agents/handoff/agents/qwen.json +5 -5
- package/locales/en/.agents/handoff/agents/skill.yaml +5 -5
- package/locales/en/.agents/k8s_manifests_conventions/SKILL.md +540 -167
- package/locales/en/.agents/k8s_manifests_conventions/agents/claude.json +2 -2
- package/locales/en/.agents/k8s_manifests_conventions/agents/copilot.json +2 -2
- package/locales/en/.agents/k8s_manifests_conventions/agents/gemini.json +2 -2
- package/locales/en/.agents/k8s_manifests_conventions/agents/openai.yaml +1 -1
- package/locales/en/.agents/k8s_manifests_conventions/agents/qwen.json +2 -2
- package/locales/en/.agents/k8s_manifests_conventions/agents/skill.yaml +2 -2
- package/locales/en/.agents/memory/SKILL.md +211 -21
- package/locales/en/.agents/memory/agents/claude.json +5 -4
- package/locales/en/.agents/memory/agents/copilot.json +5 -4
- package/locales/en/.agents/memory/agents/gemini.json +5 -4
- package/locales/en/.agents/memory/agents/openai.yaml +3 -3
- package/locales/en/.agents/memory/agents/qwen.json +5 -4
- package/locales/en/.agents/memory/agents/skill.yaml +5 -4
- package/locales/en/.agents/mongodb_mongoose_best_practices/SKILL.md +669 -178
- package/locales/en/.agents/mongodb_mongoose_best_practices/agents/claude.json +4 -5
- package/locales/en/.agents/mongodb_mongoose_best_practices/agents/copilot.json +4 -5
- package/locales/en/.agents/mongodb_mongoose_best_practices/agents/gemini.json +4 -5
- package/locales/en/.agents/mongodb_mongoose_best_practices/agents/openai.yaml +3 -3
- package/locales/en/.agents/mongodb_mongoose_best_practices/agents/qwen.json +4 -5
- package/locales/en/.agents/mongodb_mongoose_best_practices/agents/skill.yaml +4 -5
- package/locales/en/.agents/n8n_pinecone_qdrant_supabase/SKILL.md +669 -57
- package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/claude.json +5 -5
- package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/copilot.json +5 -5
- package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/gemini.json +5 -5
- package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/openai.yaml +3 -3
- package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/qwen.json +5 -5
- package/locales/en/.agents/n8n_pinecone_qdrant_supabase/agents/skill.yaml +5 -5
- package/locales/en/.agents/node_express_beast_practices/SKILL.md +718 -19
- package/locales/en/.agents/node_express_beast_practices/agents/claude.json +1 -1
- package/locales/en/.agents/node_express_beast_practices/agents/copilot.json +1 -1
- package/locales/en/.agents/node_express_beast_practices/agents/gemini.json +1 -1
- package/locales/en/.agents/node_express_beast_practices/agents/openai.yaml +1 -1
- package/locales/en/.agents/node_express_beast_practices/agents/qwen.json +1 -1
- package/locales/en/.agents/node_express_beast_practices/agents/skill.yaml +1 -1
- package/locales/en/.agents/observability_logging/SKILL.md +499 -16
- package/locales/en/.agents/observability_logging/agents/claude.json +4 -4
- package/locales/en/.agents/observability_logging/agents/copilot.json +4 -4
- package/locales/en/.agents/observability_logging/agents/gemini.json +4 -4
- package/locales/en/.agents/observability_logging/agents/openai.yaml +3 -3
- package/locales/en/.agents/observability_logging/agents/qwen.json +4 -4
- package/locales/en/.agents/observability_logging/agents/skill.yaml +4 -4
- package/locales/en/.agents/observability_plan/SKILL.md +273 -32
- package/locales/en/.agents/observability_plan/agents/claude.json +6 -4
- package/locales/en/.agents/observability_plan/agents/copilot.json +6 -4
- package/locales/en/.agents/observability_plan/agents/gemini.json +6 -4
- package/locales/en/.agents/observability_plan/agents/openai.yaml +3 -3
- package/locales/en/.agents/observability_plan/agents/qwen.json +6 -4
- package/locales/en/.agents/observability_plan/agents/skill.yaml +5 -3
- package/locales/en/.agents/observability_review/SKILL.md +245 -11
- package/locales/en/.agents/observability_review/agents/claude.json +6 -4
- package/locales/en/.agents/observability_review/agents/copilot.json +6 -4
- package/locales/en/.agents/observability_review/agents/gemini.json +6 -4
- package/locales/en/.agents/observability_review/agents/openai.yaml +3 -3
- package/locales/en/.agents/observability_review/agents/qwen.json +6 -4
- package/locales/en/.agents/observability_review/agents/skill.yaml +5 -3
- package/locales/en/.agents/performance_review_baseline/SKILL.md +232 -10
- package/locales/en/.agents/performance_review_baseline/agents/claude.json +5 -4
- package/locales/en/.agents/performance_review_baseline/agents/copilot.json +5 -4
- package/locales/en/.agents/performance_review_baseline/agents/gemini.json +5 -4
- package/locales/en/.agents/performance_review_baseline/agents/openai.yaml +3 -3
- package/locales/en/.agents/performance_review_baseline/agents/qwen.json +5 -4
- package/locales/en/.agents/performance_review_baseline/agents/skill.yaml +5 -4
- package/locales/en/.agents/pm_backlog/SKILL.md +239 -21
- package/locales/en/.agents/pm_backlog/agents/claude.json +2 -2
- package/locales/en/.agents/pm_backlog/agents/copilot.json +2 -2
- package/locales/en/.agents/pm_backlog/agents/gemini.json +2 -2
- package/locales/en/.agents/pm_backlog/agents/openai.yaml +1 -1
- package/locales/en/.agents/pm_backlog/agents/qwen.json +2 -2
- package/locales/en/.agents/pm_backlog/agents/skill.yaml +2 -2
- package/locales/en/.agents/pm_interview/SKILL.md +178 -37
- package/locales/en/.agents/pm_interview/agents/claude.json +5 -4
- package/locales/en/.agents/pm_interview/agents/copilot.json +5 -4
- package/locales/en/.agents/pm_interview/agents/gemini.json +5 -4
- package/locales/en/.agents/pm_interview/agents/openai.yaml +3 -3
- package/locales/en/.agents/pm_interview/agents/qwen.json +5 -4
- package/locales/en/.agents/pm_interview/agents/skill.yaml +5 -4
- package/locales/en/.agents/pm_prd/SKILL.md +197 -38
- package/locales/en/.agents/pm_prd/agents/claude.json +2 -2
- package/locales/en/.agents/pm_prd/agents/copilot.json +2 -2
- package/locales/en/.agents/pm_prd/agents/gemini.json +2 -2
- package/locales/en/.agents/pm_prd/agents/openai.yaml +1 -1
- package/locales/en/.agents/pm_prd/agents/qwen.json +2 -2
- package/locales/en/.agents/pm_prd/agents/skill.yaml +2 -2
- package/locales/en/.agents/qa_api_contract_tests/SKILL.md +207 -16
- package/locales/en/.agents/qa_api_contract_tests/agents/claude.json +2 -2
- package/locales/en/.agents/qa_api_contract_tests/agents/copilot.json +2 -2
- package/locales/en/.agents/qa_api_contract_tests/agents/gemini.json +2 -2
- package/locales/en/.agents/qa_api_contract_tests/agents/openai.yaml +1 -1
- package/locales/en/.agents/qa_api_contract_tests/agents/qwen.json +2 -2
- package/locales/en/.agents/qa_api_contract_tests/agents/skill.yaml +2 -2
- package/locales/en/.agents/qa_browser_testing/SKILL.md +254 -86
- package/locales/en/.agents/qa_e2e_playwright/SKILL.md +313 -116
- package/locales/en/.agents/qa_manual_run/SKILL.md +202 -9
- package/locales/en/.agents/qa_manual_run/agents/claude.json +2 -2
- package/locales/en/.agents/qa_manual_run/agents/copilot.json +2 -2
- package/locales/en/.agents/qa_manual_run/agents/gemini.json +2 -2
- package/locales/en/.agents/qa_manual_run/agents/openai.yaml +1 -1
- package/locales/en/.agents/qa_manual_run/agents/qwen.json +2 -2
- package/locales/en/.agents/qa_manual_run/agents/skill.yaml +2 -2
- package/locales/en/.agents/qa_regression_baseline/SKILL.md +217 -0
- package/locales/en/.agents/qa_regression_baseline/agents/claude.json +19 -0
- package/locales/en/.agents/qa_regression_baseline/agents/copilot.json +19 -0
- package/locales/en/.agents/qa_regression_baseline/agents/gemini.json +19 -0
- package/locales/en/.agents/qa_regression_baseline/agents/openai.yaml +8 -0
- package/locales/en/.agents/qa_regression_baseline/agents/qwen.json +19 -0
- package/locales/en/.agents/qa_regression_baseline/agents/skill.yaml +23 -0
- package/locales/en/.agents/qa_security_smoke_tests/SKILL.md +182 -8
- package/locales/en/.agents/qa_security_smoke_tests/agents/claude.json +2 -2
- package/locales/en/.agents/qa_security_smoke_tests/agents/copilot.json +2 -2
- package/locales/en/.agents/qa_security_smoke_tests/agents/gemini.json +2 -2
- package/locales/en/.agents/qa_security_smoke_tests/agents/openai.yaml +1 -1
- package/locales/en/.agents/qa_security_smoke_tests/agents/qwen.json +2 -2
- package/locales/en/.agents/qa_security_smoke_tests/agents/skill.yaml +2 -2
- package/locales/en/.agents/qa_test_plan/SKILL.md +197 -14
- package/locales/en/.agents/qa_test_plan/agents/claude.json +2 -2
- package/locales/en/.agents/qa_test_plan/agents/copilot.json +2 -2
- package/locales/en/.agents/qa_test_plan/agents/gemini.json +2 -2
- package/locales/en/.agents/qa_test_plan/agents/openai.yaml +1 -1
- package/locales/en/.agents/qa_test_plan/agents/qwen.json +2 -2
- package/locales/en/.agents/qa_test_plan/agents/skill.yaml +2 -2
- package/locales/en/.agents/qa_ui_a11y_smoke/SKILL.md +224 -6
- package/locales/en/.agents/qa_ui_a11y_smoke/agents/claude.json +5 -4
- package/locales/en/.agents/qa_ui_a11y_smoke/agents/copilot.json +5 -4
- package/locales/en/.agents/qa_ui_a11y_smoke/agents/gemini.json +5 -4
- package/locales/en/.agents/qa_ui_a11y_smoke/agents/openai.yaml +3 -3
- package/locales/en/.agents/qa_ui_a11y_smoke/agents/qwen.json +5 -4
- package/locales/en/.agents/qa_ui_a11y_smoke/agents/skill.yaml +5 -4
- package/locales/en/.agents/react_15_3_wix_iframe/SKILL.md +419 -20
- package/locales/en/.agents/react_15_3_wix_iframe/agents/claude.json +2 -2
- package/locales/en/.agents/react_15_3_wix_iframe/agents/copilot.json +2 -2
- package/locales/en/.agents/react_15_3_wix_iframe/agents/gemini.json +2 -2
- package/locales/en/.agents/react_15_3_wix_iframe/agents/openai.yaml +1 -1
- package/locales/en/.agents/react_15_3_wix_iframe/agents/qwen.json +2 -2
- package/locales/en/.agents/react_15_3_wix_iframe/agents/skill.yaml +2 -2
- package/locales/en/.agents/react_beast_practices/SKILL.md +285 -18
- package/locales/en/.agents/react_beast_practices/agents/claude.json +4 -4
- package/locales/en/.agents/react_beast_practices/agents/copilot.json +4 -4
- package/locales/en/.agents/react_beast_practices/agents/gemini.json +4 -4
- package/locales/en/.agents/react_beast_practices/agents/openai.yaml +3 -3
- package/locales/en/.agents/react_beast_practices/agents/qwen.json +4 -4
- package/locales/en/.agents/react_beast_practices/agents/skill.yaml +4 -4
- package/locales/en/.agents/release_gate/SKILL.md +205 -69
- package/locales/en/.agents/release_gate/agents/claude.json +5 -4
- package/locales/en/.agents/release_gate/agents/copilot.json +5 -4
- package/locales/en/.agents/release_gate/agents/gemini.json +5 -4
- package/locales/en/.agents/release_gate/agents/openai.yaml +3 -3
- package/locales/en/.agents/release_gate/agents/qwen.json +5 -4
- package/locales/en/.agents/release_gate/agents/skill.yaml +5 -4
- package/locales/en/.agents/release_gate_checklist_template/SKILL.md +175 -61
- package/locales/en/.agents/review_reference_snippets/SKILL.md +163 -46
- package/locales/en/.agents/security_baseline_dev/SKILL.md +496 -16
- package/locales/en/.agents/security_baseline_dev/agents/claude.json +2 -2
- package/locales/en/.agents/security_baseline_dev/agents/copilot.json +2 -2
- package/locales/en/.agents/security_baseline_dev/agents/gemini.json +2 -2
- package/locales/en/.agents/security_baseline_dev/agents/openai.yaml +1 -1
- package/locales/en/.agents/security_baseline_dev/agents/qwen.json +2 -2
- package/locales/en/.agents/security_baseline_dev/agents/skill.yaml +2 -2
- package/locales/en/.agents/security_review/SKILL.md +277 -55
- package/locales/en/.agents/security_review_baseline/SKILL.md +111 -17
- package/locales/en/.agents/security_review_baseline/agents/claude.json +2 -2
- package/locales/en/.agents/security_review_baseline/agents/copilot.json +2 -2
- package/locales/en/.agents/security_review_baseline/agents/gemini.json +2 -2
- package/locales/en/.agents/security_review_baseline/agents/openai.yaml +1 -1
- package/locales/en/.agents/security_review_baseline/agents/qwen.json +2 -2
- package/locales/en/.agents/security_review_baseline/agents/skill.yaml +2 -2
- package/locales/en/.agents/state_rtk_beast_practices/SKILL.md +735 -15
- package/locales/en/.agents/state_rtk_beast_practices/agents/claude.json +2 -2
- package/locales/en/.agents/state_rtk_beast_practices/agents/copilot.json +2 -2
- package/locales/en/.agents/state_rtk_beast_practices/agents/gemini.json +2 -2
- package/locales/en/.agents/state_rtk_beast_practices/agents/openai.yaml +1 -1
- package/locales/en/.agents/state_rtk_beast_practices/agents/qwen.json +2 -2
- package/locales/en/.agents/state_rtk_beast_practices/agents/skill.yaml +2 -2
- package/locales/en/.agents/state_zustand_beast_practices/SKILL.md +808 -11
- package/locales/en/.agents/state_zustand_beast_practices/agents/claude.json +2 -2
- package/locales/en/.agents/state_zustand_beast_practices/agents/copilot.json +2 -2
- package/locales/en/.agents/state_zustand_beast_practices/agents/gemini.json +2 -2
- package/locales/en/.agents/state_zustand_beast_practices/agents/openai.yaml +1 -1
- package/locales/en/.agents/state_zustand_beast_practices/agents/qwen.json +2 -2
- package/locales/en/.agents/state_zustand_beast_practices/agents/skill.yaml +2 -2
- package/locales/en/.agents/styling_css_stack/SKILL.md +558 -12
- package/locales/en/.agents/styling_css_stack/agents/claude.json +5 -5
- package/locales/en/.agents/styling_css_stack/agents/copilot.json +5 -5
- package/locales/en/.agents/styling_css_stack/agents/gemini.json +5 -5
- package/locales/en/.agents/styling_css_stack/agents/openai.yaml +3 -3
- package/locales/en/.agents/styling_css_stack/agents/qwen.json +5 -5
- package/locales/en/.agents/styling_css_stack/agents/skill.yaml +5 -5
- package/locales/en/.agents/system_design_checklist/SKILL.md +199 -40
- package/locales/en/.agents/system_design_checklist/agents/claude.json +3 -2
- package/locales/en/.agents/system_design_checklist/agents/copilot.json +3 -2
- package/locales/en/.agents/system_design_checklist/agents/gemini.json +3 -2
- package/locales/en/.agents/system_design_checklist/agents/openai.yaml +1 -1
- package/locales/en/.agents/system_design_checklist/agents/qwen.json +3 -2
- package/locales/en/.agents/system_design_checklist/agents/skill.yaml +2 -1
- package/locales/en/.agents/tailwind_beast_practices/SKILL.md +512 -0
- package/locales/en/.agents/tailwind_beast_practices/agents/claude.json +18 -0
- package/locales/en/.agents/tailwind_beast_practices/agents/copilot.json +18 -0
- package/locales/en/.agents/tailwind_beast_practices/agents/gemini.json +18 -0
- package/locales/en/.agents/tailwind_beast_practices/agents/openai.yaml +8 -0
- package/locales/en/.agents/tailwind_beast_practices/agents/qwen.json +18 -0
- package/locales/en/.agents/tailwind_beast_practices/agents/skill.yaml +22 -0
- package/locales/en/.agents/tanstack_beast_practices/SKILL.md +473 -19
- package/locales/en/.agents/tanstack_beast_practices/agents/claude.json +2 -2
- package/locales/en/.agents/tanstack_beast_practices/agents/copilot.json +2 -2
- package/locales/en/.agents/tanstack_beast_practices/agents/gemini.json +2 -2
- package/locales/en/.agents/tanstack_beast_practices/agents/openai.yaml +1 -1
- package/locales/en/.agents/tanstack_beast_practices/agents/qwen.json +2 -2
- package/locales/en/.agents/tanstack_beast_practices/agents/skill.yaml +2 -2
- package/locales/en/.agents/tdd_workflow/SKILL.md +453 -34
- package/locales/en/.agents/tdd_workflow/agents/claude.json +2 -2
- package/locales/en/.agents/tdd_workflow/agents/copilot.json +2 -2
- package/locales/en/.agents/tdd_workflow/agents/gemini.json +2 -2
- package/locales/en/.agents/tdd_workflow/agents/openai.yaml +1 -1
- package/locales/en/.agents/tdd_workflow/agents/qwen.json +2 -2
- package/locales/en/.agents/tdd_workflow/agents/skill.yaml +2 -2
- package/locales/en/.agents/testing_strategy_js/SKILL.md +636 -30
- package/locales/en/.agents/testing_strategy_js/agents/claude.json +2 -2
- package/locales/en/.agents/testing_strategy_js/agents/copilot.json +2 -2
- package/locales/en/.agents/testing_strategy_js/agents/gemini.json +2 -2
- package/locales/en/.agents/testing_strategy_js/agents/openai.yaml +1 -1
- package/locales/en/.agents/testing_strategy_js/agents/qwen.json +2 -2
- package/locales/en/.agents/testing_strategy_js/agents/skill.yaml +2 -2
- package/locales/en/.agents/tests_quality_review/SKILL.md +279 -18
- package/locales/en/.agents/tests_quality_review/agents/claude.json +2 -2
- package/locales/en/.agents/tests_quality_review/agents/copilot.json +2 -2
- package/locales/en/.agents/tests_quality_review/agents/gemini.json +2 -2
- package/locales/en/.agents/tests_quality_review/agents/openai.yaml +1 -1
- package/locales/en/.agents/tests_quality_review/agents/qwen.json +2 -2
- package/locales/en/.agents/tests_quality_review/agents/skill.yaml +2 -2
- package/locales/en/.agents/threat_model_baseline/SKILL.md +202 -49
- package/locales/en/.agents/threat_model_baseline/agents/claude.json +2 -2
- package/locales/en/.agents/threat_model_baseline/agents/copilot.json +2 -2
- package/locales/en/.agents/threat_model_baseline/agents/gemini.json +2 -2
- package/locales/en/.agents/threat_model_baseline/agents/openai.yaml +1 -1
- package/locales/en/.agents/threat_model_baseline/agents/qwen.json +2 -2
- package/locales/en/.agents/threat_model_baseline/agents/skill.yaml +2 -2
- package/locales/en/.agents/tooling_bun_biome/SKILL.md +531 -9
- package/locales/en/.agents/tooling_bun_biome/agents/claude.json +5 -5
- package/locales/en/.agents/tooling_bun_biome/agents/copilot.json +5 -5
- package/locales/en/.agents/tooling_bun_biome/agents/gemini.json +5 -5
- package/locales/en/.agents/tooling_bun_biome/agents/openai.yaml +3 -3
- package/locales/en/.agents/tooling_bun_biome/agents/qwen.json +5 -5
- package/locales/en/.agents/tooling_bun_biome/agents/skill.yaml +5 -5
- package/locales/en/.agents/typescript_beast_practices/SKILL.md +434 -15
- package/locales/en/.agents/typescript_beast_practices/agents/claude.json +2 -2
- package/locales/en/.agents/typescript_beast_practices/agents/copilot.json +2 -2
- package/locales/en/.agents/typescript_beast_practices/agents/gemini.json +2 -2
- package/locales/en/.agents/typescript_beast_practices/agents/openai.yaml +1 -1
- package/locales/en/.agents/typescript_beast_practices/agents/qwen.json +2 -2
- package/locales/en/.agents/typescript_beast_practices/agents/skill.yaml +2 -2
- package/locales/en/.agents/ui_a11y_smoke_review/SKILL.md +189 -9
- package/locales/en/.agents/ui_a11y_smoke_review/agents/claude.json +5 -5
- package/locales/en/.agents/ui_a11y_smoke_review/agents/copilot.json +5 -5
- package/locales/en/.agents/ui_a11y_smoke_review/agents/gemini.json +5 -5
- package/locales/en/.agents/ui_a11y_smoke_review/agents/openai.yaml +3 -3
- package/locales/en/.agents/ui_a11y_smoke_review/agents/qwen.json +5 -5
- package/locales/en/.agents/ui_a11y_smoke_review/agents/skill.yaml +5 -5
- package/locales/en/.agents/ui_inventory/SKILL.md +271 -44
- package/locales/en/.agents/ui_inventory/agents/claude.json +2 -2
- package/locales/en/.agents/ui_inventory/agents/copilot.json +2 -2
- package/locales/en/.agents/ui_inventory/agents/gemini.json +2 -2
- package/locales/en/.agents/ui_inventory/agents/openai.yaml +1 -1
- package/locales/en/.agents/ui_inventory/agents/qwen.json +2 -2
- package/locales/en/.agents/ui_inventory/agents/skill.yaml +2 -2
- package/locales/en/.agents/ux_discovery/SKILL.md +199 -33
- package/locales/en/.agents/ux_discovery/agents/claude.json +2 -2
- package/locales/en/.agents/ux_discovery/agents/copilot.json +2 -2
- package/locales/en/.agents/ux_discovery/agents/gemini.json +2 -2
- package/locales/en/.agents/ux_discovery/agents/openai.yaml +1 -1
- package/locales/en/.agents/ux_discovery/agents/qwen.json +2 -2
- package/locales/en/.agents/ux_discovery/agents/skill.yaml +2 -2
- package/locales/en/.agents/ux_spec/SKILL.md +278 -51
- package/locales/en/.agents/ux_spec/agents/claude.json +2 -2
- package/locales/en/.agents/ux_spec/agents/copilot.json +2 -2
- package/locales/en/.agents/ux_spec/agents/gemini.json +2 -2
- package/locales/en/.agents/ux_spec/agents/openai.yaml +1 -1
- package/locales/en/.agents/ux_spec/agents/qwen.json +2 -2
- package/locales/en/.agents/ux_spec/agents/skill.yaml +2 -2
- package/locales/en/.agents/wix_iframe_sdk/SKILL.md +271 -42
- package/locales/en/.agents/wix_iframe_sdk/agents/claude.json +4 -5
- package/locales/en/.agents/wix_iframe_sdk/agents/copilot.json +4 -5
- package/locales/en/.agents/wix_iframe_sdk/agents/gemini.json +4 -5
- package/locales/en/.agents/wix_iframe_sdk/agents/openai.yaml +3 -3
- package/locales/en/.agents/wix_iframe_sdk/agents/qwen.json +4 -5
- package/locales/en/.agents/wix_iframe_sdk/agents/skill.yaml +4 -5
- package/locales/en/.agents/wix_self_hosted_embedded_script/SKILL.md +611 -88
- package/locales/en/.agents/wix_self_hosted_embedded_script/agents/claude.json +2 -2
- package/locales/en/.agents/wix_self_hosted_embedded_script/agents/copilot.json +2 -2
- package/locales/en/.agents/wix_self_hosted_embedded_script/agents/gemini.json +2 -2
- package/locales/en/.agents/wix_self_hosted_embedded_script/agents/openai.yaml +1 -1
- package/locales/en/.agents/wix_self_hosted_embedded_script/agents/qwen.json +2 -2
- package/locales/en/.agents/wix_self_hosted_embedded_script/agents/skill.yaml +2 -2
- package/locales/en/AGENTS.yaml +2 -0
- package/locales/en/agents/architect.md +1 -1
- package/locales/en/agents/conductor.md +50 -0
- package/locales/en/agents/devops.md +34 -0
- package/locales/en/agents/orchestrator.claude.json +2 -0
- package/locales/en/agents/orchestrator.copilot.json +2 -0
- package/locales/en/agents/orchestrator.gemini.json +2 -0
- package/locales/en/agents/orchestrator.openai.yaml +2 -0
- package/locales/en/agents/orchestrator.qwen.json +2 -0
- package/locales/en/agents/product_manager.md +1 -5
- package/locales/en/agents/reviewer.md +69 -64
- package/locales/en/agents/senior_full_stack.md +2 -2
- package/locales/en/agents/tester.md +50 -11
- package/locales/en/agents/ux_ui_designer.md +3 -5
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qa_manual_run",
|
|
3
3
|
"display_name": "QA Manual Run",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Manually run critical scenarios and regression ? happy/edge/error paths from the UX Spec; record bugs with steps and evidence.",
|
|
5
5
|
"default_prompt": "Use $qa_manual_run when the task matches the \"QA Manual Run\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"qa_manual_run",
|
|
8
8
|
"qa manual run",
|
|
9
|
-
"
|
|
9
|
+
"Manually run critical scenarios and regression ? happy/edge/error paths from the UX Spec"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"qa",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "QA Manual Run"
|
|
3
|
-
short_description: "
|
|
3
|
+
short_description: "Manually run critical scenarios and regression ? happy/edge/error paths from the UX Spec; recor…"
|
|
4
4
|
default_prompt: "Use $qa_manual_run when the task matches the \"QA Manual Run\" skill."
|
|
5
5
|
dependencies:
|
|
6
6
|
tools: []
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qa_manual_run",
|
|
3
3
|
"display_name": "QA Manual Run",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Manually run critical scenarios and regression ? happy/edge/error paths from the UX Spec; record bugs with steps and evidence.",
|
|
5
5
|
"default_prompt": "Use $qa_manual_run when the task matches the \"QA Manual Run\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"qa_manual_run",
|
|
8
8
|
"qa manual run",
|
|
9
|
-
"
|
|
9
|
+
"Manually run critical scenarios and regression ? happy/edge/error paths from the UX Spec"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"qa",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
version: 1
|
|
2
2
|
name: "qa_manual_run"
|
|
3
3
|
display_name: "QA Manual Run"
|
|
4
|
-
description: "
|
|
4
|
+
description: "Manually run critical scenarios and regression ? happy/edge/error paths from the UX Spec; record bugs with steps and evidence."
|
|
5
5
|
default_prompt: "Use $qa_manual_run when the task matches the \"QA Manual Run\" skill."
|
|
6
6
|
triggers:
|
|
7
7
|
- "qa_manual_run"
|
|
8
8
|
- "qa manual run"
|
|
9
|
-
- "
|
|
9
|
+
- "Manually run critical scenarios and regression ? happy/edge/error paths from the UX Spec"
|
|
10
10
|
capabilities:
|
|
11
11
|
- "qa"
|
|
12
12
|
- "manual"
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa_regression_baseline
|
|
3
|
+
description: >
|
|
4
|
+
Run regression tests against a saved baseline and report differences. Use this skill whenever
|
|
5
|
+
the user wants to: run regression tests, compare test results to a previous run, detect regressions
|
|
6
|
+
in code or software, update a baseline after verified changes, generate a diff report between
|
|
7
|
+
test runs, or check if recent changes broke anything. Trigger on phrases like "run regression",
|
|
8
|
+
"compare with baseline", "check regressions", "update baseline", "run regression", "compare with baseline",
|
|
9
|
+
"check for regressions", "regression report", "what broke", or any similar intent to test code
|
|
10
|
+
stability against a known-good reference point.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# QA Regression Baseline Skill
|
|
14
|
+
|
|
15
|
+
This skill helps run regression tests, save baseline results, and identify regressions by comparing the current run with the saved baseline.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Concept
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Baseline (reference) Current run
|
|
23
|
+
│ │
|
|
24
|
+
└──────── diff ──────────┘
|
|
25
|
+
│
|
|
26
|
+
Regressions / improvements / without changes
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
- **Baseline** — saved results previous «good» run
|
|
30
|
+
- **Regression** ? a test that passed earlier and now fails (or got worse)
|
|
31
|
+
- **Improvement** ? a test that failed earlier and now passes
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Workflow
|
|
36
|
+
|
|
37
|
+
### Step 1. Understand context
|
|
38
|
+
|
|
39
|
+
First clarify with the user (or from the conversation context):
|
|
40
|
+
|
|
41
|
+
1. **What are we testing?** ? project path, language/framework, team test startup
|
|
42
|
+
2. **Is there already a baseline?** ? if no, propose creating it
|
|
43
|
+
3. **Result format** ? JSON, JUnit XML, text logs, snapshots
|
|
44
|
+
4. **What to do with mismatches?** — only report / block / update baseline
|
|
45
|
+
|
|
46
|
+
If the user did not specify the format ? determine it yourself by file extension or structured logs.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### Step 2. Determine format baseline
|
|
51
|
+
|
|
52
|
+
Support form (read `references/formats.md` with need):
|
|
53
|
+
|
|
54
|
+
| Format | Typical files | Frameworks |
|
|
55
|
+
|--------|---------------|------------|
|
|
56
|
+
| JSON | `baseline.json`, `results.json` | Universal |
|
|
57
|
+
| JUnit XML | `*.xml` in `test-results/` | pytest, Jest, Maven |
|
|
58
|
+
| Snapshot | `__snapshots__/*.snap` | Jest, Vitest |
|
|
59
|
+
| Plain text | `*.log`, `*.txt` | Any |
|
|
60
|
+
| CSV | `results.csv` | Custom scripts |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
### Step 3. Run tests
|
|
65
|
+
|
|
66
|
+
If user asks run tests — use bash:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Python / pytest
|
|
70
|
+
pytest --tb=short -q 2>&1 | tee current_run.log
|
|
71
|
+
pytest --junit-xml=current_results.xml
|
|
72
|
+
|
|
73
|
+
# Node.js / Jest
|
|
74
|
+
npx jest --json --outputFile=current_results.json 2>&1
|
|
75
|
+
|
|
76
|
+
# Universal — run that, what specified user
|
|
77
|
+
<team from config or messages user>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Save output to `current_run_<timestamp>.log` or `current_results.json`.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### Step 4. Compare with baseline
|
|
85
|
+
|
|
86
|
+
Use script `scripts/compare.py` for compare. If baseline not exists — propose creating it it from current run.
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
python scripts/compare.py \
|
|
90
|
+
--baseline baseline/results.json \
|
|
91
|
+
--current current_results.json \
|
|
92
|
+
--format json \
|
|
93
|
+
--output report.md
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The script can work with JSON, JUnit XML, and plain-text logs.
|
|
97
|
+
|
|
98
|
+
**If baseline not exists:**
|
|
99
|
+
```bash
|
|
100
|
+
python scripts/compare.py --create-baseline \
|
|
101
|
+
--source current_results.json \
|
|
102
|
+
--output baseline/results.json
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### Step 5. Form report
|
|
108
|
+
|
|
109
|
+
Report must contain:
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
## Regression Report ? <date/time>
|
|
113
|
+
|
|
114
|
+
### Result
|
|
115
|
+
- ✅ Went: N
|
|
116
|
+
- ? Failed: N
|
|
117
|
+
- 🔴 Regressions (was OK → became FAIL): N
|
|
118
|
+
- 🟢 Fix (was FAIL → became OK): N
|
|
119
|
+
- ➖ Without changes: N
|
|
120
|
+
|
|
121
|
+
### 🔴 Regressions (critical!)
|
|
122
|
+
| Test | Status earlier | Status now | Details |
|
|
123
|
+
|------|--------------|--------------|--------|
|
|
124
|
+
| test_login | PASS | FAIL | AssertionError: ... |
|
|
125
|
+
|
|
126
|
+
### 🟢 Fix tests
|
|
127
|
+
| Test | Earlier | Now |
|
|
128
|
+
|------|--------|--------|
|
|
129
|
+
|
|
130
|
+
### ℹ️ New tests (not was in baseline)
|
|
131
|
+
| Test | Status |
|
|
132
|
+
|------|--------|
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### Step 6. Decide what to do with the baseline
|
|
138
|
+
|
|
139
|
+
After analysis propose to the user:
|
|
140
|
+
|
|
141
|
+
- **If there are no regressions** ? propose updating the baseline (`--update-baseline`)
|
|
142
|
+
- **If is regressions** → show detail diff, not update automatically
|
|
143
|
+
- **If the user confirmed the changes** ? update the baseline with a comment
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Update baseline (only after explicit confirmation user)
|
|
147
|
+
cp current_results.json baseline/results.json
|
|
148
|
+
echo "$(date): Updated baseline — <cause>" >> baseline/CHANGELOG.md
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## File structure of the project
|
|
154
|
+
|
|
155
|
+
Recommended structure for storing baselines in the project:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
project/
|
|
159
|
+
├── baseline/
|
|
160
|
+
│ ├── results.json # Reference results
|
|
161
|
+
│ ├── CHANGELOG.md # History update baseline
|
|
162
|
+
? ??? config.json # Configuration (what to compare, tolerances)
|
|
163
|
+
├── test-results/
|
|
164
|
+
│ └── current_run.json # Results last run
|
|
165
|
+
??? qa_config.yaml # Skill config (optional)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Config file (qa_config.yaml)
|
|
171
|
+
|
|
172
|
+
If the project contains `qa_config.yaml` ? read it first:
|
|
173
|
+
|
|
174
|
+
```yaml
|
|
175
|
+
test_command: "pytest --junit-xml=test-results/current.xml"
|
|
176
|
+
baseline_path: "baseline/results.json"
|
|
177
|
+
result_format: "junit_xml" # json | junit_xml | snapshot | text
|
|
178
|
+
on_regression: "report" # report | fail | notify
|
|
179
|
+
ignore_tests: # tests that are always unstable
|
|
180
|
+
- "test_flaky_network"
|
|
181
|
+
tolerance: # allowed deviation (for performance tests)
|
|
182
|
+
duration_ms: 200
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Special cases
|
|
188
|
+
|
|
189
|
+
### Unstable (flaky) tests
|
|
190
|
+
If a test fails irregularly ? add it to `ignore_tests` in the config or mark it in the report as "flaky, does not block".
|
|
191
|
+
|
|
192
|
+
### Performance regressions
|
|
193
|
+
If tests include time measurements ? compare with a tolerance. Read `references/performance.md` for details.
|
|
194
|
+
|
|
195
|
+
### Snapshot-tests (Jest/Vitest)
|
|
196
|
+
When updating snapshots use `jest --updateSnapshot` only after reviewing the diff. Never update automatically without confirmation.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Common commands user and what do
|
|
201
|
+
|
|
202
|
+
| Phrase | Action |
|
|
203
|
+
|-------|---------|
|
|
204
|
+
| "run regression" | Steps 3 → 4 → 5 |
|
|
205
|
+
| "create baseline" | Run tests, save how baseline |
|
|
206
|
+
| "update baseline" | Only after explicit confirmation, Step 6 |
|
|
207
|
+
| "show what broke" | Step 4 ? 5, focus on regressions |
|
|
208
|
+
| "compare runs" | Step 4 with two provided files |
|
|
209
|
+
| "is there regressions?" | Steps 3 → 4 → 5 |
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Links to additional materials
|
|
214
|
+
|
|
215
|
+
- `references/formats.md` — detail schemas form (JSON, JUnit XML, snapshot)
|
|
216
|
+
- `references/performance.md` ? comparison of performance metrics with tolerances
|
|
217
|
+
- `scripts/compare.py` ? main comparison script (read before running if customization is needed)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "qa_regression_baseline",
|
|
3
|
+
"display_name": "QA Regression Baseline Skill",
|
|
4
|
+
"description": ">",
|
|
5
|
+
"default_prompt": "Use $qa_regression_baseline when the task matches the \"QA Regression Baseline Skill\" skill.",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"qa_regression_baseline",
|
|
8
|
+
"qa regression baseline",
|
|
9
|
+
"QA Regression Baseline Skill",
|
|
10
|
+
">"
|
|
11
|
+
],
|
|
12
|
+
"capabilities": [
|
|
13
|
+
"qa",
|
|
14
|
+
"regression",
|
|
15
|
+
"baseline"
|
|
16
|
+
],
|
|
17
|
+
"tools": [],
|
|
18
|
+
"implicit_invocation": true
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "qa_regression_baseline",
|
|
3
|
+
"display_name": "QA Regression Baseline Skill",
|
|
4
|
+
"description": ">",
|
|
5
|
+
"default_prompt": "Use $qa_regression_baseline when the task matches the \"QA Regression Baseline Skill\" skill.",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"qa_regression_baseline",
|
|
8
|
+
"qa regression baseline",
|
|
9
|
+
"QA Regression Baseline Skill",
|
|
10
|
+
">"
|
|
11
|
+
],
|
|
12
|
+
"capabilities": [
|
|
13
|
+
"qa",
|
|
14
|
+
"regression",
|
|
15
|
+
"baseline"
|
|
16
|
+
],
|
|
17
|
+
"tools": [],
|
|
18
|
+
"implicit_invocation": true
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "qa_regression_baseline",
|
|
3
|
+
"display_name": "QA Regression Baseline Skill",
|
|
4
|
+
"description": ">",
|
|
5
|
+
"default_prompt": "Use $qa_regression_baseline when the task matches the \"QA Regression Baseline Skill\" skill.",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"qa_regression_baseline",
|
|
8
|
+
"qa regression baseline",
|
|
9
|
+
"QA Regression Baseline Skill",
|
|
10
|
+
">"
|
|
11
|
+
],
|
|
12
|
+
"capabilities": [
|
|
13
|
+
"qa",
|
|
14
|
+
"regression",
|
|
15
|
+
"baseline"
|
|
16
|
+
],
|
|
17
|
+
"tools": [],
|
|
18
|
+
"implicit_invocation": true
|
|
19
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "QA Regression Baseline Skill"
|
|
3
|
+
short_description: ">"
|
|
4
|
+
default_prompt: "Use $qa_regression_baseline when the task matches the \"QA Regression Baseline Skill\" skill."
|
|
5
|
+
dependencies:
|
|
6
|
+
tools: []
|
|
7
|
+
policy:
|
|
8
|
+
allow_implicit_invocation: true
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "qa_regression_baseline",
|
|
3
|
+
"display_name": "QA Regression Baseline Skill",
|
|
4
|
+
"description": ">",
|
|
5
|
+
"default_prompt": "Use $qa_regression_baseline when the task matches the \"QA Regression Baseline Skill\" skill.",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"qa_regression_baseline",
|
|
8
|
+
"qa regression baseline",
|
|
9
|
+
"QA Regression Baseline Skill",
|
|
10
|
+
">"
|
|
11
|
+
],
|
|
12
|
+
"capabilities": [
|
|
13
|
+
"qa",
|
|
14
|
+
"regression",
|
|
15
|
+
"baseline"
|
|
16
|
+
],
|
|
17
|
+
"tools": [],
|
|
18
|
+
"implicit_invocation": true
|
|
19
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
name: "qa_regression_baseline"
|
|
3
|
+
display_name: "QA Regression Baseline Skill"
|
|
4
|
+
description: ">"
|
|
5
|
+
default_prompt: "Use $qa_regression_baseline when the task matches the \"QA Regression Baseline Skill\" skill."
|
|
6
|
+
triggers:
|
|
7
|
+
- "qa_regression_baseline"
|
|
8
|
+
- "qa regression baseline"
|
|
9
|
+
- "QA Regression Baseline Skill"
|
|
10
|
+
- ">"
|
|
11
|
+
capabilities:
|
|
12
|
+
- "qa"
|
|
13
|
+
- "regression"
|
|
14
|
+
- "baseline"
|
|
15
|
+
tools: []
|
|
16
|
+
invocation:
|
|
17
|
+
explicit: true
|
|
18
|
+
implicit: true
|
|
19
|
+
localization:
|
|
20
|
+
default_locale: "en"
|
|
21
|
+
available_locales:
|
|
22
|
+
- "ru"
|
|
23
|
+
- "en"
|
|
@@ -1,14 +1,188 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qa_security_smoke_tests
|
|
3
|
-
description: Basic security smoke tests
|
|
3
|
+
description: Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Skill: QA Security Smoke Tests
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
Run security smoke: auth, validation, error exposure, rate limiting.
|
|
9
|
+
|
|
10
|
+
**Sections:**
|
|
11
|
+
1. [Workflow](#1-workflow)
|
|
12
|
+
2. [Test Cases](#2-test-cases)
|
|
13
|
+
3. [Curl Commands](#3-curl)
|
|
14
|
+
4. [Log Inspection](#4-logs)
|
|
15
|
+
5. [Output Template](#5-output)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Workflow
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
1. Determine protected endpoints (from $api_contracts)
|
|
23
|
+
2. For each protected endpoint:
|
|
24
|
+
a. Request without auth → expect 401
|
|
25
|
+
b. Request with someone else's auth → expect 403/404
|
|
26
|
+
c. Invalid input → expect 400 (not 500!)
|
|
27
|
+
d. Check error response: no stack/DB/PII
|
|
28
|
+
3. For public endpoints:
|
|
29
|
+
a. Check rate limiting (if enabled)
|
|
30
|
+
4. Check logs: no PII/secrets
|
|
31
|
+
5. Fill in results table
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Test Cases
|
|
37
|
+
|
|
38
|
+
| TC-ID | Category | Test | Request | Expected | Priority |
|
|
39
|
+
|-------|----------|------|---------|----------|:--------:|
|
|
40
|
+
| SEC-TC-01 | **Auth** | No token on protected endpoint | POST /coupons (no Authorization) | 401 | P0 |
|
|
41
|
+
| SEC-TC-02 | **Auth** | Invalid token | POST /coupons (garbage token) | 401 | P0 |
|
|
42
|
+
| SEC-TC-03 | **Auth** | Expired token | POST /coupons (expired JWT) | 401 | P1 |
|
|
43
|
+
| SEC-TC-04 | **IDOR** | Access other user's data | GET /settings/other-app-id | 403 or 404 | P0 |
|
|
44
|
+
| SEC-TC-05 | **IDOR** | Modify other user's data | PUT /settings/other-app-id | 403 or 404 | P0 |
|
|
45
|
+
| SEC-TC-06 | **IDOR** | Delete other user's data | DELETE /coupons/other-user-coupon | 403 or 404 | P0 |
|
|
46
|
+
| SEC-TC-07 | **Validation** | Empty body | POST /coupons `{}` | 400 (not 500!) | P0 |
|
|
47
|
+
| SEC-TC-08 | **Validation** | Malicious field types | POST /coupons `{"code": 12345}` | 400 | P0 |
|
|
48
|
+
| SEC-TC-09 | **Validation** | Oversized input | POST /coupons `{"code": "A".repeat(10000)}` | 400 | P1 |
|
|
49
|
+
| SEC-TC-10 | **NoSQL** | Operator injection | GET /coupons?code[$gt]= | 400 (not data leak!) | P0 |
|
|
50
|
+
| SEC-TC-11 | **Error leak** | Trigger 500 | Cause server error | No stack/DB in response | P0 |
|
|
51
|
+
| SEC-TC-12 | **Error leak** | Check error format | Any 4xx/5xx | `{ error: { code, message } }` only | P0 |
|
|
52
|
+
| SEC-TC-13 | **Rate limit** | Flood endpoint | 100+ requests/min | 429 (if enabled) | P1 |
|
|
53
|
+
| SEC-TC-14 | **Headers** | Check security headers | Any response | X-Content-Type-Options, etc. | P1 |
|
|
54
|
+
| SEC-TC-15 | **XSS** | Script input | POST /settings `{"title": "<script>alert(1)</script>"}` | Stored sanitized or rejected | P0 |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 3. Curl Commands
|
|
59
|
+
|
|
60
|
+
### No auth (SEC-TC-01)
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
curl -s -o /dev/null -w "%{http_code}" \
|
|
64
|
+
-X POST https://localhost:5173/api/v1/coupons \
|
|
65
|
+
-H "Content-Type: application/json" \
|
|
66
|
+
-d '{"code":"TEST","discount":10}'
|
|
67
|
+
# Expected: 401
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### IDOR check (SEC-TC-04)
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
curl -s -w "\n%{http_code}" \
|
|
74
|
+
-X GET https://localhost:5173/api/v1/settings/OTHER_APP_INSTANCE_ID \
|
|
75
|
+
-H "Authorization: Bearer <my_token>"
|
|
76
|
+
# Expected: 403 or 404 (NOT 200 with other user's data!)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### NoSQL injection (SEC-TC-10)
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
curl -s -w "\n%{http_code}" \
|
|
83
|
+
"https://localhost:5173/api/v1/coupons?code[\$gt]="
|
|
84
|
+
# Expected: 400 (NOT 200 with all coupons!)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Error exposure check (SEC-TC-11)
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
curl -s -X POST https://localhost:5173/api/v1/coupons \
|
|
91
|
+
-H "Content-Type: application/json" \
|
|
92
|
+
-H "Authorization: Bearer <token>" \
|
|
93
|
+
-d '{"code": null}' | python3 -m json.tool
|
|
94
|
+
# Check: no "stack", no "MongoError", no file paths in response
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### XSS input (SEC-TC-15)
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
curl -s -X PUT https://localhost:5173/api/v1/settings/MY_ID \
|
|
101
|
+
-H "Content-Type: application/json" \
|
|
102
|
+
-H "Authorization: Bearer <token>" \
|
|
103
|
+
-d '{"title": "<script>alert(1)</script>"}'
|
|
104
|
+
# Check: title should be sanitized/escaped, NOT stored as raw HTML
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Security headers (SEC-TC-14)
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
curl -sI https://localhost:5173/api/v1/health/live | grep -iE "x-content-type|x-frame|strict-transport|referrer-policy"
|
|
111
|
+
# Expected: security headers present
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 4. Log Inspection
|
|
117
|
+
|
|
118
|
+
### After running tests, check logs for PII/secrets
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Check application logs (Docker)
|
|
122
|
+
docker compose logs api --tail 100 | grep -iE "password|token|secret|apiKey|authorization"
|
|
123
|
+
# Expected: ZERO matches (all should be [REDACTED])
|
|
124
|
+
|
|
125
|
+
# Check for stack traces in response bodies
|
|
126
|
+
docker compose logs api --tail 100 | grep -i "stack"
|
|
127
|
+
# Expected: internal logs only, never in HTTP responses
|
|
128
|
+
|
|
129
|
+
# Check for PII
|
|
130
|
+
docker compose logs api --tail 100 | grep -iE "email.*@|phone.*\d{7}"
|
|
131
|
+
# Expected: masked or absent
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 5. Output Template
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
# Security Smoke Test Report
|
|
140
|
+
|
|
141
|
+
**Date:** YYYY-MM-DD
|
|
142
|
+
**Tester:** Tester Agent
|
|
143
|
+
**Environment:** <URL>
|
|
144
|
+
|
|
145
|
+
## Results
|
|
146
|
+
|
|
147
|
+
| TC-ID | Category | Test | Expected | Actual | Status |
|
|
148
|
+
|-------|----------|------|:--------:|:------:|:------:|
|
|
149
|
+
| SEC-TC-01 | Auth | No token | 401 | 401 | ✅ |
|
|
150
|
+
| SEC-TC-04 | IDOR | Other user's data | 403/404 | 200 😱 | ❌ |
|
|
151
|
+
| SEC-TC-07 | Validation | Empty body | 400 | 500 | ❌ |
|
|
152
|
+
| SEC-TC-10 | NoSQL | Operator injection | 400 | 200 | ❌ |
|
|
153
|
+
| SEC-TC-11 | Error leak | Trigger 500 | No stack | Has stack | ❌ |
|
|
154
|
+
| SEC-TC-14 | Headers | Security headers | Present | Missing | ⚠️ |
|
|
155
|
+
|
|
156
|
+
## Log Inspection
|
|
157
|
+
| Check | Result |
|
|
158
|
+
|-------|--------|
|
|
159
|
+
| Secrets in logs | ✅ Clean |
|
|
160
|
+
| Stack traces in logs | ✅ Internal only |
|
|
161
|
+
| PII in logs | ⚠️ Email unmasked |
|
|
162
|
+
|
|
163
|
+
## Summary
|
|
164
|
+
| Status | Count |
|
|
165
|
+
|--------|:-----:|
|
|
166
|
+
| ✅ PASS | X |
|
|
167
|
+
| ❌ FAIL | Y |
|
|
168
|
+
| ⚠️ WARN | Z |
|
|
169
|
+
|
|
170
|
+
## Critical Findings
|
|
171
|
+
| # | Severity | Finding | Impact | Fix |
|
|
172
|
+
|---|----------|---------|--------|-----|
|
|
173
|
+
| 1 | 🔴 P0 | IDOR: other user's settings accessible | Data breach | Add ownership check |
|
|
174
|
+
| 2 | 🔴 P0 | NoSQL injection: $gt operator not filtered | Data leak | Add input sanitization |
|
|
175
|
+
|
|
176
|
+
## Verdict
|
|
177
|
+
- ✅ SECURE — all security smoke tests pass
|
|
178
|
+
- ⚠️ ISSUES — P1 findings to address
|
|
179
|
+
- ❌ VULNERABLE — P0 security findings, block release
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## See also
|
|
185
|
+
- `$security_review` — deep AppSec review (code level)
|
|
186
|
+
- `$security_review_baseline` — quick security checklist
|
|
187
|
+
- `$qa_api_contract_tests` — functional API tests
|
|
188
|
+
- `$qa_test_plan` — test plan (references this skill)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qa_security_smoke_tests",
|
|
3
3
|
"display_name": "QA Security Smoke Tests",
|
|
4
|
-
"description": "Basic security smoke tests
|
|
4
|
+
"description": "Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant.",
|
|
5
5
|
"default_prompt": "Use $qa_security_smoke_tests when the task matches the \"QA Security Smoke Tests\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"qa_security_smoke_tests",
|
|
8
8
|
"qa security smoke tests",
|
|
9
|
-
"Basic security smoke tests"
|
|
9
|
+
"Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"qa",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qa_security_smoke_tests",
|
|
3
3
|
"display_name": "QA Security Smoke Tests",
|
|
4
|
-
"description": "Basic security smoke tests
|
|
4
|
+
"description": "Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant.",
|
|
5
5
|
"default_prompt": "Use $qa_security_smoke_tests when the task matches the \"QA Security Smoke Tests\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"qa_security_smoke_tests",
|
|
8
8
|
"qa security smoke tests",
|
|
9
|
-
"Basic security smoke tests"
|
|
9
|
+
"Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"qa",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qa_security_smoke_tests",
|
|
3
3
|
"display_name": "QA Security Smoke Tests",
|
|
4
|
-
"description": "Basic security smoke tests
|
|
4
|
+
"description": "Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant.",
|
|
5
5
|
"default_prompt": "Use $qa_security_smoke_tests when the task matches the \"QA Security Smoke Tests\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"qa_security_smoke_tests",
|
|
8
8
|
"qa security smoke tests",
|
|
9
|
-
"Basic security smoke tests"
|
|
9
|
+
"Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"qa",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "QA Security Smoke Tests"
|
|
3
|
-
short_description: "Basic security smoke tests
|
|
3
|
+
short_description: "Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if en…"
|
|
4
4
|
default_prompt: "Use $qa_security_smoke_tests when the task matches the \"QA Security Smoke Tests\" skill."
|
|
5
5
|
dependencies:
|
|
6
6
|
tools: []
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qa_security_smoke_tests",
|
|
3
3
|
"display_name": "QA Security Smoke Tests",
|
|
4
|
-
"description": "Basic security smoke tests
|
|
4
|
+
"description": "Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant.",
|
|
5
5
|
"default_prompt": "Use $qa_security_smoke_tests when the task matches the \"QA Security Smoke Tests\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"qa_security_smoke_tests",
|
|
8
8
|
"qa security smoke tests",
|
|
9
|
-
"Basic security smoke tests"
|
|
9
|
+
"Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"qa",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
version: 1
|
|
2
2
|
name: "qa_security_smoke_tests"
|
|
3
3
|
display_name: "QA Security Smoke Tests"
|
|
4
|
-
description: "Basic security smoke tests
|
|
4
|
+
description: "Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant."
|
|
5
5
|
default_prompt: "Use $qa_security_smoke_tests when the task matches the \"QA Security Smoke Tests\" skill."
|
|
6
6
|
triggers:
|
|
7
7
|
- "qa_security_smoke_tests"
|
|
8
8
|
- "qa security smoke tests"
|
|
9
|
-
- "Basic security smoke tests"
|
|
9
|
+
- "Basic security smoke tests — auth/authz, validation, leaks in errors/logs, rate limiting (if enabled), SSRF/XSS where relevant"
|
|
10
10
|
capabilities:
|
|
11
11
|
- "qa"
|
|
12
12
|
- "security"
|