@jetrabbits/agentic 0.0.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.md +143 -0
- package/README.md +154 -0
- package/agentic +1615 -0
- package/areas/devops/ci-cd/AGENTS.md +48 -0
- package/areas/devops/ci-cd/PROMPTS.md +7 -0
- package/areas/devops/ci-cd/prompts/onboard-repo.md +97 -0
- package/areas/devops/ci-cd/prompts/pipeline-debug.md +103 -0
- package/areas/devops/ci-cd/prompts/release-pipeline.md +115 -0
- package/areas/devops/ci-cd/rules/pipeline-standards.md +33 -0
- package/areas/devops/ci-cd/rules/quality-gates.md +24 -0
- package/areas/devops/ci-cd/rules/supply-chain-security.md +34 -0
- package/areas/devops/ci-cd/skills/artifact-management/SKILL.md +157 -0
- package/areas/devops/ci-cd/skills/build-optimization/SKILL.md +168 -0
- package/areas/devops/ci-cd/skills/github-actions-patterns/SKILL.md +190 -0
- package/areas/devops/ci-cd/skills/gitlab-ci-patterns/SKILL.md +169 -0
- package/areas/devops/ci-cd/skills/pipeline-security/SKILL.md +161 -0
- package/areas/devops/ci-cd/workflows/onboard-repo.md +73 -0
- package/areas/devops/ci-cd/workflows/pipeline-debug.md +66 -0
- package/areas/devops/ci-cd/workflows/release-pipeline.md +115 -0
- package/areas/devops/database-ops/AGENTS.md +47 -0
- package/areas/devops/database-ops/prompts/backup-verify.md +83 -0
- package/areas/devops/database-ops/prompts/db-incident.md +127 -0
- package/areas/devops/database-ops/rules/access-control.md +20 -0
- package/areas/devops/database-ops/rules/backup-policy.md +33 -0
- package/areas/devops/database-ops/rules/migration-runbook.md +32 -0
- package/areas/devops/database-ops/skills/backup-restore/SKILL.md +226 -0
- package/areas/devops/database-ops/skills/db-performance/SKILL.md +205 -0
- package/areas/devops/database-ops/skills/migration-safety/SKILL.md +155 -0
- package/areas/devops/database-ops/skills/postgres-operations/SKILL.md +156 -0
- package/areas/devops/database-ops/skills/redis-operations/SKILL.md +174 -0
- package/areas/devops/database-ops/workflows/backup-verify.md +107 -0
- package/areas/devops/database-ops/workflows/db-incident.md +86 -0
- package/areas/devops/devsecops/AGENTS.md +47 -0
- package/areas/devops/devsecops/prompts/policy-onboard.md +79 -0
- package/areas/devops/devsecops/prompts/security-scan-pipeline.md +131 -0
- package/areas/devops/devsecops/rules/container-security.md +22 -0
- package/areas/devops/devsecops/rules/policy-as-code.md +37 -0
- package/areas/devops/devsecops/rules/shift-left-policy.md +26 -0
- package/areas/devops/devsecops/skills/container-hardening/SKILL.md +146 -0
- package/areas/devops/devsecops/skills/opa-policies/SKILL.md +188 -0
- package/areas/devops/devsecops/skills/sbom-supply-chain/SKILL.md +165 -0
- package/areas/devops/devsecops/skills/secret-detection/SKILL.md +190 -0
- package/areas/devops/devsecops/skills/sigstore-signing/SKILL.md +184 -0
- package/areas/devops/devsecops/workflows/policy-onboard.md +104 -0
- package/areas/devops/devsecops/workflows/security-scan-pipeline.md +155 -0
- package/areas/devops/infrastructure/AGENTS.md +50 -0
- package/areas/devops/infrastructure/prompts/destroy-environment.md +81 -0
- package/areas/devops/infrastructure/prompts/drift-remediation.md +71 -0
- package/areas/devops/infrastructure/prompts/module-development.md +69 -0
- package/areas/devops/infrastructure/prompts/provision-environment.md +121 -0
- package/areas/devops/infrastructure/rules/iac-standards.md +80 -0
- package/areas/devops/infrastructure/rules/immutability.md +28 -0
- package/areas/devops/infrastructure/rules/secret-hygiene.md +53 -0
- package/areas/devops/infrastructure/rules/state-management.md +47 -0
- package/areas/devops/infrastructure/skills/ansible-playbooks/SKILL.md +174 -0
- package/areas/devops/infrastructure/skills/cost-optimization/SKILL.md +177 -0
- package/areas/devops/infrastructure/skills/drift-detection/SKILL.md +178 -0
- package/areas/devops/infrastructure/skills/state-management/SKILL.md +159 -0
- package/areas/devops/infrastructure/skills/terraform-modules/SKILL.md +169 -0
- package/areas/devops/infrastructure/workflows/destroy-environment.md +96 -0
- package/areas/devops/infrastructure/workflows/drift-remediation.md +66 -0
- package/areas/devops/infrastructure/workflows/module-development.md +101 -0
- package/areas/devops/infrastructure/workflows/provision-environment.md +96 -0
- package/areas/devops/kubernetes/AGENTS.md +57 -0
- package/areas/devops/kubernetes/PROMPTS.md +9 -0
- package/areas/devops/kubernetes/prompts/cluster-bootstrap.md +67 -0
- package/areas/devops/kubernetes/prompts/debug-workload.md +91 -0
- package/areas/devops/kubernetes/prompts/onboard-service.md +101 -0
- package/areas/devops/kubernetes/prompts/upgrade-cluster.md +63 -0
- package/areas/devops/kubernetes/rules/cluster-standards.md +51 -0
- package/areas/devops/kubernetes/rules/resource-governance.md +80 -0
- package/areas/devops/kubernetes/rules/upgrade-policy.md +52 -0
- package/areas/devops/kubernetes/rules/workload-security.md +64 -0
- package/areas/devops/kubernetes/skills/cluster-operations/SKILL.md +136 -0
- package/areas/devops/kubernetes/skills/helm-charts/SKILL.md +152 -0
- package/areas/devops/kubernetes/skills/network-policies/SKILL.md +169 -0
- package/areas/devops/kubernetes/skills/pod-troubleshooting/SKILL.md +129 -0
- package/areas/devops/kubernetes/skills/rbac-design/SKILL.md +148 -0
- package/areas/devops/kubernetes/skills/resource-tuning/SKILL.md +156 -0
- package/areas/devops/kubernetes/workflows/cluster-bootstrap.md +194 -0
- package/areas/devops/kubernetes/workflows/debug-workload.md +108 -0
- package/areas/devops/kubernetes/workflows/onboard-service.md +124 -0
- package/areas/devops/kubernetes/workflows/upgrade-cluster.md +165 -0
- package/areas/devops/networking/AGENTS.md +47 -0
- package/areas/devops/networking/prompts/onboard-ingress.md +119 -0
- package/areas/devops/networking/prompts/service-mesh-onboard.md +77 -0
- package/areas/devops/networking/rules/ingress-standards.md +17 -0
- package/areas/devops/networking/rules/network-segmentation.md +24 -0
- package/areas/devops/networking/rules/tls-policy.md +32 -0
- package/areas/devops/networking/skills/dns-management/SKILL.md +169 -0
- package/areas/devops/networking/skills/ingress-patterns/SKILL.md +165 -0
- package/areas/devops/networking/skills/service-mesh/SKILL.md +206 -0
- package/areas/devops/networking/skills/tls-termination/SKILL.md +198 -0
- package/areas/devops/networking/skills/vpc-design/SKILL.md +132 -0
- package/areas/devops/networking/workflows/onboard-ingress.md +64 -0
- package/areas/devops/networking/workflows/service-mesh-onboard.md +122 -0
- package/areas/devops/observability/AGENTS.md +48 -0
- package/areas/devops/observability/prompts/alert-investigation.md +117 -0
- package/areas/devops/observability/prompts/observability-stack-setup.md +99 -0
- package/areas/devops/observability/prompts/onboard-service-monitoring.md +79 -0
- package/areas/devops/observability/rules/alerting-standards.md +36 -0
- package/areas/devops/observability/rules/data-retention.md +19 -0
- package/areas/devops/observability/rules/golden-signals.md +28 -0
- package/areas/devops/observability/skills/distributed-tracing/SKILL.md +149 -0
- package/areas/devops/observability/skills/grafana-dashboards/SKILL.md +201 -0
- package/areas/devops/observability/skills/log-aggregation/SKILL.md +159 -0
- package/areas/devops/observability/skills/prometheus-alertmanager/SKILL.md +188 -0
- package/areas/devops/observability/skills/slo-implementation/SKILL.md +189 -0
- package/areas/devops/observability/workflows/alert-investigation.md +98 -0
- package/areas/devops/observability/workflows/observability-stack-setup.md +156 -0
- package/areas/devops/observability/workflows/onboard-service-monitoring.md +83 -0
- package/areas/devops/sre/AGENTS.md +48 -0
- package/areas/devops/sre/prompts/incident-response.md +129 -0
- package/areas/devops/sre/prompts/postmortem.md +101 -0
- package/areas/devops/sre/prompts/slo-review.md +125 -0
- package/areas/devops/sre/rules/error-budget-policy.md +25 -0
- package/areas/devops/sre/rules/on-call-standards.md +25 -0
- package/areas/devops/sre/rules/slo-policy.md +31 -0
- package/areas/devops/sre/skills/capacity-planning/SKILL.md +162 -0
- package/areas/devops/sre/skills/chaos-engineering/SKILL.md +186 -0
- package/areas/devops/sre/skills/incident-command/SKILL.md +119 -0
- package/areas/devops/sre/skills/postmortem-analysis/SKILL.md +104 -0
- package/areas/devops/sre/skills/slo-sli-design/SKILL.md +145 -0
- package/areas/devops/sre/workflows/incident-response.md +66 -0
- package/areas/devops/sre/workflows/postmortem.md +90 -0
- package/areas/devops/sre/workflows/slo-review.md +95 -0
- package/areas/software/backend/AGENTS.md +59 -0
- package/areas/software/backend/PROMPTS.md +50 -0
- package/areas/software/backend/README.md +48 -0
- package/areas/software/backend/prompts/add-migration.md +93 -0
- package/areas/software/backend/prompts/create-endpoint.md +97 -0
- package/areas/software/backend/prompts/debug-issue.md +87 -0
- package/areas/software/backend/prompts/develop-epic.md +83 -0
- package/areas/software/backend/prompts/develop-feature.md +91 -0
- package/areas/software/backend/prompts/refactor-module.md +79 -0
- package/areas/software/backend/prompts/test-feature.md +89 -0
- package/areas/software/backend/rules/architecture.md +20 -0
- package/areas/software/backend/rules/data_access.md +20 -0
- package/areas/software/backend/rules/security.md +20 -0
- package/areas/software/backend/rules/testing.md +19 -0
- package/areas/software/backend/skills/api-design/SKILL.md +170 -0
- package/areas/software/backend/skills/async-processing/SKILL.md +152 -0
- package/areas/software/backend/skills/database-modeling/SKILL.md +173 -0
- package/areas/software/backend/skills/observability/SKILL.md +162 -0
- package/areas/software/backend/skills/troubleshooting/SKILL.md +139 -0
- package/areas/software/backend/workflows/add-migration.md +79 -0
- package/areas/software/backend/workflows/create-endpoint.md +89 -0
- package/areas/software/backend/workflows/debug-issue.md +77 -0
- package/areas/software/backend/workflows/develop-epic.md +78 -0
- package/areas/software/backend/workflows/develop-feature.md +98 -0
- package/areas/software/backend/workflows/refactor-module.md +73 -0
- package/areas/software/backend/workflows/test-feature.md +67 -0
- package/areas/software/data-engineering/AGENTS.md +59 -0
- package/areas/software/data-engineering/PROMPTS.md +32 -0
- package/areas/software/data-engineering/prompts/backfill-data.md +107 -0
- package/areas/software/data-engineering/prompts/data-quality-incident.md +109 -0
- package/areas/software/data-engineering/prompts/lineage-trace.md +121 -0
- package/areas/software/data-engineering/prompts/new-model.md +117 -0
- package/areas/software/data-engineering/prompts/schema-migration.md +111 -0
- package/areas/software/data-engineering/rules/data-governance.md +11 -0
- package/areas/software/data-engineering/rules/pii-handling.md +19 -0
- package/areas/software/data-engineering/rules/pipeline-integrity.md +11 -0
- package/areas/software/data-engineering/rules/schema-management.md +21 -0
- package/areas/software/data-engineering/skills/data-modeling/SKILL.md +49 -0
- package/areas/software/data-engineering/skills/dbt-patterns/SKILL.md +43 -0
- package/areas/software/data-engineering/skills/lineage-governance/SKILL.md +38 -0
- package/areas/software/data-engineering/skills/orchestration/SKILL.md +35 -0
- package/areas/software/data-engineering/skills/quality-checks/SKILL.md +50 -0
- package/areas/software/data-engineering/skills/sql-optimization/SKILL.md +47 -0
- package/areas/software/data-engineering/skills/streaming-patterns/SKILL.md +48 -0
- package/areas/software/data-engineering/workflows/backfill-data.md +59 -0
- package/areas/software/data-engineering/workflows/data-quality-incident.md +64 -0
- package/areas/software/data-engineering/workflows/lineage-trace.md +56 -0
- package/areas/software/data-engineering/workflows/new-model.md +71 -0
- package/areas/software/data-engineering/workflows/schema-migration.md +67 -0
- package/areas/software/frontend/AGENTS.md +60 -0
- package/areas/software/frontend/PROMPTS.md +32 -0
- package/areas/software/frontend/prompts/a11y-fix.md +75 -0
- package/areas/software/frontend/prompts/bundle-analyze.md +75 -0
- package/areas/software/frontend/prompts/release-prep.md +83 -0
- package/areas/software/frontend/prompts/scaffold-component.md +69 -0
- package/areas/software/frontend/prompts/visual-regression.md +73 -0
- package/areas/software/frontend/rules/accessibility.md +16 -0
- package/areas/software/frontend/rules/architecture.md +29 -0
- package/areas/software/frontend/rules/performance.md +23 -0
- package/areas/software/frontend/rules/quality.md +12 -0
- package/areas/software/frontend/skills/a11y-audit/SKILL.md +61 -0
- package/areas/software/frontend/skills/api-integration/SKILL.md +58 -0
- package/areas/software/frontend/skills/component-design/SKILL.md +171 -0
- package/areas/software/frontend/skills/css-architecture/SKILL.md +146 -0
- package/areas/software/frontend/skills/error-handling/SKILL.md +55 -0
- package/areas/software/frontend/skills/performance-tuning/SKILL.md +58 -0
- package/areas/software/frontend/skills/state-management/SKILL.md +54 -0
- package/areas/software/frontend/skills/testing-patterns/SKILL.md +69 -0
- package/areas/software/frontend/workflows/a11y-fix.md +63 -0
- package/areas/software/frontend/workflows/bundle-analyze.md +56 -0
- package/areas/software/frontend/workflows/release-prep.md +66 -0
- package/areas/software/frontend/workflows/scaffold-component.md +67 -0
- package/areas/software/frontend/workflows/visual-regression.md +65 -0
- package/areas/software/full-stack/AGENTS.md +72 -0
- package/areas/software/full-stack/PROMPTS.md +66 -0
- package/areas/software/full-stack/prompts/backend-project-full-cycle.md +141 -0
- package/areas/software/full-stack/prompts/debug-issue.md +115 -0
- package/areas/software/full-stack/prompts/develop-feature.md +119 -0
- package/areas/software/full-stack/prompts/feature-implementation-flow.md +137 -0
- package/areas/software/full-stack/prompts/testing-ci-pipeline.md +119 -0
- package/areas/software/full-stack/rules/api-design-guide.md +24 -0
- package/areas/software/full-stack/rules/async-concurrency-guide.md +21 -0
- package/areas/software/full-stack/rules/backend-architecture-rule.md +41 -0
- package/areas/software/full-stack/rules/background-jobs-guide.md +20 -0
- package/areas/software/full-stack/rules/code-quality-guide.md +22 -0
- package/areas/software/full-stack/rules/database-access-guide.md +24 -0
- package/areas/software/full-stack/rules/database-migrations-guide.md +24 -0
- package/areas/software/full-stack/rules/domain-models-guide.md +28 -0
- package/areas/software/full-stack/rules/e2e-test-guide.md +18 -0
- package/areas/software/full-stack/rules/env-settings-guide.md +34 -0
- package/areas/software/full-stack/rules/error-handling-guide.md +20 -0
- package/areas/software/full-stack/rules/logging-observability-guide.md +22 -0
- package/areas/software/full-stack/rules/project-guide.md +34 -0
- package/areas/software/full-stack/rules/python-venv-guide.md +23 -0
- package/areas/software/full-stack/rules/security-guide.md +22 -0
- package/areas/software/full-stack/rules/svt-test-guide.md +17 -0
- package/areas/software/full-stack/rules/testing-ci-guide.md +25 -0
- package/areas/software/full-stack/skills/api-design-principles/SKILL.md +125 -0
- package/areas/software/full-stack/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/areas/software/full-stack/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/areas/software/full-stack/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/areas/software/full-stack/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/areas/software/full-stack/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/areas/software/full-stack/skills/api-patterns/SKILL.md +81 -0
- package/areas/software/full-stack/skills/api-patterns/api-style.md +42 -0
- package/areas/software/full-stack/skills/api-patterns/auth.md +24 -0
- package/areas/software/full-stack/skills/api-patterns/documentation.md +26 -0
- package/areas/software/full-stack/skills/api-patterns/graphql.md +41 -0
- package/areas/software/full-stack/skills/api-patterns/rate-limiting.md +31 -0
- package/areas/software/full-stack/skills/api-patterns/response.md +37 -0
- package/areas/software/full-stack/skills/api-patterns/rest.md +40 -0
- package/areas/software/full-stack/skills/api-patterns/scripts/api_validator.py +211 -0
- package/areas/software/full-stack/skills/api-patterns/security-testing.md +122 -0
- package/areas/software/full-stack/skills/api-patterns/trpc.md +41 -0
- package/areas/software/full-stack/skills/api-patterns/versioning.md +22 -0
- package/areas/software/full-stack/skills/app-builder/SKILL.md +135 -0
- package/areas/software/full-stack/skills/app-builder/agent-coordination.md +71 -0
- package/areas/software/full-stack/skills/app-builder/feature-building.md +53 -0
- package/areas/software/full-stack/skills/app-builder/project-detection.md +34 -0
- package/areas/software/full-stack/skills/app-builder/scaffolding.md +118 -0
- package/areas/software/full-stack/skills/app-builder/tech-stack.md +40 -0
- package/areas/software/full-stack/skills/app-builder/templates/SKILL.md +39 -0
- package/areas/software/full-stack/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/areas/software/full-stack/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/areas/software/full-stack/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/areas/software/full-stack/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/areas/software/full-stack/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/areas/software/full-stack/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/areas/software/full-stack/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/areas/software/full-stack/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/areas/software/full-stack/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/areas/software/full-stack/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/areas/software/full-stack/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/areas/software/full-stack/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/areas/software/full-stack/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/areas/software/full-stack/skills/backend-developer/SKILL.md +58 -0
- package/areas/software/full-stack/skills/bash-pro/SKILL.md +310 -0
- package/areas/software/full-stack/skills/blackbox-test/SKILL.md +84 -0
- package/areas/software/full-stack/skills/prompt-project-planner/SKILL.md +130 -0
- package/areas/software/full-stack/skills/prompt-project-planner/output.schema.md +68 -0
- package/areas/software/full-stack/skills/prompt-project-planner/questions.md +80 -0
- package/areas/software/full-stack/skills/python-pro/SKILL.md +158 -0
- package/areas/software/full-stack/skills/skill-creator/LICENSE.txt +202 -0
- package/areas/software/full-stack/skills/skill-creator/SKILL.md +356 -0
- package/areas/software/full-stack/skills/skill-creator/references/output-patterns.md +82 -0
- package/areas/software/full-stack/skills/skill-creator/references/workflows.md +28 -0
- package/areas/software/full-stack/skills/skill-creator/scripts/init_skill.py +303 -0
- package/areas/software/full-stack/skills/skill-creator/scripts/package_skill.py +110 -0
- package/areas/software/full-stack/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/areas/software/full-stack/workflows/backend-project-full-cycle.md +132 -0
- package/areas/software/full-stack/workflows/debug-issue.md +70 -0
- package/areas/software/full-stack/workflows/develop-feature.md +85 -0
- package/areas/software/full-stack/workflows/feature-implementation-flow.md +78 -0
- package/areas/software/full-stack/workflows/testing-ci-pipeline.md +65 -0
- package/areas/software/general/AGENTS.md +68 -0
- package/areas/software/general/prompts/code-review-workflow.md +87 -0
- package/areas/software/general/prompts/development-cycle-workflow.md +83 -0
- package/areas/software/general/prompts/project-setup-workflow.md +93 -0
- package/areas/software/general/rules/code-style-guide.md +31 -0
- package/areas/software/general/rules/docker-compose-guide.md +27 -0
- package/areas/software/general/rules/git-workflow-guide.md +27 -0
- package/areas/software/general/rules/github-workflow-guide.md +27 -0
- package/areas/software/general/rules/gitlab-ci-guide.md +27 -0
- package/areas/software/general/rules/lint-format-guide.md +29 -0
- package/areas/software/general/rules/makefile-guide.md +34 -0
- package/areas/software/general/rules/readme-sync-guide.md +40 -0
- package/areas/software/general/rules/sdlc-methodology-guide.md +27 -0
- package/areas/software/general/rules/sdlc-role-responsibilities.md +108 -0
- package/areas/software/general/skills/general-dev-tools/SKILL.md +324 -0
- package/areas/software/general/workflows/code-review-workflow.md +84 -0
- package/areas/software/general/workflows/development-cycle-workflow.md +85 -0
- package/areas/software/general/workflows/project-setup-workflow.md +94 -0
- package/areas/software/mlops/AGENTS.md +57 -0
- package/areas/software/mlops/PROMPTS.md +32 -0
- package/areas/software/mlops/prompts/champion-challenger.md +87 -0
- package/areas/software/mlops/prompts/deploy-endpoint.md +91 -0
- package/areas/software/mlops/prompts/evaluate-model.md +87 -0
- package/areas/software/mlops/prompts/model-incident.md +87 -0
- package/areas/software/mlops/prompts/train-experiment.md +83 -0
- package/areas/software/mlops/rules/data-integrity.md +9 -0
- package/areas/software/mlops/rules/model-governance.md +9 -0
- package/areas/software/mlops/rules/production-safety.md +9 -0
- package/areas/software/mlops/rules/reproducibility.md +9 -0
- package/areas/software/mlops/skills/experiment-tracking/SKILL.md +29 -0
- package/areas/software/mlops/skills/feature-engineering/SKILL.md +44 -0
- package/areas/software/mlops/skills/inference-serving/SKILL.md +35 -0
- package/areas/software/mlops/skills/model-evaluation/SKILL.md +40 -0
- package/areas/software/mlops/skills/model-monitoring/SKILL.md +32 -0
- package/areas/software/mlops/workflows/champion-challenger.md +65 -0
- package/areas/software/mlops/workflows/deploy-endpoint.md +70 -0
- package/areas/software/mlops/workflows/evaluate-model.md +63 -0
- package/areas/software/mlops/workflows/model-incident.md +64 -0
- package/areas/software/mlops/workflows/train-experiment.md +56 -0
- package/areas/software/mobile/AGENTS.md +58 -0
- package/areas/software/mobile/PROMPTS.md +32 -0
- package/areas/software/mobile/prompts/crash-triage.md +63 -0
- package/areas/software/mobile/prompts/device-testing.md +83 -0
- package/areas/software/mobile/prompts/ota-update.md +75 -0
- package/areas/software/mobile/prompts/release-build.md +67 -0
- package/areas/software/mobile/prompts/store-submission.md +79 -0
- package/areas/software/mobile/rules/offline-first.md +10 -0
- package/areas/software/mobile/rules/performance-budget.md +20 -0
- package/areas/software/mobile/rules/platform-compliance.md +17 -0
- package/areas/software/mobile/rules/security-mobile.md +9 -0
- package/areas/software/mobile/skills/app-store-prep/SKILL.md +27 -0
- package/areas/software/mobile/skills/mobile-testing/SKILL.md +36 -0
- package/areas/software/mobile/skills/native-modules/SKILL.md +38 -0
- package/areas/software/mobile/skills/navigation-patterns/SKILL.md +49 -0
- package/areas/software/mobile/skills/push-notifications/SKILL.md +40 -0
- package/areas/software/mobile/skills/state-sync/SKILL.md +48 -0
- package/areas/software/mobile/workflows/crash-triage.md +63 -0
- package/areas/software/mobile/workflows/device-testing.md +54 -0
- package/areas/software/mobile/workflows/ota-update.md +54 -0
- package/areas/software/mobile/workflows/release-build.md +67 -0
- package/areas/software/mobile/workflows/store-submission.md +63 -0
- package/areas/software/platform/AGENTS.md +67 -0
- package/areas/software/platform/PROMPTS.md +32 -0
- package/areas/software/platform/prompts/cost-audit.md +117 -0
- package/areas/software/platform/prompts/deploy-production.md +109 -0
- package/areas/software/platform/prompts/drift-check.md +107 -0
- package/areas/software/platform/prompts/incident-response.md +121 -0
- package/areas/software/platform/prompts/provision-env.md +113 -0
- package/areas/software/platform/rules/cost-governance.md +11 -0
- package/areas/software/platform/rules/immutability.md +17 -0
- package/areas/software/platform/rules/reliability.md +19 -0
- package/areas/software/platform/rules/security-posture.md +12 -0
- package/areas/software/platform/skills/ci-cd-pipelines/SKILL.md +58 -0
- package/areas/software/platform/skills/incident-response/SKILL.md +41 -0
- package/areas/software/platform/skills/k8s-manifests/SKILL.md +56 -0
- package/areas/software/platform/skills/networking/SKILL.md +44 -0
- package/areas/software/platform/skills/observability-setup/SKILL.md +49 -0
- package/areas/software/platform/skills/secrets-management/SKILL.md +43 -0
- package/areas/software/platform/skills/terraform-patterns/SKILL.md +75 -0
- package/areas/software/platform/workflows/cost-audit.md +61 -0
- package/areas/software/platform/workflows/deploy-production.md +67 -0
- package/areas/software/platform/workflows/drift-check.md +61 -0
- package/areas/software/platform/workflows/incident-response.md +69 -0
- package/areas/software/platform/workflows/provision-env.md +77 -0
- package/areas/software/qa/AGENTS.md +58 -0
- package/areas/software/qa/PROMPTS.md +32 -0
- package/areas/software/qa/prompts/flakiness-investigation.md +61 -0
- package/areas/software/qa/prompts/performance-audit.md +65 -0
- package/areas/software/qa/prompts/regression-suite.md +61 -0
- package/areas/software/qa/prompts/smoke-test.md +65 -0
- package/areas/software/qa/prompts/test-coverage-report.md +61 -0
- package/areas/software/qa/rules/flakiness-policy.md +12 -0
- package/areas/software/qa/rules/quality-gates.md +28 -0
- package/areas/software/qa/rules/test-data.md +9 -0
- package/areas/software/qa/rules/test-strategy.md +11 -0
- package/areas/software/qa/skills/accessibility-testing/SKILL.md +139 -0
- package/areas/software/qa/skills/api-testing/SKILL.md +140 -0
- package/areas/software/qa/skills/e2e-patterns/SKILL.md +152 -0
- package/areas/software/qa/skills/performance-testing/SKILL.md +177 -0
- package/areas/software/qa/skills/test-data-management/SKILL.md +161 -0
- package/areas/software/qa/skills/test-pyramid/SKILL.md +127 -0
- package/areas/software/qa/workflows/flakiness-investigation.md +63 -0
- package/areas/software/qa/workflows/performance-audit.md +59 -0
- package/areas/software/qa/workflows/regression-suite.md +59 -0
- package/areas/software/qa/workflows/smoke-test.md +64 -0
- package/areas/software/qa/workflows/test-coverage-report.md +57 -0
- package/areas/software/security/AGENTS.md +58 -0
- package/areas/software/security/PROMPTS.md +32 -0
- package/areas/software/security/prompts/compliance-report.md +113 -0
- package/areas/software/security/prompts/pen-test-sim.md +113 -0
- package/areas/software/security/prompts/secret-rotation.md +115 -0
- package/areas/software/security/prompts/security-scan.md +91 -0
- package/areas/software/security/prompts/threat-model-review.md +105 -0
- package/areas/software/security/rules/compliance-baseline.md +23 -0
- package/areas/software/security/rules/dependency-policy.md +12 -0
- package/areas/software/security/rules/secrets-policy.md +22 -0
- package/areas/software/security/rules/secure-coding.md +22 -0
- package/areas/software/security/skills/auth-patterns/SKILL.md +42 -0
- package/areas/software/security/skills/crypto-standards/SKILL.md +42 -0
- package/areas/software/security/skills/dependency-audit/SKILL.md +29 -0
- package/areas/software/security/skills/sast-dast-interpretation/SKILL.md +33 -0
- package/areas/software/security/skills/security-headers/SKILL.md +29 -0
- package/areas/software/security/skills/threat-modeling/SKILL.md +36 -0
- package/areas/software/security/workflows/compliance-report.md +57 -0
- package/areas/software/security/workflows/pen-test-sim.md +63 -0
- package/areas/software/security/workflows/secret-rotation.md +67 -0
- package/areas/software/security/workflows/security-scan.md +64 -0
- package/areas/software/security/workflows/threat-model-review.md +62 -0
- package/areas/template/AGENTS-area.tmpl.md +61 -0
- package/areas/template/AGENTS.tmpl.md +67 -0
- package/areas/template/GUIDE.md +102 -0
- package/areas/template/PROMPTS.tmpl.md +29 -0
- package/areas/template/README.md +57 -0
- package/areas/template/README.tmpl.md +51 -0
- package/areas/template/prompt.tmpl.md +101 -0
- package/areas/template/rule.tmpl.md +71 -0
- package/areas/template/skill.tmpl.md +108 -0
- package/areas/template/workflow.tmpl.md +104 -0
- package/bin/agentic.js +24 -0
- package/extensions/antigravity/GEMINI.md +10 -0
- package/extensions/claude/CLAUDE.md +10 -0
- package/extensions/codex/AGENTS.override.md +93 -0
- package/extensions/gemini/GEMINI.md +10 -0
- package/extensions/opencode/agents/designer.md +65 -0
- package/extensions/opencode/agents/developer.md +63 -0
- package/extensions/opencode/agents/devops-engineer.md +69 -0
- package/extensions/opencode/agents/pm.md +61 -0
- package/extensions/opencode/agents/product-owner.md +76 -0
- package/extensions/opencode/agents/qa.md +66 -0
- package/extensions/opencode/agents/team-lead.md +67 -0
- package/extensions/opencode/commands/feature.md +75 -0
- package/extensions/opencode/opencode.json +93 -0
- package/extensions/opencode/plugins/model-checker.json +14 -0
- package/extensions/opencode/plugins/model-checker.ts +279 -0
- package/extensions/opencode/plugins/sound-notification.ts +13 -0
- package/extensions/opencode/plugins/telegram-notification.ts +86 -0
- package/extensions/opencode/skills/code_review_expert/SKILL.md +144 -0
- package/extensions/opencode/skills/design_expert/SKILL.md +42 -0
- package/extensions/opencode/skills/qa_expert/SKILL.md +116 -0
- package/package.json +19 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
workflow: schema-migration
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Prompt: `/schema-migration`
|
|
6
|
+
|
|
7
|
+
Use when: applying a breaking or non-breaking schema change to a data warehouse or dbt source — using expand/contract to avoid downstream breakage.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Example 1 — Breaking column rename (expand/contract)
|
|
12
|
+
|
|
13
|
+
**EN:**
|
|
14
|
+
```
|
|
15
|
+
/schema-migration
|
|
16
|
+
|
|
17
|
+
Change: rename column revenue → gross_revenue_usd in raw.orders (BigQuery)
|
|
18
|
+
Breaking: YES — 12 downstream dbt models reference "revenue" directly
|
|
19
|
+
Strategy: expand/contract
|
|
20
|
+
Phase 1 (Expand): add new column gross_revenue_usd (copy of revenue); keep revenue; deploy dbt models to use gross_revenue_usd
|
|
21
|
+
Phase 2 (Validate): run 7-day parallel validation — SUM(revenue) = SUM(gross_revenue_usd) per day
|
|
22
|
+
Phase 3 (Contract): drop column revenue after all downstream models migrated and validated
|
|
23
|
+
Timeline: Phase 1 this sprint; Phase 3 next sprint (safe window)
|
|
24
|
+
Downstream models: models/staging/stg_orders.sql, models/mart/orders_daily.sql (+ 10 others — list attached)
|
|
25
|
+
Stakeholder notification: analytics team must update any direct SQL queries against raw.orders
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**RU:**
|
|
29
|
+
```
|
|
30
|
+
/schema-migration
|
|
31
|
+
|
|
32
|
+
Изменение: переименование столбца revenue → gross_revenue_usd в raw.orders (BigQuery)
|
|
33
|
+
Breaking: ДА — 12 downstream dbt моделей ссылаются на "revenue" напрямую
|
|
34
|
+
Стратегия: expand/contract
|
|
35
|
+
Фаза 1 (Expand): добавить новый столбец gross_revenue_usd (копия revenue); оставить revenue; задеплоить dbt модели на использование gross_revenue_usd
|
|
36
|
+
Фаза 2 (Validate): запустить 7-дневную параллельную валидацию — SUM(revenue) = SUM(gross_revenue_usd) за день
|
|
37
|
+
Фаза 3 (Contract): удалить столбец revenue после миграции и валидации всех downstream моделей
|
|
38
|
+
Timeline: Фаза 1 в этом спринте; Фаза 3 в следующем спринте (безопасное окно)
|
|
39
|
+
Downstream модели: models/staging/stg_orders.sql, models/mart/orders_daily.sql (+ 10 других — список приложен)
|
|
40
|
+
Уведомление стейкхолдеров: analytics команда должна обновить любые прямые SQL запросы к raw.orders
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Example 2 — Non-breaking new column
|
|
46
|
+
|
|
47
|
+
**EN:**
|
|
48
|
+
```
|
|
49
|
+
/schema-migration
|
|
50
|
+
|
|
51
|
+
Change: add column acquisition_channel (VARCHAR(50), nullable) to raw.users
|
|
52
|
+
Source: Fivetran CRM connector — new field available from 2024-09-01
|
|
53
|
+
Breaking: NO — additive change; existing queries unaffected
|
|
54
|
+
Migration steps:
|
|
55
|
+
1. Confirm Fivetran sync picks up new field (check schema in Fivetran UI)
|
|
56
|
+
2. Add column to stg_users.sql SELECT and schema.yml documentation
|
|
57
|
+
3. Add acquisition_channel to mart.user_cohorts grouping (new dimension)
|
|
58
|
+
4. Backfill: historical rows will be NULL (field not available before 2024-09-01)
|
|
59
|
+
5. Add dbt test: accepted_values(organic, paid_search, referral, social, direct, unknown)
|
|
60
|
+
Downstream impact: mart.user_cohorts will have new column — notify BI team to add to dashboards
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**RU:**
|
|
64
|
+
```
|
|
65
|
+
/schema-migration
|
|
66
|
+
|
|
67
|
+
Изменение: добавление столбца acquisition_channel (VARCHAR(50), nullable) в raw.users
|
|
68
|
+
Источник: Fivetran CRM коннектор — новое поле доступно с 2024-09-01
|
|
69
|
+
Breaking: НЕТ — аддитивное изменение; существующие запросы не затронуты
|
|
70
|
+
Шаги миграции:
|
|
71
|
+
1. Убедиться что Fivetran sync подхватывает новое поле (проверить схему в Fivetran UI)
|
|
72
|
+
2. Добавить acquisition_channel в SELECT stg_users.sql и документацию schema.yml
|
|
73
|
+
3. Добавить acquisition_channel в группировку mart.user_cohorts (новое измерение)
|
|
74
|
+
4. Бэкфилл: исторические строки будут NULL (поле недоступно до 2024-09-01)
|
|
75
|
+
5. Добавить dbt тест: accepted_values(organic, paid_search, referral, social, direct, unknown)
|
|
76
|
+
Влияние на downstream: mart.user_cohorts получит новый столбец — уведомить BI команду для добавления в дашборды
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Example 3 — Type change (breaking)
|
|
82
|
+
|
|
83
|
+
**EN:**
|
|
84
|
+
```
|
|
85
|
+
/schema-migration
|
|
86
|
+
|
|
87
|
+
Change: order_id column type VARCHAR(36) → BIGINT in raw.orders
|
|
88
|
+
Reason: source system migrated from UUID to integer IDs
|
|
89
|
+
Breaking: YES — all downstream models cast or join on order_id as string
|
|
90
|
+
Strategy:
|
|
91
|
+
1. Add order_id_new BIGINT column alongside VARCHAR order_id
|
|
92
|
+
2. Populate order_id_new for new records; historical UUIDs map to NULL (no integer equivalent)
|
|
93
|
+
3. Update all downstream models to use order_id_new with COALESCE(order_id_new, order_id) during transition
|
|
94
|
+
4. After 30 days, rename order_id_new → order_id; archive old VARCHAR column
|
|
95
|
+
Historical records: ~3M orders with UUID order_id — will retain VARCHAR; only new orders get BIGINT
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**RU:**
|
|
99
|
+
```
|
|
100
|
+
/schema-migration
|
|
101
|
+
|
|
102
|
+
Изменение: тип столбца order_id VARCHAR(36) → BIGINT в raw.orders
|
|
103
|
+
Причина: исходная система перешла с UUID на целочисленные ID
|
|
104
|
+
Breaking: ДА — все downstream модели приводят или джойнят order_id как строку
|
|
105
|
+
Стратегия:
|
|
106
|
+
1. Добавить столбец order_id_new BIGINT рядом с VARCHAR order_id
|
|
107
|
+
2. Заполнить order_id_new для новых записей; исторические UUID маппируются в NULL (нет целочислового эквивалента)
|
|
108
|
+
3. Обновить все downstream модели для использования order_id_new с COALESCE(order_id_new, order_id) в период перехода
|
|
109
|
+
4. Через 30 дней, переименовать order_id_new → order_id; архивировать старый VARCHAR столбец
|
|
110
|
+
Исторические записи: ~3M заказов с UUID order_id — сохранят VARCHAR; только новые заказы получат BIGINT
|
|
111
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Rule: Data Governance
|
|
2
|
+
|
|
3
|
+
**Priority**: P1 — Required before data is consumed by dashboards or downstream services.
|
|
4
|
+
|
|
5
|
+
## Constraints
|
|
6
|
+
|
|
7
|
+
1. **Table documentation**: Every warehouse table must have `description` and owner annotation.
|
|
8
|
+
2. **Column documentation**: All columns with non-obvious meaning must be documented.
|
|
9
|
+
3. **SLA declaration**: Every pipeline must declare its freshness SLA. Breach of SLA by > 2x must page data on-call.
|
|
10
|
+
4. **Data classification**: Every table classified as: `PUBLIC` / `INTERNAL` / `CONFIDENTIAL` / `RESTRICTED`.
|
|
11
|
+
5. **Deprecation policy**: Unused tables (no queries in 90 days) flagged; archived after 30-day notice.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Rule: PII Data Handling
|
|
2
|
+
|
|
3
|
+
**Priority**: P0 — PII exposure is a regulatory incident.
|
|
4
|
+
|
|
5
|
+
## PII Classification
|
|
6
|
+
|
|
7
|
+
| Type | Examples | Treatment |
|
|
8
|
+
|:---|:---|:---|
|
|
9
|
+
| Direct identifiers | Full name, email, phone, SSN | Hash (SHA-256 + salt) or tokenize |
|
|
10
|
+
| Quasi-identifiers | Date of birth, ZIP, gender | Generalize in analytics |
|
|
11
|
+
| Sensitive attributes | Health, financial, political views | Column-level encryption + RBAC |
|
|
12
|
+
| Behavioral data | Clickstream, location history | Aggregate only; row-level PII purged after 30 days |
|
|
13
|
+
|
|
14
|
+
## Constraints
|
|
15
|
+
|
|
16
|
+
1. **No PII in warehouse tables by default**: Analytical tables contain `user_id` (hashed/tokenized), never email or name.
|
|
17
|
+
2. **Data minimization**: Collect only what is needed. Each new data source requires documented business justification.
|
|
18
|
+
3. **Right to erasure**: User deletion propagates to all tables within 30 days.
|
|
19
|
+
4. **Cross-border restrictions**: EU resident data cannot be stored in non-EU regions without SCCs.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Rule: Pipeline Integrity
|
|
2
|
+
|
|
3
|
+
**Priority**: P0 — Violated pipelines are halted; downstream consumers notified.
|
|
4
|
+
|
|
5
|
+
## Constraints
|
|
6
|
+
|
|
7
|
+
1. **Idempotency**: Every pipeline produces identical output given identical input, regardless of how many times it runs.
|
|
8
|
+
2. **Exactly-once semantics**: Pipelines writing to sinks must implement deduplication. Preferred: natural keys + `INSERT OVERWRITE`.
|
|
9
|
+
3. **Fail loudly**: Pipelines must fail explicitly on data quality violations. Silent data corruption is a P0 incident.
|
|
10
|
+
4. **Lineage tracking**: Every table must have documented source lineage. "Orphan" tables eligible for deprecation after 30-day notice.
|
|
11
|
+
5. **No direct production writes from development**: Never point dev/staging pipelines to production. Use environment variables; never hardcode targets.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Rule: Schema Management
|
|
2
|
+
|
|
3
|
+
**Priority**: P0 — Breaking changes cause immediate downstream failures.
|
|
4
|
+
|
|
5
|
+
## Breaking Changes (require migration plan)
|
|
6
|
+
|
|
7
|
+
- Renaming or dropping a column
|
|
8
|
+
- Changing column data type to incompatible type
|
|
9
|
+
- Adding NOT NULL column without default value
|
|
10
|
+
- Changing partition keys
|
|
11
|
+
|
|
12
|
+
## Safe Changes
|
|
13
|
+
|
|
14
|
+
- Adding new nullable columns
|
|
15
|
+
- New tables
|
|
16
|
+
- New partitions
|
|
17
|
+
|
|
18
|
+
## Constraints
|
|
19
|
+
|
|
20
|
+
1. **Contract versioning**: Tables consumed by external systems versioned during migrations (`orders_v1`, `orders_v2`). Old version maintained ≥ 30 days.
|
|
21
|
+
2. **Schema registry for streaming**: All Kafka topics must have schemas in Confluent Schema Registry or AWS Glue. Producers validate before publishing.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Skill: Data Modeling
|
|
2
|
+
|
|
3
|
+
## When to load
|
|
4
|
+
|
|
5
|
+
When designing a warehouse schema, choosing between modeling approaches, or refactoring an existing model.
|
|
6
|
+
|
|
7
|
+
## Approach Decision Tree
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Primary consumer?
|
|
11
|
+
→ BI tools + analysts: Kimball (dimensional)
|
|
12
|
+
→ Data science + ML: Wide denormalized tables
|
|
13
|
+
→ Multiple teams: Data Vault
|
|
14
|
+
|
|
15
|
+
History tracking?
|
|
16
|
+
→ Never/rarely: Type 1 SCD (overwrite)
|
|
17
|
+
→ Track current + previous: Type 2 SCD (versioned rows)
|
|
18
|
+
|
|
19
|
+
Scale?
|
|
20
|
+
→ < 100 GB: Simple star schema
|
|
21
|
+
→ 100 GB – 10 TB: Partitioned star schema
|
|
22
|
+
→ > 10 TB: Data Vault or Lakehouse (Delta/Iceberg)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## dbt Layering (Medallion Architecture)
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
sources/ ← Raw data as-is from source systems
|
|
29
|
+
staging/ ← Cleaned, renamed, typed. 1:1 with source tables.
|
|
30
|
+
intermediate/ ← Business logic, joins. Not exposed directly.
|
|
31
|
+
marts/ ← Dimensional models for specific use cases
|
|
32
|
+
├── core/ ← fct_*, dim_*
|
|
33
|
+
└── finance/ ← rpt_*
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Fact Table Template
|
|
37
|
+
|
|
38
|
+
```sql
|
|
39
|
+
CREATE TABLE fct_orders (
|
|
40
|
+
order_key BIGINT PRIMARY KEY, -- surrogate key
|
|
41
|
+
order_id VARCHAR NOT NULL, -- natural key
|
|
42
|
+
user_key BIGINT REFERENCES dim_users(user_key),
|
|
43
|
+
date_key INT REFERENCES dim_date(date_key),
|
|
44
|
+
quantity INT NOT NULL,
|
|
45
|
+
total_amount NUMERIC(10,2) NOT NULL,
|
|
46
|
+
loaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
47
|
+
source_system VARCHAR DEFAULT 'orders-api'
|
|
48
|
+
);
|
|
49
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Skill: dbt Development Patterns
|
|
2
|
+
|
|
3
|
+
## When to load
|
|
4
|
+
|
|
5
|
+
When building dbt models, writing macros, or configuring materializations.
|
|
6
|
+
|
|
7
|
+
## Materialization Strategy
|
|
8
|
+
|
|
9
|
+
| Layer | Materialization | Why |
|
|
10
|
+
|:---|:---|:---|
|
|
11
|
+
| `staging/` | `view` | Always reflects source |
|
|
12
|
+
| `intermediate/` | `ephemeral` | Reduce clutter |
|
|
13
|
+
| `marts/` | `table` or `incremental` | Pre-computed for BI |
|
|
14
|
+
|
|
15
|
+
## Incremental Model
|
|
16
|
+
|
|
17
|
+
```sql
|
|
18
|
+
{{
|
|
19
|
+
config(
|
|
20
|
+
materialized='incremental',
|
|
21
|
+
unique_key='order_id',
|
|
22
|
+
incremental_strategy='merge',
|
|
23
|
+
partition_by={'field': 'order_date', 'data_type': 'date'},
|
|
24
|
+
)
|
|
25
|
+
}}
|
|
26
|
+
|
|
27
|
+
SELECT order_id, user_id, order_date, total_amount
|
|
28
|
+
FROM {{ ref('stg_orders') }}
|
|
29
|
+
|
|
30
|
+
{% if is_incremental() %}
|
|
31
|
+
WHERE order_date >= (SELECT MAX(order_date) FROM {{ this }}) - INTERVAL '3 days'
|
|
32
|
+
{% endif %}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Audit Columns Macro
|
|
36
|
+
|
|
37
|
+
```sql
|
|
38
|
+
{% macro audit_columns() %}
|
|
39
|
+
CURRENT_TIMESTAMP AS loaded_at,
|
|
40
|
+
'{{ invocation_id }}' AS dbt_invocation_id,
|
|
41
|
+
'{{ this.name }}' AS dbt_model
|
|
42
|
+
{% endmacro %}
|
|
43
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Skill: Data Lineage & Governance
|
|
2
|
+
|
|
3
|
+
## When to load
|
|
4
|
+
|
|
5
|
+
When tracing data origins, assessing impact of schema changes, or managing data catalog.
|
|
6
|
+
|
|
7
|
+
## Lineage in dbt
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
dbt manifest.json contains full lineage graph.
|
|
11
|
+
Use: dbt ls --select +model_name (upstream)
|
|
12
|
+
dbt ls --select model_name+ (downstream)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Impact Assessment for Column Change
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Before renaming/dropping a column:
|
|
19
|
+
1. dbt ls --select model_name+ → list all downstream models
|
|
20
|
+
2. Check dashboards/BI tools connected to those models
|
|
21
|
+
3. Check ML feature pipelines consuming the column
|
|
22
|
+
4. Estimate blast radius: N models, M dashboards affected
|
|
23
|
+
|
|
24
|
+
Migration approach for breaking changes:
|
|
25
|
+
Phase 1: Add new column alongside old column
|
|
26
|
+
Phase 2: Migrate downstream consumers to new column (coordinate with owners)
|
|
27
|
+
Phase 3: Mark old column deprecated in YAML docs
|
|
28
|
+
Phase 4 (after 30 days): Drop old column
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Data Catalog Standards
|
|
32
|
+
|
|
33
|
+
Every table in the warehouse must have:
|
|
34
|
+
- `description`: what the table represents (grain, one sentence)
|
|
35
|
+
- `owner`: team or person responsible
|
|
36
|
+
- `data_classification`: PUBLIC / INTERNAL / CONFIDENTIAL / RESTRICTED
|
|
37
|
+
- `sla_freshness`: expected update frequency
|
|
38
|
+
- Column descriptions for all non-obvious fields
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Skill: Pipeline Orchestration (Airflow)
|
|
2
|
+
|
|
3
|
+
## When to load
|
|
4
|
+
|
|
5
|
+
When designing DAGs, debugging pipeline failures, or configuring retries.
|
|
6
|
+
|
|
7
|
+
## DAG Template
|
|
8
|
+
|
|
9
|
+
```python
|
|
10
|
+
with DAG(
|
|
11
|
+
dag_id="orders_pipeline",
|
|
12
|
+
default_args={
|
|
13
|
+
"owner": "data-platform",
|
|
14
|
+
"retries": 3,
|
|
15
|
+
"retry_delay": timedelta(minutes=5),
|
|
16
|
+
"retry_exponential_backoff": True,
|
|
17
|
+
"email_on_failure": True,
|
|
18
|
+
},
|
|
19
|
+
schedule="0 4 * * *",
|
|
20
|
+
catchup=False, # ← Never True; causes backfill avalanche
|
|
21
|
+
max_active_runs=1, # Prevent concurrent runs
|
|
22
|
+
) as dag:
|
|
23
|
+
...
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Idempotent Task Pattern
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
def load_orders(execution_date: str, **context):
|
|
30
|
+
"""Safe to retry: DELETE + INSERT on target partition."""
|
|
31
|
+
partition = execution_date[:10]
|
|
32
|
+
with warehouse.connect() as conn:
|
|
33
|
+
conn.execute(f"DELETE FROM stg_orders WHERE order_date = '{partition}'")
|
|
34
|
+
conn.execute(f"INSERT INTO stg_orders SELECT * FROM raw_orders WHERE DATE(created_at) = '{partition}'")
|
|
35
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Skill: Data Quality Checks
|
|
2
|
+
|
|
3
|
+
## When to load
|
|
4
|
+
|
|
5
|
+
When adding tests to dbt models, implementing data validation, or investigating quality incidents.
|
|
6
|
+
|
|
7
|
+
## dbt Test Taxonomy
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
models:
|
|
11
|
+
- name: fct_orders
|
|
12
|
+
columns:
|
|
13
|
+
- name: order_key
|
|
14
|
+
tests: [unique, not_null]
|
|
15
|
+
- name: user_key
|
|
16
|
+
tests:
|
|
17
|
+
- not_null
|
|
18
|
+
- relationships:
|
|
19
|
+
to: ref('dim_users')
|
|
20
|
+
field: user_key
|
|
21
|
+
- name: total_amount
|
|
22
|
+
tests:
|
|
23
|
+
- not_null
|
|
24
|
+
- dbt_utils.expression_is_true:
|
|
25
|
+
expression: ">= 0"
|
|
26
|
+
- name: order_status
|
|
27
|
+
tests:
|
|
28
|
+
- accepted_values:
|
|
29
|
+
values: ['pending', 'processing', 'completed', 'cancelled']
|
|
30
|
+
tests:
|
|
31
|
+
- dbt_utils.recency:
|
|
32
|
+
datepart: hour
|
|
33
|
+
field: loaded_at
|
|
34
|
+
interval: 4
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Volume Anomaly Detection
|
|
38
|
+
|
|
39
|
+
```sql
|
|
40
|
+
-- Alert when daily row count deviates > 3σ from 30-day rolling average
|
|
41
|
+
WITH stats AS (
|
|
42
|
+
SELECT
|
|
43
|
+
load_date, row_count,
|
|
44
|
+
AVG(row_count) OVER (ORDER BY load_date ROWS BETWEEN 29 PRECEDING AND 1 PRECEDING) AS rolling_avg,
|
|
45
|
+
STDDEV(row_count) OVER (ORDER BY load_date ROWS BETWEEN 29 PRECEDING AND 1 PRECEDING) AS rolling_std
|
|
46
|
+
FROM daily_counts
|
|
47
|
+
)
|
|
48
|
+
SELECT *, CASE WHEN ABS(row_count - rolling_avg) > 3 * rolling_std THEN 'ANOMALY' ELSE 'OK' END AS status
|
|
49
|
+
FROM stats WHERE load_date = CURRENT_DATE - 1;
|
|
50
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Skill: SQL Optimization
|
|
2
|
+
|
|
3
|
+
## When to load
|
|
4
|
+
|
|
5
|
+
When writing complex queries, optimizing slow queries, designing indexes, or reviewing query performance.
|
|
6
|
+
|
|
7
|
+
## Core Patterns
|
|
8
|
+
|
|
9
|
+
```sql
|
|
10
|
+
-- ✅ Column projection — never SELECT *
|
|
11
|
+
SELECT user_id, created_at, total_amount FROM orders WHERE created_at >= '2026-01-01';
|
|
12
|
+
|
|
13
|
+
-- ✅ Partition pruning — filter on partition column first
|
|
14
|
+
SELECT user_id, total_amount
|
|
15
|
+
FROM orders
|
|
16
|
+
WHERE order_date = '2026-01-15' -- partition filter first
|
|
17
|
+
AND status = 'completed';
|
|
18
|
+
|
|
19
|
+
-- ❌ Function on indexed column defeats index
|
|
20
|
+
WHERE DATE(created_at) = '2026-01-15'
|
|
21
|
+
-- ✅ Range comparison preserves index
|
|
22
|
+
WHERE created_at >= '2026-01-15' AND created_at < '2026-01-16'
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Window Functions (prefer over self-joins)
|
|
26
|
+
|
|
27
|
+
```sql
|
|
28
|
+
SELECT
|
|
29
|
+
user_id, order_date, amount,
|
|
30
|
+
SUM(amount) OVER (
|
|
31
|
+
PARTITION BY user_id ORDER BY order_date
|
|
32
|
+
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
|
|
33
|
+
) AS cumulative_amount,
|
|
34
|
+
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY order_date DESC) AS recency_rank
|
|
35
|
+
FROM orders;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Snowflake-Specific
|
|
39
|
+
|
|
40
|
+
```sql
|
|
41
|
+
-- Cluster keys on large tables (> 1 TB)
|
|
42
|
+
ALTER TABLE orders CLUSTER BY (order_date, status);
|
|
43
|
+
|
|
44
|
+
-- COPY INTO for bulk loads — never row-by-row INSERT
|
|
45
|
+
COPY INTO orders FROM @my_stage/orders/
|
|
46
|
+
FILE_FORMAT = (TYPE = PARQUET) MATCH_BY_COLUMN_NAME = CASE_INSENSITIVE;
|
|
47
|
+
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Skill: Streaming Data Patterns
|
|
2
|
+
|
|
3
|
+
## When to load
|
|
4
|
+
|
|
5
|
+
When designing Kafka consumers/producers or implementing real-time pipelines.
|
|
6
|
+
|
|
7
|
+
## Producer Best Practices
|
|
8
|
+
|
|
9
|
+
```python
|
|
10
|
+
producer = Producer({
|
|
11
|
+
"bootstrap.servers": settings.KAFKA_BROKERS,
|
|
12
|
+
"acks": "all", # Wait for all replicas
|
|
13
|
+
"retries": 5,
|
|
14
|
+
"enable.idempotence": True, # Exactly-once delivery
|
|
15
|
+
"compression.type": "snappy",
|
|
16
|
+
})
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Consumer Pattern
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
consumer = Consumer({
|
|
23
|
+
"group.id": "order-processor-v1", # Version when changing logic
|
|
24
|
+
"auto.offset.reset": "earliest",
|
|
25
|
+
"enable.auto.commit": False, # Manual commit: only after successful processing
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
msg = consumer.poll(timeout=1.0)
|
|
29
|
+
try:
|
|
30
|
+
process(deserialize(msg.value()))
|
|
31
|
+
consumer.commit(msg) # Commit only after success
|
|
32
|
+
except ProcessingError as e:
|
|
33
|
+
publish_to_dlq(msg, e) # Dead-letter, don't block partition
|
|
34
|
+
consumer.commit(msg)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Dead Letter Queue
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"original_topic": "orders.created.v1",
|
|
42
|
+
"original_offset": 12345,
|
|
43
|
+
"original_payload": "...",
|
|
44
|
+
"error_message": "Deserialization failed",
|
|
45
|
+
"error_timestamp": "2026-02-16T10:30:00Z",
|
|
46
|
+
"retry_count": 3
|
|
47
|
+
}
|
|
48
|
+
```
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: backfill-data
|
|
3
|
+
type: workflow
|
|
4
|
+
trigger: /backfill-data
|
|
5
|
+
description: Safely reprocess historical data without disrupting live pipelines or downstream consumers.
|
|
6
|
+
inputs:
|
|
7
|
+
- model_name
|
|
8
|
+
- date_range
|
|
9
|
+
outputs:
|
|
10
|
+
- backfilled_model
|
|
11
|
+
- validation_report
|
|
12
|
+
roles:
|
|
13
|
+
- developer
|
|
14
|
+
- qa
|
|
15
|
+
- team-lead
|
|
16
|
+
execution:
|
|
17
|
+
initiator: developer
|
|
18
|
+
related-rules:
|
|
19
|
+
- pipeline-integrity.md
|
|
20
|
+
- data-governance.md
|
|
21
|
+
uses-skills:
|
|
22
|
+
- orchestration
|
|
23
|
+
- quality-checks
|
|
24
|
+
quality-gates:
|
|
25
|
+
- single-partition validated before full run
|
|
26
|
+
- no duplicates on unique key post-backfill
|
|
27
|
+
- downstream consumers notified
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Steps
|
|
31
|
+
|
|
32
|
+
### 1. Impact Assessment — `@developer`
|
|
33
|
+
- **Input:** model name, date range
|
|
34
|
+
- **Actions:** identify all downstream models depending on target; estimate row count and processing time; check if model consumed by real-time dashboards or SLA-critical flows; calculate optimal batch size to avoid OOM; estimate compute cost (Snowflake credits, BigQuery bytes)
|
|
35
|
+
- **Output:** impact assessment note with batch plan and cost estimate
|
|
36
|
+
- **Done when:** `@team-lead` approves plan; cost within budget
|
|
37
|
+
|
|
38
|
+
### 2. Dry Run — `@qa`
|
|
39
|
+
- **Input:** approved batch plan
|
|
40
|
+
- **Actions:** run backfill on single-day partition first; compare row counts with source; check for duplicates on unique key
|
|
41
|
+
- **Output:** dry-run validation results
|
|
42
|
+
- **Done when:** single partition matches source with no duplicates
|
|
43
|
+
|
|
44
|
+
### 3. Execute Backfill — `@developer`
|
|
45
|
+
- **Input:** validated dry run
|
|
46
|
+
- **Actions:** run in off-peak hours; log progress every N batches; on failure: report which partition failed — do not retry blindly
|
|
47
|
+
- small models: `dbt run --select <model> --full-refresh`
|
|
48
|
+
- large ranges: chunked SQL with progress logging by month
|
|
49
|
+
- **Output:** backfill complete; progress log
|
|
50
|
+
- **Done when:** all partitions processed without errors
|
|
51
|
+
|
|
52
|
+
### 4. Post-Backfill Validation — `@qa`
|
|
53
|
+
- **Input:** backfilled model
|
|
54
|
+
- **Actions:** run dbt tests on backfilled model; compare key metrics before/after; verify no duplicates; notify downstream consumers that backfill is complete
|
|
55
|
+
- **Output:** `validation_report.md` — row counts, metric comparison, dbt test results
|
|
56
|
+
- **Done when:** all tests pass; metrics match expected; consumers notified
|
|
57
|
+
|
|
58
|
+
## Exit
|
|
59
|
+
Validated backfill + notified consumers + `@team-lead` sign-off = backfill complete.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: data-quality-incident
|
|
3
|
+
type: workflow
|
|
4
|
+
trigger: /data-quality-incident
|
|
5
|
+
description: Triage and resolve a data quality issue with quarantine, root cause analysis, and prevention.
|
|
6
|
+
inputs:
|
|
7
|
+
- model_name
|
|
8
|
+
- incident_type
|
|
9
|
+
outputs:
|
|
10
|
+
- remediated_model
|
|
11
|
+
- postmortem
|
|
12
|
+
roles:
|
|
13
|
+
- qa
|
|
14
|
+
- developer
|
|
15
|
+
- team-lead
|
|
16
|
+
execution:
|
|
17
|
+
initiator: qa
|
|
18
|
+
related-rules:
|
|
19
|
+
- pipeline-integrity.md
|
|
20
|
+
- data-governance.md
|
|
21
|
+
- pii-handling.md
|
|
22
|
+
uses-skills:
|
|
23
|
+
- quality-checks
|
|
24
|
+
- lineage-governance
|
|
25
|
+
quality-gates:
|
|
26
|
+
- affected partitions quarantined before fix
|
|
27
|
+
- root cause identified and documented
|
|
28
|
+
- monitoring rule added to prevent recurrence
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Steps
|
|
32
|
+
|
|
33
|
+
### 1. Scope & Triage — `@qa`
|
|
34
|
+
- **Input:** incident alert or report
|
|
35
|
+
- **Actions:** check row count and freshness on affected model; compare to expected values from monitoring baselines; identify when anomaly started and which partitions are affected; classify type: duplicate / missing / wrong_values / sla_breach
|
|
36
|
+
- **Output:** incident scope note — affected partitions, anomaly window, classification
|
|
37
|
+
- **Done when:** scope confirmed; `@team-lead` briefed
|
|
38
|
+
|
|
39
|
+
### 2. Quarantine — `@developer`
|
|
40
|
+
- **Input:** affected partitions list
|
|
41
|
+
- **Actions:** tag affected partitions as `data_quality=SUSPECT`; alert downstream consumers (BI, ML teams) to not use affected data
|
|
42
|
+
- **Output:** quarantine applied; consumers notified
|
|
43
|
+
- **Done when:** affected data marked; no new consumers reading suspect partitions
|
|
44
|
+
|
|
45
|
+
### 3. Root Cause Isolation — `@qa` + `@developer`
|
|
46
|
+
- **Input:** quarantined incident
|
|
47
|
+
- **Actions:** check in order — (a) source data: correct in raw? compare raw vs. staged; (b) pipeline logic: recent code changes? `git log`; (c) schema change: upstream registry diff; (d) infrastructure: warehouse outage or partial run
|
|
48
|
+
- **Output:** root cause identified and documented
|
|
49
|
+
- **Done when:** single root cause confirmed; not multiple competing hypotheses
|
|
50
|
+
|
|
51
|
+
### 4. Remediation — `@developer`
|
|
52
|
+
- **Input:** confirmed root cause
|
|
53
|
+
- **Actions:** fix root cause in pipeline code; re-run pipeline via `/backfill-data` for affected window; lift quarantine tag after validation passes
|
|
54
|
+
- **Output:** remediated model; quarantine lifted
|
|
55
|
+
- **Done when:** `/backfill-data` validation passes; model clean
|
|
56
|
+
|
|
57
|
+
### 5. Post-Incident — `@team-lead` + `@qa`
|
|
58
|
+
- **Input:** remediated incident
|
|
59
|
+
- **Actions:** add monitoring rule to catch this pattern earlier; update dbt tests to prevent regression; write postmortem: `.data/incidents/<date>-<model>-incident.md`
|
|
60
|
+
- **Output:** postmortem; monitoring updated; dbt tests updated
|
|
61
|
+
- **Done when:** postmortem reviewed; prevention measures in place
|
|
62
|
+
|
|
63
|
+
## Exit
|
|
64
|
+
Clean model + postmortem published + prevention measures added = incident closed.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lineage-trace
|
|
3
|
+
type: workflow
|
|
4
|
+
trigger: /lineage-trace
|
|
5
|
+
description: Visualize full data lineage and assess blast radius of a column or table change before executing it.
|
|
6
|
+
inputs:
|
|
7
|
+
- target_column_or_table
|
|
8
|
+
- direction
|
|
9
|
+
outputs:
|
|
10
|
+
- lineage_diagram
|
|
11
|
+
- impact_report
|
|
12
|
+
roles:
|
|
13
|
+
- developer
|
|
14
|
+
- team-lead
|
|
15
|
+
execution:
|
|
16
|
+
initiator: developer
|
|
17
|
+
related-rules:
|
|
18
|
+
- data-governance.md
|
|
19
|
+
- schema-management.md
|
|
20
|
+
uses-skills:
|
|
21
|
+
- lineage-governance
|
|
22
|
+
- data-modeling
|
|
23
|
+
quality-gates:
|
|
24
|
+
- all downstream models and dashboards identified
|
|
25
|
+
- SLA-critical models in blast radius explicitly flagged
|
|
26
|
+
- migration checklist produced for breaking changes
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Steps
|
|
30
|
+
|
|
31
|
+
### 1. Parse Target — `@developer`
|
|
32
|
+
- **Input:** target column or table, direction (upstream / downstream / both)
|
|
33
|
+
- **Actions:** identify table and optional column in warehouse catalog; load dbt `manifest.json` for lineage graph
|
|
34
|
+
- **Output:** confirmed target node in lineage graph
|
|
35
|
+
- **Done when:** target resolved; manifest loaded
|
|
36
|
+
|
|
37
|
+
### 2. Trace Lineage — `@developer`
|
|
38
|
+
- **Input:** lineage graph
|
|
39
|
+
- **Actions:** upstream: walk `ref()` dependencies to source tables; downstream: walk all models that `ref()` the target; for column-level: identify all downstream `SELECT` statements referencing the column
|
|
40
|
+
- **Output:** upstream and downstream node lists
|
|
41
|
+
- **Done when:** full graph traversal complete
|
|
42
|
+
|
|
43
|
+
### 3. Impact Assessment — `@team-lead`
|
|
44
|
+
- **Input:** node lists
|
|
45
|
+
- **Actions:** for rename/drop: count downstream models and dashboards referencing the column; flag SLA-critical models; estimate migration effort (S/M/L)
|
|
46
|
+
- **Output:** impact summary — N models, M dashboards, criticality flags
|
|
47
|
+
- **Done when:** all impacted assets identified; `@team-lead` reviewed
|
|
48
|
+
|
|
49
|
+
### 4. Generate Report — `@developer`
|
|
50
|
+
- **Input:** impact assessment
|
|
51
|
+
- **Actions:** produce Mermaid diagram of lineage graph; write summary: affected models count, dashboard list, SLA-critical flags; produce migration checklist for breaking changes; for breaking: propose versioned approach if needed
|
|
52
|
+
- **Output:** `lineage_report.md` with diagram, summary, and checklist
|
|
53
|
+
- **Done when:** report reviewed and ready to share with affected owners
|
|
54
|
+
|
|
55
|
+
## Exit
|
|
56
|
+
Published lineage report + migration checklist = ready to plan the change safely.
|