claude-code-kit 0.26.1__tar.gz → 0.28.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 (522) hide show
  1. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/CHANGELOG.md +45 -0
  4. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/PKG-INFO +19 -11
  5. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/README.md +18 -10
  6. claude_code_kit-0.28.0/docs/capture-a-real-run.md +77 -0
  7. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/pyproject.toml +1 -1
  8. claude_code_kit-0.28.0/scripts/capture-sdlc-run.sh +161 -0
  9. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/scripts/check_docs_consistency.py +7 -2
  10. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/__init__.py +1 -1
  11. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/upgrader.py +8 -3
  12. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/validator.py +50 -11
  13. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/.gitignore +0 -0
  14. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/CLAUDE.md +0 -0
  15. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/CONTRIBUTING.md +0 -0
  16. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/LICENSE +0 -0
  17. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/acceptance-reviewer.md +0 -0
  18. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/auditor.md +0 -0
  19. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/dependency-scanner.md +0 -0
  20. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/developer.md +0 -0
  21. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/devils-advocate.md +0 -0
  22. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/devops-engineer.md +0 -0
  23. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/e2e-tester.md +0 -0
  24. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/em-reviewer.md +0 -0
  25. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/incident-responder.md +0 -0
  26. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/merge-reviewer.md +0 -0
  27. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/observability-engineer.md +0 -0
  28. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/orchestrator.md +0 -0
  29. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/owasp-reviewer.md +0 -0
  30. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/policy-validator.md +0 -0
  31. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/pr-raiser.md +0 -0
  32. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/risk-classifier.md +0 -0
  33. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/sdlc-code-reviewer.md +0 -0
  34. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/secret-scanner.md +0 -0
  35. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/security-reviewer.md +0 -0
  36. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/senior-backend-dev.md +0 -0
  37. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/senior-frontend-dev.md +0 -0
  38. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/senior-tester.md +0 -0
  39. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/spec-doc-writer.md +0 -0
  40. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/story-planner.md +0 -0
  41. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/technical-architect.md +0 -0
  42. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/tester.md +0 -0
  43. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/ui-designer.md +0 -0
  44. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/agents/unit-tester.md +0 -0
  45. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/catalog/capture.yaml +0 -0
  46. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/catalog/mcp.yaml +0 -0
  47. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/catalog/org.yaml +0 -0
  48. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/catalog/profiles.yaml +0 -0
  49. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/catalog/stacks.yaml +0 -0
  50. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/commands/abort.md +0 -0
  51. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/commands/init.md +0 -0
  52. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/commands/sdlc.md +0 -0
  53. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/commands/status.md +0 -0
  54. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/agentic-patterns.md +0 -0
  55. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/agents.md +0 -0
  56. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/architecture.md +0 -0
  57. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/coverage-audit.md +0 -0
  58. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/eval-harness.md +0 -0
  59. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/org-capabilities.md +0 -0
  60. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
  61. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/stack-skills/README.md +0 -0
  62. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
  63. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/hooks.json +0 -0
  64. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/audit-log.sh +0 -0
  65. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/capture-learnings.sh +0 -0
  66. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/guard-destructive-git.sh +0 -0
  67. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
  68. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/guard-secrets.sh +0 -0
  69. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/lint-fix.sh +0 -0
  70. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/load-autonomy.sh +0 -0
  71. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/load-continuity.sh +0 -0
  72. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/load-learnings.sh +0 -0
  73. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/type-check.sh +0 -0
  74. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/validate-frontmatter.sh +0 -0
  75. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/validate-settings.sh +0 -0
  76. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/warn-large-edits.sh +0 -0
  77. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/warn-llm-io.sh +0 -0
  78. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/warn-missing-tests.sh +0 -0
  79. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
  80. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/hooks/scripts/warn-shared-modules.sh +0 -0
  81. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/agent-guardrails.md +0 -0
  82. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/agent-memory.md +0 -0
  83. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/agent-resilience.md +0 -0
  84. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/autonomy-levels.md +0 -0
  85. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/code-organization.md +0 -0
  86. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/continuity.md +0 -0
  87. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/design-patterns.md +0 -0
  88. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/devops-observability.md +0 -0
  89. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/documentation.md +0 -0
  90. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/evals.md +0 -0
  91. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/frontend-best-practices.md +0 -0
  92. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/goal-setting-and-monitoring.md +0 -0
  93. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/human-in-the-loop.md +0 -0
  94. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/linting-and-formatting.md +0 -0
  95. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/mandatory-workflow.md +0 -0
  96. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/model-tiers.md +0 -0
  97. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/quality-gates.md +0 -0
  98. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/rarv-cycle.md +0 -0
  99. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/reasoning-techniques.md +0 -0
  100. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/responsive-and-accessibility.md +0 -0
  101. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/risk-classification.md +0 -0
  102. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/testing.md +0 -0
  103. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/rules/tool-design.md +0 -0
  104. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/scripts/gen_hooks.py +0 -0
  105. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/scripts/init.sh +0 -0
  106. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/_references/accessibility-checklist.md +0 -0
  107. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/_references/orchestration-patterns.md +0 -0
  108. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/_references/performance-checklist.md +0 -0
  109. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/_references/security-checklist.md +0 -0
  110. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/_references/testing-patterns.md +0 -0
  111. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/accessibility-review/SKILL.md +0 -0
  112. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/alembic-migrations/README.md +0 -0
  113. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/alembic-migrations/SKILL.md +0 -0
  114. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
  115. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
  116. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
  117. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
  118. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
  119. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/README.md +0 -0
  120. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
  121. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
  122. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
  123. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
  124. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/api-and-interface-design/SKILL.md +0 -0
  125. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/api-integration/SKILL.md +0 -0
  126. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
  127. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
  128. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
  129. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
  130. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
  131. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/archive-sprint/SKILL.md +0 -0
  132. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/async-python-patterns/README.md +0 -0
  133. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/async-python-patterns/SKILL.md +0 -0
  134. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
  135. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
  136. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
  137. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/auth-and-rbac/README.md +0 -0
  138. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/auth-and-rbac/SKILL.md +0 -0
  139. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
  140. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
  141. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
  142. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
  143. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
  144. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/README.md +0 -0
  145. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/SKILL.md +0 -0
  146. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
  147. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
  148. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
  149. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
  150. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
  151. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backlog/SKILL.md +0 -0
  152. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/backlog/item-template.md +0 -0
  153. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  154. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/bug-hunt/SKILL.md +0 -0
  155. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
  156. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/code-review-and-quality/SKILL.md +0 -0
  157. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/code-simplification/SKILL.md +0 -0
  158. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/component-design/SKILL.md +0 -0
  159. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
  160. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
  161. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
  162. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
  163. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
  164. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/consolidate-learnings/SKILL.md +0 -0
  165. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/README.md +0 -0
  166. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/SKILL.md +0 -0
  167. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
  168. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
  169. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
  170. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
  171. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
  172. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
  173. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/context-engineering/SKILL.md +0 -0
  174. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
  175. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
  176. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
  177. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
  178. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
  179. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
  180. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
  181. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
  182. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
  183. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
  184. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
  185. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
  186. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
  187. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  188. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/decision/SKILL.md +0 -0
  189. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/decision/adr-template.md +0 -0
  190. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/deprecation-and-migration/SKILL.md +0 -0
  191. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/README.md +0 -0
  192. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
  193. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
  194. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
  195. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
  196. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
  197. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
  198. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
  199. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-compose/README.md +0 -0
  200. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-compose/SKILL.md +0 -0
  201. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
  202. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
  203. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-compose/references/repo-evidence.md +0 -0
  204. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-shared/README.md +0 -0
  205. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-shared/SKILL.md +0 -0
  206. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
  207. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-shared/references/repo-evidence.md +0 -0
  208. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-shared/references/shared-base-images.md +0 -0
  209. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
  210. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-backend/README.md +0 -0
  211. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-backend/SKILL.md +0 -0
  212. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
  213. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
  214. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
  215. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/README.md +0 -0
  216. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/SKILL.md +0 -0
  217. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
  218. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
  219. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
  220. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/documentation-and-adrs/SKILL.md +0 -0
  221. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/doubt-driven-development/SKILL.md +0 -0
  222. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
  223. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
  224. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
  225. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
  226. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/execute/SKILL.md +0 -0
  227. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/README.md +0 -0
  228. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
  229. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
  230. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
  231. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
  232. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
  233. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
  234. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
  235. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/README.md +0 -0
  236. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/SKILL.md +0 -0
  237. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
  238. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
  239. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
  240. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/README.md +0 -0
  241. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
  242. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
  243. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
  244. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
  245. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
  246. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
  247. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
  248. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
  249. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
  250. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
  251. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
  252. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
  253. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/README.md +0 -0
  254. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
  255. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
  256. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
  257. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
  258. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  259. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
  260. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
  261. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
  262. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
  263. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
  264. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
  265. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
  266. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/graphql-patterns/README.md +0 -0
  267. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/graphql-patterns/SKILL.md +0 -0
  268. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
  269. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
  270. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
  271. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
  272. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
  273. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/idea-refine/SKILL.md +0 -0
  274. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/idea-refine/examples.md +0 -0
  275. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/idea-refine/frameworks.md +0 -0
  276. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/idea-refine/refinement-criteria.md +0 -0
  277. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  278. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/incident-postmortem/SKILL.md +0 -0
  279. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/incremental-implementation/SKILL.md +0 -0
  280. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/interview-me/SKILL.md +0 -0
  281. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kafka-config-driven/README.md +0 -0
  282. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kafka-config-driven/SKILL.md +0 -0
  283. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
  284. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
  285. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
  286. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
  287. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubectl-operations/README.md +0 -0
  288. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubectl-operations/SKILL.md +0 -0
  289. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/command-reference.md +0 -0
  290. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
  291. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
  292. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
  293. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
  294. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/README.md +0 -0
  295. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
  296. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
  297. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
  298. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
  299. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/README.md +0 -0
  300. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
  301. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
  302. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
  303. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
  304. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/load-testing/SKILL.md +0 -0
  305. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/manual-test/SKILL.md +0 -0
  306. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/modernization-and-migration/README.md +0 -0
  307. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/modernization-and-migration/SKILL.md +0 -0
  308. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
  309. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
  310. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
  311. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
  312. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
  313. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/README.md +0 -0
  314. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
  315. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
  316. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
  317. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
  318. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
  319. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-express-service/README.md +0 -0
  320. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-express-service/SKILL.md +0 -0
  321. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
  322. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
  323. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
  324. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-express-service/references/repo-evidence.md +0 -0
  325. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-objection-knex/README.md +0 -0
  326. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-objection-knex/SKILL.md +0 -0
  327. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
  328. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
  329. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
  330. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/README.md +0 -0
  331. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/SKILL.md +0 -0
  332. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
  333. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
  334. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
  335. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/README.md +0 -0
  336. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/SKILL.md +0 -0
  337. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
  338. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
  339. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
  340. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
  341. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
  342. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
  343. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/over-engineering-review/SKILL.md +0 -0
  344. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/performance-optimization/SKILL.md +0 -0
  345. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
  346. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/playwright-verification/SKILL.md +0 -0
  347. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/README.md +0 -0
  348. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
  349. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
  350. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
  351. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
  352. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
  353. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/README.md +0 -0
  354. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/SKILL.md +0 -0
  355. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
  356. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
  357. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
  358. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
  359. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
  360. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
  361. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
  362. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
  363. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
  364. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
  365. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
  366. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
  367. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
  368. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
  369. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
  370. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
  371. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/README.md +0 -0
  372. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/SKILL.md +0 -0
  373. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
  374. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
  375. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
  376. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/refresh-docs/SKILL.md +0 -0
  377. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/remember/SKILL.md +0 -0
  378. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/scope/SKILL.md +0 -0
  379. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/scope/scope-template.md +0 -0
  380. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/sdlc/SKILL.md +0 -0
  381. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/security-and-hardening/SKILL.md +0 -0
  382. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/security-verification/SKILL.md +0 -0
  383. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/shannon-ai-pentest/README.md +0 -0
  384. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
  385. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
  386. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/shipping-and-launch/SKILL.md +0 -0
  387. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/simplification-debt/SKILL.md +0 -0
  388. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/smoke-test/SKILL.md +0 -0
  389. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/source-driven-development/SKILL.md +0 -0
  390. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/spec-driven-development/SKILL.md +0 -0
  391. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/sprint/SKILL.md +0 -0
  392. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/sprint/sprint-template.md +0 -0
  393. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/README.md +0 -0
  394. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
  395. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
  396. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
  397. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
  398. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/task-tracker-sync/SKILL.md +0 -0
  399. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/README.md +0 -0
  400. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/SKILL.md +0 -0
  401. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
  402. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
  403. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
  404. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
  405. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
  406. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
  407. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/test-driven-development/SKILL.md +0 -0
  408. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/test-plan-review/SKILL.md +0 -0
  409. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/README.md +0 -0
  410. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/SKILL.md +0 -0
  411. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
  412. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
  413. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
  414. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
  415. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
  416. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
  417. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
  418. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
  419. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/threat-model/SKILL.md +0 -0
  420. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/triage/SKILL.md +0 -0
  421. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/ui-ux-design/SKILL.md +0 -0
  422. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/unit-test/SKILL.md +0 -0
  423. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/using-agent-skills/SKILL.md +0 -0
  424. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
  425. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
  426. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
  427. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
  428. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
  429. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/README.md +0 -0
  430. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
  431. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
  432. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
  433. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
  434. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
  435. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/README.md +0 -0
  436. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/SKILL.md +0 -0
  437. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
  438. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
  439. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
  440. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/__main__.py +0 -0
  441. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/catalog.py +0 -0
  442. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/cli.py +0 -0
  443. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/hooks.py +0 -0
  444. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/models.py +0 -0
  445. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/pipeline.py +0 -0
  446. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/prompts.py +0 -0
  447. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/render.py +0 -0
  448. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/src/claude_kit/scaffold.py +0 -0
  449. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/CLAUDE.md +0 -0
  450. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/CLAUDE.stack.md.tmpl +0 -0
  451. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/CONTINUITY.template.md +0 -0
  452. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/README.claude-sdlc.md.tmpl +0 -0
  453. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/agent-memory/MEMORY.md +0 -0
  454. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/agent-memory/api/.gitkeep +0 -0
  455. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/agent-memory/architecture/.gitkeep +0 -0
  456. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/agent-memory/debugging/.gitkeep +0 -0
  457. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
  458. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/agent-memory/patterns/.gitkeep +0 -0
  459. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/agent-memory/performance/.gitkeep +0 -0
  460. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/artifacts/adr.md +0 -0
  461. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/artifacts/api-change-report.md +0 -0
  462. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/artifacts/feature-spec.md +0 -0
  463. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/artifacts/release-plan.md +0 -0
  464. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/artifacts/runbook.md +0 -0
  465. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/artifacts/security-review.md +0 -0
  466. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/artifacts/test-plan.md +0 -0
  467. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/README.md +0 -0
  468. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/agents/data-workflow-agent.md +0 -0
  469. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/agents/founder-prototype-agent.md +0 -0
  470. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/agents/internal-tools-builder.md +0 -0
  471. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/agents/pm-copilot.md +0 -0
  472. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
  473. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/agents/support-ticket-engineer.md +0 -0
  474. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/devops-and-release/README.md +0 -0
  475. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  476. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/engineering-core/README.md +0 -0
  477. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
  478. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
  479. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  480. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  481. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  482. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/product-to-code/README.md +0 -0
  483. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
  484. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/quality-and-review/README.md +0 -0
  485. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  486. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/security-and-compliance/README.md +0 -0
  487. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  488. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/ai-working-agreement.md +0 -0
  489. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/ambiguity-resolution.md +0 -0
  490. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
  491. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/compliance-policy.md +0 -0
  492. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  493. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/pii-policy.md +0 -0
  494. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/production-data-policy.md +0 -0
  495. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  496. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/prototype-boundaries.md +0 -0
  497. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/rules/secrets-policy.md +0 -0
  498. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  499. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  500. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  501. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  502. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  503. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/review-scope/SKILL.md +0 -0
  504. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
  505. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
  506. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
  507. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/settings.json +0 -0
  508. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
  509. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  510. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  511. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  512. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  513. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  514. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  515. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  516. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  517. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  518. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
  519. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
  520. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
  521. {claude_code_kit-0.26.1 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
  522. {claude_code_kit-0.26.1 → claude_code_kit-0.28.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.26.1",
13
+ "version": "0.28.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.26.1",
3
+ "version": "0.28.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,51 @@ 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.28.0] — 2026-06-24
8
+
9
+ **Positioning & onboarding pass (docs): surface the anti-fabrication moat, compare against native
10
+ subagents, and ship a real-run capture harness. No behavior change.**
11
+
12
+ ### Added
13
+ - **`scripts/capture-sdlc-run.sh` + [`docs/capture-a-real-run.md`](docs/capture-a-real-run.md).** A
14
+ read-only helper that bundles one completed `/sdlc` run — the spec (`docs/specs/`), the gitignored
15
+ gate state (`.claude/state/pipeline-snapshot.json`), the verdict log (`.claude/CONTINUITY.md`), and
16
+ the diff vs your base branch — into one publishable folder. It runs a generic secret scan (lists
17
+ matching **file names only**, never values) and writes a manual `REDACTION-CHECKLIST.md`, so a real
18
+ run can become a worked example without hand-collecting files.
19
+ - **"Native Claude Code subagents / Agent Teams" comparison row** in the README — the alternative
20
+ every Claude Code user weighs first. Honest framing: native gives you the agents; claude-kit adds
21
+ the *governance* (sequenced pipeline, owned gates, evidence requirement, `devils-advocate`, resume).
22
+
23
+ ### Changed
24
+ - **The anti-fabrication evidence requirement is now the headline trust idea.** "How it works" leads
25
+ with *"Evidence or it didn't happen"* — every gate verdict must cite the command + captured output
26
+ (or `file:line`), and an invented/assumed/partial-output verdict is an auto-Critical finding
27
+ (`rules/quality-gates.md` §2.5). The top-of-README tagline now states gates pass only on real,
28
+ cited output. (The rule itself is unchanged; it was previously only implied via RARV.)
29
+
30
+ ## [0.27.0] — 2026-06-24
31
+
32
+ **Objective fixes from a product review: honest skill counts (with a guard), drift-aware
33
+ `doctor`/`validate`, and a distinct corrupt-vs-missing manifest signal.**
34
+
35
+ ### Added
36
+ - **`validate`/`doctor` now surface kit-owned drift.** They already verified that every tracked file
37
+ is *present*; they now also compare each kit/overlay file's live SHA-256 against the install
38
+ manifest and emit `N kit-owned file(s) modified since install … run claude-kit diff` (a WARN, never
39
+ a FAIL — edits to user-editable files are not flagged). The manifest data already existed; only
40
+ `diff`/`upgrade` consulted it before.
41
+
42
+ ### Changed
43
+ - **Honest skill counts.** The README advertised "51 skills" — the count of *core* skills only, while
44
+ the repo ships **96** (51 stack-agnostic core + 45 stack-collection). All three occurrences now read
45
+ "96 … (51 core + 45 stack-collection)", and `check_docs_consistency.py` pins the headline total
46
+ **and** both halves to the filesystem so the number can't silently drift again.
47
+ - **Corrupt vs missing `init-options.json` are now distinct signals.** A missing manifest stays a WARN
48
+ ("validate/upgrade limited"); a *corrupt* one is a FAIL ("unreadable … repair the JSON or re-run
49
+ `claude-kit init --force`") in `validate`, `doctor`, `diff`, and `upgrade` — matching how the kit
50
+ already reports a malformed `settings.json`/`.mcp.json`.
51
+
7
52
  ## [0.26.1] — 2026-06-24
8
53
 
9
54
  **A second strict practical review (installed and exercised end-to-end) surfaced seven papercuts on
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-kit
3
- Version: 0.26.1
3
+ Version: 0.28.0
4
4
  Summary: Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.
5
5
  Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
6
6
  Project-URL: Repository, https://github.com/ajyadav013/claude-kit
@@ -34,8 +34,9 @@ Description-Content-Type: text/markdown
34
34
 
35
35
  **A Cookiecutter-style scaffolder for an autonomous SDLC (software-delivery lifecycle) inside [Claude Code](https://www.claude.com/product/claude-code).**
36
36
 
37
- One command turns a one-line request into reviewed, tested, secured, shippable code —
38
- with a quality gate between every phase. **No application code. No Docker. Configuration only.**
37
+ One command turns a one-line request into reviewed, tested, secured, shippable code — with a
38
+ quality gate between every phase. Each gate passes only on *real, cited command output* — never an
39
+ assumed or fabricated "it works." **No application code. No Docker. Configuration only.**
39
40
 
40
41
  [![PyPI](https://img.shields.io/pypi/v/claude-code-kit.svg)](https://pypi.org/project/claude-code-kit/)
41
42
  [![Python](https://img.shields.io/pypi/pyversions/claude-code-kit.svg)](https://pypi.org/project/claude-code-kit/)
@@ -81,7 +82,7 @@ Quick start) for the full breakdown of any row.
81
82
  | 🔁 **Pipeline & quality gates** | Gate-enforced progression (zero open Critical/High/Medium to advance), per-profile gate sets, a fast-track for small changes, and an anti-sycophancy `devils-advocate` pass |
82
83
  | 🤖 **Agent roster** | **28** tiered agents + per-database overlays + **6** org personas, led by an Orchestrator that never writes code |
83
84
  | 🔍 **Self-verification & review** | RARV green-Verify (real commands, not imagined), blind parallel review, and read-only risk classification |
84
- | 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **51** context-activated skills |
85
+ | 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **96** context-activated skills (51 core + 45 stack-collection) |
85
86
  | 🧱 **Stacks & overlays** | Stack-agnostic core + **10** overlay rule sets (React · FastAPI · Go · Postgres · Mongo) wired to your exact commands, incl. a full React design system |
86
87
  | 🎚️ **Profiles, scopes & org** | **3** rigor profiles · **3** scopes · **5** autonomy levels · **7** org packs + **10** policy rules |
87
88
  | 🧠 **Memory & learning** | Working memory across context compaction + a cost-aware learnings loop (`capture_mode`) so the same mistake isn't repeated |
@@ -258,7 +259,7 @@ need.
258
259
  - **23 stack-agnostic core rules** in [`rules/`](rules/) — `mandatory-workflow`, `quality-gates`,
259
260
  `rarv-cycle`, `continuity`, plus eight agent-operation rules and `autonomy-levels` +
260
261
  `risk-classification` (see [`docs/agentic-patterns.md`](docs/agentic-patterns.md)).
261
- - **51 on-demand skills** in [`skills/`](skills/) — spec-driven dev, planning, TDD, debugging, code
262
+ - **96 on-demand skills** in [`skills/`](skills/) (51 core + 45 stack-collection) — spec-driven dev, planning, TDD, debugging, code
262
263
  review, threat modeling, and more — activated by context and led by the `sdlc` entrypoint.
263
264
  - **Profile-subset install** — each profile installs a strict subset of agents, skills, hooks, and
264
265
  rules (`lean ⊂ standard ⊂ enterprise`), from fast track to full audit.
@@ -381,14 +382,19 @@ flowchart LR
381
382
  PROJ --> RUN(["/sdlc — autonomous SDLC active"])
382
383
  ```
383
384
 
384
- Three ideas do the heavy lifting:
385
+ Four ideas do the heavy lifting:
385
386
 
386
- 1. **Quality gates with a shared severity model.** Every finding is classified
387
+ 1. **Evidence or it didn't happen.** Every gate verdict — PASS or FAIL — must cite the command that
388
+ ran and its captured output (or the `file:line` it rests on). A verdict that's invented, assumed,
389
+ or read off still-running work is an **auto-Critical finding** — the same severity as a hardcoded
390
+ secret — and it fails every downstream gate that trusted it
391
+ ([`quality-gates.md` §2.5](rules/quality-gates.md)).
392
+ 2. **Quality gates with a shared severity model.** Every finding is classified
387
393
  Critical / High / Medium / Low / Cosmetic. A gate passes **only** with zero Critical/High/Medium
388
394
  open. No silent advancement.
389
- 2. **RARV self-check.** Every agent runs **R**eason → **A**ct → **R**eflect → **V**erify and must show
395
+ 3. **RARV self-check.** Every agent runs **R**eason → **A**ct → **R**eflect → **V**erify and must show
390
396
  a *green Verify* (real commands run, not imagined) before handing off.
391
- 3. **Blind review + Devil's Advocate.** Parallel reviewers judge independently; a *unanimous* PASS is
397
+ 4. **Blind review + Devil's Advocate.** Parallel reviewers judge independently; a *unanimous* PASS is
392
398
  treated as suspicious and triggers an adversarial `devils-advocate` pass before the gate may close —
393
399
  an explicit guard against agents rubber-stamping each other.
394
400
 
@@ -428,7 +434,8 @@ is inert for non-API projects. Organization scope at `regulated` strictness adds
428
434
  Code Reviewer → Tester → PR.
429
435
 
430
436
  See [`examples/`](examples/) for a synthetic end-to-end walkthrough — request → spec → story breakdown
431
- → gate verdicts (with one defect-loop cycle) → sample PR diff.
437
+ → gate verdicts (with one defect-loop cycle) → sample PR diff. To capture *your own* real run as a
438
+ publishable, redaction-scrubbed bundle, see [`docs/capture-a-real-run.md`](docs/capture-a-real-run.md).
432
439
 
433
440
  ---
434
441
 
@@ -493,10 +500,11 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
493
500
 
494
501
  | Project | What it is | How claude-kit differs |
495
502
  |---|---|---|
503
+ | **Native Claude Code subagents / Agent Teams** | Spawn parallel agents on demand; you define the workflow, gates, and verification yourself each time | claude-kit is the **opinionated layer on top** of exactly that capability: a fixed, sequenced pipeline with **owned quality gates** (block on any open Critical/High/Medium), an **evidence requirement** (no fabricated verdicts — `quality-gates.md` §2.5), a `devils-advocate` anti-rubber-stamp pass, and **structured resume** from `.claude/state/pipeline-snapshot.json`. Native gives you the agents; claude-kit gives you the governance. |
496
504
  | **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
497
505
  | **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
498
506
  | **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
499
- | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, 28 agents, 51 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
507
+ | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, 28 agents, 96 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
500
508
 
501
509
  **Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
502
510
  that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
@@ -4,8 +4,9 @@
4
4
 
5
5
  **A Cookiecutter-style scaffolder for an autonomous SDLC (software-delivery lifecycle) inside [Claude Code](https://www.claude.com/product/claude-code).**
6
6
 
7
- One command turns a one-line request into reviewed, tested, secured, shippable code —
8
- with a quality gate between every phase. **No application code. No Docker. Configuration only.**
7
+ One command turns a one-line request into reviewed, tested, secured, shippable code — with a
8
+ quality gate between every phase. Each gate passes only on *real, cited command output* — never an
9
+ assumed or fabricated "it works." **No application code. No Docker. Configuration only.**
9
10
 
10
11
  [![PyPI](https://img.shields.io/pypi/v/claude-code-kit.svg)](https://pypi.org/project/claude-code-kit/)
11
12
  [![Python](https://img.shields.io/pypi/pyversions/claude-code-kit.svg)](https://pypi.org/project/claude-code-kit/)
@@ -51,7 +52,7 @@ Quick start) for the full breakdown of any row.
51
52
  | 🔁 **Pipeline & quality gates** | Gate-enforced progression (zero open Critical/High/Medium to advance), per-profile gate sets, a fast-track for small changes, and an anti-sycophancy `devils-advocate` pass |
52
53
  | 🤖 **Agent roster** | **28** tiered agents + per-database overlays + **6** org personas, led by an Orchestrator that never writes code |
53
54
  | 🔍 **Self-verification & review** | RARV green-Verify (real commands, not imagined), blind parallel review, and read-only risk classification |
54
- | 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **51** context-activated skills |
55
+ | 📐 **Rules & skills** | **23** stack-agnostic core rules (incl. 8 agent-operation rules) + **96** context-activated skills (51 core + 45 stack-collection) |
55
56
  | 🧱 **Stacks & overlays** | Stack-agnostic core + **10** overlay rule sets (React · FastAPI · Go · Postgres · Mongo) wired to your exact commands, incl. a full React design system |
56
57
  | 🎚️ **Profiles, scopes & org** | **3** rigor profiles · **3** scopes · **5** autonomy levels · **7** org packs + **10** policy rules |
57
58
  | 🧠 **Memory & learning** | Working memory across context compaction + a cost-aware learnings loop (`capture_mode`) so the same mistake isn't repeated |
@@ -228,7 +229,7 @@ need.
228
229
  - **23 stack-agnostic core rules** in [`rules/`](rules/) — `mandatory-workflow`, `quality-gates`,
229
230
  `rarv-cycle`, `continuity`, plus eight agent-operation rules and `autonomy-levels` +
230
231
  `risk-classification` (see [`docs/agentic-patterns.md`](docs/agentic-patterns.md)).
231
- - **51 on-demand skills** in [`skills/`](skills/) — spec-driven dev, planning, TDD, debugging, code
232
+ - **96 on-demand skills** in [`skills/`](skills/) (51 core + 45 stack-collection) — spec-driven dev, planning, TDD, debugging, code
232
233
  review, threat modeling, and more — activated by context and led by the `sdlc` entrypoint.
233
234
  - **Profile-subset install** — each profile installs a strict subset of agents, skills, hooks, and
234
235
  rules (`lean ⊂ standard ⊂ enterprise`), from fast track to full audit.
@@ -351,14 +352,19 @@ flowchart LR
351
352
  PROJ --> RUN(["/sdlc — autonomous SDLC active"])
352
353
  ```
353
354
 
354
- Three ideas do the heavy lifting:
355
+ Four ideas do the heavy lifting:
355
356
 
356
- 1. **Quality gates with a shared severity model.** Every finding is classified
357
+ 1. **Evidence or it didn't happen.** Every gate verdict — PASS or FAIL — must cite the command that
358
+ ran and its captured output (or the `file:line` it rests on). A verdict that's invented, assumed,
359
+ or read off still-running work is an **auto-Critical finding** — the same severity as a hardcoded
360
+ secret — and it fails every downstream gate that trusted it
361
+ ([`quality-gates.md` §2.5](rules/quality-gates.md)).
362
+ 2. **Quality gates with a shared severity model.** Every finding is classified
357
363
  Critical / High / Medium / Low / Cosmetic. A gate passes **only** with zero Critical/High/Medium
358
364
  open. No silent advancement.
359
- 2. **RARV self-check.** Every agent runs **R**eason → **A**ct → **R**eflect → **V**erify and must show
365
+ 3. **RARV self-check.** Every agent runs **R**eason → **A**ct → **R**eflect → **V**erify and must show
360
366
  a *green Verify* (real commands run, not imagined) before handing off.
361
- 3. **Blind review + Devil's Advocate.** Parallel reviewers judge independently; a *unanimous* PASS is
367
+ 4. **Blind review + Devil's Advocate.** Parallel reviewers judge independently; a *unanimous* PASS is
362
368
  treated as suspicious and triggers an adversarial `devils-advocate` pass before the gate may close —
363
369
  an explicit guard against agents rubber-stamping each other.
364
370
 
@@ -398,7 +404,8 @@ is inert for non-API projects. Organization scope at `regulated` strictness adds
398
404
  Code Reviewer → Tester → PR.
399
405
 
400
406
  See [`examples/`](examples/) for a synthetic end-to-end walkthrough — request → spec → story breakdown
401
- → gate verdicts (with one defect-loop cycle) → sample PR diff.
407
+ → gate verdicts (with one defect-loop cycle) → sample PR diff. To capture *your own* real run as a
408
+ publishable, redaction-scrubbed bundle, see [`docs/capture-a-real-run.md`](docs/capture-a-real-run.md).
402
409
 
403
410
  ---
404
411
 
@@ -463,10 +470,11 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
463
470
 
464
471
  | Project | What it is | How claude-kit differs |
465
472
  |---|---|---|
473
+ | **Native Claude Code subagents / Agent Teams** | Spawn parallel agents on demand; you define the workflow, gates, and verification yourself each time | claude-kit is the **opinionated layer on top** of exactly that capability: a fixed, sequenced pipeline with **owned quality gates** (block on any open Critical/High/Medium), an **evidence requirement** (no fabricated verdicts — `quality-gates.md` §2.5), a `devils-advocate` anti-rubber-stamp pass, and **structured resume** from `.claude/state/pipeline-snapshot.json`. Native gives you the agents; claude-kit gives you the governance. |
466
474
  | **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
467
475
  | **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
468
476
  | **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
469
- | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, 28 agents, 51 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
477
+ | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, 28 agents, 96 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
470
478
 
471
479
  **Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
472
480
  that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
@@ -0,0 +1,77 @@
1
+ # Capture a real `/sdlc` run
2
+
3
+ The repo ships a **synthetic** worked example under [`examples/`](../examples/) — useful, but
4
+ hand-written. The most convincing evidence is *your own* run: a real request that flowed through the
5
+ pipeline, with the real spec, real gate verdicts, and the real diff it produced. This guide turns one
6
+ completed run into a publishable, redaction-scrubbed bundle.
7
+
8
+ > **You run this — not the kit.** `/sdlc` is interactive (it runs inside Claude Code). The script here
9
+ > only *collects and scrubs* what a finished run left behind; it never drives the pipeline and never
10
+ > edits your project.
11
+
12
+ ## Where a run leaves its evidence
13
+
14
+ A `/sdlc` run scatters its artifacts on purpose — two of the four are gitignored runtime state, so
15
+ they never show up in a normal `git diff`:
16
+
17
+ | Artifact | Location | Tracked? |
18
+ |---|---|---|
19
+ | Feature spec | `docs/specs/<feature>_spec.md` | committed |
20
+ | Gate state (last gate passed, open findings by severity, evidence, overrides) | `.claude/state/pipeline-snapshot.json` | gitignored runtime state |
21
+ | Verdict log / phase history | `.claude/CONTINUITY.md` | gitignored runtime state |
22
+ | Install snapshot (profile + resolved gate set) | `.claude/config/stack-catalog.snapshot.yaml` | committed |
23
+ | The code itself + the PR | git history (`diff` vs your base branch) | committed |
24
+
25
+ ## Steps
26
+
27
+ 1. **Run a real task to completion** in a project that has claude-kit installed:
28
+
29
+ ```text
30
+ /sdlc Add a CSV export button to the reports page
31
+ ```
32
+
33
+ Let it run through its gates. A small, real feature is more convincing than a toy.
34
+
35
+ 2. **Capture the bundle** from the project root:
36
+
37
+ ```bash
38
+ # from your project (the one with .claude/ in it):
39
+ bash /path/to/claude-kit/scripts/capture-sdlc-run.sh --base main --slug csv-export
40
+ ```
41
+
42
+ Options: `--project DIR` (capture a different checkout), `--out DIR` (choose the output folder),
43
+ `--base BRANCH` (what to diff the code against; default `main`), `--slug NAME` (label the folder).
44
+ Run with `--help` for the full list. The script is read-only against your project.
45
+
46
+ 3. **Review the secret scan.** The script lists any files matching *generic* secret shapes (private
47
+ keys, AWS/GitHub tokens, `password=`/`token=` assignments, bearer tokens). It prints **file names
48
+ only**, never the secret values. Inspect each flagged file.
49
+
50
+ 4. **Finish the redaction checklist.** Every bundle gets a `REDACTION-CHECKLIST.md`. The automated
51
+ scan cannot know *your* internal names — company, team, service, repo, host, cluster, namespace,
52
+ cloud project, customer/personal data. Replace real identifiers with neutral placeholders
53
+ (`acme`, `example.com`, `service-a`) rather than deleting them, so the run still reads as a story.
54
+
55
+ 5. **Publish what you want.** Copy the scrubbed files into [`examples/`](../examples/) (mirroring the
56
+ `01-request.md → 02-feature-spec.md → 03-story-breakdown.md → 04-gate-verdicts.md →
57
+ 05-sample-pr.diff` layout) or into a blog post / PR description. Keep a private, unscrubbed copy if
58
+ you need the originals.
59
+
60
+ ## What the bundle contains
61
+
62
+ ```text
63
+ claude-kit-run-<timestamp>-<slug>/
64
+ ├── specs/ # docs/specs/*_spec.md
65
+ ├── state/
66
+ │ ├── pipeline-snapshot.json # gate state, findings, evidence, overrides
67
+ │ └── stack-catalog.snapshot.yaml
68
+ ├── continuity.md # verdict log / phase history
69
+ ├── git/
70
+ │ ├── log.txt # recent commits
71
+ │ ├── diff.stat.txt # files changed (summary)
72
+ │ └── changes.diff # the full diff vs your base branch
73
+ └── REDACTION-CHECKLIST.md # finish this before publishing
74
+ ```
75
+
76
+ Missing files are reported, not fatal — if you point the script at a checkout where `/sdlc` hasn't run
77
+ yet, it tells you which artifacts it couldn't find.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-kit"
7
- version = "0.26.1"
7
+ version = "0.28.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"
@@ -0,0 +1,161 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # capture-sdlc-run.sh — bundle ONE completed `/sdlc` run into a publishable, redaction-scrubbed folder.
4
+ #
5
+ # A real `/sdlc` run leaves its evidence scattered across the project: the spec lands in
6
+ # `docs/specs/`, the gate state in gitignored `.claude/state/`, the verdict log in gitignored
7
+ # `.claude/CONTINUITY.md`, and the code in git itself. This script gathers those into one folder,
8
+ # runs a generic secret scan, and prints a manual-redaction checklist — so you can turn a run into
9
+ # a worked example without hand-collecting files.
10
+ #
11
+ # It is READ-ONLY against your project: it copies files out, never edits or deletes anything in place.
12
+ #
13
+ # Usage:
14
+ # scripts/capture-sdlc-run.sh [--project DIR] [--out DIR] [--base BRANCH] [--slug NAME]
15
+ #
16
+ # --project DIR Project root to capture from (default: current directory)
17
+ # --out DIR Where to write the bundle (default: ./claude-kit-run-<UTC-timestamp>)
18
+ # --base BRANCH Base branch to diff the code against (default: main)
19
+ # --slug NAME Short label folded into the default --out name
20
+ # -h, --help Show this help
21
+ #
22
+ # The bundle is NOT auto-published and NOT auto-committed. Review it, finish the redaction checklist,
23
+ # then copy what you want into `examples/` (or your own docs) yourself.
24
+
25
+ set -euo pipefail
26
+
27
+ PROJECT="."
28
+ OUT=""
29
+ BASE="main"
30
+ SLUG=""
31
+
32
+ die() { printf 'error: %s\n' "$1" >&2; exit 1; }
33
+
34
+ usage() {
35
+ sed -n '2,28p' "$0" | sed 's/^# \{0,1\}//'
36
+ exit "${1:-0}"
37
+ }
38
+
39
+ while [ $# -gt 0 ]; do
40
+ case "$1" in
41
+ --project) PROJECT="${2:-}"; shift 2 ;;
42
+ --out) OUT="${2:-}"; shift 2 ;;
43
+ --base) BASE="${2:-}"; shift 2 ;;
44
+ --slug) SLUG="${2:-}"; shift 2 ;;
45
+ -h|--help) usage 0 ;;
46
+ *) die "unknown argument: $1 (try --help)" ;;
47
+ esac
48
+ done
49
+
50
+ [ -d "$PROJECT" ] || die "project directory not found: $PROJECT"
51
+ PROJECT="$(cd "$PROJECT" && pwd)"
52
+
53
+ if [ -z "$OUT" ]; then
54
+ stamp="$(date -u +%Y%m%dT%H%M%SZ)"
55
+ if [ -n "$SLUG" ]; then
56
+ OUT="./claude-kit-run-${stamp}-${SLUG}"
57
+ else
58
+ OUT="./claude-kit-run-${stamp}"
59
+ fi
60
+ fi
61
+
62
+ mkdir -p "$OUT"
63
+ OUT="$(cd "$OUT" && pwd)"
64
+ [ "$OUT" = "$PROJECT" ] && die "--out must not be the project root itself"
65
+
66
+ printf '==> capturing /sdlc run from: %s\n' "$PROJECT"
67
+ printf '==> writing bundle to: %s\n\n' "$OUT"
68
+
69
+ missing=0
70
+
71
+ # copy_one SRC DEST_SUBPATH LABEL — copy a single file if it exists, else note it.
72
+ copy_one() {
73
+ src="$PROJECT/$1"; dest="$OUT/$2"; label="$3"
74
+ if [ -f "$src" ]; then
75
+ mkdir -p "$(dirname "$dest")"
76
+ cp "$src" "$dest"
77
+ printf ' [ok] %s\n' "$label"
78
+ else
79
+ printf ' [skip] %s (not found: %s)\n' "$label" "$1"
80
+ missing=$((missing + 1))
81
+ fi
82
+ }
83
+
84
+ # --- 1. The artifacts a run produces -----------------------------------------------------------
85
+ printf 'Collecting run artifacts:\n'
86
+ copy_one ".claude/state/pipeline-snapshot.json" "state/pipeline-snapshot.json" "pipeline snapshot (gate state, findings, evidence)"
87
+ copy_one ".claude/config/stack-catalog.snapshot.yaml" "state/stack-catalog.snapshot.yaml" "install snapshot (profile + resolved gate set)"
88
+ copy_one ".claude/CONTINUITY.md" "continuity.md" "working memory / verdict log"
89
+
90
+ # Specs (docs/specs/*_spec.md) and filled artifacts may be many — copy whatever is present.
91
+ if [ -d "$PROJECT/docs/specs" ]; then
92
+ spec_count="$(find "$PROJECT/docs/specs" -maxdepth 1 -name '*_spec.md' -type f 2>/dev/null | wc -l | tr -d ' ')"
93
+ if [ "$spec_count" != "0" ]; then
94
+ mkdir -p "$OUT/specs"
95
+ find "$PROJECT/docs/specs" -maxdepth 1 -name '*_spec.md' -type f -exec cp {} "$OUT/specs/" \;
96
+ printf ' [ok] %s spec file(s) from docs/specs/\n' "$spec_count"
97
+ else
98
+ printf ' [skip] no *_spec.md in docs/specs/\n'; missing=$((missing + 1))
99
+ fi
100
+ else
101
+ printf ' [skip] docs/specs/ (not found)\n'; missing=$((missing + 1))
102
+ fi
103
+
104
+ # --- 2. The code the run produced (git) --------------------------------------------------------
105
+ printf '\nCollecting git evidence (base = %s):\n' "$BASE"
106
+ if git -C "$PROJECT" rev-parse --git-dir >/dev/null 2>&1; then
107
+ mkdir -p "$OUT/git"
108
+ git -C "$PROJECT" log --oneline -30 > "$OUT/git/log.txt" 2>/dev/null || true
109
+ if git -C "$PROJECT" rev-parse --verify --quiet "$BASE" >/dev/null 2>&1; then
110
+ mb="$(git -C "$PROJECT" merge-base "$BASE" HEAD 2>/dev/null || true)"
111
+ if [ -n "$mb" ]; then
112
+ git -C "$PROJECT" diff --stat "$mb"..HEAD > "$OUT/git/diff.stat.txt" 2>/dev/null || true
113
+ git -C "$PROJECT" diff "$mb"..HEAD > "$OUT/git/changes.diff" 2>/dev/null || true
114
+ printf ' [ok] diff vs %s (stat + full)\n' "$BASE"
115
+ fi
116
+ else
117
+ printf ' [skip] base branch %s not found — captured git log only\n' "$BASE"
118
+ fi
119
+ else
120
+ printf ' [skip] not a git repository — no code diff captured\n'; missing=$((missing + 1))
121
+ fi
122
+
123
+ # --- 3. Generic secret scan (lists matching FILES only, never their contents) -------------------
124
+ printf '\nScanning the bundle for generic secret patterns:\n'
125
+ # Deliberately generic — org-specific names are YOUR job to scrub (see the checklist below).
126
+ patterns='-----BEGIN [A-Z ]*PRIVATE KEY-----|AKIA[0-9A-Z]{16}|ghp_[A-Za-z0-9]{30,}|xox[baprs]-[A-Za-z0-9-]{10,}|(secret|token|password|passwd|api[_-]?key)[[:space:]"'\'']*[:=][[:space:]"'\'']*[^[:space:]"'\'']+|Bearer[[:space:]]+[A-Za-z0-9._-]{16,}'
127
+ # `-e` is required: $patterns starts with "-----BEGIN", which grep would otherwise read as options.
128
+ hits="$(grep -rIlE -e "$patterns" "$OUT" 2>/dev/null || true)"
129
+ if [ -n "$hits" ]; then
130
+ printf ' [WARN] possible secrets in these files — INSPECT and scrub before publishing:\n'
131
+ printf '%s\n' "$hits" | sed 's/^/ /'
132
+ else
133
+ printf ' [ok] no generic secret patterns matched (still do the manual checklist)\n'
134
+ fi
135
+
136
+ # --- 4. Manual redaction checklist -------------------------------------------------------------
137
+ cat > "$OUT/REDACTION-CHECKLIST.md" <<'EOF'
138
+ # Redaction checklist — finish before publishing this bundle
139
+
140
+ This bundle was copied verbatim from a real project. The automated scan only catches *generic*
141
+ secret shapes. Before you publish it (e.g. into `examples/` or a blog post), manually confirm:
142
+
143
+ - [ ] No company / team / internal-service / repo / registry / cluster / namespace / project-id names
144
+ - [ ] No internal hostnames, IPs, URLs, or cloud project identifiers
145
+ - [ ] No customer / personal data in the spec, diff, or verdict log
146
+ - [ ] No secret VALUES (keys, tokens, passwords, connection strings) — the scan flags shapes, not all
147
+ - [ ] `changes.diff` reviewed line-by-line (it contains your actual source)
148
+ - [ ] `continuity.md` reviewed (it may quote commands, paths, and findings verbatim)
149
+
150
+ Tip: keep a private copy, publish a scrubbed copy. Replace real identifiers with neutral
151
+ placeholders (`acme`, `example.com`, `service-a`) rather than deleting context.
152
+ EOF
153
+ printf ' [ok] wrote REDACTION-CHECKLIST.md\n'
154
+
155
+ # --- 5. Summary --------------------------------------------------------------------------------
156
+ printf '\nDone. Bundle at:\n %s\n' "$OUT"
157
+ if [ "$missing" != "0" ]; then
158
+ printf '\nNote: %s expected item(s) were not found. If you have not run /sdlc in this project\n' "$missing"
159
+ printf 'yet, or ran it in a different directory, point --project at the right checkout.\n'
160
+ fi
161
+ printf '\nNext: complete %s/REDACTION-CHECKLIST.md, then copy what you want into examples/.\n' "$OUT"
@@ -100,6 +100,7 @@ def _actuals() -> dict[str, int]:
100
100
  return {
101
101
  "agents": len(list((ROOT / "agents").glob("*.md"))),
102
102
  "rules": len(list((ROOT / "rules").glob("*.md"))),
103
+ "skills": core + collection,
103
104
  "core skills": core,
104
105
  "collection skills": collection,
105
106
  "hook scripts": len(list((ROOT / "hooks" / "scripts").glob("*.sh"))),
@@ -120,8 +121,12 @@ _ANCHORS: list[tuple[str, str, str]] = [
120
121
  ("rules", "README.md", r"(\d+) stack-agnostic core rules"),
121
122
  ("rules", "README.md", r"(\d+) stack-agnostic contracts"),
122
123
  ("rules", "README.md", r"(\d+) engineering rules"),
123
- ("core skills", "README.md", r"\*\*(\d+)\*\* context-activated skills"),
124
- ("core skills", "README.md", r"(\d+) on-demand skills"),
124
+ # The headline skill number is the FULL catalog (core + collection); the breakdown pins each part.
125
+ ("skills", "README.md", r"\*\*(\d+)\*\* context-activated skills"),
126
+ ("skills", "README.md", r"(\d+) on-demand skills"),
127
+ ("skills", "README.md", r"(\d+) skills, gates"),
128
+ ("core skills", "README.md", r"\((\d+) core \+"),
129
+ ("collection skills", "README.md", r"\+ (\d+) stack-collection\)"),
125
130
  ("hook scripts", "README.md", r"\*\*(\d+)\*\* event hooks"),
126
131
  ("hook scripts", "README.md", r"(\d+) event hook scripts"),
127
132
  ("mcp servers", "README.md", r"\*\*(\d+)\*\* ready MCP fragments"),
@@ -7,4 +7,4 @@ Docker): ``claude-kit init`` asks ordered questions and lays down ``CLAUDE.md``
7
7
  as a plugin. Extensibility is data-driven via the ``catalog/`` (stacks, profiles, MCP).
8
8
  """
9
9
 
10
- __version__ = "0.26.1"
10
+ __version__ = "0.28.0"
@@ -29,7 +29,7 @@ from pathlib import Path
29
29
 
30
30
  from claude_kit import catalog, scaffold
31
31
  from claude_kit.models import FileRecord, InitOptions, ResolvedPlan
32
- from claude_kit.validator import _load_init_options
32
+ from claude_kit.validator import _load_init_options, _read_init_options
33
33
 
34
34
  #: Sidecar suffix for a new version of a user-modified, protected file.
35
35
  _SIDECAR_SUFFIX = ".claude-kit"
@@ -129,9 +129,9 @@ def _compare(src: Path, target: str | Path) -> _Comparison | str:
129
129
  claude = target / ".claude"
130
130
  if not claude.is_dir():
131
131
  return "not-installed"
132
- old = _load_init_options(claude)
132
+ old, err = _read_init_options(claude)
133
133
  if old is None:
134
- return "no-options"
134
+ return "corrupt-options" if err and err.startswith("corrupt") else "no-options"
135
135
 
136
136
  plan = catalog.resolve(src, old.selection)
137
137
  # Render the reference under the REAL project name so CLAUDE.md/README don't diff spuriously.
@@ -355,6 +355,11 @@ def _explain_error(code: str, target: str | Path) -> tuple[bool, list[str]]:
355
355
  return False, [
356
356
  f"FAIL no .claude/ at {Path(target).expanduser().resolve()} — run `claude-kit init` first"
357
357
  ]
358
+ if code == "corrupt-options":
359
+ return False, [
360
+ "FAIL .claude/config/init-options.json is unreadable (invalid JSON) — repair it "
361
+ "or re-run `claude-kit init --force` to re-create it"
362
+ ]
358
363
  return False, [
359
364
  "FAIL no .claude/config/init-options.json — this install predates upgrade tracking; "
360
365
  "re-run `claude-kit init --force` to start tracking"