claude-code-kit 0.16.0__tar.gz → 0.17.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 (243) hide show
  1. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/CHANGELOG.md +63 -0
  4. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/CONTRIBUTING.md +4 -1
  5. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/PKG-INFO +118 -5
  6. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/README.md +117 -4
  7. claude_code_kit-0.17.0/catalog/capture.yaml +37 -0
  8. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/catalog/profiles.yaml +3 -0
  9. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/docs/agentic-patterns.md +1 -1
  10. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/docs/coverage-audit.md +1 -1
  11. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/hooks.json +10 -1
  12. claude_code_kit-0.17.0/hooks/scripts/capture-learnings.sh +207 -0
  13. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/load-learnings.sh +4 -1
  14. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/pyproject.toml +1 -1
  15. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/agent-memory.md +1 -1
  16. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/remember/SKILL.md +1 -1
  17. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/__init__.py +1 -1
  18. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/catalog.py +46 -0
  19. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/hooks.py +34 -6
  20. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/models.py +5 -0
  21. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/prompts.py +14 -0
  22. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/settings.json +10 -1
  23. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/.gitignore +0 -0
  24. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/CLAUDE.md +0 -0
  25. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/LICENSE +0 -0
  26. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/acceptance-reviewer.md +0 -0
  27. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/auditor.md +0 -0
  28. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/dependency-scanner.md +0 -0
  29. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/developer.md +0 -0
  30. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/devils-advocate.md +0 -0
  31. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/devops-engineer.md +0 -0
  32. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/e2e-tester.md +0 -0
  33. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/em-reviewer.md +0 -0
  34. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/incident-responder.md +0 -0
  35. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/merge-reviewer.md +0 -0
  36. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/observability-engineer.md +0 -0
  37. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/orchestrator.md +0 -0
  38. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/owasp-reviewer.md +0 -0
  39. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/policy-validator.md +0 -0
  40. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/pr-raiser.md +0 -0
  41. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/risk-classifier.md +0 -0
  42. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/sdlc-code-reviewer.md +0 -0
  43. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/secret-scanner.md +0 -0
  44. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/security-reviewer.md +0 -0
  45. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/senior-backend-dev.md +0 -0
  46. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/senior-frontend-dev.md +0 -0
  47. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/senior-tester.md +0 -0
  48. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/spec-doc-writer.md +0 -0
  49. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/story-planner.md +0 -0
  50. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/technical-architect.md +0 -0
  51. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/tester.md +0 -0
  52. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/ui-designer.md +0 -0
  53. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/agents/unit-tester.md +0 -0
  54. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/catalog/mcp.yaml +0 -0
  55. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/catalog/org.yaml +0 -0
  56. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/catalog/stacks.yaml +0 -0
  57. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/commands/abort.md +0 -0
  58. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/commands/init.md +0 -0
  59. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/commands/sdlc.md +0 -0
  60. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/commands/status.md +0 -0
  61. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/docs/agents.md +0 -0
  62. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/docs/architecture.md +0 -0
  63. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/docs/eval-harness.md +0 -0
  64. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/docs/org-capabilities.md +0 -0
  65. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/audit-log.sh +0 -0
  66. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/guard-destructive-git.sh +0 -0
  67. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/guard-secrets.sh +0 -0
  68. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/lint-fix.sh +0 -0
  69. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/load-autonomy.sh +0 -0
  70. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/load-continuity.sh +0 -0
  71. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/type-check.sh +0 -0
  72. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/validate-frontmatter.sh +0 -0
  73. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/validate-settings.sh +0 -0
  74. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/warn-large-edits.sh +0 -0
  75. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/warn-llm-io.sh +0 -0
  76. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/warn-missing-tests.sh +0 -0
  77. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
  78. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/hooks/scripts/warn-shared-modules.sh +0 -0
  79. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/agent-guardrails.md +0 -0
  80. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/agent-resilience.md +0 -0
  81. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/autonomy-levels.md +0 -0
  82. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/code-organization.md +0 -0
  83. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/continuity.md +0 -0
  84. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/design-patterns.md +0 -0
  85. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/devops-observability.md +0 -0
  86. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/documentation.md +0 -0
  87. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/evals.md +0 -0
  88. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/frontend-best-practices.md +0 -0
  89. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/goal-setting-and-monitoring.md +0 -0
  90. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/human-in-the-loop.md +0 -0
  91. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/linting-and-formatting.md +0 -0
  92. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/mandatory-workflow.md +0 -0
  93. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/model-tiers.md +0 -0
  94. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/quality-gates.md +0 -0
  95. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/rarv-cycle.md +0 -0
  96. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/reasoning-techniques.md +0 -0
  97. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/responsive-and-accessibility.md +0 -0
  98. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/risk-classification.md +0 -0
  99. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/testing.md +0 -0
  100. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/rules/tool-design.md +0 -0
  101. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/scripts/init.sh +0 -0
  102. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/_references/accessibility-checklist.md +0 -0
  103. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/_references/orchestration-patterns.md +0 -0
  104. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/_references/performance-checklist.md +0 -0
  105. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/_references/security-checklist.md +0 -0
  106. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/_references/testing-patterns.md +0 -0
  107. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/accessibility-review/SKILL.md +0 -0
  108. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/api-and-interface-design/SKILL.md +0 -0
  109. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/api-integration/SKILL.md +0 -0
  110. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/archive-sprint/SKILL.md +0 -0
  111. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/backlog/SKILL.md +0 -0
  112. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/backlog/item-template.md +0 -0
  113. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  114. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/bug-hunt/SKILL.md +0 -0
  115. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
  116. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/code-review-and-quality/SKILL.md +0 -0
  117. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/code-simplification/SKILL.md +0 -0
  118. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/component-design/SKILL.md +0 -0
  119. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/consolidate-learnings/SKILL.md +0 -0
  120. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/context-engineering/SKILL.md +0 -0
  121. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  122. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/decision/SKILL.md +0 -0
  123. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/decision/adr-template.md +0 -0
  124. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/deprecation-and-migration/SKILL.md +0 -0
  125. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/documentation-and-adrs/SKILL.md +0 -0
  126. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/doubt-driven-development/SKILL.md +0 -0
  127. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/execute/SKILL.md +0 -0
  128. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
  129. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  130. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/idea-refine/SKILL.md +0 -0
  131. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/idea-refine/examples.md +0 -0
  132. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/idea-refine/frameworks.md +0 -0
  133. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/idea-refine/refinement-criteria.md +0 -0
  134. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  135. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/incident-postmortem/SKILL.md +0 -0
  136. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/incremental-implementation/SKILL.md +0 -0
  137. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/interview-me/SKILL.md +0 -0
  138. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/load-testing/SKILL.md +0 -0
  139. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/manual-test/SKILL.md +0 -0
  140. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/over-engineering-review/SKILL.md +0 -0
  141. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/performance-optimization/SKILL.md +0 -0
  142. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
  143. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/playwright-verification/SKILL.md +0 -0
  144. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/refresh-docs/SKILL.md +0 -0
  145. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/scope/SKILL.md +0 -0
  146. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/scope/scope-template.md +0 -0
  147. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/sdlc/SKILL.md +0 -0
  148. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/security-and-hardening/SKILL.md +0 -0
  149. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/security-verification/SKILL.md +0 -0
  150. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/shipping-and-launch/SKILL.md +0 -0
  151. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/simplification-debt/SKILL.md +0 -0
  152. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/smoke-test/SKILL.md +0 -0
  153. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/source-driven-development/SKILL.md +0 -0
  154. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/spec-driven-development/SKILL.md +0 -0
  155. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/sprint/SKILL.md +0 -0
  156. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/sprint/sprint-template.md +0 -0
  157. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/task-tracker-sync/SKILL.md +0 -0
  158. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/test-driven-development/SKILL.md +0 -0
  159. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/test-plan-review/SKILL.md +0 -0
  160. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/threat-model/SKILL.md +0 -0
  161. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/triage/SKILL.md +0 -0
  162. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/ui-ux-design/SKILL.md +0 -0
  163. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/unit-test/SKILL.md +0 -0
  164. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/skills/using-agent-skills/SKILL.md +0 -0
  165. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/__main__.py +0 -0
  166. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/cli.py +0 -0
  167. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/render.py +0 -0
  168. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/scaffold.py +0 -0
  169. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/upgrader.py +0 -0
  170. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/src/claude_kit/validator.py +0 -0
  171. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/CLAUDE.md +0 -0
  172. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/CLAUDE.stack.md.tmpl +0 -0
  173. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/CONTINUITY.template.md +0 -0
  174. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/README.claude-sdlc.md.tmpl +0 -0
  175. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/agent-memory/MEMORY.md +0 -0
  176. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/agent-memory/api/.gitkeep +0 -0
  177. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/agent-memory/architecture/.gitkeep +0 -0
  178. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/agent-memory/debugging/.gitkeep +0 -0
  179. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
  180. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/agent-memory/patterns/.gitkeep +0 -0
  181. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/agent-memory/performance/.gitkeep +0 -0
  182. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/artifacts/adr.md +0 -0
  183. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/artifacts/api-change-report.md +0 -0
  184. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/artifacts/feature-spec.md +0 -0
  185. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/artifacts/release-plan.md +0 -0
  186. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/artifacts/runbook.md +0 -0
  187. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/artifacts/security-review.md +0 -0
  188. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/artifacts/test-plan.md +0 -0
  189. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/README.md +0 -0
  190. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/agents/data-workflow-agent.md +0 -0
  191. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/agents/founder-prototype-agent.md +0 -0
  192. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/agents/internal-tools-builder.md +0 -0
  193. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/agents/pm-copilot.md +0 -0
  194. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
  195. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/agents/support-ticket-engineer.md +0 -0
  196. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/devops-and-release/README.md +0 -0
  197. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  198. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/engineering-core/README.md +0 -0
  199. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
  200. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
  201. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  202. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  203. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  204. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/product-to-code/README.md +0 -0
  205. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
  206. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/quality-and-review/README.md +0 -0
  207. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  208. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/security-and-compliance/README.md +0 -0
  209. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  210. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/ai-working-agreement.md +0 -0
  211. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/ambiguity-resolution.md +0 -0
  212. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
  213. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/compliance-policy.md +0 -0
  214. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  215. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/pii-policy.md +0 -0
  216. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/production-data-policy.md +0 -0
  217. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  218. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/prototype-boundaries.md +0 -0
  219. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/rules/secrets-policy.md +0 -0
  220. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  221. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  222. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  223. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  224. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  225. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/review-scope/SKILL.md +0 -0
  226. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
  227. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
  228. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
  229. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
  230. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  231. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  232. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  233. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  234. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  235. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  236. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  237. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  238. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  239. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
  240. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
  241. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
  242. {claude_code_kit-0.16.0 → claude_code_kit-0.17.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
  243. {claude_code_kit-0.16.0 → claude_code_kit-0.17.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.16.0",
13
+ "version": "0.17.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.16.0",
3
+ "version": "0.17.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,69 @@ 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.17.0] — 2026-06-17
8
+
9
+ **Make agent-side learning capture an init-time, cost-aware choice — and make it actually remember.**
10
+ The kit can now reflect on what *Claude itself* changed during a session and record durable learnings
11
+ into `.claude/agent-memory/` (recalled next session by `load-learnings.sh`), via a fully-detached
12
+ background `claude` job that **never blocks your session or next prompt**. How often that runs is the
13
+ token-cost knob, so it is now a question at `claude-kit init` (`capture_mode`) rather than a fixed
14
+ behavior — "everyone has their own way to memorize." Four modes (see `catalog/capture.yaml`):
15
+
16
+ - **`off`** — no auto-capture; record with `/remember` when you choose (zero background cost).
17
+ - **`session-end`** — one background capture when a session ends (~1/session). Lost on abrupt close.
18
+ - **`session-end-catchup`** *(default, recommended)* — adds a SessionStart **catch-up** that, on the
19
+ next launch, captures any prior session that ended *without* being captured — i.e. one closed
20
+ abruptly with Ctrl-C / a hard kill / a closed terminal, where `SessionEnd` never ran. ~1/session,
21
+ robust to abrupt close.
22
+ - **`per-task`** — capture after each file-editing task (Stop), scoped to that task's edits via a
23
+ line-count sentinel. Most resilient, highest token cost.
24
+
25
+ One script (`hooks/scripts/capture-learnings.sh`) backs all of it, dispatched by an argument
26
+ (`end`/`stop`/`catchup`); a per-transcript "done" marker lets a clean exit tell catch-up "already
27
+ handled," so a session is never captured twice.
28
+
29
+ **Two correctness fixes folded in (the previous SessionEnd capture looked done but did not actually
30
+ remember):**
31
+ - **Recall now works.** The background agent wrote the learning file but could not index it in
32
+ `MEMORY.md`, which is the *only* file `load-learnings.sh` reads — so learnings were invisible to
33
+ future sessions. Root cause: `.claude/` is a Claude-Code-protected path that `--permission-mode
34
+ acceptEdits` cannot write from a detached, no-TTY background agent. The capture child now runs with
35
+ `--permission-mode bypassPermissions` (safe here: file tools only, no shell, prompt-confined to
36
+ `.claude/agent-memory/`), and the prompt makes indexing in `MEMORY.md` mandatory + self-verified.
37
+ Round-trip (write → index → recall) verified end-to-end.
38
+ - **`load-learnings.sh` zero-entry crash** — `grep -c … || echo 0` emitted `"0\n0"` → `integer
39
+ expected`; fixed with `|| true` + `${ENTRIES:-0}`.
40
+
41
+ Conservative + safe by construction (golden rule #1 — stack-agnostic, fail-safe): every mode degrades
42
+ to a silent no-op without `jq`/`claude`/a transcript or when the project has no `agent-memory/`, and
43
+ only spawns when there were actual file edits. The job inherits the user's logged-in auth, runs
44
+ hook-free (`--settings '{"disableAllHooks":true}'`); recursion is broken by `CLAUDE_KIT_NO_AUTOCAPTURE=1`
45
+ (passed to the child), which doubles as the user opt-out. `CLAUDE_KIT_CAPTURE_MODEL` optionally pins a
46
+ model (default: inherit the user's).
47
+
48
+ ### Added
49
+ - **`capture_mode` init choice** — new `catalog/capture.yaml` (the four modes → hook sets, default
50
+ `session-end-catchup`); a `Selection.capture_mode` field; an interactive prompt (profile-aware
51
+ default: **lean → off**, otherwise the recommended catch-up); `--config` / `--defaults` support;
52
+ `catalog.capture_mode_options()` + a branch-free `catalog._apply_capture_mode()` that swaps the
53
+ capture hooks for the chosen mode (golden rule #6 — pure data + set op).
54
+ - **Three capture triggers** in `HOOK_REGISTRY`, all backed by the one `capture-learnings.sh`:
55
+ `capture-learnings` (SessionEnd, `end`), `capture-learnings-catchup` (SessionStart, `catchup`),
56
+ `capture-learnings-stop` (Stop, `stop`). The recommended default is wired into the plugin
57
+ (`hooks/hooks.json`) and the no-pip fallback (`templates/settings.json`).
58
+
59
+ ### Changed
60
+ - `catalog/profiles.yaml` — the standard profile no longer hard-lists `capture-learnings`; capture is
61
+ installed by `capture_mode`, not profile membership (`load-learnings` recall stays profile-driven).
62
+ - **Docs** — `README.md`, `rules/agent-memory.md`, `docs/agentic-patterns.md` (Ch. 9),
63
+ `docs/coverage-audit.md`, `skills/remember/SKILL.md`, and `CONTRIBUTING.md` describe the configurable,
64
+ abrupt-close-robust capture.
65
+
66
+ ### Fixed
67
+ - Background capture now reliably **indexes** learnings in `MEMORY.md` (was write-only → unrecalled).
68
+ - `load-learnings.sh` no longer errors on a zero-entry index.
69
+
7
70
  ## [0.16.0] — 2026-06-16
8
71
 
9
72
  **Adopt a full React/Tailwind/Radix design-system rule set as always-on React overlay rules.** Three
@@ -39,7 +39,10 @@ locally, and how to release.
39
39
  - **Rule** → add `rules/<name>.md`; cross-reference siblings as `.claude/rules/<name>.md`.
40
40
  - **Hook** → add a script to `hooks/scripts/`, register it in the `HOOK_REGISTRY` in
41
41
  `src/claude_kit/hooks.py`, wire it in `hooks/hooks.json` (plugin), and list its id in the relevant
42
- profile's `hooks:`.
42
+ profile's `hooks:`. (Exception: the agent-side capture hooks `capture-learnings[-catchup|-stop]` are
43
+ **not** profile-listed — they're installed by the init-time `capture_mode` choice via
44
+ `catalog/capture.yaml` + `catalog._apply_capture_mode`. One script, three triggers, dispatched by an
45
+ arg.)
43
46
  - **Stack** (framework / database) → a **data change**: add an entry to `catalog/stacks.yaml`
44
47
  (`label`, `overlay_rules`, optional `overlay_agents`, `skills`, `stack_dir`, `commands`) and create
45
48
  `templates/stacks/<stack_dir>/rules/<name>.md` (+ `agents/` for a database). Mark not-yet-ready
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-kit
3
- Version: 0.16.0
3
+ Version: 0.17.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
@@ -41,7 +41,7 @@ with a quality gate between every phase. **No application code. No Docker. Confi
41
41
  [![CI](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml)
42
42
  [![Changelog](https://img.shields.io/badge/changelog-md-blue.svg)](CHANGELOG.md)
43
43
 
44
- 🚀 [Quick start](#quick-start) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 📖 [Agent guide](docs/agents.md)
44
+ 🚀 [Quick start](#quick-start) · ✨ [Features](#features) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 📖 [Agent guide](docs/agents.md)
45
45
 
46
46
  </div>
47
47
 
@@ -68,7 +68,10 @@ refuses to advance a phase until its **quality gate** passes. You drive it all w
68
68
  - 👥 **Scope to your team** — `individual` / `team` (default) / `organization`. Org scope adds a
69
69
  vibe-coding layer so PMs, designers, QA, support, and founders can drive work safely too.
70
70
  - 🧠 **Remembers across sessions** — working memory (`CONTINUITY.md`) survives context compaction, and a
71
- learnings loop (`agent-memory/`) means the same mistake isn't made twice.
71
+ learnings loop (`agent-memory/`) means the same mistake isn't made twice. Learnings are captured
72
+ automatically — from your corrections *and*, in a non-blocking background job, from what Claude
73
+ changed. How aggressively to capture is a cost-aware choice at `init` (`capture_mode`: off · on
74
+ clean exit · + catch-up for sessions closed abruptly · per task).
72
75
  - 📦 **Two channels, one source** — a first-class Claude Code **plugin** *and* a **pip** scaffolder.
73
76
 
74
77
  > Inspired by the autonomous-SDLC idea, rebuilt from the ground up **for Claude Code**, and kept small
@@ -167,6 +170,116 @@ README.claude-sdlc.md
167
170
 
168
171
  ---
169
172
 
173
+ ## Features
174
+
175
+ A complete, governed autonomous SDLC — installed as configuration, driven by `/sdlc`, and tunable to
176
+ your stack, rigor, and team. The full surface, grouped by what it does:
177
+
178
+ ### 🔁 Pipeline & quality gates
179
+
180
+ - **Gate-enforced progression** — every phase ends in a quality gate that passes *only* with zero open
181
+ Critical/High/Medium findings; no silent advancement (see [the pipeline](#the-pipeline)).
182
+ - **Profile-scoped gates** — `lean` runs `code-review · build-green`; `standard` adds spec / EM /
183
+ coverage / security / contract; `enterprise` adds `pipeline-green · observability-ready · acceptance`.
184
+ - **Fast-track mode** — changes under 5 files collapse to Developer → Code Reviewer → Tester → PR,
185
+ skipping the heavyweight stages.
186
+ - **Anti-sycophancy guard** — a *unanimous* PASS is treated as suspicious and triggers an adversarial
187
+ `devils-advocate` pass before the gate may close.
188
+
189
+ ### 🤖 The agent roster
190
+
191
+ - **28 specialized agents** in [`agents/`](agents/), each tagged with a `tier`
192
+ (orchestrator · stage-lead · specialist · review) and installed per profile.
193
+ - **An Orchestrator that never writes code** — it decomposes work, runs independent lanes in parallel,
194
+ and blocks each phase on its gate.
195
+ - **Database overlay agents** layer in per database — PostgreSQL adds
196
+ `postgres-specialist · migration-specialist · db-performance-reviewer`; MongoDB adds
197
+ `mongodb-specialist · migration-specialist`.
198
+ - **6 organization personas** (`pm-copilot` · `founder-prototype-agent` · `support-ticket-engineer` ·
199
+ `data-workflow-agent` · `internal-tools-builder` · `staff-pm-reviewer`) unlock in org scope so
200
+ non-engineers can drive work safely.
201
+
202
+ ### 🔍 Self-verification & review
203
+
204
+ - **RARV self-check** — every agent runs Reason → Act → Reflect → Verify and must show a *green Verify*
205
+ (real commands run, not imagined) before handing off.
206
+ - **Blind parallel review** — independent reviewers judge a work stream separately, and a
207
+ `merge-reviewer` reconciles parallel lanes at every join point.
208
+ - **Risk-classified work** — a read-only `risk-classifier` labels each task low/medium/high/restricted
209
+ and names the gates it requires (enterprise + org).
210
+
211
+ ### 📐 Rules & skills
212
+
213
+ - **23 stack-agnostic core rules** in [`rules/`](rules/) — `mandatory-workflow`, `quality-gates`,
214
+ `rarv-cycle`, `continuity`, plus eight agent-operation rules and `autonomy-levels` +
215
+ `risk-classification` (see [`docs/agentic-patterns.md`](docs/agentic-patterns.md)).
216
+ - **51 on-demand skills** in [`skills/`](skills/) — spec-driven dev, planning, TDD, debugging, code
217
+ review, threat modeling, and more — activated by context and led by the `sdlc` entrypoint.
218
+ - **Profile-subset install** — each profile installs a strict subset of agents, skills, hooks, and
219
+ rules (`lean ⊂ standard ⊂ enterprise`), from fast track to full audit.
220
+
221
+ ### 🧱 Stacks & overlays
222
+
223
+ - **Stack-agnostic core** — the pipeline assumes no language or framework; it never writes your app
224
+ code and never needs Docker.
225
+ - **10 stack overlay rules** layer matching guidance on top — React, FastAPI, Go/net-http, PostgreSQL,
226
+ MongoDB — wired to your exact lint/test/build commands.
227
+ - **A full React design system** — picking React installs design tokens, UX patterns, and
228
+ mobile/Capacitor guidelines that the UI skills and `ui-designer` agent read.
229
+
230
+ ### 🎚️ Profiles, scopes & the org layer
231
+
232
+ - **3 rigor profiles** — `lean ⊊ standard ⊊ enterprise` decide how many agents, skills, hooks, and
233
+ gates are active.
234
+ - **3 usage scopes** — `individual` / `team` (default) / `organization`, with a vibe-coding layer in
235
+ org scope.
236
+ - **5 autonomy levels** — from Advisory (plan & review only) through Autonomous (PR) to
237
+ Enterprise-controlled, each adding deterministic guardrail hooks.
238
+ - **7 capability packs + 10 org policy rules** under [`templates/org/`](templates/org/) (secrets, PII,
239
+ compliance, production-data) install only in organization scope (see
240
+ [`docs/org-capabilities.md`](docs/org-capabilities.md)).
241
+
242
+ ### 🧠 Memory & continuous learning
243
+
244
+ - **Working memory across sessions** — `CONTINUITY.md` survives context compaction so the pipeline
245
+ never loses its place.
246
+ - **A learnings loop** — `agent-memory/` captures fixes from your corrections *and*, in a non-blocking
247
+ background job, from what Claude changed, so the same mistake isn't made twice.
248
+ - **Cost-aware capture** — how aggressively learnings are captured (`capture_mode`: off · on clean
249
+ exit · + catch-up · per task) is a choice at `init`.
250
+
251
+ ### 🛠️ Hooks & deterministic guards
252
+
253
+ - **16 event hook scripts** in [`hooks/`](hooks/) enforce the pipeline outside the model —
254
+ `guard-secrets`, `guard-destructive-git`, `lint-fix`, `type-check`, and `validate-settings` run
255
+ deterministically.
256
+ - **Advisory, never-blocking warnings** — `warn-llm-io`, `warn-large-edits`, `warn-missing-tests`, and
257
+ `warn-sensitive-files` flag risk without halting work.
258
+ - **Graceful degradation** — hooks need a POSIX shell + `jq` and silently no-op when absent, so the
259
+ kit still functions everywhere.
260
+
261
+ ### 📦 Distribution & lifecycle
262
+
263
+ - **Two channels, one source** — a first-class Claude Code **plugin** *and* a `pip` scaffolder
264
+ (`claude-kit` / `ckit` / `claude-sdlc`) generate identical config.
265
+ - **Catalog-driven extensibility** — adding a stack, framework, database, profile, MCP server, or org
266
+ pack is a [`catalog/`](catalog/) YAML edit, never a code change; 9 MCP server fragments ship ready.
267
+ - **Safe, edit-preserving upgrades** — `upgrade` refreshes kit/overlay files via per-file `owner` +
268
+ checksum, never clobbers your edits, backs up changes, and restores deleted files (`diff` previews
269
+ first).
270
+
271
+ ### ♻️ Reuse-first by design
272
+
273
+ - **Adopt only the genuinely-new** — each external review fetches the real source, adversarially maps
274
+ it against existing files, and ships only the non-duplicative gaps (see
275
+ [what we adopted](#influences--what-we-adopted)).
276
+ - **Opt-in LLM/AI security** — `security-and-hardening` covers the OWASP LLM Top 10 (input/output
277
+ guardrails, PII vault) as bypassable guidance, distinct from the mandatory appsec gate.
278
+ - **A worked example + self-test matrix** — [`examples/`](examples/) shows an end-to-end run, and a
279
+ profile×stack×scope test matrix backs the stack-agnostic claim.
280
+
281
+ ---
282
+
170
283
  ## How it works
171
284
 
172
285
  ```mermaid
@@ -302,7 +415,7 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
302
415
  | **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
303
416
  | **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
304
417
  | **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
305
- | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~52 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
418
+ | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, 28 agents, 51 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
306
419
 
307
420
  **Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
308
421
  that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
@@ -349,7 +462,7 @@ that's the same across every repo and stack, installs in seconds, ships nothing
349
462
  | `incident-responder` | Production-incident triage, mitigation, and postmortem (enterprise scope) |
350
463
  | `pr-raiser` | Final checks, commit hygiene, and PR creation |
351
464
  | **DB overlays** | installed for the selected database — PostgreSQL → `postgres-specialist` · `migration-specialist` · `db-performance-reviewer`; MongoDB → `mongodb-specialist` · `migration-specialist` |
352
- | **Org personas** | `pm-copilot` · `founder-prototype-agent` · `support-ticket-engineer` · `data-workflow-agent` · `internal-tools-builder` (organization scope only) |
465
+ | **Org personas** | `pm-copilot` · `founder-prototype-agent` · `support-ticket-engineer` · `data-workflow-agent` · `internal-tools-builder` · `staff-pm-reviewer` (organization scope only) |
353
466
 
354
467
  </details>
355
468
 
@@ -14,7 +14,7 @@ with a quality gate between every phase. **No application code. No Docker. Confi
14
14
  [![CI](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/ajyadav013/claude-kit/actions/workflows/ci.yml)
15
15
  [![Changelog](https://img.shields.io/badge/changelog-md-blue.svg)](CHANGELOG.md)
16
16
 
17
- 🚀 [Quick start](#quick-start) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 📖 [Agent guide](docs/agents.md)
17
+ 🚀 [Quick start](#quick-start) · ✨ [Features](#features) · 🧭 [How it works](#how-it-works) · 🔁 [The pipeline](#the-pipeline) · 🧪 [Example](examples/) · 🌱 [What we adopted](#influences--what-we-adopted) · 🤖 [Agents](#the-agents) · 🧩 [Catalog](#catalog--extensibility) · 🛠️ [CLI](#cli-reference) · 📖 [Agent guide](docs/agents.md)
18
18
 
19
19
  </div>
20
20
 
@@ -41,7 +41,10 @@ refuses to advance a phase until its **quality gate** passes. You drive it all w
41
41
  - 👥 **Scope to your team** — `individual` / `team` (default) / `organization`. Org scope adds a
42
42
  vibe-coding layer so PMs, designers, QA, support, and founders can drive work safely too.
43
43
  - 🧠 **Remembers across sessions** — working memory (`CONTINUITY.md`) survives context compaction, and a
44
- learnings loop (`agent-memory/`) means the same mistake isn't made twice.
44
+ learnings loop (`agent-memory/`) means the same mistake isn't made twice. Learnings are captured
45
+ automatically — from your corrections *and*, in a non-blocking background job, from what Claude
46
+ changed. How aggressively to capture is a cost-aware choice at `init` (`capture_mode`: off · on
47
+ clean exit · + catch-up for sessions closed abruptly · per task).
45
48
  - 📦 **Two channels, one source** — a first-class Claude Code **plugin** *and* a **pip** scaffolder.
46
49
 
47
50
  > Inspired by the autonomous-SDLC idea, rebuilt from the ground up **for Claude Code**, and kept small
@@ -140,6 +143,116 @@ README.claude-sdlc.md
140
143
 
141
144
  ---
142
145
 
146
+ ## Features
147
+
148
+ A complete, governed autonomous SDLC — installed as configuration, driven by `/sdlc`, and tunable to
149
+ your stack, rigor, and team. The full surface, grouped by what it does:
150
+
151
+ ### 🔁 Pipeline & quality gates
152
+
153
+ - **Gate-enforced progression** — every phase ends in a quality gate that passes *only* with zero open
154
+ Critical/High/Medium findings; no silent advancement (see [the pipeline](#the-pipeline)).
155
+ - **Profile-scoped gates** — `lean` runs `code-review · build-green`; `standard` adds spec / EM /
156
+ coverage / security / contract; `enterprise` adds `pipeline-green · observability-ready · acceptance`.
157
+ - **Fast-track mode** — changes under 5 files collapse to Developer → Code Reviewer → Tester → PR,
158
+ skipping the heavyweight stages.
159
+ - **Anti-sycophancy guard** — a *unanimous* PASS is treated as suspicious and triggers an adversarial
160
+ `devils-advocate` pass before the gate may close.
161
+
162
+ ### 🤖 The agent roster
163
+
164
+ - **28 specialized agents** in [`agents/`](agents/), each tagged with a `tier`
165
+ (orchestrator · stage-lead · specialist · review) and installed per profile.
166
+ - **An Orchestrator that never writes code** — it decomposes work, runs independent lanes in parallel,
167
+ and blocks each phase on its gate.
168
+ - **Database overlay agents** layer in per database — PostgreSQL adds
169
+ `postgres-specialist · migration-specialist · db-performance-reviewer`; MongoDB adds
170
+ `mongodb-specialist · migration-specialist`.
171
+ - **6 organization personas** (`pm-copilot` · `founder-prototype-agent` · `support-ticket-engineer` ·
172
+ `data-workflow-agent` · `internal-tools-builder` · `staff-pm-reviewer`) unlock in org scope so
173
+ non-engineers can drive work safely.
174
+
175
+ ### 🔍 Self-verification & review
176
+
177
+ - **RARV self-check** — every agent runs Reason → Act → Reflect → Verify and must show a *green Verify*
178
+ (real commands run, not imagined) before handing off.
179
+ - **Blind parallel review** — independent reviewers judge a work stream separately, and a
180
+ `merge-reviewer` reconciles parallel lanes at every join point.
181
+ - **Risk-classified work** — a read-only `risk-classifier` labels each task low/medium/high/restricted
182
+ and names the gates it requires (enterprise + org).
183
+
184
+ ### 📐 Rules & skills
185
+
186
+ - **23 stack-agnostic core rules** in [`rules/`](rules/) — `mandatory-workflow`, `quality-gates`,
187
+ `rarv-cycle`, `continuity`, plus eight agent-operation rules and `autonomy-levels` +
188
+ `risk-classification` (see [`docs/agentic-patterns.md`](docs/agentic-patterns.md)).
189
+ - **51 on-demand skills** in [`skills/`](skills/) — spec-driven dev, planning, TDD, debugging, code
190
+ review, threat modeling, and more — activated by context and led by the `sdlc` entrypoint.
191
+ - **Profile-subset install** — each profile installs a strict subset of agents, skills, hooks, and
192
+ rules (`lean ⊂ standard ⊂ enterprise`), from fast track to full audit.
193
+
194
+ ### 🧱 Stacks & overlays
195
+
196
+ - **Stack-agnostic core** — the pipeline assumes no language or framework; it never writes your app
197
+ code and never needs Docker.
198
+ - **10 stack overlay rules** layer matching guidance on top — React, FastAPI, Go/net-http, PostgreSQL,
199
+ MongoDB — wired to your exact lint/test/build commands.
200
+ - **A full React design system** — picking React installs design tokens, UX patterns, and
201
+ mobile/Capacitor guidelines that the UI skills and `ui-designer` agent read.
202
+
203
+ ### 🎚️ Profiles, scopes & the org layer
204
+
205
+ - **3 rigor profiles** — `lean ⊊ standard ⊊ enterprise` decide how many agents, skills, hooks, and
206
+ gates are active.
207
+ - **3 usage scopes** — `individual` / `team` (default) / `organization`, with a vibe-coding layer in
208
+ org scope.
209
+ - **5 autonomy levels** — from Advisory (plan & review only) through Autonomous (PR) to
210
+ Enterprise-controlled, each adding deterministic guardrail hooks.
211
+ - **7 capability packs + 10 org policy rules** under [`templates/org/`](templates/org/) (secrets, PII,
212
+ compliance, production-data) install only in organization scope (see
213
+ [`docs/org-capabilities.md`](docs/org-capabilities.md)).
214
+
215
+ ### 🧠 Memory & continuous learning
216
+
217
+ - **Working memory across sessions** — `CONTINUITY.md` survives context compaction so the pipeline
218
+ never loses its place.
219
+ - **A learnings loop** — `agent-memory/` captures fixes from your corrections *and*, in a non-blocking
220
+ background job, from what Claude changed, so the same mistake isn't made twice.
221
+ - **Cost-aware capture** — how aggressively learnings are captured (`capture_mode`: off · on clean
222
+ exit · + catch-up · per task) is a choice at `init`.
223
+
224
+ ### 🛠️ Hooks & deterministic guards
225
+
226
+ - **16 event hook scripts** in [`hooks/`](hooks/) enforce the pipeline outside the model —
227
+ `guard-secrets`, `guard-destructive-git`, `lint-fix`, `type-check`, and `validate-settings` run
228
+ deterministically.
229
+ - **Advisory, never-blocking warnings** — `warn-llm-io`, `warn-large-edits`, `warn-missing-tests`, and
230
+ `warn-sensitive-files` flag risk without halting work.
231
+ - **Graceful degradation** — hooks need a POSIX shell + `jq` and silently no-op when absent, so the
232
+ kit still functions everywhere.
233
+
234
+ ### 📦 Distribution & lifecycle
235
+
236
+ - **Two channels, one source** — a first-class Claude Code **plugin** *and* a `pip` scaffolder
237
+ (`claude-kit` / `ckit` / `claude-sdlc`) generate identical config.
238
+ - **Catalog-driven extensibility** — adding a stack, framework, database, profile, MCP server, or org
239
+ pack is a [`catalog/`](catalog/) YAML edit, never a code change; 9 MCP server fragments ship ready.
240
+ - **Safe, edit-preserving upgrades** — `upgrade` refreshes kit/overlay files via per-file `owner` +
241
+ checksum, never clobbers your edits, backs up changes, and restores deleted files (`diff` previews
242
+ first).
243
+
244
+ ### ♻️ Reuse-first by design
245
+
246
+ - **Adopt only the genuinely-new** — each external review fetches the real source, adversarially maps
247
+ it against existing files, and ships only the non-duplicative gaps (see
248
+ [what we adopted](#influences--what-we-adopted)).
249
+ - **Opt-in LLM/AI security** — `security-and-hardening` covers the OWASP LLM Top 10 (input/output
250
+ guardrails, PII vault) as bypassable guidance, distinct from the mandatory appsec gate.
251
+ - **A worked example + self-test matrix** — [`examples/`](examples/) shows an end-to-end run, and a
252
+ profile×stack×scope test matrix backs the stack-agnostic claim.
253
+
254
+ ---
255
+
143
256
  ## How it works
144
257
 
145
258
  ```mermaid
@@ -275,7 +388,7 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
275
388
  | **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
276
389
  | **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
277
390
  | **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
278
- | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~52 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
391
+ | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, 28 agents, 51 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
279
392
 
280
393
  **Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
281
394
  that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
@@ -322,7 +435,7 @@ that's the same across every repo and stack, installs in seconds, ships nothing
322
435
  | `incident-responder` | Production-incident triage, mitigation, and postmortem (enterprise scope) |
323
436
  | `pr-raiser` | Final checks, commit hygiene, and PR creation |
324
437
  | **DB overlays** | installed for the selected database — PostgreSQL → `postgres-specialist` · `migration-specialist` · `db-performance-reviewer`; MongoDB → `mongodb-specialist` · `migration-specialist` |
325
- | **Org personas** | `pm-copilot` · `founder-prototype-agent` · `support-ticket-engineer` · `data-workflow-agent` · `internal-tools-builder` (organization scope only) |
438
+ | **Org personas** | `pm-copilot` · `founder-prototype-agent` · `support-ticket-engineer` · `data-workflow-agent` · `internal-tools-builder` · `staff-pm-reviewer` (organization scope only) |
326
439
 
327
440
  </details>
328
441
 
@@ -0,0 +1,37 @@
1
+ # claude-kit learning-capture modes — the cost↔coverage choice surfaced at `claude-kit init`.
2
+ #
3
+ # The kit closes the self-improving loop two ways: RECALL (`load-learnings` SessionStart hook injects
4
+ # `.claude/agent-memory/MEMORY.md`) and CAPTURE (a detached background `claude` job records what the
5
+ # agent itself changed/learned). This file governs ONLY the agent-side CAPTURE trigger — how often /
6
+ # when it fires — because that is where token cost accrues and preferences differ. RECALL and the
7
+ # user-side `learning-detection` hook stay profile-driven.
8
+ #
9
+ # One script (`hooks/scripts/capture-learnings.sh`) backs every mode, dispatched by an argument
10
+ # (`end` / `stop` / `catchup`); the registry in `src/claude_kit/hooks.py` maps each hook id below to
11
+ # that script + event. `catalog._apply_capture_mode()` is the ONLY consumer: it strips the union of all
12
+ # modes' hooks from the resolved set (so the profile / the enterprise `all` token never force a capture
13
+ # trigger) and adds back exactly the chosen mode's hooks, ensuring `load-learnings` (recall) is present
14
+ # whenever capture is on. Adding/retuning a mode is a pure data edit here — no code change (golden rule #6).
15
+
16
+ version: 1
17
+
18
+ # Used by `--defaults`, the plugin install, and shown as the recommended pick. The interactive prompt
19
+ # overrides this to `off` for the lean profile (lean is intentionally minimal).
20
+ default: session-end-catchup
21
+
22
+ modes:
23
+ "off":
24
+ label: "Off — capture only when you run /remember (zero background cost)"
25
+ hooks: []
26
+
27
+ session-end:
28
+ label: "On clean exit — one background capture when a session ends (~1/session; skipped on abrupt close)"
29
+ hooks: [capture-learnings]
30
+
31
+ session-end-catchup:
32
+ label: "On clean exit + catch-up — also captures sessions closed abruptly (Ctrl-C/kill), on next launch (recommended; ~1/session)"
33
+ hooks: [capture-learnings, capture-learnings-catchup]
34
+
35
+ per-task:
36
+ label: "Per task — capture after each file-editing task; most resilient, highest token cost"
37
+ hooks: [capture-learnings-stop]
@@ -88,6 +88,9 @@ profiles:
88
88
  # non-API projects on standard while enforcing backward-compatibility for API-exposing backends
89
89
  # (e.g. FastAPI). Promoted from enterprise-only per brief #2 P0-1 — see CHANGELOG 0.13.0.
90
90
  gates: [spec-complete, em-approved, code-review, build-green, test-coverage, security-clear, contract-clear]
91
+ # NOTE: the agent-side capture hooks (capture-learnings / -catchup / -stop) are deliberately NOT
92
+ # listed here — they are installed by the init-time `capture_mode` choice via catalog/capture.yaml
93
+ # (see catalog._apply_capture_mode), not by profile membership. load-learnings (recall) stays.
91
94
  hooks: [load-continuity, load-learnings, load-autonomy, skill-routing, learning-detection, guard-rm-rf, guard-push-main, guard-destructive-git, protect-secrets, guard-commit-secrets, warn-shared-modules, warn-llm-io, lint-fix, type-check]
92
95
 
93
96
  enterprise:
@@ -25,7 +25,7 @@ they are already embodied in its rules, agents, skills, and the orchestration mo
25
25
  | 6 | Planning | `agents/spec-doc-writer`, `story-planner`, `technical-architect`; `skills/spec-driven-development`, `planning-and-task-breakdown`, `scope`, `sprint` | covered (strong) |
26
26
  | 7 | Multi-Agent Collaboration | 28 agents; subagents + Agent-Teams worked example in orchestration-patterns | covered (strong) |
27
27
  | 8 | Memory Management | `rules/continuity.md` (working) + `rules/agent-memory.md` (durable, now with the **working/episodic/semantic/procedural** taxonomy); `skills/remember`, `consolidate-learnings`, `context-engineering` | covered (taxonomy added) |
28
- | 9 | Learning & Adaptation | `rules/agent-memory.md`; `skills/remember`; the `load-learnings` SessionStart hook | covered |
28
+ | 9 | Learning & Adaptation | `rules/agent-memory.md`; `skills/remember`; the `load-learnings` SessionStart hook; **auto-capture from two sides** — the `learning-detection` UserPromptSubmit hook (user corrections) **and** the configurable `capture-learnings` hook (a non-blocking background job over Claude's own work, fired per the init-time `capture_mode`: SessionEnd · +SessionStart catch-up for abrupt closes · per-task Stop) | covered |
29
29
  | 10 | Model Context Protocol (MCP) | `catalog/mcp.yaml` → `.mcp.json`; `skills/browser-testing-with-devtools`; design guidance in `rules/tool-design.md` | covered (strong) |
30
30
  | 11 | Goal Setting & Monitoring | **`rules/goal-setting-and-monitoring.md`** (new) + spec acceptance criteria + `acceptance-reviewer` + quality-gates process signals | **rule added** |
31
31
  | 12 | Exception Handling & Recovery | **`rules/agent-resilience.md`** (new) + gate retry budgets + `skills/debugging-and-error-recovery` (product bugs) | **rule added** |
@@ -41,7 +41,7 @@ enforcement class:
41
41
  |------------|-------|----------|----------------|
42
42
  | **Autonomous-action safety** (P0-1) | **RULE — always-on** | `rules/agent-guardrails.md` §3 block/confirm/allow posture + verify-the-target + §1 "untrusted content never authorizes"; cross-ref `rules/risk-classification.md` restricted tier; deterministic backstops `hooks/scripts/guard-destructive-git.sh` + `rm -rf`/push-main guards | all profiles (rule + the existing guard hooks) |
43
43
  | **Anti-fabrication of verdicts** (P0-2) | **RULE + auto-Critical** | `rules/quality-gates.md` §2.5 (verdict must cite real command + output) and §1 (fabricated/assumed/partial verdict = auto-Critical); reinforced in `rules/agent-guardrails.md` §2 + `rules/rarv-cycle.md` | all gates, all profiles (a fabricated verdict blocks like any Critical) |
44
- | **Memory hygiene** (P1-1) | **RULE — always-on** | `rules/agent-memory.md` "Memory hygiene" (verify-before-trust, cited selective attachment, CLAUDE.md precedence); `rules/continuity.md` start-of-turn line; `remember` skill staleness check | all profiles (advisory discipline) |
44
+ | **Memory hygiene** (P1-1) | **RULE — always-on** | `rules/agent-memory.md` "Memory hygiene" (verify-before-trust, cited selective attachment, CLAUDE.md precedence); `rules/continuity.md` start-of-turn line; `remember` skill staleness check. Capture is automatic from both sides: the `learning-detection` UserPromptSubmit hook (user corrections) + the configurable `capture-learnings` hook (a non-blocking background job over Claude's own work) | all profiles (advisory discipline); capture via the init-time `capture_mode` choice (default: on clean exit + catch-up) |
45
45
  | **Resume snapshot** (P1-2) | **RULE + MECH** | `rules/continuity.md` schema for `.claude/state/pipeline-snapshot.json` + reload-not-rerun protocol; written/read by `orchestrator` + `sdlc` skill; dir created by the pip installer (gitignored) and `load-continuity.sh` | all profiles (state mechanism + rule) |
46
46
  | **Plan-phase critique** (P1-3) | **GATED — standard+**; RULE in lean | standard+: `devils-advocate` on the spec before EM approval is final (`mandatory-workflow.md` §1e.5, `quality-gates.md` §3, orchestrator Stage PC) — UPHELD blocks the spec gate. lean: the `spec-doc-writer` self-critique (RARV) only, no agent | standard+ (blocking); lean (advisory self-critique) |
47
47
  | **Implementer house style** (P2-1) | **RULE + code-review checks** | `templates/CLAUDE.md` "Surgical Changes" (delete-vs-shim, validate-at-boundary, cite `path:line`; no-narration cross-ref `documentation.md` §6); `sdlc-code-reviewer` Change-Hygiene checks (shim = Medium, redundant validation = Low, narration = Low) | all profiles (rule); the code-review gate enforces the checks |
@@ -5,7 +5,8 @@
5
5
  "hooks": [
6
6
  { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-continuity.sh\"" },
7
7
  { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-learnings.sh\"" },
8
- { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-autonomy.sh\"" }
8
+ { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/load-autonomy.sh\"" },
9
+ { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/capture-learnings.sh\" catchup" }
9
10
  ]
10
11
  }
11
12
  ],
@@ -57,5 +58,13 @@
57
58
  { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/type-check.sh\"" }
58
59
  ]
59
60
  }
61
+ ],
62
+ "SessionEnd": [
63
+ {
64
+ "matcher": "",
65
+ "hooks": [
66
+ { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/capture-learnings.sh\" end" }
67
+ ]
68
+ }
60
69
  ]
61
70
  }