claude-code-kit 0.36.0__tar.gz → 0.37.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.36.0 → claude_code_kit-0.37.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/CHANGELOG.md +20 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/PKG-INFO +4 -4
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/README.md +3 -3
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/stack-skills/README.md +2 -1
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/pyproject.toml +1 -1
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/README.md +8 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/SKILL.md +7 -1
- claude_code_kit-0.37.0/skills/temporal-developer/README.md +38 -0
- claude_code_kit-0.37.0/skills/temporal-developer/SKILL.md +94 -0
- claude_code_kit-0.37.0/skills/temporal-developer/references/cli.md +63 -0
- claude_code_kit-0.37.0/skills/temporal-developer/references/determinism.md +72 -0
- claude_code_kit-0.37.0/skills/temporal-developer/references/gotchas.md +69 -0
- claude_code_kit-0.37.0/skills/temporal-developer/references/languages.md +110 -0
- claude_code_kit-0.37.0/skills/temporal-developer/references/testing.md +80 -0
- claude_code_kit-0.37.0/skills/temporal-developer/references/versioning.md +82 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/.gitignore +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/LICENSE +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/developer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/orchestrator.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/tester.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/catalog/profiles.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/catalog/stacks.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/commands/abort.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/commands/init.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/commands/status.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/agents.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/architecture.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/capture-a-real-run.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/coverage-audit.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/capture-learnings.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/continuity.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/evals.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/model-tiers.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/testing.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/rules/tool-design.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/scripts/capture-sdlc-run.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/scripts/check_docs_consistency.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-compose/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/change-proposal.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/settings.json +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
- {claude_code_kit-0.36.0 → claude_code_kit-0.37.0}/templates/stacks/frontend/react/rules/ux-patterns.md +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "claude-kit",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (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, working memory, and a self-improving learnings loop.",
|
|
13
|
-
"version": "0.
|
|
13
|
+
"version": "0.37.0",
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
|
|
16
16
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (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 working memory and a self-improving learnings loop.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Arjunsingh Yadav",
|
|
@@ -4,6 +4,26 @@ 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.37.0] — 2026-06-26
|
|
8
|
+
|
|
9
|
+
**New `temporal-developer` collection skill — Temporal *fundamentals*, language-agnostic** (re-derived
|
|
10
|
+
concisely from the official MIT [`temporalio/skill-temporal-developer`](https://github.com/temporalio/skill-temporal-developer);
|
|
11
|
+
nothing vendored, cross-checked against https://docs.temporal.io). Complements — does **not** duplicate —
|
|
12
|
+
the existing `temporal-config-driven` skill (which stays scoped to this kit's config-driven worker-map /
|
|
13
|
+
DAG-as-data architecture and *assumes* these fundamentals).
|
|
14
|
+
|
|
15
|
+
- **`skills/temporal-developer/`** (SKILL.md + README.md with MIT provenance) covers the durable-execution
|
|
16
|
+
model, **why workflows must be deterministic** (history replay → Command/Event matching), the
|
|
17
|
+
workflow/activity/worker split, Query vs Signal vs Update, and six compact references:
|
|
18
|
+
`determinism.md`, `versioning.md` (patching · workflow-type · worker/Build-ID versioning),
|
|
19
|
+
`testing.md` (local/time-skipping env, activity mocking, replay tests), `gotchas.md`,
|
|
20
|
+
`cli.md` (`temporal server start-dev` + the `workflow start/execute/signal/query/update` dev loop),
|
|
21
|
+
and `languages.md` (Python/Go/TypeScript starters + pointer to upstream Java/.NET/Ruby/Rust depth).
|
|
22
|
+
- **Auto-trigger boundary** wired both ways: each skill's `description` carries an explicit
|
|
23
|
+
`Do NOT use … → use <sibling>` clause, with reciprocal pointers in both SKILL.md/README.md bodies.
|
|
24
|
+
- Counts: **96 → 97** total skills (**45 → 46** stack-collection; core unchanged at 51), plus a new
|
|
25
|
+
`docs/stack-skills` catalog row. No catalog/stack/hook/agent changes (Temporal is a skill, not a stack axis).
|
|
26
|
+
|
|
7
27
|
## [0.36.0] — 2026-06-25
|
|
8
28
|
|
|
9
29
|
**Rule-presentation + context-hygiene polish** (patterns adopted from Karpathy-skills, addyosmani/agent-skills,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.37.0
|
|
4
4
|
Summary: Cookiecutter-style scaffolder for an autonomous Claude Code SDLC 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, 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
|
|
@@ -84,7 +84,7 @@ Quick start) for the full breakdown of any row.
|
|
|
84
84
|
| 🔁 **Pipeline & quality gates** | Gate-enforced progression (zero open Critical/High/Medium to advance), per-profile gate sets, a fast-track for small changes, and an anti-sycophancy `devils-advocate` pass |
|
|
85
85
|
| 🤖 **Agent roster** | **28** tiered agents + per-database overlays + **6** org personas, led by an Orchestrator that never writes code |
|
|
86
86
|
| 🔍 **Self-verification & review** | RARV green-Verify (real commands, not imagined), blind parallel review, and read-only risk classification |
|
|
87
|
-
| 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **
|
|
87
|
+
| 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **97** context-activated skills (51 core + 46 stack-collection) |
|
|
88
88
|
| 🧱 **Stacks & overlays** | Stack-agnostic core + **10** overlay rule sets (React · FastAPI · Go · Postgres · Mongo) wired to your exact commands, incl. a full React design system |
|
|
89
89
|
| 🎚️ **Profiles, scopes & org** | **3** rigor profiles · **3** scopes · **5** autonomy levels · **7** org packs + **10** policy rules |
|
|
90
90
|
| 🧠 **Memory & learning** | Working memory across context compaction + a cost-aware learnings loop (`capture_mode`) so the same mistake isn't repeated |
|
|
@@ -281,7 +281,7 @@ need.
|
|
|
281
281
|
- **23 stack-agnostic core rules** in [`rules/`](rules/) — `mandatory-workflow`, `quality-gates`,
|
|
282
282
|
`rarv-cycle`, `continuity`, plus eight agent-operation rules and `autonomy-levels` +
|
|
283
283
|
`risk-classification` (see [`docs/agentic-patterns.md`](docs/agentic-patterns.md)).
|
|
284
|
-
- **
|
|
284
|
+
- **97 on-demand skills** in [`skills/`](skills/) (51 core + 46 stack-collection) — spec-driven dev, planning, TDD, debugging, code
|
|
285
285
|
review, threat modeling, and more — activated by context and led by the `sdlc` entrypoint.
|
|
286
286
|
- **Profile-subset install** — each profile installs a strict subset of agents, skills, hooks, and
|
|
287
287
|
rules (`lean ⊂ standard ⊂ enterprise`), from fast track to full audit.
|
|
@@ -437,7 +437,7 @@ owned gates, and the rule that **no gate passes on an unproven verdict**.
|
|
|
437
437
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | A **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
|
|
438
438
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | The same coverage-gate idea (the `story-planner` 1f gate + `task-tracker-sync`) **absorbed into a broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
|
|
439
439
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | **Portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
|
|
440
|
-
| **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 23 rules, 28 agents,
|
|
440
|
+
| **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 23 rules, 28 agents, 97 skills, gates, and hooks, kept **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
|
|
441
441
|
|
|
442
442
|
**Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
|
|
443
443
|
that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
|
|
@@ -54,7 +54,7 @@ Quick start) for the full breakdown of any row.
|
|
|
54
54
|
| 🔁 **Pipeline & quality gates** | Gate-enforced progression (zero open Critical/High/Medium to advance), per-profile gate sets, a fast-track for small changes, and an anti-sycophancy `devils-advocate` pass |
|
|
55
55
|
| 🤖 **Agent roster** | **28** tiered agents + per-database overlays + **6** org personas, led by an Orchestrator that never writes code |
|
|
56
56
|
| 🔍 **Self-verification & review** | RARV green-Verify (real commands, not imagined), blind parallel review, and read-only risk classification |
|
|
57
|
-
| 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **
|
|
57
|
+
| 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **97** context-activated skills (51 core + 46 stack-collection) |
|
|
58
58
|
| 🧱 **Stacks & overlays** | Stack-agnostic core + **10** overlay rule sets (React · FastAPI · Go · Postgres · Mongo) wired to your exact commands, incl. a full React design system |
|
|
59
59
|
| 🎚️ **Profiles, scopes & org** | **3** rigor profiles · **3** scopes · **5** autonomy levels · **7** org packs + **10** policy rules |
|
|
60
60
|
| 🧠 **Memory & learning** | Working memory across context compaction + a cost-aware learnings loop (`capture_mode`) so the same mistake isn't repeated |
|
|
@@ -251,7 +251,7 @@ need.
|
|
|
251
251
|
- **23 stack-agnostic core rules** in [`rules/`](rules/) — `mandatory-workflow`, `quality-gates`,
|
|
252
252
|
`rarv-cycle`, `continuity`, plus eight agent-operation rules and `autonomy-levels` +
|
|
253
253
|
`risk-classification` (see [`docs/agentic-patterns.md`](docs/agentic-patterns.md)).
|
|
254
|
-
- **
|
|
254
|
+
- **97 on-demand skills** in [`skills/`](skills/) (51 core + 46 stack-collection) — spec-driven dev, planning, TDD, debugging, code
|
|
255
255
|
review, threat modeling, and more — activated by context and led by the `sdlc` entrypoint.
|
|
256
256
|
- **Profile-subset install** — each profile installs a strict subset of agents, skills, hooks, and
|
|
257
257
|
rules (`lean ⊂ standard ⊂ enterprise`), from fast track to full audit.
|
|
@@ -407,7 +407,7 @@ owned gates, and the rule that **no gate passes on an unproven verdict**.
|
|
|
407
407
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | A **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
|
|
408
408
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | The same coverage-gate idea (the `story-planner` 1f gate + `task-tracker-sync`) **absorbed into a broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
|
|
409
409
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | **Portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
|
|
410
|
-
| **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 23 rules, 28 agents,
|
|
410
|
+
| **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 23 rules, 28 agents, 97 skills, gates, and hooks, kept **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
|
|
411
411
|
|
|
412
412
|
**Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
|
|
413
413
|
that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Production Engineering Skills Collection
|
|
2
2
|
|
|
3
|
-
These forty-
|
|
3
|
+
These forty-six Claude Code skills encode production-proven engineering conventions derived from real-world Python/FastAPI, Node/Express, and React services. Each skill was extracted from analyzing patterns across multiple production backend and frontend services, capturing canonical patterns for FastAPI microservices, async Python, Kafka/Temporal integration, multi-tenancy, database access, layered configuration, Redis caching, GCS file handling, LLM integration (Vertex AI / Langfuse), Node/Express services, React frontends (state, data-fetching, forms, design systems, testing), observability (including Grafana dashboards & unified alerting), authentication, containerization (with granular Dockerfile/compose deep-dives), testing, data pipelines, security scanning (OWASP ZAP VAPT/DAST and autonomous AI pentesting), security architecture (edge-to-service signed-identity trust boundary, Kubernetes workload hardening), scheduled & recurring jobs (Kubernetes CronJob + Temporal Schedule), kubectl day-2 operations, and modernization strategies. Use them to align new projects with established patterns, audit existing services, or onboard engineers to modern Python, Node, and React development practices.
|
|
4
4
|
|
|
5
5
|
> **Where these live in this repo:** the skill folders are under [`skills/`](../../skills/) (auto-discovered by the claude-kit plugin). The links below point there.
|
|
6
6
|
|
|
@@ -15,6 +15,7 @@ These forty-five Claude Code skills encode production-proven engineering convent
|
|
|
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
16
|
| **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
17
|
| **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
|
+
| **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) |
|
|
18
19
|
| **frontend-repo-architecture** | React + Vite + TypeScript frontend structure — three organizational models (module-scoped, feature-sliced, GraphQL-based), API layer strategies, hand-written types, state management | [SKILL.md](../../skills/frontend-repo-architecture/SKILL.md) |
|
|
19
20
|
| **design-patterns-and-conventions** | Design conventions across repos — naming (classes/files/routes), error handling (ResponseData envelope), config hierarchy, logging structured-log patterns, code organization | [SKILL.md](../../skills/design-patterns-and-conventions/SKILL.md) |
|
|
20
21
|
| **multi-tenancy-patterns** | Multi-tenant isolation strategies — tenant resolution (header/JWT/session), Postgres RLS, multi-pool databases, lazy connectors, data-layer org_id tenancy | [SKILL.md](../../skills/multi-tenancy-patterns/SKILL.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.37.0"
|
|
8
8
|
description = "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC 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, working memory, and a self-improving learnings loop."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -11,6 +11,14 @@ Temporal workflow orchestration patterns derived from real-world production Pyth
|
|
|
11
11
|
- **Dynamic worker generation** for matrix-based workers (e.g., file_type × business_unit)
|
|
12
12
|
- **Graceful shutdown** patterns (SIGTERM/SIGINT handling in worker processes)
|
|
13
13
|
|
|
14
|
+
## Related skill
|
|
15
|
+
|
|
16
|
+
For Temporal **fundamentals** — durable execution, why workflows must be deterministic (history
|
|
17
|
+
replay), safely changing running workflows (patching/worker versioning), testing
|
|
18
|
+
(time-skipping/replay), signals/queries/updates, and non-Python SDKs — use the complementary
|
|
19
|
+
**`temporal-developer`** skill. This skill assumes those fundamentals and focuses on the
|
|
20
|
+
config-driven worker-map / DAG-as-data architecture.
|
|
21
|
+
|
|
14
22
|
## Source provenance
|
|
15
23
|
|
|
16
24
|
Derived from real-world production Python/FastAPI services implementing Temporal orchestration at scale.
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: temporal-config-driven
|
|
3
|
-
description: Encodes Temporal workflow orchestration patterns derived from production Python/FastAPI services—config-driven worker maps, workflow/activity definitions, retry policies, idempotency via activity_id, cron-based schedules, and DAG-based config-as-data orchestration. Use when implementing or debugging
|
|
3
|
+
description: Encodes Temporal workflow orchestration patterns derived from production Python/FastAPI services—config-driven worker maps, workflow/activity definitions, retry policies, idempotency via activity_id, cron-based schedules, and DAG-based config-as-data orchestration. Use when implementing or debugging this kit's config-driven Temporal architecture (WORKER_MODE_CONFIG_MAP, _execute_dag/NODE_TYPE_MAP, schedule registration), worker bootstrap with graceful shutdown, or DAG-based config-as-data orchestration systems. Do NOT use for Temporal fundamentals (determinism/history replay, safe versioning of running workflows, testing, signals/queries/updates) or non-Python SDKs—use temporal-developer for those.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# temporal-config-driven
|
|
7
7
|
|
|
8
8
|
Temporal workflow orchestration using config-driven worker maps and DAG-based execution.
|
|
9
9
|
|
|
10
|
+
> **Fundamentals live elsewhere.** This skill is the *config-driven architecture* layer and assumes
|
|
11
|
+
> you already understand durable execution. For Temporal **fundamentals** — why workflows must be
|
|
12
|
+
> deterministic (history replay), safely versioning running workflows, testing (time-skipping/replay),
|
|
13
|
+
> signals/queries/updates, and non-Python SDKs — use the **`temporal-developer`** skill. They are
|
|
14
|
+
> complementary.
|
|
15
|
+
|
|
10
16
|
## When to use
|
|
11
17
|
|
|
12
18
|
- Implementing Temporal workers with mode-based configuration (WORKER_MODE_CONFIG_MAP)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# temporal-developer
|
|
2
|
+
|
|
3
|
+
Temporal **fundamentals** for durable execution, language-agnostic: the workflow/activity/worker
|
|
4
|
+
split, why workflows must be deterministic (history replay), signals/queries/updates, child
|
|
5
|
+
workflows, saga, continue-as-new, retry/timeout/cancellation, safe versioning of running workflows,
|
|
6
|
+
testing, and the `temporal` CLI dev loop.
|
|
7
|
+
|
|
8
|
+
This is the conceptual layer *underneath* a Temporal codebase. It is **complementary** to this kit's
|
|
9
|
+
`temporal-config-driven` skill, which encodes a specific config-driven worker-map / DAG-as-data
|
|
10
|
+
architecture and assumes these fundamentals. See each skill's `description` for the auto-trigger
|
|
11
|
+
boundary.
|
|
12
|
+
|
|
13
|
+
## Source provenance
|
|
14
|
+
|
|
15
|
+
Re-derived **concisely, in claude-kit's own idiom** from the official, MIT-licensed
|
|
16
|
+
[`temporalio/skill-temporal-developer`](https://github.com/temporalio/skill-temporal-developer)
|
|
17
|
+
(© Temporal Technologies Inc., MIT License). **Nothing is vendored** — the upstream reference files
|
|
18
|
+
were read for grounding and the concepts paraphrased into compact notes, with cross-checks against
|
|
19
|
+
the public Temporal docs (https://docs.temporal.io).
|
|
20
|
+
|
|
21
|
+
The upstream skill is the **authority** and carries the full per-language depth (Python, TypeScript,
|
|
22
|
+
Go, Java, .NET, Ruby, Rust) plus integrations and ops material. These notes deliberately stay lean
|
|
23
|
+
and point back to it; when the two disagree, trust upstream.
|
|
24
|
+
|
|
25
|
+
## How to apply
|
|
26
|
+
|
|
27
|
+
1. **Read `SKILL.md`** for the durable-execution model and the workflow/activity/worker rules — the
|
|
28
|
+
ideas every Temporal codebase depends on.
|
|
29
|
+
2. **Hit a non-determinism / command-mismatch error?** Go straight to
|
|
30
|
+
[`references/determinism.md`](references/determinism.md).
|
|
31
|
+
3. **Changing a workflow with in-flight executions?** Use
|
|
32
|
+
[`references/versioning.md`](references/versioning.md) before you touch the Command sequence.
|
|
33
|
+
4. **Writing tests?** Use [`references/testing.md`](references/testing.md) (time-skipping env, replay
|
|
34
|
+
tests, activity mocking).
|
|
35
|
+
5. **Need the full per-language API?** Use [`references/languages.md`](references/languages.md) for
|
|
36
|
+
compact starters, then follow the upstream link for your SDK.
|
|
37
|
+
6. **For this kit's config-driven worker maps / DAG interpreter / cron schedules**, use the sibling
|
|
38
|
+
`temporal-config-driven` skill instead.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: temporal-developer
|
|
3
|
+
description: Temporal fundamentals for durable execution across languages (Python, Go, TypeScript, Java, .NET, Ruby, Rust)—the workflow/activity/worker split, why workflows must be deterministic (history replay), signals/queries/updates, child workflows, saga/compensation, continue-as-new, timers, retry policies, cancellation/heartbeating, safe versioning of running workflows (patching, worker versioning), testing (time-skipping, replay tests, activity mocking), and the temporal CLI dev loop. Use when building or debugging Temporal workflows/activities/workers, fixing non-determinism errors, or deciding how to change running workflows safely. Do NOT use for this kit's config-driven worker-map / DAG-as-data orchestration engine (WORKER_MODE_CONFIG_MAP, _execute_dag, NODE_TYPE_MAP, schedule registration)—use temporal-config-driven for that.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# temporal-developer
|
|
7
|
+
|
|
8
|
+
Temporal **fundamentals**: how durable execution actually works, and the rules you must follow to
|
|
9
|
+
build correct workflows in any Temporal SDK. This is the conceptual layer underneath any
|
|
10
|
+
Temporal codebase — read it before writing workflow code, and reach for it when a workflow throws a
|
|
11
|
+
non-determinism error or you need to change code that running workflows depend on.
|
|
12
|
+
|
|
13
|
+
> **Sibling boundary.** `temporal-config-driven` covers *this kit's* specific config-driven
|
|
14
|
+
> architecture (mode→worker maps, the DAG-as-data interpreter, idempotency-via-`activity_id`,
|
|
15
|
+
> cron schedule registration). It **assumes** the fundamentals below. If you are wiring
|
|
16
|
+
> `WORKER_MODE_CONFIG_MAP`, `_execute_dag`, or `register_schedules`, use that skill. If you are
|
|
17
|
+
> learning *why workflows replay*, fixing determinism, versioning a live workflow, or working in a
|
|
18
|
+
> non-Python SDK, use **this** one. They are complementary, not duplicates.
|
|
19
|
+
|
|
20
|
+
## When to use
|
|
21
|
+
|
|
22
|
+
- Building your first workflow / activity / worker, or onboarding a new SDK language
|
|
23
|
+
- A workflow raised a **non-determinism / command-mismatch error** (see `references/determinism.md`)
|
|
24
|
+
- You need to change a workflow that has **in-flight executions** without breaking them (`references/versioning.md`)
|
|
25
|
+
- Writing tests for workflows — time-skipping, replay tests, activity mocking (`references/testing.md`)
|
|
26
|
+
- Choosing between **Signal, Query, and Update**, or adding child workflows / saga / continue-as-new
|
|
27
|
+
- Setting retry policies, timeouts, cancellation + heartbeating correctly
|
|
28
|
+
- Driving workflows from the `temporal` CLI during the dev loop (`references/cli.md`)
|
|
29
|
+
|
|
30
|
+
## The durable-execution model (the one idea everything rests on)
|
|
31
|
+
|
|
32
|
+
A Temporal **Workflow** is ordinary code whose execution is made *durable*: it survives process
|
|
33
|
+
crashes, deploys, and machine loss, and can sleep for months. It achieves this not by checkpointing
|
|
34
|
+
memory but by **replaying code against an Event History**.
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Workflow code runs ──> emits Commands ──> Server records them as Events (the History)
|
|
38
|
+
Worker dies / cache evicts / long timer fires
|
|
39
|
+
Worker re-runs the SAME code from the top ──> for each Command, the SDK matches it to the
|
|
40
|
+
recorded Event and feeds back the stored result ──> state is reconstructed, execution continues
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Three consequences fall directly out of replay — internalize these:
|
|
44
|
+
|
|
45
|
+
1. **Workflow code must be deterministic.** Same inputs + same history ⇒ identical sequence of
|
|
46
|
+
Commands, every replay. Wall-clock time, `random`, UUIDs, env vars, file/network I/O, and
|
|
47
|
+
unordered map iteration all break this. → `references/determinism.md`.
|
|
48
|
+
2. **All non-determinism and all side effects belong in Activities.** An **Activity** is a plain
|
|
49
|
+
function that runs *once*, outside replay, with at-least-once execution, automatic retries, and
|
|
50
|
+
timeouts. Workflows *orchestrate*; Activities *do the I/O*. Because activities can run more than
|
|
51
|
+
once, they must be **idempotent** (use an idempotency key).
|
|
52
|
+
3. **Changing workflow code can break replay.** New code that emits a different Command sequence than
|
|
53
|
+
the recorded history fails open executions. Use **patching** or **worker versioning** to change
|
|
54
|
+
live workflows safely. → `references/versioning.md`.
|
|
55
|
+
|
|
56
|
+
### Workflow vs Activity vs Worker
|
|
57
|
+
|
|
58
|
+
| Piece | What it is | Rules |
|
|
59
|
+
|-------|-----------|-------|
|
|
60
|
+
| **Workflow** | Orchestration logic; deterministic; replayed | No I/O, no clock/random/UUID except SDK-safe variants; only orchestrate |
|
|
61
|
+
| **Activity** | A unit of real work (I/O, compute); runs once per attempt | Must be idempotent; gets retries + timeouts; heartbeat if long-running |
|
|
62
|
+
| **Worker** | Process that polls a **task queue** and runs your workflow + activity code | All workers on a queue must run *identical* code (else replay mismatch) |
|
|
63
|
+
|
|
64
|
+
### Talking to a running workflow — Query vs Signal vs Update
|
|
65
|
+
|
|
66
|
+
| Operation | Modifies state? | Returns a result? | May block? | Use for |
|
|
67
|
+
|-----------|-----------------|-------------------|-----------|---------|
|
|
68
|
+
| **Query** | No | Yes | No | Read current state (read-only — never mutate) |
|
|
69
|
+
| **Signal** | Yes | No | Yes | Fire-and-forget input/mutation |
|
|
70
|
+
| **Update** | Yes | Yes | Yes | A mutation that must return a result |
|
|
71
|
+
|
|
72
|
+
> Mnemonic: **Query to peek, Signal to push, Update to pop.** Queries and update *validators* are
|
|
73
|
+
> strictly read-only — mutating in them is non-deterministic on replay.
|
|
74
|
+
|
|
75
|
+
## References
|
|
76
|
+
|
|
77
|
+
- [determinism.md](references/determinism.md) — replay mechanics, what workflow code may/may not do, SDK protection levels, recovery
|
|
78
|
+
- [versioning.md](references/versioning.md) — patching API, workflow-type versioning, worker (Build ID) versioning; when *not* to patch
|
|
79
|
+
- [testing.md](references/testing.md) — local/time-skipping environment, activity mocking, signal/query/update tests, replay tests
|
|
80
|
+
- [gotchas.md](references/gotchas.md) — the highest-leverage cross-language anti-patterns and their fixes
|
|
81
|
+
- [cli.md](references/cli.md) — `temporal server start-dev` + `workflow start/execute/signal/query/update` dev loop
|
|
82
|
+
- [languages.md](references/languages.md) — compact Python/Go/TypeScript starters + pointer to upstream per-language depth (Java/.NET/Ruby/Rust + AI integrations)
|
|
83
|
+
|
|
84
|
+
## Upstream (authoritative, full 7-language depth)
|
|
85
|
+
|
|
86
|
+
These references are **re-derived concisely** in this kit's idiom from the official, MIT-licensed
|
|
87
|
+
**`temporalio/skill-temporal-developer`**. For exhaustive per-language guides (Python · TypeScript ·
|
|
88
|
+
Go · Java · .NET · Ruby · Rust), integrations (OpenAI Agents SDK, Google ADK, …), and ops-grade
|
|
89
|
+
material, go to the source — it is the authority and is kept current by Temporal:
|
|
90
|
+
|
|
91
|
+
- Repo: https://github.com/temporalio/skill-temporal-developer
|
|
92
|
+
- Docs: https://docs.temporal.io
|
|
93
|
+
|
|
94
|
+
When upstream and these notes disagree, trust upstream and update this skill.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# `temporal` CLI — the developer dev loop
|
|
2
|
+
|
|
3
|
+
The same commands work against the dev server, a self-hosted cluster, or Temporal Cloud — only the
|
|
4
|
+
connection descriptor changes. **Always pass `--output json`** so output is parseable.
|
|
5
|
+
|
|
6
|
+
## Dev server
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
temporal server start-dev # in-memory, single process — DEV ONLY
|
|
10
|
+
temporal server start-dev --db-filename temporal.db # persist state across restarts
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Loses all state on restart unless `--db-filename` is set; never use it for production. Default
|
|
14
|
+
frontend address is `localhost:7233`; the Web UI is served too (default `localhost:8233`).
|
|
15
|
+
|
|
16
|
+
## Start vs execute
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Start asynchronously — returns Workflow ID + Run ID immediately
|
|
20
|
+
temporal workflow start --output json \
|
|
21
|
+
--type YourWorkflow --task-queue YourTaskQueue \
|
|
22
|
+
--workflow-id YourId --input '{"k": "v"}'
|
|
23
|
+
|
|
24
|
+
# Start AND block until completion — streams progress; non-zero exit = failed/cancelled/timed out
|
|
25
|
+
temporal workflow execute --output json \
|
|
26
|
+
--type YourWorkflow --task-queue YourTaskQueue --input '{"k": "v"}'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`--type` and `--task-queue` are required; `--workflow-id` is optional (server generates a UUID).
|
|
30
|
+
`execute` is ideal for one-shot smoke tests in the dev loop. Useful start flags: `--id-reuse-policy`
|
|
31
|
+
(`AllowDuplicate` | `AllowDuplicateFailedOnly` | `RejectDuplicate` | `TerminateIfRunning`),
|
|
32
|
+
`--id-conflict-policy` (`Fail` | `UseExisting` | `TerminateExisting`), `--execution-timeout` /
|
|
33
|
+
`--run-timeout`, `--search-attribute KEY=VALUE`, `--cron` (legacy — prefer `temporal schedule create`).
|
|
34
|
+
|
|
35
|
+
## Interacting with a running workflow
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Signal (fire-and-forget mutation)
|
|
39
|
+
temporal workflow signal --output json -w YourId --name YourSignal --input '{"k":"v"}'
|
|
40
|
+
|
|
41
|
+
# Query (read-only; works on running AND completed workflows)
|
|
42
|
+
temporal workflow query --output json -w YourId --name YourQuery
|
|
43
|
+
|
|
44
|
+
# Update is a COMMAND GROUP, not one command:
|
|
45
|
+
temporal workflow update execute -w YourId --name YourUpdate --input '{"k":"v"}' # start + wait for result
|
|
46
|
+
temporal workflow update start -w YourId --name YourUpdate --wait-for-stage accepted # start + wait for accept
|
|
47
|
+
temporal workflow update result -w YourId --update-id YourUpdateId # fetch a prior update's result
|
|
48
|
+
temporal workflow update describe -w YourId --update-id YourUpdateId # status
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Gotchas: `--wait-for-stage` on `update start` only accepts `accepted`; `update` alone does nothing.
|
|
52
|
+
|
|
53
|
+
## Inspecting & dev-only lifecycle
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
temporal workflow show --output json -w YourId # full Event History (save for replay tests)
|
|
57
|
+
temporal workflow list --output json --query '<visibility query>'
|
|
58
|
+
temporal workflow terminate -w YourId # DEV ONLY — kill a stale execution
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`workflow show --output json` is how you capture a history to feed a **replay test** (`testing.md`).
|
|
62
|
+
For bulk operations (`--query` batch signal/terminate), schedules, and ops tooling, see the upstream
|
|
63
|
+
`skill-temporal-developer` references and `skill-temporal-ops`.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Determinism (why workflows replay, and the rules that follow)
|
|
2
|
+
|
|
3
|
+
Workflows are durable because Workers **re-execute the workflow code from the top** to rebuild state
|
|
4
|
+
— after a crash, a cache eviction, or when a long timer fires. Instead of re-running side effects,
|
|
5
|
+
the SDK matches each operation your code emits (a **Command**) against the recorded **Event History**
|
|
6
|
+
and feeds back the stored result.
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
First run: code → Commands → Server stores Events
|
|
10
|
+
Replay: code runs again → Commands compared to stored Events
|
|
11
|
+
match → reuse stored result, continue
|
|
12
|
+
differ → NondeterminismError (workflow blocks until code is fixed)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Every orchestration operation maps Command → Event, e.g.:
|
|
16
|
+
|
|
17
|
+
| Workflow code | Command | Event |
|
|
18
|
+
|-------------------|-------------------------------|--------------------------------|
|
|
19
|
+
| Execute activity | `ScheduleActivityTask` | `ActivityTaskScheduled` |
|
|
20
|
+
| Sleep / timer | `StartTimer` | `TimerStarted` |
|
|
21
|
+
| Child workflow | `StartChildWorkflowExecution` | `ChildWorkflowExecutionStarted`|
|
|
22
|
+
| Complete workflow | `CompleteWorkflowExecution` | `WorkflowExecutionCompleted` |
|
|
23
|
+
|
|
24
|
+
If replayed code emits a *different* Command than history recorded (or in a different order), replay
|
|
25
|
+
fails. Classic trap: branching on wall-clock time — `if now().hour < 12` takes one branch at first
|
|
26
|
+
run and the other on replay, producing a different `ScheduleActivityTask`.
|
|
27
|
+
|
|
28
|
+
## Sources of non-determinism (keep all of these OUT of workflow code)
|
|
29
|
+
|
|
30
|
+
- **Time**: `now()`, `time.time()`, `Date.now()`
|
|
31
|
+
- **Randomness / IDs**: `random()`, `Math.random()`, `uuid4()`
|
|
32
|
+
- **External state**: files, env vars, DBs, HTTP/network calls
|
|
33
|
+
- **Unordered iteration**: map/dict/set iteration order (language-dependent)
|
|
34
|
+
- **Concurrency/threads**: races that change ordering or outcome
|
|
35
|
+
|
|
36
|
+
## The central rule
|
|
37
|
+
|
|
38
|
+
**Put non-determinism and side effects in Activities.** An Activity runs *once per attempt* outside
|
|
39
|
+
replay, with durable recorded results, automatic retries, and timeouts. The workflow only
|
|
40
|
+
orchestrates. For a few common cases the SDK gives you replay-safe variants to use *inside* the
|
|
41
|
+
workflow instead of an activity — durable time, sleep, UUID, random, and a replay-aware logger
|
|
42
|
+
(e.g. `workflow.now()`, `workflow.sleep()`, `workflow.uuid4()`, `workflow.logger`; names vary by
|
|
43
|
+
SDK). Everything else → an activity.
|
|
44
|
+
|
|
45
|
+
## How much the SDK protects you (varies by language)
|
|
46
|
+
|
|
47
|
+
- **Python** — sandbox intercepts and aborts many non-deterministic calls *at runtime*, early.
|
|
48
|
+
- **TypeScript** — isolated V8 sandbox; auto-replaces common sources with deterministic variants.
|
|
49
|
+
- **Java / Go / .NET** — **no sandbox**; determinism is by convention (`Workflow.*` / `workflow.*`
|
|
50
|
+
safe APIs). Violations usually surface only at *replay*. Optional static analyzers exist
|
|
51
|
+
(`temporal-workflowcheck` for Java, `workflowcheck` for Go).
|
|
52
|
+
- **Ruby** — runtime illegal-call tracing on the workflow fiber + a durable fiber scheduler.
|
|
53
|
+
- **Rust** — runtime detection for external async wake sources; use SDK primitives (`ctx.timer()`,
|
|
54
|
+
the SDK `select!`), avoid synchronous non-determinism by convention.
|
|
55
|
+
|
|
56
|
+
Regardless of SDK, **it is your responsibility** to keep workflow code deterministic. Don't rely on
|
|
57
|
+
the sandbox catching everything — write replay tests (`testing.md`).
|
|
58
|
+
|
|
59
|
+
## Recovery
|
|
60
|
+
|
|
61
|
+
- **Accidental non-determinism introduced by a code change** → revert workflow code to match history,
|
|
62
|
+
restart the worker; the workflow auto-recovers.
|
|
63
|
+
- **Intentional logic change on running workflows** → use the **Patching API** or terminate-and-restart
|
|
64
|
+
(`versioning.md`). Never just "edit and redeploy" a workflow with open executions.
|
|
65
|
+
|
|
66
|
+
## Best practices
|
|
67
|
+
|
|
68
|
+
1. Use SDK-provided safe variants for time / random / UUID / logging.
|
|
69
|
+
2. Move *all* I/O to activities; the workflow only orchestrates.
|
|
70
|
+
3. Write **replay tests** before deploying workflow changes.
|
|
71
|
+
4. Use **patching** for intentional changes to in-flight workflows.
|
|
72
|
+
5. Keep workflows small and focused — complexity is where non-determinism hides.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Gotchas (the cross-language anti-patterns that cost the most time)
|
|
2
|
+
|
|
3
|
+
Conceptual traps that recur in every SDK. See `references/{language}/gotchas.md` upstream for the
|
|
4
|
+
language-specific symptoms.
|
|
5
|
+
|
|
6
|
+
## Non-idempotent activities
|
|
7
|
+
|
|
8
|
+
Activities run **at least once** — retries and worker failures cause re-execution. An external call
|
|
9
|
+
without an idempotency key can double-charge a card, send duplicate emails, or create duplicate rows.
|
|
10
|
+
**Fix:** pass an idempotency key (workflow ID, activity ID, or a domain key like order ID) to every
|
|
11
|
+
external mutation. Local Activities are faster but still retried — same rule applies.
|
|
12
|
+
|
|
13
|
+
## Side effects / non-determinism in workflow code
|
|
14
|
+
|
|
15
|
+
Workflow code runs on the first execution **and every replay**. Any side effect (log, metric,
|
|
16
|
+
notification) fires multiple times; any non-deterministic call (clock, random, I/O, threads) breaks
|
|
17
|
+
replay. **Fix:** use the SDK's replay-safe variants for logging/time/UUID/random; put everything else
|
|
18
|
+
in an activity. (See `determinism.md`.)
|
|
19
|
+
|
|
20
|
+
## Multiple workers running different code
|
|
21
|
+
|
|
22
|
+
If worker A runs part of a workflow on v1 and worker B (v2) picks it up, replay can mismatch.
|
|
23
|
+
**Fix in prod:** worker versioning or patching. **Fix in dev:** kill old workers before starting new
|
|
24
|
+
ones; ensure every worker on a task queue runs identical code. Workflows started on old code keep
|
|
25
|
+
running after you change it — in *dev only*, terminate stale ones.
|
|
26
|
+
|
|
27
|
+
## Retry policy mistakes
|
|
28
|
+
|
|
29
|
+
- **Failing too fast** — `maximum_attempts=1` everywhere turns transient blips into workflow
|
|
30
|
+
failures. Reserve it for truly non-retryable ops; otherwise let exponential backoff ride out
|
|
31
|
+
transient errors.
|
|
32
|
+
- **Wrong classification** — **retryable**: network errors, timeouts, rate limits, transient
|
|
33
|
+
unavailability. **Non-retryable**: invalid input, auth failures, business-rule violations, not-found.
|
|
34
|
+
Mark them correctly or you get infinite retries on bad input (or hard failures on a blip).
|
|
35
|
+
|
|
36
|
+
## Query / update-validator misuse
|
|
37
|
+
|
|
38
|
+
Queries and update **validators** are strictly **read-only and non-blocking** — they must not mutate
|
|
39
|
+
state (non-determinism on replay) and must not await activities/timers/conditions (timeouts,
|
|
40
|
+
deadlocks). Need to mutate-and-return? Use an **Update**. Need to trigger async work? Use a **Signal**
|
|
41
|
+
or **Update**. *(Query to peek, Signal to push, Update to pop.)*
|
|
42
|
+
|
|
43
|
+
## Cancellation not handled
|
|
44
|
+
|
|
45
|
+
- **Workflow cancellation:** cleanup after the cancellation point won't run unless protected — use
|
|
46
|
+
cancellation scopes / `try…finally` for compensation and resource release.
|
|
47
|
+
- **Activity cancellation:** an activity only learns it was cancelled if it **heartbeats** and
|
|
48
|
+
**checks** for cancellation. Otherwise it runs to completion, wasting compute and delaying the
|
|
49
|
+
workflow. Heartbeat long-running activities and react to the cancellation signal.
|
|
50
|
+
|
|
51
|
+
## Swallowing errors
|
|
52
|
+
|
|
53
|
+
Catching without handling produces silent failures and workflows that "succeed" despite errors. Log
|
|
54
|
+
and decide deliberately: re-raise, fall back, or document why ignoring is safe.
|
|
55
|
+
|
|
56
|
+
## Payload size limits
|
|
57
|
+
|
|
58
|
+
Hard limits: **2 MB** per payload, **4 MB** per gRPC message, **50 MB** per workflow history (aim for
|
|
59
|
+
< 10 MB). **Fix:** store large blobs externally (S3/GCS) and pass references, use a compression codec,
|
|
60
|
+
or chunk across activities. Unbounded history → use **Continue-as-New** to reset it.
|
|
61
|
+
|
|
62
|
+
## Dev-server / CLI gotchas
|
|
63
|
+
|
|
64
|
+
- `temporal server start-dev` is **in-memory and single-process** — state is lost on restart
|
|
65
|
+
(`--db-filename` persists it) and it is **never** for production.
|
|
66
|
+
- `temporal workflow update` is a **command group**, not one command — use
|
|
67
|
+
`update execute|start|result|describe`.
|
|
68
|
+
- On `workflow update start`, `--wait-for-stage` only accepts `accepted`.
|
|
69
|
+
- On `workflow reset`, `--reapply-type` only accepts `Signal` or `None`.
|