claude-code-kit 0.78.0__tar.gz → 0.79.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 (984) hide show
  1. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/CHANGELOG.md +92 -0
  4. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/PKG-INFO +2 -2
  5. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/catalog/profiles.yaml +72 -2
  6. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/catalog/stacks.yaml +35 -3
  7. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/skill-audit.md +25 -2
  8. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/pyproject.toml +1 -1
  9. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/__init__.py +1 -1
  10. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/cli.py +5 -1
  11. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/models.py +50 -1
  12. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/scaffold.py +144 -17
  13. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/upgrader.py +26 -2
  14. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/.gitignore +0 -0
  15. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/CLAUDE.md +0 -0
  16. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/CONTRIBUTING.md +0 -0
  17. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/LICENSE +0 -0
  18. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/README.md +0 -0
  19. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/acceptance-reviewer.md +0 -0
  20. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/auditor.md +0 -0
  21. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/dependency-scanner.md +0 -0
  22. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/developer.md +0 -0
  23. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/devils-advocate.md +0 -0
  24. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/devops-engineer.md +0 -0
  25. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/e2e-tester.md +0 -0
  26. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/em-reviewer.md +0 -0
  27. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/incident-responder.md +0 -0
  28. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/merge-reviewer.md +0 -0
  29. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/observability-engineer.md +0 -0
  30. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/orchestrator.md +0 -0
  31. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/owasp-reviewer.md +0 -0
  32. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/pentest-scanner.md +0 -0
  33. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/policy-validator.md +0 -0
  34. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/pr-raiser.md +0 -0
  35. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/risk-classifier.md +0 -0
  36. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/sdlc-code-reviewer.md +0 -0
  37. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/secret-scanner.md +0 -0
  38. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/security-reviewer.md +0 -0
  39. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/senior-backend-dev.md +0 -0
  40. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/senior-frontend-dev.md +0 -0
  41. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/senior-tester.md +0 -0
  42. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/spec-doc-writer.md +0 -0
  43. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/story-planner.md +0 -0
  44. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/technical-architect.md +0 -0
  45. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/tester.md +0 -0
  46. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/ui-designer.md +0 -0
  47. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/agents/unit-tester.md +0 -0
  48. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/catalog/capture.yaml +0 -0
  49. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/catalog/mcp.yaml +0 -0
  50. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/catalog/org.yaml +0 -0
  51. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/commands/abort.md +0 -0
  52. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/commands/init.md +0 -0
  53. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/commands/sdlc.md +0 -0
  54. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/commands/status.md +0 -0
  55. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/KNOWN_LIMITATIONS.md +0 -0
  56. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/RELEASE-POLICY.md +0 -0
  57. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/agentic-patterns.md +0 -0
  58. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/agents.md +0 -0
  59. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/ai-engineering-articles.md +0 -0
  60. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/architecture.md +0 -0
  61. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/autonomous-operation.md +0 -0
  62. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/capture-a-real-run.md +0 -0
  63. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/cli.md +0 -0
  64. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/coverage-audit.md +0 -0
  65. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/cursor-export.md +0 -0
  66. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/engineering-articles.md +0 -0
  67. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/eval-harness.md +0 -0
  68. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/images/ticket-board.png +0 -0
  69. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/influences.md +0 -0
  70. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/install.md +0 -0
  71. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/launch/awesome-prs.md +0 -0
  72. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/launch/demo-script.md +0 -0
  73. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/launch/directory-submission.md +0 -0
  74. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/launch/github-about.md +0 -0
  75. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/launch/posts.md +0 -0
  76. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/launch/road-to-1.0.md +0 -0
  77. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/launch/seed-issues.md +0 -0
  78. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/lld-catalog.md +0 -0
  79. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/org-capabilities.md +0 -0
  80. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/rules-context-budget.md +0 -0
  81. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
  82. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/stack-skills/README.md +0 -0
  83. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
  84. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/system-design-resources.md +0 -0
  85. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/docs/system-design-threads.md +0 -0
  86. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/hooks.json +0 -0
  87. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/audit-log.sh +0 -0
  88. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/capture-learnings.sh +0 -0
  89. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/capture-ticket-telemetry.sh +0 -0
  90. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/guard-destructive-git.sh +0 -0
  91. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
  92. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/guard-push-main.sh +0 -0
  93. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/guard-secrets.sh +0 -0
  94. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/lint-fix.sh +0 -0
  95. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/load-autonomy.sh +0 -0
  96. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/load-continuity.sh +0 -0
  97. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/load-learnings.sh +0 -0
  98. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/type-check.sh +0 -0
  99. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/validate-frontmatter.sh +0 -0
  100. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/validate-settings.sh +0 -0
  101. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/verify-continuity-writeback.sh +0 -0
  102. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/warn-large-edits.sh +0 -0
  103. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/warn-llm-io.sh +0 -0
  104. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/warn-missing-tests.sh +0 -0
  105. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
  106. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/hooks/scripts/warn-shared-modules.sh +0 -0
  107. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/agent-guardrails.md +0 -0
  108. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/agent-memory.md +0 -0
  109. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/agent-resilience.md +0 -0
  110. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/autonomy-levels.md +0 -0
  111. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/code-organization.md +0 -0
  112. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/continuity.md +0 -0
  113. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/design-patterns.md +0 -0
  114. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/devops-observability.md +0 -0
  115. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/documentation.md +0 -0
  116. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/evals.md +0 -0
  117. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/frontend-best-practices.md +0 -0
  118. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/goal-setting-and-monitoring.md +0 -0
  119. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/human-in-the-loop.md +0 -0
  120. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/linting-and-formatting.md +0 -0
  121. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/mandatory-workflow.md +0 -0
  122. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/model-tiers.md +0 -0
  123. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/quality-gates.md +0 -0
  124. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/rarv-cycle.md +0 -0
  125. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/reasoning-techniques.md +0 -0
  126. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/resilience-engineering.md +0 -0
  127. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/responsive-and-accessibility.md +0 -0
  128. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/risk-classification.md +0 -0
  129. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/testing.md +0 -0
  130. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/tool-design.md +0 -0
  131. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/rules/wave-orchestration.md +0 -0
  132. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/README.md +0 -0
  133. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/catalog-capture.schema.json +0 -0
  134. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/catalog-mcp.schema.json +0 -0
  135. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/catalog-org.schema.json +0 -0
  136. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/catalog-profiles.schema.json +0 -0
  137. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/catalog-stacks.schema.json +0 -0
  138. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/mcp-lock.schema.json +0 -0
  139. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/org-pack.schema.json +0 -0
  140. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/schemas/pipeline-snapshot.schema.json +0 -0
  141. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/backfill-releases.sh +0 -0
  142. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/capture-sdlc-run.sh +0 -0
  143. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/check_cross_references.py +0 -0
  144. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/check_docs_consistency.py +0 -0
  145. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/check_mcp_pins.py +0 -0
  146. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/check_rule_sizes.py +0 -0
  147. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/check_skill_descriptions.py +0 -0
  148. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/blind_ab.py +0 -0
  149. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/check-docker-leaks.sh +0 -0
  150. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/discover_components.py +0 -0
  151. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/grade_covenant.py +0 -0
  152. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/grade_reprobe.py +0 -0
  153. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/holdout_seal.py +0 -0
  154. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/measure-standing-context.sh +0 -0
  155. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/meta_check.py +0 -0
  156. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/mutation_controls.py +0 -0
  157. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/node_oracle.mjs +0 -0
  158. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/pentest-probe.sh +0 -0
  159. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/reclassify_scenarios.py +0 -0
  160. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/reconcile_dynamic.py +0 -0
  161. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/rule_load_proof.py +0 -0
  162. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/run-in-docker.sh +0 -0
  163. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/run-scenario.sh +0 -0
  164. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/stamp-coverage-provenance.py +0 -0
  165. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/static_eval.py +0 -0
  166. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/test_integrity.py +0 -0
  167. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier-a-agent-probe.sh +0 -0
  168. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier-b-probe.sh +0 -0
  169. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_a_agents.py +0 -0
  170. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_a_cli.py +0 -0
  171. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_a_config.py +0 -0
  172. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_a_lifecycle.py +0 -0
  173. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_a_scripts.py +0 -0
  174. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_b_batches.py +0 -0
  175. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_b_reconcile.py +0 -0
  176. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/tier_c_reach.py +0 -0
  177. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/evals/validate-suite.sh +0 -0
  178. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/gen_hooks.py +0 -0
  179. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/scripts/init.sh +0 -0
  180. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/_references/accessibility-checklist.md +0 -0
  181. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/_references/orchestration-patterns.md +0 -0
  182. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/_references/performance-checklist.md +0 -0
  183. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/_references/security-checklist.md +0 -0
  184. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/_references/testing-patterns.md +0 -0
  185. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/accessibility-review/SKILL.md +0 -0
  186. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/alembic-migrations/README.md +0 -0
  187. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/alembic-migrations/SKILL.md +0 -0
  188. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
  189. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
  190. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
  191. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
  192. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
  193. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/anthropic-vertex-integration/README.md +0 -0
  194. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
  195. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
  196. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
  197. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
  198. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-and-interface-design/SKILL.md +0 -0
  199. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-and-interface-design/references/asdr-014-http-https.md +0 -0
  200. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-and-interface-design/references/asdr-018-apis.md +0 -0
  201. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-and-interface-design/references/asdr-023-idempotency.md +0 -0
  202. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-and-interface-design/references/asdr-129-stripe-s-payments-apis-the-first-10-years.md +0 -0
  203. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-and-interface-design/references/htn-http-routing.md +0 -0
  204. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-and-interface-design/references/htn-rest-api-design.md +0 -0
  205. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-integration/SKILL.md +0 -0
  206. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
  207. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
  208. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
  209. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
  210. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
  211. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/archive-sprint/SKILL.md +0 -0
  212. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/async-python-patterns/README.md +0 -0
  213. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/async-python-patterns/SKILL.md +0 -0
  214. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
  215. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/async-python-patterns/references/htn-python-s-inner-working-behind-the-scenes.md +0 -0
  216. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
  217. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
  218. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/README.md +0 -0
  219. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/SKILL.md +0 -0
  220. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
  221. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/references/htn-design-an-authentication-system.md +0 -0
  222. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/references/htn-serialization-deserialization-authentication-and-authorizati.md +0 -0
  223. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
  224. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
  225. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
  226. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
  227. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backend-repo-architecture/README.md +0 -0
  228. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backend-repo-architecture/SKILL.md +0 -0
  229. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
  230. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
  231. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
  232. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
  233. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
  234. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backlog/SKILL.md +0 -0
  235. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/backlog/item-template.md +0 -0
  236. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  237. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/bug-hunt/SKILL.md +0 -0
  238. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/bug-hunt/references/alld-048-race-conditions-and-critical-sections.md +0 -0
  239. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
  240. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/code-review-and-quality/SKILL.md +0 -0
  241. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/code-simplification/SKILL.md +0 -0
  242. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/code-simplification/references/alld-014-kiss-principle.md +0 -0
  243. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/component-design/SKILL.md +0 -0
  244. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
  245. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
  246. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
  247. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
  248. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
  249. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/consolidate-learnings/SKILL.md +0 -0
  250. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/README.md +0 -0
  251. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/SKILL.md +0 -0
  252. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
  253. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
  254. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
  255. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
  256. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
  257. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
  258. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/SKILL.md +0 -0
  259. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-002-what-is-an-ai-agent-harness.md +0 -0
  260. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-003-harness-engineering-as-categorical-architecture.md +0 -0
  261. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-004-harness-engineering-the-missing-layer-between-llms-and-pro.md +0 -0
  262. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-005-a-lot-of-conversation-around-harness-engineering-what-does.md +0 -0
  263. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-007-context-engineering-vs-prompt-engineering-elastic.md +0 -0
  264. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-008-context-engineering-vs-prompt-engineering-the-difference-r.md +0 -0
  265. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-009-context-engineering-vs-prompt-engineering-key-differences.md +0 -0
  266. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-010-context-engineering-vs-prompt-engineering-datahub.md +0 -0
  267. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-011-context-engineering-vs-prompt-engineering-abstracta.md +0 -0
  268. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/context-engineering/references/aie-035-how-i-built-an-ai-agent-architecture-a-practical-multi-age.md +0 -0
  269. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
  270. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
  271. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
  272. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
  273. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
  274. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
  275. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
  276. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
  277. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
  278. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
  279. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
  280. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
  281. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
  282. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  283. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/debugging-and-error-recovery/references/aie-034-reflect-intervention-supported-error-attribution-for-silen.md +0 -0
  284. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/debugging-and-error-recovery/references/alld-047-thread-lifecycle-and-states.md +0 -0
  285. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/debugging-and-error-recovery/references/asdr-010-osi-model.md +0 -0
  286. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/decision/SKILL.md +0 -0
  287. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/decision/adr-template.md +0 -0
  288. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dependency-verification/SKILL.md +0 -0
  289. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deploy/SKILL.md +0 -0
  290. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/SKILL.md +0 -0
  291. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/references/aea-040-how-discord-reduced-websocket-traffic-by-40.md +0 -0
  292. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/references/aea-093-how-figma-horizontally-scaled-postgres-to-unlock-nearly-infi.md +0 -0
  293. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/references/aea-110-partitioning-github-s-relational-databases-to-handle-scale.md +0 -0
  294. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/references/aea-194-the-great-re-shard-adding-postgres-capacity-again-with-zero-.md +0 -0
  295. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/references/aea-262-migrating-millions-of-concurrent-websockets-to-envoy.md +0 -0
  296. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/references/asdr-125-how-discord-stores-trillions-of-messages.md +0 -0
  297. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/deprecation-and-migration/references/asdr-127-how-canva-scaled-media-uploads-from-zero-to-50-million-per-d.md +0 -0
  298. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/README.md +0 -0
  299. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
  300. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
  301. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/htn-design-a-vending-machine.md +0 -0
  302. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/htn-lld-concepts.md +0 -0
  303. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/htn-validation-transformation-controllers-middlewares.md +0 -0
  304. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
  305. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
  306. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
  307. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
  308. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
  309. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-system-ops/README.md +0 -0
  310. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-system-ops/SKILL.md +0 -0
  311. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-system-ops/references/ai-readiness.md +0 -0
  312. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-system-ops/references/drift-detection.md +0 -0
  313. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-system-ops/references/governance-and-adoption.md +0 -0
  314. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-system-ops/references/system-health-and-maturity.md +0 -0
  315. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/design-system-ops/references/token-architecture.md +0 -0
  316. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/README.md +0 -0
  317. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/SKILL.md +0 -0
  318. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-011-lessons-learned-from-10-years-of-dynamodb.md +0 -0
  319. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-019-scaling-bitbucket-s-database.md +0 -0
  320. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-055-dropbox-s-scalable-consistent-metadata-caching-solution.md +0 -0
  321. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-060-how-ebay-exports-billion-scale-graphs-on-transactional-graph.md +0 -0
  322. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-066-how-ebay-loads-and-updates-over-ten-billion-vertex-graphs.md +0 -0
  323. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-067-ebay-s-real-time-and-performant-index-service-for-its-large-.md +0 -0
  324. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-081-cache-made-consistent-how-meta-handles-cache-invalidation.md +0 -0
  325. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-082-a-highly-available-strongly-consistent-storage-service-using.md +0 -0
  326. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-084-how-we-built-a-general-purpose-key-value-store-for-facebook-.md +0 -0
  327. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-095-how-figma-reduced-potential-instability-by-scaling-to-multip.md +0 -0
  328. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-098-flipkart-s-mysql-highly-available-setup.md +0 -0
  329. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-114-answering-billions-of-reporting-queries-each-day-with-low-la.md +0 -0
  330. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-149-upscaling-linkedin-s-profile-datastore-while-reducing-costs.md +0 -0
  331. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-175-netflix-s-key-value-data-abstraction-layer.md +0 -0
  332. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-176-netflix-s-timeseries-data-abstraction-layer.md +0 -0
  333. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-197-lessons-learned-from-sharding-postgres-at-notion.md +0 -0
  334. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-244-horizontally-scaling-the-rails-backend-of-shop-app-with-vite.md +0 -0
  335. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-263-scaling-datastores-at-slack-with-vitess.md +0 -0
  336. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-312-mysql-at-uber.md +0 -0
  337. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-321-how-uber-ensures-apache-cassandra-s-tolerance-for-single-zon.md +0 -0
  338. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-322-how-ledgerstore-supports-trillions-of-indexes-at-uber.md +0 -0
  339. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-324-how-uber-serves-over-40-million-reads-per-second-from-online.md +0 -0
  340. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-325-how-uber-optimized-cassandra-operations-at-scale.md +0 -0
  341. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/aea-337-building-a-cost-effective-logging-platform-for-petabyte-scal.md +0 -0
  342. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-006-consistent-hashing.md +0 -0
  343. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-007-cap-theorem.md +0 -0
  344. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-008-failover.md +0 -0
  345. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-017-checksums.md +0 -0
  346. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-029-database-sharding.md +0 -0
  347. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-030-data-replication.md +0 -0
  348. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-031-database-scaling.md +0 -0
  349. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-033-bloom-filters.md +0 -0
  350. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-036-caching-strategies.md +0 -0
  351. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-037-cache-eviction-policies.md +0 -0
  352. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-038-distributed-caching.md +0 -0
  353. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-043-heartbeats.md +0 -0
  354. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-046-distributed-locking.md +0 -0
  355. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-047-gossip-protocol.md +0 -0
  356. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-055-peer-to-peer-p2p-architecture.md +0 -0
  357. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/asdr-062-strong-vs-eventual-consistency.md +0 -0
  358. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/htn-databases-in-depth-part-1.md +0 -0
  359. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/htn-databases-in-depth-part-3.md +0 -0
  360. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/htn-design-a-distributed-cache.md +0 -0
  361. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/htn-design-a-distributed-key-value-store.md +0 -0
  362. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/htn-design-consistent-hashing.md +0 -0
  363. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/distributed-systems-patterns/references/htn-tricky-hld-patterns-for-interviews.md +0 -0
  364. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/doc-consolidation/SKILL.md +0 -0
  365. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-compose/README.md +0 -0
  366. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-compose/SKILL.md +0 -0
  367. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
  368. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-compose/references/compose-skeletons.md +0 -0
  369. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
  370. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-compose/references/repo-evidence.md +0 -0
  371. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-shared/README.md +0 -0
  372. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-shared/SKILL.md +0 -0
  373. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
  374. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-shared/references/repo-evidence.md +0 -0
  375. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-shared/references/shared-base-images.md +0 -0
  376. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
  377. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-backend/README.md +0 -0
  378. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-backend/SKILL.md +0 -0
  379. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
  380. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
  381. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
  382. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-frontend/README.md +0 -0
  383. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-frontend/SKILL.md +0 -0
  384. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
  385. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
  386. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
  387. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/documentation-and-adrs/SKILL.md +0 -0
  388. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/doubt-driven-development/SKILL.md +0 -0
  389. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
  390. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
  391. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
  392. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
  393. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/execute/SKILL.md +0 -0
  394. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/README.md +0 -0
  395. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
  396. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
  397. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
  398. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
  399. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
  400. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
  401. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
  402. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/file-export-and-reporting/README.md +0 -0
  403. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/file-export-and-reporting/SKILL.md +0 -0
  404. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
  405. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
  406. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
  407. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-repo-architecture/README.md +0 -0
  408. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
  409. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
  410. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
  411. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
  412. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
  413. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
  414. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
  415. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
  416. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
  417. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
  418. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
  419. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
  420. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcs-file-storage-patterns/README.md +0 -0
  421. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
  422. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
  423. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
  424. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
  425. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  426. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
  427. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
  428. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
  429. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
  430. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/references/red-dashboard-skeleton.md +0 -0
  431. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
  432. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
  433. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
  434. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/README.md +0 -0
  435. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/SKILL.md +0 -0
  436. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
  437. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
  438. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/references/asdr-020-rest-vs-graphql.md +0 -0
  439. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
  440. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
  441. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
  442. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/idea-refine/SKILL.md +0 -0
  443. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/idea-refine/examples.md +0 -0
  444. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/idea-refine/frameworks.md +0 -0
  445. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/idea-refine/refinement-criteria.md +0 -0
  446. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  447. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/incident-postmortem/SKILL.md +0 -0
  448. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/incremental-implementation/SKILL.md +0 -0
  449. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/interview-me/SKILL.md +0 -0
  450. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kafka-config-driven/README.md +0 -0
  451. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kafka-config-driven/SKILL.md +0 -0
  452. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
  453. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
  454. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kafka-config-driven/references/htn-apache-kafka-crash-course.md +0 -0
  455. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
  456. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
  457. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubectl-operations/README.md +0 -0
  458. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubectl-operations/SKILL.md +0 -0
  459. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubectl-operations/references/command-reference.md +0 -0
  460. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
  461. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
  462. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
  463. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
  464. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubernetes-workload-hardening/README.md +0 -0
  465. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
  466. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
  467. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
  468. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
  469. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/README.md +0 -0
  470. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
  471. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/aie-012-opentelemetry-for-ai-observability-what-it-covers-and-wher.md +0 -0
  472. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/aie-013-opentelemetry-for-llms-instrumenting-a-multi-provider-ai-g.md +0 -0
  473. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/aie-014-best-llm-gateways-for-observability-tracing-cost-attributi.md +0 -0
  474. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/aie-015-llm-observability-with-opentelemetry-unified-tracing-guide.md +0 -0
  475. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/aie-016-llm-observability-glossary.md +0 -0
  476. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/aie-017-the-2026-guide-to-agent-observability-tools.md +0 -0
  477. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
  478. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
  479. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
  480. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/library-review/SKILL.md +0 -0
  481. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-caching-strategies/README.md +0 -0
  482. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-caching-strategies/SKILL.md +0 -0
  483. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-caching-strategies/references/aie-054-prompt-caching-vs-semantic-caching-how-to-make-ai-agents-f.md +0 -0
  484. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-caching-strategies/references/aie-055-the-cache-has-layers-prompt-caching-semantic-caching-and-w.md +0 -0
  485. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-caching-strategies/references/aie-056-prompt-caching-cut-llm-costs-keep-quality.md +0 -0
  486. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-caching-strategies/references/aie-057-semantic-caching-boost-llm-speed-and-reduce-costs.md +0 -0
  487. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-caching-strategies/references/aie-058-optimize-llm-response-costs-and-latency-with-effective-cac.md +0 -0
  488. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/README.md +0 -0
  489. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/SKILL.md +0 -0
  490. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-018-llm-routing-in-production-choosing-the-right-model-for-eve.md +0 -0
  491. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-019-llm-failover-and-load-balancing-for-provider-outages.md +0 -0
  492. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-020-adaptive-model-routing-and-fallback-logic-routing-around-p.md +0 -0
  493. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-021-build-an-llm-fallback-layer-before-your-model-vanishes.md +0 -0
  494. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-022-three-tier-llm-routing-fast-smart-and-power-model-stacks.md +0 -0
  495. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-023-what-our-provider-fallback-actually-looks-like-after-month.md +0 -0
  496. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-032-llm-structured-outputs-schema-validation-for-real-pipeline.md +0 -0
  497. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-gateway-and-routing/references/aie-033-llguidance-super-fast-structured-outputs.md +0 -0
  498. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/README.md +0 -0
  499. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/SKILL.md +0 -0
  500. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-038-accelerating-llm-inference-with-post-training-quantization.md +0 -0
  501. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-039-llm-quantization-explained-int4-int8-fp8-awq-and-gptq.md +0 -0
  502. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-040-llm-quantization-bf16-vs-fp8-vs-int4.md +0 -0
  503. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-041-improving-the-economics-of-llm-inference-with-speculative.md +0 -0
  504. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-042-speculative-decoding-quantization-and-distillation-tradeof.md +0 -0
  505. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-043-speculative-decoding-and-quantization-llm-inference.md +0 -0
  506. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-044-prefill-and-decode-a-technical-guide-to-the-two-phases-of.md +0 -0
  507. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-045-prefill-vs-decode-llm-inference-phases-explained.md +0 -0
  508. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-046-prefill-vs-decode-llm-inference-optimization.md +0 -0
  509. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-047-llm-inference-optimization-prefill-vs-decode.md +0 -0
  510. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-048-the-llm-inference-optimization-stack-quantization-to-specu.md +0 -0
  511. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-049-automatic-prefix-caching-design-in-vllm.md +0 -0
  512. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-050-peek-predictive-queue-informed-kv-cache-management-for-llm.md +0 -0
  513. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-051-epicache-episodic-kv-cache-management-for-long-term-conver.md +0 -0
  514. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-052-automatic-prefix-caching-implementation-details-vllm.md +0 -0
  515. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/llm-inference-optimization/references/aie-053-understanding-vllm-kv-cache.md +0 -0
  516. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/load-testing/SKILL.md +0 -0
  517. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/manual-test/SKILL.md +0 -0
  518. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/modernization-and-migration/README.md +0 -0
  519. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/modernization-and-migration/SKILL.md +0 -0
  520. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
  521. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
  522. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
  523. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
  524. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
  525. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/multi-tenancy-patterns/README.md +0 -0
  526. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
  527. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/multi-tenancy-patterns/references/aie-029-multi-tenant-isolation-for-ai-agents-security-architecture.md +0 -0
  528. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
  529. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
  530. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
  531. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
  532. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-express-service/README.md +0 -0
  533. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-express-service/SKILL.md +0 -0
  534. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
  535. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
  536. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
  537. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-express-service/references/repo-evidence.md +0 -0
  538. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-objection-knex/README.md +0 -0
  539. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-objection-knex/SKILL.md +0 -0
  540. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
  541. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
  542. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
  543. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/notifications-and-messaging/README.md +0 -0
  544. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/notifications-and-messaging/SKILL.md +0 -0
  545. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
  546. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
  547. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
  548. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/README.md +0 -0
  549. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/SKILL.md +0 -0
  550. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-001-classes-and-objects.md +0 -0
  551. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-002-enums.md +0 -0
  552. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-003-interfaces.md +0 -0
  553. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-004-encapsulation.md +0 -0
  554. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-005-abstraction.md +0 -0
  555. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-006-inheritance.md +0 -0
  556. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-007-polymorphism.md +0 -0
  557. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-008-association.md +0 -0
  558. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-009-aggregation.md +0 -0
  559. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-010-composition.md +0 -0
  560. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-011-dependency.md +0 -0
  561. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-012-dry-principle.md +0 -0
  562. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-016-solid-principles-with-code.md +0 -0
  563. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-017-singleton.md +0 -0
  564. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-018-adapter.md +0 -0
  565. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-019-iterator.md +0 -0
  566. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-020-factory-method.md +0 -0
  567. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-021-bridge.md +0 -0
  568. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-022-observer.md +0 -0
  569. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-023-abstract-factory.md +0 -0
  570. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-024-composite.md +0 -0
  571. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-025-strategy.md +0 -0
  572. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-026-builder.md +0 -0
  573. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-027-decorator.md +0 -0
  574. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-028-command.md +0 -0
  575. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-029-prototype.md +0 -0
  576. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-030-facade.md +0 -0
  577. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-031-state.md +0 -0
  578. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-032-flyweight.md +0 -0
  579. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-033-template-method.md +0 -0
  580. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-034-proxy.md +0 -0
  581. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-035-visitor.md +0 -0
  582. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-036-mediator.md +0 -0
  583. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-037-memento.md +0 -0
  584. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-038-chain-of-responsibility.md +0 -0
  585. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-039-class-diagram.md +0 -0
  586. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-040-use-case-diagram.md +0 -0
  587. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-041-sequence-diagram.md +0 -0
  588. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-042-activity-diagram.md +0 -0
  589. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-043-state-machine-diagram.md +0 -0
  590. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-050-semaphores.md +0 -0
  591. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-051-condition-variables.md +0 -0
  592. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-052-coarse-grained-vs-fine-grained-locking.md +0 -0
  593. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-053-reentrant-locks.md +0 -0
  594. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-054-try-lock-and-timed-locking.md +0 -0
  595. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-055-compare-and-swap-cas.md +0 -0
  596. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-056-deadlock.md +0 -0
  597. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-057-livelock.md +0 -0
  598. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-058-signaling-pattern.md +0 -0
  599. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-059-thread-pool-pattern.md +0 -0
  600. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-060-producer-consumer-pattern.md +0 -0
  601. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-061-reader-writer-pattern.md +0 -0
  602. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-062-how-to-answer-a-lld-interview-problem.md +0 -0
  603. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-063-design-parking-lot.md +0 -0
  604. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-064-design-stack-overflow.md +0 -0
  605. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-065-design-a-vending-machine.md +0 -0
  606. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-066-design-logging-framework.md +0 -0
  607. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-067-design-traffic-signal-control-system.md +0 -0
  608. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-068-design-coffee-vending-machine.md +0 -0
  609. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-069-design-a-task-management-system.md +0 -0
  610. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-070-design-atm.md +0 -0
  611. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-071-design-linkedin.md +0 -0
  612. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-072-design-lru-cache.md +0 -0
  613. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-073-design-tic-tac-toe-game.md +0 -0
  614. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-074-design-pub-sub-system.md +0 -0
  615. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-075-design-an-elevator-system.md +0 -0
  616. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-076-design-car-rental-system.md +0 -0
  617. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-077-design-an-online-auction-system.md +0 -0
  618. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-078-design-hotel-management-system.md +0 -0
  619. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-079-design-a-digital-wallet-service.md +0 -0
  620. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-080-design-airline-management-system.md +0 -0
  621. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-081-design-a-library-management-system.md +0 -0
  622. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-082-design-a-social-network-like-facebook.md +0 -0
  623. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-083-design-restaurant-management-system.md +0 -0
  624. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-084-design-a-concert-ticket-booking-system.md +0 -0
  625. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-085-design-cricinfo.md +0 -0
  626. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-086-design-splitwise.md +0 -0
  627. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-087-design-chess-game.md +0 -0
  628. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-088-design-a-snake-and-ladder-game.md +0 -0
  629. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-089-design-ride-sharing-service-like-uber.md +0 -0
  630. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-090-design-course-registration-system.md +0 -0
  631. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-091-design-movie-ticket-booking-system.md +0 -0
  632. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-092-design-online-shopping-system-like-amazon.md +0 -0
  633. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-093-design-online-stock-brokerage-system.md +0 -0
  634. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-094-design-music-streaming-service-like-spotify.md +0 -0
  635. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-095-design-online-food-delivery-service-like-swiggy.md +0 -0
  636. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-096-print-foobar-alternately.md +0 -0
  637. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-097-print-zero-even-odd.md +0 -0
  638. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-098-fizz-buzz-multithreaded.md +0 -0
  639. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-099-building-h2o-molecule.md +0 -0
  640. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-100-design-thread-safe-cache-with-ttl.md +0 -0
  641. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-101-design-concurrent-hashmap.md +0 -0
  642. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-102-design-thread-safe-blocking-queue.md +0 -0
  643. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/object-oriented-design/references/alld-103-design-concurrent-bloom-filter.md +0 -0
  644. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/README.md +0 -0
  645. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/SKILL.md +0 -0
  646. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/aea-320-modernizing-logging-at-uber-with-clp.md +0 -0
  647. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
  648. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/htn-caching-task-queues-error-handling-logging-monitoring.md +0 -0
  649. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
  650. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
  651. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
  652. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
  653. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
  654. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/README.md +0 -0
  655. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/SKILL.md +0 -0
  656. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/aea-191-building-netflix-s-distributed-tracing-infrastructure.md +0 -0
  657. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/aea-258-how-slack-traces-the-flow-of-notifications-across-systems.md +0 -0
  658. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/asdr-050-distributed-tracing.md +0 -0
  659. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/collector.md +0 -0
  660. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/correlation.md +0 -0
  661. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/gotchas.md +0 -0
  662. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/instrumentation.md +0 -0
  663. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/sampling.md +0 -0
  664. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/otel-tracing/references/tempo.md +0 -0
  665. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/over-engineering-review/SKILL.md +0 -0
  666. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/over-engineering-review/references/alld-013-yagni-principle.md +0 -0
  667. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pentesterflow-pentest/README.md +0 -0
  668. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pentesterflow-pentest/SKILL.md +0 -0
  669. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pentesterflow-pentest/references/operating-guide.md +0 -0
  670. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/performance-optimization/SKILL.md +0 -0
  671. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/performance-optimization/references/htn-how-javascript-executes-the-code-behind-the-scenes.md +0 -0
  672. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
  673. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/playwright-verification/SKILL.md +0 -0
  674. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pydantic-schema-patterns/README.md +0 -0
  675. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
  676. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
  677. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
  678. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
  679. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
  680. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/README.md +0 -0
  681. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/SKILL.md +0 -0
  682. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
  683. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/asdr-026-acid-transactions.md +0 -0
  684. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/asdr-028-database-indexes.md +0 -0
  685. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
  686. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/htn-databases-in-depth-part-2.md +0 -0
  687. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
  688. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
  689. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
  690. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
  691. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
  692. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
  693. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
  694. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
  695. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
  696. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/README.md +0 -0
  697. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/SKILL.md +0 -0
  698. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-059-distillation-with-programmatic-data-curation-cheaper-infer.md +0 -0
  699. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-060-efficient-knowledge-injection-in-llms-via-self-distillatio.md +0 -0
  700. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-061-distilling-many-shot-in-context-learning-into-a-cheat-shee.md +0 -0
  701. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-062-llm-fine-tuning-customize-large-language-models.md +0 -0
  702. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-063-the-architects-guide-to-production-rag.md +0 -0
  703. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-064-rag-best-practices-chunking-hybrid-search-reranking.md +0 -0
  704. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-065-fine-tuning-vs-retrieval-augmented-generation-for-less-pop.md +0 -0
  705. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-067-building-production-grade-rag-architecture-the-engineering.md +0 -0
  706. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-068-best-rag-tools-frameworks-and-libraries.md +0 -0
  707. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/rag-and-model-tuning/references/aie-069-rag-evaluation-metrics.md +0 -0
  708. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
  709. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
  710. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
  711. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
  712. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
  713. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/redis-caching-patterns/README.md +0 -0
  714. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/redis-caching-patterns/SKILL.md +0 -0
  715. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
  716. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/redis-caching-patterns/references/htn-a-complete-guide-to-redis.md +0 -0
  717. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
  718. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
  719. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/refresh-docs/SKILL.md +0 -0
  720. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/remember/SKILL.md +0 -0
  721. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/safety-critical-patterns/SKILL.md +0 -0
  722. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/scope/SKILL.md +0 -0
  723. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/scope/scope-template.md +0 -0
  724. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/sdlc/SKILL.md +0 -0
  725. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/SKILL.md +0 -0
  726. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/aie-024-model-context-protocol-security-best-practices.md +0 -0
  727. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/aie-026-prompt-injection-in-production-agents-a-2026-taxonomy.md +0 -0
  728. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/aie-027-model-context-protocol-security-risks-and-mitigations.md +0 -0
  729. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/aie-028-ai-agent-data-leakage-secrets-management-and-privacy-risks.md +0 -0
  730. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/aie-030-llm-security-prompt-injection-data-leakage-and-compliance.md +0 -0
  731. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/input-validation-and-uploads.md +0 -0
  732. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/llm-guardrails.md +0 -0
  733. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/owasp-top10-prevention.md +0 -0
  734. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-and-hardening/references/supply-chain-and-dependencies.md +0 -0
  735. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/security-verification/SKILL.md +0 -0
  736. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/shannon-ai-pentest/README.md +0 -0
  737. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
  738. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
  739. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/shell-review/SKILL.md +0 -0
  740. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/shipping-and-launch/SKILL.md +0 -0
  741. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/simplification-debt/SKILL.md +0 -0
  742. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/smoke-test/SKILL.md +0 -0
  743. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/source-driven-development/SKILL.md +0 -0
  744. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/spec-driven-development/SKILL.md +0 -0
  745. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/sprint/SKILL.md +0 -0
  746. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/sprint/sprint-template.md +0 -0
  747. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/strix-ai-pentest/README.md +0 -0
  748. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/strix-ai-pentest/SKILL.md +0 -0
  749. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/strix-ai-pentest/references/operating-guide.md +0 -0
  750. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/README.md +0 -0
  751. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/SKILL.md +0 -0
  752. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-017-caching-jql-search-in-jira-cloud.md +0 -0
  753. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-032-canva-s-fast-and-scalable-reverse-image-search.md +0 -0
  754. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-033-how-canva-enables-real-time-collaboration-with-rsocket.md +0 -0
  755. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-054-how-dropbox-evolved-its-infrastructure-through-the-messaging.md +0 -0
  756. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-064-how-ebay-handles-real-time-push-notifications-at-scale.md +0 -0
  757. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-150-unifying-messaging-experiences-across-linkedin.md +0 -0
  758. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-174-evolving-netflix-s-websocket-proxy-for-the-future.md +0 -0
  759. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-190-rapid-event-notification-system-at-netflix.md +0 -0
  760. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-196-the-data-model-behind-notion-s-flexibility.md +0 -0
  761. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-224-how-razorpay-s-notification-service-handles-increasing-load.md +0 -0
  762. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-275-stripe-s-system-for-tracking-and-validating-money-movement.md +0 -0
  763. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-277-how-stripe-built-its-fraud-prevention-system.md +0 -0
  764. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/aea-328-uber-s-next-gen-push-platform-on-grpc.md +0 -0
  765. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/alld-044-introduction-to-concurrency.md +0 -0
  766. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/alld-045-concurrency-vs-parallelism.md +0 -0
  767. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/alld-046-processes-vs-threads.md +0 -0
  768. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/alld-049-mutex-mutual-exclusion.md +0 -0
  769. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/alld-104-multi-threaded-merge-sort.md +0 -0
  770. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-002-availability.md +0 -0
  771. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-003-reliability.md +0 -0
  772. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-004-spof.md +0 -0
  773. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-005-latency-vs-throughput-vs-bandwidth.md +0 -0
  774. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-009-fault-tolerance.md +0 -0
  775. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-011-ip-addresses.md +0 -0
  776. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-012-domain-name-system-dns.md +0 -0
  777. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-013-proxy-vs-reverse-proxy.md +0 -0
  778. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-015-tcp-vs-udp.md +0 -0
  779. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-016-load-balancing.md +0 -0
  780. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-019-api-gateway.md +0 -0
  781. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-021-websockets.md +0 -0
  782. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-022-webhooks.md +0 -0
  783. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-024-rate-limiting.md +0 -0
  784. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-027-sql-vs-nosql.md +0 -0
  785. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-032-databases-types.md +0 -0
  786. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-035-caching-101.md +0 -0
  787. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-039-content-delivery-network-cdn.md +0 -0
  788. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-040-pub-sub.md +0 -0
  789. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-041-message-queues.md +0 -0
  790. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-042-change-data-capture-cdc.md +0 -0
  791. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-044-service-discovery.md +0 -0
  792. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-049-disaster-recovery.md +0 -0
  793. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-051-client-server-architecture.md +0 -0
  794. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-054-event-driven-architecture.md +0 -0
  795. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-056-top-15-tradeoffs.md +0 -0
  796. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-057-vertical-vs-horizontal-scaling.md +0 -0
  797. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-058-concurrency-vs-parallelism.md +0 -0
  798. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-059-long-polling-vs-websockets.md +0 -0
  799. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-060-batch-vs-stream-processing.md +0 -0
  800. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-061-stateful-vs-stateless-design.md +0 -0
  801. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-067-latency-vs-throughput.md +0 -0
  802. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-068-how-to-answer-a-system-design-interview-problem.md +0 -0
  803. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-069-design-url-shortener-like-tinyurl.md +0 -0
  804. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-071-design-load-balancer.md +0 -0
  805. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-079-design-whatsapp.md +0 -0
  806. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-080-design-spotify.md +0 -0
  807. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-082-design-notification-service.md +0 -0
  808. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-083-design-distributed-job-scheduler.md +0 -0
  809. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/asdr-130-real-time-messaging-at-slack.md +0 -0
  810. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-basic-music-system.md +0 -0
  811. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-chat-system.md +0 -0
  812. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-content-delivery-network.md +0 -0
  813. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-load-balancer.md +0 -0
  814. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-news-feed-system.md +0 -0
  815. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-notification-system.md +0 -0
  816. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-parking-lot.md +0 -0
  817. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-rate-limiter.md +0 -0
  818. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-a-unique-id-generator-in-distributed-systems.md +0 -0
  819. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-airbnb.md +0 -0
  820. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-amazon.md +0 -0
  821. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-autocomplete-for-search-engines.md +0 -0
  822. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-bit-ly-and-pastebin.md +0 -0
  823. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-instagram.md +0 -0
  824. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-netflix.md +0 -0
  825. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-reddit.md +0 -0
  826. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-spotify.md +0 -0
  827. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-tinder.md +0 -0
  828. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-twitter.md +0 -0
  829. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-youtube-hld.md +0 -0
  830. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-design-youtube-lld.md +0 -0
  831. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-mental-model-for-microservices.md +0 -0
  832. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-netflix-recommendation-system-machine-learning-system-design.md +0 -0
  833. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/system-design-patterns/references/htn-security-scaling-performance-concurrency-parallelism.md +0 -0
  834. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/tanstack-react-query-patterns/README.md +0 -0
  835. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
  836. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
  837. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
  838. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
  839. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/task-tracker-sync/SKILL.md +0 -0
  840. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/README.md +0 -0
  841. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/SKILL.md +0 -0
  842. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
  843. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
  844. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
  845. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
  846. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
  847. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
  848. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/README.md +0 -0
  849. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/SKILL.md +0 -0
  850. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/references/cli.md +0 -0
  851. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/references/determinism.md +0 -0
  852. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/references/gotchas.md +0 -0
  853. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/references/languages.md +0 -0
  854. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/references/testing.md +0 -0
  855. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/temporal-developer/references/versioning.md +0 -0
  856. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/test-driven-development/SKILL.md +0 -0
  857. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/test-plan-review/SKILL.md +0 -0
  858. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/README.md +0 -0
  859. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/SKILL.md +0 -0
  860. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
  861. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
  862. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
  863. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
  864. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
  865. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
  866. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
  867. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
  868. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/threat-model/SKILL.md +0 -0
  869. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/threat-model/references/aie-025-sok-security-and-safety-in-the-model-context-protocol-ecos.md +0 -0
  870. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/ticketing-and-traceability/SKILL.md +0 -0
  871. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/triage/SKILL.md +0 -0
  872. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/ui-ux-design/SKILL.md +0 -0
  873. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/unit-test/SKILL.md +0 -0
  874. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/using-agent-skills/SKILL.md +0 -0
  875. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
  876. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
  877. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
  878. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
  879. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
  880. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zap-vapt-scanning/README.md +0 -0
  881. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
  882. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
  883. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
  884. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
  885. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
  886. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zustand-state-patterns/README.md +0 -0
  887. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zustand-state-patterns/SKILL.md +0 -0
  888. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
  889. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
  890. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
  891. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/__main__.py +0 -0
  892. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/board_html.py +0 -0
  893. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/catalog.py +0 -0
  894. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/detect.py +0 -0
  895. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/export.py +0 -0
  896. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/hooks.py +0 -0
  897. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/pipeline.py +0 -0
  898. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/prompts.py +0 -0
  899. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/render.py +0 -0
  900. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/report.py +0 -0
  901. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/schemas.py +0 -0
  902. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/telemetry.py +0 -0
  903. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/tickets.py +0 -0
  904. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/src/claude_kit/validator.py +0 -0
  905. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/CLAUDE.md +0 -0
  906. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/CLAUDE.stack.md.tmpl +0 -0
  907. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/CONTINUITY.template.md +0 -0
  908. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/README.claude-sdlc.md.tmpl +0 -0
  909. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/agent-memory/MEMORY.md +0 -0
  910. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/agent-memory/api/.gitkeep +0 -0
  911. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/agent-memory/architecture/.gitkeep +0 -0
  912. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/agent-memory/debugging/.gitkeep +0 -0
  913. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
  914. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/agent-memory/patterns/.gitkeep +0 -0
  915. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/agent-memory/performance/.gitkeep +0 -0
  916. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/adr.md +0 -0
  917. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/api-change-report.md +0 -0
  918. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/change-proposal.md +0 -0
  919. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/feature-spec.md +0 -0
  920. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/release-plan.md +0 -0
  921. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/runbook.md +0 -0
  922. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/security-review.md +0 -0
  923. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/artifacts/test-plan.md +0 -0
  924. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/export/sdlc-workflow-guide.md.tmpl +0 -0
  925. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/README.md +0 -0
  926. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/agents/data-workflow-agent.md +0 -0
  927. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/agents/founder-prototype-agent.md +0 -0
  928. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/agents/internal-tools-builder.md +0 -0
  929. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/agents/pm-copilot.md +0 -0
  930. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
  931. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/agents/support-ticket-engineer.md +0 -0
  932. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/devops-and-release/README.md +0 -0
  933. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  934. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/engineering-core/README.md +0 -0
  935. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
  936. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
  937. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  938. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  939. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  940. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/product-to-code/README.md +0 -0
  941. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
  942. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/quality-and-review/README.md +0 -0
  943. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  944. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/security-and-compliance/README.md +0 -0
  945. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  946. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/ai-working-agreement.md +0 -0
  947. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/ambiguity-resolution.md +0 -0
  948. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
  949. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/compliance-policy.md +0 -0
  950. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  951. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/pii-policy.md +0 -0
  952. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/production-data-policy.md +0 -0
  953. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  954. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/prototype-boundaries.md +0 -0
  955. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/rules/secrets-policy.md +0 -0
  956. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  957. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  958. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  959. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  960. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  961. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/review-scope/SKILL.md +0 -0
  962. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
  963. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
  964. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
  965. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/scripts/sdlc-loop.sh +0 -0
  966. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/settings.json +0 -0
  967. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
  968. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  969. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  970. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  971. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  972. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  973. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  974. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  975. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  976. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  977. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
  978. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
  979. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
  980. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/ui-components.md +0 -0
  981. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
  982. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/ui-layout-and-motion.md +0 -0
  983. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/ux-dashboard-patterns.md +0 -0
  984. {claude_code_kit-0.78.0 → claude_code_kit-0.79.0}/templates/stacks/frontend/react/rules/ux-patterns.md +0 -0
@@ -11,7 +11,7 @@
11
11
  "displayName": "Claude Kit SDLC",
12
12
  "source": "./",
13
13
  "description": "Evidence-gated SDLC for Claude Code, installed as configuration (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 with a tamper-evident gate ledger, working memory, and a self-improving learnings loop.",
14
- "version": "0.78.0",
14
+ "version": "0.79.0",
15
15
  "license": "MIT",
16
16
  "keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
17
17
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "claude-kit",
3
3
  "displayName": "Claude Kit SDLC",
4
- "version": "0.78.0",
4
+ "version": "0.79.0",
5
5
  "description": "Evidence-gated SDLC for Claude Code, installed as configuration (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 a tamper-evident gate ledger, working memory, and a self-improving learnings loop.",
6
6
  "author": {
7
7
  "name": "Arjunsingh Yadav",
@@ -4,6 +4,98 @@ 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.79.0] — 2026-08-08
8
+
9
+ **Two ways the installer could destroy a file it had no business touching, and the escape hatch
10
+ that made the richest profile the least targeted one.** All three came out of an external audit of
11
+ the repo. The first two are the kind of bug a scaffolder must not have: it writes into other
12
+ people's projects, so "we only delete our own files" has to be true by construction, not by
13
+ convention.
14
+
15
+ ### Fixed
16
+
17
+ - **A recorded path in `init-options.json` could reach outside the project root.** The manifest
18
+ lives *inside* the project being upgraded, which makes it untrusted input — and `upgrade` joins
19
+ its `files[].path` entries onto the project root before copying, overwriting, and `unlink()`-ing
20
+ the result. A manifest containing `{"path": "../VICTIM.txt", "owner": "kit"}` made
21
+ `claude-kit upgrade` delete a file *above* the project, reporting it as
22
+ `- ../VICTIM.txt (orphan removed)`. `init --defaults` shared the same `_diff_actions` path.
23
+
24
+ Paths are now validated where the manifest is parsed (`models.contained_relpath`): absolute,
25
+ drive-qualified, and `..`-containing paths are refused, and backslashes are normalised first so a
26
+ Windows-style `..\..\x` cannot slip past a POSIX segment check and then be re-read as a separator
27
+ by `pathlib`. A rejected path surfaces through the existing corrupt-manifest route, so the
28
+ operator gets a `FAIL` with a remedy rather than a silent deletion. The orphan loop — the only
29
+ branch that deletes — additionally re-checks containment at the moment of use
30
+ (`upgrader._inside`), because a *symlinked* directory inside the project can make a perfectly
31
+ innocent relative path resolve outside it. Threat model: clone a repo, run `claude-kit upgrade`.
32
+
33
+ - **`--force` silently deleted user files from kit-owned directories.** `_copy_tree` did an
34
+ unconditional `shutil.rmtree(dest)` before copying, and it is called on `.claude/rules/`,
35
+ `.claude/templates/`, `.claude/skills/<name>/` and `.claude/org-packs/<pack>/`. A hand-written
36
+ `.claude/rules/team-conventions.md` was gone after a `--force` re-init — no backup, no log line,
37
+ and no coverage from the upgrader's checksum/sidecar machinery, which only protects files the kit
38
+ itself recorded. The `--force` help text promised only to "overwrite existing CLAUDE.md /
39
+ settings.json / .mcp.json".
40
+
41
+ Files a directory-replacing install will not rewrite are now **moved** into `.claude-kit.bak-N/`
42
+ — the same convention `upgrade` already uses — mirroring their project-relative path, and the
43
+ install log names them. The backup directory is created lazily, so a fresh install and the
44
+ sandbox render used by merge/upgrade still produce none. Overlay and org rules are declared as
45
+ `also_shipped` because they are written into `.claude/rules/` *after* the core tree is replaced;
46
+ without that they read as user additions on every re-install, which would fill the backup with
47
+ kit files and tell the user their content was preserved when none of it was theirs. `--force`'s
48
+ help text now describes what it actually does.
49
+
50
+ ### Changed
51
+
52
+ - **`enterprise` enumerates its skills instead of declaring `skills: all`.** `all` meant "every
53
+ directory under `skills/`", which made the richest profile the least targeted one: resolving
54
+ **Go + no frontend + no database + enterprise** installed 115 skills / 6.1 MB, among them
55
+ `alembic-migrations`, `fastapi-service-patterns`, `react-hook-form-zod-patterns` and
56
+ `dockerfile-frontend` — ~55k lines of content for stacks the project does not use, every one of
57
+ them competing in the skill picker. 67 skills were reachable *only* through `all`.
58
+
59
+ The 25 stack-flavored skills now ride `catalog/stacks.yaml`'s `skills:` union — the mechanism the
60
+ react and fastapi entries already used — so they install only when that stack is selected. No
61
+ files moved, no resolver change, and `resolve()` stays branch-free. That same Go selection now
62
+ resolves to 92 skills with **zero** stack-irrelevant ones; react + fastapi + postgres still gets
63
+ 113. `lean ⊂ standard ⊂ enterprise` still holds, and every skill in the payload is still
64
+ reachable by some live selection (the two Node ones are gated behind `status: planned`, as
65
+ intended). This is the "stack-aware skill filter" `docs/skill-audit.md` recommended and then
66
+ deferred; that document now records the outcome.
67
+
68
+ **This changes what an enterprise install contains.** Adding a directory to `skills/` no longer
69
+ installs it by default — name it in a profile (stack-agnostic) or a `stacks.yaml` union
70
+ (stack-specific). Existing installs pick the new set up on `claude-kit upgrade`, which backs up
71
+ anything you edited.
72
+
73
+ - **The corrupt-manifest message names both causes** — malformed JSON, or a path that is not
74
+ project-relative — since the fix differs even though the remedy (repair or re-init) does not.
75
+
76
+ ### Added
77
+
78
+ - `tests/test_containment.py`, `tests/test_scaffold_rescue.py`, `tests/test_skill_relevance.py` —
79
+ regression coverage for all three, including a guard that no profile may reintroduce
80
+ `skills: all` and a check that enumerating orphaned no skill.
81
+
82
+ ### Not adopted (deliberately)
83
+
84
+ - **Removing `object-oriented-design` (464 KB) and `system-design-patterns` (599 KB) from
85
+ enterprise.** They are interview-prep and engineering-blog digests — ~1 MB, ~17% of the payload —
86
+ and they are the strongest remaining argument that the skill corpus has drifted from "SDLC kit".
87
+ But they are stack-agnostic, so the relevance gating this release adds does not reach them, and
88
+ cutting them is a scope decision about what claude-kit *is*, not a bug fix. Left installed and
89
+ flagged; the `license-note: ideas absorbed in own words` provenance line appears 278 times across
90
+ them and deserves a separate look.
91
+ - **`hooks: all`.** Kept. The hook registry is small, closed, and every hook is stack-neutral, so
92
+ "all of them" is a real statement of intent rather than an accident of directory creation. The
93
+ header comment in `profiles.yaml` now says why the token is right there and wrong for skills.
94
+ - **Making the gate ledger tamper-evident.** `gate_history` entries are unchained, so a deleted or
95
+ reordered entry is undetectable, and `_blocking_findings()` reads `open_findings` from the
96
+ snapshot the agent itself wrote. Both are real, both are out of scope for a fix release, and
97
+ neither is what the ledger is currently sold as doing.
98
+
7
99
  ## [0.78.0] — 2026-08-08
8
100
 
9
101
  **Two decisions carried out of the 0.77.0 evaluation, one of which only half works.** Both are
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: claude-code-kit
3
- Version: 0.78.0
3
+ Version: 0.79.0
4
4
  Summary: Evidence-gated SDLC for Claude Code, installed as 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 with a tamper-evident gate ledger, 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
@@ -3,7 +3,13 @@
3
3
  #
4
4
  # Each profile lists agents / skills / gates / hooks. `inherit: <profile>` composes on top of
5
5
  # another profile (this profile's lists are unioned with the inherited ones). The special value
6
- # `all` means "every available item discovered in the payload" (agents/, skills/, hooks/).
6
+ # `all` means "every available item discovered in the payload".
7
+ #
8
+ # `all` is appropriate for `hooks:` — the hook registry is small, closed, and every hook is
9
+ # stack-neutral, so "all of them" is a real statement of intent. It is NOT appropriate for
10
+ # `skills:`: skills are numerous and many are stack-flavored, so `all` silently turned every new
11
+ # directory in skills/ into an enterprise install and put it in the skill picker. Enumerate skills;
12
+ # gate the stack-specific ones through catalog/stacks.yaml's `skills:` union instead.
7
13
  #
8
14
  # ORDER CONVENTION for `gates:` — gates are the one list where order is data: the resolved list
9
15
  # lands execution-ordered in stack-catalog.snapshot.yaml and `claude-kit pipeline close-gate`
@@ -128,6 +134,70 @@ profiles:
128
134
  - auditor
129
135
  - incident-responder
130
136
  - risk-classifier
131
- skills: all
137
+ # ENUMERATED, not `all`. `skills: all` used to mean "every directory in skills/", which made the
138
+ # richest profile the least targeted one: a Go service with no frontend and no database still
139
+ # received React, FastAPI and Alembic skills — ~55k lines of content for a stack the project
140
+ # does not use, all of it competing in the skill picker. Everything stack-flavored now rides
141
+ # catalog/stacks.yaml's `skills:` union instead (installed only when that stack is selected),
142
+ # and what remains here is what an enterprise pipeline needs regardless of stack.
143
+ #
144
+ # Adding a skill to the payload therefore no longer installs it by default — name it in a
145
+ # profile (stack-agnostic) or in a stacks.yaml union (stack-specific). That is the point:
146
+ # membership is a decision, not a side effect of creating a directory.
147
+ skills:
148
+ # Operate / run: the stages enterprise adds over standard (pipeline-green, observability-ready).
149
+ - ci-cd-and-automation
150
+ - observability-and-logging
151
+ - otel-tracing
152
+ - grafana-dashboards-and-alerts
153
+ - kubectl-operations
154
+ - kubernetes-workload-hardening
155
+ - containerization-and-deployment
156
+ - docker-compose
157
+ - docker-shared
158
+ - gcp-cloud-run-github-actions
159
+ - cron-and-scheduled-jobs
160
+ # Design / architecture reference used by technical-architect and the auditor.
161
+ - design-patterns-and-conventions
162
+ - distributed-systems-patterns
163
+ - object-oriented-design
164
+ - system-design-patterns
165
+ - safety-critical-patterns
166
+ - multi-tenancy-patterns
167
+ - edge-to-service-trust-boundary
168
+ - auth-and-rbac
169
+ - api-pagination-filtering-sorting
170
+ - graphql-patterns
171
+ - redis-caching-patterns
172
+ - notifications-and-messaging
173
+ - file-export-and-reporting
174
+ # Change management: the auditor / risk-classifier surface.
175
+ - dependency-verification
176
+ - deprecation-and-migration
177
+ - modernization-and-migration
178
+ - library-review
179
+ - shell-review
180
+ # Data / eventing platforms.
181
+ - kafka-config-driven
182
+ - temporal-config-driven
183
+ - temporal-developer
184
+ - data-engineering-bigquery-gcs
185
+ - gcs-file-storage-patterns
186
+ # LLM-product engineering.
187
+ - anthropic-vertex-integration
188
+ - langfuse-llm-tracing
189
+ - llm-caching-strategies
190
+ - llm-gateway-and-routing
191
+ - llm-inference-optimization
192
+ - rag-and-model-tuning
193
+ # Delivery workflow.
194
+ - sprint
195
+ - backlog
196
+ - archive-sprint
197
+ - triage
198
+ - shipping-and-launch
199
+ - consolidate-learnings
200
+ - doc-consolidation
201
+ - playwright-verification
132
202
  gates: [spec-complete, em-approved, code-review, build-green, contract-clear, test-coverage, security-clear, pipeline-green, observability-ready, acceptance]
133
203
  hooks: all
@@ -34,7 +34,25 @@ frontend:
34
34
  # frontend-specific (component/hook tests, client-side data fetching, headed-browser QA), so
35
35
  # they install only when a frontend exists. Backend testing is covered by the universal
36
36
  # test-driven-development core skill.
37
- skills: [frontend-ui-engineering, component-design, ui-ux-design, unit-test, api-integration, manual-test]
37
+ #
38
+ # The library-specific patterns below follow the same rule: a project with no React frontend
39
+ # has no use for Zustand or TanStack Query docs, so they are gated here rather than named by a
40
+ # profile. This is what keeps the profiles stack-agnostic while the skills stay concrete.
41
+ skills:
42
+ - frontend-ui-engineering
43
+ - component-design
44
+ - ui-ux-design
45
+ - unit-test
46
+ - api-integration
47
+ - manual-test
48
+ - frontend-repo-architecture
49
+ - design-system-ops
50
+ - radix-tailwind-component-patterns
51
+ - react-hook-form-zod-patterns
52
+ - tanstack-react-query-patterns
53
+ - vitest-rtl-msw-patterns
54
+ - zustand-state-patterns
55
+ - dockerfile-frontend
38
56
  stack_dir: frontend/react
39
57
  commands:
40
58
  install: "npm install"
@@ -71,7 +89,20 @@ backend:
71
89
  label: "FastAPI"
72
90
  overlay_rules: [fastapi-patterns.md]
73
91
  overlay_agents: []
74
- skills: [api-and-interface-design]
92
+ # Python/FastAPI-specific skills are gated here, not named by a profile: a Go or Node
93
+ # project has no use for Alembic migrations or Pydantic schema patterns, and shipping
94
+ # them anyway is what made `skills: all` install ~55k lines of irrelevant content.
95
+ skills:
96
+ - api-and-interface-design
97
+ - backend-repo-architecture
98
+ - fastapi-service-patterns
99
+ - pydantic-schema-patterns
100
+ - python-dao-and-database
101
+ - alembic-migrations
102
+ - async-python-patterns
103
+ - configargparse-yaml-env-layering
104
+ - testing-conventions
105
+ - dockerfile-backend
75
106
  stack_dir: backend/python/fastapi
76
107
  commands:
77
108
  install: "pip install -e '.[dev]'"
@@ -91,6 +122,7 @@ backend:
91
122
  express:
92
123
  label: "Express"
93
124
  status: planned
125
+ skills: [backend-repo-architecture, node-express-service, node-objection-knex, dockerfile-backend]
94
126
  stack_dir: backend/node/express
95
127
  go:
96
128
  label: "Go"
@@ -100,7 +132,7 @@ backend:
100
132
  label: "net/http (stdlib)"
101
133
  overlay_rules: [go-patterns.md]
102
134
  overlay_agents: []
103
- skills: [api-and-interface-design]
135
+ skills: [api-and-interface-design, backend-repo-architecture, dockerfile-backend]
104
136
  stack_dir: backend/go/net-http
105
137
  commands:
106
138
  install: "go mod download"
@@ -62,7 +62,22 @@ Measured on a `react + fastapi + postgres` project with `--scope individual`:
62
62
 
63
63
  ## Finding: Enterprise Over-Install of Stack-Collection Skills
64
64
 
65
- The enterprise profile uses `skills: all` in `catalog/profiles.yaml`, which installs **every skill in the payload** — including all 51 stack-collection skills, regardless of whether the project selected those stacks.
65
+ > **Status: resolved.** `skills: all` is gone. The enterprise profile now enumerates its skills, and
66
+ > the stack-flavored ones are gated through `catalog/stacks.yaml`'s `skills:` union — the
67
+ > "stack-aware skill filter" this audit recommended below, built on the mechanism the react and
68
+ > fastapi stacks already used rather than a new `stack-relevant` token. Measured after the change:
69
+ >
70
+ > | selection | skills | on-disk |
71
+ > |---|---|---|
72
+ > | enterprise, react + fastapi + postgres | 113 | ~5.6 MB |
73
+ > | enterprise, Go, no frontend, no database | 92 | ~4.6 MB |
74
+ >
75
+ > The Go project no longer receives React, FastAPI, Alembic, Pydantic, Zustand or TanStack content
76
+ > — 0 stack-irrelevant skills, down from 32. `tests/test_skill_relevance.py` pins this, including a
77
+ > guard that no profile may reintroduce `skills: all`. The rest of this section is the original
78
+ > finding, kept as the record of why the change was made.
79
+
80
+ The enterprise profile used `skills: all` in `catalog/profiles.yaml`, which installed **every skill in the payload** — including all 51 stack-collection skills, regardless of whether the project selected those stacks.
66
81
 
67
82
  **Impact:**
68
83
 
@@ -107,7 +122,7 @@ The following skills are candidates for **review** (not deletion). They plausibl
107
122
 
108
123
  ## Recommendations
109
124
 
110
- ### Default (this audit takes)
125
+ ### Default (this audit took) — since superseded
111
126
 
112
127
  **Leave `catalog/profiles.yaml` as-is and document the trade-off.**
113
128
 
@@ -115,6 +130,14 @@ The following skills are candidates for **review** (not deletion). They plausibl
115
130
  - The on-demand activation model bounds the context cost of the extra files.
116
131
  - Document the enterprise skill footprint in the profile description so the trade-off is visible before a user picks it.
117
132
 
133
+ > **Superseded.** Option 1 below ("stack-aware skill filter") was implemented instead, in the form
134
+ > the constraints already allowed: no new `stack-relevant` token and no resolver change — the
135
+ > stack-flavored skills simply moved into the `skills:` unions in `catalog/stacks.yaml` that the
136
+ > react and fastapi entries were already using, and enterprise enumerates the rest. The
137
+ > "deliberate choice for multi-stack orgs" argument did not survive contact with the numbers: the
138
+ > cost fell on every *single*-stack enterprise user, which is most of them, and a multi-stack org
139
+ > can still name any skill it wants in a profile.
140
+
118
141
  ### Optional (recommend evaluating, not implemented here)
119
142
 
120
143
  **Evaluate a config-level opt-in that installs only stack-relevant collection skills.**
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-kit"
7
- version = "0.78.0"
7
+ version = "0.79.0"
8
8
  description = "Evidence-gated SDLC for Claude Code, installed as 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 with a tamper-evident gate ledger, working memory, and a self-improving learnings loop."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -7,4 +7,4 @@ Docker): ``claude-kit init`` asks ordered questions and lays down ``CLAUDE.md``
7
7
  as a plugin. Extensibility is data-driven via the ``catalog/`` (stacks, profiles, MCP).
8
8
  """
9
9
 
10
- __version__ = "0.78.0"
10
+ __version__ = "0.79.0"
@@ -215,7 +215,11 @@ def init(
215
215
  force: bool = typer.Option(
216
216
  False,
217
217
  "--force",
218
- help="overwrite existing CLAUDE.md / settings.json / .mcp.json",
218
+ help=(
219
+ "overwrite mode: replace CLAUDE.md / settings.json / .mcp.json and rebuild the "
220
+ "kit-owned trees (rules/, skills/, templates/). Your own files in those trees are "
221
+ "moved to .claude-kit.bak-N/, not deleted. Omit --force to merge instead."
222
+ ),
219
223
  ),
220
224
  dry_run: bool = typer.Option(
221
225
  False,
@@ -9,6 +9,7 @@ documentation rule and keeps ``init-options.json`` round-trippable for ``validat
9
9
  from __future__ import annotations
10
10
 
11
11
  from dataclasses import asdict, dataclass, field
12
+ from pathlib import PurePosixPath
12
13
  from typing import Any
13
14
 
14
15
  #: Schema version of the persisted ``.claude/config/init-options.json`` document.
@@ -194,12 +195,56 @@ class ResolvedPlan:
194
195
  detected_commands: dict[str, str] | None = None
195
196
 
196
197
 
198
+ def contained_relpath(raw: str) -> str:
199
+ """Validate ``raw`` as a project-relative POSIX path and return it normalised.
200
+
201
+ ``init-options.json`` lives inside the project being upgraded, so its ``files[].path`` entries
202
+ are untrusted input: :mod:`claude_kit.upgrader` joins them onto the project root and then
203
+ copies, overwrites, and *unlinks* the result. A path that escapes the root (``../../id_rsa``)
204
+ or is absolute (``/etc/passwd``) would let a hand-edited — or hostile — manifest reach files
205
+ outside the project. Rejecting them here means every consumer (``validate``, ``diff``,
206
+ ``upgrade``, ``doctor``) inherits the guarantee from one place, at parse time, before any
207
+ filesystem call. ``_read_init_options`` already renders the resulting :class:`ValueError` as a
208
+ ``corrupt: <detail>`` manifest, which is the correct signal.
209
+
210
+ Backslashes are normalised to ``/`` first so a Windows-style ``..\\..\\x`` cannot slip past a
211
+ POSIX-only segment check and then be re-interpreted as a separator by ``pathlib`` on Windows.
212
+
213
+ Args:
214
+ raw: The candidate path string as read from the manifest.
215
+
216
+ Returns:
217
+ The path in normalised POSIX form.
218
+
219
+ Raises:
220
+ ValueError: If the path is empty, absolute, drive-qualified, or contains a ``..`` segment.
221
+ """
222
+ text = str(raw).replace("\\", "/").strip()
223
+ if not text:
224
+ raise ValueError("file record has an empty path")
225
+ pure = PurePosixPath(text)
226
+ if pure.is_absolute() or text.startswith("/"):
227
+ raise ValueError(
228
+ f"file record path must be project-relative, got absolute {raw!r}"
229
+ )
230
+ if len(text) > 1 and text[1] == ":":
231
+ raise ValueError(
232
+ f"file record path must be project-relative, got drive-qualified {raw!r}"
233
+ )
234
+ if ".." in pure.parts:
235
+ raise ValueError(f"file record path escapes the project root: {raw!r}")
236
+ return pure.as_posix()
237
+
238
+
197
239
  @dataclass
198
240
  class FileRecord:
199
241
  """A single installed file tracked in ``init-options.json`` for safe upgrades.
200
242
 
243
+ The ``path`` is validated on construction by :func:`contained_relpath` — it must stay inside
244
+ the project root, because the upgrader resolves it against that root and may delete the result.
245
+
201
246
  Attributes:
202
- path: Path relative to the project root (POSIX separators).
247
+ path: Path relative to the project root (POSIX separators, no ``..``).
203
248
  sha256: Hex SHA-256 of the file contents at install time.
204
249
  owner: One of ``"kit"`` (refreshed on upgrade), ``"overlay"`` (follows the selection),
205
250
  or ``"user-editable"`` (never clobbered).
@@ -209,6 +254,10 @@ class FileRecord:
209
254
  sha256: str
210
255
  owner: str
211
256
 
257
+ def __post_init__(self) -> None:
258
+ """Normalise and containment-check :attr:`path`."""
259
+ self.path = contained_relpath(self.path)
260
+
212
261
  def to_dict(self) -> dict[str, str]:
213
262
  """Return a JSON-serialisable mapping of this record."""
214
263
  return asdict(self)