claude-code-kit 0.60.0__tar.gz → 0.61.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 (601) hide show
  1. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/CHANGELOG.md +69 -0
  4. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/PKG-INFO +1 -1
  5. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/commands/init.md +13 -3
  6. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/eval-harness.md +44 -0
  7. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/launch/directory-submission.md +54 -0
  8. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/org-capabilities.md +17 -0
  9. claude_code_kit-0.61.0/hooks/scripts/warn-missing-tests.sh +90 -0
  10. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/pyproject.toml +1 -1
  11. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/agent-guardrails.md +17 -2
  12. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/autonomy-levels.md +10 -0
  13. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/evals.md +32 -0
  14. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/goal-setting-and-monitoring.md +9 -0
  15. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/wave-orchestration.md +8 -0
  16. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/documentation-and-adrs/SKILL.md +16 -0
  17. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-ui-engineering/SKILL.md +17 -0
  18. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/refresh-docs/SKILL.md +35 -18
  19. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/__init__.py +1 -1
  20. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/README.md +4 -0
  21. claude_code_kit-0.60.0/hooks/scripts/warn-missing-tests.sh +0 -28
  22. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/.gitignore +0 -0
  23. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/CLAUDE.md +0 -0
  24. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/CONTRIBUTING.md +0 -0
  25. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/LICENSE +0 -0
  26. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/README.md +0 -0
  27. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/acceptance-reviewer.md +0 -0
  28. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/auditor.md +0 -0
  29. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/dependency-scanner.md +0 -0
  30. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/developer.md +0 -0
  31. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/devils-advocate.md +0 -0
  32. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/devops-engineer.md +0 -0
  33. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/e2e-tester.md +0 -0
  34. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/em-reviewer.md +0 -0
  35. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/incident-responder.md +0 -0
  36. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/merge-reviewer.md +0 -0
  37. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/observability-engineer.md +0 -0
  38. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/orchestrator.md +0 -0
  39. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/owasp-reviewer.md +0 -0
  40. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/policy-validator.md +0 -0
  41. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/pr-raiser.md +0 -0
  42. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/risk-classifier.md +0 -0
  43. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/sdlc-code-reviewer.md +0 -0
  44. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/secret-scanner.md +0 -0
  45. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/security-reviewer.md +0 -0
  46. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/senior-backend-dev.md +0 -0
  47. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/senior-frontend-dev.md +0 -0
  48. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/senior-tester.md +0 -0
  49. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/spec-doc-writer.md +0 -0
  50. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/story-planner.md +0 -0
  51. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/technical-architect.md +0 -0
  52. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/tester.md +0 -0
  53. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/ui-designer.md +0 -0
  54. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/agents/unit-tester.md +0 -0
  55. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/catalog/capture.yaml +0 -0
  56. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/catalog/mcp.yaml +0 -0
  57. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/catalog/org.yaml +0 -0
  58. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/catalog/profiles.yaml +0 -0
  59. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/catalog/stacks.yaml +0 -0
  60. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/commands/abort.md +0 -0
  61. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/commands/sdlc.md +0 -0
  62. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/commands/status.md +0 -0
  63. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/KNOWN_LIMITATIONS.md +0 -0
  64. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/RELEASE-POLICY.md +0 -0
  65. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/agentic-patterns.md +0 -0
  66. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/agents.md +0 -0
  67. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/architecture.md +0 -0
  68. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/autonomous-operation.md +0 -0
  69. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/capture-a-real-run.md +0 -0
  70. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/cli.md +0 -0
  71. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/coverage-audit.md +0 -0
  72. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/cursor-export.md +0 -0
  73. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/influences.md +0 -0
  74. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/install.md +0 -0
  75. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/launch/awesome-prs.md +0 -0
  76. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/launch/demo-script.md +0 -0
  77. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/launch/github-about.md +0 -0
  78. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/launch/posts.md +0 -0
  79. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/launch/road-to-1.0.md +0 -0
  80. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/launch/seed-issues.md +0 -0
  81. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/rules-context-budget.md +0 -0
  82. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/skill-audit.md +0 -0
  83. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
  84. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/stack-skills/README.md +0 -0
  85. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
  86. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/hooks.json +0 -0
  87. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/audit-log.sh +0 -0
  88. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/capture-learnings.sh +0 -0
  89. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/guard-destructive-git.sh +0 -0
  90. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
  91. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/guard-push-main.sh +0 -0
  92. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/guard-secrets.sh +0 -0
  93. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/lint-fix.sh +0 -0
  94. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/load-autonomy.sh +0 -0
  95. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/load-continuity.sh +0 -0
  96. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/load-learnings.sh +0 -0
  97. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/type-check.sh +0 -0
  98. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/validate-frontmatter.sh +0 -0
  99. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/validate-settings.sh +0 -0
  100. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/warn-large-edits.sh +0 -0
  101. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/warn-llm-io.sh +0 -0
  102. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
  103. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/hooks/scripts/warn-shared-modules.sh +0 -0
  104. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/agent-memory.md +0 -0
  105. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/agent-resilience.md +0 -0
  106. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/code-organization.md +0 -0
  107. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/continuity.md +0 -0
  108. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/design-patterns.md +0 -0
  109. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/devops-observability.md +0 -0
  110. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/documentation.md +0 -0
  111. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/frontend-best-practices.md +0 -0
  112. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/human-in-the-loop.md +0 -0
  113. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/linting-and-formatting.md +0 -0
  114. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/mandatory-workflow.md +0 -0
  115. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/model-tiers.md +0 -0
  116. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/quality-gates.md +0 -0
  117. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/rarv-cycle.md +0 -0
  118. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/reasoning-techniques.md +0 -0
  119. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/resilience-engineering.md +0 -0
  120. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/responsive-and-accessibility.md +0 -0
  121. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/risk-classification.md +0 -0
  122. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/testing.md +0 -0
  123. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/rules/tool-design.md +0 -0
  124. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/README.md +0 -0
  125. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/catalog-capture.schema.json +0 -0
  126. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/catalog-mcp.schema.json +0 -0
  127. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/catalog-org.schema.json +0 -0
  128. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/catalog-profiles.schema.json +0 -0
  129. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/catalog-stacks.schema.json +0 -0
  130. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/mcp-lock.schema.json +0 -0
  131. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/org-pack.schema.json +0 -0
  132. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/schemas/pipeline-snapshot.schema.json +0 -0
  133. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/backfill-releases.sh +0 -0
  134. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/capture-sdlc-run.sh +0 -0
  135. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/check_cross_references.py +0 -0
  136. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/check_docs_consistency.py +0 -0
  137. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/check_mcp_pins.py +0 -0
  138. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/check_rule_sizes.py +0 -0
  139. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/check_skill_descriptions.py +0 -0
  140. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/gen_hooks.py +0 -0
  141. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/scripts/init.sh +0 -0
  142. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/_references/accessibility-checklist.md +0 -0
  143. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/_references/orchestration-patterns.md +0 -0
  144. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/_references/performance-checklist.md +0 -0
  145. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/_references/security-checklist.md +0 -0
  146. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/_references/testing-patterns.md +0 -0
  147. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/accessibility-review/SKILL.md +0 -0
  148. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/alembic-migrations/README.md +0 -0
  149. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/alembic-migrations/SKILL.md +0 -0
  150. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
  151. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
  152. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
  153. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
  154. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
  155. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/anthropic-vertex-integration/README.md +0 -0
  156. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
  157. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
  158. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
  159. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
  160. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/api-and-interface-design/SKILL.md +0 -0
  161. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/api-integration/SKILL.md +0 -0
  162. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
  163. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
  164. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
  165. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
  166. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
  167. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/archive-sprint/SKILL.md +0 -0
  168. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/async-python-patterns/README.md +0 -0
  169. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/async-python-patterns/SKILL.md +0 -0
  170. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
  171. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
  172. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
  173. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/auth-and-rbac/README.md +0 -0
  174. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/auth-and-rbac/SKILL.md +0 -0
  175. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
  176. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
  177. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
  178. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
  179. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
  180. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backend-repo-architecture/README.md +0 -0
  181. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backend-repo-architecture/SKILL.md +0 -0
  182. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
  183. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
  184. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
  185. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
  186. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
  187. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backlog/SKILL.md +0 -0
  188. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/backlog/item-template.md +0 -0
  189. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  190. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/bug-hunt/SKILL.md +0 -0
  191. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
  192. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/code-review-and-quality/SKILL.md +0 -0
  193. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/code-simplification/SKILL.md +0 -0
  194. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/component-design/SKILL.md +0 -0
  195. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
  196. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
  197. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
  198. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
  199. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
  200. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/consolidate-learnings/SKILL.md +0 -0
  201. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/README.md +0 -0
  202. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/SKILL.md +0 -0
  203. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
  204. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
  205. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
  206. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
  207. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
  208. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
  209. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/context-engineering/SKILL.md +0 -0
  210. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
  211. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
  212. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
  213. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
  214. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
  215. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
  216. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
  217. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
  218. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
  219. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
  220. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
  221. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
  222. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
  223. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  224. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/decision/SKILL.md +0 -0
  225. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/decision/adr-template.md +0 -0
  226. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dependency-verification/SKILL.md +0 -0
  227. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/deploy/SKILL.md +0 -0
  228. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/deprecation-and-migration/SKILL.md +0 -0
  229. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/README.md +0 -0
  230. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
  231. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
  232. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
  233. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
  234. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
  235. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
  236. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
  237. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-system-ops/README.md +0 -0
  238. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-system-ops/SKILL.md +0 -0
  239. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-system-ops/references/ai-readiness.md +0 -0
  240. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-system-ops/references/drift-detection.md +0 -0
  241. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-system-ops/references/governance-and-adoption.md +0 -0
  242. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-system-ops/references/system-health-and-maturity.md +0 -0
  243. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/design-system-ops/references/token-architecture.md +0 -0
  244. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/doc-consolidation/SKILL.md +0 -0
  245. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-compose/README.md +0 -0
  246. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-compose/SKILL.md +0 -0
  247. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
  248. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-compose/references/compose-skeletons.md +0 -0
  249. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
  250. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-compose/references/repo-evidence.md +0 -0
  251. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-shared/README.md +0 -0
  252. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-shared/SKILL.md +0 -0
  253. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
  254. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-shared/references/repo-evidence.md +0 -0
  255. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-shared/references/shared-base-images.md +0 -0
  256. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
  257. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-backend/README.md +0 -0
  258. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-backend/SKILL.md +0 -0
  259. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
  260. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
  261. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
  262. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-frontend/README.md +0 -0
  263. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-frontend/SKILL.md +0 -0
  264. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
  265. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
  266. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
  267. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/doubt-driven-development/SKILL.md +0 -0
  268. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
  269. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
  270. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
  271. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
  272. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/execute/SKILL.md +0 -0
  273. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/README.md +0 -0
  274. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
  275. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
  276. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
  277. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
  278. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
  279. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
  280. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
  281. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/file-export-and-reporting/README.md +0 -0
  282. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/file-export-and-reporting/SKILL.md +0 -0
  283. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
  284. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
  285. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
  286. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-repo-architecture/README.md +0 -0
  287. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
  288. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
  289. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
  290. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
  291. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
  292. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
  293. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
  294. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
  295. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
  296. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
  297. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
  298. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcs-file-storage-patterns/README.md +0 -0
  299. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
  300. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
  301. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
  302. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
  303. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  304. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
  305. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
  306. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
  307. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
  308. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/references/red-dashboard-skeleton.md +0 -0
  309. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
  310. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
  311. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
  312. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/graphql-patterns/README.md +0 -0
  313. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/graphql-patterns/SKILL.md +0 -0
  314. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
  315. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
  316. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
  317. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
  318. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
  319. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/idea-refine/SKILL.md +0 -0
  320. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/idea-refine/examples.md +0 -0
  321. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/idea-refine/frameworks.md +0 -0
  322. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/idea-refine/refinement-criteria.md +0 -0
  323. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  324. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/incident-postmortem/SKILL.md +0 -0
  325. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/incremental-implementation/SKILL.md +0 -0
  326. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/interview-me/SKILL.md +0 -0
  327. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kafka-config-driven/README.md +0 -0
  328. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kafka-config-driven/SKILL.md +0 -0
  329. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
  330. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
  331. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
  332. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
  333. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubectl-operations/README.md +0 -0
  334. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubectl-operations/SKILL.md +0 -0
  335. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubectl-operations/references/command-reference.md +0 -0
  336. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
  337. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
  338. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
  339. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
  340. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubernetes-workload-hardening/README.md +0 -0
  341. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
  342. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
  343. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
  344. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
  345. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/langfuse-llm-tracing/README.md +0 -0
  346. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
  347. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
  348. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
  349. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
  350. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/library-review/SKILL.md +0 -0
  351. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/load-testing/SKILL.md +0 -0
  352. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/manual-test/SKILL.md +0 -0
  353. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/modernization-and-migration/README.md +0 -0
  354. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/modernization-and-migration/SKILL.md +0 -0
  355. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
  356. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
  357. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
  358. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
  359. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
  360. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/multi-tenancy-patterns/README.md +0 -0
  361. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
  362. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
  363. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
  364. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
  365. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
  366. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-express-service/README.md +0 -0
  367. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-express-service/SKILL.md +0 -0
  368. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
  369. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
  370. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
  371. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-express-service/references/repo-evidence.md +0 -0
  372. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-objection-knex/README.md +0 -0
  373. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-objection-knex/SKILL.md +0 -0
  374. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
  375. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
  376. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
  377. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/notifications-and-messaging/README.md +0 -0
  378. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/notifications-and-messaging/SKILL.md +0 -0
  379. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
  380. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
  381. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
  382. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/README.md +0 -0
  383. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/SKILL.md +0 -0
  384. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
  385. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
  386. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
  387. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
  388. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
  389. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
  390. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/README.md +0 -0
  391. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/SKILL.md +0 -0
  392. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/references/collector.md +0 -0
  393. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/references/correlation.md +0 -0
  394. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/references/gotchas.md +0 -0
  395. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/references/instrumentation.md +0 -0
  396. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/references/sampling.md +0 -0
  397. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/otel-tracing/references/tempo.md +0 -0
  398. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/over-engineering-review/SKILL.md +0 -0
  399. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/performance-optimization/SKILL.md +0 -0
  400. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
  401. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/playwright-verification/SKILL.md +0 -0
  402. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/pydantic-schema-patterns/README.md +0 -0
  403. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
  404. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
  405. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
  406. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
  407. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
  408. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/README.md +0 -0
  409. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/SKILL.md +0 -0
  410. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
  411. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
  412. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
  413. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
  414. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
  415. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
  416. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
  417. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
  418. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
  419. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
  420. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
  421. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
  422. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
  423. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
  424. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
  425. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
  426. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/redis-caching-patterns/README.md +0 -0
  427. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/redis-caching-patterns/SKILL.md +0 -0
  428. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
  429. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
  430. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
  431. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/remember/SKILL.md +0 -0
  432. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/safety-critical-patterns/SKILL.md +0 -0
  433. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/scope/SKILL.md +0 -0
  434. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/scope/scope-template.md +0 -0
  435. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/sdlc/SKILL.md +0 -0
  436. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/security-and-hardening/SKILL.md +0 -0
  437. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/security-and-hardening/references/input-validation-and-uploads.md +0 -0
  438. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/security-and-hardening/references/llm-guardrails.md +0 -0
  439. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/security-and-hardening/references/owasp-top10-prevention.md +0 -0
  440. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/security-and-hardening/references/supply-chain-and-dependencies.md +0 -0
  441. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/security-verification/SKILL.md +0 -0
  442. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/shannon-ai-pentest/README.md +0 -0
  443. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
  444. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
  445. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/shell-review/SKILL.md +0 -0
  446. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/shipping-and-launch/SKILL.md +0 -0
  447. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/simplification-debt/SKILL.md +0 -0
  448. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/smoke-test/SKILL.md +0 -0
  449. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/source-driven-development/SKILL.md +0 -0
  450. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/spec-driven-development/SKILL.md +0 -0
  451. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/sprint/SKILL.md +0 -0
  452. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/sprint/sprint-template.md +0 -0
  453. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/tanstack-react-query-patterns/README.md +0 -0
  454. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
  455. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
  456. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
  457. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
  458. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/task-tracker-sync/SKILL.md +0 -0
  459. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/README.md +0 -0
  460. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/SKILL.md +0 -0
  461. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
  462. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
  463. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
  464. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
  465. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
  466. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
  467. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/README.md +0 -0
  468. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/SKILL.md +0 -0
  469. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/references/cli.md +0 -0
  470. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/references/determinism.md +0 -0
  471. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/references/gotchas.md +0 -0
  472. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/references/languages.md +0 -0
  473. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/references/testing.md +0 -0
  474. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/temporal-developer/references/versioning.md +0 -0
  475. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/test-driven-development/SKILL.md +0 -0
  476. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/test-plan-review/SKILL.md +0 -0
  477. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/README.md +0 -0
  478. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/SKILL.md +0 -0
  479. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
  480. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
  481. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
  482. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
  483. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
  484. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
  485. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
  486. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
  487. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/threat-model/SKILL.md +0 -0
  488. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/triage/SKILL.md +0 -0
  489. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/ui-ux-design/SKILL.md +0 -0
  490. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/unit-test/SKILL.md +0 -0
  491. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/using-agent-skills/SKILL.md +0 -0
  492. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
  493. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
  494. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
  495. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
  496. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
  497. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zap-vapt-scanning/README.md +0 -0
  498. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
  499. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
  500. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
  501. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
  502. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
  503. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zustand-state-patterns/README.md +0 -0
  504. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zustand-state-patterns/SKILL.md +0 -0
  505. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
  506. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
  507. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
  508. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/__main__.py +0 -0
  509. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/catalog.py +0 -0
  510. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/cli.py +0 -0
  511. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/detect.py +0 -0
  512. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/export.py +0 -0
  513. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/hooks.py +0 -0
  514. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/models.py +0 -0
  515. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/pipeline.py +0 -0
  516. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/prompts.py +0 -0
  517. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/render.py +0 -0
  518. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/report.py +0 -0
  519. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/scaffold.py +0 -0
  520. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/schemas.py +0 -0
  521. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/upgrader.py +0 -0
  522. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/src/claude_kit/validator.py +0 -0
  523. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/CLAUDE.md +0 -0
  524. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/CLAUDE.stack.md.tmpl +0 -0
  525. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/CONTINUITY.template.md +0 -0
  526. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/README.claude-sdlc.md.tmpl +0 -0
  527. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/agent-memory/MEMORY.md +0 -0
  528. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/agent-memory/api/.gitkeep +0 -0
  529. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/agent-memory/architecture/.gitkeep +0 -0
  530. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/agent-memory/debugging/.gitkeep +0 -0
  531. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
  532. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/agent-memory/patterns/.gitkeep +0 -0
  533. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/agent-memory/performance/.gitkeep +0 -0
  534. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/adr.md +0 -0
  535. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/api-change-report.md +0 -0
  536. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/change-proposal.md +0 -0
  537. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/feature-spec.md +0 -0
  538. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/release-plan.md +0 -0
  539. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/runbook.md +0 -0
  540. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/security-review.md +0 -0
  541. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/artifacts/test-plan.md +0 -0
  542. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/export/sdlc-workflow-guide.md.tmpl +0 -0
  543. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/agents/data-workflow-agent.md +0 -0
  544. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/agents/founder-prototype-agent.md +0 -0
  545. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/agents/internal-tools-builder.md +0 -0
  546. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/agents/pm-copilot.md +0 -0
  547. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
  548. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/agents/support-ticket-engineer.md +0 -0
  549. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/devops-and-release/README.md +0 -0
  550. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  551. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/engineering-core/README.md +0 -0
  552. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
  553. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
  554. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  555. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  556. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  557. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/product-to-code/README.md +0 -0
  558. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
  559. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/quality-and-review/README.md +0 -0
  560. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  561. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/security-and-compliance/README.md +0 -0
  562. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  563. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/ai-working-agreement.md +0 -0
  564. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/ambiguity-resolution.md +0 -0
  565. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
  566. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/compliance-policy.md +0 -0
  567. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  568. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/pii-policy.md +0 -0
  569. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/production-data-policy.md +0 -0
  570. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  571. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/prototype-boundaries.md +0 -0
  572. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/rules/secrets-policy.md +0 -0
  573. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  574. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  575. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  576. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  577. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  578. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/review-scope/SKILL.md +0 -0
  579. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
  580. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
  581. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
  582. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/scripts/sdlc-loop.sh +0 -0
  583. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/settings.json +0 -0
  584. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
  585. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  586. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  587. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  588. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  589. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  590. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  591. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  592. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  593. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  594. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
  595. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
  596. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
  597. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/frontend/react/rules/ui-components.md +0 -0
  598. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
  599. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/frontend/react/rules/ui-layout-and-motion.md +0 -0
  600. {claude_code_kit-0.60.0 → claude_code_kit-0.61.0}/templates/stacks/frontend/react/rules/ux-dashboard-patterns.md +0 -0
  601. {claude_code_kit-0.60.0 → claude_code_kit-0.61.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.60.0",
13
+ "version": "0.61.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.60.0",
3
+ "version": "0.61.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,75 @@ 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.61.0] — 2026-07-15
8
+
9
+ **OSS-adoption wave 2 — nine more items from the 1,345-repo scan backlog** (wave 1 = 0.60.0 below).
10
+ Same discipline: everything re-derived as stack-agnostic prose/data; nothing vendored.
11
+
12
+ ### Added
13
+
14
+ - **`agent-guardrails` hardening pass** (completes the three guardrails items begun in 0.60.0):
15
+ the unfamiliar-CLI protocol (`--help` on the *exact leaf command* before first use — validation
16
+ is not transitive from parent groups; single-item schema discovery before unconstrained list
17
+ queries), cloud control-plane categories added to the §3 Block tier (IAM/role-binding, billing,
18
+ org governance, KMS-class key ops, enabling paid APIs, autonomous IaC apply — dry-run/preview
19
+ mandatory where offered), and a graceful-degradation token ladder in the §4 resource bounds
20
+ (warn fraction → wrap-up, hard-stop fraction → final answer, ceiling coupled to compaction).
21
+ - **Evals upgrade** (`rules/evals.md` §9–10 + `docs/eval-harness.md`): evals as one versioned
22
+ declarative config gated in CI (path filters, parsed JSON/JUnit pass-rate, prompt-set-hash
23
+ response cache, SHA + run-id lineage); colocate a skill's evals beside its `SKILL.md` with
24
+ with/without-skill A/B judged on the skill's own claims. The harness doc gains the
25
+ skill-activation eval (trigger F1 + Wilson/Clopper-Pearson/bootstrap certification — the
26
+ routing-layer failure mode neither arm measured), the falsifiability discipline (assertions must
27
+ fail in baseline; Signal/Baseline/Unreachable/Regression quadrants; labeled delta bands;
28
+ path-scoped isolation caveat), and fixed-overhead accounting (always-injected prose is a
29
+ per-turn flat tax; billing A/B is the only honest end-to-end number).
30
+ - **Pre-run budget declarations**: `goal-setting-and-monitoring` §4 budgets the run from its
31
+ orchestration shape (>2× single-agent needs written justification; estimate-vs-actual recorded;
32
+ on-exceed action declared up front) and `wave-orchestration`'s manifest extends
33
+ announce-the-spend to a full per-wave envelope (hard spawn cap, per-worker max turns, wall-clock
34
+ timeout, token ceiling) declared as data.
35
+ - **Org governance**: `autonomy-levels` precedence — repo/user overrides may only **tighten**
36
+ (autonomy = min, allow = intersect, deny = union); `docs/org-capabilities.md` gains the **bypass
37
+ contract** — every legitimate bypass surface named in one table with its guardrail
38
+ (`upgrade --force`, sidecar take-ownership, breakglass, `bypassPermissions` + its org disable).
39
+ - **Evidence-based `warn-missing-tests` hook**: convention-named test-file search (same dir +
40
+ `tests//test//__tests__` walking up) silences the old blanket nag when a test exists; specific
41
+ messages otherwise ("no test file for X" vs "no RED test recorded — write it first" via
42
+ `.pytest_cache`); curated skip list for generated/infra trees. Still advisory; still no-ops
43
+ without `jq`.
44
+ - **`/claude-kit:init` self-install loop**: a missing CLI now offers "Install claude-code-kit now
45
+ (Recommended)" (pipx, else pip) with re-detection before proceeding; skip/failure/no-installer
46
+ keep the stop-with-instructions behavior.
47
+ - **Doc-skill upgrades**: `refresh-docs` diffs the documented surface against the code surface and
48
+ classifies each divergence (`missing_in_docs` / `missing_in_code` / `signature_mismatch` /
49
+ `description_mismatch`, severity-guided); `documentation-and-adrs` gains the derived-artifact
50
+ discipline (edit the structured source, regenerate the deliverable, label source-vs-derived,
51
+ drift-check in CI).
52
+ - **Design intent capture** (`frontend-ui-engineering`): one concrete world-reference over
53
+ adjective lists; short intentional Do's/Don'ts; tokens are context serving the reference, not
54
+ rendering instructions.
55
+ - **Directory-review self-audit** (`docs/launch/directory-submission.md`): the reviewer's pass/fail
56
+ criteria plus the audit run against the kit's own registry — all 21 hooks tabulated (event,
57
+ gated/advisory, network, plugin-vs-starter); finding: zero direct network calls, one disclosed
58
+ indirect family (learning capture's background `claude` job, opt-out
59
+ `CLAUDE_KIT_NO_AUTOCAPTURE=1`).
60
+
61
+ ### Fixed
62
+
63
+ - `refresh-docs` shipped another project's literal doc paths and a nonexistent `frontend-dev`
64
+ agent name in its examples — now marked as example shapes / corrected to general-purpose
65
+ subagents.
66
+
67
+ ### Not adopted (deliberately)
68
+
69
+ - **The two L-sized scan items** — the `context-engineering` consolidation (8 merged proposals)
70
+ and the `tool-design` expansion (7 merged proposals) — are deferred to their own focused wave:
71
+ they overlap each other on the same two files and deserve a single coherent editing pass, not a
72
+ tail-end squeeze.
73
+ - **The 10 user-gated items** remain gated (list in the 0.60.0 block below) — unchanged, awaiting
74
+ owner decisions.
75
+
7
76
  ## [0.60.0] — 2026-07-15
8
77
 
9
78
  **OSS-adoption wave 1 — the first tranche from a 1,345-repo scan.** 39 provenance-tagged GitHub
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-kit
3
- Version: 0.60.0
3
+ Version: 0.61.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
@@ -17,9 +17,19 @@ command -v claude-kit >/dev/null 2>&1 && echo "CKIT_CLI=claude-kit" \
17
17
  || echo "CKIT_CLI_MISSING"; }; }
18
18
  ```
19
19
 
20
- **If the output is `CKIT_CLI_MISSING`, STOPdo not scaffold anything.** The CLI is not installed
21
- under any of its names. Tell the user it is required and how to install it, then have them re-run
22
- `/claude-kit:init`. Do **not** silently fall back to a partial install:
20
+ **If the output is `CKIT_CLI_MISSING`, offer to install it never scaffold without it.** The CLI
21
+ is not installed under any of its names. When an installer is available on PATH (`pipx`, else
22
+ `pip`/`pip3`), ask ONE AskUserQuestion with the install option first:
23
+
24
+ - **"Install claude-code-kit now (Recommended)"** — on accept, run `pipx install claude-code-kit`
25
+ (fall back to `pip install claude-code-kit` when pipx is absent), then **re-run the detection
26
+ block above** and proceed only if a CLI name now resolves.
27
+ - **"Skip"** — or if the install fails, or no installer is on PATH: STOP — do not scaffold
28
+ anything. Tell the user the CLI is required, show both install commands below, and have them
29
+ re-run `/claude-kit:init`. Do not silently fall back to a partial install.
30
+
31
+ Never ask when the CLI is already present, and never ask when no installer exists on PATH (nothing
32
+ to offer — go straight to the stop-with-instructions):
23
33
 
24
34
  - Recommended: `pipx install claude-code-kit`
25
35
  - Or: `pip install claude-code-kit`
@@ -48,6 +48,50 @@ class Y, Z% of the time."
48
48
  > The pipeline costs more per task by design (more agents, more gates). The question this harness
49
49
  > answers is whether the **defects caught** (and their severity) justify that delta **for your task mix**.
50
50
 
51
+ ## Skill-activation eval (the routing layer)
52
+
53
+ The arms above grade what happens *after* a skill or rule fires. A separate failure mode sits in
54
+ front of both: does the skill **activate when it should — and stay quiet when it shouldn't**?
55
+ Neither arm measures routing; add it as its own small suite.
56
+
57
+ - **Trigger F1.** Build two prompt lists per skill: *should-activate* (phrasings a real user would
58
+ use) and *should-not-activate* (near-misses from neighboring domains). Run both, score activation
59
+ as binary, report **precision / recall / F1**. A skill with great content and 40% recall is a
60
+ great document nobody reads; one that fires on near-misses taxes every unrelated task.
61
+ - **Monte Carlo certification for any number you publish.** Activation is stochastic — run each list
62
+ repeatedly and report the **Wilson confidence interval** on the activation rate, a
63
+ **Clopper-Pearson bound** on the should-activate failure rate (the conservative "at worst" claim),
64
+ and a **bootstrap consistency** check across resamples. "Activates 19/20, 95% CI [86%, 99%]" is a
65
+ claim; "it seems to trigger" is not.
66
+
67
+ ## Falsifiability discipline (before you trust any delta)
68
+
69
+ - **The falsifiability gate.** Every assertion must **fail in the baseline arm** at least sometimes —
70
+ an assertion that passes in both arms measures the model, not the pipeline, and supports no claim.
71
+ Drop it or sharpen it.
72
+ - **Quadrant-classify each row before averaging anything:** **Signal** (fails A, passes B — the
73
+ pipeline earned it) · **Baseline** (passes both — too easy, doesn't count) · **Unreachable**
74
+ (fails both — can't discriminate at this model tier) · **Regression** (passes A, fails B — the
75
+ pipeline *hurt*; investigate before shipping). Only Signal rows support a value claim; every
76
+ Regression row is a finding in its own right.
77
+ - **Label delta bands.** Report deltas with a qualitative band (noise / weak / strong at your N)
78
+ rather than celebrating a 3% move the confidence interval can't distinguish from zero.
79
+ - **Path-scoped isolation caveat.** If a rule/overlay is path-scoped (loads only when matching files
80
+ are touched), confirm both arms actually touch those paths — otherwise the comparison silently
81
+ measures *activation*, not content.
82
+
83
+ ## Fixed-overhead accounting
84
+
85
+ Always-injected prose is a **flat tax on every turn**, paid whether or not the content helps that
86
+ turn (measure your own install — see `docs/rules-context-budget.md`; even a single always-on rule
87
+ file costs on the order of 1–1.5k tokens per turn, and a full rule set far more). So the eval
88
+ question is not "does the pipeline help" but "does the help **beat the tax** for your task mix":
89
+
90
+ - Put the per-turn injected overhead in the Cost table, not only per-task totals.
91
+ - The only honest end-to-end number is a **billing A/B** — the same task mix with and without,
92
+ compared on what you were actually charged. Token figures extrapolated from a single run are
93
+ estimates: label them **est.**
94
+
51
95
  ## Honesty rules
52
96
 
53
97
  - **Never publish numbers you did not run.** A "90%" from one run and from twenty runs are not the same
@@ -68,10 +68,64 @@ Before submitting, **re-check the live documentation** at the URLs below. Plugin
68
68
  - Plugin marketplaces: [code.claude.com/docs/en/plugin-marketplaces](https://code.claude.com/docs/en/plugin-marketplaces)
69
69
  - Plugin reference: [code.claude.com/docs/en/plugins-reference](https://code.claude.com/docs/en/plugins-reference)
70
70
 
71
+ ## Directory Review Self-Audit
72
+
73
+ Directory reviewers apply pass/fail criteria a submitter can run against themselves first. Three
74
+ that decide outcomes:
75
+
76
+ 1. **Description-matches-behavior (the surprise test).** For every hook, command, and skill: would
77
+ a user who read only its description be *surprised* by anything it actually does? Any surprise
78
+ is a fix-before-submitting.
79
+ 2. **Undisclosed outbound calls = automatic fail.** Every network touch (direct or via a spawned
80
+ tool) must be disclosed in the component's description *and* have an opt-out.
81
+ 3. **The whole shipped payload is in scope — including directories the plugin doesn't load.**
82
+ A git-source install clones everything (`scripts/`, `templates/`, `catalog/`, `examples/`), so
83
+ the audit covers the full tree, not just auto-discovered components.
84
+
85
+ ### First-party hook audit (run against this kit's own registry)
86
+
87
+ All hooks in the shipped registry, in the reviewer's format — `EVENT:hook — gated|advisory —
88
+ network`. **gated** = can block the action (exit 2 / deny); **advisory** = warn-or-context only,
89
+ always exits 0. Every script degrades to a no-op without `jq`. Regenerate this table when the
90
+ registry changes (`src/claude_kit/hooks.py` is the source of truth; `gen_hooks.py --check` pins the
91
+ generated configs).
92
+
93
+ | Hook | Event | Mode | Network | In plugin hooks.json |
94
+ |------|-------|------|---------|----------------------|
95
+ | load-continuity | SessionStart | advisory | no | yes |
96
+ | load-learnings | SessionStart | advisory | no | yes |
97
+ | load-autonomy | SessionStart | advisory | no | yes |
98
+ | capture-learnings-catchup | SessionStart | advisory | **indirect** — spawns a background `claude` job (model API); disclosed, opt-out `CLAUDE_KIT_NO_AUTOCAPTURE=1` | yes |
99
+ | guard-rm-rf | PreToolUse | **gated** (inline) | no | yes |
100
+ | guard-push-main | PreToolUse | **gated** | no | yes |
101
+ | guard-destructive-git | PreToolUse | **gated** | no | yes |
102
+ | protect-secrets | PreToolUse | **gated** (inline) | no | yes |
103
+ | guard-commit-secrets | PreToolUse | **gated** | no | yes |
104
+ | validate-settings | PreToolUse | **gated** | no | yes |
105
+ | warn-shared-modules | PreToolUse | advisory | no | yes |
106
+ | warn-llm-io | PreToolUse | advisory | no | yes |
107
+ | warn-sensitive-files | PreToolUse | advisory | no | yes |
108
+ | warn-large-edits | PreToolUse | advisory | no | starter only |
109
+ | validate-frontmatter | PreToolUse | advisory | no | starter only |
110
+ | warn-missing-tests | PostToolUse | advisory | no | starter only |
111
+ | audit-log | PostToolUse | advisory | no | starter only |
112
+ | lint-fix | Stop | advisory (runs the project's linter) | no | yes |
113
+ | type-check | Stop | advisory (runs the project's type-checker) | no | yes |
114
+ | capture-learnings-stop | Stop | advisory | indirect — same `claude` job + opt-out as above | starter only |
115
+ | capture-learnings | SessionEnd | advisory | indirect — same `claude` job + opt-out as above | yes |
116
+
117
+ **Audit result:** 21 registry hooks (16 ride the plugin's `hooks.json`; the rest install via the
118
+ scaffolded starter `settings.json`). One behavior family touches the network, *indirectly*, via a
119
+ spawned `claude` background job (learning capture) — disclosed in the init interview, surfaced by
120
+ `doctor`, and opt-out via `CLAUDE_KIT_NO_AUTOCAPTURE=1`. No hook makes a direct outbound call. All
121
+ gated hooks are deterministic string/path guards with no data egress. This passes criteria 1–3
122
+ above as of the audit date; re-run after any hook change.
123
+
71
124
  ## Owner Submission Checklist
72
125
 
73
126
  - [ ] Run `claude plugin validate .` and `claude plugin validate . --strict`
74
127
  - [ ] Fix any validation errors (warnings are optional)
128
+ - [ ] Re-run the Directory Review Self-Audit above (hook table current, no undisclosed network, no description surprises)
75
129
  - [ ] Verify the live submission form and documentation links above
76
130
  - [ ] Consider the optional manifest hygiene items (not required)
77
131
  - [ ] Choose submission path: solo (platform.claude.com) or organization (claude.ai)
@@ -189,6 +189,23 @@ via `/deprecation-and-migration`; have security/DevOps approve hooks and sensiti
189
189
  and roll out repo-by-repo with `claude-kit diff` → `claude-kit upgrade`; run different autonomy levels
190
190
  per repo; capture recurring prompts (→ skills) and mistakes (→ rules) via the `remember` skill.
191
191
 
192
+ ### Precedence & the bypass contract
193
+
194
+ **Overrides only tighten.** Repo- and user-level settings may lower autonomy, add gates/denies, or
195
+ escalate a warn to a block — never the reverse (allow = intersect, deny = union, autonomy =
196
+ min(org, repo)); see `.claude/rules/autonomy-levels.md` "Precedence". The corollary is that every
197
+ *legitimate* way around the policy must be **named**, so none is discoverable-only. The kit's real
198
+ bypass surfaces are exactly these:
199
+
200
+ | Bypass surface | What it bypasses | Guardrail around it |
201
+ |----------------|------------------|---------------------|
202
+ | `claude-kit upgrade --force` | edit-preserving upgrade (overwrites drifted kit files) | drifted originals are backed up as sidecars; diff first |
203
+ | Sidecar take-ownership (keep your edit, discard the kit's `.claude-kit` sidecar) | kit ownership of a file | the manifest marks it user-owned from then on — upgrades stop touching it |
204
+ | Breakglass (emergency human override) | a gate or block during an incident | scoped + logged per `.claude/rules/human-in-the-loop.md`; reviewed afterwards |
205
+ | `bypassPermissions` mode | Claude Code's permission prompts | org-side `disableBypassPermissionsMode` can remove it entirely |
206
+
207
+ Anything not on this list that circumvents policy is a finding, not a feature.
208
+
192
209
  ### Planned
193
210
 
194
211
  `claude-sdlc package-org-pack` / `install-org-pack` are registered as **planned** stubs — they will
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env bash
2
+ # PostToolUse(Edit|Write): after a source-code change, check for EVIDENCE of tests before nudging.
3
+ # Evidence-based, not a blanket reminder: looks for a sibling/convention-named test file
4
+ # (test_<stem>.py, <stem>_test.py, <stem>.test|spec.<ext>, <stem>_test.go, <stem>Test(s).cs, ...)
5
+ # in the same dir and in tests//test//__tests__ dirs walking up from the file; if a test file
6
+ # exists, checks .pytest_cache/v/cache/lastfailed for a recorded RED test for the module (Python).
7
+ # Emits a SPECIFIC message only when evidence is absent; stays quiet when a test file exists.
8
+ # Advisory only (always exits 0). Quiet for test files, docs, config, generated/infra trees, and
9
+ # the .claude/ config itself. Degrades to a no-op without jq.
10
+ # The reminder returns as hookSpecificOutput.additionalContext JSON on stdout (Claude reads it next
11
+ # to the tool result, per the current hooks reference) -- exit-0 stderr is debug-log-only.
12
+ command -v jq >/dev/null 2>&1 || exit 0
13
+ INPUT="$(cat)"
14
+ FILE_PATH="$(echo "$INPUT" | jq -r '.tool_input.file_path // .tool_response.filePath // empty' 2>/dev/null || true)"
15
+ [ -z "$FILE_PATH" ] || [ "$FILE_PATH" = "null" ] && exit 0
16
+
17
+ low="$(printf '%s' "$FILE_PATH" | tr '[:upper:]' '[:lower:]')"
18
+
19
+ # Skip non-source: tests, docs, config, markdown, and the kit's own config.
20
+ case "$low" in
21
+ *test*|*spec*|*.md|*.markdown|*.json|*.ya?ml|*.toml|*.ini|*.cfg|*.txt|*.lock|*/.claude/*)
22
+ exit 0 ;;
23
+ esac
24
+
25
+ # Curated skip list: trees that legitimately ship without sibling tests (generated, infra, vendored).
26
+ case "$low" in
27
+ */migrations/*|*/alembic/*|*/terraform/*|*/generated/*|*/proto/*|*/infra/*|*/dist/*|*/build/*|*/node_modules/*|*/vendor/*|*/.venv/*)
28
+ exit 0 ;;
29
+ esac
30
+
31
+ # Only check recognisable source files.
32
+ case "$low" in
33
+ *.py|*.ts|*.tsx|*.js|*.jsx|*.go|*.rs|*.rb|*.java|*.kt|*.cs|*.php|*.swift|*.scala|*.c|*.cc|*.cpp|*.h|*.hpp) : ;;
34
+ *) exit 0 ;;
35
+ esac
36
+
37
+ base="$(basename "$FILE_PATH")"
38
+ dir="$(dirname "$FILE_PATH")"
39
+ stem="${base%.*}"
40
+ ext="${base##*.}"
41
+
42
+ # Test-file name candidates per ecosystem convention.
43
+ cands=()
44
+ case "$ext" in
45
+ py) cands=("test_${stem}.py" "${stem}_test.py") ;;
46
+ go) cands=("${stem}_test.go") ;;
47
+ cs) cands=("${stem}Tests.cs" "${stem}Test.cs") ;;
48
+ rb) cands=("${stem}_spec.rb" "${stem}_test.rb") ;;
49
+ ts|tsx|js|jsx) cands=("${stem}.test.${ext}" "${stem}.spec.${ext}") ;;
50
+ *) cands=("test_${stem}.${ext}" "${stem}_test.${ext}" "${stem}.test.${ext}" "${stem}.spec.${ext}") ;;
51
+ esac
52
+
53
+ # Evidence search: sibling in the same dir, then tests//test//__tests__ dirs walking up (bounded).
54
+ found=""
55
+ for cand in "${cands[@]}"; do
56
+ [ -f "$dir/$cand" ] && { found=1; break; }
57
+ done
58
+ if [ -z "$found" ]; then
59
+ d="$dir"
60
+ for _ in 1 2 3 4 5 6; do
61
+ for td in tests test __tests__; do
62
+ [ -d "$d/$td" ] || continue
63
+ for cand in "${cands[@]}"; do
64
+ if find "$d/$td" -maxdepth 4 -name "$cand" -print -quit 2>/dev/null | grep -q .; then
65
+ found=1
66
+ break 3
67
+ fi
68
+ done
69
+ done
70
+ parent="$(dirname "$d")"
71
+ [ "$parent" = "$d" ] && break
72
+ d="$parent"
73
+ done
74
+ fi
75
+
76
+ W=""
77
+ if [ -z "$found" ]; then
78
+ W="REMINDER: no test file found for $FILE_PATH (searched sibling + tests//test//__tests__ conventions: ${cands[*]}) -- create one before marking work complete (.claude/rules/testing.md)."
79
+ elif [ "$ext" = "py" ] && [ -f ".pytest_cache/v/cache/lastfailed" ]; then
80
+ # A test file exists; for Python, check whether a RED test was ever recorded for this module.
81
+ if ! jq -r 'keys[]' .pytest_cache/v/cache/lastfailed 2>/dev/null | grep -q "$stem"; then
82
+ W="NOTE: tests exist for $stem but no failing test was recorded for it -- if this change adds behavior, write the RED test first (.claude/rules/testing.md)."
83
+ fi
84
+ fi
85
+
86
+ if [ -n "$W" ]; then
87
+ # stdout must be ONLY the JSON object for Claude Code to process it.
88
+ jq -n --arg ctx "$W" '{hookSpecificOutput: {hookEventName: "PostToolUse", additionalContext: $ctx}}'
89
+ fi
90
+ exit 0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-kit"
7
- version = "0.60.0"
7
+ version = "0.61.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"
@@ -72,6 +72,13 @@ Before declaring a stage done or handing to the next agent/human:
72
72
  filesystem or data guarantee; and any client-side flag is **secondary to the real authorization
73
73
  boundary** — the backend's IAM/role grants are what actually limit blast radius, so scope those
74
74
  first and treat the flag as a second layer, never the first.
75
+ - **Unfamiliar-CLI protocol — validate the leaf, then discover the schema.** Before first use of a
76
+ CLI subcommand you haven't run in this project, read `--help` on the **exact leaf command** you are
77
+ about to invoke — validation is not transitive from a parent group (`tool db --help` tells you
78
+ nothing about `tool db restore`'s destructive flags). And before any unconstrained list/query
79
+ call, do **single-item schema discovery** first (`--limit 1` + machine-readable output), then
80
+ re-query projected to only the fields you need — you learn the response shape without flooding
81
+ your context or hammering the backend.
75
82
  - **Destructive or outward-facing actions are gated.** Deleting/overwriting files you didn't create,
76
83
  force-pushing, deploying, publishing, or sending data to an external service are **human decision
77
84
  points** — see `.claude/rules/human-in-the-loop.md`. Confirm first.
@@ -86,7 +93,11 @@ and act on it — do not improvise a destructive step because it seems convenien
86
93
  - **Block — never autonomously.** Force-push, rewriting already-published history, deleting a branch
87
94
  or tag, a destructive schema change against live data (`DROP` / `TRUNCATE` / column drop / a
88
95
  narrowing or `NOT NULL` on existing rows), bulk or recursive deletion, or disabling a safety
89
- control. These need explicit human authorization first the **restricted** tier of
96
+ control. In cloud control planes the same tier covers: **IAM / role-binding changes, billing
97
+ changes, org-level governance edits, KMS-class key operations** (schedule-delete, disable,
98
+ rotation changes), **enabling paid APIs/services, and an autonomous IaC apply** — where the tool
99
+ offers a dry-run/preview/plan mode, running it is mandatory and its output goes to the human with
100
+ the request. These need explicit human authorization first — the **restricted** tier of
90
101
  `.claude/rules/risk-classification.md`. Several are also stopped deterministically by
91
102
  `hooks/scripts/guard-destructive-git.sh` and the `rm -rf` / push-to-main guards.
92
103
  - **Confirm — pause and get a yes.** Deleting or overwriting a file you did not create, applying a
@@ -126,7 +137,11 @@ agent on a broken foundation.* Before worrying about prompt injection, enforce t
126
137
  default (never "the whole disk, minus a deny-list").
127
138
  - **Network** — deny outbound by default; allowlist only the hosts the task genuinely needs.
128
139
  - **Resource bounds** — wall-clock timeout plus memory/output caps, so a runaway or adversarial step
129
- fails *closed* instead of hanging or flooding.
140
+ fails *closed* instead of hanging or flooding. For token budgets, degrade **gracefully** rather
141
+ than cliff-stopping: a warn fraction (~80%) injects a wrap-up signal (finish the current step,
142
+ persist state), a hard-stop fraction forces a final answer from what is in hand, and the ceiling
143
+ is set with compaction in mind — when compaction is active the ceiling bounds a *window*, not
144
+ the run, so couple the two deliberately.
130
145
  - **Versioned & runtime-updatable** — keep the policy as data you can tighten mid-run (ties to §5's
131
146
  revocable authz) and review afterward, not constants baked into the agent.
132
147
 
@@ -13,6 +13,16 @@ deterministic parts are enforced by hooks and `settings.permissions`, the rest i
13
13
  | **autonomous-pr** | create branches + PR-ready changes | **merge** — human review is required before merge |
14
14
  | **enterprise-controlled** | work only through strict gates with an audit trail | edit sensitive files without approval; complete without the security + review agents passing |
15
15
 
16
+ ## Precedence — overrides may only tighten
17
+
18
+ When org policy and a repo- or user-level setting disagree, the resolution is always the **stricter**
19
+ of the two: effective autonomy = **min(org, repo)**; allow-lists **intersect**; deny-lists **union**;
20
+ a warn may be escalated to a block locally, but a block is never downgraded to a warn. A repo can
21
+ run *more* cautiously than its org demands, never less — there is no repo-level "loosen" switch.
22
+ Legitimate exceptions go through the named bypass surfaces (the "Bypass contract" in
23
+ `docs/org-capabilities.md` of the claude-kit repo), which are explicit and auditable — not a quiet
24
+ config override.
25
+
16
26
  ## Rules
17
27
 
18
28
  - **Never exceed the active level.** If a task needs more autonomy than granted, stop and ask — do not
@@ -142,6 +142,38 @@ A single-turn eval will not catch this; claude-kit's own agents run over long mu
142
142
  > [`microsoft/lost_in_conversation`](https://github.com/microsoft/lost_in_conversation). Re-derived in
143
143
  > prose; not vendored.
144
144
 
145
+ ## 9. Evals as versioned, declarative config — gated in CI
146
+
147
+ Keep the eval suite as **one declarative config file in the repo** — cases × graders × pass
148
+ thresholds together (the shape popularized by promptfoo-style runners; any runner with those three
149
+ parts qualifies). Config-as-data is what makes the Rules below enforceable: the eval diff rides in
150
+ the same PR as the behavior change, and CI — not memory — runs it.
151
+
152
+ - **Trigger on behavior-changing paths.** Path-filter the CI job to the files that change model
153
+ behavior (prompts, rules, skills, agent definitions, model/tier config) so the suite runs when it
154
+ must and stays out of unrelated PRs.
155
+ - **Gate on parsed results, not exit codes alone.** Emit machine-readable output (JSON / JUnit),
156
+ parse the pass rate, and fail the job against the declared threshold — that is what turns the eval
157
+ into a *gate* (§6) instead of a log line.
158
+ - **Cache responses keyed on the prompt-set hash.** Reruns whose inputs didn't change replay from
159
+ cache — CI stays fast and cheap, and a score delta isolates the change you actually made.
160
+ - **Record lineage.** Stamp every run with the git SHA and a run id, so any score is traceable to
161
+ the exact config + code that produced it.
162
+
163
+ ## 10. Colocate a skill's evals with the skill
164
+
165
+ A skill's eval lives **beside the skill** — an `evals/evals.json` next to its `SKILL.md` declaring
166
+ the cases (the emerging agent-skills colocation convention) — not in a central suite it will drift
167
+ from. Two properties matter more than the file layout:
168
+
169
+ - **A/B against the skill's absence.** Each case runs *with* and *without* the skill and is judged
170
+ on assertions the skill's own prose claims (cited criteria, not vibes). A skill that does not
171
+ measurably beat its absence on its own claims is context cost with no return — the same
172
+ with/without method as the kit-level harness (`docs/eval-harness.md` in the claude-kit repo),
173
+ applied per skill.
174
+ - **Runners are referenced, not bundled.** Ready runners exist for exactly this layout (e.g.
175
+ `agent-skills-eval`); any tool that executes colocated cases with/without the skill qualifies.
176
+
145
177
  ## Rules
146
178
 
147
179
  1. **No prompt/rule/tool/model change ships without an eval run** that covers the affected behavior.
@@ -80,6 +80,15 @@ This turns "I think the run is progressing" into a measured session you can grad
80
80
  (`.claude/rules/evals.md`) and trend. (This is *agent-run* telemetry; **app and LLM** observability
81
81
  live in the `observability-and-logging`, `otel-tracing`, and `langfuse-llm-tracing` skills.)
82
82
 
83
+ **Budget the run before you launch it.** Spend is a criterion too — declare it up front like any
84
+ other goal, derived from the orchestration shape: single agent ≈ 1×, maker-checker ≈ 2×,
85
+ parallel-N ≈ N+1× (workers + a merge pass), debate-R ≈ 1+R×. Anything over ~2× the single-agent
86
+ baseline needs a written justification before tokens go out, not an apology after. Record
87
+ **estimate vs actual** in the run telemetry above, and define the **on-exceed action** with the
88
+ budget: stop spawning, checkpoint state to `.claude/CONTINUITY.md`, and escalate per
89
+ `.claude/rules/human-in-the-loop.md` — never silently run past the number you announced. (Wave-scale
90
+ declarations live in `.claude/rules/wave-orchestration.md`'s manifest.)
91
+
83
92
  > Stack-agnostic adaptation of the agent-session instrumentation pattern in the Apache-2.0
84
93
  > [`alibaba/loongsuite-js`](https://github.com/alibaba/loongsuite-js) (session→turn→tool/LLM span
85
94
  > hierarchy via runtime hooks, GenAI semantic-convention attributes). Re-derived in prose; not vendored.
@@ -124,6 +124,14 @@ Announce the spend before it happens: the manifest states the worker count per w
124
124
  orchestrator repeats that count (and its model tiers) when opening each wave — scale is vetoable
125
125
  before the tokens go out, not after.
126
126
 
127
+ Counts and tiers are the minimum; a load-bearing manifest declares the **full spend envelope as
128
+ data** beside them, per wave: a **hard spawn cap** (the count is a plan; the cap is a limit), a
129
+ **max-turns bound per worker**, a **wall-clock timeout for the wave**, and a **token ceiling** —
130
+ with the on-exceed action declared up front (stop spawning, checkpoint, escalate) per
131
+ `.claude/rules/goal-setting-and-monitoring.md` §4. That makes both *scale and spend* vetoable
132
+ before launch, and makes "the wave ran hot" a measured fact (estimate vs actual) instead of a
133
+ surprise on the bill.
134
+
127
135
  ## Native dynamic workflows as the wave substrate
128
136
 
129
137
  Claude Code ≥ 2.1.154 ships a native **dynamic-workflows engine**: Claude writes a JavaScript
@@ -239,6 +239,22 @@ Link to ADRs for details.
239
239
  How to contribute, coding standards, PR process.
240
240
  ```
241
241
 
242
+ ## Derived Artifacts: Edit the Source, Regenerate the Output
243
+
244
+ Some documentation is **generated from a structured source of truth** — API docs rendered from an
245
+ OpenAPI spec, config files emitted by a generator script, reference tables built from a registry.
246
+ For these, the discipline is absolute:
247
+
248
+ - **Edits go to the structured input, never the deliverable.** Hand-patching a generated file
249
+ creates a fork the next regeneration silently destroys (or worse, that a drift check now has to
250
+ arbitrate).
251
+ - **State which file is source and which is derived** — in the doc's header or the repo's docs — so
252
+ no future editor has to guess. An unlabeled generated file *will* eventually be hand-edited.
253
+ - **Regenerate + drift-check in CI.** The generator should have a `--check` mode that fails CI when
254
+ the committed output no longer matches the source; that single check converts the convention into
255
+ a guarantee. (claude-kit itself lives this rule: its hook config files are generated from a
256
+ registry and CI fails on drift.)
257
+
242
258
  ## Changelog Maintenance
243
259
 
244
260
  For shipped features:
@@ -115,6 +115,23 @@ Global store → Complex client state shared app-wide
115
115
 
116
116
  ## Design System Adherence
117
117
 
118
+ ### Capture the Design Intent as a Specific Reference
119
+
120
+ Before styling anything new, pin down what the design is *aiming at* — and demand **one concrete
121
+ world-reference over a list of adjectives**. "Modern, clean, premium" describes a region containing
122
+ thousands of incompatible designs; "a 1970s graduate lecture handout" or "a Braun product manual"
123
+ describes a point you can actually converge on. When the user offers only adjectives, ask for the
124
+ reference ("what existing thing should this feel like?") — that one answer replaces a whole
125
+ round of taste-guessing iterations.
126
+
127
+ - Pair the reference with a **short, intentional Do's/Don'ts list** (3–5 each). A rambling
128
+ don't-list is a signal the reference is still vague — sharpen the reference instead of growing
129
+ the list.
130
+ - **Design tokens are context serving that prose, not rendering instructions.** The
131
+ reference + Do's/Don'ts carry the intent; tokens (spacing scale, palette, radii) are the
132
+ vocabulary it gets expressed in. Tokens without a reference reproduce the AI aesthetic below in
133
+ the project's own colors.
134
+
118
135
  ### Avoid the AI Aesthetic
119
136
 
120
137
  AI-generated UI has recognizable patterns. Avoid all of them: