claude-code-kit 0.8.0__tar.gz → 0.9.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 (224) hide show
  1. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/CHANGELOG.md +35 -0
  4. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/PKG-INFO +5 -4
  5. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/README.md +4 -3
  6. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/orchestrator.md +24 -0
  7. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/story-planner.md +3 -1
  8. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/catalog/profiles.yaml +1 -0
  9. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/docs/architecture.md +3 -2
  10. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/pyproject.toml +1 -1
  11. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/mandatory-workflow.md +25 -5
  12. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/planning-and-task-breakdown/SKILL.md +6 -0
  13. claude_code_kit-0.9.0/skills/task-tracker-sync/SKILL.md +72 -0
  14. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/__init__.py +1 -1
  15. claude_code_kit-0.9.0/templates/artifacts/feature-spec.md +44 -0
  16. claude_code_kit-0.8.0/templates/artifacts/feature-spec.md +0 -29
  17. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/.gitignore +0 -0
  18. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/CLAUDE.md +0 -0
  19. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/CONTRIBUTING.md +0 -0
  20. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/LICENSE +0 -0
  21. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/acceptance-reviewer.md +0 -0
  22. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/auditor.md +0 -0
  23. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/dependency-scanner.md +0 -0
  24. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/developer.md +0 -0
  25. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/devils-advocate.md +0 -0
  26. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/devops-engineer.md +0 -0
  27. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/e2e-tester.md +0 -0
  28. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/em-reviewer.md +0 -0
  29. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/incident-responder.md +0 -0
  30. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/merge-reviewer.md +0 -0
  31. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/observability-engineer.md +0 -0
  32. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/owasp-reviewer.md +0 -0
  33. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/policy-validator.md +0 -0
  34. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/pr-raiser.md +0 -0
  35. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/risk-classifier.md +0 -0
  36. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/sdlc-code-reviewer.md +0 -0
  37. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/secret-scanner.md +0 -0
  38. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/security-reviewer.md +0 -0
  39. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/senior-backend-dev.md +0 -0
  40. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/senior-frontend-dev.md +0 -0
  41. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/senior-tester.md +0 -0
  42. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/spec-doc-writer.md +0 -0
  43. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/technical-architect.md +0 -0
  44. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/tester.md +0 -0
  45. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/ui-designer.md +0 -0
  46. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/agents/unit-tester.md +0 -0
  47. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/catalog/mcp.yaml +0 -0
  48. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/catalog/org.yaml +0 -0
  49. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/catalog/stacks.yaml +0 -0
  50. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/commands/init.md +0 -0
  51. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/commands/sdlc.md +0 -0
  52. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/commands/status.md +0 -0
  53. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/docs/agentic-patterns.md +0 -0
  54. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/docs/agents.md +0 -0
  55. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/docs/org-capabilities.md +0 -0
  56. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/hooks.json +0 -0
  57. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/audit-log.sh +0 -0
  58. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/guard-secrets.sh +0 -0
  59. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/lint-fix.sh +0 -0
  60. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/load-autonomy.sh +0 -0
  61. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/load-continuity.sh +0 -0
  62. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/load-learnings.sh +0 -0
  63. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/type-check.sh +0 -0
  64. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/validate-frontmatter.sh +0 -0
  65. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/validate-settings.sh +0 -0
  66. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/warn-large-edits.sh +0 -0
  67. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/warn-missing-tests.sh +0 -0
  68. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
  69. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/hooks/scripts/warn-shared-modules.sh +0 -0
  70. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/agent-guardrails.md +0 -0
  71. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/agent-memory.md +0 -0
  72. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/agent-resilience.md +0 -0
  73. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/autonomy-levels.md +0 -0
  74. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/code-organization.md +0 -0
  75. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/continuity.md +0 -0
  76. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/design-patterns.md +0 -0
  77. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/devops-observability.md +0 -0
  78. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/documentation.md +0 -0
  79. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/evals.md +0 -0
  80. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/frontend-best-practices.md +0 -0
  81. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/goal-setting-and-monitoring.md +0 -0
  82. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/human-in-the-loop.md +0 -0
  83. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/linting-and-formatting.md +0 -0
  84. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/model-tiers.md +0 -0
  85. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/quality-gates.md +0 -0
  86. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/rarv-cycle.md +0 -0
  87. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/reasoning-techniques.md +0 -0
  88. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/responsive-and-accessibility.md +0 -0
  89. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/risk-classification.md +0 -0
  90. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/testing.md +0 -0
  91. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/rules/tool-design.md +0 -0
  92. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/scripts/init.sh +0 -0
  93. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/_references/accessibility-checklist.md +0 -0
  94. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/_references/orchestration-patterns.md +0 -0
  95. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/_references/performance-checklist.md +0 -0
  96. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/_references/security-checklist.md +0 -0
  97. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/_references/testing-patterns.md +0 -0
  98. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/accessibility-review/SKILL.md +0 -0
  99. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/api-and-interface-design/SKILL.md +0 -0
  100. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/api-integration/SKILL.md +0 -0
  101. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/archive-sprint/SKILL.md +0 -0
  102. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/backlog/SKILL.md +0 -0
  103. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/backlog/item-template.md +0 -0
  104. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  105. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
  106. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/code-review-and-quality/SKILL.md +0 -0
  107. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/code-simplification/SKILL.md +0 -0
  108. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/component-design/SKILL.md +0 -0
  109. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/consolidate-learnings/SKILL.md +0 -0
  110. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/context-engineering/SKILL.md +0 -0
  111. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  112. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/decision/SKILL.md +0 -0
  113. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/decision/adr-template.md +0 -0
  114. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/deprecation-and-migration/SKILL.md +0 -0
  115. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/documentation-and-adrs/SKILL.md +0 -0
  116. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/doubt-driven-development/SKILL.md +0 -0
  117. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/execute/SKILL.md +0 -0
  118. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
  119. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  120. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/idea-refine/SKILL.md +0 -0
  121. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/idea-refine/examples.md +0 -0
  122. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/idea-refine/frameworks.md +0 -0
  123. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/idea-refine/refinement-criteria.md +0 -0
  124. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  125. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/incident-postmortem/SKILL.md +0 -0
  126. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/incremental-implementation/SKILL.md +0 -0
  127. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/interview-me/SKILL.md +0 -0
  128. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/load-testing/SKILL.md +0 -0
  129. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/manual-test/SKILL.md +0 -0
  130. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/over-engineering-review/SKILL.md +0 -0
  131. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/performance-optimization/SKILL.md +0 -0
  132. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/playwright-verification/SKILL.md +0 -0
  133. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/refresh-docs/SKILL.md +0 -0
  134. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/remember/SKILL.md +0 -0
  135. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/scope/SKILL.md +0 -0
  136. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/scope/scope-template.md +0 -0
  137. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/sdlc/SKILL.md +0 -0
  138. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/security-and-hardening/SKILL.md +0 -0
  139. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/security-verification/SKILL.md +0 -0
  140. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/shipping-and-launch/SKILL.md +0 -0
  141. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/simplification-debt/SKILL.md +0 -0
  142. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/smoke-test/SKILL.md +0 -0
  143. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/source-driven-development/SKILL.md +0 -0
  144. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/spec-driven-development/SKILL.md +0 -0
  145. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/sprint/SKILL.md +0 -0
  146. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/sprint/sprint-template.md +0 -0
  147. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/test-driven-development/SKILL.md +0 -0
  148. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/threat-model/SKILL.md +0 -0
  149. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/triage/SKILL.md +0 -0
  150. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/ui-ux-design/SKILL.md +0 -0
  151. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/unit-test/SKILL.md +0 -0
  152. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/skills/using-agent-skills/SKILL.md +0 -0
  153. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/__main__.py +0 -0
  154. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/catalog.py +0 -0
  155. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/cli.py +0 -0
  156. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/hooks.py +0 -0
  157. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/models.py +0 -0
  158. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/prompts.py +0 -0
  159. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/render.py +0 -0
  160. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/scaffold.py +0 -0
  161. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/upgrader.py +0 -0
  162. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/src/claude_kit/validator.py +0 -0
  163. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/CLAUDE.md +0 -0
  164. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/CLAUDE.stack.md.tmpl +0 -0
  165. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/CONTINUITY.template.md +0 -0
  166. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/README.claude-sdlc.md.tmpl +0 -0
  167. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/agent-memory/MEMORY.md +0 -0
  168. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/agent-memory/api/.gitkeep +0 -0
  169. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/agent-memory/architecture/.gitkeep +0 -0
  170. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/agent-memory/debugging/.gitkeep +0 -0
  171. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
  172. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/agent-memory/patterns/.gitkeep +0 -0
  173. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/agent-memory/performance/.gitkeep +0 -0
  174. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/artifacts/adr.md +0 -0
  175. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/artifacts/release-plan.md +0 -0
  176. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/artifacts/runbook.md +0 -0
  177. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/artifacts/security-review.md +0 -0
  178. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/artifacts/test-plan.md +0 -0
  179. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/README.md +0 -0
  180. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/agents/data-workflow-agent.md +0 -0
  181. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/agents/founder-prototype-agent.md +0 -0
  182. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/agents/internal-tools-builder.md +0 -0
  183. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/agents/pm-copilot.md +0 -0
  184. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/agents/support-ticket-engineer.md +0 -0
  185. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/devops-and-release/README.md +0 -0
  186. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  187. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/engineering-core/README.md +0 -0
  188. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
  189. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
  190. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  191. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  192. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  193. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/product-to-code/README.md +0 -0
  194. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
  195. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/quality-and-review/README.md +0 -0
  196. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  197. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/security-and-compliance/README.md +0 -0
  198. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  199. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/ai-working-agreement.md +0 -0
  200. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/ambiguity-resolution.md +0 -0
  201. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
  202. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/compliance-policy.md +0 -0
  203. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  204. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/pii-policy.md +0 -0
  205. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/production-data-policy.md +0 -0
  206. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  207. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/prototype-boundaries.md +0 -0
  208. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/rules/secrets-policy.md +0 -0
  209. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  210. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  211. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  212. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  213. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  214. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/settings.json +0 -0
  215. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  216. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  217. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  218. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  219. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  220. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  221. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  222. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  223. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  224. {claude_code_kit-0.8.0 → claude_code_kit-0.9.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
@@ -10,7 +10,7 @@
10
10
  "name": "claude-kit",
11
11
  "source": "./",
12
12
  "description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker): install CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json, then run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.",
13
- "version": "0.8.0",
13
+ "version": "0.9.0",
14
14
  "license": "MIT",
15
15
  "keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
16
16
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-kit",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker). `claude-kit init` asks ordered questions and installs CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with working memory and a self-improving learnings loop.",
5
5
  "author": {
6
6
  "name": "Arjunsingh Yadav",
@@ -4,6 +4,41 @@ 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.9.0] — 2026-06-15
8
+
9
+ Distils a field review of GitHub's [spec-kit](https://github.com/github/spec-kit) (Spec-Driven
10
+ Development). An adversarial map→verify pass cross-checked spec-kit's seven distinctive features
11
+ against claude-kit's existing spec-driven machinery; most were already covered (the `/constitution`
12
+ artifact by `CLAUDE.md` "Project-specific rules" + the org `ai-working-agreement`; `/clarify` by
13
+ `interview-me`; `/checklist` by `em-reviewer` + the spec-driven reframe + workflow §1b). Per golden
14
+ rule #1 (reuse, don't duplicate), those were **not** re-implemented. The genuine gaps were a
15
+ **built-but-unwired capability** and a **missing mechanism** — both addressed without new spec
16
+ machinery, no application code, and no Docker.
17
+
18
+ ### Added
19
+ - **`skills/task-tracker-sync`** (`standard`+): a thin, **tracker-agnostic** skill that mirrors an
20
+ existing task/story breakdown into the project's configured issue tracker (GitHub / Linear / Jira
21
+ via whichever MCP is set up), one issue per task, dependencies carried across, idempotent
22
+ (match-then-update, never blind-create). This implements spec-kit's `/taskstoissues` as the real
23
+ mechanism behind what was previously only a permission — `story-planner` said tasks *may* be
24
+ created, but nothing did it. It syncs a breakdown; it does not create one.
25
+
26
+ ### Changed
27
+ - **Wired the orphaned `story-planner` agent into the pipeline as a coverage gate** — the headline
28
+ reuse. `story-planner` already decomposes an approved spec into ordered stories and verifies that
29
+ *every acceptance criterion maps to ≥1 story* (gaps and scope creep flagged), but it appeared in
30
+ neither `rules/mandatory-workflow.md` nor `agents/orchestrator.md`. It is now **stage 1f — Story
31
+ Breakdown & Coverage Gate**, between EM approval (1e) and the Developer (2a): implementation cannot
32
+ start until acceptance-criterion coverage is complete. This is spec-kit's tasks→analyze→implement
33
+ discipline, fulfilled with an existing component instead of a new one. Flow diagrams, the gating
34
+ table, and the orchestrator pipeline/spawn-reference/state-tracking were updated to match.
35
+ - **`templates/artifacts/feature-spec.md`** now gives requirements stable ids (R1, R2 …) nesting
36
+ their Given/When/Then acceptance criteria, and adds an explicit **Assumptions** section — aligning
37
+ the artifact with the spec shape `mandatory-workflow.md` §1c already mandates and making the new
38
+ coverage gate concrete (stories and tests trace back to R-ids).
39
+ - `agents/story-planner.md` and `skills/planning-and-task-breakdown` now point at `task-tracker-sync`
40
+ for pushing a plan to a tracker.
41
+
7
42
  ## [0.8.0] — 2026-06-15
8
43
 
9
44
  Adds a **minimalism / anti-over-engineering** layer distilled from a field review of the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-kit
3
- Version: 0.8.0
3
+ Version: 0.9.0
4
4
  Summary: Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.
5
5
  Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
6
6
  Project-URL: Repository, https://github.com/ajyadav013/claude-kit
@@ -198,9 +198,10 @@ See [`docs/architecture.md`](docs/architecture.md) for the full diagrams.
198
198
  ```mermaid
199
199
  flowchart TD
200
200
  REQ(["/sdlc request"]) --> CLS{"Classify"}
201
- CLS -->|"feature"| SPEC["Spec & Dev Docs → Story Planner"]
201
+ CLS -->|"feature"| SPEC["Spec & Dev Docs"]
202
202
  SPEC --> EM{{"Gate: EM approved"}}
203
- EM -->|"pass"| LANES["Parallel lanes:<br/>Senior Dev Architect → Developer → Code Review"]
203
+ EM -->|"pass"| STORY["Story breakdown + coverage gate<br/>story-planner"]
204
+ STORY --> LANES["Parallel lanes:<br/>Senior Dev → Architect → Developer → Code Review"]
204
205
  LANES --> MR{{"Gate: Merge Reviewer"}}
205
206
  MR --> TEST["Unit · E2E · Integration + Senior verification"]
206
207
  TEST --> TCG{{"Gate: Test coverage<br/>+ Devil's Advocate"}}
@@ -231,7 +232,7 @@ your chosen DB, and **org persona agents** added only in organization scope. See
231
232
  |-------|------|
232
233
  | `orchestrator` | Pipeline controller — decomposes, delegates, runs lanes in parallel, gates progression (never writes code) |
233
234
  | `spec-doc-writer` | Turns requirements into a spec + developer documentation in one pass |
234
- | `story-planner` | Decomposes an approved spec into ordered, parallelizable stories |
235
+ | `story-planner` | Decomposes an approved spec into ordered, parallelizable stories; verifies every acceptance criterion maps to a story (workflow gate 1f) |
235
236
  | `ui-designer` | Drafts and self-reviews UI/UX design specs |
236
237
  | `senior-backend-dev` · `senior-frontend-dev` | Senior review of a work stream's spec (the two-lane example) |
237
238
  | `technical-architect` | Cross-system architecture, scalability, integration review |
@@ -171,9 +171,10 @@ See [`docs/architecture.md`](docs/architecture.md) for the full diagrams.
171
171
  ```mermaid
172
172
  flowchart TD
173
173
  REQ(["/sdlc request"]) --> CLS{"Classify"}
174
- CLS -->|"feature"| SPEC["Spec & Dev Docs → Story Planner"]
174
+ CLS -->|"feature"| SPEC["Spec & Dev Docs"]
175
175
  SPEC --> EM{{"Gate: EM approved"}}
176
- EM -->|"pass"| LANES["Parallel lanes:<br/>Senior Dev Architect → Developer → Code Review"]
176
+ EM -->|"pass"| STORY["Story breakdown + coverage gate<br/>story-planner"]
177
+ STORY --> LANES["Parallel lanes:<br/>Senior Dev → Architect → Developer → Code Review"]
177
178
  LANES --> MR{{"Gate: Merge Reviewer"}}
178
179
  MR --> TEST["Unit · E2E · Integration + Senior verification"]
179
180
  TEST --> TCG{{"Gate: Test coverage<br/>+ Devil's Advocate"}}
@@ -204,7 +205,7 @@ your chosen DB, and **org persona agents** added only in organization scope. See
204
205
  |-------|------|
205
206
  | `orchestrator` | Pipeline controller — decomposes, delegates, runs lanes in parallel, gates progression (never writes code) |
206
207
  | `spec-doc-writer` | Turns requirements into a spec + developer documentation in one pass |
207
- | `story-planner` | Decomposes an approved spec into ordered, parallelizable stories |
208
+ | `story-planner` | Decomposes an approved spec into ordered, parallelizable stories; verifies every acceptance criterion maps to a story (workflow gate 1f) |
208
209
  | `ui-designer` | Drafts and self-reviews UI/UX design specs |
209
210
  | `senior-backend-dev` · `senior-frontend-dev` | Senior review of a work stream's spec (the two-lane example) |
210
211
  | `technical-architect` | Cross-system architecture, scalability, integration review |
@@ -79,6 +79,9 @@ Human PRD
79
79
  [MR1] Merge Reviewer ──── verifies spec consistency across lanes
80
80
 
81
81
 
82
+ [SP] Story Planner ───── decomposes spec into ordered stories + verifies every
83
+ │ acceptance criterion maps to a story (coverage gate)
84
+
82
85
  ┌─────── FORK POINT 2 (implementation) ───────────────────────┐
83
86
  │ │
84
87
  │ LANE A — FRONTEND LANE B — BACKEND │
@@ -139,6 +142,7 @@ Done
139
142
  ```
140
143
  Spec-Doc Writer → [UI Designer if UI]
141
144
  → Senior Dev → Technical Architect → EM
145
+ → Story Planner (coverage gate)
142
146
  → Developer → SDLC Code Reviewer → Unit Tests
143
147
  → Tester (full) → Senior Tester (full)
144
148
  → PR Raiser
@@ -240,6 +244,24 @@ For full-stack work, **spawn these lanes in parallel**:
240
244
 
241
245
  ---
242
246
 
247
+ ### Stage SP: Story Breakdown & Coverage Gate (after the spec is approved + consistent)
248
+
249
+ The bridge between an approved spec and implementation: decompose, then prove coverage before any
250
+ code is written.
251
+
252
+ - **Spawn**: `story-planner` with the approved spec (+ design spec and architecture notes, if any).
253
+ - It decomposes the spec into the smallest independently-shippable stories, orders them with an
254
+ acyclic `blockedBy`/`blocks` graph, identifies the immediately-startable parallel set per lane,
255
+ and builds a traceability map of **every acceptance criterion → ≥1 story**.
256
+ - **Gate**: every acceptance criterion is covered (no **gap**), no story maps to no criterion (no
257
+ **scope creep**), the graph is acyclic, and the parallel set is genuinely unblocked. A gap or
258
+ scope-creep finding routes back to the **Spec Writer** (fix the spec) — never silently into a
259
+ lane. The story breakdown then drives lane assignment at Fork Point 2.
260
+ - For **single-stack** work (Mode A), this runs after EM approval and before the Developer; there
261
+ is no merge-reviewer, so the Story Planner runs directly on the EM-approved spec.
262
+
263
+ ---
264
+
243
265
  ### FORK POINT 2: Implementation (Mode B only)
244
266
 
245
267
  #### Lane A (Frontend Implementation):
@@ -438,6 +460,7 @@ PIPELINE: [FORK 1] Lane A: Tech Architect (iteration 1/3) | Lane B: Sr BE Dev Re
438
460
  PIPELINE: [FORK 1] Lane A: EM Review (in progress) | Lane B: Tech Architect (in progress)
439
461
  PIPELINE: [FORK 1] Lane A: DONE ✓ | Lane B: EM Review (in progress)
440
462
  PIPELINE: [JOIN 1] Merge Reviewer (verifying spec consistency)
463
+ PIPELINE: [SP] Story Planner — acceptance-criterion coverage verified ✓
441
464
  PIPELINE: [FORK 2] Lane A: FE Developer (in progress) | Lane B: BE Developer (in progress)
442
465
  PIPELINE: [FORK 2] Lane A: FE Code Review (iteration 2/5) | Lane B: BE Unit Tests (running)
443
466
  PIPELINE: [FORK 2] Lane A: FE Unit Tests (running) | Lane B: DONE ✓
@@ -478,6 +501,7 @@ PIPELINE: DEFECT LOOP (cycle 1/2) - Backend lane re-entered, re-test API lane on
478
501
  | 3c-FE | `em-reviewer` | EM review of frontend | Yes — Lane A |
479
502
  | 3c-BE | `em-reviewer` | EM review of backend | Yes — Lane B |
480
503
  | JOIN | `merge-reviewer` | Verifies spec consistency | No — gate |
504
+ | SP | `story-planner` | Decomposes spec → ordered stories + acceptance-criterion coverage gate | No — gate |
481
505
  | 4a-FE | `developer` (FE mode) | Frontend implementation | Yes — Lane A |
482
506
  | 4a-BE | `developer` (BE mode) | Backend implementation | Yes — Lane B |
483
507
  | 4b-FE | `sdlc-code-reviewer` | Frontend code review | Yes — Lane A |
@@ -35,7 +35,9 @@ A story breakdown (write it where the spec lives, or to `.claude/state/` for the
35
35
  5. **Traceability** — every acceptance criterion in the spec maps to at least one story; flag any
36
36
  criterion with no story (a gap) and any story with no criterion (scope creep).
37
37
 
38
- When the task tracker is in use, you may create the corresponding tasks with their dependencies.
38
+ When a task tracker is configured, mirror the stories to it (one issue per story, dependencies
39
+ carried across) using the `task-tracker-sync` skill (`.claude/skills/task-tracker-sync/SKILL.md`) —
40
+ it is tracker-agnostic (GitHub / Linear / Jira) and idempotent. Sync after the coverage gate passes.
39
41
 
40
42
  ## Constraints
41
43
 
@@ -81,6 +81,7 @@ profiles:
81
81
  - accessibility-review
82
82
  - over-engineering-review
83
83
  - simplification-debt
84
+ - task-tracker-sync
84
85
  gates: [spec-complete, em-approved, code-review, build-green, test-coverage, security-clear]
85
86
  hooks: [load-continuity, load-learnings, load-autonomy, skill-routing, learning-detection, guard-rm-rf, guard-push-main, protect-secrets, guard-commit-secrets, warn-shared-modules, lint-fix, type-check]
86
87
 
@@ -87,10 +87,11 @@ independent, and enforces a quality gate between phases. **Only the active profi
87
87
  flowchart TD
88
88
  REQ(["/sdlc request"]) --> CLS{"Classify:<br/>bug · feature · fast-track"}
89
89
 
90
- CLS -->|"feature"| SPEC["1. Spec & Dev Docs → Story Planner<br/>spec-doc-writer · story-planner (+ ui-designer if UI)"]
90
+ CLS -->|"feature"| SPEC["1. Spec & Dev Docs<br/>spec-doc-writer (+ ui-designer if UI)"]
91
91
  SPEC --> EM{{"Gate: EM approved<br/>em-reviewer"}}
92
92
 
93
- EM -->|"pass"| FORK["Fork independent work streams"]
93
+ EM -->|"pass"| STORY["2. Story breakdown + coverage gate<br/>story-planner: every acceptance criterion → a story"]
94
+ STORY --> FORK["Fork independent work streams"]
94
95
  subgraph LANES["Parallel lanes (canonical example: backend + frontend)"]
95
96
  direction LR
96
97
  L1["Senior Dev → Tech Architect → Developer → Code Reviewer"]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-kit"
7
- version = "0.8.0"
7
+ version = "0.9.0"
8
8
  description = "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -107,13 +107,13 @@ handled by a dedicated agent in `.claude/agents/`.
107
107
  ```
108
108
  Phase 1 — Planning (Stages 0-3) ║ Phase 2 — Development (4-5) ║ Phase 3 — Testing & Delivery (6-7)
109
109
  [0] Orchestrator receives request ║ [4] Developer writes code ║ [6a] Unit Tester ─┐
110
- 1a→1b→1c→1d→1e ───────────────────╬──► 2a→2b→2c→2d ────────────────╬──► [6b] E2E Tester ─┤ (parallel)
110
+ 1a→1b→1c→1d→1e→1f ─────────────────╬──► 2a→2b→2c→2d ────────────────╬──► [6b] E2E Tester ─┤ (parallel)
111
111
  Understand→Clarify→Spec→Dev docs ║ Read→Implement→Quality gate ║ 3a→3b→3c→3d
112
- → EM review ║ → Code review ║ → Security → DevOps/Obs → PR → Human
112
+ → EM review → Story breakdown ║ → Code review ║ → Security → DevOps/Obs → PR → Human
113
113
  ```
114
114
 
115
115
  **Pipeline rules:**
116
- - No code is written until Phase 1 is complete (EM approval required).
116
+ - No code is written until Phase 1 is complete (EM approval + story-coverage gate required).
117
117
  - No testing starts until Phase 2 code review passes.
118
118
  - No PR is created until all tests pass (unit + E2E).
119
119
  - No task is marked done until the user has reviewed and accepted.
@@ -151,7 +151,25 @@ table (each requirement → implementation approach → files).
151
151
  A skeptical Engineering Manager reviews the dev docs for completeness, quality (simplest
152
152
  approach, no over/under-engineering), non-functional concerns, and architecture fit.
153
153
  Feedback loops with the Dev Doc Writer, **max 3 iterations**, then escalate.
154
- **Gate:** EM signals `APPROVED`. Development CANNOT start without it.
154
+ **Gate:** EM signals `APPROVED`. The story breakdown CANNOT start without it.
155
+
156
+ ## 1f — Story Breakdown & Coverage Gate `[Story Planner]`
157
+ With the EM-approved spec, the **Story Planner** decomposes it into the smallest set of
158
+ independently shippable stories, ordered by dependency, and identifies which can run in parallel
159
+ (per lane). It builds a **traceability map**: every acceptance criterion → at least one story.
160
+
161
+ This is the spec↔stories coverage check *before* any code is written — the gate that catches an
162
+ acceptance criterion no story covers (a **gap**) and a story that maps to no criterion (**scope
163
+ creep**), so both are fixed on paper rather than discovered mid-implementation. A gap or
164
+ scope-creep finding routes back to the Spec Writer (fix the spec), never silently into the code.
165
+
166
+ **Output:** a story breakdown (written where the spec lives, or to `.claude/state/`) with stable
167
+ story ids, the criteria each satisfies, an acyclic `blockedBy`/`blocks` dependency graph, and the
168
+ immediately-startable parallel set. When a task tracker is configured, the stories can be mirrored
169
+ to it — see `.claude/skills/task-tracker-sync/SKILL.md`.
170
+ **Gate:** every acceptance criterion is covered by ≥1 story (no gaps), no story lacks a criterion
171
+ (no scope creep), the graph is acyclic, and the parallel set is genuinely unblocked. Implementation
172
+ CANNOT start until coverage is complete.
155
173
 
156
174
  ---
157
175
 
@@ -270,6 +288,7 @@ B1 understand → B2 failing test → B3 root cause → B4 fix → B5 quality ga
270
288
  ```
271
289
  Phase 1: 1a Understand [Orchestrator] → 1b Clarify → 1c Spec [Spec Writer]
272
290
  → 1d Dev docs [Dev Doc Writer] → 1e EM review [EM Reviewer, max 3]
291
+ → 1f Story breakdown + coverage gate [Story Planner]
273
292
  Phase 2: 2a Read code [Developer] → 2b Implement → 2c Code review [Code Reviewer, max 5] → 2d Impact check
274
293
  Phase 3: 3a Unit tests ─┐ 3b E2E tests ─┘ (parallel)
275
294
  → 3b.5 Test-coverage gate (blind review + Devil's Advocate)
@@ -282,7 +301,8 @@ Phase 3: 3a Unit tests ─┐ 3b E2E tests ─┘ (parallel)
282
301
  |------|-----------------|
283
302
  | Requirements clarified (1b) | Spec Writer starts |
284
303
  | Spec approved by user (1c) | Dev Doc Writer starts |
285
- | EM `APPROVED` (1e) | Developer starts coding |
304
+ | EM `APPROVED` (1e) | Story Planner starts |
305
+ | Story coverage complete — every criterion mapped, no scope creep (1f) | Developer starts coding |
286
306
  | Code Reviewer `APPROVED` (2c) | Testing starts |
287
307
  | Both testers pass (3a+3b) | Test-coverage gate |
288
308
  | Test-coverage PASS/CONFIRMED (3b.5) | Security review |
@@ -193,6 +193,12 @@ When multiple agents or sessions are available:
193
193
  - **Must be sequential:** Database migrations, shared state changes, dependency chains
194
194
  - **Needs coordination:** Features that share an API contract (define the contract first, then parallelize)
195
195
 
196
+ ## Pushing the plan to a tracker
197
+
198
+ Once the breakdown is approved and you want it tracked, the `task-tracker-sync` skill mirrors it into
199
+ the project's configured issue tracker (GitHub / Linear / Jira) — one issue per task, dependencies
200
+ preserved, idempotent. It syncs an existing breakdown; it does not create one.
201
+
196
202
  ## Common Rationalizations
197
203
 
198
204
  | Rationalization | Reality |
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: task-tracker-sync
3
+ description: Mirrors an existing task or story breakdown into the project's issue tracker as issues, preserving dependencies. Use after planning/story breakdown when the user wants the plan pushed to GitHub / Linear / Jira (e.g. "create issues for these tasks", "sync the plan to the tracker"). Does not create the breakdown — it syncs one that already exists.
4
+ ---
5
+
6
+ # Task Tracker Sync
7
+
8
+ ## Overview
9
+
10
+ Turn a finished plan into tracked work. Given a task or story breakdown that **already exists**
11
+ (from `planning-and-task-breakdown`, the `story-planner` agent, or a plan document), create one
12
+ issue per task in whatever issue tracker the project has configured, carrying the dependency graph
13
+ across so the tracker mirrors the plan instead of a flat dump of tickets.
14
+
15
+ This skill **consumes** a breakdown; it never invents one. If no plan exists yet, run
16
+ `planning-and-task-breakdown` (or the `story-planner` agent) first, then sync its output.
17
+
18
+ ## When to Use
19
+
20
+ - A plan / story breakdown is approved and the user wants it in the tracker for execution.
21
+ - The user says "create issues for these tasks", "open tickets", "push this to Linear/Jira/GitHub".
22
+ - Stories from the workflow's stage 1f (Story Planner) need tracker counterparts before lanes start.
23
+
24
+ **When NOT to use:** there is no breakdown yet (plan first); a single throwaway task; or the user
25
+ only wants a local checklist, not tracker issues.
26
+
27
+ ## Tracker-agnostic by design
28
+
29
+ claude-kit does not assume a tracker. Use whichever **issue-tracker MCP server** is configured for
30
+ the project (see `.mcp.json` / the catalog): GitHub, Linear, Jira, or another. Discover the
31
+ tracker's create/update tools at run time and use them — never hardcode one vendor's API.
32
+
33
+ If **no** tracker MCP is configured: stop and say so. Offer to (a) emit the issues as a Markdown
34
+ checklist the user can paste, or (b) wait until a tracker is set up. Do not fabricate issue URLs.
35
+
36
+ ## The Sync Process
37
+
38
+ 1. **Read the breakdown.** Load the plan/story file. For each task capture: title, body (the
39
+ description + acceptance criteria + verification steps + files-touched), a stable local id, and
40
+ its `blockedBy`/`blocks` dependencies. Reference the spec requirement ids (R1, R2…) in the body
41
+ so each issue traces back to the spec.
42
+ 2. **Detect the tracker.** Identify the configured issue-tracker MCP and the fields it supports
43
+ (labels, milestones, parent/child, issue links / "blocks" relations).
44
+ 3. **Reconcile before creating (idempotent).** Search the tracker for existing issues matching each
45
+ task (by a stable marker in the title or body, e.g. the story id). **Update** a match; **create**
46
+ only what's genuinely missing. Re-running the sync must not produce duplicates.
47
+ 4. **Create issues** for the unmatched tasks: title, structured body, and any labels the project
48
+ uses. Record the new issue id/URL against the local task id.
49
+ 5. **Wire dependencies.** Once every task has a tracker id, translate `blockedBy`/`blocks` into the
50
+ tracker's native relation (issue links, task lists, or parent/child). If the tracker can't express
51
+ a relation, note it in the issue body ("Blocked by #N") rather than dropping it.
52
+ 6. **Report.** A table of local task id → issue URL → created|updated, plus any dependency links
53
+ made and anything that needs manual attention.
54
+
55
+ ## Constraints
56
+
57
+ - **Confirm before writing.** Creating tracker issues is an outward-facing action — show the user
58
+ what will be created/updated and how many, and get a go-ahead before the first write, unless they
59
+ already said "just do it".
60
+ - **Idempotent.** Match-then-update; never blind-create. A second run is a no-op when nothing changed.
61
+ - **Faithful, not creative.** Sync the tasks as written. Don't reword acceptance criteria, split,
62
+ merge, or add tasks here — that's the planner's job. Round-trip changes through the plan, then
63
+ re-sync.
64
+ - **No secrets.** Never put credentials or tokens in issue bodies. Tracker auth comes from the MCP
65
+ server's configured env vars, not from anything you write.
66
+
67
+ ## Verification
68
+
69
+ - [ ] Every task in the breakdown has exactly one corresponding tracker issue (no duplicates).
70
+ - [ ] Dependencies are represented in the tracker (native links) or explicitly noted in bodies.
71
+ - [ ] Each issue body traces to its spec requirement id(s) and lists acceptance criteria.
72
+ - [ ] A re-run reports all "updated"/"unchanged" — zero accidental new issues.
@@ -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.8.0"
10
+ __version__ = "0.9.0"
@@ -0,0 +1,44 @@
1
+ # Feature spec: <name>
2
+
3
+ > Produced before implementation (see `.claude/rules/mandatory-workflow.md`). Keep it explicit
4
+ > enough to review. Give each requirement a stable id: the **Story Planner** (workflow stage 1f)
5
+ > maps every acceptance criterion below to an implementation story, so coverage gaps and scope
6
+ > creep are caught on paper, not mid-build.
7
+
8
+ ## Problem / motivation
9
+ What user need or problem does this address? Why now?
10
+
11
+ ## Goals / non-goals
12
+ - Goals:
13
+ - Non-goals:
14
+
15
+ ## Requirements & acceptance criteria
16
+ Each requirement gets a stable id (R1, R2, …) so stories and tests can trace back to it. Every
17
+ requirement needs at least one acceptance criterion phrased as a checkable Given/When/Then.
18
+
19
+ - **R1** — <requirement>
20
+ - [ ] Given … when … then …
21
+ - **R2** — <requirement>
22
+ - [ ] Given … when … then …
23
+
24
+ ## Assumptions
25
+ Defaults chosen where the request was silent — state them so they can be corrected *before* coding,
26
+ not discovered after. (Open, still-undecided questions belong under "Rollout / open questions", not
27
+ here; an assumption is a decision you are proceeding on unless told otherwise.)
28
+
29
+ - …
30
+
31
+ ## Scope
32
+ Affected modules / files / surfaces. Independent work streams (e.g. backend lane, frontend lane).
33
+
34
+ ## Design
35
+ Approach, data model / API contract changes, key decisions (link ADRs for significant ones).
36
+
37
+ ## Risks & constraints
38
+ Deadline, compatibility, security, performance, compliance.
39
+
40
+ ## Test plan (summary)
41
+ What unit / integration / e2e coverage proves each requirement's acceptance criteria (reference the
42
+ R-ids). Detail lives in test-plan.md.
43
+
44
+ ## Rollout / open questions
@@ -1,29 +0,0 @@
1
- # Feature spec: <name>
2
-
3
- > Produced before implementation (see `.claude/rules/mandatory-workflow.md`). Keep it explicit
4
- > enough to review.
5
-
6
- ## Problem / motivation
7
- What user need or problem does this address? Why now?
8
-
9
- ## Goals / non-goals
10
- - Goals:
11
- - Non-goals:
12
-
13
- ## Acceptance criteria
14
- - [ ] Given … when … then …
15
- - [ ] …
16
-
17
- ## Scope
18
- Affected modules / files / surfaces. Independent work streams (e.g. backend lane, frontend lane).
19
-
20
- ## Design
21
- Approach, data model / API contract changes, key decisions (link ADRs for significant ones).
22
-
23
- ## Risks & constraints
24
- Deadline, compatibility, security, performance, compliance.
25
-
26
- ## Test plan (summary)
27
- What unit / integration / e2e coverage proves the acceptance criteria. (Detail in test-plan.md.)
28
-
29
- ## Rollout / open questions
File without changes