claude-code-kit 0.23.0__tar.gz → 0.25.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.
Files changed (521) hide show
  1. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/CHANGELOG.md +68 -2
  4. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/CLAUDE.md +1 -1
  5. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/CONTRIBUTING.md +10 -2
  6. claude_code_kit-0.23.0/README.md → claude_code_kit-0.25.0/PKG-INFO +61 -3
  7. claude_code_kit-0.23.0/PKG-INFO → claude_code_kit-0.25.0/README.md +31 -30
  8. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/coverage-audit.md +2 -2
  9. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/warn-missing-tests.sh +1 -1
  10. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/warn-sensitive-files.sh +1 -1
  11. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/pyproject.toml +18 -1
  12. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +3 -3
  13. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/alembic-migrations/references/repo-evidence.md +2 -2
  14. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/alembic-migrations/references/writing-migrations.md +6 -6
  15. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/api-pagination-filtering-sorting/README.md +1 -1
  16. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/api-pagination-filtering-sorting/SKILL.md +10 -10
  17. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +9 -9
  18. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +47 -47
  19. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +1 -1
  20. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/data-engineering-bigquery-gcs/README.md +1 -1
  21. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/data-engineering-bigquery-gcs/SKILL.md +20 -20
  22. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +1 -1
  23. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +21 -21
  24. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +11 -11
  25. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +2 -2
  26. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +1 -1
  27. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/references/api-versioning.md +1 -1
  28. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-repo-architecture/SKILL.md +3 -3
  29. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +12 -12
  30. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-repo-architecture/references/divergences.md +5 -5
  31. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-repo-architecture/references/repo-evidence.md +19 -18
  32. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-repo-architecture/references/structure-and-state.md +48 -48
  33. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-repo-architecture/references/testing-patterns.md +4 -4
  34. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +1 -1
  35. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/graphql-patterns/README.md +3 -3
  36. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/graphql-patterns/SKILL.md +19 -19
  37. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/graphql-patterns/references/repo-evidence.md +32 -31
  38. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/graphql-patterns/references/strawberry-backend.md +49 -47
  39. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/graphql-patterns/references/when-to-use-graphql.md +10 -10
  40. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +1 -1
  41. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kafka-config-driven/references/repo-evidence.md +1 -1
  42. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/manual-test/SKILL.md +2 -2
  43. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/multi-tenancy-patterns/SKILL.md +1 -1
  44. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +6 -6
  45. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +10 -10
  46. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/SKILL.md +7 -7
  47. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +1 -1
  48. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/references/repo-evidence.md +5 -5
  49. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/references/tracing-and-metrics.md +2 -2
  50. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/references/mongodb-advanced.md +1 -1
  51. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/references/other-db-mongodb.md +10 -10
  52. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/references/repo-evidence.md +5 -5
  53. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/tanstack-react-query-patterns/SKILL.md +1 -1
  54. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +55 -55
  55. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/SKILL.md +6 -6
  56. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/async-and-mocking.md +6 -6
  57. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +27 -27
  58. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +4 -4
  59. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/repo-evidence.md +10 -10
  60. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/vitest-frontend-testing.md +2 -2
  61. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zustand-state-patterns/README.md +2 -2
  62. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zustand-state-patterns/SKILL.md +46 -46
  63. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +49 -49
  64. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zustand-state-patterns/references/repo-evidence.md +79 -77
  65. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +26 -26
  66. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/__init__.py +1 -1
  67. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/__main__.py +1 -3
  68. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/cli.py +65 -4
  69. claude_code_kit-0.25.0/src/claude_kit/pipeline.py +240 -0
  70. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/prompts.py +6 -1
  71. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/scaffold.py +73 -3
  72. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/upgrader.py +5 -4
  73. claude_code_kit-0.25.0/src/claude_kit/validator.py +574 -0
  74. claude_code_kit-0.23.0/src/claude_kit/validator.py +0 -212
  75. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/.gitignore +0 -0
  76. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/LICENSE +0 -0
  77. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/acceptance-reviewer.md +0 -0
  78. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/auditor.md +0 -0
  79. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/dependency-scanner.md +0 -0
  80. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/developer.md +0 -0
  81. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/devils-advocate.md +0 -0
  82. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/devops-engineer.md +0 -0
  83. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/e2e-tester.md +0 -0
  84. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/em-reviewer.md +0 -0
  85. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/incident-responder.md +0 -0
  86. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/merge-reviewer.md +0 -0
  87. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/observability-engineer.md +0 -0
  88. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/orchestrator.md +0 -0
  89. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/owasp-reviewer.md +0 -0
  90. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/policy-validator.md +0 -0
  91. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/pr-raiser.md +0 -0
  92. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/risk-classifier.md +0 -0
  93. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/sdlc-code-reviewer.md +0 -0
  94. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/secret-scanner.md +0 -0
  95. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/security-reviewer.md +0 -0
  96. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/senior-backend-dev.md +0 -0
  97. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/senior-frontend-dev.md +0 -0
  98. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/senior-tester.md +0 -0
  99. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/spec-doc-writer.md +0 -0
  100. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/story-planner.md +0 -0
  101. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/technical-architect.md +0 -0
  102. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/tester.md +0 -0
  103. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/ui-designer.md +0 -0
  104. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/agents/unit-tester.md +0 -0
  105. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/catalog/capture.yaml +0 -0
  106. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/catalog/mcp.yaml +0 -0
  107. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/catalog/org.yaml +0 -0
  108. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/catalog/profiles.yaml +0 -0
  109. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/catalog/stacks.yaml +0 -0
  110. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/commands/abort.md +0 -0
  111. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/commands/init.md +0 -0
  112. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/commands/sdlc.md +0 -0
  113. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/commands/status.md +0 -0
  114. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/agentic-patterns.md +0 -0
  115. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/agents.md +0 -0
  116. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/architecture.md +0 -0
  117. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/eval-harness.md +0 -0
  118. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/org-capabilities.md +0 -0
  119. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
  120. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/stack-skills/README.md +0 -0
  121. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
  122. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/hooks.json +0 -0
  123. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/audit-log.sh +0 -0
  124. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/capture-learnings.sh +0 -0
  125. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/guard-destructive-git.sh +0 -0
  126. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
  127. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/guard-secrets.sh +0 -0
  128. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/lint-fix.sh +0 -0
  129. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/load-autonomy.sh +0 -0
  130. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/load-continuity.sh +0 -0
  131. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/load-learnings.sh +0 -0
  132. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/type-check.sh +0 -0
  133. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/validate-frontmatter.sh +0 -0
  134. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/validate-settings.sh +0 -0
  135. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/warn-large-edits.sh +0 -0
  136. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/warn-llm-io.sh +0 -0
  137. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/hooks/scripts/warn-shared-modules.sh +0 -0
  138. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/agent-guardrails.md +0 -0
  139. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/agent-memory.md +0 -0
  140. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/agent-resilience.md +0 -0
  141. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/autonomy-levels.md +0 -0
  142. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/code-organization.md +0 -0
  143. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/continuity.md +0 -0
  144. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/design-patterns.md +0 -0
  145. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/devops-observability.md +0 -0
  146. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/documentation.md +0 -0
  147. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/evals.md +0 -0
  148. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/frontend-best-practices.md +0 -0
  149. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/goal-setting-and-monitoring.md +0 -0
  150. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/human-in-the-loop.md +0 -0
  151. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/linting-and-formatting.md +0 -0
  152. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/mandatory-workflow.md +0 -0
  153. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/model-tiers.md +0 -0
  154. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/quality-gates.md +0 -0
  155. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/rarv-cycle.md +0 -0
  156. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/reasoning-techniques.md +0 -0
  157. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/responsive-and-accessibility.md +0 -0
  158. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/risk-classification.md +0 -0
  159. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/testing.md +0 -0
  160. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/rules/tool-design.md +0 -0
  161. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/scripts/check_docs_consistency.py +0 -0
  162. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/scripts/gen_hooks.py +0 -0
  163. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/scripts/init.sh +0 -0
  164. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/_references/accessibility-checklist.md +0 -0
  165. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/_references/orchestration-patterns.md +0 -0
  166. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/_references/performance-checklist.md +0 -0
  167. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/_references/security-checklist.md +0 -0
  168. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/_references/testing-patterns.md +0 -0
  169. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/accessibility-review/SKILL.md +0 -0
  170. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/alembic-migrations/README.md +0 -0
  171. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/alembic-migrations/SKILL.md +0 -0
  172. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
  173. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
  174. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/anthropic-vertex-integration/README.md +0 -0
  175. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
  176. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
  177. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
  178. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
  179. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/api-and-interface-design/SKILL.md +0 -0
  180. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/api-integration/SKILL.md +0 -0
  181. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
  182. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/archive-sprint/SKILL.md +0 -0
  183. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/async-python-patterns/README.md +0 -0
  184. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/async-python-patterns/SKILL.md +0 -0
  185. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
  186. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
  187. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
  188. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/auth-and-rbac/README.md +0 -0
  189. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/auth-and-rbac/SKILL.md +0 -0
  190. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
  191. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
  192. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
  193. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
  194. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
  195. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backend-repo-architecture/README.md +0 -0
  196. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backend-repo-architecture/SKILL.md +0 -0
  197. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
  198. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
  199. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
  200. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
  201. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
  202. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backlog/SKILL.md +0 -0
  203. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/backlog/item-template.md +0 -0
  204. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  205. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/bug-hunt/SKILL.md +0 -0
  206. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
  207. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/code-review-and-quality/SKILL.md +0 -0
  208. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/code-simplification/SKILL.md +0 -0
  209. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/component-design/SKILL.md +0 -0
  210. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
  211. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
  212. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
  213. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
  214. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
  215. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/consolidate-learnings/SKILL.md +0 -0
  216. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/README.md +0 -0
  217. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/SKILL.md +0 -0
  218. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
  219. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
  220. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
  221. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
  222. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
  223. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/context-engineering/SKILL.md +0 -0
  224. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
  225. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
  226. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
  227. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
  228. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
  229. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
  230. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
  231. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
  232. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  233. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/decision/SKILL.md +0 -0
  234. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/decision/adr-template.md +0 -0
  235. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/deprecation-and-migration/SKILL.md +0 -0
  236. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/README.md +0 -0
  237. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
  238. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
  239. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
  240. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
  241. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
  242. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-compose/README.md +0 -0
  243. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-compose/SKILL.md +0 -0
  244. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
  245. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
  246. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-compose/references/repo-evidence.md +0 -0
  247. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-shared/README.md +0 -0
  248. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-shared/SKILL.md +0 -0
  249. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
  250. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-shared/references/repo-evidence.md +0 -0
  251. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-shared/references/shared-base-images.md +0 -0
  252. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
  253. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-backend/README.md +0 -0
  254. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-backend/SKILL.md +0 -0
  255. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
  256. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
  257. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
  258. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-frontend/README.md +0 -0
  259. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-frontend/SKILL.md +0 -0
  260. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
  261. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
  262. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
  263. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/documentation-and-adrs/SKILL.md +0 -0
  264. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/doubt-driven-development/SKILL.md +0 -0
  265. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
  266. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
  267. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
  268. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
  269. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/execute/SKILL.md +0 -0
  270. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/README.md +0 -0
  271. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
  272. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
  273. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
  274. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
  275. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
  276. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
  277. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/file-export-and-reporting/README.md +0 -0
  278. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/file-export-and-reporting/SKILL.md +0 -0
  279. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
  280. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
  281. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
  282. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-repo-architecture/README.md +0 -0
  283. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
  284. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
  285. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
  286. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
  287. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
  288. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcs-file-storage-patterns/README.md +0 -0
  289. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
  290. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
  291. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
  292. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
  293. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  294. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
  295. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
  296. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
  297. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
  298. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
  299. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
  300. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
  301. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
  302. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
  303. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/idea-refine/SKILL.md +0 -0
  304. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/idea-refine/examples.md +0 -0
  305. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/idea-refine/frameworks.md +0 -0
  306. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/idea-refine/refinement-criteria.md +0 -0
  307. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  308. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/incident-postmortem/SKILL.md +0 -0
  309. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/incremental-implementation/SKILL.md +0 -0
  310. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/interview-me/SKILL.md +0 -0
  311. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kafka-config-driven/README.md +0 -0
  312. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kafka-config-driven/SKILL.md +0 -0
  313. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
  314. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
  315. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubectl-operations/README.md +0 -0
  316. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubectl-operations/SKILL.md +0 -0
  317. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubectl-operations/references/command-reference.md +0 -0
  318. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
  319. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
  320. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
  321. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
  322. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubernetes-workload-hardening/README.md +0 -0
  323. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
  324. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
  325. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
  326. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
  327. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/langfuse-llm-tracing/README.md +0 -0
  328. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
  329. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
  330. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
  331. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
  332. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/load-testing/SKILL.md +0 -0
  333. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/modernization-and-migration/README.md +0 -0
  334. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/modernization-and-migration/SKILL.md +0 -0
  335. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
  336. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
  337. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
  338. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
  339. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
  340. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/multi-tenancy-patterns/README.md +0 -0
  341. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
  342. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
  343. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-express-service/README.md +0 -0
  344. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-express-service/SKILL.md +0 -0
  345. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
  346. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
  347. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
  348. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-express-service/references/repo-evidence.md +0 -0
  349. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-objection-knex/README.md +0 -0
  350. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-objection-knex/SKILL.md +0 -0
  351. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
  352. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
  353. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
  354. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/notifications-and-messaging/README.md +0 -0
  355. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/notifications-and-messaging/SKILL.md +0 -0
  356. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
  357. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
  358. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
  359. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/README.md +0 -0
  360. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
  361. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
  362. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
  363. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/over-engineering-review/SKILL.md +0 -0
  364. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/performance-optimization/SKILL.md +0 -0
  365. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
  366. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/playwright-verification/SKILL.md +0 -0
  367. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/pydantic-schema-patterns/README.md +0 -0
  368. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
  369. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
  370. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
  371. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
  372. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
  373. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/README.md +0 -0
  374. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/SKILL.md +0 -0
  375. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
  376. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
  377. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
  378. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
  379. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
  380. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
  381. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
  382. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
  383. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
  384. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
  385. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
  386. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
  387. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
  388. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/redis-caching-patterns/README.md +0 -0
  389. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/redis-caching-patterns/SKILL.md +0 -0
  390. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
  391. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
  392. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
  393. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/refresh-docs/SKILL.md +0 -0
  394. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/remember/SKILL.md +0 -0
  395. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/scope/SKILL.md +0 -0
  396. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/scope/scope-template.md +0 -0
  397. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/sdlc/SKILL.md +0 -0
  398. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/security-and-hardening/SKILL.md +0 -0
  399. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/security-verification/SKILL.md +0 -0
  400. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/shannon-ai-pentest/README.md +0 -0
  401. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
  402. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
  403. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/shipping-and-launch/SKILL.md +0 -0
  404. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/simplification-debt/SKILL.md +0 -0
  405. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/smoke-test/SKILL.md +0 -0
  406. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/source-driven-development/SKILL.md +0 -0
  407. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/spec-driven-development/SKILL.md +0 -0
  408. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/sprint/SKILL.md +0 -0
  409. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/sprint/sprint-template.md +0 -0
  410. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/tanstack-react-query-patterns/README.md +0 -0
  411. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
  412. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
  413. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/task-tracker-sync/SKILL.md +0 -0
  414. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/README.md +0 -0
  415. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/SKILL.md +0 -0
  416. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
  417. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
  418. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
  419. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
  420. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
  421. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
  422. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/test-driven-development/SKILL.md +0 -0
  423. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/test-plan-review/SKILL.md +0 -0
  424. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/README.md +0 -0
  425. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
  426. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
  427. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
  428. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/threat-model/SKILL.md +0 -0
  429. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/triage/SKILL.md +0 -0
  430. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/ui-ux-design/SKILL.md +0 -0
  431. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/unit-test/SKILL.md +0 -0
  432. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/using-agent-skills/SKILL.md +0 -0
  433. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
  434. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
  435. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
  436. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
  437. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
  438. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zap-vapt-scanning/README.md +0 -0
  439. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
  440. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
  441. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
  442. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
  443. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
  444. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/catalog.py +0 -0
  445. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/hooks.py +0 -0
  446. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/models.py +0 -0
  447. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/src/claude_kit/render.py +0 -0
  448. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/CLAUDE.md +0 -0
  449. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/CLAUDE.stack.md.tmpl +0 -0
  450. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/CONTINUITY.template.md +0 -0
  451. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/README.claude-sdlc.md.tmpl +0 -0
  452. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/agent-memory/MEMORY.md +0 -0
  453. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/agent-memory/api/.gitkeep +0 -0
  454. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/agent-memory/architecture/.gitkeep +0 -0
  455. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/agent-memory/debugging/.gitkeep +0 -0
  456. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
  457. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/agent-memory/patterns/.gitkeep +0 -0
  458. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/agent-memory/performance/.gitkeep +0 -0
  459. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/artifacts/adr.md +0 -0
  460. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/artifacts/api-change-report.md +0 -0
  461. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/artifacts/feature-spec.md +0 -0
  462. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/artifacts/release-plan.md +0 -0
  463. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/artifacts/runbook.md +0 -0
  464. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/artifacts/security-review.md +0 -0
  465. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/artifacts/test-plan.md +0 -0
  466. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/README.md +0 -0
  467. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/agents/data-workflow-agent.md +0 -0
  468. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/agents/founder-prototype-agent.md +0 -0
  469. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/agents/internal-tools-builder.md +0 -0
  470. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/agents/pm-copilot.md +0 -0
  471. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
  472. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/agents/support-ticket-engineer.md +0 -0
  473. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/devops-and-release/README.md +0 -0
  474. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  475. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/engineering-core/README.md +0 -0
  476. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
  477. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
  478. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  479. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  480. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  481. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/product-to-code/README.md +0 -0
  482. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
  483. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/quality-and-review/README.md +0 -0
  484. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  485. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/security-and-compliance/README.md +0 -0
  486. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  487. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/ai-working-agreement.md +0 -0
  488. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/ambiguity-resolution.md +0 -0
  489. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
  490. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/compliance-policy.md +0 -0
  491. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  492. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/pii-policy.md +0 -0
  493. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/production-data-policy.md +0 -0
  494. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  495. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/prototype-boundaries.md +0 -0
  496. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/rules/secrets-policy.md +0 -0
  497. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  498. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  499. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  500. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  501. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  502. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/review-scope/SKILL.md +0 -0
  503. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
  504. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
  505. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
  506. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/settings.json +0 -0
  507. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
  508. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  509. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  510. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  511. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  512. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  513. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  514. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  515. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  516. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  517. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
  518. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
  519. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
  520. {claude_code_kit-0.23.0 → claude_code_kit-0.25.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
  521. {claude_code_kit-0.23.0 → claude_code_kit-0.25.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.23.0",
13
+ "version": "0.25.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.23.0",
3
+ "version": "0.25.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,72 @@ 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.25.0] — 2026-06-24
8
+
9
+ **PR4 of the phased hardening review: supply-chain provenance, an explicit trust model, and a full
10
+ genericization pass so the public repo carries only neutral examples.**
11
+
12
+ ### Added
13
+ - **PEP 740 build attestations re-enabled** in `publish.yml`. They were temporarily disabled while
14
+ Sigstore's Rekor transparency log was returning HTTP 502s at upload time; Sigstore has since been
15
+ healthy (verified via status.sigstore.dev — all services online, no incidents), so releases are
16
+ signed again for supply-chain provenance.
17
+ - **A "Security & trust model" section** in `README.md` (with a nav link) stating plainly that the
18
+ guard hooks are convenience, not a hardened boundary; that most quality gates are agent protocols
19
+ rather than mechanical enforcement; and that MCP servers are third-party code — surfacing
20
+ `SECURITY.md`'s posture where users decide to rely on the kit.
21
+
22
+ ### Changed
23
+ - **Genericization pass** — removed residual internal / company-specific identifiers so the published
24
+ repo carries only neutral examples. Genericized the 0.15.0 adoption narrative in `CHANGELOG.md` and
25
+ `docs/coverage-audit.md`; renamed test functions and replaced an internal-token blocklist with a
26
+ positive neutralization check in `tests/test_scaffold.py`; and neutralized the skills-collection
27
+ reference docs (example feature / module / variable names, domain-specific jargon, and a
28
+ region-specific registry host) into generic equivalents. Examples-only — no behavior change.
29
+
30
+ ## [0.24.0] — 2026-06-24
31
+
32
+ **PR3 of the phased hardening review: deeper validation, a deterministic pipeline CLI, an MCP
33
+ lockfile, and a CI matrix that brings every distribution channel and quality dimension under test.**
34
+
35
+ ### Added
36
+
37
+ - **`claude-kit validate --strict`** — beyond the structural checks, strict mode verifies that every
38
+ `settings.json` hook fires on a known event and runs an **installed, executable** script; that
39
+ `.mcp.json` has a sane `{mcpServers: {id: {command|url}}}` shape; that the resolved
40
+ `stack-catalog.snapshot.yaml` agrees with the agents/skills/overlays actually on disk; and that the
41
+ **bundled catalog is referentially consistent** (`validator.check_catalog`: every profile resolves to
42
+ existing agents/skills/registered hooks, every stack overlay rule/agent file is present, and the org
43
+ overlay's new skills/agents/rules/packs exist). `doctor` now runs the strict validate by default.
44
+ - **`claude-kit pipeline` command group** (`src/claude_kit/pipeline.py`) — deterministic,
45
+ **non-executing** operations on the `/sdlc` state files: `pipeline validate` (snapshot shape +
46
+ profile/scope/mode/lane/findings coherence, with `last_gate_passed` checked against the installed
47
+ gate set), `pipeline status` (human-readable run summary), `pipeline close-gate <gate> --evidence
48
+ <file>` (records a passed gate, requiring the evidence artifact and a gate name the profile defines),
49
+ and `pipeline abort`. These validate/mutate `.claude/state/pipeline-snapshot.json` — they do **not**
50
+ run the pipeline.
51
+ - **`.mcp.lock.json`** — when `.mcp.json` is written, a deterministic lockfile captures the resolved
52
+ package + pinned version (parsed from the `npx -y <pkg>@<ver>` args) or hosted URL per server, so a
53
+ reviewer can see exactly what would run. It is a kit-owned, derived artifact (refreshed on upgrade,
54
+ never a user sidecar). **`claude-kit doctor --mcp`** checks each server's command is on PATH, warns on
55
+ unset `${ENV}` vars, and flags a lockfile that has drifted from `.mcp.json` (warnings only).
56
+ - **Expanded CI** (`.github/workflows/ci.yml`) — new jobs alongside the test matrix: `lint`
57
+ (`ruff check` + `ruff format --check` + `mypy`), `shell` (`shellcheck -S warning` over all hook + repo
58
+ scripts), `static` (`gen_hooks.py --check`, the docs-consistency guard, catalog referential
59
+ integrity, and JSON validity of the plugin manifests + `hooks.json`), and `wheel-smoke` (build → install
60
+ into a clean venv → `init --defaults` → `validate --strict` → `doctor`). `ruff`/`mypy`/`shellcheck-py`
61
+ are added to the `dev` extra, with conservative `[tool.ruff.lint]` (no E501) and `[tool.mypy]` config.
62
+
63
+ ### Fixed
64
+
65
+ - **Latent type/lint bugs surfaced by the new CI** — `upgrader.py` used `ResolvedPlan` in annotations
66
+ without importing it (harmless under `from __future__ import annotations`, but undefined) and passed
67
+ `str | Path` to a `Path`-typed `_compare`; `_format_preview` could dereference `None`;
68
+ `prompts._choose_many` and `__main__` used None-returning calls in value position. All fixed; the
69
+ codebase is now `ruff` + `mypy --ignore-missing-imports` clean. Two hook scripts had redundant,
70
+ shellcheck-flagged glob alternatives (`*__tests__*` under `*test*`; `*oauth*`/`*authoriz*` under
71
+ `*auth*`) — removed with no behavior change.
72
+
7
73
  ## [0.23.0] — 2026-06-23
8
74
 
9
75
  **PR2 of the phased hardening review: structural single-source-of-truth for hooks, and plugin/CLI
@@ -489,7 +555,7 @@ values (→ `#______` placeholders, matching the existing `design-system-complia
489
555
 
490
556
  ## [0.15.0] — 2026-06-16
491
557
 
492
- **Adopt the Fynd Agentic Engineering personas & skills** (an internal Claude Code plugin marketplace —
558
+ **Adopt a set of internal engineering personas & skills** (a private Claude Code plugin marketplace —
493
559
  11 agents + 29 skills across 7 plugins: engineer, designer, pm, context-gen, staff-em, staff-sdet,
494
560
  staff-pm). Those plugins are excellent but heavily **stack-bound** (FastAPI/SQLAlchemy/Pydantic/React/
495
561
  Tailwind/Radix/Zod/Temporal/Kafka/Langfuse, against an internal `.ai/` doc convention). Mirroring all
@@ -503,7 +569,7 @@ nothing), **18 extend** (a real delta folded into the nearest existing component
503
569
  layer), **1 adopt-core** (genuinely new + stack-agnostic). Net: **2 new core skills, ~10 surgical core
504
570
  extends, 1 new React overlay rule + FastAPI/React overlay enrichments, 5 new org components** — zero
505
571
  stack leakage into core, zero diluting duplicates. IP boundary: technique-and-structure only, no source
506
- text copied; every Fynd-internal reference (the `.ai/` naming, internal field/service names, numeric
572
+ text copied; every source-internal reference (internal doc conventions, internal field/service names, numeric
507
573
  heuristics) stripped or genericized.
508
574
 
509
575
  Three deliberate decisions: **(1)** Temporal/Kafka/Langfuse are **not** added as selectable stacks —
@@ -28,7 +28,7 @@ distributed two ways from one source of truth:
28
28
  | `templates/stacks/<kind>/<id>/` | Per-stack **overlay** content: `rules/` (+ `agents/` for DB stacks). **No application code, no Docker** — the only place stack-specific content lives. |
29
29
  | `templates/org/` | **Org overlay** content (scope-gated, organization only): `skills/`, `agents/` (personas), `rules/` (policy/vibe), `packs/<pack>/{pack.yaml,README.md}`, `README.md`. Wired via `catalog/org.yaml`. The only place org-specific content lives. |
30
30
  | `scripts/init.sh` | Thin no-pip fallback scaffolder (copies the full payload; no catalog resolution) |
31
- | `src/claude_kit/` | The pip CLI (Typer): `cli.py`, `catalog.py` (resolver), `prompts.py`, `models.py`, `scaffold.py` (installer), `render.py` (Jinja2), `hooks.py`, `validator.py`, `upgrader.py` |
31
+ | `src/claude_kit/` | The pip CLI (Typer): `cli.py`, `catalog.py` (resolver), `prompts.py`, `models.py`, `scaffold.py` (installer), `render.py` (Jinja2), `hooks.py`, `validator.py` (incl. `validate --strict` + `check_catalog`), `upgrader.py`, `pipeline.py` (deterministic `/sdlc` state-file ops) |
32
32
  | `tests/` | pytest suite (catalog, render, scaffold, validator, upgrader, CLI; incl. the profile×stack×scope self-test matrix) |
33
33
  | `examples/` | Synthetic end-to-end `/sdlc` worked example (repo reference; **not** bundled into the wheel) |
34
34
  | `docs/architecture.md` · `docs/agents.md` · `docs/coverage-audit.md` · `docs/eval-harness.md` | Architecture diagrams · agent guide · the GATED-vs-RULE-vs-SKILL enforcement audit · the with/without eval template |
@@ -71,6 +71,13 @@ claude-kit diff /tmp/ck-demo
71
71
  # Tests:
72
72
  pytest
73
73
 
74
+ # Lint / type / shell / drift checks (all run in CI — keep them green locally):
75
+ ruff check src scripts tests && ruff format --check src scripts tests
76
+ mypy
77
+ shellcheck -S warning hooks/scripts/*.sh scripts/*.sh
78
+ python scripts/gen_hooks.py --check
79
+ python scripts/check_docs_consistency.py
80
+
74
81
  # Build + validate the package:
75
82
  python3 -m build
76
83
  python3 -m twine check dist/*
@@ -88,8 +95,9 @@ a specific stack — `pytest` enforces the no-Docker invariant on a scaffolded p
88
95
 
89
96
  ## Releasing
90
97
 
91
- 1. Bump the version in **all four** places: `pyproject.toml`, `.claude-plugin/plugin.json`, the
92
- `.claude-plugin/marketplace.json` entry, and `src/claude_kit/__init__.py`.
98
+ 1. Bump the version in **all five** places: `pyproject.toml`, `.claude-plugin/plugin.json`, the
99
+ `.claude-plugin/marketplace.json` entry, `src/claude_kit/__init__.py`, and `SECURITY.md`
100
+ (`check_docs_consistency.py` enforces parity across all of them + the latest `CHANGELOG.md` heading).
93
101
  2. Add a `CHANGELOG.md` entry, including a **"Not adopted (deliberately)"** block stating what you
94
102
  chose *not* to add and why — this is a marketed feature of the changelog (the README links to it),
95
103
  so keep it. If those blocks ever grow unwieldy they may later split into `docs/decision-log.md`,
@@ -1,3 +1,33 @@
1
+ Metadata-Version: 2.4
2
+ Name: claude-code-kit
3
+ Version: 0.25.0
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
+ Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
6
+ Project-URL: Repository, https://github.com/ajyadav013/claude-kit
7
+ Project-URL: Issues, https://github.com/ajyadav013/claude-kit/issues
8
+ Author: Arjunsingh Yadav
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: agentic,agents,automation,claude,claude-code,code-review,cookiecutter,fastapi,generator,orchestration,react,scaffold,sdlc,testing
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Software Development
17
+ Classifier: Topic :: Software Development :: Quality Assurance
18
+ Requires-Python: >=3.9
19
+ Requires-Dist: jinja2>=3.1
20
+ Requires-Dist: pyyaml>=6.0
21
+ Requires-Dist: typer>=0.12
22
+ Provides-Extra: dev
23
+ Requires-Dist: build>=1.2; extra == 'dev'
24
+ Requires-Dist: mypy>=1.10; extra == 'dev'
25
+ Requires-Dist: pytest>=8.0; extra == 'dev'
26
+ Requires-Dist: ruff>=0.6; extra == 'dev'
27
+ Requires-Dist: shellcheck-py>=0.10; extra == 'dev'
28
+ Requires-Dist: twine>=5.0; extra == 'dev'
29
+ Description-Content-Type: text/markdown
30
+
1
31
  <div align="center">
2
32
 
3
33
  # claude-kit
@@ -14,7 +44,7 @@ with a quality gate between every phase. **No application code. No Docker. Confi
14
44
  [![CI](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml)
15
45
  [![Changelog](https://img.shields.io/badge/changelog-md-blue.svg)](CHANGELOG.md)
16
46
 
17
- ✨ [Features](#features) · 🚀 [Quick start](#quick-start) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 📖 [Agent guide](docs/agents.md)
47
+ ✨ [Features](#features) · 🚀 [Quick start](#quick-start) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 🔒 [Security](#security--trust-model) · 📖 [Agent guide](docs/agents.md)
18
48
 
19
49
  </div>
20
50
 
@@ -586,10 +616,11 @@ everything available.
586
616
  | Command | Description |
587
617
  |---------|-------------|
588
618
  | `init [path] [--defaults] [--config FILE] [--force]` | Scaffold `CLAUDE.md` + `.claude/` (interactive or non-interactive) |
589
- | `validate [path]` | Structurally validate an installed config |
590
- | `doctor [path]` | Validate + environment/health checks with fix hints |
619
+ | `validate [path] [--strict]` | Structurally validate an installed config; `--strict` adds hooks→script, `.mcp.json`-shape, snapshot, and catalog-integrity checks |
620
+ | `doctor [path] [--mcp]` | Strict validate + environment/health checks; `--mcp` checks MCP commands, `${ENV}` vars, and lockfile drift |
591
621
  | `diff [path]` | Preview what an `upgrade` would change (no writes) |
592
622
  | `upgrade [path] [--force]` | Refresh kit/overlay files; protect your edits; prune orphans |
623
+ | `pipeline validate · status · close-gate · abort` | Inspect/mutate the `/sdlc` state files (gate/lane/evidence coherence); **does not run** the pipeline |
593
624
  | `list-options` | List available frontend/backend/database/profile/MCP options |
594
625
  | `status [path]` | Show what's installed, the selection, and working memory |
595
626
  | `version` | Print the version |
@@ -598,6 +629,9 @@ everything available.
598
629
  Plugin slash commands: `/claude-kit:init`, `/claude-kit:sdlc <task>`, `/claude-kit:status`; and the
599
630
  `/sdlc` skill inside any scaffolded project.
600
631
 
632
+ > When MCP servers are selected, `init` also writes a derived **`.mcp.lock.json`** pinning each
633
+ > server's resolved package version — inspect it (or run `doctor --mcp`) to see exactly what would run.
634
+
601
635
  </details>
602
636
 
603
637
  <details>
@@ -634,6 +668,30 @@ hints.
634
668
 
635
669
  ---
636
670
 
671
+ ## Security & trust model
672
+
673
+ claude-kit installs **configuration only** — no application code, no Docker, nothing that runs as a
674
+ service. It never executes your code; it lays down rules, agents, skills, gates, and hook scripts that
675
+ **Claude Code** then follows. Three honest caveats are worth understanding before you rely on it:
676
+
677
+ - **The guard hooks are convenience, not a hardened boundary.** Scripts like `guard-secrets`,
678
+ `guard-destructive-git`, and the `warn-*` advisories raise the cost of a mistake — they do **not**
679
+ sandbox the agent or guarantee prevention. They need a POSIX shell + `jq` and **silently no-op**
680
+ without them (e.g. on Windows outside WSL/Git Bash). Treat them as seatbelts, not walls.
681
+ - **Most quality gates are agent protocols, not mechanical enforcement.** The pipeline's gates
682
+ (`spec-complete`, `code-review`, `security-clear`, …) are disciplines Claude is instructed to follow
683
+ and self-verify; only the hook scripts are deterministic, host-enforced checks. A capable model can
684
+ still be wrong or skip a step — keep a human in the loop for anything that matters.
685
+ - **MCP servers are third-party code.** Each fragment runs an external package (pinned to an exact
686
+ version) or a hosted endpoint that claude-kit references but does **not** vendor or audit. Review a
687
+ server's source and license before enabling it.
688
+
689
+ Releases are published to PyPI via OIDC **Trusted Publishing** (no long-lived API token) with **PEP 740
690
+ build attestations** for supply-chain provenance. Report vulnerabilities privately — see
691
+ [`SECURITY.md`](SECURITY.md) for the full scope and reporting process.
692
+
693
+ ---
694
+
637
695
  ## Project structure
638
696
 
639
697
  <details>
@@ -1,30 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: claude-code-kit
3
- Version: 0.23.0
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
- Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
6
- Project-URL: Repository, https://github.com/ajyadav013/claude-kit
7
- Project-URL: Issues, https://github.com/ajyadav013/claude-kit/issues
8
- Author: Arjunsingh Yadav
9
- License-Expression: MIT
10
- License-File: LICENSE
11
- Keywords: agentic,agents,automation,claude,claude-code,code-review,cookiecutter,fastapi,generator,orchestration,react,scaffold,sdlc,testing
12
- Classifier: Development Status :: 4 - Beta
13
- Classifier: Environment :: Console
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Topic :: Software Development
17
- Classifier: Topic :: Software Development :: Quality Assurance
18
- Requires-Python: >=3.9
19
- Requires-Dist: jinja2>=3.1
20
- Requires-Dist: pyyaml>=6.0
21
- Requires-Dist: typer>=0.12
22
- Provides-Extra: dev
23
- Requires-Dist: build>=1.2; extra == 'dev'
24
- Requires-Dist: pytest>=8.0; extra == 'dev'
25
- Requires-Dist: twine>=5.0; extra == 'dev'
26
- Description-Content-Type: text/markdown
27
-
28
1
  <div align="center">
29
2
 
30
3
  # claude-kit
@@ -41,7 +14,7 @@ with a quality gate between every phase. **No application code. No Docker. Confi
41
14
  [![CI](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml)
42
15
  [![Changelog](https://img.shields.io/badge/changelog-md-blue.svg)](CHANGELOG.md)
43
16
 
44
- ✨ [Features](#features) · 🚀 [Quick start](#quick-start) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 📖 [Agent guide](docs/agents.md)
17
+ ✨ [Features](#features) · 🚀 [Quick start](#quick-start) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 🔒 [Security](#security--trust-model) · 📖 [Agent guide](docs/agents.md)
45
18
 
46
19
  </div>
47
20
 
@@ -613,10 +586,11 @@ everything available.
613
586
  | Command | Description |
614
587
  |---------|-------------|
615
588
  | `init [path] [--defaults] [--config FILE] [--force]` | Scaffold `CLAUDE.md` + `.claude/` (interactive or non-interactive) |
616
- | `validate [path]` | Structurally validate an installed config |
617
- | `doctor [path]` | Validate + environment/health checks with fix hints |
589
+ | `validate [path] [--strict]` | Structurally validate an installed config; `--strict` adds hooks→script, `.mcp.json`-shape, snapshot, and catalog-integrity checks |
590
+ | `doctor [path] [--mcp]` | Strict validate + environment/health checks; `--mcp` checks MCP commands, `${ENV}` vars, and lockfile drift |
618
591
  | `diff [path]` | Preview what an `upgrade` would change (no writes) |
619
592
  | `upgrade [path] [--force]` | Refresh kit/overlay files; protect your edits; prune orphans |
593
+ | `pipeline validate · status · close-gate · abort` | Inspect/mutate the `/sdlc` state files (gate/lane/evidence coherence); **does not run** the pipeline |
620
594
  | `list-options` | List available frontend/backend/database/profile/MCP options |
621
595
  | `status [path]` | Show what's installed, the selection, and working memory |
622
596
  | `version` | Print the version |
@@ -625,6 +599,9 @@ everything available.
625
599
  Plugin slash commands: `/claude-kit:init`, `/claude-kit:sdlc <task>`, `/claude-kit:status`; and the
626
600
  `/sdlc` skill inside any scaffolded project.
627
601
 
602
+ > When MCP servers are selected, `init` also writes a derived **`.mcp.lock.json`** pinning each
603
+ > server's resolved package version — inspect it (or run `doctor --mcp`) to see exactly what would run.
604
+
628
605
  </details>
629
606
 
630
607
  <details>
@@ -661,6 +638,30 @@ hints.
661
638
 
662
639
  ---
663
640
 
641
+ ## Security & trust model
642
+
643
+ claude-kit installs **configuration only** — no application code, no Docker, nothing that runs as a
644
+ service. It never executes your code; it lays down rules, agents, skills, gates, and hook scripts that
645
+ **Claude Code** then follows. Three honest caveats are worth understanding before you rely on it:
646
+
647
+ - **The guard hooks are convenience, not a hardened boundary.** Scripts like `guard-secrets`,
648
+ `guard-destructive-git`, and the `warn-*` advisories raise the cost of a mistake — they do **not**
649
+ sandbox the agent or guarantee prevention. They need a POSIX shell + `jq` and **silently no-op**
650
+ without them (e.g. on Windows outside WSL/Git Bash). Treat them as seatbelts, not walls.
651
+ - **Most quality gates are agent protocols, not mechanical enforcement.** The pipeline's gates
652
+ (`spec-complete`, `code-review`, `security-clear`, …) are disciplines Claude is instructed to follow
653
+ and self-verify; only the hook scripts are deterministic, host-enforced checks. A capable model can
654
+ still be wrong or skip a step — keep a human in the loop for anything that matters.
655
+ - **MCP servers are third-party code.** Each fragment runs an external package (pinned to an exact
656
+ version) or a hosted endpoint that claude-kit references but does **not** vendor or audit. Review a
657
+ server's source and license before enabling it.
658
+
659
+ Releases are published to PyPI via OIDC **Trusted Publishing** (no long-lived API token) with **PEP 740
660
+ build attestations** for supply-chain provenance. Report vulnerabilities privately — see
661
+ [`SECURITY.md`](SECURITY.md) for the full scope and reporting process.
662
+
663
+ ---
664
+
664
665
  ## Project structure
665
666
 
666
667
  <details>
@@ -51,9 +51,9 @@ The pattern matches the rest of the kit: a *discipline* is a RULE (always-on gui
51
51
  spec/EM gate exists at all. P0-2 is the exception that strengthens *every* gate by making a fabricated
52
52
  verdict auto-Critical, without adding a token.
53
53
 
54
- ## Fynd adoption disciplines (as of 0.15.0)
54
+ ## Internal-toolkit adoption disciplines (as of 0.15.0)
55
55
 
56
- The Fynd persona/skill adoption (CHANGELOG 0.15.0) added capabilities reuse-first. Consistent with the
56
+ The internal persona/skill adoption (CHANGELOG 0.15.0) added capabilities reuse-first. Consistent with the
57
57
  posture above, it added **no new gate tokens** — the new capabilities are SKILLs, OVERLAY rules, or
58
58
  checklists that ride *inside existing* review gates. Enforcement class of each:
59
59
 
@@ -12,7 +12,7 @@ low="$(printf '%s' "$FILE_PATH" | tr '[:upper:]' '[:lower:]')"
12
12
 
13
13
  # Skip non-source: tests, docs, config, markdown, and the kit's own config.
14
14
  case "$low" in
15
- *test*|*spec*|*__tests__*|*.md|*.markdown|*.json|*.ya?ml|*.toml|*.ini|*.cfg|*.txt|*.lock|*/.claude/*)
15
+ *test*|*spec*|*.md|*.markdown|*.json|*.ya?ml|*.toml|*.ini|*.cfg|*.txt|*.lock|*/.claude/*)
16
16
  exit 0 ;;
17
17
  esac
18
18
 
@@ -11,7 +11,7 @@ FILE_PATH="$(echo "$INPUT" | jq -r '.tool_input.file_path // .tool_response.file
11
11
  low="$(printf '%s' "$FILE_PATH" | tr '[:upper:]' '[:lower:]')"
12
12
 
13
13
  case "$low" in
14
- *auth*|*login*|*session*|*oauth*|*jwt*|*password*|*permission*|*rbac*|*authoriz*)
14
+ *auth*|*login*|*session*|*jwt*|*password*|*permission*|*rbac*)
15
15
  echo "WARN: editing an AUTH / authorization surface ($FILE_PATH). High-risk: get review + security check before completion (.claude/rules/risk-classification.md)." >&2 ;;
16
16
  esac
17
17
  case "$low" in
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-kit"
7
- version = "0.23.0"
7
+ version = "0.25.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"
@@ -46,6 +46,9 @@ dev = [
46
46
  "pytest>=8.0",
47
47
  "build>=1.2",
48
48
  "twine>=5.0",
49
+ "ruff>=0.6",
50
+ "mypy>=1.10",
51
+ "shellcheck-py>=0.10",
49
52
  ]
50
53
 
51
54
  [project.urls]
@@ -62,6 +65,20 @@ claude-sdlc = "claude_kit.cli:main"
62
65
  testpaths = ["tests"]
63
66
  pythonpath = ["."]
64
67
 
68
+ [tool.ruff]
69
+ target-version = "py39"
70
+
71
+ [tool.ruff.lint]
72
+ # Deliberately conservative: pyflakes (F) + the actionable pycodestyle subsets (E4/E7/E9, W) +
73
+ # import sorting (I) + bugbear (B). Line length (E501) is intentionally NOT enforced — docstrings and
74
+ # pinned-version comments run long on purpose and `ruff format` owns layout.
75
+ select = ["E4", "E7", "E9", "F", "W", "I", "B"]
76
+
77
+ [tool.mypy]
78
+ files = ["src/claude_kit"]
79
+ ignore_missing_imports = true
80
+ # typer/yaml ship without type stubs; we check our own code, not third-party signatures.
81
+
65
82
  [tool.hatch.build.targets.wheel]
66
83
  packages = ["src/claude_kit"]
67
84
 
@@ -151,7 +151,7 @@ from app.database import Base
151
151
  from config.settings import settings
152
152
 
153
153
  # Import all models (wildcard imports)
154
- from app.articles.models import *
154
+ from app.items.models import *
155
155
  from app.units.models import *
156
156
  # ... (40+ wildcard imports)
157
157
 
@@ -183,8 +183,8 @@ from app.users.models import User
183
183
  from app.organizations.models import Organization
184
184
 
185
185
  # Wildcard imports (acceptable in env.py, used in multiple production services)
186
- from myapp.users.models import *
187
- from myapp.tenants.models import *
186
+ from app.users.models import *
187
+ from app.tenants.models import *
188
188
  ```
189
189
 
190
190
  **Critical**: If a model is not imported in `env.py`, Alembic won't detect it for autogenerate.
@@ -146,9 +146,9 @@ from app.database import Base
146
146
  from config.settings import settings
147
147
 
148
148
  # Wildcard model imports
149
- from app.articles.models import *
149
+ from app.items.models import *
150
150
  from app.units.models import *
151
- from app.bom.models import *
151
+ from app.catalog.models import *
152
152
  # ... 40+ wildcard imports
153
153
 
154
154
  # target_metadata
@@ -34,10 +34,10 @@ alembic/versions/
34
34
  ```
35
35
  alembic/versions/
36
36
  ├── 202407301751-ad610b2bab70_add_event_log_table.py
37
- ├── 202408011255-e848fe551d9b_add_coe_bom_mapping_tables.py
37
+ ├── 202408011255-e848fe551d9b_add_category_mapping_tables.py
38
38
  ├── 202408012159-c3f783a32f7c_add_username_to_event_log_table.py
39
- ├── 202408052213-943a94fc4f73_add_is_active_to_mapping_tebles.py
40
- ├── 202409031128-0fc8dde689fe_fabric_source_cluster.py
39
+ ├── 202408052213-943a94fc4f73_add_is_active_to_mapping_tables.py
40
+ ├── 202409031128-0fc8dde689fe_add_source_cluster.py
41
41
  └── ...
42
42
  ```
43
43
 
@@ -53,10 +53,10 @@ alembic/versions/
53
53
 
54
54
  ```
55
55
  migrations/versions/
56
- ├── 554395de0772_added_planograph_models.py
56
+ ├── 554395de0772_added_data_models.py
57
57
  ├── 9d07416cb3d0_modified_generated_file_model.py
58
- ├── cb876bd3ff47_added_watermakr_model.py
59
- └── d5885c4539c2_updated_watermark_table_to_include_.py
58
+ ├── cb876bd3ff47_added_watermark_model.py
59
+ └── d5885c4539c2_updated_watermark_table.py
60
60
  ```
61
61
 
62
62
  **Format**: `{auto_hash}_{description}.py` (default Alembic behavior)
@@ -18,7 +18,7 @@ This skill covers production-tested conventions for designing paginated, filtere
18
18
 
19
19
  ## Origin
20
20
 
21
- This skill derives from real production backend services handling inventory, forecasting, replenishment, and range planning data. It distills conventions observed across multiple services with large datasets (10k-1M+ records per tenant) requiring efficient pagination, multi-dimensional filtering, and flexible sorting.
21
+ This skill derives from real production backend services handling inventory, forecasting, and order data. It distills conventions observed across multiple services with large datasets (10k-1M+ records per tenant) requiring efficient pagination, multi-dimensional filtering, and flexible sorting.
22
22
 
23
23
  ## Relation to other skills
24
24
 
@@ -26,7 +26,7 @@ Standardize HTTP query parameter conventions and response metadata for paginated
26
26
 
27
27
  4. **Multi-value filters via FastAPI `Query`**: For filters that accept multiple values (e.g., `status`, `store_ids`, `segment_codes`), use `Optional[List[str]] = Query(None, description="...")`. The client sends `?status=pending&status=approved` or `?status[]=pending&status[]=approved` (FastAPI accepts both). In the query builder, translate to SQL `IN` clause or `ANY(ARRAY[...])`.
28
28
 
29
- 5. **Comma-separated multi-value filters**: Some endpoints accept comma-separated values in a single param (e.g., `?articles=SKU-001,SKU-002,SKU-003`). Use `Optional[str] = Query(None)` and split by comma in the service or repository layer before building SQL. This pattern is common for legacy APIs or when the client cannot send array query params.
29
+ 5. **Comma-separated multi-value filters**: Some endpoints accept comma-separated values in a single param (e.g., `?items=ITEM-001,ITEM-002,ITEM-003`). Use `Optional[str] = Query(None)` and split by comma in the service or repository layer before building SQL. This pattern is common for legacy APIs or when the client cannot send array query params.
30
30
 
31
31
  6. **Hierarchical filters**: Product or location hierarchies (e.g., segment → family → class → brick; zone → format → state → region → city → store) use separate query params for each level. Each is optional; when provided, it narrows results to that level. Example: `?segment=BEVERAGES&family=SOFT_DRINKS&class=COLA`. Query builder applies `WHERE` clauses for each non-null filter. Some services support both singular and plural param names (`?store=...` and `?stores=...`); prefer plural for multi-value, singular for single value.
32
32
 
@@ -36,9 +36,9 @@ Standardize HTTP query parameter conventions and response metadata for paginated
36
36
 
37
37
  9. **Repository layer pagination**: The repository fetches two results in parallel—`(records_data, total_count)`—via `asyncio.gather` or sequential calls. It executes the count query to get `total_count`, then executes the data query with `LIMIT/OFFSET`. Service layer constructs the response object with data + pagination metadata. For download endpoints (no pagination), omit `LIMIT/OFFSET` from the query.
38
38
 
39
- 10. **Search across multiple fields**: A single `search` query param applies a case-insensitive substring match across multiple columns. In SQL, use `WHERE (LOWER(field1) LIKE LOWER(:search) OR LOWER(field2) LIKE LOWER(:search) OR ...)` with param `%{search}%`. Some implementations use `ILIKE` (PostgreSQL) or full-text search. Common searchable fields: article codes, descriptions, store IDs, order IDs.
39
+ 10. **Search across multiple fields**: A single `search` query param applies a case-insensitive substring match across multiple columns. In SQL, use `WHERE (LOWER(field1) LIKE LOWER(:search) OR LOWER(field2) LIKE LOWER(:search) OR ...)` with param `%{search}%`. Some implementations use `ILIKE` (PostgreSQL) or full-text search. Common searchable fields: item codes, descriptions, store IDs, order IDs.
40
40
 
41
- 11. **Pydantic models for query params**: Define a `QueryParams` Pydantic model (e.g., `ReplenishmentQueryParams`, `ForecastQuery`) to encapsulate all filters, pagination, sorting, and search params. This separates route handler param extraction from business logic. The model can provide helper methods like `@property def limit(self)` to derive limit from `page_size` or compute `offset` from `page` and `page_size`.
41
+ 11. **Pydantic models for query params**: Define a `QueryParams` Pydantic model (e.g., `InventoryQueryParams`, `ForecastQuery`) to encapsulate all filters, pagination, sorting, and search params. This separates route handler param extraction from business logic. The model can provide helper methods like `@property def limit(self)` to derive limit from `page_size` or compute `offset` from `page` and `page_size`.
42
42
 
43
43
  12. **FastAPI route handler**: Extract query params via `Query()` for primitive types or depend on Pydantic model. Calculate `offset = (page - 1) * page_size` if needed. Call service layer with `query_params` object or individual params. Return response via `ResponseData.ok(data=..., pagination=...)` or a typed response model wrapping data + metadata.
44
44
 
@@ -175,8 +175,8 @@ class ItemQueryBuilder:
175
175
  search_param = self._add_param(f"%{search}%")
176
176
  return f"""
177
177
  AND (
178
- LOWER(article_id) LIKE LOWER({search_param})
179
- OR LOWER(article_description) LIKE LOWER({search_param})
178
+ LOWER(item_id) LIKE LOWER({search_param})
179
+ OR LOWER(item_description) LIKE LOWER({search_param})
180
180
  OR LOWER(store_id) LIKE LOWER({search_param})
181
181
  )
182
182
  """
@@ -186,7 +186,7 @@ class ItemQueryBuilder:
186
186
  sort_mapping = {
187
187
  "created_at": "created_at",
188
188
  "updated_at": "updated_at",
189
- "article": "article_id",
189
+ "item": "item_id",
190
190
  "store": "store_id",
191
191
  }
192
192
  column = sort_mapping.get(sort_by, "created_at")
@@ -284,7 +284,7 @@ async def list_items(
284
284
  sort_by: str = Query("created_at", description="Field to sort by"),
285
285
  sort_order: str = Query("desc", regex="^(asc|desc)$", description="Sort direction"),
286
286
  # Search
287
- search: Optional[str] = Query(None, description="Search across article, description, store"),
287
+ search: Optional[str] = Query(None, description="Search across item, description, store"),
288
288
  # Filters
289
289
  status: Optional[List[str]] = Query(None, description="Filter by status (multi-value)"),
290
290
  store_ids: Optional[List[str]] = Query(None, description="Filter by store IDs"),
@@ -301,7 +301,7 @@ async def list_items(
301
301
  - page_size: Records per page (1-100, default: 20)
302
302
 
303
303
  **Sorting:**
304
- - sort_by: Field to sort by (created_at, updated_at, article, store)
304
+ - sort_by: Field to sort by (created_at, updated_at, item, store)
305
305
  - sort_order: asc or desc (default: desc)
306
306
 
307
307
  **Filters:**
@@ -311,7 +311,7 @@ async def list_items(
311
311
  - family: Product family (hierarchical, requires segment)
312
312
 
313
313
  **Search:**
314
- - search: Substring match across article_id, article_description, store_id
314
+ - search: Substring match across item_id, item_description, store_id
315
315
  """
316
316
  query_params = QueryParams(
317
317
  page=page,
@@ -336,7 +336,7 @@ async def list_items(
336
336
  5. **Single-responsibility violation**: Query construction in route handlers; move SQL building to a dedicated QueryBuilder or repository method.
337
337
  6. **Zero-indexed `page` in user-facing APIs**: Users expect page 1 to be the first page; use 1-indexed `page` in API and convert to 0-indexed offset internally.
338
338
  7. **Hardcoding sort column names**: User sends `sort_by=doh` but SQL uses `days_on_hand`; maintain a sort mapping dict to translate user-facing names to column names.
339
- 8. **Ignoring case-sensitivity in search**: `WHERE article_id LIKE :search` is case-sensitive on some DBs; use `LOWER(...)` or `ILIKE` for case-insensitive search.
339
+ 8. **Ignoring case-sensitivity in search**: `WHERE item_id LIKE :search` is case-sensitive on some DBs; use `LOWER(...)` or `ILIKE` for case-insensitive search.
340
340
  9. **Fetching full result set then paginating in Python**: Always push `LIMIT/OFFSET` to SQL; paginating in-memory defeats the purpose and exhausts memory on large datasets.
341
341
  10. **Not validating `sort_order`**: Accepting arbitrary `sort_order` can inject ASC/DESC into SQL unsafely; use `regex="^(asc|desc)$"` or enum validation.
342
342
  11. **Returning inconsistent metadata field names**: `total` vs `total_records`, `limit` vs `page_size`, `next` vs `has_next`; standardize on one naming convention per service.
@@ -86,16 +86,16 @@ WHERE store_id = ANY($2)
86
86
  Legacy or client-constrained APIs:
87
87
 
88
88
  ```python
89
- articles: Optional[str] = Query(None, description="Comma-separated article codes")
89
+ items: Optional[str] = Query(None, description="Comma-separated item codes")
90
90
  ```
91
91
 
92
92
  Split in service/repository:
93
93
  ```python
94
- article_list = articles.split(',') if articles else []
95
- # Then use in SQL: WHERE article_id = ANY($1)
94
+ item_list = items.split(',') if items else []
95
+ # Then use in SQL: WHERE item_id = ANY($1)
96
96
  ```
97
97
 
98
- Example: `?articles=SKU-001,SKU-002,SKU-003`
98
+ Example: `?items=ITEM-001,ITEM-002,ITEM-003`
99
99
 
100
100
  ## Hierarchical filters
101
101
 
@@ -172,14 +172,14 @@ query = f"ORDER BY {column} {sort_order.upper()}"
172
172
  Single search param for multi-field substring matching:
173
173
 
174
174
  ```python
175
- search: Optional[str] = Query(None, description="Search text across article, description, store")
175
+ search: Optional[str] = Query(None, description="Search text across item, description, store")
176
176
  ```
177
177
 
178
178
  Translate to case-insensitive SQL:
179
179
  ```sql
180
180
  WHERE (
181
- LOWER(article_id) LIKE LOWER($1)
182
- OR LOWER(article_description) LIKE LOWER($1)
181
+ LOWER(item_id) LIKE LOWER($1)
182
+ OR LOWER(item_description) LIKE LOWER($1)
183
183
  OR LOWER(store_id) LIKE LOWER($1)
184
184
  )
185
185
  ```
@@ -189,8 +189,8 @@ Param value: `f"%{search}%"`
189
189
  Some implementations use PostgreSQL `ILIKE`:
190
190
  ```sql
191
191
  WHERE (
192
- article_id ILIKE $1
193
- OR article_description ILIKE $1
192
+ item_id ILIKE $1
193
+ OR item_description ILIKE $1
194
194
  )
195
195
  ```
196
196