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,42 +1,329 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api_contracts
|
|
3
|
-
description: API contracts
|
|
3
|
+
description: API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Skill: API Contracts
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
8
|
+
Full description API: from endpoint definition to error format.
|
|
9
|
+
|
|
10
|
+
**Sections:**
|
|
11
|
+
1. [General rules](#1-general-rules)
|
|
12
|
+
2. [Endpoint Definition Template](#2-endpoint-template)
|
|
13
|
+
3. [Error Format](#3-error-format)
|
|
14
|
+
4. [Pagination & Filtering](#4-pagination)
|
|
15
|
+
5. [Auth Convention](#5-auth)
|
|
16
|
+
6. [Integration Contracts](#6-integrations)
|
|
17
|
+
7. [Example: full contract](#7-example)
|
|
18
|
+
8. [Output Template](#8-output)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. General rules
|
|
23
|
+
|
|
24
|
+
| Rule | Convention |
|
|
25
|
+
|---------|-----------|
|
|
26
|
+
| **Base path** | `/api/v1/<resource>` |
|
|
27
|
+
| **Naming** | kebab-case, plural nouns: `/api/v1/coupons` |
|
|
28
|
+
| **Methods** | GET (read), POST (create), PUT (full update), PATCH (partial), DELETE |
|
|
29
|
+
| **Status codes** | 200 (OK), 201 (Created), 204 (No Content), 400, 401, 403, 404, 409, 422, 500 |
|
|
30
|
+
| **Content-Type** | `application/json` (request & response) |
|
|
31
|
+
| **Error format** | Unified (see. section 3) |
|
|
32
|
+
| **Validation** | Zod schemas on each endpoint, on boundary (middleware) |
|
|
33
|
+
| **Auth** | Token in header or httpOnly cookie. Check on each protected endpoint |
|
|
34
|
+
| **Idempotency** | PUT = idempotent. POST create = idempotent key (if needed) |
|
|
35
|
+
| **Versioning** | URL prefix: `/api/v1/`, `/api/v2/` (with breaking changes) |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 2. Endpoint Definition Template
|
|
40
|
+
|
|
41
|
+
For each endpoint fill in:
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
### POST /api/v1/coupons
|
|
45
|
+
|
|
46
|
+
**Summary:** Create a new coupon for the installation.
|
|
47
|
+
|
|
48
|
+
**Auth:** Required (appInstanceId in path or JWT)
|
|
49
|
+
|
|
50
|
+
**Request:**
|
|
51
|
+
| Field | Type | Required | Constraints | Example |
|
|
52
|
+
|-------|------|----------|------------|---------|
|
|
53
|
+
| code | string | ✅ | 3-20 chars, alphanumeric | "SAVE20" |
|
|
54
|
+
| discount | number | ✅ | 1-100 | 20 |
|
|
55
|
+
| type | string | ✅ | enum: percent, fixed | "percent" |
|
|
56
|
+
| active | boolean | ⬜ | default: true | true |
|
|
57
|
+
|
|
58
|
+
**Request example:**
|
|
59
|
+
\`\`\`json
|
|
60
|
+
{
|
|
61
|
+
"code": "SAVE20",
|
|
62
|
+
"discount": 20,
|
|
63
|
+
"type": "percent"
|
|
64
|
+
}
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
**Response (201):**
|
|
68
|
+
\`\`\`json
|
|
69
|
+
{
|
|
70
|
+
"data": {
|
|
71
|
+
"id": "c-abc123",
|
|
72
|
+
"code": "SAVE20",
|
|
73
|
+
"discount": 20,
|
|
74
|
+
"type": "percent",
|
|
75
|
+
"active": true,
|
|
76
|
+
"createdAt": "2026-03-13T03:00:00Z",
|
|
77
|
+
"updatedAt": "2026-03-13T03:00:00Z"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
**Errors:**
|
|
83
|
+
| Status | Code | When |
|
|
84
|
+
|--------|------|------|
|
|
85
|
+
| 400 | VALIDATION_ERROR | Invalid input (see details) |
|
|
86
|
+
| 409 | DUPLICATE | Coupon code already exists for this app |
|
|
87
|
+
| 401 | UNAUTHORIZED | Missing or invalid auth |
|
|
88
|
+
|
|
89
|
+
**Perf notes:**
|
|
90
|
+
- Unique index on (appInstanceId, code) — O(log n) lookup
|
|
91
|
+
- No pagination needed (single resource create)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Zod Schema (for validation)
|
|
95
|
+
|
|
96
|
+
```js
|
|
97
|
+
import { z } from 'zod';
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Schema for creation coupon.
|
|
101
|
+
*/
|
|
102
|
+
export const createCouponSchema = z.object({
|
|
103
|
+
code: z.string()
|
|
104
|
+
.min(3, 'Code must be at least 3 characters')
|
|
105
|
+
.max(20, 'Code must be at most 20 characters')
|
|
106
|
+
.regex(/^[A-Za-z0-9]+$/, 'Code must be alphanumeric')
|
|
107
|
+
.transform((v) => v.toUpperCase()),
|
|
108
|
+
discount: z.number()
|
|
109
|
+
.min(1, 'Discount must be at least 1')
|
|
110
|
+
.max(100, 'Discount cannot exceed 100'),
|
|
111
|
+
type: z.enum(['percent', 'fixed']),
|
|
112
|
+
active: z.boolean().optional().default(true),
|
|
113
|
+
});
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 3. Error Format
|
|
119
|
+
|
|
120
|
+
### Unified format (all endpoints)
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"error": {
|
|
125
|
+
"code": "VALIDATION_ERROR",
|
|
126
|
+
"message": "Invalid input",
|
|
127
|
+
"details": [
|
|
128
|
+
{ "field": "code", "message": "Must be at least 3 characters" },
|
|
129
|
+
{ "field": "discount", "message": "Must be at least 1" }
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Error codes (registry)
|
|
136
|
+
|
|
137
|
+
| HTTP | Code | Description | When |
|
|
138
|
+
|------|------|-------------|------|
|
|
139
|
+
| 400 | `VALIDATION_ERROR` | Input validation failed | Zod parse error |
|
|
140
|
+
| 400 | `BAD_REQUEST` | Malformed request | Missing body, bad JSON |
|
|
141
|
+
| 401 | `UNAUTHORIZED` | No auth or expired token | Missing/invalid JWT |
|
|
142
|
+
| 403 | `FORBIDDEN` | Authenticated but not allowed | Wrong role/scope |
|
|
143
|
+
| 404 | `NOT_FOUND` | Resource doesn't exist | ID not in DB |
|
|
144
|
+
| 409 | `DUPLICATE` | Unique constraint violation | Duplicate key |
|
|
145
|
+
| 409 | `CONFLICT` | Optimistic concurrency | Version mismatch |
|
|
146
|
+
| 422 | `UNPROCESSABLE` | Business rule violation | Coupon expired, limit reached |
|
|
147
|
+
| 429 | `RATE_LIMITED` | Too many requests | Rate limit exceeded |
|
|
148
|
+
| 500 | `INTERNAL_ERROR` | Unexpected server error | Bug, DB down |
|
|
149
|
+
|
|
150
|
+
### Rules
|
|
151
|
+
|
|
152
|
+
- **Never** not return stack trace, DB error, internal path
|
|
153
|
+
- `code` = machine-readable (for client)
|
|
154
|
+
- `message` = human-readable (for toast/UI)
|
|
155
|
+
- `details` = field-level errors (form validation)
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 4. Pagination & Filtering
|
|
160
|
+
|
|
161
|
+
### Cursor pagination (default for lists)
|
|
162
|
+
|
|
163
|
+
```markdown
|
|
164
|
+
### GET /api/v1/coupons
|
|
165
|
+
|
|
166
|
+
**Query params:**
|
|
167
|
+
| Param | Type | Default | Description |
|
|
168
|
+
|-------|------|---------|-------------|
|
|
169
|
+
| limit | number | 20 | Max items per page (1-100) |
|
|
170
|
+
| cursor | string | — | Cursor from previous response |
|
|
171
|
+
| status | string | — | Filter: "active" or "inactive" |
|
|
172
|
+
| q | string | — | Search by code (case-insensitive) |
|
|
173
|
+
| sort | string | -createdAt | Sort field with direction prefix |
|
|
174
|
+
|
|
175
|
+
**Response (200):**
|
|
176
|
+
\`\`\`json
|
|
177
|
+
{
|
|
178
|
+
"data": [...],
|
|
179
|
+
"pagination": {
|
|
180
|
+
"nextCursor": "eyJpZCI6ImMtYWJjMTIzIn0=",
|
|
181
|
+
"hasMore": true,
|
|
182
|
+
"total": 42
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
\`\`\`
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Convention
|
|
189
|
+
|
|
190
|
+
| Pattern | When | Example |
|
|
191
|
+
|---------|-------|--------|
|
|
192
|
+
| **Cursor** | Large collections (> 1K), real-time data | Coupons list, activity log |
|
|
193
|
+
| **Offset** | Small collections, admin UI | Settings list (< 100 items) |
|
|
194
|
+
| **No pagination** | Single resource, bounded data | Widget config, user profile |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 5. Auth
|
|
199
|
+
|
|
200
|
+
### Convention
|
|
201
|
+
|
|
202
|
+
```markdown
|
|
203
|
+
**Auth header:**
|
|
204
|
+
Authorization: Bearer <jwt_token>
|
|
205
|
+
|
|
206
|
+
**Or httpOnly cookie:**
|
|
207
|
+
Cookie: token=<jwt_token>
|
|
208
|
+
|
|
209
|
+
**Auth check middleware:**
|
|
210
|
+
1. Extract token (header → cookie fallback)
|
|
211
|
+
2. Verify JWT signature + expiration
|
|
212
|
+
3. Attach user/appInstanceId to req
|
|
213
|
+
4. Check required role/scope (if endpoint needs it)
|
|
214
|
+
|
|
215
|
+
**Protected endpoints:** All /api/v1/* except:
|
|
216
|
+
- GET /health/live
|
|
217
|
+
- GET /health/ready
|
|
218
|
+
- POST /api/webhooks/* (verified by webhook signature)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Auth table (per endpoint)
|
|
222
|
+
|
|
223
|
+
| Endpoint | Auth | Role | Notes |
|
|
224
|
+
|----------|------|------|-------|
|
|
225
|
+
| `GET /api/v1/widget/:id` | ⬜ Public | — | Embedded script reads this |
|
|
226
|
+
| `GET /api/v1/settings/:id` | ✅ Required | owner | Dashboard only |
|
|
227
|
+
| `PUT /api/v1/settings/:id` | ✅ Required | owner | Dashboard only |
|
|
228
|
+
| `POST /api/v1/coupons` | ✅ Required | owner | Dashboard only |
|
|
229
|
+
| `POST /api/webhooks/install` | 🔑 Webhook sig | — | Wix signs with JWT |
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 6. Integration Contracts
|
|
234
|
+
|
|
235
|
+
### Webhook contract
|
|
236
|
+
|
|
237
|
+
```markdown
|
|
238
|
+
### POST /api/webhooks/v1/install
|
|
239
|
+
|
|
240
|
+
**Source:** Wix Platform
|
|
241
|
+
**Auth:** JWT signature verification (not Bearer token)
|
|
242
|
+
**Content-Type:** text/plain (JWT string)
|
|
243
|
+
|
|
244
|
+
**Processing:**
|
|
245
|
+
1. Decode JWT (no verify — Wix dev environment)
|
|
246
|
+
2. Extract appInstanceId from payload
|
|
247
|
+
3. Upsert installation + default settings
|
|
248
|
+
4. Call Embed Script API
|
|
249
|
+
5. Return 200 { success: true }
|
|
250
|
+
|
|
251
|
+
**Idempotent:** Yes (upsert)
|
|
252
|
+
**Retry:** Wix retries on timeout/5xx
|
|
253
|
+
**Timeout:** Must respond within 10s
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### External API call contract
|
|
257
|
+
|
|
258
|
+
```markdown
|
|
259
|
+
### Wix Embed Script API
|
|
260
|
+
|
|
261
|
+
**Endpoint:** POST https://www.wixapis.com/apps/v1/scripts
|
|
262
|
+
**Auth:** OAuth access token
|
|
263
|
+
**Timeout:** 5s
|
|
264
|
+
**Retry:** 2x with exponential backoff (1s, 3s)
|
|
265
|
+
**Idempotent:** Yes (same script URL = no-op)
|
|
266
|
+
**Failure handling:** Log error, don't fail webhook (re-embed manually)
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 7. Example: full contract (Smart Cart Rescue)
|
|
272
|
+
|
|
273
|
+
```markdown
|
|
274
|
+
# API Contracts: Smart Cart Rescue
|
|
275
|
+
|
|
276
|
+
## Endpoints
|
|
277
|
+
|
|
278
|
+
| Method | Path | Auth | Summary |
|
|
279
|
+
|--------|------|------|---------|
|
|
280
|
+
| GET | /api/v1/widget/:appInstanceId | Public | Widget payload for embedded script |
|
|
281
|
+
| GET | /api/v1/widget/resolve-instance | Public | Resolve appInstanceId from site origin |
|
|
282
|
+
| GET | /api/v1/settings/:appInstanceId | Owner | Get settings |
|
|
283
|
+
| PUT | /api/v1/settings/:appInstanceId | Owner | Update settings |
|
|
284
|
+
| GET | /api/v1/coupons | Owner | List coupons (paginated) |
|
|
285
|
+
| POST | /api/v1/coupons | Owner | Create coupon |
|
|
286
|
+
| PUT | /api/v1/coupons/:id | Owner | Update coupon |
|
|
287
|
+
| DELETE | /api/v1/coupons/:id | Owner | Delete coupon |
|
|
288
|
+
| POST | /api/webhooks/v1/install | Webhook | Wix install webhook |
|
|
289
|
+
| POST | /api/webhooks/v1/uninstall | Webhook | Wix uninstall webhook |
|
|
290
|
+
| GET | /health/live | Public | Liveness probe |
|
|
291
|
+
| GET | /health/ready | Public | Readiness probe |
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 8. Output Template
|
|
297
|
+
|
|
298
|
+
```markdown
|
|
299
|
+
# API Contracts: <project-name>
|
|
300
|
+
|
|
301
|
+
**Date:** YYYY-MM-DD
|
|
302
|
+
**Version:** v1
|
|
303
|
+
**Base URL:** https://<host>/api/v1
|
|
304
|
+
|
|
305
|
+
## General Rules
|
|
306
|
+
- Error format: { error: { code, message, details } }
|
|
307
|
+
- Auth: Bearer JWT or httpOnly cookie
|
|
308
|
+
- Pagination: cursor-based (limit, cursor, hasMore)
|
|
309
|
+
|
|
310
|
+
## Endpoints
|
|
311
|
+
<for each endpoint: section 2 template>
|
|
312
|
+
|
|
313
|
+
## Error Codes
|
|
314
|
+
<section 3 registry table>
|
|
315
|
+
|
|
316
|
+
## Auth Table
|
|
317
|
+
<section 5 per-endpoint table>
|
|
318
|
+
|
|
319
|
+
## Integration Contracts
|
|
320
|
+
<section 6 for each external integration>
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## See also
|
|
326
|
+
- `$architecture_doc` — Architecture Document (references API contracts)
|
|
327
|
+
- `$data_model` — Data model (entities match request/response schemas)
|
|
328
|
+
- `$security_baseline_dev` — Zod validation, auth patterns
|
|
329
|
+
- `$node_express_beast_practices` — Express implementation patterns
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "api_contracts",
|
|
3
3
|
"display_name": "API Contracts",
|
|
4
|
-
"description": "API contracts
|
|
4
|
+
"description": "API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns.",
|
|
5
5
|
"default_prompt": "Use $api_contracts when the task matches the \"API Contracts\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"api_contracts",
|
|
8
8
|
"api contracts",
|
|
9
|
-
"API contracts
|
|
9
|
+
"API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"api",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "api_contracts",
|
|
3
3
|
"display_name": "API Contracts",
|
|
4
|
-
"description": "API contracts
|
|
4
|
+
"description": "API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns.",
|
|
5
5
|
"default_prompt": "Use $api_contracts when the task matches the \"API Contracts\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"api_contracts",
|
|
8
8
|
"api contracts",
|
|
9
|
-
"API contracts
|
|
9
|
+
"API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"api",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "api_contracts",
|
|
3
3
|
"display_name": "API Contracts",
|
|
4
|
-
"description": "API contracts
|
|
4
|
+
"description": "API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns.",
|
|
5
5
|
"default_prompt": "Use $api_contracts when the task matches the \"API Contracts\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"api_contracts",
|
|
8
8
|
"api contracts",
|
|
9
|
-
"API contracts
|
|
9
|
+
"API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"api",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "API Contracts"
|
|
3
|
-
short_description: "API contracts
|
|
3
|
+
short_description: "API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalabi…"
|
|
4
4
|
default_prompt: "Use $api_contracts when the task matches the \"API Contracts\" skill."
|
|
5
5
|
dependencies:
|
|
6
6
|
tools: []
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "api_contracts",
|
|
3
3
|
"display_name": "API Contracts",
|
|
4
|
-
"description": "API contracts
|
|
4
|
+
"description": "API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns.",
|
|
5
5
|
"default_prompt": "Use $api_contracts when the task matches the \"API Contracts\" skill.",
|
|
6
6
|
"triggers": [
|
|
7
7
|
"api_contracts",
|
|
8
8
|
"api contracts",
|
|
9
|
-
"API contracts
|
|
9
|
+
"API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns"
|
|
10
10
|
],
|
|
11
11
|
"capabilities": [
|
|
12
12
|
"api",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
version: 1
|
|
2
2
|
name: "api_contracts"
|
|
3
3
|
display_name: "API Contracts"
|
|
4
|
-
description: "API contracts
|
|
4
|
+
description: "API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns."
|
|
5
5
|
default_prompt: "Use $api_contracts when the task matches the \"API Contracts\" skill."
|
|
6
6
|
triggers:
|
|
7
7
|
- "api_contracts"
|
|
8
8
|
- "api contracts"
|
|
9
|
-
- "API contracts
|
|
9
|
+
- "API contracts by UX flows — endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns"
|
|
10
10
|
capabilities:
|
|
11
11
|
- "api"
|
|
12
12
|
- "contracts"
|
|
@@ -1,17 +1,213 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: architecture_compliance_review
|
|
3
|
-
description:
|
|
3
|
+
description: Check compliance code architecture/ADR — boundaries modules, layers, dependencies, conventions, red flags.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
#Skill: Architecture Compliance Review
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
- Compliance with modular boundaries (controller/service/repo or similar)
|
|
10
|
-
- Direction of dependencies (UI does not pull data directly, etc.)
|
|
11
|
-
- Lack of red flags: Big Ball of Mud, God Object, Tight Coupling, Magic
|
|
12
|
-
- New “solutions” are issued ADR (if they affect the database/cache/auth/contracts/integrations)
|
|
8
|
+
Review on compliance with the architecture document and ADR.
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
**Sections:**
|
|
11
|
+
1. [Expected Architecture](#1-expected)
|
|
12
|
+
2. [Checklist](#2-checklist)
|
|
13
|
+
3. [Automated Detection](#3-detection)
|
|
14
|
+
4. [Red Flags](#4-red-flags)
|
|
15
|
+
5. [Output Template](#5-output)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Expected Architecture
|
|
20
|
+
|
|
21
|
+
### Layer Architecture (Node.js / Express)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
┌──────────────────────────┐
|
|
25
|
+
│ Routes │ ← HTTP routing only, no logic
|
|
26
|
+
├──────────────────────────┤
|
|
27
|
+
│ Middleware │ ← Auth, validation (Zod), logging
|
|
28
|
+
├──────────────────────────┤
|
|
29
|
+
│ Controllers │ ← Request/response handling, HTTP concerns
|
|
30
|
+
├──────────────────────────┤
|
|
31
|
+
│ Services │ ← Business logic, orchestration
|
|
32
|
+
├──────────────────────────┤
|
|
33
|
+
│ Repositories │ ← Data access (Mongoose), queries
|
|
34
|
+
├──────────────────────────┤
|
|
35
|
+
│ Models │ ← Schema definitions
|
|
36
|
+
└──────────────────────────┘
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Dependency rules
|
|
40
|
+
|
|
41
|
+
| Layer | Can depend on | MUST NOT depend on |
|
|
42
|
+
|-------|--------------|-------------------|
|
|
43
|
+
| Routes | Controllers, Middleware | Services, Repos, Models |
|
|
44
|
+
| Middleware | (standalone) | Services, Repos |
|
|
45
|
+
| Controllers | Services | Repos, Models directly |
|
|
46
|
+
| Services | Repos, other Services | `req`, `res`, HTTP concerns |
|
|
47
|
+
| Repos | Models | `req`, `res`, `next`, Services |
|
|
48
|
+
| Models | (standalone) | Anything above |
|
|
49
|
+
|
|
50
|
+
### Frontend Architecture (React)
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
┌──────────────────────────┐
|
|
54
|
+
│ Pages │ ← Route-level components
|
|
55
|
+
├──────────────────────────┤
|
|
56
|
+
│ Components │ ← UI building blocks (presentational)
|
|
57
|
+
├──────────────────────────┤
|
|
58
|
+
│ Hooks │ ← State/logic encapsulation
|
|
59
|
+
├──────────────────────────┤
|
|
60
|
+
│ Services/API │ ← HTTP calls to backend
|
|
61
|
+
├──────────────────────────┤
|
|
62
|
+
│ Store │ ← Global state (Zustand/RTK)
|
|
63
|
+
└──────────────────────────┘
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 2. Checklist
|
|
69
|
+
|
|
70
|
+
### 2.1 Layer Boundaries
|
|
71
|
+
|
|
72
|
+
| # | Check | Severity | Status |
|
|
73
|
+
|---|-------|----------|--------|
|
|
74
|
+
| ARCH-01 | No DB calls (Mongoose) in routes or controllers | 🔴 P0 | ☐ |
|
|
75
|
+
| ARCH-02 | No `req`/`res` objects in services | 🔴 P0 | ☐ |
|
|
76
|
+
| ARCH-03 | No business logic in routes (only routing) | 🟠 P1 | ☐ |
|
|
77
|
+
| ARCH-04 | Controllers delegate to services (no direct repo calls) | 🟠 P1 | ☐ |
|
|
78
|
+
| ARCH-05 | Models are standalone (no imports from layers above) | 🟠 P1 | ☐ |
|
|
79
|
+
|
|
80
|
+
### 2.2 Module Boundaries
|
|
81
|
+
|
|
82
|
+
| # | Check | Severity | Status |
|
|
83
|
+
|---|-------|----------|--------|
|
|
84
|
+
| ARCH-06 | Service A doesn't import internals of Service B | 🟠 P1 | ☐ |
|
|
85
|
+
| ARCH-07 | No circular dependencies between modules | 🔴 P0 | ☐ |
|
|
86
|
+
| ARCH-08 | Shared code is in `utils/` or `common/`, not copy-pasted | 🟠 P1 | ☐ |
|
|
87
|
+
| ARCH-09 | Feature modules have clear public API (index exports) | 🟡 P2 | ☐ |
|
|
88
|
+
|
|
89
|
+
### 2.3 Code Size & Complexity
|
|
90
|
+
|
|
91
|
+
| # | Check | Severity | Status |
|
|
92
|
+
|---|-------|----------|--------|
|
|
93
|
+
| ARCH-10 | File < 500 lines (God Object indicator) | 🟠 P1 | ☐ |
|
|
94
|
+
| ARCH-11 | Function < 40 lines (complexity indicator) | 🟠 P1 | ☐ |
|
|
95
|
+
| ARCH-12 | Class/module < 10 public methods | 🟡 P2 | ☐ |
|
|
96
|
+
| ARCH-13 | Cyclomatic complexity reasonable (no deeply nested if/else) | 🟠 P1 | ☐ |
|
|
97
|
+
|
|
98
|
+
### 2.4 ADR Compliance
|
|
99
|
+
|
|
100
|
+
| # | Check | Severity | Status |
|
|
101
|
+
|---|-------|----------|--------|
|
|
102
|
+
| ARCH-14 | Code follows existing ADR decisions | 🔴 P0 | ☐ |
|
|
103
|
+
| ARCH-15 | New patterns/libraries → ADR created | 🟠 P1 | ☐ |
|
|
104
|
+
| ARCH-16 | DB schema changes → ADR if significant | 🟠 P1 | ☐ |
|
|
105
|
+
| ARCH-17 | Integration changes → ADR created | 🟠 P1 | ☐ |
|
|
106
|
+
|
|
107
|
+
### 2.5 Naming Conventions
|
|
108
|
+
|
|
109
|
+
| # | Check | Severity | Status |
|
|
110
|
+
|---|-------|----------|--------|
|
|
111
|
+
| ARCH-18 | Files follow naming convention (`camelCase.js` or `kebab-case.js`) | 🟡 P2 | ☐ |
|
|
112
|
+
| ARCH-19 | Exports match file purpose (not mixed responsibilities) | 🟠 P1 | ☐ |
|
|
113
|
+
| ARCH-20 | Test files co-located or in `__tests__/` consistently | 🟡 P2 | ☐ |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 3. Automated Detection
|
|
118
|
+
|
|
119
|
+
### Grep patterns for boundary violations
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# 🔴 P0: DB in routes/controllers
|
|
123
|
+
grep_search: Query="mongoose" Includes=["*/routes/*"] → DB access in routes!
|
|
124
|
+
grep_search: Query="Model.find" Includes=["*/controllers/*"] → DB in controller!
|
|
125
|
+
grep_search: Query=".save()" Includes=["*/routes/*"] → DB mutation in route!
|
|
126
|
+
|
|
127
|
+
# 🔴 P0: HTTP in services
|
|
128
|
+
grep_search: Query="req\." Includes=["*/services/*"] → HTTP object in service!
|
|
129
|
+
grep_search: Query="res\." Includes=["*/services/*"] → HTTP object in service!
|
|
130
|
+
grep_search: Query="next(" Includes=["*/services/*"] → Express middleware in service!
|
|
131
|
+
|
|
132
|
+
# 🟠 P1: Cross-module internals
|
|
133
|
+
grep_search: Query="from '\.\./" Includes=["*/services/*"] → Check: crossing module boundary?
|
|
134
|
+
|
|
135
|
+
# 🟠 P1: God Object detection
|
|
136
|
+
find_by_name: Pattern="*.js" Extensions=["js","ts"]
|
|
137
|
+
→ Check: file size > 500 lines?
|
|
138
|
+
|
|
139
|
+
# 🟡 P2: Copy-paste detection
|
|
140
|
+
grep_search: Query="<duplicated code block>" → Extract to shared util
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### File size audit
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Find files > 500 lines
|
|
147
|
+
find_by_name: Pattern="*.js" → for each: check line count
|
|
148
|
+
# If file > 500 lines → P1: God Object risk
|
|
149
|
+
# If function > 40 lines → P1: complexity risk
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 4. Red Flags
|
|
155
|
+
|
|
156
|
+
| Red Flag | Pattern | Severity | Indicator |
|
|
157
|
+
|----------|---------|----------|-----------|
|
|
158
|
+
| **Big Ball of Mud** | Everything in one file/folder | 🔴 P0 | File > 1000 lines, no folder structure |
|
|
159
|
+
| **God Object** | One module does everything | 🔴 P0 | Class > 20 methods, file > 500 lines |
|
|
160
|
+
| **Tight Coupling** | Service A depends on internals of B | 🟠 P1 | Deep import paths, circular deps |
|
|
161
|
+
| **Magic** | Implicit side effects, hidden globals | 🟠 P1 | Global state mutation, hidden event listeners |
|
|
162
|
+
| **Layering violation** | DB in routes, HTTP in services | 🔴 P0 | Mongoose in wrong folder |
|
|
163
|
+
| **Missing abstraction** | Same code in 3+ places | 🟠 P1 | Duplicated validation, repeated queries |
|
|
164
|
+
| **Wrong granularity** | Too many tiny files or too few large files | 🟡 P2 | 1-liner utils as separate files |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 5. Output Template
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
# Architecture Compliance Review
|
|
172
|
+
|
|
173
|
+
**Scope:** <PR/module>
|
|
174
|
+
**Reviewer:** Reviewer Agent
|
|
175
|
+
**Date:** YYYY-MM-DD
|
|
176
|
+
**Reference:** Architecture Doc, ADR-xxx
|
|
177
|
+
|
|
178
|
+
## Findings
|
|
179
|
+
|
|
180
|
+
| # | Severity | Check | File:Line | Finding | Fix |
|
|
181
|
+
|---|----------|-------|-----------|---------|-----|
|
|
182
|
+
| 1 | 🔴 P0 | ARCH-01 | `routes/coupons.js:25` | `Coupon.find()` called directly in route | Move to `couponService.list()` |
|
|
183
|
+
| 2 | 🟠 P1 | ARCH-10 | `services/settings.js` | 620 lines — God Object risk | Split into `settingsService` + `templateService` |
|
|
184
|
+
| 3 | 🟠 P1 | ARCH-15 | `services/analytics.js` | New analytics module, no ADR | Create ADR for analytics approach |
|
|
185
|
+
|
|
186
|
+
## Layer Compliance
|
|
187
|
+
| Layer | Files | Violations | Status |
|
|
188
|
+
|-------|:-----:|:----------:|:------:|
|
|
189
|
+
| Routes | 5 | 0 | ✅ |
|
|
190
|
+
| Controllers | 4 | 1 | ⚠️ |
|
|
191
|
+
| Services | 6 | 0 | ✅ |
|
|
192
|
+
| Repos | 3 | 0 | ✅ |
|
|
193
|
+
|
|
194
|
+
## ADR Compliance
|
|
195
|
+
| ADR | Description | Compliant? |
|
|
196
|
+
|-----|-------------|:----------:|
|
|
197
|
+
| ADR-018 | ImageViewer component | ✅ |
|
|
198
|
+
| ADR-019 | CSS overflow strategy | ✅ |
|
|
199
|
+
| — | New analytics pattern | ❌ ADR needed |
|
|
200
|
+
|
|
201
|
+
## Verdict
|
|
202
|
+
- ✅ COMPLIANT — architecture fully followed
|
|
203
|
+
- ⚠️ VIOLATIONS — fix P0/P1 before merge
|
|
204
|
+
- ❌ REDESIGN — fundamental architecture mismatch
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## See also
|
|
210
|
+
- `$architecture_doc` — Architecture Document (reference)
|
|
211
|
+
- `$adr_log` — ADR Log (reference)
|
|
212
|
+
- `$code_review_checklist` — general review (architecture section)
|
|
213
|
+
- `$current_state_analysis` — initial repo audit
|