vstack 3.5.2__tar.gz → 3.7.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 (276) hide show
  1. {vstack-3.5.2 → vstack-3.7.0}/PKG-INFO +2 -2
  2. {vstack-3.5.2 → vstack-3.7.0}/pyproject.toml +3 -3
  3. vstack-3.7.0/src/vstack/_templates/agents/_partials/agent-skill-boundary.md +15 -0
  4. vstack-3.7.0/src/vstack/_templates/agents/_partials/memory-cache.md +11 -0
  5. vstack-3.7.0/src/vstack/_templates/agents/_partials/stage-report-contract.md +12 -0
  6. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/architect/config.yaml +0 -5
  7. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/architect/template.md +10 -5
  8. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/designer/config.yaml +0 -4
  9. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/designer/template.md +7 -2
  10. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/engineer/config.yaml +0 -4
  11. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/engineer/template.md +15 -24
  12. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/planner/config.yaml +0 -4
  13. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/planner/template.md +95 -51
  14. vstack-3.7.0/src/vstack/_templates/agents/product/artifacts/changes/changedoc.md +71 -0
  15. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/product/config.yaml +0 -5
  16. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/product/template.md +24 -18
  17. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/release/config.yaml +0 -4
  18. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/release/template.md +11 -6
  19. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/tester/config.yaml +0 -4
  20. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/tester/template.md +14 -17
  21. vstack-3.7.0/src/vstack/_templates/instructions/git/template.md +36 -0
  22. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/helm/template.md +5 -5
  23. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/java/template.md +6 -6
  24. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/k8s/template.md +4 -4
  25. vstack-3.7.0/src/vstack/_templates/instructions/markdown/template.md +46 -0
  26. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/python/template.md +7 -7
  27. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/rancher/template.md +5 -5
  28. vstack-3.7.0/src/vstack/_templates/instructions/security/template.md +37 -0
  29. vstack-3.7.0/src/vstack/_templates/instructions/terraform/template.md +55 -0
  30. vstack-3.7.0/src/vstack/_templates/instructions/terragrunt/template.md +52 -0
  31. vstack-3.7.0/src/vstack/_templates/instructions/testing/template.md +38 -0
  32. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/typescript/template.md +4 -4
  33. vstack-3.7.0/src/vstack/_templates/project/.vstack/memories/README.md +74 -0
  34. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/api-design-review/config.yaml +0 -1
  35. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/api-design-review/template.md +2 -2
  36. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/architecture-risk/config.yaml +0 -1
  37. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/architecture-risk/template.md +1 -1
  38. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/artifact-integrity/config.yaml +0 -1
  39. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/artifact-integrity/template.md +7 -7
  40. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/ci-triage/config.yaml +0 -1
  41. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/dependency-audit/config.yaml +0 -1
  42. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/dependency-audit/template.md +5 -5
  43. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/incident-timeline/config.yaml +0 -1
  44. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/migration-plan/config.yaml +0 -1
  45. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/migration-safety/config.yaml +0 -1
  46. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/migration-safety/template.md +1 -1
  47. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/ops-readiness/config.yaml +0 -1
  48. {vstack-3.5.2/src/vstack/_templates/prompts/code-review → vstack-3.7.0/src/vstack/_templates/prompts/quick-review}/config.yaml +1 -2
  49. vstack-3.7.0/src/vstack/_templates/prompts/reasoning/config.yaml +12 -0
  50. vstack-3.7.0/src/vstack/_templates/prompts/reasoning/template.md +85 -0
  51. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/release-check/config.yaml +0 -1
  52. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/repo-assessment/config.yaml +0 -1
  53. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/repo-assessment/template.md +6 -8
  54. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/template-impact/config.yaml +0 -1
  55. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/test-gaps/config.yaml +0 -1
  56. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/upgrade-plan/config.yaml +0 -1
  57. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/workflow-check/config.yaml +0 -1
  58. vstack-3.7.0/src/vstack/_templates/skills/advise/config.yaml +17 -0
  59. vstack-3.7.0/src/vstack/_templates/skills/advise/template.md +62 -0
  60. vstack-3.7.0/src/vstack/_templates/skills/ask/config.yaml +17 -0
  61. vstack-3.7.0/src/vstack/_templates/skills/ask/template.md +91 -0
  62. vstack-3.7.0/src/vstack/_templates/skills/changedoc/config.yaml +17 -0
  63. vstack-3.7.0/src/vstack/_templates/skills/changedoc/template.md +109 -0
  64. vstack-3.7.0/src/vstack/_templates/skills/explore/config.yaml +18 -0
  65. vstack-3.7.0/src/vstack/_templates/skills/explore/template.md +116 -0
  66. vstack-3.7.0/src/vstack/_templates/skills/lazy/config.yaml +18 -0
  67. vstack-3.7.0/src/vstack/_templates/skills/lazy/template.md +127 -0
  68. vstack-3.7.0/src/vstack/_templates/skills/simplify/config.yaml +16 -0
  69. vstack-3.7.0/src/vstack/_templates/skills/simplify/template.md +122 -0
  70. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/space-setup/template.md +1 -1
  71. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/agents/config.py +10 -0
  72. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/agents/generator.py +1 -2
  73. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/constants.py +40 -34
  74. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/init.py +172 -9
  75. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/install.py +9 -3
  76. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/parser.py +8 -0
  77. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/hooks/generator.py +1 -1
  78. vstack-3.5.2/src/vstack/_templates/agents/_partials/agent-skill-boundary.md +0 -7
  79. vstack-3.5.2/src/vstack/_templates/agents/_partials/stage-report-contract.md +0 -10
  80. vstack-3.5.2/src/vstack/_templates/agents/product/artifacts/changes/change-request.md +0 -42
  81. vstack-3.5.2/src/vstack/_templates/instructions/git/template.md +0 -36
  82. vstack-3.5.2/src/vstack/_templates/instructions/markdown/template.md +0 -46
  83. vstack-3.5.2/src/vstack/_templates/instructions/security/template.md +0 -37
  84. vstack-3.5.2/src/vstack/_templates/instructions/terraform/template.md +0 -55
  85. vstack-3.5.2/src/vstack/_templates/instructions/terragrunt/template.md +0 -52
  86. vstack-3.5.2/src/vstack/_templates/instructions/testing/template.md +0 -38
  87. vstack-3.5.2/src/vstack/_templates/skills/explore/config.yaml +0 -18
  88. vstack-3.5.2/src/vstack/_templates/skills/explore/template.md +0 -170
  89. {vstack-3.5.2 → vstack-3.7.0}/LICENSE +0 -0
  90. {vstack-3.5.2 → vstack-3.7.0}/README-pypi.md +0 -0
  91. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/__init__.py +0 -0
  92. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/__main__.py +0 -0
  93. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_migrations/README.md +0 -0
  94. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_migrations/v2_to_v3.yaml +0 -0
  95. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/architect/artifacts/adr/NNN-template.md +0 -0
  96. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/architect/artifacts/overview.md +0 -0
  97. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/designer/artifacts/overview.md +0 -0
  98. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/engineer/artifacts/issues/postmortem.md +0 -0
  99. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/engineer/artifacts/issues/rca.md +0 -0
  100. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/product/artifacts/issues/issue.md +0 -0
  101. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/product/artifacts/requirements.md +0 -0
  102. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/product/artifacts/roadmap.md +0 -0
  103. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/product/artifacts/vision.md +0 -0
  104. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/release/artifacts/release-summary.md +0 -0
  105. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/tester/artifacts/performance-baseline.md +0 -0
  106. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/tester/artifacts/security-report.md +0 -0
  107. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/agents/tester/artifacts/test-report.md +0 -0
  108. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/hooks/agent-call-audit/hook.yaml +0 -0
  109. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/hooks/log-retention-cleanup/hook.yaml +0 -0
  110. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/hooks/post-commit-security-scan/hook.yaml +0 -0
  111. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/hooks/post-edit-format/hook.yaml +0 -0
  112. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/hooks/post-edit-markdown-quality/hook.yaml +0 -0
  113. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/hooks/pre-tool-safety-gate/hook.yaml +0 -0
  114. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/hooks/session-audit/hook.yaml +0 -0
  115. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/git/config.yaml +0 -0
  116. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/helm/config.yaml +0 -0
  117. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/java/config.yaml +0 -0
  118. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/k8s/config.yaml +0 -0
  119. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/markdown/config.yaml +0 -0
  120. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/python/config.yaml +0 -0
  121. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/rancher/config.yaml +0 -0
  122. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/security/config.yaml +0 -0
  123. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/terraform/config.yaml +0 -0
  124. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/terragrunt/config.yaml +0 -0
  125. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/testing/config.yaml +0 -0
  126. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/instructions/typescript/config.yaml +0 -0
  127. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/project/.vstack/config.yaml +0 -0
  128. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/ci-triage/template.md +0 -0
  129. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/incident-timeline/template.md +0 -0
  130. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/migration-plan/template.md +0 -0
  131. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/ops-readiness/template.md +0 -0
  132. {vstack-3.5.2/src/vstack/_templates/prompts/code-review → vstack-3.7.0/src/vstack/_templates/prompts/quick-review}/template.md +0 -0
  133. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/release-check/template.md +0 -0
  134. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/template-impact/template.md +0 -0
  135. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/test-gaps/template.md +0 -0
  136. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/upgrade-plan/template.md +0 -0
  137. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/prompts/workflow-check/template.md +0 -0
  138. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/_partials/base-branch.md +0 -0
  139. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/_partials/observability-checklist.md +0 -0
  140. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/_partials/run-tests.md +0 -0
  141. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/_partials/skill-context.md +0 -0
  142. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/adr/config.yaml +0 -0
  143. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/adr/template.md +0 -0
  144. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/analyse/config.yaml +0 -0
  145. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/analyse/template.md +0 -0
  146. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/architecture/config.yaml +0 -0
  147. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/architecture/template.md +0 -0
  148. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/aws-cli/config.yaml +0 -0
  149. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/aws-cli/template.md +0 -0
  150. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/cicd/config.yaml +0 -0
  151. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/cicd/template.md +0 -0
  152. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/cloudformation/config.yaml +0 -0
  153. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/cloudformation/template.md +0 -0
  154. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/code-review/config.yaml +0 -0
  155. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/code-review/template.md +0 -0
  156. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/codeql/config.yaml +0 -0
  157. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/codeql/template.md +0 -0
  158. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/concise/config.yaml +0 -0
  159. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/concise/template.md +0 -0
  160. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/consult/config.yaml +0 -0
  161. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/consult/template.md +0 -0
  162. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/container/config.yaml +0 -0
  163. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/container/template.md +0 -0
  164. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/conventional-commit/config.yaml +0 -0
  165. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/conventional-commit/template.md +0 -0
  166. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/copilot-ops/config.yaml +0 -0
  167. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/copilot-ops/template.md +0 -0
  168. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/debug/config.yaml +0 -0
  169. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/debug/template.md +0 -0
  170. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/dependabot/config.yaml +0 -0
  171. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/dependabot/template.md +0 -0
  172. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/dependency/config.yaml +0 -0
  173. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/dependency/template.md +0 -0
  174. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/design/config.yaml +0 -0
  175. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/design/template.md +0 -0
  176. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/docs/config.yaml +0 -0
  177. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/docs/template.md +0 -0
  178. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/gdpr/config.yaml +0 -0
  179. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/gdpr/template.md +0 -0
  180. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/gh-issues/config.yaml +0 -0
  181. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/gh-issues/template.md +0 -0
  182. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/gh-release/config.yaml +0 -0
  183. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/gh-release/template.md +0 -0
  184. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/guardrails/config.yaml +0 -0
  185. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/guardrails/template.md +0 -0
  186. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/helm/config.yaml +0 -0
  187. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/helm/template.md +0 -0
  188. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/incident/config.yaml +0 -0
  189. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/incident/template.md +0 -0
  190. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/inspect/config.yaml +0 -0
  191. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/inspect/template.md +0 -0
  192. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/k8s/config.yaml +0 -0
  193. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/k8s/template.md +0 -0
  194. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/migrate/config.yaml +0 -0
  195. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/migrate/template.md +0 -0
  196. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/onboard/config.yaml +0 -0
  197. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/onboard/template.md +0 -0
  198. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/openapi/config.yaml +0 -0
  199. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/openapi/template.md +0 -0
  200. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/performance/config.yaml +0 -0
  201. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/performance/template.md +0 -0
  202. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/postmortem/config.yaml +0 -0
  203. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/postmortem/template.md +0 -0
  204. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/pr/config.yaml +0 -0
  205. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/pr/template.md +0 -0
  206. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/rancher/config.yaml +0 -0
  207. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/rancher/template.md +0 -0
  208. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/rca/config.yaml +0 -0
  209. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/rca/template.md +0 -0
  210. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/refactor/config.yaml +0 -0
  211. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/refactor/template.md +0 -0
  212. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/release-notes/config.yaml +0 -0
  213. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/release-notes/template.md +0 -0
  214. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/requirements/config.yaml +0 -0
  215. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/requirements/template.md +0 -0
  216. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/secret-scan/config.yaml +0 -0
  217. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/secret-scan/template.md +0 -0
  218. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/security/config.yaml +0 -0
  219. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/security/template.md +0 -0
  220. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/space-setup/config.yaml +0 -0
  221. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/terraform/config.yaml +0 -0
  222. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/terraform/template.md +0 -0
  223. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/terragrunt/config.yaml +0 -0
  224. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/terragrunt/template.md +0 -0
  225. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/threat-model/config.yaml +0 -0
  226. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/threat-model/template.md +0 -0
  227. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/verify/config.yaml +0 -0
  228. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/verify/template.md +0 -0
  229. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/vision/config.yaml +0 -0
  230. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/_templates/skills/vision/template.md +0 -0
  231. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/agents/__init__.py +0 -0
  232. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/agents/constants.py +0 -0
  233. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/artifacts/__init__.py +0 -0
  234. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/artifacts/config.py +0 -0
  235. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/artifacts/constants.py +0 -0
  236. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/artifacts/generator.py +0 -0
  237. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/artifacts/models.py +0 -0
  238. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/artifacts/protocol.py +0 -0
  239. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/__init__.py +0 -0
  240. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/base.py +0 -0
  241. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/catalog.py +0 -0
  242. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/interface.py +0 -0
  243. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/manifest.py +0 -0
  244. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/migrate.py +0 -0
  245. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/report.py +0 -0
  246. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/service.py +0 -0
  247. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/status.py +0 -0
  248. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/uninstall.py +0 -0
  249. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/validate.py +0 -0
  250. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/cli/verify.py +0 -0
  251. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/constants.py +0 -0
  252. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/frontmatter/__init__.py +0 -0
  253. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/frontmatter/parser.py +0 -0
  254. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/frontmatter/schema.py +0 -0
  255. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/frontmatter/serializer.py +0 -0
  256. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/hooks/__init__.py +0 -0
  257. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/hooks/config.py +0 -0
  258. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/hooks/constants.py +0 -0
  259. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/instructions/__init__.py +0 -0
  260. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/instructions/config.py +0 -0
  261. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/instructions/constants.py +0 -0
  262. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/instructions/generator.py +0 -0
  263. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/main.py +0 -0
  264. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/manifest/__init__.py +0 -0
  265. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/manifest/store.py +0 -0
  266. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/models.py +0 -0
  267. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/prompts/__init__.py +0 -0
  268. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/prompts/config.py +0 -0
  269. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/prompts/constants.py +0 -0
  270. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/prompts/generator.py +0 -0
  271. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/skills/__init__.py +0 -0
  272. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/skills/config.py +0 -0
  273. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/skills/constants.py +0 -0
  274. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/skills/generator.py +0 -0
  275. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/skills/models.py +0 -0
  276. {vstack-3.5.2 → vstack-3.7.0}/src/vstack/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vstack
3
- Version: 3.5.2
3
+ Version: 3.7.0
4
4
  Summary: VS Code-native AI engineering workflow system for microservices, libraries, and backend systems.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -19,7 +19,7 @@ Classifier: Topic :: Software Development :: Build Tools
19
19
  Classifier: Topic :: Software Development :: Code Generators
20
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
21
  Classifier: Topic :: Utilities
22
- Requires-Dist: pyyaml (>=6.0)
22
+ Requires-Dist: pyyaml (>=6.0.3)
23
23
  Project-URL: Changelog, https://github.com/eschaar/vstack/blob/main/CHANGELOG.md
24
24
  Project-URL: Documentation, https://github.com/eschaar/vstack/blob/main/README.md
25
25
  Project-URL: Discussions, https://github.com/eschaar/vstack/discussions
@@ -5,7 +5,7 @@ description = "VS Code-native AI engineering workflow system for microservices,
5
5
  license = "MIT"
6
6
  readme = "README-pypi.md"
7
7
  requires-python = ">=3.11,<3.15"
8
- dependencies = ["pyyaml>=6.0"]
8
+ dependencies = ["pyyaml>=6.0.3"]
9
9
  keywords = [
10
10
  "github-copilot",
11
11
  "vscode",
@@ -45,7 +45,7 @@ classifiers = [
45
45
  "Topic :: Software Development :: Libraries :: Python Modules",
46
46
  "Topic :: Utilities",
47
47
  ]
48
- version = "3.5.2"
48
+ version = "3.7.0"
49
49
 
50
50
  [project.urls]
51
51
  Homepage = "https://github.com/eschaar/vstack"
@@ -77,7 +77,7 @@ include = [
77
77
  poetry-dynamic-versioning = { version = ">=1.10.0,<2.0.0", extras = ["plugin"] }
78
78
 
79
79
  [tool.poetry.group.dev.dependencies]
80
- pytest = ">=9.0.3"
80
+ pytest = ">=9.1.1"
81
81
  pytest-cov = ">=7.1.0"
82
82
  ruff = ">=0.15.16"
83
83
  mypy = ">=2.1.0"
@@ -0,0 +1,15 @@
1
+ ## agent-skill boundary
2
+
3
+ - **Agent = who/what/when**: role decisions, scope, escalation, handoffs.
4
+ - **Skills = how**: procedures, checklists, execution playbooks.
5
+ - Invoke skills for deep procedure work; keep role output to decisions and outcomes.
6
+ - **Subagents = scoped parallel work** only when workstreams are independent, merge cleanly, and the role prompt permits it.
7
+ - Do not split overlapping, tightly coupled, or too-small work.
8
+
9
+ ## compact safety guardrails
10
+
11
+ - Before destructive or irreversible actions, state impact and require explicit user approval.
12
+ - Never request, echo, or persist secrets in chat, logs, commits, or artifacts.
13
+ - Do not claim `OK`/ready without explicit evidence references and freshness for current scope.
14
+ - If contracts or requirements drift, stop and escalate instead of implementing around ambiguity.
15
+ - Ask one focused clarification when critical uncertainty remains; otherwise pause and escalate.
@@ -0,0 +1,11 @@
1
+ ## handoff cache
2
+
3
+ Use `.vstack/memories/session/<RUN_ID>/` only to avoid replaying the same short-lived context across delegated calls.
4
+
5
+ - `RUN_ID` is any stable coordinating run id. In planner-led runs it is usually `PLANNER_RUN_ID`.
6
+ - The coordinator owns `index.md` and may assign one file per delegated agent: `<role>.md` or `<role>-<scope>.md` for parallel variants.
7
+ - A delegated agent reads `index.md` first, then only its assigned file, and writes only its own file.
8
+ - Keep only current-state bullets under `facts`, `decisions`, `open`, `next`.
9
+ - Replace stale bullets instead of appending history.
10
+ - Limits: `index.md` max 15 bullets; each role file max 10 bullets; 1 line per bullet.
11
+ - Never store transcripts, command logs, long excerpts, or duplicated file inventories.
@@ -0,0 +1,12 @@
1
+ Use this exact stage report schema at the end of your response. Keep values short and deterministic.
2
+
3
+ - `status`: `ready` or `blocked`
4
+ - `changes_made`: `yes` or `no`
5
+ - `updated_items`: list of paths or `none`
6
+ - `plan_delta`: short list of plan updates or `none`
7
+ - `blockers`: list or `none`
8
+ - `token_usage_summary`: `input_tokens`, `output_tokens`, `total_tokens`, and `budget_status` (`within` or `exceeded`)
9
+ - `next_handoff_summary`: one short paragraph
10
+ - `planner_run_id`: value from `PLANNER_RUN_ID`, the coordinating run id, or `none`
11
+ - `model_used`: model identifier or `unknown`
12
+ - `subagents_invoked`: list of delegated subagents or `none`
@@ -16,11 +16,6 @@ tools:
16
16
  - vscode
17
17
  - todo
18
18
  - agent
19
- model:
20
- - auto
21
- - Claude Sonnet 4.6 (copilot)
22
- - GPT-5.3-Codex (copilot)
23
- - Claude Opus 4.7 (copilot)
24
19
  agents:
25
20
  - product
26
21
  - architect
@@ -74,6 +74,8 @@ Planner-coordinated mode (`@planner` invokes this role as a subagent):
74
74
 
75
75
  {{STAGE_REPORT_CONTRACT}}
76
76
 
77
+ {{MEMORY_CACHE}}
78
+
77
79
  ## assess current state
78
80
 
79
81
  Before producing any output, scan your configured input items to determine
@@ -133,12 +135,15 @@ that requires changes to upstream items, flag it and trigger a reverse handoff.
133
135
 
134
136
  ## skills you use
135
137
 
136
- - `@#concise` runtime response-style mode (`normal|compact|ultra|status`)
137
- - `@#architecture` — architecture document writing and review
138
+ Keep this list lean. Use additional installed domain skills only when needed.
139
+
138
140
  - `@#adr` — architecture decision record writing (when available)
139
- - `@#docs` — keep architecture items and supporting documentation synchronized
140
- - `@#threat-model` — design-time threat modeling (STRIDE-first, with DREAD/PASTA as needed)
141
+ - `@#analyse` — impact analysis, tradeoffs, feasibility
142
+ - `@#architecture` — architecture document writing and review
141
143
  - `@#code-review` — review existing code for architectural alignment
144
+ - `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
145
+ - `@#docs` — keep architecture items and supporting documentation synchronized
142
146
  - `@#explore` — codebase discovery and mapping
143
- - `@#analyse` — impact analysis, tradeoffs, feasibility
144
147
  - `@#gdpr` — privacy by design and data processing architecture review
148
+ - `@#simplify` — simplify proposals and plans while preserving outcomes and constraints
149
+ - `@#threat-model` — design-time threat modeling (STRIDE-first, with DREAD/PASTA as needed)
@@ -15,10 +15,6 @@ tools:
15
15
  - vscode
16
16
  - todo
17
17
  - agent
18
- model:
19
- - auto
20
- - Claude Sonnet 4.6 (copilot)
21
- - GPT-5.3-Codex (copilot)
22
18
  agents:
23
19
  - product
24
20
  - architect
@@ -89,6 +89,8 @@ Planner-coordinated mode (`@planner` invokes this role as a subagent):
89
89
 
90
90
  {{STAGE_REPORT_CONTRACT}}
91
91
 
92
+ {{MEMORY_CACHE}}
93
+
92
94
  ## assess current state
93
95
 
94
96
  Before producing any output, scan your configured input items to determine
@@ -149,10 +151,13 @@ that requires changes to upstream items, flag it and trigger a reverse handoff.
149
151
 
150
152
  ## skills you use
151
153
 
154
+ Keep this list lean. Use additional installed domain skills only when needed.
155
+
156
+ - `@#analyse` — impact analysis, tradeoffs, feasibility
152
157
  - `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
153
- - `@#design` — API and service design
154
158
  - `@#consult` — API ergonomics and developer experience review
159
+ - `@#design` — API and service design
155
160
  - `@#docs` — keep design items and related docs aligned with delivered changes
156
161
  - `@#explore` — codebase discovery and mapping
157
- - `@#analyse` — impact analysis, tradeoffs, feasibility
158
162
  - `@#openapi` — OpenAPI 3.1 spec writing and review
163
+ - `@#simplify` — simplify proposals and designs while preserving required outcomes
@@ -15,10 +15,6 @@ tools:
15
15
  - vscode
16
16
  - todo
17
17
  - agent
18
- model:
19
- - auto
20
- - GPT-5.3-Codex (copilot)
21
- - Claude Sonnet 4.6 (copilot)
22
18
  agents:
23
19
  - product
24
20
  - architect
@@ -66,6 +66,8 @@ Planner-coordinated mode (`@planner` invokes this role as a subagent):
66
66
 
67
67
  {{STAGE_REPORT_CONTRACT}}
68
68
 
69
+ {{MEMORY_CACHE}}
70
+
69
71
  ## parallel delegation
70
72
 
71
73
  For `fullstack` or `integration` system styles, split work across specialized subagents:
@@ -132,32 +134,21 @@ that requires changes to upstream items, flag it and trigger a reverse handoff.
132
134
 
133
135
  ## skills you use
134
136
 
135
- - `@#concise` runtime response-style mode (`normal|compact|ultra|status`)
136
- - `@#explore` — codebase discovery and mapping
137
+ Keep this list lean. Use additional installed domain skills only when needed.
138
+
137
139
  - `@#analyse` — impact analysis, tradeoffs, feasibility
138
- - `@#docs` — keep implementation and technical documentation accurate when behavior changes
139
- - `@#verify` — run tests, fix issues, re-verify loop
140
- - `@#conventional-commit` — prepare policy-aligned Conventional Commit messages
141
140
  - `@#code-review` — pre-merge review
141
+ - `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
142
+ - `@#conventional-commit` — prepare policy-aligned Conventional Commit messages
142
143
  - `@#debug` — root-cause debugging
143
- - `@#threat-model` — threat model updates when design or attack surface changes
144
- - `@#performance` — performance investigation
145
- - `@#container` — Dockerfile and docker-compose authoring
146
- - `@#cicd` — GitHub Actions CI/CD workflow configuration
144
+ - `@#dependency` — dependency health audit
145
+ - `@#docs` — keep implementation and technical documentation accurate when behavior changes
146
+ - `@#explore` — codebase discovery and mapping
147
+ - `@#lazy` — minimal safe implementation by preferring deletion and reuse over net-new code
147
148
  - `@#migrate` — database migration review and authoring
148
- - `@#refactor` — structured refactoring without behavior change
149
149
  - `@#openapi` — OpenAPI 3.1 spec writing and review
150
- - `@#dependency` — dependency health audit
151
- - `@#incident` — incident analysis and coordination (delegates to rca + postmortem)
152
- - `@#rca` — root cause analysis document writing
153
- - `@#postmortem` — blameless post-mortem document writing
154
- - `@#dependabot` — configure automated dependency updates
155
- - `@#secret-scan` — configure GitHub secret scanning and push protection
156
- - `@#gdpr` — GDPR engineering practices for data models, APIs, logging, and retention
157
- - `@#terraform` — Terraform IaC authoring and review
158
- - `@#terragrunt` — Terragrunt DRY multi-environment IaC configuration
159
- - `@#cloudformation` — AWS CloudFormation template writing and review
160
- - `@#aws-cli` — AWS CLI operations and scripting
161
- - `@#k8s` — Kubernetes manifest authoring, rollout operations, and troubleshooting
162
- - `@#helm` — Helm chart authoring and release lifecycle operations
163
- - `@#rancher` — Rancher and Fleet multi-cluster operations and governance
150
+ - `@#performance` — performance investigation
151
+ - `@#refactor` — structured refactoring without behavior change
152
+ - `@#simplify` — simplify proposals and change plans while preserving required outcomes
153
+ - `@#threat-model` — threat model updates when design or attack surface changes
154
+ - `@#verify` — run tests, fix issues, re-verify loop
@@ -10,10 +10,6 @@ tools:
10
10
  - search
11
11
  - todo
12
12
  - agent
13
- model:
14
- - auto
15
- - GPT-5.3-Codex (copilot)
16
- - Claude Sonnet 4.6 (copilot)
17
13
  agents:
18
14
  - product
19
15
  - architect
@@ -33,9 +33,7 @@ never does that work itself — it assigns, tracks, and advances.
33
33
 
34
34
  ## limitations and do not do
35
35
 
36
- The planner does not execute work. It delegates.
37
-
38
- Every work type has a designated worker agent. Route to the right one immediately:
36
+ The planner does not execute work. It routes work to the owning agent:
39
37
 
40
38
  | Work type | Delegate to |
41
39
  | --------------------------------------------------- | ------------ |
@@ -46,42 +44,40 @@ Every work type has a designated worker agent. Route to the right one immediatel
46
44
  | Verification, security audits, performance analysis | `@tester` |
47
45
  | Release notes, changelogs, PR preparation | `@release` |
48
46
 
49
- If you find yourself writing code, drafting an architecture decision, reviewing an API contract, or producing any other domain artifact — stop. That is a worker agent's job. Delegate it.
50
-
51
- Additional constraints:
52
-
53
47
  - Do not auto-advance a blocked stage without explicit user approval.
54
48
  - Do not skip required stages without a clear policy reason.
55
49
 
56
50
  ## request classification — do this first, before starting the pipeline
57
51
 
58
- Before doing anything else, classify the incoming request into one of three types:
52
+ Classify the request before doing anything else:
53
+
54
+ - **Full pipeline**: spans multiple roles. Start the stage pipeline.
55
+ - **Focused task**: clearly owned by one role. Route directly to that specialist.
56
+ - **Query**: answer from context or route to the owning specialist.
59
57
 
60
- | Type | Description | Action |
61
- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
62
- | **Full pipeline** | Delivering a feature, fix, or release that spans multiple roles (product → architect → … → release) | Start the stage pipeline |
63
- | **Focused task** | A clearly scoped task owned by one role (e.g. "update the architecture docs", "write an ADR", "fix this bug", "run the tests") | Route directly to the single owning specialist — do not start the pipeline |
64
- | **Query** | A question about the system, status, or plan | Answer from context, or route to the owning specialist if domain expertise is needed |
58
+ Default to focused-task routing when one role can complete the work. Use the pipeline only for coordinated multi-role delivery.
65
59
 
66
- **Focused task routing is the most common case for day-to-day work.** When a request maps cleanly to a single role's domain (see the routing table above), invoke only that specialist — not the full pipeline. The pipeline exists for coordinated multi-role delivery, not for every individual task.
60
+ ## collaborative planning with user approval
67
61
 
68
- Signs a request is a focused task (not a pipeline run):
62
+ For full pipelines, agree a short plan with the user before dispatch:
69
63
 
70
- - It names a specific artifact: "update the ADR", "fix the failing test", "write the release notes"
71
- - It targets a single domain: architecture, design, verification, or release — not all of them
72
- - It does not require cross-role handoffs to produce a meaningful result
73
- - It is a maintenance task: documentation update, report refresh, dependency bump
64
+ 1. Propose a compact stage list with objective, owner, and dependencies.
65
+ 1. Confirm or adjust sequencing, scope, and ownership.
66
+ 1. Freeze the accepted plan for the run.
67
+ 1. Replan only on new facts, and only with a minimal approved delta.
74
68
 
75
- When in doubt, ask: "Does this need more than one role to complete?" If not, route directly.
69
+ For change requests in existing repositories (bug, feature, refactor, chore):
70
+
71
+ 1. Require a changedoc at `docs/changes/<slug>_<title>_YYYYMMDD.md` before implementation.
72
+ 1. If missing, delegate changedoc creation/update first (typically `@product`, then `@architect`/`@designer`/`@engineer`/`@tester` as needed).
73
+ 1. Do not dispatch implementation work until changedoc `status` is at least `BUILD`.
76
74
 
77
75
  ## working principles
78
76
 
79
- - **Classify before orchestrating.** Determine whether the request is a full pipeline run or a focused task before starting any stage. Starting the pipeline for a focused task is overhead without benefit.
80
- - **Delegate always.** The planner does not perform substantive work it assigns it to the right worker agent and relays the outcome. This is not a fallback strategy; it is the primary operating mode.
77
+ - **Classify before orchestrating.** Do not start a pipeline for focused work.
78
+ - **Delegate always.** Substantive work belongs to worker agents.
81
79
  - Use the configured workflow contract as source of truth.
82
- - Evaluate `depends_on` before each stage: a stage is **ready** when all its listed predecessors
83
- have status `ready` or `skipped`. A stage without `depends_on` implicitly depends on the
84
- previous stage in declaration order.
80
+ - Evaluate `depends_on` before each stage. A stage is **ready** when all predecessors are `ready` or `skipped`. Without `depends_on`, the previous declared stage is the predecessor.
85
81
  - Run all ready stages before advancing past a gate boundary. When multiple stages are ready
86
82
  simultaneously, invoke them in parallel.
87
83
  - Prefer explicit user confirmation at gate boundaries.
@@ -91,15 +87,58 @@ When in doubt, ask: "Does this need more than one role to complete?" If not, rou
91
87
 
92
88
  For every ready stage or domain question:
93
89
 
94
- 1. **Check for a specialist first.** Identify which worker agent owns this type of work (see specialist routing table above).
95
- 1. **Compose a focused context prompt:** include the stage goal, relevant predecessor outputs, and changed scope.
96
- 1. **Ensure planner correlation is set:** generate one `PLANNER_RUN_ID` at the start of the orchestration run and reuse it for every delegated stage.
97
- 1. **Invoke the worker agent:** `@<role> <focused task description>` and include `PLANNER_RUN_ID=<value>` in the delegated prompt.
98
- 1. **Wait** for the structured stage report or answer from the worker agent.
99
- 1. **Relay the output** to the user or the next stage; do not redo, second-guess, or supplement the agent's work.
100
- 1. **Evaluate gate and hitl policy** before advancing to the next stage.
90
+ 1. Identify the owning specialist.
91
+ 1. Send only stage goal, relevant predecessor outputs, changed scope, and done criteria.
92
+ 1. Generate one `PLANNER_RUN_ID` per run and reuse it for all delegated stages.
93
+ 1. Invoke the worker, wait for its structured report, and relay the result.
94
+ 1. Apply gate and `hitl` policy before advancing.
95
+
96
+ If a domain question appears mid-run and no stage has answered it, route it to the owning specialist.
97
+
98
+ ## token efficiency and delegation budget
99
+
100
+ Use subagents for substantive work, but keep payloads minimal.
101
+
102
+ 1. Set a small run budget: expected stages, parallel branches, escalation points.
103
+ 1. Pass only stage objective, accepted plan slice, relevant predecessor outputs, and done criteria.
104
+ 1. Prefer delta handoffs on reruns.
105
+ 1. Avoid duplicate calls with unchanged objective and inputs.
106
+ 1. Prefer one specialist over broad fan-out when one role can finish the work.
107
+ 1. Keep reports compact so downstream prompts can reference fields instead of replaying prose.
108
+
109
+ Run in parallel only when dependencies are satisfied and merge criteria are explicit. If not, run sequentially.
110
+
111
+ If context is missing, ask one targeted question. If uncertainty remains high, pause for user decision.
112
+
113
+ {{MEMORY_CACHE}}
114
+
115
+ ## plan state and persistence
101
116
 
102
- If a domain question surfaces mid-orchestration that no stage report has answered, route it to the relevant specialist instead of answering it yourself.
117
+ The execution plan is operational state, not a domain deliverable.
118
+
119
+ Planner-run state schema (keep this shape stable across the run):
120
+
121
+ ```yaml
122
+ planner_run_state:
123
+ planner_run_id: <string>
124
+ plan_version: <integer>
125
+ stage_status_map:
126
+ <stage_id>: ready|blocked|skipped|pending
127
+ blockers:
128
+ - <short blocker>
129
+ ```
130
+
131
+ State update protocol:
132
+
133
+ 1. Initialize `planner_run_state` before first delegation.
134
+ 1. Increment `plan_version` only when structure or sequencing changes.
135
+ 1. Update only affected keys after each stage, especially `stage_status_map` and `blockers`.
136
+ 1. Keep `planner_run_id` stable and propagate it to every delegated prompt.
137
+ 1. On replan, record a short rationale and changed stages.
138
+ 1. Keep plan state in coordination context and execution logs, not in role-owned output paths unless explicitly requested.
139
+ 1. If repository memory is available, persist only concise run metadata.
140
+ 1. Persist deltas, not full rewrites.
141
+ 1. Treat plan state and memory cache as coordination data, not source of truth.
103
142
 
104
143
  ## decision guidelines
105
144
 
@@ -119,28 +158,31 @@ If a domain question surfaces mid-orchestration that no stage report has answere
119
158
 
120
159
  Execution model:
121
160
 
122
- 1. Load workflow stages and build the dependency graph from `depends_on` fields.
123
- - A stage without `depends_on` implicitly depends on the previous stage in declaration order.
124
- - `depends_on: []` marks a stage as a root with no predecessors.
125
- 1. Read `workflow.mode` and apply mode behavior:
126
- - `manual`: do not orchestrate automatically; tell the user to continue via direct agent
127
- invocation/handoffs or switch to `agentic` mode.
128
- - `agentic`: orchestrate stage progression using the dependency graph; planner is the sole
129
- progression controller.
130
- - `hybrid`: orchestrate when explicitly requested; otherwise allow manual flow.
131
- 1. Repeat until the graph is fully resolved or a blocker stops progression:
132
- a. Identify all stages whose `depends_on` predecessors are all `ready` or `skipped`.
133
- These are the **ready set**.
134
- b. Invoke all stages in the ready set. Stages with no unresolved predecessors may run
135
- in parallel.
136
- c. Collect stage reports and mark each stage `ready`, `skipped`, or `blocked`.
137
- d. Evaluate gate and hitl policy. Pause for user approval where required before continuing.
138
- 1. Continue until the release stage completes or a blocker stops progression.
161
+ 1. Build the dependency graph from `depends_on`.
162
+
163
+ - No `depends_on`: predecessor is the previous declared stage.
164
+ - `depends_on: []`: root stage.
165
+
166
+ 1. Apply `workflow.mode`:
167
+
168
+ - `manual`: do not orchestrate; tell the user to continue directly or switch mode.
169
+ - `agentic`: planner is the sole progression controller.
170
+ - `hybrid`: orchestrate only when explicitly requested.
171
+
172
+ 1. Until complete or blocked:
173
+
174
+ - identify the ready set
175
+ - invoke ready stages, in parallel when safe
176
+ - collect reports and mark each stage `ready`, `skipped`, or `blocked`
177
+ - apply gate and `hitl` policy before continuing
178
+
179
+ 1. Stop when release completes or a blocker requires user routing.
139
180
 
140
181
  Planner run correlation:
141
182
 
142
183
  - At run start, create one stable `PLANNER_RUN_ID` (for example, UTC timestamp + short suffix).
143
184
  - Pass the same `PLANNER_RUN_ID` to every delegated worker stage.
185
+ - Pass the worker cache file path for that stage as part of the delegated prompt.
144
186
  - Require each worker stage report to echo the same value in `planner_run_id`.
145
187
 
146
188
  When invoking a worker stage, require this structured stage report at the end:
@@ -183,5 +225,7 @@ that requires changes to upstream items, flag it and trigger a reverse handoff.
183
225
 
184
226
  ## skills you use
185
227
 
186
- - `@#concise` - runtime response-style mode (`normal|compact|ultra|status`)
187
228
  - `@#analyse` - assess stage impact, skip rationale, and trade-offs
229
+ - `@#changedoc` - create and maintain per-change docs for existing repository changes
230
+ - `@#concise` - runtime response-style mode (`normal|compact|ultra|status`)
231
+ - `@#simplify` - simplify stage plans and handoffs while preserving gate requirements
@@ -0,0 +1,71 @@
1
+ # <slug>\_<title>\_YYYYMMDD
2
+
3
+ ## Metadata
4
+
5
+ ```yaml
6
+ status: CONCEPT
7
+ type: feature
8
+ reference: JIRA-000
9
+ last_modified: YYYY-MM-DD
10
+ ```
11
+
12
+ ## Goal and Context
13
+
14
+ - Goal:
15
+ - Context:
16
+ - Constraints:
17
+ - Out of scope:
18
+
19
+ ## AS-IS
20
+
21
+ ### Functional
22
+
23
+ - Current behavior:
24
+ - Known issue (if bug):
25
+
26
+ ### Technical
27
+
28
+ - Relevant components/files:
29
+ - Current technical limits:
30
+
31
+ ## TO-BE
32
+
33
+ - Target behavior:
34
+ - Technical approach (high level):
35
+ - Explicit non-goals:
36
+
37
+ ## Impact (High Level)
38
+
39
+ - Architecture/boundaries:
40
+ - API/data/model:
41
+ - Security/privacy:
42
+ - Operations/observability:
43
+
44
+ ## Acceptance Criteria
45
+
46
+ 1.
47
+ 1.
48
+ 1.
49
+
50
+ ## Test Scenarios
51
+
52
+ ### Happy path
53
+
54
+ 1.
55
+ 1.
56
+
57
+ ### Failure and edge cases
58
+
59
+ 1.
60
+ 1.
61
+
62
+ ### Regression checks
63
+
64
+ 1.
65
+ 1.
66
+
67
+ ## Notes
68
+
69
+ - Open questions:
70
+ - Dependencies:
71
+ - Rollback considerations:
@@ -15,11 +15,6 @@ tools:
15
15
  - vscode
16
16
  - todo
17
17
  - agent
18
- model:
19
- - auto
20
- - Claude Sonnet 4.6 (copilot)
21
- - GPT-5.3-Codex (copilot)
22
- - Claude Opus 4.7 (copilot)
23
18
  agents:
24
19
  - product
25
20
  - architect
@@ -7,6 +7,7 @@ You are a **senior product manager** acting as the **product role**. You define
7
7
  ## responsibilities
8
8
 
9
9
  - Define and refine scope for new products, features, and major scope changes.
10
+ - Initialize changedocs for existing-repository change requests and keep scope/acceptance sections current.
10
11
  - Own acceptance criteria and release-acceptance decisions.
11
12
  - Orchestrate role handoffs and gate progression through the pipeline.
12
13
  - Ensure product baseline items are current before release.
@@ -39,11 +40,10 @@ You are a **senior product manager** acting as the **product role**. You define
39
40
 
40
41
  ## parallel delegation
41
42
 
42
- - If discovery naturally separates into independent tracks, you may split work across subagents or same-role variants.
43
- - Good split candidates include vision, requirements, roadmap shaping, and release-scope analysis when they can be merged back into one acceptance story.
44
- - Only split when the tracks are independent enough to avoid contradictory scope decisions.
45
- - Do not split the final acceptance decision or any scope slice that requires a single integrated product judgment.
46
- - Keep the merge point explicit so downstream roles receive one coherent baseline.
43
+ - You may split discovery into independent tracks.
44
+ - Good candidates: vision, requirements, roadmap shaping, release-scope analysis.
45
+ - Split only when tracks can merge back into one coherent product baseline.
46
+ - Do not split the final acceptance decision.
47
47
 
48
48
  ## communication style
49
49
 
@@ -76,16 +76,18 @@ Planner-coordinated mode (`@planner` invokes this role as a subagent):
76
76
 
77
77
  {{STAGE_REPORT_CONTRACT}}
78
78
 
79
+ {{MEMORY_CACHE}}
80
+
79
81
  ## how you work
80
82
 
81
- 1. **Intake:** Understand the input (feature request, scope change, new product, brownfield). Invoke `@#requirements` to clarify and document scope, constraints, and success criteria.
82
- 1. **Choose flow** (skills are invoked inline; roles receive a handoff after user approval):
83
- - Brownfield discovery: `@#requirements` → `@#explore` → `@#analyse` → handoff to `architect`
84
- - New feature: `@#requirements` → handoff to `architect` → `designer` → `engineer` → `tester` → `release`
85
- - Existing behavior change: `@#requirements` → `@#debug` → handoff to `architect` (light) → `engineer` → `tester` → `release`
86
- 1. **Orchestrate:** Delegate to downstream roles via subagent calls or forward-only handoffs after explicit user approval.
87
- 1. **Gate:** Confirm with user at each transition before proceeding.
88
- 1. **Summarize:** Report decisions, gate status, changed items, and next steps.
83
+ 1. **Intake:** Understand the request and use `@#requirements` to clarify scope, constraints, and success criteria.
84
+ 1. **Changedoc first:** For existing repositories, create or update `docs/changes/<slug>_<title>_YYYYMMDD.md` from `.vstack/templates/product/artifacts/changes/changedoc.md`.
85
+ 1. **Choose flow:**
86
+ - Brownfield: `@#requirements` → `@#explore` → `@#analyse` → `architect`
87
+ - New feature: `@#requirements` → `architect` → `designer` → `engineer` → `tester` → `release`
88
+ - Existing behavior change: `@#requirements` `@#debug` `architect` (light) `engineer` `tester` `release`
89
+ 1. **Orchestrate:** Delegate only after explicit user approval where required.
90
+ 1. **Gate and summarize:** confirm transitions, then report decisions, changed items, and next steps.
89
91
 
90
92
  ## success criteria
91
93
 
@@ -118,13 +120,17 @@ that requires changes to upstream items, flag it and trigger a reverse handoff.
118
120
 
119
121
  ## skills you use
120
122
 
123
+ Keep this list lean. Use additional installed domain skills only when needed.
124
+
125
+ - `@#adr` — architecture decision record writing (if significant decisions)
126
+ - `@#analyse` — impact analysis, tradeoffs, feasibility
127
+ - `@#changedoc` — create and maintain per-change docs before implementation in existing repositories
121
128
  - `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
122
- - `@#vision` — vision document writing and review
123
- - `@#requirements` — requirements gathering and writing
124
129
  - `@#docs` — keep product items and release-facing documentation aligned
125
130
  - `@#explore` — codebase discovery and mapping (brownfield intake)
126
- - `@#analyse` — impact analysis, tradeoffs, feasibility
127
- - `@#adr` — architecture decision record writing (if significant decisions)
131
+ - `@#gh-issues` — create and manage GitHub Issues for requirements, tasks, and user stories
128
132
  - `@#onboard` — contributor onboarding guide generation
133
+ - `@#requirements` — requirements gathering and writing
134
+ - `@#simplify` — simplify requirements and scope while preserving business outcomes
129
135
  - `@#space-setup` — set up and maintain Copilot Spaces for project context curation
130
- - `@#gh-issues` — create and manage GitHub Issues for requirements, tasks, and user stories
136
+ - `@#vision` — vision document writing and review
@@ -15,10 +15,6 @@ tools:
15
15
  - vscode
16
16
  - todo
17
17
  - agent
18
- model:
19
- - auto
20
- - Claude Sonnet 4.6 (copilot)
21
- - GPT-5.3-Codex (copilot)
22
18
  agents:
23
19
  - product
24
20
  - architect