claude-code-kit 0.40.0__tar.gz → 0.41.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.40.0 → claude_code_kit-0.41.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/CHANGELOG.md +25 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/PKG-INFO +4 -4
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/README.md +3 -3
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/pyproject.toml +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/human-in-the-loop.md +24 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/model-tiers.md +37 -0
- claude_code_kit-0.41.0/skills/safety-critical-patterns/SKILL.md +86 -0
- claude_code_kit-0.41.0/skills/shell-review/SKILL.md +90 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/.gitignore +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/LICENSE +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/developer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/orchestrator.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/catalog/profiles.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/catalog/stacks.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/commands/abort.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/commands/init.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/commands/status.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/agents.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/architecture.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/capture-a-real-run.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/coverage-audit.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/stack-skills/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/capture-learnings.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/continuity.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/evals.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/testing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/rules/tool-design.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/scripts/capture-sdlc-run.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/scripts/check_docs_consistency.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dependency-verification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-compose/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/library-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/references/cli.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/references/determinism.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/references/gotchas.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/references/languages.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/references/testing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/temporal-developer/references/versioning.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/change-proposal.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/settings.json +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.41.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.41.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.41.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,31 @@ 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.41.0] — 2026-06-26
|
|
8
|
+
|
|
9
|
+
**Escalation discipline + safety/shell review lenses** (PR 3 of 4 from the MIT
|
|
10
|
+
`athola/claude-night-market` audit; re-derived stack-agnostic).
|
|
11
|
+
|
|
12
|
+
- **`rules/model-tiers.md`** gains a **"When to escalate a tier"** section: the Iron Law
|
|
13
|
+
(no escalation without investigation first), a 4-question gate (understood? investigated? right lever?
|
|
14
|
+
worth it?), legitimate triggers, and an **anti-rationalization table** that catches "maybe a smarter
|
|
15
|
+
model will figure it out." Ties into the agent-resilience 3-strike rule + quality-gates escalation.
|
|
16
|
+
- **`rules/human-in-the-loop.md`** gains a **reversibility gate**: classify a decision as one-way vs
|
|
17
|
+
two-way door across undo-cost/blast-radius/data/externalization/commitment, and scale review
|
|
18
|
+
proportionally (proceed → adversarial pass → stop-and-ask + premortem/watch-points/reversal-plan).
|
|
19
|
+
Also flags *false irreversibility*. (Adapted from war-room's reversibility scoring; the multi-LLM
|
|
20
|
+
panel was dropped — it overlaps the orchestrator/`devils-advocate`.)
|
|
21
|
+
- **`skills/safety-critical-patterns/`** (new core skill) — NASA Power-of-10 high-reliability lens
|
|
22
|
+
adapted language-neutral, **gated by "match rigor to consequence"** (full for money/medical/
|
|
23
|
+
data-integrity/auth/irreversible; light for scripts) so it never over-applies to CRUD. Composes with
|
|
24
|
+
`risk-classification`.
|
|
25
|
+
- **`skills/shell-review/`** (new core skill) — audits CI/hook/build/wrapper shell for exit-code
|
|
26
|
+
propagation (`set -euo pipefail`, capture-output-and-status), POSIX-vs-bash portability, safety
|
|
27
|
+
(quote/brace vars, `:?` required vars, `cd` in a subshell, `mktemp`+`trap`), and library/executable
|
|
28
|
+
structure; `shellcheck` as the backstop. (Re-derived without the upstream's bespoke logging/guard
|
|
29
|
+
conventions.)
|
|
30
|
+
- Counts: **99 → 101** total skills (**53 → 55** core; collection unchanged at 46).
|
|
31
|
+
|
|
7
32
|
## [0.40.0] — 2026-06-26
|
|
8
33
|
|
|
9
34
|
**Review grounding + addition scrutiny** (PR 2 of 4 from the MIT `athola/claude-night-market` audit;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.41.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) + **101** context-activated skills (55 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
|
+
- **101 on-demand skills** in [`skills/`](skills/) (55 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, 101 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) + **101** context-activated skills (55 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
|
+
- **101 on-demand skills** in [`skills/`](skills/) (55 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, 101 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
|
|
@@ -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.41.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"
|
|
@@ -40,6 +40,30 @@ When you stop, give the human enough to decide in one read — don't make them d
|
|
|
40
40
|
Use the `interview-me` skill when an ask is underspecified and you need to extract true intent one
|
|
41
41
|
question at a time, rather than firing a wall of questions.
|
|
42
42
|
|
|
43
|
+
## Gate the depth of review to reversibility
|
|
44
|
+
|
|
45
|
+
Not every stop deserves the same ceremony. Before a consequential decision, classify it by how hard it
|
|
46
|
+
is to undo — the **one-way-door vs two-way-door** distinction — and spend review effort proportionally.
|
|
47
|
+
|
|
48
|
+
Score reversibility across a few dimensions (each: easy → hard to reverse):
|
|
49
|
+
|
|
50
|
+
- **Undo cost** — can it be reverted with a commit/flag, or does it need a migration/manual cleanup?
|
|
51
|
+
- **Blast radius** — local change vs shared contract, data, or many consumers?
|
|
52
|
+
- **Data effect** — none, or does it mutate/migrate/delete persistent or customer data?
|
|
53
|
+
- **Externalization** — internal only, or published/deployed/sent outside (cacheable, indexable, shipped)?
|
|
54
|
+
- **Commitment** — private, or a public/contractual promise others now depend on?
|
|
55
|
+
|
|
56
|
+
| Reversibility | Door | Proportional response |
|
|
57
|
+
|---------------|------|-----------------------|
|
|
58
|
+
| **High** (easy to undo, local) | Two-way | Proceed on a stated default; normal review. Don't over-deliberate. |
|
|
59
|
+
| **Medium** | — | Adversarial pass before committing — `doubt-driven-development` or the `devils-advocate` agent (`.claude/rules/quality-gates.md`). |
|
|
60
|
+
| **Low** (hard/irreversible) | One-way | **Stop and ask a human** (this rule), and add a **premortem** (how could this go wrong?), **watch-points** (what to monitor after), and a **reversal plan** before acting. |
|
|
61
|
+
|
|
62
|
+
Challenge **false irreversibility** too — "we can't change this later" asserted without evidence is
|
|
63
|
+
often a two-way door dressed up as a one-way door; verify before paying one-way-door cost. The point is
|
|
64
|
+
to match scrutiny to stakes, not to gate everything: a clearly-reversible change shouldn't pay for a
|
|
65
|
+
council it doesn't need.
|
|
66
|
+
|
|
43
67
|
## Rules
|
|
44
68
|
|
|
45
69
|
1. **When in doubt, ask.** A cheap question now beats an expensive wrong-direction unwind later. This
|
|
@@ -33,6 +33,43 @@ tier — they are focused specialists/personas, not deep-reasoning orchestrators
|
|
|
33
33
|
- **Re-map when names/prices change.** Keep the tier *intent* (Critical / Default / Fast); swap the
|
|
34
34
|
concrete alias if Anthropic's model lineup shifts.
|
|
35
35
|
|
|
36
|
+
## When to escalate a tier
|
|
37
|
+
|
|
38
|
+
The table above is the *default* assignment. Mid-task, an agent may want to **escalate** to a more
|
|
39
|
+
capable model (or a human asks "should we move this to opus?"). Escalation trades cost for reasoning
|
|
40
|
+
depth, so it must be **justified, not reflexive**.
|
|
41
|
+
|
|
42
|
+
> **The Iron Law: no escalation without investigation first.** Escalation is never a shortcut for
|
|
43
|
+
> "maybe a smarter model will figure it out." If you can't articulate *why* the current tier is
|
|
44
|
+
> insufficient, escalating is premature — investigate the root cause first.
|
|
45
|
+
|
|
46
|
+
**Four questions to answer before escalating:**
|
|
47
|
+
|
|
48
|
+
1. **Understood?** Can I state specifically what reasoning the current tier is missing — is this a
|
|
49
|
+
*capability* gap or just a *knowledge* gap? (A knowledge gap → gather information, don't escalate.)
|
|
50
|
+
2. **Investigated?** Have I done the systematic work (read the code, traced the data, reproduced the
|
|
51
|
+
failure) — see `.claude/rules/reasoning-techniques.md` — rather than guessing?
|
|
52
|
+
3. **Right lever?** Is more model capability actually the fix, or is the real problem a wrong approach,
|
|
53
|
+
a missing requirement (`.claude/rules/human-in-the-loop.md`), or insufficient context?
|
|
54
|
+
4. **Worth it?** Does the stakes/consequence justify the added cost (`.claude/rules/risk-classification.md`)?
|
|
55
|
+
|
|
56
|
+
**Legitimate triggers:** genuine nuance/judgment (security trade-offs), multi-step reasoning under
|
|
57
|
+
uncertainty (architecture), novel patterns with no precedent, high stakes (production/irreversible),
|
|
58
|
+
or weighing several valid interpretations.
|
|
59
|
+
|
|
60
|
+
**Anti-rationalizations — these mean STOP and investigate, not escalate:**
|
|
61
|
+
|
|
62
|
+
| Rationalization | Reality |
|
|
63
|
+
|---|---|
|
|
64
|
+
| "Maybe a smarter model will figure it out" | Thrashing — find the root cause first |
|
|
65
|
+
| "Several attempts already failed" | Suggests a wrong approach, not insufficient capability — question your assumptions |
|
|
66
|
+
| "We're under time pressure" | Urgency doesn't change task complexity; systematic investigation is faster than guess-and-escalate |
|
|
67
|
+
| "Just to be safe / just in case" | False safety — assess the *actual* complexity before spending the capability |
|
|
68
|
+
|
|
69
|
+
The same discipline governs the **fix-attempt** loop in `.claude/rules/agent-resilience.md` (3-strike
|
|
70
|
+
rule) and the budget-exhaustion escalations in `.claude/rules/quality-gates.md`: investigate, then
|
|
71
|
+
escalate to a tier *or a human* deliberately.
|
|
72
|
+
|
|
36
73
|
## Profile cost expectations
|
|
37
74
|
|
|
38
75
|
Token cost scales with the **profile** (the agent / skill / hook set it installs — see
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: safety-critical-patterns
|
|
3
|
+
description: High-reliability coding lens adapted from NASA's Power of 10 — bounded loops & recursion, assertion density at boundaries/invariants, minimal variable scope, check every return value, restrained metaprogramming, strictest warnings — applied with rigor MATCHED TO CONSEQUENCE (full for money movement, medical, data-integrity, auth, irreversible actions; selective for core business logic; light for scripts/prototypes). Use when writing or reviewing code whose failure is expensive. Do NOT use as a general style/quality pass (use code-review-and-quality) or to scan for complexity to delete (use over-engineering-review) — this is the reliability lens, gated by consequence so it never over-applies to ordinary CRUD.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Safety-Critical Coding Patterns
|
|
7
|
+
|
|
8
|
+
> A high-reliability review/authoring lens adapted (stack-agnostic) from NASA JPL's **Power of 10**
|
|
9
|
+
> rules, via the MIT-licensed [`athola/claude-night-market`](https://github.com/athola/claude-night-market)
|
|
10
|
+
> `safety-critical-patterns` skill. The rules are language-neutral *intent*, not C-specific mandates.
|
|
11
|
+
|
|
12
|
+
## Match rigor to consequence (the gate)
|
|
13
|
+
|
|
14
|
+
This is the most important rule — apply the rest **proportional to what a failure costs**, never
|
|
15
|
+
uniformly. Use `.claude/rules/risk-classification.md` to place the change:
|
|
16
|
+
|
|
17
|
+
| Rigor | Apply to |
|
|
18
|
+
|-------|----------|
|
|
19
|
+
| **Full** | Money movement, medical/clinical, data-integrity, authn/authz, anything irreversible |
|
|
20
|
+
| **Selective** | Core business logic, public API handlers, core algorithms |
|
|
21
|
+
| **Light** | Scripts, prototypes, non-critical utilities, throwaway tooling |
|
|
22
|
+
|
|
23
|
+
Forcing all ten rules onto a CRUD endpoint is itself an over-engineering smell
|
|
24
|
+
(`over-engineering-review`). The point is reliability where reliability is worth paying for.
|
|
25
|
+
|
|
26
|
+
## The 10 rules (adapted, language-neutral)
|
|
27
|
+
|
|
28
|
+
1. **Restrict control flow.** Avoid arbitrary jumps; **bound recursion**. Recursion is fine with a
|
|
29
|
+
provable termination (tail call, bounded depth, tree of known size).
|
|
30
|
+
2. **Fixed loop bounds.** Every loop has a verifiable upper bound. Give a potentially-unbounded loop a
|
|
31
|
+
safety limit and a reason it terminates.
|
|
32
|
+
```python
|
|
33
|
+
for i in range(min(len(items), MAX_ITEMS)): # bound is explicit
|
|
34
|
+
process(items[i])
|
|
35
|
+
# vs. while not done: ... # when does this end?
|
|
36
|
+
```
|
|
37
|
+
3. **Bound resource acquisition.** Don't allocate without limit on a hot/critical path; pre-size and
|
|
38
|
+
reuse where allocation failure mid-operation would be unrecoverable (GC languages relax this).
|
|
39
|
+
4. **Keep functions short (~60 lines / one screen).** Cognitive limits are real; long functions hide
|
|
40
|
+
bugs. Flexible for declarative/config, strict for complex logic.
|
|
41
|
+
5. **Assert boundaries and invariants.** Add defensive assertions for preconditions, postconditions,
|
|
42
|
+
and the things that "can't happen." Focus on real invariants, not a quota.
|
|
43
|
+
```python
|
|
44
|
+
def transfer(src, dst, amount):
|
|
45
|
+
assert src != dst, "cannot transfer to same account"
|
|
46
|
+
assert amount > 0, "amount must be positive"
|
|
47
|
+
assert src.balance >= amount, "insufficient funds"
|
|
48
|
+
```
|
|
49
|
+
6. **Minimal variable scope.** Declare at the narrowest scope; don't hoist state into a wider scope
|
|
50
|
+
than its use.
|
|
51
|
+
7. **Check every return value and validate every input.** Never ignore a result that can signal
|
|
52
|
+
failure; never trust an unvalidated parameter. (This is the reliability-side of
|
|
53
|
+
`agent-guardrails.md`'s "validate inputs.")
|
|
54
|
+
```python
|
|
55
|
+
cfg = parse_config(path)
|
|
56
|
+
if cfg is None:
|
|
57
|
+
raise ConfigError(f"failed to parse {path}") # not: parse_config(path) # result dropped
|
|
58
|
+
```
|
|
59
|
+
8. **Restrain metaprogramming.** Limit macros/decorators/codegen/reflection; they defeat static
|
|
60
|
+
analysis and obscure control flow. Prefer explicit over magic; document any metaprogramming.
|
|
61
|
+
9. **Discipline indirection & ownership.** Limit levels of indirection; be explicit about who owns and
|
|
62
|
+
mutates state. Prefer immutable data and clear types over deep optional/pointer chains.
|
|
63
|
+
10. **Compile/lint at the strictest setting from day one.** Turn on all warnings and treat them as
|
|
64
|
+
errors. (e.g. `ruff --select=ALL` + `mypy --strict`; `tsc --strict`; `-Wall -Werror`; `clippy`.)
|
|
65
|
+
|
|
66
|
+
## Rules that may not apply
|
|
67
|
+
|
|
68
|
+
| Rule | Relax when |
|
|
69
|
+
|------|-----------|
|
|
70
|
+
| Bounded recursion | Tree traversal / parser combinators with provably bounded depth |
|
|
71
|
+
| Bounded allocation | GC languages, short-lived processes |
|
|
72
|
+
| ~60-line functions | Declarative config, exhaustive state machines |
|
|
73
|
+
| Restrained indirection | Callbacks, event handlers, strategy patterns are legitimate |
|
|
74
|
+
|
|
75
|
+
## Reporting violations
|
|
76
|
+
|
|
77
|
+
Each finding is **grounded** (per `code-review-and-quality`): cite `Rule N`, a `file:line` Location,
|
|
78
|
+
and a verbatim Anchor from that line, plus the issue and a concrete fix. Re-verify the citation before
|
|
79
|
+
reporting.
|
|
80
|
+
|
|
81
|
+
## Related
|
|
82
|
+
|
|
83
|
+
- `.claude/rules/risk-classification.md` — sets the consequence tier that gates how much of this to apply
|
|
84
|
+
- `code-review-and-quality` — the general multi-axis review; this is the reliability lens layered on top for high-consequence code
|
|
85
|
+
- `over-engineering-review` — the opposite guard: don't apply full rigor where consequence doesn't warrant it
|
|
86
|
+
- `.claude/rules/testing.md` — assertions complement, never replace, the runnable test for non-trivial logic
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shell-review
|
|
3
|
+
description: Audits shell scripts (bash/POSIX sh) for correctness, safety, and portability — exit-code propagation (set -euo pipefail, pipefail, capture-output-and-status), POSIX-vs-bash portability + shebang choice, safety (quote & brace variables, fail on unset, cd inside a subshell, mktemp + trap cleanup), and structure (library vs executable, main(), shellcheck/shfmt). Use when reviewing or before committing CI / git-hook / build / wrapper shell scripts. Do NOT use for non-shell code (use code-review-and-quality) or to author a brand-new script from a blank file — this is a review lens for existing shell.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Shell Script Review
|
|
7
|
+
|
|
8
|
+
> A stack-agnostic shell-audit lens re-derived from the MIT-licensed
|
|
9
|
+
> [`athola/claude-night-market`](https://github.com/athola/claude-night-market) `shell-review` skill
|
|
10
|
+
> (project-specific logging/guard conventions dropped — these are the universal checks). Shell is the
|
|
11
|
+
> one language nearly every repo ships (CI, git hooks, build, wrapper scripts) and the easiest to get
|
|
12
|
+
> subtly wrong, so it earns its own pass. Verify fixes with `shellcheck`.
|
|
13
|
+
|
|
14
|
+
## When to use
|
|
15
|
+
|
|
16
|
+
- Reviewing CI/CD pipeline scripts, git-hook scripts, build automation, `run-*.sh` wrappers
|
|
17
|
+
- Before committing any change to a `.sh` file (or a `#!`-shebang script)
|
|
18
|
+
|
|
19
|
+
**Not for:** non-shell code (→ `code-review-and-quality`); authoring a fresh script from scratch.
|
|
20
|
+
|
|
21
|
+
## 1. Exit codes — failures must propagate
|
|
22
|
+
|
|
23
|
+
The default pipeline exit code is the **last** command's, which silently masks earlier failures:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# BAD — grep succeeds when it finds lines, hiding a make failure
|
|
27
|
+
if make typecheck 2>&1 | grep -v '^make'; then echo "passed"; fi # runs even when make failed
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
- Start scripts with `set -euo pipefail` (`-e` exit on error, `-u` error on unset var, `pipefail`
|
|
31
|
+
propagate pipeline failures). `set -e` is for executables, not sourced libraries.
|
|
32
|
+
- When you must filter output but keep the status, **capture separately**:
|
|
33
|
+
```bash
|
|
34
|
+
out=$(make typecheck 2>&1) || rc=$?
|
|
35
|
+
printf '%s\n' "$out" | grep -v '^make' || true
|
|
36
|
+
exit "${rc:-0}"
|
|
37
|
+
```
|
|
38
|
+
- Check the status of commands whose failure matters; don't `cmd | true`-away real errors.
|
|
39
|
+
|
|
40
|
+
## 2. Portability — match shebang to features used
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
#!/bin/sh # POSIX — most portable
|
|
44
|
+
#!/usr/bin/env bash # bash via env — use when you rely on bash features
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
If the script uses bash-only constructs, the shebang must be bash. Common bash-isms (and POSIX
|
|
48
|
+
alternatives): `[[ … ]]` → `[ … ]`; `(( … ))` → `$(( … ))`; arrays → positional params/files;
|
|
49
|
+
`${var//a/b}` → `sed`; `<<<` here-string → `printf … |`; `<(cmd)` process-sub → temp file; `source` →
|
|
50
|
+
`.`; `function f {}` → `f() {}`. Either restrict to POSIX **or** declare bash in the shebang — don't
|
|
51
|
+
run bash-isms under `#!/bin/sh`.
|
|
52
|
+
|
|
53
|
+
## 3. Safety patterns
|
|
54
|
+
|
|
55
|
+
- **Quote and brace variables:** `"${VAR}"`, `"${1}"`, `"${@}"` (not `$VAR`/`$@`) — unquoted
|
|
56
|
+
expansion word-splits and globs. This is the single most common shell bug.
|
|
57
|
+
- **Require values explicitly:** `: "${CONFIG:?CONFIG must be set}"` instead of branching on unset.
|
|
58
|
+
- **`cd` in a subshell** so a failed `cd` can't run later commands in the wrong directory:
|
|
59
|
+
`( cd "${dir}" && do_work )`.
|
|
60
|
+
- **Temp files with `mktemp` + `trap … EXIT` cleanup**; never predictable `/tmp/$$` names.
|
|
61
|
+
- **`printf` over `echo`** for anything with backslashes/leading-dash/variable data (`echo` behavior
|
|
62
|
+
varies across shells).
|
|
63
|
+
- Don't pipe untrusted input into `eval`/`sh`; avoid `curl … | sh`.
|
|
64
|
+
|
|
65
|
+
## 4. Structure
|
|
66
|
+
|
|
67
|
+
- **Library vs executable:** a *library* (meant to be sourced) defines functions, sets no `set -e`,
|
|
68
|
+
and has no execute bit; an *executable* defines `main()`, ends with `main "${@}"`, and is `chmod +x`.
|
|
69
|
+
Don't give a library the execute bit or a `main`.
|
|
70
|
+
- Keep functions small; give an executable a `usage()`; run `shfmt` for consistent formatting.
|
|
71
|
+
- A sourced library that wasn't loaded should fail loudly at the call site rather than silently
|
|
72
|
+
no-op.
|
|
73
|
+
|
|
74
|
+
## 5. Tooling & grounded findings
|
|
75
|
+
|
|
76
|
+
- **`shellcheck <script>`** is the backstop — run it and treat warnings as findings; many of the above
|
|
77
|
+
are SC-coded. **`shfmt -d`** for formatting drift.
|
|
78
|
+
- Report each finding **grounded** (per `code-review-and-quality`): `file:line` + a verbatim anchor +
|
|
79
|
+
the issue + a concrete fix. Re-verify the citation before reporting.
|
|
80
|
+
|
|
81
|
+
## Output
|
|
82
|
+
|
|
83
|
+
One finding per line: `path:Lline — <category>: <issue>. Fix: <remediation>.` End with a one-line
|
|
84
|
+
verdict (`N findings: X exit-code, Y safety, Z portability` or `Clean — shellcheck passes`).
|
|
85
|
+
|
|
86
|
+
## Related
|
|
87
|
+
|
|
88
|
+
- `code-review-and-quality` — general review; this is the shell-specific lens
|
|
89
|
+
- `ci-cd-and-automation` / `git-workflow-and-versioning` — where most reviewed shell lives (pipelines, hooks)
|
|
90
|
+
- `safety-critical-patterns` — the same "check return values / bound loops" discipline, language-neutral
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|