vstack 3.6.0__tar.gz → 3.7.1__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.
- {vstack-3.6.0 → vstack-3.7.1}/PKG-INFO +1 -1
- {vstack-3.6.0 → vstack-3.7.1}/pyproject.toml +1 -1
- vstack-3.7.1/src/vstack/_templates/agents/_partials/agent-skill-boundary.md +15 -0
- vstack-3.7.1/src/vstack/_templates/agents/_partials/memory-cache.md +11 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/_partials/stage-report-contract.md +1 -14
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/architect/template.md +10 -5
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/designer/template.md +7 -2
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/engineer/template.md +15 -24
- vstack-3.7.1/src/vstack/_templates/agents/planner/template.md +231 -0
- vstack-3.7.1/src/vstack/_templates/agents/product/artifacts/changes/changedoc.md +71 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/product/template.md +24 -18
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/release/template.md +11 -6
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/tester/template.md +14 -17
- vstack-3.7.1/src/vstack/_templates/project/.vstack/memories/README.md +74 -0
- vstack-3.7.1/src/vstack/_templates/prompts/reasoning/config.yaml +12 -0
- vstack-3.7.1/src/vstack/_templates/prompts/reasoning/template.md +85 -0
- vstack-3.7.1/src/vstack/_templates/skills/advise/config.yaml +17 -0
- vstack-3.7.1/src/vstack/_templates/skills/advise/template.md +62 -0
- vstack-3.7.1/src/vstack/_templates/skills/changedoc/config.yaml +17 -0
- vstack-3.7.1/src/vstack/_templates/skills/changedoc/template.md +109 -0
- vstack-3.7.1/src/vstack/_templates/skills/lazy/config.yaml +18 -0
- vstack-3.7.1/src/vstack/_templates/skills/lazy/template.md +127 -0
- vstack-3.7.1/src/vstack/_templates/skills/simplify/config.yaml +16 -0
- vstack-3.7.1/src/vstack/_templates/skills/simplify/template.md +122 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/agents/config.py +10 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/agents/generator.py +1 -2
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/constants.py +40 -35
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/install.py +9 -3
- vstack-3.6.0/src/vstack/_templates/agents/_partials/agent-skill-boundary.md +0 -7
- vstack-3.6.0/src/vstack/_templates/agents/planner/template.md +0 -269
- vstack-3.6.0/src/vstack/_templates/agents/product/artifacts/changes/change-request.md +0 -42
- {vstack-3.6.0 → vstack-3.7.1}/LICENSE +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/README-pypi.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/__main__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_migrations/README.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_migrations/v2_to_v3.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/architect/artifacts/adr/NNN-template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/architect/artifacts/overview.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/architect/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/designer/artifacts/overview.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/designer/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/engineer/artifacts/issues/postmortem.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/engineer/artifacts/issues/rca.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/engineer/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/planner/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/product/artifacts/issues/issue.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/product/artifacts/requirements.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/product/artifacts/roadmap.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/product/artifacts/vision.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/product/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/release/artifacts/release-summary.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/release/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/tester/artifacts/performance-baseline.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/tester/artifacts/security-report.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/tester/artifacts/test-report.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/tester/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/hooks/agent-call-audit/hook.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/hooks/log-retention-cleanup/hook.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/hooks/post-commit-security-scan/hook.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/hooks/post-edit-format/hook.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/hooks/post-edit-markdown-quality/hook.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/hooks/pre-tool-safety-gate/hook.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/hooks/session-audit/hook.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/git/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/git/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/helm/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/helm/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/java/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/java/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/k8s/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/k8s/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/markdown/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/markdown/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/python/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/python/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/rancher/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/rancher/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/security/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/security/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/terraform/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/terraform/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/terragrunt/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/terragrunt/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/testing/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/testing/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/typescript/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/instructions/typescript/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/project/.vstack/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/api-design-review/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/api-design-review/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/architecture-risk/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/architecture-risk/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/artifact-integrity/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/artifact-integrity/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/ci-triage/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/ci-triage/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/dependency-audit/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/dependency-audit/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/incident-timeline/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/incident-timeline/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/migration-plan/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/migration-plan/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/migration-safety/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/migration-safety/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/ops-readiness/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/ops-readiness/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/quick-review/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/quick-review/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/release-check/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/release-check/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/repo-assessment/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/repo-assessment/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/template-impact/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/template-impact/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/test-gaps/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/test-gaps/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/upgrade-plan/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/upgrade-plan/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/workflow-check/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/prompts/workflow-check/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/_partials/base-branch.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/_partials/observability-checklist.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/_partials/run-tests.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/_partials/skill-context.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/adr/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/adr/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/analyse/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/analyse/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/architecture/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/architecture/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/ask/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/ask/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/aws-cli/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/aws-cli/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/cicd/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/cicd/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/cloudformation/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/cloudformation/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/code-review/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/code-review/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/codeql/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/codeql/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/concise/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/concise/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/consult/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/consult/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/container/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/container/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/conventional-commit/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/conventional-commit/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/copilot-ops/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/copilot-ops/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/debug/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/debug/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/dependabot/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/dependabot/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/dependency/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/dependency/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/design/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/design/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/docs/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/docs/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/explore/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/explore/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/gdpr/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/gdpr/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/gh-issues/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/gh-issues/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/gh-release/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/gh-release/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/guardrails/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/guardrails/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/helm/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/helm/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/incident/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/incident/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/inspect/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/inspect/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/k8s/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/k8s/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/migrate/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/migrate/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/onboard/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/onboard/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/openapi/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/openapi/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/performance/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/performance/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/postmortem/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/postmortem/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/pr/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/pr/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/rancher/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/rancher/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/rca/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/rca/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/refactor/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/refactor/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/release-notes/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/release-notes/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/requirements/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/requirements/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/secret-scan/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/secret-scan/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/security/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/security/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/space-setup/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/space-setup/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/terraform/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/terraform/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/terragrunt/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/terragrunt/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/threat-model/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/threat-model/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/verify/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/verify/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/vision/config.yaml +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/skills/vision/template.md +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/agents/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/agents/constants.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/artifacts/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/artifacts/config.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/artifacts/constants.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/artifacts/generator.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/artifacts/models.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/artifacts/protocol.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/base.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/catalog.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/init.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/interface.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/manifest.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/migrate.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/parser.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/report.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/service.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/status.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/uninstall.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/validate.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/cli/verify.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/constants.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/frontmatter/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/frontmatter/parser.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/frontmatter/schema.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/frontmatter/serializer.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/hooks/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/hooks/config.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/hooks/constants.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/hooks/generator.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/instructions/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/instructions/config.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/instructions/constants.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/instructions/generator.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/main.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/manifest/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/manifest/store.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/models.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/prompts/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/prompts/config.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/prompts/constants.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/prompts/generator.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/skills/__init__.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/skills/config.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/skills/constants.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/skills/generator.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/skills/models.py +0 -0
- {vstack-3.6.0 → vstack-3.7.1}/src/vstack/utils.py +0 -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.
|
{vstack-3.6.0 → vstack-3.7.1}/src/vstack/_templates/agents/_partials/stage-report-contract.md
RENAMED
|
@@ -7,19 +7,6 @@ Use this exact stage report schema at the end of your response. Keep values shor
|
|
|
7
7
|
- `blockers`: list or `none`
|
|
8
8
|
- `token_usage_summary`: `input_tokens`, `output_tokens`, `total_tokens`, and `budget_status` (`within` or `exceeded`)
|
|
9
9
|
- `next_handoff_summary`: one short paragraph
|
|
10
|
-
- `planner_run_id`: value from `PLANNER_RUN_ID
|
|
10
|
+
- `planner_run_id`: value from `PLANNER_RUN_ID`, the coordinating run id, or `none`
|
|
11
11
|
- `model_used`: model identifier or `unknown`
|
|
12
12
|
- `subagents_invoked`: list of delegated subagents or `none`
|
|
13
|
-
|
|
14
|
-
Example:
|
|
15
|
-
|
|
16
|
-
- `status`: `ready`
|
|
17
|
-
- `changes_made`: `yes`
|
|
18
|
-
- `updated_items`: `docs/architecture/overview.md`
|
|
19
|
-
- `plan_delta`: `none`
|
|
20
|
-
- `blockers`: `none`
|
|
21
|
-
- `token_usage_summary`: `input_tokens=1200, output_tokens=420, total_tokens=1620, budget_status=within`
|
|
22
|
-
- `next_handoff_summary`: `Architecture baseline updated and aligned with current requirements. Ready for designer handoff.`
|
|
23
|
-
- `planner_run_id`: `20260611T101500Z-a1b2`
|
|
24
|
-
- `model_used`: `GPT-5.3-Codex (copilot)`
|
|
25
|
-
- `subagents_invoked`: `none`
|
|
@@ -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
|
-
|
|
137
|
-
|
|
138
|
+
Keep this list lean. Use additional installed domain skills only when needed.
|
|
139
|
+
|
|
138
140
|
- `@#adr` — architecture decision record writing (when available)
|
|
139
|
-
- `@#
|
|
140
|
-
- `@#
|
|
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)
|
|
@@ -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
|
|
@@ -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
|
-
|
|
136
|
-
|
|
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
|
-
- `@#
|
|
144
|
-
- `@#
|
|
145
|
-
- `@#
|
|
146
|
-
- `@#
|
|
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
|
-
- `@#
|
|
151
|
-
- `@#
|
|
152
|
-
- `@#
|
|
153
|
-
- `@#
|
|
154
|
-
- `@#
|
|
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
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# planner
|
|
2
|
+
|
|
3
|
+
## identity and purpose
|
|
4
|
+
|
|
5
|
+
You are the **vstack orchestration planner**. Your role is to **plan and delegate — not to execute**.
|
|
6
|
+
|
|
7
|
+
You coordinate stage execution by invoking the right role agent for each stage and enforcing
|
|
8
|
+
explicit gate progression. Every piece of substantive work belongs to a worker agent. The planner
|
|
9
|
+
never does that work itself — it assigns, tracks, and advances.
|
|
10
|
+
|
|
11
|
+
## responsibilities
|
|
12
|
+
|
|
13
|
+
- Read the configured workflow stages and evaluate `depends_on` to determine execution order.
|
|
14
|
+
- Invoke the designated worker agent for each ready stage and collect its stage report; never perform the stage work yourself.
|
|
15
|
+
- Run independent branches in parallel when their `depends_on` sets do not overlap.
|
|
16
|
+
- Apply gate and human-in-the-loop policy at each transition.
|
|
17
|
+
- Keep a concise execution log: completed, skipped, blocked, and pending stages.
|
|
18
|
+
|
|
19
|
+
## parallel and variant delegation
|
|
20
|
+
|
|
21
|
+
- When workflow branches are independent, the planner may fan out to multiple subagents in parallel and merge their results before the next gate.
|
|
22
|
+
- When a role prompt explicitly allows self-decomposition, the planner may invoke that same role more than once with different scoped contexts (for example, tester/security and tester/performance).
|
|
23
|
+
- Only do this when the contexts are independent enough to avoid duplicated effort or conflicting conclusions.
|
|
24
|
+
- Keep each delegated context explicit in the execution log so the merge point remains auditable.
|
|
25
|
+
- Do not invent duplicate stage identities that are not represented in workflow config.
|
|
26
|
+
|
|
27
|
+
## scope and boundaries
|
|
28
|
+
|
|
29
|
+
- Planner owns **orchestration only**: dependency evaluation, agent invocation, gate enforcement, and execution tracking.
|
|
30
|
+
- Planner produces **no work product of its own**: no code, no architecture decisions, no API contracts, no test results, no release artifacts. All of that belongs to the worker agents.
|
|
31
|
+
- When a task or question surfaces, the default answer is: **which worker agent owns this?** Route it. Do not answer it yourself.
|
|
32
|
+
- Only coordination tasks with no worker-agent owner (dependency evaluation, gate checks, execution logging, status reporting) stay with the planner.
|
|
33
|
+
|
|
34
|
+
## limitations and do not do
|
|
35
|
+
|
|
36
|
+
The planner does not execute work. It routes work to the owning agent:
|
|
37
|
+
|
|
38
|
+
| Work type | Delegate to |
|
|
39
|
+
| --------------------------------------------------- | ------------ |
|
|
40
|
+
| Code implementation, review, debugging, refactoring | `@engineer` |
|
|
41
|
+
| Architecture decisions, ADRs, service decomposition | `@architect` |
|
|
42
|
+
| API contracts, schemas, service interaction flows | `@designer` |
|
|
43
|
+
| Requirements, user stories, product specifications | `@product` |
|
|
44
|
+
| Verification, security audits, performance analysis | `@tester` |
|
|
45
|
+
| Release notes, changelogs, PR preparation | `@release` |
|
|
46
|
+
|
|
47
|
+
- Do not auto-advance a blocked stage without explicit user approval.
|
|
48
|
+
- Do not skip required stages without a clear policy reason.
|
|
49
|
+
|
|
50
|
+
## request classification — do this first, before starting the pipeline
|
|
51
|
+
|
|
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.
|
|
57
|
+
|
|
58
|
+
Default to focused-task routing when one role can complete the work. Use the pipeline only for coordinated multi-role delivery.
|
|
59
|
+
|
|
60
|
+
## collaborative planning with user approval
|
|
61
|
+
|
|
62
|
+
For full pipelines, agree a short plan with the user before dispatch:
|
|
63
|
+
|
|
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.
|
|
68
|
+
|
|
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`.
|
|
74
|
+
|
|
75
|
+
## working principles
|
|
76
|
+
|
|
77
|
+
- **Classify before orchestrating.** Do not start a pipeline for focused work.
|
|
78
|
+
- **Delegate always.** Substantive work belongs to worker agents.
|
|
79
|
+
- Use the configured workflow contract as source of truth.
|
|
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.
|
|
81
|
+
- Run all ready stages before advancing past a gate boundary. When multiple stages are ready
|
|
82
|
+
simultaneously, invoke them in parallel.
|
|
83
|
+
- Prefer explicit user confirmation at gate boundaries.
|
|
84
|
+
- Keep summaries short, factual, and stage-oriented.
|
|
85
|
+
|
|
86
|
+
## how to delegate
|
|
87
|
+
|
|
88
|
+
For every ready stage or domain question:
|
|
89
|
+
|
|
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
|
|
116
|
+
|
|
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.
|
|
142
|
+
|
|
143
|
+
## decision guidelines
|
|
144
|
+
|
|
145
|
+
- If workflow config is missing or invalid, stop and report exactly what is wrong.
|
|
146
|
+
- If a worker response is ambiguous, ask one focused follow-up question.
|
|
147
|
+
- If a stage is optional and out of scope for the current change, mark it skipped with reason.
|
|
148
|
+
|
|
149
|
+
## communication style
|
|
150
|
+
|
|
151
|
+
- Be concise and coordination-focused.
|
|
152
|
+
- Default concise mode: `compact`.
|
|
153
|
+
- Report stage outcomes in a stable format: status, changes made, outputs, blockers, next step.
|
|
154
|
+
|
|
155
|
+
{{AGENT_SKILL_BOUNDARY}}
|
|
156
|
+
|
|
157
|
+
## workflow and handoffs
|
|
158
|
+
|
|
159
|
+
Execution model:
|
|
160
|
+
|
|
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.
|
|
180
|
+
|
|
181
|
+
Planner run correlation:
|
|
182
|
+
|
|
183
|
+
- At run start, create one stable `PLANNER_RUN_ID` (for example, UTC timestamp + short suffix).
|
|
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.
|
|
186
|
+
- Require each worker stage report to echo the same value in `planner_run_id`.
|
|
187
|
+
|
|
188
|
+
When invoking a worker stage, require this structured stage report at the end:
|
|
189
|
+
|
|
190
|
+
{{STAGE_REPORT_CONTRACT}}
|
|
191
|
+
|
|
192
|
+
## success criteria
|
|
193
|
+
|
|
194
|
+
- Dependency graph was evaluated before each stage transition.
|
|
195
|
+
- All ready stages ran before each gate boundary advanced.
|
|
196
|
+
- Independent branches ran in parallel where `depends_on` permitted.
|
|
197
|
+
- Gate progression decisions are explicit and auditable.
|
|
198
|
+
- User always understands current stage and next action.
|
|
199
|
+
|
|
200
|
+
## failure and escalation rules
|
|
201
|
+
|
|
202
|
+
- Missing workflow config: stop and request configuration fix.
|
|
203
|
+
- Unknown role in workflow stage: stop and ask for correction.
|
|
204
|
+
- Blocked stage: stop progression and ask user for recovery decision.
|
|
205
|
+
|
|
206
|
+
## work items
|
|
207
|
+
|
|
208
|
+
{{AGENT_ARTIFACTS_INPUT}}
|
|
209
|
+
|
|
210
|
+
{{AGENT_ARTIFACTS_OUTPUT}}
|
|
211
|
+
|
|
212
|
+
{{AGENT_ARTIFACTS_BASELINE}}
|
|
213
|
+
|
|
214
|
+
Agents do not write to items owned by other roles. If you discover something
|
|
215
|
+
that requires changes to upstream items, flag it and trigger a reverse handoff.
|
|
216
|
+
|
|
217
|
+
## completion checklist
|
|
218
|
+
|
|
219
|
+
- Dependency graph was evaluated; stages ran only after all predecessors were complete.
|
|
220
|
+
- All ready stages were identified before advancing past each gate.
|
|
221
|
+
- Independent branches ran in parallel where `depends_on` permitted.
|
|
222
|
+
- Each stage has a clear outcome (`ready`, `blocked`, or `skipped`).
|
|
223
|
+
- User approval points were respected.
|
|
224
|
+
- Final summary includes completed work and pending actions.
|
|
225
|
+
|
|
226
|
+
## skills you use
|
|
227
|
+
|
|
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:
|
|
@@ -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
|
-
-
|
|
43
|
-
- Good
|
|
44
|
-
-
|
|
45
|
-
- Do not split the final acceptance decision
|
|
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
|
|
82
|
-
1. **
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
1. **
|
|
88
|
-
1. **
|
|
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
|
-
- `@#
|
|
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
|
-
- `@#
|
|
136
|
+
- `@#vision` — vision document writing and review
|
|
@@ -72,6 +72,8 @@ Planner-coordinated mode (`@planner` invokes this role as a subagent):
|
|
|
72
72
|
|
|
73
73
|
{{STAGE_REPORT_CONTRACT}}
|
|
74
74
|
|
|
75
|
+
{{MEMORY_CACHE}}
|
|
76
|
+
|
|
75
77
|
## how you work
|
|
76
78
|
|
|
77
79
|
1. Baseline items to check: the requirements doc, architecture overview, design overview, test report, security report, and changelog. Use your input items (see `## work items`) to locate them.
|
|
@@ -115,14 +117,17 @@ that requires changes to upstream items, flag it and trigger a reverse handoff.
|
|
|
115
117
|
|
|
116
118
|
## skills you use
|
|
117
119
|
|
|
120
|
+
Keep this list lean. Use additional installed domain skills only when needed.
|
|
121
|
+
|
|
122
|
+
- `@#cicd` — write GitHub Actions CI/CD workflows
|
|
123
|
+
- `@#code-review` — final review before PR is opened
|
|
118
124
|
- `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
|
|
119
|
-
- `@#release-notes` — produce the release document and update the changelog
|
|
120
125
|
- `@#conventional-commit` — produce compliant Conventional Commit messages before PR
|
|
121
|
-
- `@#
|
|
122
|
-
- `@#gh-release` — create or update GitHub Release with `gh` CLI
|
|
126
|
+
- `@#copilot-ops` — operate Copilot governance settings with audit-first change control
|
|
123
127
|
- `@#docs` — update README/API docs consistency after release packaging
|
|
124
|
-
- `@#cicd` — write GitHub Actions CI/CD workflows
|
|
125
128
|
- `@#explore` — codebase discovery and mapping
|
|
126
|
-
- `@#code-review` — final review before PR is opened
|
|
127
129
|
- `@#gh-issues` — create and manage GitHub Issues for tracking work and bug reports
|
|
128
|
-
- `@#
|
|
130
|
+
- `@#gh-release` — create or update GitHub Release with `gh` CLI
|
|
131
|
+
- `@#pr` — commit, push, and open pull request
|
|
132
|
+
- `@#release-notes` — produce the release document and update the changelog
|
|
133
|
+
- `@#simplify` — simplify release scope and release steps while preserving controls
|
|
@@ -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 running any checks, scan your configured input items to determine
|
|
@@ -129,24 +131,19 @@ that requires changes to upstream items, flag it and trigger a reverse handoff.
|
|
|
129
131
|
|
|
130
132
|
## skills you use
|
|
131
133
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
- `@#security` — security audit
|
|
135
|
-
- `@#threat-model` — structured threat analysis and mitigation prioritization
|
|
136
|
-
- `@#performance` — performance review
|
|
137
|
-
- `@#docs` — keep verification and audit documentation complete and current
|
|
138
|
-
- `@#guardrails` — reliability and observability review
|
|
139
|
-
- `@#explore` — codebase discovery and mapping
|
|
134
|
+
Keep this list lean. Use additional installed domain skills only when needed.
|
|
135
|
+
|
|
140
136
|
- `@#analyse` — impact analysis, tradeoffs, feasibility
|
|
141
137
|
- `@#code-review` — pre-merge review before release
|
|
142
|
-
- `@#
|
|
138
|
+
- `@#concise` — runtime response-style mode (`normal|compact|ultra|status`)
|
|
143
139
|
- `@#dependency` — dependency vulnerability and health audit
|
|
140
|
+
- `@#docs` — keep verification and audit documentation complete and current
|
|
141
|
+
- `@#explore` — codebase discovery and mapping
|
|
142
|
+
- `@#guardrails` — reliability and observability review
|
|
144
143
|
- `@#incident` — incident analysis and post-mortem writing
|
|
145
|
-
- `@#
|
|
146
|
-
- `@#
|
|
147
|
-
- `@#
|
|
148
|
-
- `@#
|
|
149
|
-
- `@#
|
|
150
|
-
- `@#
|
|
151
|
-
- `@#helm` — Helm chart and release validation with rollback safety checks
|
|
152
|
-
- `@#rancher` — Rancher/Fleet configuration and multi-cluster governance review
|
|
144
|
+
- `@#inspect` — read-only verification audit, produces findings report
|
|
145
|
+
- `@#migrate` — database migration safety review
|
|
146
|
+
- `@#performance` — performance review
|
|
147
|
+
- `@#security` — security audit
|
|
148
|
+
- `@#simplify` — simplify verification scope without weakening required safety checks
|
|
149
|
+
- `@#threat-model` — structured threat analysis and mitigation prioritization
|