claude-code-kit 0.79.0__tar.gz → 0.80.0__tar.gz
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.
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/CHANGELOG.md +70 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/PKG-INFO +4 -4
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/README.md +3 -3
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/catalog/stacks.yaml +30 -1
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/install.md +2 -2
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/launch/road-to-1.0.md +8 -8
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/launch/seed-issues.md +6 -1
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/skill-audit.md +5 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/stack-skills/GAP-ANALYSIS.md +4 -1
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/stack-skills/README.md +11 -1
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/pyproject.toml +1 -1
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_a_config.py +6 -3
- claude_code_kit-0.80.0/skills/django-async-patterns/README.md +34 -0
- claude_code_kit-0.80.0/skills/django-async-patterns/SKILL.md +161 -0
- claude_code_kit-0.80.0/skills/django-migrations/README.md +34 -0
- claude_code_kit-0.80.0/skills/django-migrations/SKILL.md +149 -0
- claude_code_kit-0.80.0/skills/django-react-integration/README.md +35 -0
- claude_code_kit-0.80.0/skills/django-react-integration/SKILL.md +151 -0
- claude_code_kit-0.80.0/skills/django-rest-framework-packages/README.md +55 -0
- claude_code_kit-0.80.0/skills/django-rest-framework-packages/SKILL.md +195 -0
- claude_code_kit-0.80.0/skills/django-rest-framework-packages/references/catalog.md +182 -0
- claude_code_kit-0.80.0/skills/django-rest-framework-packages/references/integration-recipes.md +188 -0
- claude_code_kit-0.80.0/skills/django-rest-framework-packages/references/maintenance-status.md +131 -0
- claude_code_kit-0.80.0/skills/django-rest-framework-patterns/README.md +32 -0
- claude_code_kit-0.80.0/skills/django-rest-framework-patterns/SKILL.md +170 -0
- claude_code_kit-0.80.0/skills/django-service-patterns/README.md +36 -0
- claude_code_kit-0.80.0/skills/django-service-patterns/SKILL.md +198 -0
- claude_code_kit-0.80.0/skills/django-service-patterns/references/cookiecutter-django.md +92 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/__init__.py +1 -1
- claude_code_kit-0.80.0/templates/stacks/backend/python/django/rules/django-patterns.md +226 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/.gitignore +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/LICENSE +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/developer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/orchestrator.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/pentest-scanner.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/tester.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/catalog/profiles.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/commands/abort.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/commands/init.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/commands/status.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/KNOWN_LIMITATIONS.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/RELEASE-POLICY.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/agents.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/ai-engineering-articles.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/autonomous-operation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/capture-a-real-run.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/cli.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/coverage-audit.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/cursor-export.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/engineering-articles.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/images/ticket-board.png +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/influences.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/launch/awesome-prs.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/launch/demo-script.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/launch/directory-submission.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/launch/github-about.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/launch/posts.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/lld-catalog.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/rules-context-budget.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/system-design-resources.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/docs/system-design-threads.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/capture-learnings.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/capture-ticket-telemetry.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/guard-push-main.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/verify-continuity-writeback.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/continuity.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/evals.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/model-tiers.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/resilience-engineering.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/testing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/tool-design.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/rules/wave-orchestration.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/catalog-capture.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/catalog-mcp.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/catalog-org.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/catalog-profiles.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/catalog-stacks.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/mcp-lock.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/org-pack.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/schemas/pipeline-snapshot.schema.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/backfill-releases.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/capture-sdlc-run.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/check_cross_references.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/check_docs_consistency.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/check_mcp_pins.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/check_rule_sizes.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/check_skill_descriptions.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/blind_ab.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/check-docker-leaks.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/discover_components.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/grade_covenant.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/grade_reprobe.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/holdout_seal.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/measure-standing-context.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/meta_check.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/mutation_controls.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/node_oracle.mjs +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/pentest-probe.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/reclassify_scenarios.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/reconcile_dynamic.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/rule_load_proof.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/run-in-docker.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/run-scenario.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/stamp-coverage-provenance.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/static_eval.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/test_integrity.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier-a-agent-probe.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier-b-probe.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_a_agents.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_a_cli.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_a_lifecycle.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_a_scripts.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_b_batches.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_b_reconcile.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/tier_c_reach.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/evals/validate-suite.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-and-interface-design/references/asdr-014-http-https.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-and-interface-design/references/asdr-018-apis.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-and-interface-design/references/asdr-023-idempotency.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-and-interface-design/references/asdr-129-stripe-s-payments-apis-the-first-10-years.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-and-interface-design/references/htn-http-routing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-and-interface-design/references/htn-rest-api-design.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/async-python-patterns/references/htn-python-s-inner-working-behind-the-scenes.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/references/htn-design-an-authentication-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/references/htn-serialization-deserialization-authentication-and-authorizati.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/bug-hunt/references/alld-048-race-conditions-and-critical-sections.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/code-simplification/references/alld-014-kiss-principle.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-002-what-is-an-ai-agent-harness.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-003-harness-engineering-as-categorical-architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-004-harness-engineering-the-missing-layer-between-llms-and-pro.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-005-a-lot-of-conversation-around-harness-engineering-what-does.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-007-context-engineering-vs-prompt-engineering-elastic.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-008-context-engineering-vs-prompt-engineering-the-difference-r.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-009-context-engineering-vs-prompt-engineering-key-differences.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-010-context-engineering-vs-prompt-engineering-datahub.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-011-context-engineering-vs-prompt-engineering-abstracta.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/context-engineering/references/aie-035-how-i-built-an-ai-agent-architecture-a-practical-multi-age.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/debugging-and-error-recovery/references/aie-034-reflect-intervention-supported-error-attribution-for-silen.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/debugging-and-error-recovery/references/alld-047-thread-lifecycle-and-states.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/debugging-and-error-recovery/references/asdr-010-osi-model.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dependency-verification/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deploy/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/references/aea-040-how-discord-reduced-websocket-traffic-by-40.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/references/aea-093-how-figma-horizontally-scaled-postgres-to-unlock-nearly-infi.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/references/aea-110-partitioning-github-s-relational-databases-to-handle-scale.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/references/aea-194-the-great-re-shard-adding-postgres-capacity-again-with-zero-.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/references/aea-262-migrating-millions-of-concurrent-websockets-to-envoy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/references/asdr-125-how-discord-stores-trillions-of-messages.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/deprecation-and-migration/references/asdr-127-how-canva-scaled-media-uploads-from-zero-to-50-million-per-d.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/htn-design-a-vending-machine.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/htn-lld-concepts.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/htn-validation-transformation-controllers-middlewares.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-system-ops/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-system-ops/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-system-ops/references/ai-readiness.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-system-ops/references/drift-detection.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-system-ops/references/governance-and-adoption.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-system-ops/references/system-health-and-maturity.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/design-system-ops/references/token-architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-011-lessons-learned-from-10-years-of-dynamodb.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-019-scaling-bitbucket-s-database.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-055-dropbox-s-scalable-consistent-metadata-caching-solution.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-060-how-ebay-exports-billion-scale-graphs-on-transactional-graph.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-066-how-ebay-loads-and-updates-over-ten-billion-vertex-graphs.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-067-ebay-s-real-time-and-performant-index-service-for-its-large-.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-081-cache-made-consistent-how-meta-handles-cache-invalidation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-082-a-highly-available-strongly-consistent-storage-service-using.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-084-how-we-built-a-general-purpose-key-value-store-for-facebook-.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-095-how-figma-reduced-potential-instability-by-scaling-to-multip.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-098-flipkart-s-mysql-highly-available-setup.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-114-answering-billions-of-reporting-queries-each-day-with-low-la.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-149-upscaling-linkedin-s-profile-datastore-while-reducing-costs.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-175-netflix-s-key-value-data-abstraction-layer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-176-netflix-s-timeseries-data-abstraction-layer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-197-lessons-learned-from-sharding-postgres-at-notion.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-244-horizontally-scaling-the-rails-backend-of-shop-app-with-vite.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-263-scaling-datastores-at-slack-with-vitess.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-312-mysql-at-uber.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-321-how-uber-ensures-apache-cassandra-s-tolerance-for-single-zon.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-322-how-ledgerstore-supports-trillions-of-indexes-at-uber.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-324-how-uber-serves-over-40-million-reads-per-second-from-online.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-325-how-uber-optimized-cassandra-operations-at-scale.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/aea-337-building-a-cost-effective-logging-platform-for-petabyte-scal.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-006-consistent-hashing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-007-cap-theorem.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-008-failover.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-017-checksums.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-029-database-sharding.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-030-data-replication.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-031-database-scaling.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-033-bloom-filters.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-036-caching-strategies.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-037-cache-eviction-policies.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-038-distributed-caching.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-043-heartbeats.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-046-distributed-locking.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-047-gossip-protocol.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-055-peer-to-peer-p2p-architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/asdr-062-strong-vs-eventual-consistency.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/htn-databases-in-depth-part-1.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/htn-databases-in-depth-part-3.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/htn-design-a-distributed-cache.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/htn-design-a-distributed-key-value-store.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/htn-design-consistent-hashing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/distributed-systems-patterns/references/htn-tricky-hld-patterns-for-interviews.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/doc-consolidation/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-compose/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-compose/references/compose-skeletons.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/references/red-dashboard-skeleton.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/references/asdr-020-rest-vs-graphql.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kafka-config-driven/references/htn-apache-kafka-crash-course.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/aie-012-opentelemetry-for-ai-observability-what-it-covers-and-wher.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/aie-013-opentelemetry-for-llms-instrumenting-a-multi-provider-ai-g.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/aie-014-best-llm-gateways-for-observability-tracing-cost-attributi.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/aie-015-llm-observability-with-opentelemetry-unified-tracing-guide.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/aie-016-llm-observability-glossary.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/aie-017-the-2026-guide-to-agent-observability-tools.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/library-review/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-caching-strategies/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-caching-strategies/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-caching-strategies/references/aie-054-prompt-caching-vs-semantic-caching-how-to-make-ai-agents-f.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-caching-strategies/references/aie-055-the-cache-has-layers-prompt-caching-semantic-caching-and-w.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-caching-strategies/references/aie-056-prompt-caching-cut-llm-costs-keep-quality.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-caching-strategies/references/aie-057-semantic-caching-boost-llm-speed-and-reduce-costs.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-caching-strategies/references/aie-058-optimize-llm-response-costs-and-latency-with-effective-cac.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-018-llm-routing-in-production-choosing-the-right-model-for-eve.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-019-llm-failover-and-load-balancing-for-provider-outages.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-020-adaptive-model-routing-and-fallback-logic-routing-around-p.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-021-build-an-llm-fallback-layer-before-your-model-vanishes.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-022-three-tier-llm-routing-fast-smart-and-power-model-stacks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-023-what-our-provider-fallback-actually-looks-like-after-month.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-032-llm-structured-outputs-schema-validation-for-real-pipeline.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-gateway-and-routing/references/aie-033-llguidance-super-fast-structured-outputs.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-038-accelerating-llm-inference-with-post-training-quantization.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-039-llm-quantization-explained-int4-int8-fp8-awq-and-gptq.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-040-llm-quantization-bf16-vs-fp8-vs-int4.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-041-improving-the-economics-of-llm-inference-with-speculative.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-042-speculative-decoding-quantization-and-distillation-tradeof.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-043-speculative-decoding-and-quantization-llm-inference.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-044-prefill-and-decode-a-technical-guide-to-the-two-phases-of.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-045-prefill-vs-decode-llm-inference-phases-explained.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-046-prefill-vs-decode-llm-inference-optimization.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-047-llm-inference-optimization-prefill-vs-decode.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-048-the-llm-inference-optimization-stack-quantization-to-specu.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-049-automatic-prefix-caching-design-in-vllm.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-050-peek-predictive-queue-informed-kv-cache-management-for-llm.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-051-epicache-episodic-kv-cache-management-for-long-term-conver.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-052-automatic-prefix-caching-implementation-details-vllm.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/llm-inference-optimization/references/aie-053-understanding-vllm-kv-cache.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/multi-tenancy-patterns/references/aie-029-multi-tenant-isolation-for-ai-agents-security-architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-001-classes-and-objects.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-002-enums.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-003-interfaces.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-004-encapsulation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-005-abstraction.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-006-inheritance.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-007-polymorphism.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-008-association.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-009-aggregation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-010-composition.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-011-dependency.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-012-dry-principle.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-016-solid-principles-with-code.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-017-singleton.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-018-adapter.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-019-iterator.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-020-factory-method.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-021-bridge.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-022-observer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-023-abstract-factory.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-024-composite.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-025-strategy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-026-builder.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-027-decorator.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-028-command.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-029-prototype.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-030-facade.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-031-state.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-032-flyweight.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-033-template-method.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-034-proxy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-035-visitor.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-036-mediator.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-037-memento.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-038-chain-of-responsibility.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-039-class-diagram.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-040-use-case-diagram.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-041-sequence-diagram.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-042-activity-diagram.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-043-state-machine-diagram.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-050-semaphores.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-051-condition-variables.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-052-coarse-grained-vs-fine-grained-locking.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-053-reentrant-locks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-054-try-lock-and-timed-locking.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-055-compare-and-swap-cas.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-056-deadlock.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-057-livelock.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-058-signaling-pattern.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-059-thread-pool-pattern.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-060-producer-consumer-pattern.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-061-reader-writer-pattern.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-062-how-to-answer-a-lld-interview-problem.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-063-design-parking-lot.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-064-design-stack-overflow.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-065-design-a-vending-machine.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-066-design-logging-framework.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-067-design-traffic-signal-control-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-068-design-coffee-vending-machine.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-069-design-a-task-management-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-070-design-atm.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-071-design-linkedin.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-072-design-lru-cache.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-073-design-tic-tac-toe-game.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-074-design-pub-sub-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-075-design-an-elevator-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-076-design-car-rental-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-077-design-an-online-auction-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-078-design-hotel-management-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-079-design-a-digital-wallet-service.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-080-design-airline-management-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-081-design-a-library-management-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-082-design-a-social-network-like-facebook.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-083-design-restaurant-management-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-084-design-a-concert-ticket-booking-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-085-design-cricinfo.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-086-design-splitwise.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-087-design-chess-game.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-088-design-a-snake-and-ladder-game.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-089-design-ride-sharing-service-like-uber.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-090-design-course-registration-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-091-design-movie-ticket-booking-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-092-design-online-shopping-system-like-amazon.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-093-design-online-stock-brokerage-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-094-design-music-streaming-service-like-spotify.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-095-design-online-food-delivery-service-like-swiggy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-096-print-foobar-alternately.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-097-print-zero-even-odd.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-098-fizz-buzz-multithreaded.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-099-building-h2o-molecule.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-100-design-thread-safe-cache-with-ttl.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-101-design-concurrent-hashmap.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-102-design-thread-safe-blocking-queue.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/object-oriented-design/references/alld-103-design-concurrent-bloom-filter.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/aea-320-modernizing-logging-at-uber-with-clp.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/htn-caching-task-queues-error-handling-logging-monitoring.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/aea-191-building-netflix-s-distributed-tracing-infrastructure.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/aea-258-how-slack-traces-the-flow-of-notifications-across-systems.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/asdr-050-distributed-tracing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/collector.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/correlation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/gotchas.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/instrumentation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/sampling.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/otel-tracing/references/tempo.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/over-engineering-review/references/alld-013-yagni-principle.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pentesterflow-pentest/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pentesterflow-pentest/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pentesterflow-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/performance-optimization/references/htn-how-javascript-executes-the-code-behind-the-scenes.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/asdr-026-acid-transactions.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/asdr-028-database-indexes.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/htn-databases-in-depth-part-2.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-059-distillation-with-programmatic-data-curation-cheaper-infer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-060-efficient-knowledge-injection-in-llms-via-self-distillatio.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-061-distilling-many-shot-in-context-learning-into-a-cheat-shee.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-062-llm-fine-tuning-customize-large-language-models.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-063-the-architects-guide-to-production-rag.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-064-rag-best-practices-chunking-hybrid-search-reranking.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-065-fine-tuning-vs-retrieval-augmented-generation-for-less-pop.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-067-building-production-grade-rag-architecture-the-engineering.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-068-best-rag-tools-frameworks-and-libraries.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/rag-and-model-tuning/references/aie-069-rag-evaluation-metrics.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/redis-caching-patterns/references/htn-a-complete-guide-to-redis.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/safety-critical-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/aie-024-model-context-protocol-security-best-practices.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/aie-026-prompt-injection-in-production-agents-a-2026-taxonomy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/aie-027-model-context-protocol-security-risks-and-mitigations.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/aie-028-ai-agent-data-leakage-secrets-management-and-privacy-risks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/aie-030-llm-security-prompt-injection-data-leakage-and-compliance.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/input-validation-and-uploads.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/llm-guardrails.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/owasp-top10-prevention.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-and-hardening/references/supply-chain-and-dependencies.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/shell-review/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/strix-ai-pentest/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/strix-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/strix-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-017-caching-jql-search-in-jira-cloud.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-032-canva-s-fast-and-scalable-reverse-image-search.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-033-how-canva-enables-real-time-collaboration-with-rsocket.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-054-how-dropbox-evolved-its-infrastructure-through-the-messaging.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-064-how-ebay-handles-real-time-push-notifications-at-scale.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-150-unifying-messaging-experiences-across-linkedin.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-174-evolving-netflix-s-websocket-proxy-for-the-future.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-190-rapid-event-notification-system-at-netflix.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-196-the-data-model-behind-notion-s-flexibility.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-224-how-razorpay-s-notification-service-handles-increasing-load.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-275-stripe-s-system-for-tracking-and-validating-money-movement.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-277-how-stripe-built-its-fraud-prevention-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/aea-328-uber-s-next-gen-push-platform-on-grpc.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/alld-044-introduction-to-concurrency.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/alld-045-concurrency-vs-parallelism.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/alld-046-processes-vs-threads.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/alld-049-mutex-mutual-exclusion.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/alld-104-multi-threaded-merge-sort.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-002-availability.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-003-reliability.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-004-spof.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-005-latency-vs-throughput-vs-bandwidth.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-009-fault-tolerance.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-011-ip-addresses.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-012-domain-name-system-dns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-013-proxy-vs-reverse-proxy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-015-tcp-vs-udp.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-016-load-balancing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-019-api-gateway.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-021-websockets.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-022-webhooks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-024-rate-limiting.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-027-sql-vs-nosql.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-032-databases-types.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-035-caching-101.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-039-content-delivery-network-cdn.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-040-pub-sub.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-041-message-queues.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-042-change-data-capture-cdc.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-044-service-discovery.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-049-disaster-recovery.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-051-client-server-architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-054-event-driven-architecture.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-056-top-15-tradeoffs.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-057-vertical-vs-horizontal-scaling.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-058-concurrency-vs-parallelism.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-059-long-polling-vs-websockets.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-060-batch-vs-stream-processing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-061-stateful-vs-stateless-design.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-067-latency-vs-throughput.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-068-how-to-answer-a-system-design-interview-problem.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-069-design-url-shortener-like-tinyurl.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-071-design-load-balancer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-079-design-whatsapp.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-080-design-spotify.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-082-design-notification-service.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-083-design-distributed-job-scheduler.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/asdr-130-real-time-messaging-at-slack.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-basic-music-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-chat-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-content-delivery-network.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-load-balancer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-news-feed-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-notification-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-parking-lot.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-rate-limiter.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-a-unique-id-generator-in-distributed-systems.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-airbnb.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-amazon.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-autocomplete-for-search-engines.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-bit-ly-and-pastebin.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-instagram.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-netflix.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-reddit.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-spotify.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-tinder.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-twitter.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-youtube-hld.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-design-youtube-lld.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-mental-model-for-microservices.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-netflix-recommendation-system-machine-learning-system-design.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/system-design-patterns/references/htn-security-scaling-performance-concurrency-parallelism.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/references/cli.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/references/determinism.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/references/gotchas.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/references/languages.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/references/testing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/temporal-developer/references/versioning.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/threat-model/references/aie-025-sok-security-and-safety-in-the-model-context-protocol-ecos.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/ticketing-and-traceability/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/board_html.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/detect.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/export.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/report.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/schemas.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/telemetry.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/tickets.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/change-proposal.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/export/sdlc-workflow-guide.md.tmpl +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/scripts/sdlc-loop.sh +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/settings.json +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/ui-components.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/ui-layout-and-motion.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/ux-dashboard-patterns.md +0 -0
- {claude_code_kit-0.79.0 → claude_code_kit-0.80.0}/templates/stacks/frontend/react/rules/ux-patterns.md +0 -0
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"displayName": "Claude Kit SDLC",
|
|
12
12
|
"source": "./",
|
|
13
13
|
"description": "Evidence-gated SDLC for Claude Code, installed as configuration (no app code, no Docker): install CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json, then run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with a tamper-evident gate ledger, working memory, and a self-improving learnings loop.",
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.80.0",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
|
|
17
17
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-kit",
|
|
3
3
|
"displayName": "Claude Kit SDLC",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.80.0",
|
|
5
5
|
"description": "Evidence-gated SDLC for Claude Code, installed as configuration (no app code, no Docker). `claude-kit init` asks ordered questions and installs CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with a tamper-evident gate ledger, working memory, and a self-improving learnings loop.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Arjunsingh Yadav",
|
|
@@ -4,6 +4,76 @@ All notable changes to claude-kit are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/), and the project uses
|
|
5
5
|
[semantic versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.80.0] — 2026-08-14
|
|
8
|
+
|
|
9
|
+
**Django is selectable.** The second Python framework goes live as a pure catalog change plus
|
|
10
|
+
overlay content — no branch in `catalog.resolve()`, no `django-react` combo axis, no application
|
|
11
|
+
code. `backend: {language: python, framework: django}` now resolves to a path-scoped overlay rule,
|
|
12
|
+
six Django skills, and seven canonical commands including both migration verbs.
|
|
13
|
+
|
|
14
|
+
Builds on [#85](https://github.com/ajyadav013/claude-kit/pull/85) by
|
|
15
|
+
[@mohamedmenaa892-eng](https://github.com/mohamedmenaa892-eng), whose catalog flip and first draft
|
|
16
|
+
of `django-patterns.md` are preserved in this branch's history.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **Python/Django is a live stack** (`catalog/stacks.yaml`). Six skills install with it —
|
|
21
|
+
`django-service-patterns`, `django-rest-framework-patterns`, `django-rest-framework-packages`,
|
|
22
|
+
`django-migrations`, `django-async-patterns`, `django-react-integration` — alongside the shared
|
|
23
|
+
`api-and-interface-design`, `backend-repo-architecture`, `testing-conventions`, and
|
|
24
|
+
`dockerfile-backend`. Targets **Django 6.1**; every claim newer than the 5.2 LTS names the
|
|
25
|
+
release it landed in, so a project on the LTS can tell what does not yet apply.
|
|
26
|
+
- **`django-patterns.md` overlay rule**, path-scoped to `**/*.py`: two-tier
|
|
27
|
+
`config/settings/{base,local,production}` layering with django-environ, a custom user model from
|
|
28
|
+
the first migration, the view → service → manager → model ladder, the WSGI-vs-ASGI decision
|
|
29
|
+
table, N+1 fixed in `get_queryset()`, and `makemigrations --check --dry-run` as a CI gate.
|
|
30
|
+
- **Both migration command keys are populated.** `migrate` and `make_migration` were already in
|
|
31
|
+
`_BACKEND_CMD_KEYS`, but no live stack had used them — FastAPI leaves migrations to Alembic.
|
|
32
|
+
Django owns them through `manage.py`, so they now surface in the rendered `CLAUDE.md` Commands
|
|
33
|
+
block.
|
|
34
|
+
- **`async-python-patterns` is deliberately absent from the Django lane.** `django-async-patterns`
|
|
35
|
+
supersedes it here (ASGI, the `a`-prefixed ORM, `CONN_MAX_AGE`), and the generic one is
|
|
36
|
+
FastAPI-owned.
|
|
37
|
+
- **Tests:** `test_django_backend_is_live_and_resolves`; a `django` bucket in `_STACK_SKILLS` with
|
|
38
|
+
the arrival assertion parametrised over both Python frameworks (they are mutually exclusive
|
|
39
|
+
selections, so a single plan cannot prove both lanes); and a `django` entry in the Tier-A
|
|
40
|
+
`OVERLAY` eval whose "off" arm is **FastAPI**, not another language — that is what proves the
|
|
41
|
+
gate keys on the framework axis rather than merely on `backend_language`. `live_matrix()` is
|
|
42
|
+
catalog-driven, so Django joins the full profile × stack × scope sweep with no test edit.
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
|
|
46
|
+
- **Three transcription defects in the contributed `django-patterns.md`**: an unclosed ` ```bash `
|
|
47
|
+
fence that swallowed the end of the file, a `\Vert{}` LaTeX artifact where grep's `\|`
|
|
48
|
+
alternation belonged, and a missing trailing newline.
|
|
49
|
+
|
|
50
|
+
### Not adopted (deliberately)
|
|
51
|
+
|
|
52
|
+
- **A `django-react` combo stack, combo axis, or resolver branch.** The React+Django topology is
|
|
53
|
+
real, and it is exactly what `django-react-integration` documents — but a skill that
|
|
54
|
+
self-describes "when a React/SPA frontend is present" costs nothing, while a combo axis
|
|
55
|
+
multiplies the catalog by every frontend × backend pair and puts the first stack-specific branch
|
|
56
|
+
into a resolver whose whole value is being branch-free. The skill installs on the Django
|
|
57
|
+
selection alone and simply has nothing to say when there is no frontend.
|
|
58
|
+
- **`django-ninja` as its own catalog framework entry.** It is async-first on Pydantic v2 and a
|
|
59
|
+
genuine alternative to DRF, so it is documented as one inside `django-rest-framework-patterns`
|
|
60
|
+
and `django-async-patterns`. A catalog entry would mean a third Python framework with its own
|
|
61
|
+
overlay rule and skill set, to serve a choice most projects make once — and make *inside* Django
|
|
62
|
+
rather than instead of it.
|
|
63
|
+
- **`mcp_suggested: postgres` on the Django entry.** Added, then removed: the key is only ever set
|
|
64
|
+
on *database* entries, and Django + MongoDB is a valid selection the live matrix exercises.
|
|
65
|
+
Suggesting a database from the framework axis would be incoherent, not merely redundant.
|
|
66
|
+
- **Django Channels / WebSockets beyond a pointer.** `django-async-patterns` names
|
|
67
|
+
`database_sync_to_async` and why a long-lived consumer needs it, which is the part that bites
|
|
68
|
+
people who are not otherwise doing Channels. The routing/consumer/layer surface is a topic of its
|
|
69
|
+
own and would go mostly unread by the projects installing this stack.
|
|
70
|
+
- **MySQL, deployment targets, and generated application code.** Out of scope by the same rule as
|
|
71
|
+
every other stack: the kit ships configuration, never an app skeleton and never a Dockerfile it
|
|
72
|
+
did not have to.
|
|
73
|
+
- **Teaching `detect.py` to recognise Django** (`manage.py` plus a `django` dependency). A
|
|
74
|
+
worthwhile heuristic, but detection is advisory and non-blocking, so it does not gate this
|
|
75
|
+
release and belongs in its own change rather than riding along with a catalog flip.
|
|
76
|
+
|
|
7
77
|
## [0.79.0] — 2026-08-08
|
|
8
78
|
|
|
9
79
|
**Two ways the installer could destroy a file it had no business touching, and the escape hatch
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.80.0
|
|
4
4
|
Summary: Evidence-gated SDLC for Claude Code, installed as configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with a tamper-evident gate ledger, working memory, and a self-improving learnings loop.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
|
|
6
6
|
Project-URL: Repository, https://github.com/ajyadav013/claude-kit
|
|
@@ -161,8 +161,8 @@ claude-kit init --defaults # non-interactive: React + Python/FastAPI + Post
|
|
|
161
161
|
|------|--------------|
|
|
162
162
|
| 🔁 **Pipeline & quality gates** | Gate-enforced progression — a phase advances only with zero open Critical/High/Medium findings — plus a fast-track for small changes and an anti-sycophancy `devils-advocate` pass |
|
|
163
163
|
| 🤖 **Agent roster** | **29** tiered agents led by an Orchestrator that never writes code, plus per-database overlay agents and 6 org personas ([full roster](docs/agents.md)) |
|
|
164
|
-
| 📐 **Rules & skills** | **25** stack-agnostic core rules + **
|
|
165
|
-
| 🧱 **Stacks & overlays** | A stack-agnostic core + **
|
|
164
|
+
| 📐 **Rules & skills** | **25** stack-agnostic core rules + **121** context-activated skills (58 core + 63 stack-collection), pulled into context on demand |
|
|
165
|
+
| 🧱 **Stacks & overlays** | A stack-agnostic core + **14** overlay rule files (React · FastAPI · Django · Go · Postgres · Mongo) wired to your exact commands and path-scoped to load only when you touch matching files |
|
|
166
166
|
| 🛠️ **Hooks & guards** | **20** event hooks — deterministic safety guards and advisory warnings — that no-op gracefully without `jq` |
|
|
167
167
|
| 📊 **Traceability & live board** | A git-native ticket per story with a work-log and commit linkage, plus `claude-kit tickets` — a terminal chart and a browser Kanban board showing each lane's status, agent, model, tokens and elapsed time ([below](#parallel-lanes-and-the-live-ticket-board)) |
|
|
168
168
|
| 📦 **Distribution & lifecycle** | Plugin **and** pip from one source, **24** ready MCP fragments (version-pinned), edit-preserving `upgrade`, and a root `AGENTS.md` at init so non-Claude agents share the same standards |
|
|
@@ -325,7 +325,7 @@ that matters most: **native gives you the agents; claude-kit gives you the gover
|
|
|
325
325
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar collections | Large libraries of individual subagent prompts you pick from | A smaller, opinionated set wired into a sequenced pipeline — agents are stages that hand off and block on each other, not a menu |
|
|
326
326
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | Spec-driven development as a platform: constitution → spec → tasks → analyze, plus label-driven CI stages | The same coverage-gate idea absorbed into a broader in-session lifecycle — review, security, build, test, release, and observability gates with enforced severity blocking. Complementary: their CI stages, this kit's gate depth ([details](docs/autonomous-operation.md)) |
|
|
327
327
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | Portable configuration, not a running process — no daemon, no lock-in, no app code |
|
|
328
|
-
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | A catalog-driven generator: resolves your stack/profile/scope into the right subset of 25 rules, 29 agents,
|
|
328
|
+
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | A catalog-driven generator: resolves your stack/profile/scope into the right subset of 25 rules, 29 agents, 121 skills, gates, and hooks — kept upgradeable with your edits preserved |
|
|
329
329
|
|
|
330
330
|
**Choose claude-kit when** you want a consistent, gate-enforced autonomous-SDLC setup that's the
|
|
331
331
|
same across every repo and stack, installs in seconds, and ships nothing you have to run. It is
|
|
@@ -128,8 +128,8 @@ claude-kit init --defaults # non-interactive: React + Python/FastAPI + Post
|
|
|
128
128
|
|------|--------------|
|
|
129
129
|
| 🔁 **Pipeline & quality gates** | Gate-enforced progression — a phase advances only with zero open Critical/High/Medium findings — plus a fast-track for small changes and an anti-sycophancy `devils-advocate` pass |
|
|
130
130
|
| 🤖 **Agent roster** | **29** tiered agents led by an Orchestrator that never writes code, plus per-database overlay agents and 6 org personas ([full roster](docs/agents.md)) |
|
|
131
|
-
| 📐 **Rules & skills** | **25** stack-agnostic core rules + **
|
|
132
|
-
| 🧱 **Stacks & overlays** | A stack-agnostic core + **
|
|
131
|
+
| 📐 **Rules & skills** | **25** stack-agnostic core rules + **121** context-activated skills (58 core + 63 stack-collection), pulled into context on demand |
|
|
132
|
+
| 🧱 **Stacks & overlays** | A stack-agnostic core + **14** overlay rule files (React · FastAPI · Django · Go · Postgres · Mongo) wired to your exact commands and path-scoped to load only when you touch matching files |
|
|
133
133
|
| 🛠️ **Hooks & guards** | **20** event hooks — deterministic safety guards and advisory warnings — that no-op gracefully without `jq` |
|
|
134
134
|
| 📊 **Traceability & live board** | A git-native ticket per story with a work-log and commit linkage, plus `claude-kit tickets` — a terminal chart and a browser Kanban board showing each lane's status, agent, model, tokens and elapsed time ([below](#parallel-lanes-and-the-live-ticket-board)) |
|
|
135
135
|
| 📦 **Distribution & lifecycle** | Plugin **and** pip from one source, **24** ready MCP fragments (version-pinned), edit-preserving `upgrade`, and a root `AGENTS.md` at init so non-Claude agents share the same standards |
|
|
@@ -292,7 +292,7 @@ that matters most: **native gives you the agents; claude-kit gives you the gover
|
|
|
292
292
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar collections | Large libraries of individual subagent prompts you pick from | A smaller, opinionated set wired into a sequenced pipeline — agents are stages that hand off and block on each other, not a menu |
|
|
293
293
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | Spec-driven development as a platform: constitution → spec → tasks → analyze, plus label-driven CI stages | The same coverage-gate idea absorbed into a broader in-session lifecycle — review, security, build, test, release, and observability gates with enforced severity blocking. Complementary: their CI stages, this kit's gate depth ([details](docs/autonomous-operation.md)) |
|
|
294
294
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | Portable configuration, not a running process — no daemon, no lock-in, no app code |
|
|
295
|
-
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | A catalog-driven generator: resolves your stack/profile/scope into the right subset of 25 rules, 29 agents,
|
|
295
|
+
| **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | A catalog-driven generator: resolves your stack/profile/scope into the right subset of 25 rules, 29 agents, 121 skills, gates, and hooks — kept upgradeable with your edits preserved |
|
|
296
296
|
|
|
297
297
|
**Choose claude-kit when** you want a consistent, gate-enforced autonomous-SDLC setup that's the
|
|
298
298
|
same across every repo and stack, installs in seconds, and ships nothing you have to run. It is
|
|
@@ -112,8 +112,37 @@ backend:
|
|
|
112
112
|
format: "ruff format ."
|
|
113
113
|
django:
|
|
114
114
|
label: "Django"
|
|
115
|
-
|
|
115
|
+
overlay_rules: [django-patterns.md]
|
|
116
|
+
overlay_agents: []
|
|
117
|
+
# Gated here for the same reason as FastAPI's list. `async-python-patterns` is
|
|
118
|
+
# deliberately absent: `django-async-patterns` supersedes it for this lane (ASGI,
|
|
119
|
+
# the a-prefixed ORM, CONN_MAX_AGE) and the generic one is FastAPI-owned.
|
|
120
|
+
skills:
|
|
121
|
+
- api-and-interface-design
|
|
122
|
+
- backend-repo-architecture
|
|
123
|
+
- django-service-patterns
|
|
124
|
+
# Two DRF skills, split by question rather than by topic: `-patterns` is how to
|
|
125
|
+
# build the layer, `-packages` is which third-party dependency to adopt (and the
|
|
126
|
+
# abandoned ones DRF's own docs still link). Keep the descriptions on that seam.
|
|
127
|
+
- django-rest-framework-patterns
|
|
128
|
+
- django-rest-framework-packages
|
|
129
|
+
- django-migrations
|
|
130
|
+
- django-async-patterns
|
|
131
|
+
- django-react-integration
|
|
132
|
+
- testing-conventions
|
|
133
|
+
- dockerfile-backend
|
|
116
134
|
stack_dir: backend/python/django
|
|
135
|
+
# uv is cookiecutter-django's dependency manager and the ecosystem default as of
|
|
136
|
+
# Django 6.x. The ASGI/uvicorn variant of `dev` lives in the overlay rule, since a
|
|
137
|
+
# stack carries one canonical command per key.
|
|
138
|
+
commands:
|
|
139
|
+
install: "uv sync"
|
|
140
|
+
dev: "uv run python manage.py runserver 0.0.0.0:8000"
|
|
141
|
+
test: "uv run pytest"
|
|
142
|
+
lint: "uv run ruff check . && uv run mypy ."
|
|
143
|
+
format: "uv run ruff format ."
|
|
144
|
+
migrate: "uv run python manage.py migrate"
|
|
145
|
+
make_migration: "uv run python manage.py makemigrations"
|
|
117
146
|
node:
|
|
118
147
|
label: "Node.js"
|
|
119
148
|
status: planned
|
|
@@ -122,8 +122,8 @@ README.claude-sdlc.md
|
|
|
122
122
|
|
|
123
123
|
- **Stack-agnostic core** — the pipeline assumes no language or framework; it never writes your app
|
|
124
124
|
code and never needs Docker.
|
|
125
|
-
- **
|
|
126
|
-
PostgreSQL, MongoDB — wired to your exact lint/test/build commands. Overlays are **path-scoped**
|
|
125
|
+
- **14 stack overlay rule files** layer matching guidance on top — React, FastAPI, Django,
|
|
126
|
+
Go/net-http, PostgreSQL, MongoDB — wired to your exact lint/test/build commands. Overlays are **path-scoped**
|
|
127
127
|
(`paths:` frontmatter) so they enter context only when Claude touches matching files; MongoDB's
|
|
128
128
|
stays always-on (a document store has no reliable file signal to scope by).
|
|
129
129
|
- **Installs are stack-true** — every lane offers `none` (backend-only, frontend-only, no-database
|
|
@@ -14,17 +14,17 @@ This document catalogues the gaps, explains why each matters, and defines what "
|
|
|
14
14
|
|
|
15
15
|
### 1. Stack coverage
|
|
16
16
|
|
|
17
|
-
**The gap:** Only **React**, **Python/FastAPI**, **Go/net-http**, **PostgreSQL**, and **MongoDB** have shipped overlay content (rules, agents, skills) and are selectable. **Vue**, **Svelte**,
|
|
17
|
+
**The gap:** Only **React**, **Python/FastAPI**, **Python/Django**, **Go/net-http**, **PostgreSQL**, and **MongoDB** have shipped overlay content (rules, agents, skills) and are selectable. **Vue**, **Svelte**, and **Node/Express** are listed in `catalog/stacks.yaml` with `status: planned` — they appear as "coming soon" but cannot be chosen; no overlay rules exist under `templates/stacks/` for them.
|
|
18
18
|
|
|
19
|
-
**Why it matters:** A stack-agnostic scaffolder that only supports
|
|
19
|
+
**Why it matters:** A stack-agnostic scaffolder that only supports six stacks is misleading. The current catalog is honest (planned entries are marked and gates block their selection), but a 1.0 should either ship the common stacks or prune the planned list to reflect realistic scope.
|
|
20
20
|
|
|
21
21
|
**What "done" looks like:**
|
|
22
22
|
|
|
23
23
|
- The standard web/API combinations (React/Vue/Svelte × FastAPI/Django/Express × Postgres/MongoDB) are selectable and have overlay rules that pass the `pytest` profile × stack × scope matrix, OR
|
|
24
24
|
- The planned entries are removed from the catalog with a documented rationale (e.g., "focused on React + Python/Go; other frameworks via generic core rules only"), OR
|
|
25
|
-
- A documented hybrid: React + Python/Go + Postgres/MongoDB are first-class (full overlays); Vue/Svelte/
|
|
25
|
+
- A documented hybrid: React + Python/Go + Postgres/MongoDB are first-class (full overlays); Vue/Svelte/Express remain planned and are explicitly listed as future additions with a public tracker.
|
|
26
26
|
|
|
27
|
-
Current status: **
|
|
27
|
+
Current status: **6 of 9** catalogued stacks are live (Django shipped in 0.80.0).
|
|
28
28
|
|
|
29
29
|
### 2. Enforcement honesty: agent protocols vs. mechanical gates
|
|
30
30
|
|
|
@@ -115,7 +115,7 @@ Current status: `upgrade` preserves edits and is convergent; the `init-options.j
|
|
|
115
115
|
|
|
116
116
|
### 7. Test and CI surface: keep the matrix green and grow it as stacks land
|
|
117
117
|
|
|
118
|
-
**The gap:** The `pytest` suite runs a **profile × stack × scope self-test matrix** — it scaffolds into temp directories, asserts the no-Docker invariant, checks profile subset inclusion, validates MCP gating, and verifies upgrade safety. The test surface is solid; it needs to **grow as stacks are added** (currently React, Python/FastAPI, Go/net-http, Postgres, Mongo are tested; Vue/Svelte/
|
|
118
|
+
**The gap:** The `pytest` suite runs a **profile × stack × scope self-test matrix** — it scaffolds into temp directories, asserts the no-Docker invariant, checks profile subset inclusion, validates MCP gating, and verifies upgrade safety. The test surface is solid; it needs to **grow as stacks are added** (currently React, Python/FastAPI, Python/Django, Go/net-http, Postgres, Mongo are tested; Vue/Svelte/Express will need tests when they ship).
|
|
119
119
|
|
|
120
120
|
**Why it matters:** A green CI suite that only tests five stacks is insufficient when the catalog advertises nine. Each new stack overlay must be mechanically verified to not leak Docker/app-code and to compose with all three profiles.
|
|
121
121
|
|
|
@@ -129,7 +129,7 @@ Current status: `upgrade` preserves edits and is convergent; the `init-options.j
|
|
|
129
129
|
- Upgrade convergence (run `upgrade` twice; second is a no-op).
|
|
130
130
|
- A `CONTRIBUTING.md` note that states: "Adding a stack requires a pytest case; CI will fail without it."
|
|
131
131
|
|
|
132
|
-
Current status: the pytest self-test matrix (`tests/_helpers.py::live_matrix`) sweeps every live stack combination — React × {FastAPI, Go/net-http} × {Postgres, MongoDB} — across all three profiles (lean/standard/enterprise) and the team + organization scopes, install-and-validating each. All
|
|
132
|
+
Current status: the pytest self-test matrix (`tests/_helpers.py::live_matrix`) sweeps every live stack combination — React × {FastAPI, Django, Go/net-http} × {Postgres, MongoDB} — across all three profiles (lean/standard/enterprise) and the team + organization scopes, install-and-validating each. All six live stacks are exercised; `live_matrix` is catalog-driven, so a stack joins the sweep the moment it goes live. CI is green. No Vue/Svelte/Express tests (those stacks are planned but not shipped).
|
|
133
133
|
|
|
134
134
|
---
|
|
135
135
|
|
|
@@ -148,7 +148,7 @@ Being honest about scope is as important as closing gaps. A 1.0 release will **n
|
|
|
148
148
|
|
|
149
149
|
Contributions that close the above gaps are welcome. High-value areas:
|
|
150
150
|
|
|
151
|
-
1. **Ship the planned stacks** (Vue, Svelte,
|
|
151
|
+
1. **Ship the planned stacks** (Vue, Svelte, Node/Express) — overlay rules + pytest case. See [`CONTRIBUTING.md`](../../CONTRIBUTING.md).
|
|
152
152
|
2. **Capture more real runs** across stacks/profiles/scopes. Run `/sdlc` on a real feature, then `scripts/capture-sdlc-run.sh`. Document the provenance (stack, profile, verdict, defect if any). See [`docs/capture-a-real-run.md`](../capture-a-real-run.md).
|
|
153
153
|
3. **Improve hook portability** — pure-Python guard equivalents or a bundled minimal JSON parser for Windows.
|
|
154
154
|
4. **Expand mechanical enforcement** — parse test-runner output (exit codes, JUnit XML, coverage JSON) and merge it with agent verdicts.
|
|
@@ -156,7 +156,7 @@ Contributions that close the above gaps are welcome. High-value areas:
|
|
|
156
156
|
|
|
157
157
|
Issues tracking these gaps (map 1:1 to the numbered gaps above):
|
|
158
158
|
|
|
159
|
-
1. Ship the planned stacks — [Vue #67](https://github.com/ajyadav013/claude-kit/issues/67) · [Svelte #68](https://github.com/ajyadav013/claude-kit/issues/68) · [
|
|
159
|
+
1. Ship the planned stacks — [Vue #67](https://github.com/ajyadav013/claude-kit/issues/67) · [Svelte #68](https://github.com/ajyadav013/claude-kit/issues/68) · [Express #70](https://github.com/ajyadav013/claude-kit/issues/70) *(Django [#69](https://github.com/ajyadav013/claude-kit/issues/69) shipped in 0.80.0)*
|
|
160
160
|
2. [Capture three real /sdlc runs across stacks/profiles/scopes — #72](https://github.com/ajyadav013/claude-kit/issues/72)
|
|
161
161
|
3. [Improve hook portability (Windows, pure-Python guards) — #73](https://github.com/ajyadav013/claude-kit/issues/73)
|
|
162
162
|
4. [Expand mechanical gate enforcement (parse test-runner output) — #74](https://github.com/ajyadav013/claude-kit/issues/74)
|
|
@@ -96,10 +96,15 @@ Medium. Requires understanding the Svelte ecosystem (Svelte 4/5, TypeScript, Sve
|
|
|
96
96
|
|
|
97
97
|
---
|
|
98
98
|
|
|
99
|
-
## Issue 3: Add Django Stack Overlay (Backend, Python)
|
|
99
|
+
## Issue 3: Add Django Stack Overlay (Backend, Python) — ✅ SHIPPED in 0.80.0
|
|
100
100
|
|
|
101
101
|
**Labels:** `good first issue`, `stack`, `help wanted`
|
|
102
102
|
|
|
103
|
+
> **Closed.** Django went live in 0.80.0: the catalog entry dropped `status: planned`,
|
|
104
|
+
> `templates/stacks/backend/python/django/rules/django-patterns.md` ships as a path-scoped overlay
|
|
105
|
+
> rule, and six `django-*` skills install with the stack. The original brief is kept below as the
|
|
106
|
+
> template for the remaining stack issues.
|
|
107
|
+
|
|
103
108
|
### Context
|
|
104
109
|
|
|
105
110
|
Django is a planned backend framework for Python (marked `status: planned` in `catalog/stacks.yaml`, line 70). The catalog entry exists with `stack_dir: backend/python/django`, but there is no overlay content yet, so it cannot be selected during `claude-kit init`.
|
|
@@ -8,6 +8,11 @@ This document analyzes claude-kit's skill inventory — classification, sizing,
|
|
|
8
8
|
**Version audited:** 0.57.0
|
|
9
9
|
**Total skills on disk:** 111 (58 core + 53 stack-collection)
|
|
10
10
|
|
|
11
|
+
> **Snapshot, not current state.** The figures and lane list below describe 0.57.0. Since then the
|
|
12
|
+
> inventory has grown to 121 skills (58 core + 63 stack-collection) and **Python/Django went live
|
|
13
|
+
> in 0.80.0** — so where this audit lists Django among the `status: planned` stacks, read that as
|
|
14
|
+
> what was true when it was written. The analysis and its conclusions are unchanged.
|
|
15
|
+
|
|
11
16
|
---
|
|
12
17
|
|
|
13
18
|
## Method
|
|
@@ -84,7 +84,10 @@ The following technologies were **absent** in the analyzed production codebases
|
|
|
84
84
|
1. **SQLModel** — Not used in any service; all services use SQLAlchemy ORM + Pydantic schemas separately.
|
|
85
85
|
2. **Tortoise ORM** — Not used in any service; SQLAlchemy is the standard ORM.
|
|
86
86
|
3. **beanie / motor (async MongoDB)** — Only one service uses MongoDB, which uses **sync pymongo** with a static-class DAO. No async MongoDB drivers detected.
|
|
87
|
-
4. **Django** — Not used; FastAPI is the standard framework.
|
|
87
|
+
4. **Django** — Not used; FastAPI is the standard framework. *(Still true of the analyzed
|
|
88
|
+
codebases. Since 0.80.0 the kit ships six `django-*` skills anyway — written against upstream
|
|
89
|
+
Django 6.1, DRF, and cookiecutter-django, not extracted from these repos. This entry records
|
|
90
|
+
what the analysis saw, not what the kit covers.)*
|
|
88
91
|
5. **Flask** — Not used; FastAPI is the standard framework.
|
|
89
92
|
6. **Celery** — Not used; async work is delegated to **Temporal** or **Kafka**, not Celery queues.
|
|
90
93
|
7. **RabbitMQ / AWS SQS** — Not used; Kafka is the standard message broker.
|
|
@@ -13,6 +13,12 @@ These fifty-seven Claude Code skills encode production-proven engineering conven
|
|
|
13
13
|
| **python-dao-and-database** | Data access layer patterns — BaseDao abstraction, async SQLAlchemy 1.4 vs 2.0 session lifecycle, pagination, bulk operations, transactions, MongoDB static-class DAO | [SKILL.md](../../skills/python-dao-and-database/SKILL.md) |
|
|
14
14
|
| **pydantic-schema-patterns** | Pydantic v1 and v2 idioms — BaseSettings singleton, request/response schemas, field validation, ORM mode configuration, field aliasing, migration guide | [SKILL.md](../../skills/pydantic-schema-patterns/SKILL.md) |
|
|
15
15
|
| **async-python-patterns** | Async Python best practices — asyncio coordination (gather/wait_for/TaskGroup), cancellation handling, resource lifecycle, connection pool management, structured concurrency | [SKILL.md](../../skills/async-python-patterns/SKILL.md) |
|
|
16
|
+
| **django-service-patterns** | Django project conventions — two-tier `config/settings/{base,local,production}` layering with django-environ, apps as domain units, a custom user model from the first migration, fat models / thin views / `services.py`, ORM discipline, pytest-django; includes a cookiecutter-django bring-up reference | [SKILL.md](../../skills/django-service-patterns/SKILL.md) |
|
|
17
|
+
| **django-rest-framework-patterns** | The DRF API layer — the request-flow ladder (routing → auth → permissions → throttle → view → serializer), thin ViewSets, explicit serializer `fields`, N+1 fixed in `get_queryset()`, `django_assert_num_queries`, pagination/filtering/JWT/CORS, drf-spectacular; Django Ninja as the documented alternative | [SKILL.md](../../skills/django-rest-framework-patterns/SKILL.md) |
|
|
18
|
+
| **django-rest-framework-packages** | Which third-party DRF package to adopt rather than hand-roll — need → package across auth, permissions, schema, filtering, serializers, async, errors, renderers, with ACTIVE/STALE/ABANDONED maintenance labels, a dated do-not-adopt list of packages DRF's own docs still link, and how to re-verify status | [SKILL.md](../../skills/django-rest-framework-packages/SKILL.md) |
|
|
19
|
+
| **django-migrations** | Migration safety — schema and data never mixed, reviewing what `makemigrations` guessed (renames emitted as drop+add), a `makemigrations --check` CI gate, idempotent batched `RunPython` under `atomic = False`, expand/contract for zero downtime, and the six-step safe squash sequence | [SKILL.md](../../skills/django-migrations/SKILL.md) |
|
|
20
|
+
| **django-async-patterns** | When ASGI actually beats WSGI (and when it is a liability) — the `a`-prefixed QuerySet API and `AsyncPaginator`, `CONN_MAX_AGE = 0`, the `sync_to_async` transaction trap vs `database_sync_to_async`, the ~1 ms crossing cost, Django 6.0 Tasks vs Celery, and async DRF via `adrf` with its limits | [SKILL.md](../../skills/django-async-patterns/SKILL.md) |
|
|
21
|
+
| **django-react-integration** | Wiring an SPA to Django — same-origin (bundled asset pipeline) vs separate-origin topologies, `CorsMiddleware` above `CommonMiddleware`, session-cookie vs JWT for a browser client, a generated TypeScript client from drf-spectacular, the `:3000` dev-port trap, and the production static/media split | [SKILL.md](../../skills/django-react-integration/SKILL.md) |
|
|
16
22
|
| **kafka-config-driven** | Config-driven Kafka producer/consumer infrastructure — JSON DSL topic/consumer config, message handling abstraction, aiokafka vs confluent_kafka, GSSAPI/SASL_SSL auth | [SKILL.md](../../skills/kafka-config-driven/SKILL.md) |
|
|
17
23
|
| **temporal-config-driven** | Config-driven Temporal workflow/activity orchestration — JSON DSL workflow registry, worker launcher, schedule/cron management, RetryPolicy patterns | [SKILL.md](../../skills/temporal-config-driven/SKILL.md) |
|
|
18
24
|
| **temporal-developer** | Temporal *fundamentals* (language-agnostic; complement to temporal-config-driven) — durable execution, why workflows must be deterministic (history replay), signals/queries/updates, safe versioning of running workflows (patching/worker versioning), testing (time-skipping/replay), gotchas, the `temporal` CLI dev loop, + Python/Go/TS starters; re-derived from the MIT temporalio/skill-temporal-developer | [SKILL.md](../../skills/temporal-developer/SKILL.md) |
|
|
@@ -76,6 +82,9 @@ These fifty-seven Claude Code skills encode production-proven engineering conven
|
|
|
76
82
|
|
|
77
83
|
3. **Trigger phrases (examples):**
|
|
78
84
|
- "scaffold a new FastAPI backend" → **backend-repo-architecture**, **fastapi-service-patterns**
|
|
85
|
+
- "scaffold a new Django backend" → **backend-repo-architecture**, **django-service-patterns**
|
|
86
|
+
- "build this DRF endpoint" → **django-rest-framework-patterns**; "which package for JWT?" → **django-rest-framework-packages**
|
|
87
|
+
- "backfill a column without downtime" → **django-migrations**
|
|
79
88
|
- "set up SQLAlchemy DAO" → **python-dao-and-database**
|
|
80
89
|
- "implement Kafka consumer" → **kafka-config-driven**
|
|
81
90
|
- "add Temporal workflow" → **temporal-config-driven**
|
|
@@ -132,4 +141,5 @@ These fifty-seven Claude Code skills encode production-proven engineering conven
|
|
|
132
141
|
|
|
133
142
|
- **Source:** These skills are derived from real-world production Python/FastAPI and React services as of June 2026. They reflect real-world conventions, including some anti-patterns that are documented for awareness.
|
|
134
143
|
- **Stack coverage:** Python FastAPI + SQLAlchemy (1.4 and 2.0) + Kafka + Temporal + Redis (caching); layered configuration (configargparse + YAML + Pydantic); GCS file ops + Excel/CSV reporting; LLM integration (Claude on Vertex AI via AnthropicVertex + Langfuse tracing); Node/Express + Objection/Knex + Joi; React + Vite + TypeScript (Zustand, TanStack Query, react-hook-form + Zod, Radix + Tailwind, Vitest + RTL + MSW); limited MongoDB (sync pymongo + aggregation/bulk/index patterns); BigQuery/GCS data pipelines; Strawberry GraphQL (backend) + Apollo Client (frontend); Docker + docker-compose + k8s; Cloud Run + GitHub Actions CI/CD; pytest + pytest-asyncio + Playwright; OpenTelemetry + Sentry + Prometheus + NewRelic; Grafana dashboards + unified alerting (Prometheus/Tempo/Pyroscope/managed-cloud datasources); argon2 + JWT + pyotp; Alembic migrations; multi-provider email/SMS notifications; OWASP ZAP VAPT/DAST scanning with automated PDF reporting; Shannon autonomous white-box AI pentesting (an external AGPL-3.0 CLI — documented, not bundled); Strix open-source AI penetration testing (an external Apache-2.0 CLI — documented, not bundled); PentesterFlow human-in-the-loop agentic pentesting (an external Apache-2.0 CLI — documented, not bundled); edge-to-service HMAC-signed forwarded-identity trust boundary; Kubernetes runtime/manifest hardening (securityContext, NetworkPolicy, PodSecurity, RBAC, digest-pinned images); scheduled/recurring jobs (Kubernetes CronJob declared in Helm values + Temporal Schedules); kubectl day-2 operations (full command surface, output formatting/JSONPath, contexts/RBAC, debugging playbooks).
|
|
135
|
-
- **What's NOT covered:** SQLModel, Tortoise ORM, beanie/motor (async MongoDB),
|
|
144
|
+
- **What's NOT covered:** SQLModel, Tortoise ORM, beanie/motor (async MongoDB), Flask, and non-Express Node frameworks (NestJS, Fastify). These were absent (or single-repo only) in the analyzed codebases and were deliberately not created.
|
|
145
|
+
- **Django was in that list until 0.80.0.** It was absent from the analyzed codebases, so no skill was extracted from them; the six `django-*` skills above were written against upstream Django 6.1, DRF, and cookiecutter-django instead. Provenance differs from the rest of this collection — see [GAP-ANALYSIS.md](GAP-ANALYSIS.md).
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-code-kit"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.80.0"
|
|
8
8
|
description = "Evidence-gated SDLC for Claude Code, installed as configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with a tamper-evident gate ledger, working memory, and a self-improving learnings loop."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -302,9 +302,6 @@ def fam_strictness(tmp: pathlib.Path) -> tuple[list[dict], dict[str, str]]:
|
|
|
302
302
|
PLANNED = {
|
|
303
303
|
"stack:frontend:vue": dict(frontend_framework="vue"),
|
|
304
304
|
"stack:frontend:svelte": dict(frontend_framework="svelte"),
|
|
305
|
-
"stack:backend:python-django": dict(
|
|
306
|
-
backend_language="python", backend_framework="django"
|
|
307
|
-
),
|
|
308
305
|
"stack:backend-language:node": dict(
|
|
309
306
|
backend_language="node", backend_framework="express"
|
|
310
307
|
),
|
|
@@ -383,6 +380,12 @@ OVERLAY = {
|
|
|
383
380
|
dict(frontend_framework="react", frontend_language="typescript"),
|
|
384
381
|
dict(frontend_framework="none"),
|
|
385
382
|
),
|
|
383
|
+
# The "off" arm is the sibling Python framework, not a different language: that is what
|
|
384
|
+
# proves the gate keys on the framework axis rather than merely on `backend_language`.
|
|
385
|
+
"django": (
|
|
386
|
+
dict(backend_language="python", backend_framework="django"),
|
|
387
|
+
dict(backend_language="python", backend_framework="fastapi"),
|
|
388
|
+
),
|
|
386
389
|
}
|
|
387
390
|
|
|
388
391
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# django-async-patterns
|
|
2
|
+
|
|
3
|
+
Encodes when async Django is worth it and how to do it safely: the WSGI-vs-ASGI decision, the
|
|
4
|
+
`a`-prefixed queryset API, why `CONN_MAX_AGE` must be zero under ASGI, the transaction trap in
|
|
5
|
+
`sync_to_async`, Django 6.0's Tasks framework versus Celery, and the real state of async DRF.
|
|
6
|
+
|
|
7
|
+
Much of this skill is about *not* going async. Async is not a performance upgrade for
|
|
8
|
+
database-bound Django — it relocates the concurrency ceiling rather than raising it.
|
|
9
|
+
|
|
10
|
+
## What this skill covers
|
|
11
|
+
|
|
12
|
+
- A decision table for WSGI vs ASGI, including the workloads where WSGI is the right answer
|
|
13
|
+
- The ~1 ms cost of each sync/async context switch, and why it dominates chatty views
|
|
14
|
+
- `CONN_MAX_AGE = 0` under ASGI — the failure that hides in development and appears under load
|
|
15
|
+
- `aget` / `acreate` / `aexists` / `async for`, `AsyncPaginator`, and `SynchronousOnlyOperation`
|
|
16
|
+
as a feature rather than an obstacle
|
|
17
|
+
- `sync_to_async` opening its own transaction context, and collapsing multi-write work into one
|
|
18
|
+
sync function
|
|
19
|
+
- `channels.db.database_sync_to_async` for long-lived consumers
|
|
20
|
+
- Django 6.0 Tasks (DB-backed enqueue, **no worker process**) vs Celery for scheduling, chains,
|
|
21
|
+
and retries
|
|
22
|
+
- Async DRF via `adrf`, its partial coverage, and the three honest options
|
|
23
|
+
|
|
24
|
+
## Provenance
|
|
25
|
+
|
|
26
|
+
Written for **Django 6.1**; the Tasks framework is noted as 6.0+. `adrf` is third-party
|
|
27
|
+
(github.com/em1208/adrf) and is presented with its limits rather than as a drop-in.
|
|
28
|
+
|
|
29
|
+
## How to apply
|
|
30
|
+
|
|
31
|
+
1. Start with the decision table. If the answer is WSGI, stop — the rest is not needed.
|
|
32
|
+
2. If deploying ASGI, set `CONN_MAX_AGE = 0` before anything else.
|
|
33
|
+
3. Keep transactional work inside a single sync function crossed once via `sync_to_async`.
|
|
34
|
+
4. For the API layer, see `django-rest-framework-patterns`.
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: django-async-patterns
|
|
3
|
+
description: Async Django — when ASGI beats WSGI, async views, the a-prefixed QuerySet API, disabling CONN_MAX_AGE, sync_to_async vs database_sync_to_async, Tasks vs Celery, async DRF via adrf. Use when adding async views or choosing ASGI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Async Django is worth it for a specific set of workloads and a liability everywhere else. This
|
|
7
|
+
skill is mostly about telling those apart, then doing it correctly when the answer is yes.
|
|
8
|
+
|
|
9
|
+
Targets **Django 6.1**. Features newer than the 5.2 LTS name their version.
|
|
10
|
+
|
|
11
|
+
## When to use
|
|
12
|
+
|
|
13
|
+
- Deciding between WSGI and ASGI for a deployment
|
|
14
|
+
- Adding an `async def` view, or converting a sync one
|
|
15
|
+
- A view that fans out to several slow HTTP calls
|
|
16
|
+
- Choosing between Django 6.0's Tasks framework and Celery
|
|
17
|
+
- Making DRF work in an async project
|
|
18
|
+
- Debugging `SynchronousOnlyOperation` or connection exhaustion under ASGI
|
|
19
|
+
|
|
20
|
+
## First: do you actually need ASGI?
|
|
21
|
+
|
|
22
|
+
| Workload | Answer |
|
|
23
|
+
|---|---|
|
|
24
|
+
| CRUD over a database, server-rendered or JSON | **WSGI.** gunicorn with sync workers is correct and simpler. |
|
|
25
|
+
| WebSockets, Server-Sent Events, long-lived connections | **ASGI.** WSGI cannot express these. |
|
|
26
|
+
| One view fanning out to several slow third-party APIs | **ASGI**, for that view. Concurrency is the point. |
|
|
27
|
+
| High request volume, all database-bound | **WSGI.** The bottleneck is the database and its connections, and async does not add any. |
|
|
28
|
+
| "It feels more modern" | **WSGI.** |
|
|
29
|
+
|
|
30
|
+
Async is not a performance upgrade for database-bound Django. It moves the concurrency limit from
|
|
31
|
+
worker processes to the connection pool, and if the pool is the constraint you have gained a more
|
|
32
|
+
complicated way to hit the same ceiling.
|
|
33
|
+
|
|
34
|
+
Each transition between sync and async context costs roughly **1 ms**. A view that crosses that
|
|
35
|
+
boundary a handful of times per request has spent more than it saved.
|
|
36
|
+
|
|
37
|
+
## Running under ASGI
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
uv run uvicorn config.asgi:application --host 0.0.0.0 --reload --reload-include '*.html'
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`--reload-include '*.html'` is needed because uvicorn's reloader watches Python files only;
|
|
44
|
+
without it template edits do not refresh.
|
|
45
|
+
|
|
46
|
+
### Disable `CONN_MAX_AGE`
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
DATABASES["default"]["CONN_MAX_AGE"] = 0
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Persistent connections must be **off** under async. `CONN_MAX_AGE` binds a connection to a thread,
|
|
53
|
+
and the async request path does not have the same thread-per-request guarantee, so connections leak
|
|
54
|
+
and the pool exhausts under load. Use the database backend's own pooling instead.
|
|
55
|
+
|
|
56
|
+
This is the single most common way an async Django deployment fails in production rather than in
|
|
57
|
+
development, because low traffic hides it.
|
|
58
|
+
|
|
59
|
+
## The async ORM surface
|
|
60
|
+
|
|
61
|
+
Every queryset method has an `a`-prefixed async twin:
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
order = await Order.objects.aget(pk=pk)
|
|
65
|
+
await Order.objects.acreate(customer=user, total=0)
|
|
66
|
+
orders = [o async for o in Order.objects.filter(status="open")]
|
|
67
|
+
exists = await Order.objects.filter(pk=pk).aexists()
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`AsyncPaginator` and `AsyncPage` are the paginator equivalents.
|
|
71
|
+
|
|
72
|
+
Querysets are still lazy; `async for` is what evaluates them. Forgetting the `await` on `aget()`
|
|
73
|
+
yields a coroutine that fails somewhere later and confusingly.
|
|
74
|
+
|
|
75
|
+
Calling the sync ORM from async context raises `SynchronousOnlyOperation`. That error is a
|
|
76
|
+
feature — it is Django refusing to block the event loop.
|
|
77
|
+
|
|
78
|
+
### `sync_to_async` and its transaction trap
|
|
79
|
+
|
|
80
|
+
`sync_to_async` opens **its own transaction context**. Code that needs transactional semantics
|
|
81
|
+
should therefore be a single sync function called through one `sync_to_async`, not several
|
|
82
|
+
separate calls that each get their own transaction:
|
|
83
|
+
|
|
84
|
+
```python
|
|
85
|
+
# Wrong — three transactions, no atomicity across them
|
|
86
|
+
await sync_to_async(order.save)()
|
|
87
|
+
await sync_to_async(payment.save)()
|
|
88
|
+
|
|
89
|
+
# Right — one sync function, one transaction, one crossing
|
|
90
|
+
@transaction.atomic
|
|
91
|
+
def _place(order, payment):
|
|
92
|
+
order.save()
|
|
93
|
+
payment.save()
|
|
94
|
+
|
|
95
|
+
await sync_to_async(_place)(order, payment)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
This also minimises the ~1 ms crossings.
|
|
99
|
+
|
|
100
|
+
In a long-lived consumer (a WebSocket handler), use `channels.db.database_sync_to_async` instead.
|
|
101
|
+
It is `sync_to_async` plus `close_old_connections()`, which is what prevents a consumer from
|
|
102
|
+
holding a stale connection for the life of the socket.
|
|
103
|
+
|
|
104
|
+
## Background work: Tasks vs Celery
|
|
105
|
+
|
|
106
|
+
**Django 6.0** shipped a built-in Tasks framework (`django.tasks`) with database-backed enqueue.
|
|
107
|
+
It has **no built-in worker process** — enqueueing is solved, execution is not, and you still
|
|
108
|
+
supply infrastructure to run the tasks.
|
|
109
|
+
|
|
110
|
+
| Need | Use |
|
|
111
|
+
|---|---|
|
|
112
|
+
| Fire-and-forget, already have a worker story | `django.tasks` (6.0+) |
|
|
113
|
+
| Periodic / scheduled jobs | **Celery** (+ django-celerybeat) |
|
|
114
|
+
| Chains, groups, chords | **Celery** |
|
|
115
|
+
| Per-task retry policies, backoff | **Celery** |
|
|
116
|
+
| Result backend, monitoring (Flower) | **Celery** |
|
|
117
|
+
|
|
118
|
+
Tasks is not a Celery replacement for anything beyond simple enqueue. cookiecutter-django still
|
|
119
|
+
offers Celery for exactly this reason.
|
|
120
|
+
|
|
121
|
+
## DRF in an async project
|
|
122
|
+
|
|
123
|
+
DRF has **no first-class async support**. Its views, permissions, and serializers are sync.
|
|
124
|
+
|
|
125
|
+
[`adrf`](https://github.com/em1208/adrf) bridges the gap with async class- and function-based
|
|
126
|
+
views. It works, but it is third-party, it does not cover the whole DRF surface, and mixing async
|
|
127
|
+
views with sync permission classes reintroduces the crossings you were trying to avoid.
|
|
128
|
+
|
|
129
|
+
Three honest options:
|
|
130
|
+
|
|
131
|
+
1. **Keep DRF sync under WSGI**, and run genuinely async work elsewhere. Best for a mostly-CRUD
|
|
132
|
+
API with a few slow endpoints.
|
|
133
|
+
2. **DRF + `adrf`** for the handful of views that need it. Accept the partial coverage.
|
|
134
|
+
3. **Django Ninja** if the API is async throughout. It is async-first on Pydantic v2 — see
|
|
135
|
+
`django-rest-framework-patterns` for the tradeoff.
|
|
136
|
+
|
|
137
|
+
Do not convert an entire DRF API to `adrf` expecting a speedup. A database-bound API gets slower,
|
|
138
|
+
because every ORM call becomes a boundary crossing.
|
|
139
|
+
|
|
140
|
+
## Anti-patterns to avoid
|
|
141
|
+
|
|
142
|
+
1. **`CONN_MAX_AGE` left non-zero under ASGI** — connection leak that only appears under load.
|
|
143
|
+
2. **Sync ORM calls in an `async def` view** — `SynchronousOnlyOperation`, or a blocked event loop
|
|
144
|
+
if wrapped carelessly.
|
|
145
|
+
3. **Several `sync_to_async` calls where one transaction was needed** — each gets its own
|
|
146
|
+
transaction context.
|
|
147
|
+
4. **`sync_to_async` in a long-lived consumer** — use `database_sync_to_async` so connections are
|
|
148
|
+
closed.
|
|
149
|
+
5. **Choosing ASGI for a database-bound CRUD app** — moves the ceiling without raising it.
|
|
150
|
+
6. **Sprinkling `async def` on views that only touch the ORM** — pure overhead.
|
|
151
|
+
7. **Treating `django.tasks` as a Celery replacement** — no worker, no scheduling, no chains.
|
|
152
|
+
8. **Converting a whole DRF API to `adrf`** — partial coverage and more crossings.
|
|
153
|
+
9. **Forgetting `await` on an `a`-prefixed call** — fails later, far from the cause.
|
|
154
|
+
10. **Blocking calls (`requests`, `time.sleep`) in an async view** — stalls the entire event loop,
|
|
155
|
+
not just that request.
|
|
156
|
+
|
|
157
|
+
## References
|
|
158
|
+
|
|
159
|
+
- `django-rest-framework-patterns` — the sync DRF layer and the Ninja alternative
|
|
160
|
+
- `django-service-patterns` — the services layer these views call
|
|
161
|
+
- `.claude/rules/django-patterns.md` — the installed overlay rule, incl. the WSGI/ASGI decision
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# django-migrations
|
|
2
|
+
|
|
3
|
+
Encodes migration safety for Django: keeping schema and data changes in separate migrations,
|
|
4
|
+
reviewing what `makemigrations` guessed, writing idempotent batched `RunPython` backfills under
|
|
5
|
+
`atomic = False`, sequencing expand/contract so a rolling deploy never sees an invalid state, and
|
|
6
|
+
the multi-deploy squash sequence that does not strand a lagging environment.
|
|
7
|
+
|
|
8
|
+
## What this skill covers
|
|
9
|
+
|
|
10
|
+
- One migration, one thing — why mixing schema and data has no clean recovery
|
|
11
|
+
- Reviewing generated migrations: rename-as-drop-plus-add, defaults on large tables, `unique=True`
|
|
12
|
+
on populated columns
|
|
13
|
+
- `makemigrations --check --dry-run` as a CI gate
|
|
14
|
+
- Data migrations: `apps.get_model`, filtering to un-migrated rows, `.iterator()` + `bulk_update`,
|
|
15
|
+
and always supplying a reverse (even `noop`)
|
|
16
|
+
- Why `atomic = False` makes the idempotent filter mandatory rather than nice to have
|
|
17
|
+
- Expand → backfill → deploy → contract for adding a non-nullable column; reverse order for drops
|
|
18
|
+
- The six-step safe squash, and why steps 2–6 cannot collapse into one deploy
|
|
19
|
+
|
|
20
|
+
## Provenance
|
|
21
|
+
|
|
22
|
+
Written for **Django 6.1**. Notes that zero-downtime migration backends improve schema and `RunSQL`
|
|
23
|
+
operations but do not change `RunPython` semantics — a distinction that is easy to assume away when
|
|
24
|
+
such a backend is installed.
|
|
25
|
+
|
|
26
|
+
## How to apply
|
|
27
|
+
|
|
28
|
+
1. Read before writing any migration that touches a populated table.
|
|
29
|
+
2. Split schema from data as the first move, not as cleanup.
|
|
30
|
+
3. Add the `makemigrations --check` step to CI once, so the rule is enforced rather than
|
|
31
|
+
remembered.
|
|
32
|
+
4. For the models these migrations act on, see `django-service-patterns`.
|
|
33
|
+
5. Migrations classify as sensitive under `.claude/rules/risk-classification.md`; high-risk ones
|
|
34
|
+
need rollback notes before they ship.
|