claude-code-kit 0.40.0__tar.gz → 0.42.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.42.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/CHANGELOG.md +59 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/PKG-INFO +4 -4
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/README.md +3 -3
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/pyproject.toml +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/continuity.md +27 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/evals.md +4 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/human-in-the-loop.md +24 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/model-tiers.md +37 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/tool-design.md +31 -0
- claude_code_kit-0.42.0/skills/doc-consolidation/SKILL.md +104 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/documentation-and-adrs/SKILL.md +52 -1
- claude_code_kit-0.42.0/skills/safety-critical-patterns/SKILL.md +86 -0
- claude_code_kit-0.42.0/skills/shell-review/SKILL.md +90 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/.gitignore +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/LICENSE +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/developer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/orchestrator.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/catalog/profiles.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/catalog/stacks.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/commands/abort.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/commands/init.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/commands/status.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/agents.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/architecture.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/capture-a-real-run.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/coverage-audit.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/stack-skills/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/capture-learnings.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/rules/testing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/scripts/capture-sdlc-run.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/scripts/check_docs_consistency.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dependency-verification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-compose/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/library-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.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.42.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.42.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/references/cli.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/references/determinism.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/references/gotchas.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/references/languages.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/references/testing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/temporal-developer/references/versioning.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/change-proposal.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/settings.json +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
- {claude_code_kit-0.40.0 → claude_code_kit-0.42.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.42.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.42.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,65 @@ 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.42.0] — 2026-06-26
|
|
8
|
+
|
|
9
|
+
**Doc hygiene + workflow polish** (PR 4 of 4 — the final adoption from the MIT
|
|
10
|
+
`athola/claude-night-market` audit; re-derived stack-agnostic, nothing vendored).
|
|
11
|
+
|
|
12
|
+
- **`skills/documentation-and-adrs`** gains a **generated-doc quality gate** — run on any doc an agent
|
|
13
|
+
wrote/rewrote before commit. Hard fails: identity/voice leaks ("As a large language model", "Great
|
|
14
|
+
question!", self-narration), **hallucinated references** (every backticked identifier/path/config
|
|
15
|
+
key must exist; every install command must resolve — ties to `dependency-verification`), and
|
|
16
|
+
**unverified quality claims** ("production-ready"/"fast" with no in-repo evidence — the prose form of
|
|
17
|
+
the `code-review-and-quality` grounding rule). Plus human-quality principles: slop is a *density*
|
|
18
|
+
problem not a banned-word list, thesis-first, earn every sentence, prose over bullet waterfalls, drop
|
|
19
|
+
the machine tells. (From `slop-detector`/`doc-generator`.)
|
|
20
|
+
- **`skills/doc-consolidation/`** (new core skill) — harvest the ephemeral `*_REPORT.md`/`*_ANALYSIS.md`
|
|
21
|
+
that runs leave behind into canonical docs (ADRs, plans, CHANGELOG, existing docs), then delete the
|
|
22
|
+
sources. Two-phase: read-only triage → **approval gate** → merge → verified delete (deleting files
|
|
23
|
+
you didn't author is confirm-tier, `human-in-the-loop.md`). Routes durable *lessons* to
|
|
24
|
+
`agent-memory/`, not docs. (From `sanctum:doc-consolidation`.)
|
|
25
|
+
- **`rules/continuity.md`** gains a **dual-probe summary check** — before any handoff/pre-compaction,
|
|
26
|
+
test the summary with a *progress probe* ("what's done + exact state?") and a *gap probe* ("what's
|
|
27
|
+
still needed?"); a hedged progress answer or an open-ended gap answer means rewrite it now. Catches
|
|
28
|
+
the confident-but-wrong summary the gap probe alone misses. (From `memory-clarity-probe`.)
|
|
29
|
+
- **`rules/tool-design.md`** gains **§7 "Spend the resource in proportion to its value"** — Brooks's
|
|
30
|
+
law for agents (more parallel agents ≠ more throughput), source only high-value/changing claims, and
|
|
31
|
+
keep output dense. (Folds the genuinely-additive kernel of the `conserve` skills.)
|
|
32
|
+
- **`rules/evals.md`** — the LLM-as-judge grader note now recommends an explicit **weighted rubric**
|
|
33
|
+
for multi-dimensional grading (kept for *grading*; the pass/fail gate stays binary). (Minimal ADAPT
|
|
34
|
+
of `leyline:evaluation-framework`.)
|
|
35
|
+
- *Deliberately skipped* (reuse-first, no duplicates): `conserve:decisive-action` (already covered by
|
|
36
|
+
the 0.41.0 `human-in-the-loop` reversibility gate + `agent-guardrails` confirm/allow tiers);
|
|
37
|
+
`evaluation-framework` as a standalone skill (its weighted-scoring kernel folded into `evals.md`
|
|
38
|
+
instead, per the audit critic).
|
|
39
|
+
- Counts: **101 → 102** total skills (**55 → 56** core; collection unchanged at 46).
|
|
40
|
+
|
|
41
|
+
## [0.41.0] — 2026-06-26
|
|
42
|
+
|
|
43
|
+
**Escalation discipline + safety/shell review lenses** (PR 3 of 4 from the MIT
|
|
44
|
+
`athola/claude-night-market` audit; re-derived stack-agnostic).
|
|
45
|
+
|
|
46
|
+
- **`rules/model-tiers.md`** gains a **"When to escalate a tier"** section: the Iron Law
|
|
47
|
+
(no escalation without investigation first), a 4-question gate (understood? investigated? right lever?
|
|
48
|
+
worth it?), legitimate triggers, and an **anti-rationalization table** that catches "maybe a smarter
|
|
49
|
+
model will figure it out." Ties into the agent-resilience 3-strike rule + quality-gates escalation.
|
|
50
|
+
- **`rules/human-in-the-loop.md`** gains a **reversibility gate**: classify a decision as one-way vs
|
|
51
|
+
two-way door across undo-cost/blast-radius/data/externalization/commitment, and scale review
|
|
52
|
+
proportionally (proceed → adversarial pass → stop-and-ask + premortem/watch-points/reversal-plan).
|
|
53
|
+
Also flags *false irreversibility*. (Adapted from war-room's reversibility scoring; the multi-LLM
|
|
54
|
+
panel was dropped — it overlaps the orchestrator/`devils-advocate`.)
|
|
55
|
+
- **`skills/safety-critical-patterns/`** (new core skill) — NASA Power-of-10 high-reliability lens
|
|
56
|
+
adapted language-neutral, **gated by "match rigor to consequence"** (full for money/medical/
|
|
57
|
+
data-integrity/auth/irreversible; light for scripts) so it never over-applies to CRUD. Composes with
|
|
58
|
+
`risk-classification`.
|
|
59
|
+
- **`skills/shell-review/`** (new core skill) — audits CI/hook/build/wrapper shell for exit-code
|
|
60
|
+
propagation (`set -euo pipefail`, capture-output-and-status), POSIX-vs-bash portability, safety
|
|
61
|
+
(quote/brace vars, `:?` required vars, `cd` in a subshell, `mktemp`+`trap`), and library/executable
|
|
62
|
+
structure; `shellcheck` as the backstop. (Re-derived without the upstream's bespoke logging/guard
|
|
63
|
+
conventions.)
|
|
64
|
+
- Counts: **99 → 101** total skills (**53 → 55** core; collection unchanged at 46).
|
|
65
|
+
|
|
7
66
|
## [0.40.0] — 2026-06-26
|
|
8
67
|
|
|
9
68
|
**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.42.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) + **102** context-activated skills (56 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
|
+
- **102 on-demand skills** in [`skills/`](skills/) (56 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, 102 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) + **102** context-activated skills (56 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
|
+
- **102 on-demand skills** in [`skills/`](skills/) (56 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, 102 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.42.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"
|
|
@@ -109,6 +109,33 @@ A gate is PASS only when zero **critical/high/medium** findings remain open (low
|
|
|
109
109
|
- [linter/formatter status] [type checker status] [test runner status] [build status]
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
+
## Probe the summary before you rely on it
|
|
113
|
+
|
|
114
|
+
A CONTINUITY entry is only worth what the *next* turn can reconstruct from it. Before you hand off — at
|
|
115
|
+
the end of a turn, before spawning/awaiting subagents, and especially as pre-compaction insurance —
|
|
116
|
+
test the summary against two anchor questions, reading **only** what you wrote:
|
|
117
|
+
|
|
118
|
+
1. **Progress probe** — "From this alone, what is done and what is the task's exact current state?"
|
|
119
|
+
2. **Gap probe** — "From this alone, what specific information is still needed to finish?"
|
|
120
|
+
|
|
121
|
+
A summary passes when the progress answer is **specific and verifiable** (named files/gates/decisions,
|
|
122
|
+
no hedging like "some work was done") and the gap answer is a **bounded, concrete list** of named
|
|
123
|
+
unknowns. It fails when the progress answer hedges or the gap answer expands into open-ended
|
|
124
|
+
categories — that means the summary won't survive the next turn and must be sharpened *now*, while you
|
|
125
|
+
still hold the context.
|
|
126
|
+
|
|
127
|
+
| Progress answer | Gap answer | Verdict |
|
|
128
|
+
|-----------------|-----------|---------|
|
|
129
|
+
| Specific | Bounded | **Ready** — hand off |
|
|
130
|
+
| Specific | "nothing needed" but task is unfinished | **Suspect** — re-read the task; the memory has drifted |
|
|
131
|
+
| Hedged / vague | anything | **Rewrite** — expand with explicit answers to both probes before handing off |
|
|
132
|
+
|
|
133
|
+
The two probes catch different failures: the gap probe alone misses a *confident-but-wrong* belief
|
|
134
|
+
about state; the progress probe catches it. This is the same standard as Rule 2 below — truthful state
|
|
135
|
+
— applied *before* the handoff rather than after. (Dual-probe pattern adapted, stack-agnostic, from
|
|
136
|
+
the MIT-licensed [`athola/claude-night-market`](https://github.com/athola/claude-night-market)
|
|
137
|
+
`memory-clarity-probe` skill, © 2025 athola.)
|
|
138
|
+
|
|
112
139
|
## Rules
|
|
113
140
|
|
|
114
141
|
1. **Keep it short.** Working memory, not a transcript. Overwrite stale content; do not append endlessly.
|
|
@@ -30,6 +30,10 @@ strategies. (Mirror of the RARV "verify the result" stance in `.claude/rules/rar
|
|
|
30
30
|
- **Code / exact** graders for deterministic outputs (a value, a file state, a passing build).
|
|
31
31
|
- **LLM-as-judge** for open-ended outputs — but **calibrate the judge against human labels** on a
|
|
32
32
|
sample first. An uncalibrated judge confidently mis-scores and you optimize toward the wrong thing.
|
|
33
|
+
For multi-dimensional quality, give the judge an explicit **weighted rubric** (named criteria whose
|
|
34
|
+
weights sum to 1, each with a score band → meaning) rather than a vague "rate this 1–10": a
|
|
35
|
+
documented rubric scores consistently across runs and makes a low score *explainable*. Keep the
|
|
36
|
+
rubric for *grading*; the pipeline's pass/fail **gate** stays binary (§6, `quality-gates.md`).
|
|
33
37
|
- **Human** grading for the highest-stakes or subjective cases; use it to keep the automated graders honest.
|
|
34
38
|
|
|
35
39
|
## 4. Report non-determinism honestly
|
|
@@ -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
|
|
@@ -50,6 +50,34 @@ A tool is a **privilege boundary** (`.claude/rules/agent-guardrails.md`): grant
|
|
|
50
50
|
validate inputs, make repeated calls safe to retry (idempotent), and gate destructive or
|
|
51
51
|
outward-facing actions behind `.claude/rules/human-in-the-loop.md`.
|
|
52
52
|
|
|
53
|
+
## 7. Spend the resource in proportion to its value
|
|
54
|
+
|
|
55
|
+
The same token-awareness that shapes a tool's *output* (§4) governs how an agent spends its other
|
|
56
|
+
finite resources — parallel dispatch, sourcing calls, and its own response length. Each costs context;
|
|
57
|
+
spend each only where it returns value.
|
|
58
|
+
|
|
59
|
+
> Resource-proportionality heuristics adapted (stack-agnostic) from the MIT-licensed
|
|
60
|
+
> [`athola/claude-night-market`](https://github.com/athola/claude-night-market) `conserve` skills
|
|
61
|
+
> (`agent-expenditure`, `smart-sourcing`, `response-compression`; © 2025 athola). Not vendored.
|
|
62
|
+
|
|
63
|
+
- **More agents is not more throughput (Brooks's law for agents).** Coordination overhead grows with
|
|
64
|
+
the parallel count — shared-file conflicts, duplicated reads, reconciliation. Rough guide: 1–3
|
|
65
|
+
agents negligible overhead, 4–5 plan the split first, 6–8 watch closely, 9+ usually
|
|
66
|
+
counterproductive. After a fan-out, ask: did each agent produce *unique* value, was total
|
|
67
|
+
expenditure proportional to it, would fewer have reached the same result? If not, dispatch fewer
|
|
68
|
+
next time. (The parallel-lane model lives in `.claude/rules/mandatory-workflow.md`.)
|
|
69
|
+
- **Source only what's worth sourcing.** Verifying a claim costs real tokens — spend them where being
|
|
70
|
+
wrong causes harm *and* the fact changes: versions, performance numbers, security advice, API
|
|
71
|
+
specs, pricing, deprecations. Don't source foundational/common knowledge, syntax, or clearly-framed
|
|
72
|
+
suggestions. When verification isn't cost-effective, mark the uncertainty rather than asserting
|
|
73
|
+
(ties to the `source-driven-development` skill and the "scope the source" guardrail in
|
|
74
|
+
`.claude/rules/agent-guardrails.md`).
|
|
75
|
+
- **Keep output dense.** You pay for every byte you emit. Cut filler, hedging-without-reason, hype
|
|
76
|
+
words, and conversational ceremony ("Great question!", "Let me know if…"). Preserve what carries
|
|
77
|
+
signal: status indicators, exact error text, safety warnings, and the context the reader actually
|
|
78
|
+
needs. Density, not coldness — and never at the cost of truthful status
|
|
79
|
+
(`.claude/rules/agent-guardrails.md` §2).
|
|
80
|
+
|
|
53
81
|
## Rules
|
|
54
82
|
|
|
55
83
|
1. **Design for the agent, not a human dashboard** — text-first, token-aware, self-describing.
|
|
@@ -57,10 +85,13 @@ outward-facing actions behind `.claude/rules/human-in-the-loop.md`.
|
|
|
57
85
|
state/events/auth.
|
|
58
86
|
3. **Sparse output + single-line errors + structured results** are the default, not a nicety.
|
|
59
87
|
4. **Eval your tools too** — a tool's effect on agent success is measurable; see `.claude/rules/evals.md`.
|
|
88
|
+
5. **Spend in proportion to value** — agents, sourcing calls, and output length are finite context;
|
|
89
|
+
over-dispatching and over-sourcing burn budget without returning it (§7).
|
|
60
90
|
|
|
61
91
|
## Relationship to other rules
|
|
62
92
|
|
|
63
93
|
- **`.claude/rules/agent-guardrails.md`** — tools as privilege boundary; least privilege; gating.
|
|
94
|
+
- **`.claude/rules/mandatory-workflow.md`** — the parallel-lane model that §7's Brooks's-law caution applies to.
|
|
64
95
|
- **`.claude/rules/reasoning-techniques.md`** / **`model-tiers.md`** — tool use is part of how an agent reasons.
|
|
65
96
|
- **`.claude/rules/evals.md`** — measure whether a tool change actually helps.
|
|
66
97
|
- **`catalog/mcp.yaml`** (kit authors) — where MCP servers are declared and wired into a project.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doc-consolidation
|
|
3
|
+
description: Harvest the ephemeral report/analysis markdown that agent runs leave behind (REPORT/ANALYSIS/AUDIT/SUMMARY files, untracked scratch notes) into canonical, committed documentation — then delete the sources. Triage candidates → extract the durable knowledge → route each chunk to the right home (ADR, plan, changelog, existing doc) → get approval → merge → remove the originals. Stack-agnostic; operates on markdown, not code. Use when working-tree markdown artifacts have piled up, before raising a PR, or to preserve insights from a review/audit before they rot. Do NOT use to author a doc from scratch or write an ADR (use documentation-and-adrs), to judge prose quality (use documentation-and-adrs' generated-doc quality gate), or to consolidate code/config (this is markdown-only).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Doc Consolidation (ephemeral reports → canonical docs)
|
|
7
|
+
|
|
8
|
+
> Re-derived (stack-agnostic) from the MIT-licensed
|
|
9
|
+
> [`athola/claude-night-market`](https://github.com/athola/claude-night-market) `doc-consolidation`
|
|
10
|
+
> skill (© 2025 athola). Re-cast around this kit's `docs/decisions/` ADR layout, CHANGELOG, and the
|
|
11
|
+
> confirm-before-delete posture of `.claude/rules/human-in-the-loop.md`. Not vendored.
|
|
12
|
+
|
|
13
|
+
## What this is (and is not)
|
|
14
|
+
|
|
15
|
+
An autonomous run generates markdown as a by-product — `*_REPORT.md`, `*_ANALYSIS.md`, `AUDIT.md`,
|
|
16
|
+
review write-ups, scratch plans. Each holds a little durable knowledge wrapped in a lot of one-time
|
|
17
|
+
framing, and it tends to sit **untracked** in the working tree until it either gets committed by
|
|
18
|
+
accident or deleted with its insight unsaved. This skill is the **cleanup pass that rescues the
|
|
19
|
+
signal and removes the noise**: it pulls the keepable knowledge into permanent, committed docs and
|
|
20
|
+
then deletes the source artifacts.
|
|
21
|
+
|
|
22
|
+
It is *not* doc authoring. Writing a fresh guide, a README, or a net-new ADR — and judging whether
|
|
23
|
+
the prose is human-quality — is `documentation-and-adrs` (and its generated-doc quality gate). This
|
|
24
|
+
skill **moves and merges knowledge that already exists** in throwaway files. Run the quality gate on
|
|
25
|
+
the result if the merged prose was itself agent-generated.
|
|
26
|
+
|
|
27
|
+
## When to use
|
|
28
|
+
|
|
29
|
+
- Untracked `*_REPORT.md` / `*_ANALYSIS.md` / `AUDIT.md` / `*_SUMMARY.md` have accumulated from runs
|
|
30
|
+
- Preparing a PR and the working tree shows analysis files that should not be committed as-is
|
|
31
|
+
- You want to preserve findings from a code review, refactor, or audit before they're lost
|
|
32
|
+
- A long run's CONTINUITY / scratch notes contain a decision worth promoting to an ADR
|
|
33
|
+
|
|
34
|
+
**When NOT to use:** files already live in a proper home (`docs/`, `skills/`); they're intentional
|
|
35
|
+
short-lived scratch the user wants kept verbatim; or they hold no extractable value (pure log/tool
|
|
36
|
+
dumps) — in which case just propose deleting them.
|
|
37
|
+
|
|
38
|
+
## Two-phase workflow (triage is read-only; execution is approval-gated)
|
|
39
|
+
|
|
40
|
+
Deleting files you did not author is a **confirm-tier action** (`.claude/rules/human-in-the-loop.md`,
|
|
41
|
+
`.claude/rules/agent-guardrails.md`): present the plan and get a yes before any merge-and-delete.
|
|
42
|
+
|
|
43
|
+
### Phase 1 — Triage (read-only, propose a plan)
|
|
44
|
+
|
|
45
|
+
1. **Detect candidates.** Untracked markdown (`git status --porcelain`) outside the standard doc
|
|
46
|
+
dirs, with non-canonical names (ALL-CAPS, `_REPORT`/`_ANALYSIS` suffixes) or LLM-output markers
|
|
47
|
+
(an "Executive Summary", "Findings", "Action Items" heading).
|
|
48
|
+
2. **Extract & categorize** each file's sections into chunks, tagging each by category (below) and a
|
|
49
|
+
value score (high / medium / low). Low-value generic boilerplate is dropped, not merged.
|
|
50
|
+
3. **Route** each keepable chunk to a destination + a merge strategy.
|
|
51
|
+
4. **Present the plan** as a table and stop for approval. This is the gate — nothing is written or
|
|
52
|
+
deleted yet.
|
|
53
|
+
|
|
54
|
+
A cheaper model tier can do the read-only triage (`.claude/rules/model-tiers.md`); keep the merge
|
|
55
|
+
itself on the working tier where judgement matters.
|
|
56
|
+
|
|
57
|
+
### Phase 2 — Execute (after the user approves)
|
|
58
|
+
|
|
59
|
+
1. **Merge** each chunk into its destination using the chosen strategy.
|
|
60
|
+
2. **Verify** the merge: destination frontmatter intact, structure preserved, nothing clobbered.
|
|
61
|
+
3. **Delete the sources** only after their content is confirmed merged.
|
|
62
|
+
4. **Report** what was created / updated / deleted so the diff is reviewable before commit.
|
|
63
|
+
|
|
64
|
+
## Routing — where each kind of knowledge belongs
|
|
65
|
+
|
|
66
|
+
| Content category | Canonical home |
|
|
67
|
+
|------------------|----------------|
|
|
68
|
+
| Decisions / architecture choices | a new ADR in `docs/decisions/` (via `documentation-and-adrs`) |
|
|
69
|
+
| Actionable items / next steps | a dated plan under `docs/plans/` (or the issue tracker) |
|
|
70
|
+
| Findings / insights / audit results | weave into the best-matching existing doc |
|
|
71
|
+
| Metrics / before-after baselines | the benchmarks/eval doc (`.claude/rules/evals.md` artifacts) |
|
|
72
|
+
| API / breaking changes / deprecations | `CHANGELOG.md` and the API docs |
|
|
73
|
+
| A durable lesson, not a doc | promote to `agent-memory/` via `remember`, don't make a doc |
|
|
74
|
+
|
|
75
|
+
## Merge strategies
|
|
76
|
+
|
|
77
|
+
- **Weave** — insert into a matching existing section, preserving its voice. *When:* the destination
|
|
78
|
+
has a relevant section and the content is additive.
|
|
79
|
+
- **Replace** — swap a stale section for the more detailed/newer content. *When:* new content is
|
|
80
|
+
materially more complete or supersedes the old.
|
|
81
|
+
- **Append** — add a dated, source-referenced section. *When:* no matching section exists.
|
|
82
|
+
- **Create** — a standalone new doc. *When:* no suitable destination exists and it warrants its own
|
|
83
|
+
file (a new ADR is the common case — hand off to `documentation-and-adrs`).
|
|
84
|
+
|
|
85
|
+
## Cardinal rules
|
|
86
|
+
|
|
87
|
+
1. **No deletion before the merge is verified.** Confirm the knowledge landed in its destination
|
|
88
|
+
*before* removing the source. A lost insight is worse than a stray file.
|
|
89
|
+
2. **Approval gates the whole execution phase.** Triage freely (read-only); never merge-and-delete
|
|
90
|
+
without the user's yes on the plan.
|
|
91
|
+
3. **Deletion beats dilution.** Drop low-value/generic chunks rather than padding canonical docs with
|
|
92
|
+
them — over-merging is how good docs rot.
|
|
93
|
+
4. **Promote, don't hoard.** A durable lesson goes to `agent-memory/` (`remember`), not into a doc;
|
|
94
|
+
keep this aligned with the promote-don't-hoard rule in `.claude/rules/continuity.md`.
|
|
95
|
+
|
|
96
|
+
## Related
|
|
97
|
+
|
|
98
|
+
- `documentation-and-adrs` — authoring the canonical docs/ADRs this skill routes into; its
|
|
99
|
+
generated-doc quality gate vets the merged prose
|
|
100
|
+
- `.claude/rules/human-in-the-loop.md` / `.claude/rules/agent-guardrails.md` — deleting files you
|
|
101
|
+
didn't create is confirm-tier; this skill obeys that gate
|
|
102
|
+
- `.claude/rules/continuity.md` — promote-don't-hoard; durable lessons go to `agent-memory/`, not docs
|
|
103
|
+
- `.claude/rules/model-tiers.md` — run the read-only triage on a cheaper tier
|
|
104
|
+
- `remember` skill — where a durable lesson goes instead of a doc
|
|
@@ -18,7 +18,7 @@ Document decisions, not just code. The most valuable documentation captures the
|
|
|
18
18
|
- Onboarding new team members (or agents) to the project
|
|
19
19
|
- When you find yourself explaining the same thing repeatedly
|
|
20
20
|
|
|
21
|
-
**When NOT to use:** Don't document obvious code. Don't add comments that restate what the code already says. Don't write docs for throwaway prototypes.
|
|
21
|
+
**When NOT to use:** Don't document obvious code. Don't add comments that restate what the code already says. Don't write docs for throwaway prototypes. To *consolidate* ephemeral `*_REPORT.md` / `*_ANALYSIS.md` artifacts into canonical docs (rather than author new ones), use `doc-consolidation`.
|
|
22
22
|
|
|
23
23
|
## Architecture Decision Records (ADRs)
|
|
24
24
|
|
|
@@ -267,6 +267,57 @@ Special consideration for AI agent context:
|
|
|
267
267
|
- **ADRs** — Help agents understand why past decisions were made (prevents re-deciding)
|
|
268
268
|
- **Inline gotchas** — Prevent agents from falling into known traps
|
|
269
269
|
|
|
270
|
+
## Generated-doc quality gate
|
|
271
|
+
|
|
272
|
+
When an agent *writes* the docs, the docs inherit the agent's tics: filler, unearned claims, and the
|
|
273
|
+
tells of machine prose. The "why over what" principle above governs *what to say*; this gate governs
|
|
274
|
+
*how it reads*. Run it on any doc an agent generated or rewrote (README, guide, ADR prose, API docs,
|
|
275
|
+
changelog text) before commit — the prose counterpart to the code-review grounding discipline in
|
|
276
|
+
`code-review-and-quality`.
|
|
277
|
+
|
|
278
|
+
> Detection heuristics re-derived (stack-agnostic) from the MIT-licensed
|
|
279
|
+
> [`athola/claude-night-market`](https://github.com/athola/claude-night-market) `slop-detector` /
|
|
280
|
+
> `doc-generator` skills (© 2025 athola). Not vendored.
|
|
281
|
+
|
|
282
|
+
### Hard fails — a single hit fails the doc, independent of any other quality
|
|
283
|
+
|
|
284
|
+
1. **Identity & voice leaks.** Generated-assistant register that leaked into a published artifact:
|
|
285
|
+
"As a large language model", "as of my training cutoff", "I cannot provide"; conversational
|
|
286
|
+
openers ("Great question!", "Hope this helps!", "Sure!"); self-narration of structure ("In this
|
|
287
|
+
section we will…", "Let's dive into…", "By the end of this guide…"). Delete on sight.
|
|
288
|
+
2. **Hallucinated references.** Every backticked identifier, function, path, and config key named in
|
|
289
|
+
the prose must actually exist in the codebase; every install command the doc tells the reader to
|
|
290
|
+
run must resolve on its registry (the typosquat/existence check in `dependency-verification`);
|
|
291
|
+
cited URLs should resolve. A confident reference to something that doesn't exist is wrongness, not
|
|
292
|
+
style.
|
|
293
|
+
3. **Unverified quality claims.** "Production-ready", "fast", "secure", "scalable", "battle-tested"
|
|
294
|
+
each must point to evidence *in the same repo* (a CI workflow, a benchmark, a test, an audit). No
|
|
295
|
+
evidence → delete the claim. This is the grounded-findings rule (`code-review-and-quality`) applied
|
|
296
|
+
to marketing prose.
|
|
297
|
+
|
|
298
|
+
### Human-quality writing principles
|
|
299
|
+
|
|
300
|
+
- **Slop is a density problem, not a word list.** One "comprehensive" is fine; a paragraph of
|
|
301
|
+
"comprehensive / robust / seamless / leverage" is generated text. Don't maintain a banned-words
|
|
302
|
+
list — flag *concentrations* and register mismatch, and prefer the plain word ("use" over
|
|
303
|
+
"leverage", "thorough" over "comprehensive").
|
|
304
|
+
- **Thesis-first.** The lead states the single takeaway; a reader who stops after the first paragraph
|
|
305
|
+
still leaves with the message. Echo the thesis at the close; cut every other repetition.
|
|
306
|
+
- **Earn every sentence.** A document costs the sum of its readers' time. Each sentence should carry,
|
|
307
|
+
instance, bound, or repeat the thesis — delete the ones that don't. One example is proof; two is
|
|
308
|
+
emphasis; three is filler.
|
|
309
|
+
- **Active voice with reasoning.** Explain *why this choice* (which database, which pattern), not
|
|
310
|
+
neutral boilerplate. Don't humanize constructs ("the code wants", "the function speaks to").
|
|
311
|
+
- **Prose over bullet waterfalls.** Bullets are for short, parallel lists. Multi-line bullet cascades
|
|
312
|
+
bury the reasoning — convert them to prose so the *why* survives.
|
|
313
|
+
- **Drop the machine tells.** Em-dash overuse as a rhetorical pause, tricolons ("fast, reliable, and
|
|
314
|
+
scalable"), contrastive negation ("not just X, but Y" / "it's not X, it's Y"), vapid openers ("In
|
|
315
|
+
today's fast-paced world"), and sycophantic framing. No emojis unless requested. Use the imperative
|
|
316
|
+
mood for docstrings ("Validate input", not "Validates input").
|
|
317
|
+
|
|
318
|
+
When cleaning an existing doc, change *how* it reads, never *what* it says — if the meaning is
|
|
319
|
+
unclear, ask rather than guess. After editing, re-check against the hard fails.
|
|
320
|
+
|
|
270
321
|
## Common Rationalizations
|
|
271
322
|
|
|
272
323
|
| Rationalization | Reality |
|
|
@@ -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
|