@zigrivers/scaffold 2.1.2 → 2.38.0
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.
- package/README.md +505 -119
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +94 -14
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/build.test.js +30 -5
- package/dist/cli/commands/build.test.js.map +1 -1
- package/dist/cli/commands/check.d.ts +12 -0
- package/dist/cli/commands/check.d.ts.map +1 -0
- package/dist/cli/commands/check.js +311 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/check.test.d.ts +2 -0
- package/dist/cli/commands/check.test.d.ts.map +1 -0
- package/dist/cli/commands/check.test.js +412 -0
- package/dist/cli/commands/check.test.js.map +1 -0
- package/dist/cli/commands/complete.d.ts +12 -0
- package/dist/cli/commands/complete.d.ts.map +1 -0
- package/dist/cli/commands/complete.js +101 -0
- package/dist/cli/commands/complete.js.map +1 -0
- package/dist/cli/commands/complete.test.d.ts +2 -0
- package/dist/cli/commands/complete.test.d.ts.map +1 -0
- package/dist/cli/commands/complete.test.js +133 -0
- package/dist/cli/commands/complete.test.js.map +1 -0
- package/dist/cli/commands/dashboard.d.ts.map +1 -1
- package/dist/cli/commands/dashboard.js +12 -8
- package/dist/cli/commands/dashboard.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +4 -0
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/knowledge.d.ts.map +1 -1
- package/dist/cli/commands/knowledge.js +6 -2
- package/dist/cli/commands/knowledge.js.map +1 -1
- package/dist/cli/commands/knowledge.test.js +16 -11
- package/dist/cli/commands/knowledge.test.js.map +1 -1
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +41 -13
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/next.test.js +3 -0
- package/dist/cli/commands/next.test.js.map +1 -1
- package/dist/cli/commands/reset.d.ts +1 -0
- package/dist/cli/commands/reset.d.ts.map +1 -1
- package/dist/cli/commands/reset.js +179 -67
- package/dist/cli/commands/reset.js.map +1 -1
- package/dist/cli/commands/reset.test.js +360 -0
- package/dist/cli/commands/reset.test.js.map +1 -1
- package/dist/cli/commands/rework.d.ts +20 -0
- package/dist/cli/commands/rework.d.ts.map +1 -0
- package/dist/cli/commands/rework.js +332 -0
- package/dist/cli/commands/rework.js.map +1 -0
- package/dist/cli/commands/rework.test.d.ts +2 -0
- package/dist/cli/commands/rework.test.d.ts.map +1 -0
- package/dist/cli/commands/rework.test.js +297 -0
- package/dist/cli/commands/rework.test.js.map +1 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +59 -31
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/run.test.js +288 -6
- package/dist/cli/commands/run.test.js.map +1 -1
- package/dist/cli/commands/skill.d.ts +12 -0
- package/dist/cli/commands/skill.d.ts.map +1 -0
- package/dist/cli/commands/skill.js +123 -0
- package/dist/cli/commands/skill.js.map +1 -0
- package/dist/cli/commands/skill.test.d.ts +2 -0
- package/dist/cli/commands/skill.test.d.ts.map +1 -0
- package/dist/cli/commands/skill.test.js +297 -0
- package/dist/cli/commands/skill.test.js.map +1 -0
- package/dist/cli/commands/skip.d.ts +1 -1
- package/dist/cli/commands/skip.d.ts.map +1 -1
- package/dist/cli/commands/skip.js +123 -57
- package/dist/cli/commands/skip.js.map +1 -1
- package/dist/cli/commands/skip.test.js +91 -0
- package/dist/cli/commands/skip.test.js.map +1 -1
- package/dist/cli/commands/status.d.ts +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +57 -10
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/status.test.js +81 -0
- package/dist/cli/commands/status.test.js.map +1 -1
- package/dist/cli/commands/update.test.js +252 -0
- package/dist/cli/commands/update.test.js.map +1 -1
- package/dist/cli/commands/version.test.js +171 -1
- package/dist/cli/commands/version.test.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adapters/adapter.d.ts +14 -0
- package/dist/core/adapters/adapter.d.ts.map +1 -1
- package/dist/core/adapters/adapter.js.map +1 -1
- package/dist/core/adapters/adapter.test.js +10 -0
- package/dist/core/adapters/adapter.test.js.map +1 -1
- package/dist/core/adapters/claude-code.d.ts.map +1 -1
- package/dist/core/adapters/claude-code.js +47 -10
- package/dist/core/adapters/claude-code.js.map +1 -1
- package/dist/core/adapters/claude-code.test.js +41 -20
- package/dist/core/adapters/claude-code.test.js.map +1 -1
- package/dist/core/adapters/codex.d.ts.map +1 -1
- package/dist/core/adapters/codex.js +5 -1
- package/dist/core/adapters/codex.js.map +1 -1
- package/dist/core/adapters/codex.test.js +5 -0
- package/dist/core/adapters/codex.test.js.map +1 -1
- package/dist/core/adapters/universal.d.ts.map +1 -1
- package/dist/core/adapters/universal.js +0 -1
- package/dist/core/adapters/universal.js.map +1 -1
- package/dist/core/adapters/universal.test.js +5 -0
- package/dist/core/adapters/universal.test.js.map +1 -1
- package/dist/core/assembly/context-gatherer.d.ts.map +1 -1
- package/dist/core/assembly/context-gatherer.js +5 -2
- package/dist/core/assembly/context-gatherer.js.map +1 -1
- package/dist/core/assembly/engine.d.ts.map +1 -1
- package/dist/core/assembly/engine.js +10 -2
- package/dist/core/assembly/engine.js.map +1 -1
- package/dist/core/assembly/engine.test.js +19 -0
- package/dist/core/assembly/engine.test.js.map +1 -1
- package/dist/core/assembly/knowledge-loader.d.ts +25 -0
- package/dist/core/assembly/knowledge-loader.d.ts.map +1 -1
- package/dist/core/assembly/knowledge-loader.js +75 -2
- package/dist/core/assembly/knowledge-loader.js.map +1 -1
- package/dist/core/assembly/knowledge-loader.test.js +388 -1
- package/dist/core/assembly/knowledge-loader.test.js.map +1 -1
- package/dist/core/assembly/meta-prompt-loader.d.ts +6 -0
- package/dist/core/assembly/meta-prompt-loader.d.ts.map +1 -1
- package/dist/core/assembly/meta-prompt-loader.js +41 -25
- package/dist/core/assembly/meta-prompt-loader.js.map +1 -1
- package/dist/core/assembly/preset-loader.d.ts +10 -0
- package/dist/core/assembly/preset-loader.d.ts.map +1 -1
- package/dist/core/assembly/preset-loader.js +26 -1
- package/dist/core/assembly/preset-loader.js.map +1 -1
- package/dist/core/assembly/preset-loader.test.js +65 -1
- package/dist/core/assembly/preset-loader.test.js.map +1 -1
- package/dist/core/assembly/update-mode.d.ts.map +1 -1
- package/dist/core/assembly/update-mode.js +10 -4
- package/dist/core/assembly/update-mode.js.map +1 -1
- package/dist/core/assembly/update-mode.test.js +47 -0
- package/dist/core/assembly/update-mode.test.js.map +1 -1
- package/dist/core/dependency/dependency.d.ts.map +1 -1
- package/dist/core/dependency/dependency.js +3 -2
- package/dist/core/dependency/dependency.js.map +1 -1
- package/dist/core/dependency/dependency.test.js +2 -0
- package/dist/core/dependency/dependency.test.js.map +1 -1
- package/dist/core/dependency/eligibility.js +3 -3
- package/dist/core/dependency/eligibility.js.map +1 -1
- package/dist/core/dependency/eligibility.test.js +2 -0
- package/dist/core/dependency/eligibility.test.js.map +1 -1
- package/dist/core/dependency/graph.d.ts.map +1 -1
- package/dist/core/dependency/graph.js +4 -0
- package/dist/core/dependency/graph.js.map +1 -1
- package/dist/core/dependency/graph.test.d.ts +2 -0
- package/dist/core/dependency/graph.test.d.ts.map +1 -0
- package/dist/core/dependency/graph.test.js +262 -0
- package/dist/core/dependency/graph.test.js.map +1 -0
- package/dist/core/rework/phase-selector.d.ts +24 -0
- package/dist/core/rework/phase-selector.d.ts.map +1 -0
- package/dist/core/rework/phase-selector.js +98 -0
- package/dist/core/rework/phase-selector.js.map +1 -0
- package/dist/core/rework/phase-selector.test.d.ts +2 -0
- package/dist/core/rework/phase-selector.test.d.ts.map +1 -0
- package/dist/core/rework/phase-selector.test.js +138 -0
- package/dist/core/rework/phase-selector.test.js.map +1 -0
- package/dist/dashboard/generator.d.ts +48 -17
- package/dist/dashboard/generator.d.ts.map +1 -1
- package/dist/dashboard/generator.js +75 -5
- package/dist/dashboard/generator.js.map +1 -1
- package/dist/dashboard/generator.test.js +213 -5
- package/dist/dashboard/generator.test.js.map +1 -1
- package/dist/dashboard/template.d.ts +1 -1
- package/dist/dashboard/template.d.ts.map +1 -1
- package/dist/dashboard/template.js +755 -114
- package/dist/dashboard/template.js.map +1 -1
- package/dist/e2e/knowledge.test.js +4 -3
- package/dist/e2e/knowledge.test.js.map +1 -1
- package/dist/e2e/pipeline.test.js +2 -0
- package/dist/e2e/pipeline.test.js.map +1 -1
- package/dist/e2e/rework.test.d.ts +6 -0
- package/dist/e2e/rework.test.d.ts.map +1 -0
- package/dist/e2e/rework.test.js +226 -0
- package/dist/e2e/rework.test.js.map +1 -0
- package/dist/index.js +0 -0
- package/dist/project/adopt.test.js +2 -0
- package/dist/project/adopt.test.js.map +1 -1
- package/dist/project/claude-md.js +2 -2
- package/dist/project/claude-md.js.map +1 -1
- package/dist/project/claude-md.test.js +4 -4
- package/dist/project/claude-md.test.js.map +1 -1
- package/dist/project/detector.d.ts.map +1 -1
- package/dist/project/detector.js +4 -1
- package/dist/project/detector.js.map +1 -1
- package/dist/project/frontmatter.d.ts.map +1 -1
- package/dist/project/frontmatter.js +54 -15
- package/dist/project/frontmatter.js.map +1 -1
- package/dist/project/frontmatter.test.js +2 -2
- package/dist/project/frontmatter.test.js.map +1 -1
- package/dist/state/rework-manager.d.ts +16 -0
- package/dist/state/rework-manager.d.ts.map +1 -0
- package/dist/state/rework-manager.js +126 -0
- package/dist/state/rework-manager.js.map +1 -0
- package/dist/state/rework-manager.test.d.ts +2 -0
- package/dist/state/rework-manager.test.d.ts.map +1 -0
- package/dist/state/rework-manager.test.js +191 -0
- package/dist/state/rework-manager.test.js.map +1 -0
- package/dist/state/state-manager.d.ts +13 -0
- package/dist/state/state-manager.d.ts.map +1 -1
- package/dist/state/state-manager.js +39 -2
- package/dist/state/state-manager.js.map +1 -1
- package/dist/state/state-manager.test.js +74 -1
- package/dist/state/state-manager.test.js.map +1 -1
- package/dist/state/state-migration.d.ts +23 -0
- package/dist/state/state-migration.d.ts.map +1 -0
- package/dist/state/state-migration.js +144 -0
- package/dist/state/state-migration.js.map +1 -0
- package/dist/state/state-migration.test.d.ts +2 -0
- package/dist/state/state-migration.test.d.ts.map +1 -0
- package/dist/state/state-migration.test.js +451 -0
- package/dist/state/state-migration.test.js.map +1 -0
- package/dist/types/assembly.d.ts +2 -0
- package/dist/types/assembly.d.ts.map +1 -1
- package/dist/types/dependency.d.ts +2 -2
- package/dist/types/dependency.d.ts.map +1 -1
- package/dist/types/frontmatter.d.ts +100 -7
- package/dist/types/frontmatter.d.ts.map +1 -1
- package/dist/types/frontmatter.js +89 -1
- package/dist/types/frontmatter.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/lock.d.ts +1 -1
- package/dist/types/lock.d.ts.map +1 -1
- package/dist/types/rework.d.ts +36 -0
- package/dist/types/rework.d.ts.map +1 -0
- package/dist/types/rework.js +2 -0
- package/dist/types/rework.js.map +1 -0
- package/dist/utils/errors.d.ts +1 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +8 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/fs.d.ts +6 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +13 -0
- package/dist/utils/fs.js.map +1 -1
- package/dist/validation/config-validator.test.d.ts +2 -0
- package/dist/validation/config-validator.test.d.ts.map +1 -0
- package/dist/validation/config-validator.test.js +210 -0
- package/dist/validation/config-validator.test.js.map +1 -0
- package/dist/validation/dependency-validator.test.d.ts +2 -0
- package/dist/validation/dependency-validator.test.d.ts.map +1 -0
- package/dist/validation/dependency-validator.test.js +215 -0
- package/dist/validation/dependency-validator.test.js.map +1 -0
- package/dist/validation/frontmatter-validator.test.d.ts +2 -0
- package/dist/validation/frontmatter-validator.test.d.ts.map +1 -0
- package/dist/validation/frontmatter-validator.test.js +371 -0
- package/dist/validation/frontmatter-validator.test.js.map +1 -0
- package/dist/validation/state-validator.test.d.ts +2 -0
- package/dist/validation/state-validator.test.d.ts.map +1 -0
- package/dist/validation/state-validator.test.js +325 -0
- package/dist/validation/state-validator.test.js.map +1 -0
- package/dist/wizard/suggestion.test.d.ts +2 -0
- package/dist/wizard/suggestion.test.d.ts.map +1 -0
- package/dist/wizard/suggestion.test.js +115 -0
- package/dist/wizard/suggestion.test.js.map +1 -0
- package/dist/wizard/wizard.d.ts.map +1 -1
- package/dist/wizard/wizard.js +34 -1
- package/dist/wizard/wizard.js.map +1 -1
- package/knowledge/core/adr-craft.md +57 -0
- package/knowledge/core/ai-memory-management.md +246 -0
- package/knowledge/core/api-design.md +8 -0
- package/knowledge/core/automated-review-tooling.md +203 -0
- package/knowledge/core/claude-md-patterns.md +254 -0
- package/knowledge/core/coding-conventions.md +246 -0
- package/knowledge/core/database-design.md +8 -0
- package/knowledge/core/design-system-tokens.md +469 -0
- package/knowledge/core/dev-environment.md +223 -0
- package/knowledge/core/domain-modeling.md +8 -0
- package/knowledge/core/eval-craft.md +1008 -0
- package/knowledge/core/git-workflow-patterns.md +200 -0
- package/knowledge/core/multi-model-review-dispatch.md +250 -0
- package/knowledge/core/operations-runbook.md +40 -225
- package/knowledge/core/project-structure-patterns.md +231 -0
- package/knowledge/core/review-step-template.md +247 -0
- package/knowledge/core/{security-review.md → security-best-practices.md} +9 -1
- package/knowledge/core/system-architecture.md +5 -1
- package/knowledge/core/task-decomposition.md +174 -36
- package/knowledge/core/task-tracking.md +225 -0
- package/knowledge/core/tech-stack-selection.md +214 -0
- package/knowledge/core/testing-strategy.md +63 -70
- package/knowledge/core/user-stories.md +69 -60
- package/knowledge/core/user-story-innovation.md +70 -0
- package/knowledge/core/ux-specification.md +18 -148
- package/knowledge/execution/enhancement-workflow.md +201 -0
- package/knowledge/execution/task-claiming-strategy.md +130 -0
- package/knowledge/execution/tdd-execution-loop.md +172 -0
- package/knowledge/execution/worktree-management.md +205 -0
- package/knowledge/finalization/apply-fixes-and-freeze.md +177 -14
- package/knowledge/finalization/developer-onboarding.md +4 -0
- package/knowledge/finalization/implementation-playbook.md +83 -5
- package/knowledge/product/gap-analysis.md +5 -1
- package/knowledge/product/prd-craft.md +55 -34
- package/knowledge/product/prd-innovation.md +12 -0
- package/knowledge/product/vision-craft.md +213 -0
- package/knowledge/review/review-adr.md +44 -0
- package/knowledge/review/{review-api-contracts.md → review-api-design.md} +47 -1
- package/knowledge/review/{review-database-schema.md → review-database-design.md} +40 -1
- package/knowledge/review/review-domain-modeling.md +38 -1
- package/knowledge/review/review-implementation-tasks.md +108 -1
- package/knowledge/review/review-methodology.md +11 -0
- package/knowledge/review/review-operations.md +67 -0
- package/knowledge/review/review-prd.md +46 -0
- package/knowledge/review/review-security.md +65 -0
- package/knowledge/review/review-system-architecture.md +32 -2
- package/knowledge/review/review-testing-strategy.md +62 -0
- package/knowledge/review/review-user-stories.md +65 -0
- package/knowledge/review/{review-ux-spec.md → review-ux-specification.md} +50 -2
- package/knowledge/review/review-vision.md +255 -0
- package/knowledge/tools/release-management.md +222 -0
- package/knowledge/tools/session-analysis.md +215 -0
- package/knowledge/tools/version-strategy.md +200 -0
- package/knowledge/validation/critical-path-analysis.md +1 -1
- package/knowledge/validation/cross-phase-consistency.md +12 -0
- package/knowledge/validation/decision-completeness.md +13 -1
- package/knowledge/validation/dependency-validation.md +12 -0
- package/knowledge/validation/scope-management.md +12 -0
- package/knowledge/validation/traceability.md +12 -0
- package/methodology/README.md +37 -0
- package/methodology/custom-defaults.yml +44 -4
- package/methodology/deep.yml +43 -3
- package/methodology/mvp.yml +43 -3
- package/package.json +4 -3
- package/pipeline/architecture/review-architecture.md +36 -13
- package/pipeline/architecture/system-architecture.md +24 -9
- package/pipeline/build/multi-agent-resume.md +245 -0
- package/pipeline/build/multi-agent-start.md +236 -0
- package/pipeline/build/new-enhancement.md +456 -0
- package/pipeline/build/quick-task.md +381 -0
- package/pipeline/build/single-agent-resume.md +210 -0
- package/pipeline/build/single-agent-start.md +207 -0
- package/pipeline/consolidation/claude-md-optimization.md +76 -0
- package/pipeline/consolidation/workflow-audit.md +77 -0
- package/pipeline/decisions/adrs.md +21 -7
- package/pipeline/decisions/review-adrs.md +32 -11
- package/pipeline/environment/ai-memory-setup.md +76 -0
- package/pipeline/environment/automated-pr-review.md +76 -0
- package/pipeline/environment/design-system.md +75 -0
- package/pipeline/environment/dev-env-setup.md +68 -0
- package/pipeline/environment/git-workflow.md +73 -0
- package/pipeline/finalization/apply-fixes-and-freeze.md +17 -6
- package/pipeline/finalization/developer-onboarding-guide.md +23 -9
- package/pipeline/finalization/implementation-playbook.md +43 -14
- package/pipeline/foundation/beads.md +71 -0
- package/pipeline/foundation/coding-standards.md +71 -0
- package/pipeline/foundation/project-structure.md +73 -0
- package/pipeline/foundation/tdd.md +64 -0
- package/pipeline/foundation/tech-stack.md +74 -0
- package/pipeline/integration/add-e2e-testing.md +80 -0
- package/pipeline/modeling/domain-modeling.md +23 -8
- package/pipeline/modeling/review-domain-modeling.md +35 -11
- package/pipeline/parity/platform-parity-review.md +90 -0
- package/pipeline/planning/implementation-plan-review.md +67 -0
- package/pipeline/planning/implementation-plan.md +110 -0
- package/pipeline/pre/create-prd.md +34 -10
- package/pipeline/pre/innovate-prd.md +46 -15
- package/pipeline/pre/innovate-user-stories.md +47 -14
- package/pipeline/pre/review-prd.md +29 -8
- package/pipeline/pre/review-user-stories.md +34 -8
- package/pipeline/pre/user-stories.md +23 -8
- package/pipeline/quality/create-evals.md +106 -0
- package/pipeline/quality/operations.md +46 -17
- package/pipeline/quality/review-operations.md +32 -11
- package/pipeline/quality/review-security.md +34 -12
- package/pipeline/quality/review-testing.md +37 -14
- package/pipeline/quality/security.md +36 -10
- package/pipeline/quality/story-tests.md +75 -0
- package/pipeline/specification/api-contracts.md +28 -8
- package/pipeline/specification/database-schema.md +29 -8
- package/pipeline/specification/review-api.md +32 -11
- package/pipeline/specification/review-database.md +32 -11
- package/pipeline/specification/review-ux.md +34 -12
- package/pipeline/specification/ux-spec.md +35 -13
- package/pipeline/validation/critical-path-walkthrough.md +45 -11
- package/pipeline/validation/cross-phase-consistency.md +45 -11
- package/pipeline/validation/decision-completeness.md +45 -11
- package/pipeline/validation/dependency-graph-validation.md +46 -11
- package/pipeline/validation/implementability-dry-run.md +46 -11
- package/pipeline/validation/scope-creep-check.md +46 -11
- package/pipeline/validation/traceability-matrix.md +51 -11
- package/pipeline/vision/create-vision.md +267 -0
- package/pipeline/vision/innovate-vision.md +157 -0
- package/pipeline/vision/review-vision.md +149 -0
- package/skills/multi-model-dispatch/SKILL.md +326 -0
- package/skills/scaffold-pipeline/SKILL.md +210 -0
- package/skills/scaffold-runner/SKILL.md +619 -0
- package/pipeline/planning/implementation-tasks.md +0 -57
- package/pipeline/planning/review-tasks.md +0 -38
- package/pipeline/quality/testing-strategy.md +0 -42
|
@@ -0,0 +1,619 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scaffold-runner
|
|
3
|
+
description: Interactive wrapper for the scaffold CLI that surfaces decision points, manages pipeline execution, and provides a seamless scaffold workflow inside Claude Code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Scaffold Runner
|
|
7
|
+
|
|
8
|
+
This skill provides an intelligent interactive layer between the user and the `scaffold` CLI. It ensures that decision points embedded in scaffold prompts are surfaced to the user before execution, and manages the full step lifecycle.
|
|
9
|
+
|
|
10
|
+
## When This Skill Activates
|
|
11
|
+
|
|
12
|
+
- User says "run scaffold <step>", "scaffold <step>", or "run the next scaffold step"
|
|
13
|
+
- User asks "what's next?", "where am I in the pipeline?", or "scaffold status"
|
|
14
|
+
- User asks to run any pipeline step by name (e.g., "create the PRD", "set up testing")
|
|
15
|
+
- User asks to run multiple steps: "run all reviews", "run phases 5-8", "finish the pipeline", "run the next 5 steps"
|
|
16
|
+
- User asks to re-run groups: "re-run all reviews", "redo quality gates", "re-run from user-stories onward"
|
|
17
|
+
- User says "start building", "begin implementation", "run agent", "start agent"
|
|
18
|
+
- User asks about tools: "bump version", "create a release", "show version"
|
|
19
|
+
- User says "what can I build?" or "what tools are available?"
|
|
20
|
+
- Working in a project with a `.scaffold/` directory
|
|
21
|
+
|
|
22
|
+
## Core Workflow: Smart Scaffold Execution
|
|
23
|
+
|
|
24
|
+
When the user wants to run a scaffold step, follow this exact process:
|
|
25
|
+
|
|
26
|
+
### Step 1: Check Eligibility
|
|
27
|
+
|
|
28
|
+
Run `scaffold next` to see what's eligible. If the user named a specific step, verify it appears in the eligible list. If it's not eligible, explain which dependencies are blocking it and suggest the eligible steps instead.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
scaffold next
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Step 2: Preview the Assembled Prompt
|
|
35
|
+
|
|
36
|
+
Capture the assembled prompt WITHOUT executing it yet:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
scaffold run <step> --auto 2>&1
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Save the output. This is the full 7-section prompt that includes step instructions, knowledge base content, project context, and methodology guidance. **Do not execute the prompt content yet.**
|
|
43
|
+
|
|
44
|
+
### Step 3: Extract Decision Points
|
|
45
|
+
|
|
46
|
+
Scan the assembled prompt for user-facing questions. Look for these patterns:
|
|
47
|
+
|
|
48
|
+
**Explicit question markers:**
|
|
49
|
+
- Lines containing `AskUserQuestionTool` or `AskUserQuestion`
|
|
50
|
+
- Lines containing "ask the user" or "ask me"
|
|
51
|
+
- Lines containing "Use AskUserQuestionTool for these decisions:"
|
|
52
|
+
|
|
53
|
+
**Common decision categories:**
|
|
54
|
+
- **Depth/thoroughness**: "depth level", "how thorough", "exhaustive vs focused"
|
|
55
|
+
- **Strictness**: "strict", "moderate", "lenient", "strictness level"
|
|
56
|
+
- **Optional sections**: "include [X]?", "optional", "skip if not needed"
|
|
57
|
+
- **Architecture choices**: "which pattern", "choose between", "select"
|
|
58
|
+
- **Technology preferences**: "framework", "library", "tool choice"
|
|
59
|
+
- **Scope decisions**: "MVP or full", "include [feature]?", "defer or include"
|
|
60
|
+
|
|
61
|
+
**Decision extraction rules:**
|
|
62
|
+
- Group related questions together (don't ask one at a time)
|
|
63
|
+
- Provide the options mentioned in the prompt text
|
|
64
|
+
- Include your recommendation based on the project context
|
|
65
|
+
- If the prompt says "use AskUserQuestionTool for these decisions:" followed by a bulleted list, extract each bullet as a separate question
|
|
66
|
+
|
|
67
|
+
### Step 4: Surface Decisions to the User
|
|
68
|
+
|
|
69
|
+
Present all extracted decision points to the user using AskUserQuestion. Group them into a single call with up to 4 questions. If there are more than 4, batch them into multiple calls.
|
|
70
|
+
|
|
71
|
+
For each decision:
|
|
72
|
+
- Frame it as a clear choice with concrete options
|
|
73
|
+
- Include the default/recommended option based on the project's methodology preset
|
|
74
|
+
- Add brief context about the impact of each choice
|
|
75
|
+
|
|
76
|
+
**Example presentation:**
|
|
77
|
+
```
|
|
78
|
+
Before running this step, I need a few decisions:
|
|
79
|
+
|
|
80
|
+
1. Architecture depth: Full specification with detailed data flows, or high-level
|
|
81
|
+
component overview? [Full spec (recommended for depth 5) / High-level overview]
|
|
82
|
+
|
|
83
|
+
2. Include performance benchmarks section? [Yes / No — skip for MVP]
|
|
84
|
+
|
|
85
|
+
3. Error handling strategy: Custom error classes with codes, or standard
|
|
86
|
+
try/catch with logging? [Custom classes (recommended) / Standard try/catch]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
If the assembled prompt has NO decision points (the step is fully automated), skip this step and proceed directly to execution.
|
|
90
|
+
|
|
91
|
+
### Step 5: Execute the Prompt
|
|
92
|
+
|
|
93
|
+
Now execute the assembled prompt as your working instructions. This means:
|
|
94
|
+
|
|
95
|
+
1. Read the assembled prompt output from Step 2
|
|
96
|
+
2. Follow its instructions section by section
|
|
97
|
+
3. Where the prompt says "ask the user about X", substitute the answer from Step 4
|
|
98
|
+
4. Where the prompt says "use AskUserQuestionTool", use the pre-collected answer instead
|
|
99
|
+
5. Perform all file operations, artifact creation, and validation the prompt describes
|
|
100
|
+
|
|
101
|
+
**Critical: Execute the FULL prompt faithfully.** Don't skip sections, don't summarize, don't take shortcuts. The assembled prompt was carefully constructed with knowledge base content and project context — every section matters.
|
|
102
|
+
|
|
103
|
+
### Step 6: Post-Execution
|
|
104
|
+
|
|
105
|
+
After the step completes:
|
|
106
|
+
|
|
107
|
+
1. **Mark completion** — If the step was run via `scaffold run`, it's auto-tracked. If the prompt was captured with `scaffold run --auto` and executed manually, mark it complete:
|
|
108
|
+
```bash
|
|
109
|
+
scaffold complete <step>
|
|
110
|
+
```
|
|
111
|
+
Then verify with `scaffold status`.
|
|
112
|
+
|
|
113
|
+
2. **Show what's next** — Run:
|
|
114
|
+
```bash
|
|
115
|
+
scaffold next
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
3. **Offer continuation** — Tell the user:
|
|
119
|
+
```
|
|
120
|
+
Step complete. Next eligible: scaffold run <next-step>
|
|
121
|
+
Want me to continue with the next step?
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Stateless Step Execution
|
|
125
|
+
|
|
126
|
+
Build phase steps (phase 15) and tools are **stateless** — they don't track completion state. When executing a stateless step, modify the Smart Scaffold Execution workflow:
|
|
127
|
+
|
|
128
|
+
### Modified Post-Execution (replaces Step 6 for stateless steps)
|
|
129
|
+
|
|
130
|
+
After executing a stateless step:
|
|
131
|
+
|
|
132
|
+
1. **Skip** `scaffold complete <step>` — stateless steps have no completion state
|
|
133
|
+
2. **Skip** "show what's next" — build steps are always available
|
|
134
|
+
3. **Instead**: Show a brief execution summary and offer to run another build step or tool:
|
|
135
|
+
```
|
|
136
|
+
Step executed. Build phase steps are always available for re-use.
|
|
137
|
+
Run another? single-agent-start | quick-task | new-enhancement | ...
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Resume Step Visibility
|
|
141
|
+
|
|
142
|
+
`single-agent-resume` and `multi-agent-resume` are conditionally shown — only offer them when evidence of prior agent activity exists:
|
|
143
|
+
- Feature branches (e.g., `bd-*` branches) in git
|
|
144
|
+
- In-progress tasks (Beads `bd list` shows in_progress, or implementation plan tasks marked started)
|
|
145
|
+
- Open PRs from previous agent work
|
|
146
|
+
|
|
147
|
+
If no prior activity is detected, suggest `single-agent-start` or `multi-agent-start` instead.
|
|
148
|
+
|
|
149
|
+
## Tool Execution
|
|
150
|
+
|
|
151
|
+
Tools (version-bump, release, version, update, dashboard, prompt-pipeline, session-analyzer) are utility commands orthogonal to the pipeline.
|
|
152
|
+
|
|
153
|
+
### Differences from Pipeline Steps
|
|
154
|
+
|
|
155
|
+
- **No eligibility check** — tools are always available, regardless of pipeline progress
|
|
156
|
+
- **No state tracking** — tools don't appear in `scaffold next` or `scaffold status`
|
|
157
|
+
- **Argument passthrough** — tools support CLI arguments: `scaffold run release --dry-run`, `scaffold run version-bump patch`
|
|
158
|
+
|
|
159
|
+
### Tool Execution Flow
|
|
160
|
+
|
|
161
|
+
1. **Skip eligibility** — don't run `scaffold next` to check
|
|
162
|
+
2. **Preview** — `scaffold run <tool> --auto 2>&1` (same as pipeline steps)
|
|
163
|
+
3. **Extract decisions** — same process as pipeline steps
|
|
164
|
+
4. **Execute** — follow the assembled prompt faithfully
|
|
165
|
+
5. **No completion** — skip `scaffold complete`, skip "what's next"
|
|
166
|
+
|
|
167
|
+
### Accessing Tools
|
|
168
|
+
|
|
169
|
+
- `scaffold run <tool-name>` — run a specific tool
|
|
170
|
+
- `scaffold list --tools` — show available tools (when implemented)
|
|
171
|
+
|
|
172
|
+
## Session Preferences
|
|
173
|
+
|
|
174
|
+
Track these preferences within the current session to avoid re-asking:
|
|
175
|
+
|
|
176
|
+
| Preference | Example | How to Track |
|
|
177
|
+
|---|---|---|
|
|
178
|
+
| Default depth | "Use depth 3 for everything" | Remember and apply to all steps |
|
|
179
|
+
| Skip optional steps | "Skip design system, I don't have a frontend" | Batch skip with `scaffold skip <step1> <step2> --reason "..."` |
|
|
180
|
+
| Methodology | "I'm using MVP" | Informs default recommendations |
|
|
181
|
+
| Batch mode | "Run the next 3 steps" | Execute sequentially, surface decisions for each |
|
|
182
|
+
| Compact status | User is mid-pipeline, only cares about remaining work | Default to `scaffold status --compact` |
|
|
183
|
+
|
|
184
|
+
When the user sets a preference, acknowledge it and apply it to subsequent steps. Don't ask about it again unless the context changes.
|
|
185
|
+
|
|
186
|
+
## Pipeline Navigation Commands
|
|
187
|
+
|
|
188
|
+
Respond to these natural language requests:
|
|
189
|
+
|
|
190
|
+
| User Says | Action |
|
|
191
|
+
|---|---|
|
|
192
|
+
| "What's next?" / "Next step" | Run `scaffold next`, present eligible steps |
|
|
193
|
+
| "Where am I?" / "Pipeline status" | Run `scaffold status`, present progress summary |
|
|
194
|
+
| "What does X do?" | Run `scaffold info <step>`, present purpose, summary, and dependencies |
|
|
195
|
+
| "Is X applicable?" / "Do I need X?" | Run `scaffold check <step>` to detect platform and brownfield status |
|
|
196
|
+
| "Set up memory" / "Configure AI memory" / "Add memory" | Run `scaffold run ai-memory-setup` — sets up modular rules, optional MCP memory server, and external context |
|
|
197
|
+
| "Set up testing" / "Add Playwright" / "Add Maestro" | Run `scaffold run add-e2e-testing` — auto-detects web/mobile and configures the right framework(s) |
|
|
198
|
+
| "Run multi-model review" / "Review stories with other models" | Run `scaffold run review-user-stories` at depth 5 (multi-model capabilities are now built into review-user-stories) |
|
|
199
|
+
| "Skip X" | Run `scaffold skip <step> --reason "<user's reason>"` |
|
|
200
|
+
| "Skip X, Y, and Z" | Run `scaffold skip <step1> <step2> <step3> --reason "<reason>"` |
|
|
201
|
+
| "What's left?" / "Show remaining" | Run `scaffold status --compact`, show only pending/in-progress steps |
|
|
202
|
+
| "Re-run X" / "Redo X" / "Go back to X" | Reset then re-run: `scaffold reset <step> --force && scaffold run <step>` |
|
|
203
|
+
| "Re-run all reviews" / "Redo quality gates" | Batch re-run — see [Batch Execution](#batch-execution) |
|
|
204
|
+
| "Rework phases 1-5" / "Rework through phase 5" | `scaffold rework --through 5` — see [Rework Mode](#rework-mode) |
|
|
205
|
+
| "Continue rework" / "Resume rework" | `scaffold rework --resume` — see [Rework Mode](#rework-mode) |
|
|
206
|
+
| "Run phases 5-8" / "Run modeling through specs" | Batch run by phase range — see [Batch Execution](#batch-execution) |
|
|
207
|
+
| "Run the next N steps" / "Finish the pipeline" | Batch forward run — see [Batch Execution](#batch-execution) |
|
|
208
|
+
| "Continue the batch" / "Resume" | Resume an interrupted batch from where it stopped |
|
|
209
|
+
| "Mark X as done" / "Complete X" | Run `scaffold complete <step>` — marks a step as completed when executed outside `scaffold run` |
|
|
210
|
+
| "Reset X" / "Reset X to pending" | Run `scaffold reset <step>`, confirm if completed |
|
|
211
|
+
| "Show the full pipeline" | Run `scaffold list`, present with status indicators |
|
|
212
|
+
| "Open the dashboard" | Run `scaffold dashboard` |
|
|
213
|
+
| "Switch to MVP" / "Change depth" | Run `scaffold init --methodology <preset>` |
|
|
214
|
+
| "Start building" / "Begin implementation" | `scaffold run single-agent-start` |
|
|
215
|
+
| "Start multi-agent" / "Set up agents" | `scaffold run multi-agent-start <agent-name>` |
|
|
216
|
+
| "Quick task" / "Bug fix" / "Small fix" | `scaffold run quick-task <description>` |
|
|
217
|
+
| "New feature" / "Add enhancement" | `scaffold run new-enhancement <description>` |
|
|
218
|
+
| "Bump version" / "Version bump" | `scaffold run version-bump` |
|
|
219
|
+
| "Create release" / "Release" | `scaffold run release` |
|
|
220
|
+
| "What tools are available?" | `scaffold list --tools` |
|
|
221
|
+
| "Show version" | `scaffold run version` |
|
|
222
|
+
|
|
223
|
+
### Re-running Steps
|
|
224
|
+
|
|
225
|
+
When the user wants to re-run a completed step (e.g., "re-run the PRD", "redo create-prd", "I want to update my user stories"):
|
|
226
|
+
|
|
227
|
+
1. **Reset the step to pending**: Run `scaffold reset <step> --force`
|
|
228
|
+
2. **Then run it**: Follow the normal Smart Scaffold Execution workflow (preview → extract decisions → ask user → execute)
|
|
229
|
+
3. The step will run in **update mode** — it detects the existing artifact and updates it rather than starting from scratch
|
|
230
|
+
|
|
231
|
+
This is useful when:
|
|
232
|
+
- The user wants to incorporate new requirements into an existing artifact
|
|
233
|
+
- A prior step was run at a shallow depth and the user wants to re-run at deeper depth
|
|
234
|
+
- The user modified upstream documents and wants downstream steps to reflect changes
|
|
235
|
+
|
|
236
|
+
### Skipping Steps
|
|
237
|
+
|
|
238
|
+
**Single skip:** `scaffold skip <step> --reason "reason"`
|
|
239
|
+
|
|
240
|
+
**Batch skip:** `scaffold skip <step1> <step2> <step3> --reason "reason"`
|
|
241
|
+
|
|
242
|
+
Use batch skip when the user wants to skip multiple related steps at once (e.g., "skip all the optional testing steps", "I don't have a frontend — skip design-system and add-e2e-testing"). This avoids running the command multiple times and gives a single summary of newly eligible steps.
|
|
243
|
+
|
|
244
|
+
When the user says "skip" without a reason, still pass `--reason` with a brief reason inferred from context (e.g., `--reason "no frontend"`, `--reason "using external CI"`). This aids team visibility in state.json.
|
|
245
|
+
|
|
246
|
+
If a batch skip partially fails (e.g., one step not found), the CLI skips the valid steps and reports errors for the rest. Exit code 2 indicates partial failure.
|
|
247
|
+
|
|
248
|
+
### Compact Status
|
|
249
|
+
|
|
250
|
+
When the user asks "what's left?", "show remaining steps", or is deep into the pipeline, use `scaffold status --compact` instead of the full status view. This:
|
|
251
|
+
|
|
252
|
+
- Shows a summary line with counts (completed, skipped, pending, in progress)
|
|
253
|
+
- Lists only pending and in-progress steps (hides completed/skipped)
|
|
254
|
+
- Keeps the output focused on what's actionable
|
|
255
|
+
|
|
256
|
+
Use the full `scaffold status` (without `--compact`) when the user asks for a complete overview or wants to see what was skipped.
|
|
257
|
+
|
|
258
|
+
### Depth-Aware Steps
|
|
259
|
+
|
|
260
|
+
Some steps behave significantly differently at higher depths. When running these steps, surface the depth choice as a decision point:
|
|
261
|
+
|
|
262
|
+
**`review-user-stories`** — The review step scales with depth:
|
|
263
|
+
- Depth 1-3: Claude-only multi-pass review (6 review passes)
|
|
264
|
+
- Depth 4: Adds requirements index (REQ-xxx IDs) and coverage matrix (coverage.json) for formal PRD traceability
|
|
265
|
+
- Depth 5: Adds multi-model dispatch to Codex/Gemini CLI for independent validation, with graceful fallback to Claude-only enhanced review if CLIs aren't available
|
|
266
|
+
|
|
267
|
+
When running `review-user-stories` at depth 5, check if `codex` or `gemini` CLI is available (`command -v codex`, `command -v gemini`). If neither is available, inform the user that the step will fall back to a Claude-only adversarial self-review — still valuable but less thorough than multi-model review.
|
|
268
|
+
|
|
269
|
+
**`ai-memory-setup`** — Three-tier AI memory configuration:
|
|
270
|
+
- Tier 1 (Modular Rules): Extracts conventions from coding-standards.md, tech-stack.md, git-workflow.md into path-scoped `.claude/rules/` files. Always recommended.
|
|
271
|
+
- Tier 2 (Persistent Memory): Configures MCP Knowledge Graph server (`@modelcontextprotocol/server-memory`), lifecycle hooks (PreCompact, Stop), and decision logging in `docs/decisions/`.
|
|
272
|
+
- Tier 3 (External Context): Adds library documentation server (Context7/Nia/Docfork) to prevent API hallucination. Only relevant for projects with external dependencies.
|
|
273
|
+
|
|
274
|
+
The step auto-detects installed MCP servers and presents tier choices as decision points. Brownfield detection: if `.claude/rules/` exists, enters update mode preserving user customizations.
|
|
275
|
+
|
|
276
|
+
**`add-e2e-testing`** — Unified E2E testing step that auto-detects the platform:
|
|
277
|
+
- Reads `docs/tech-stack.md` and `package.json` to determine web (Playwright), mobile (Maestro), or both
|
|
278
|
+
- Self-skips for backend-only projects with no frontend
|
|
279
|
+
- Detects brownfield (existing Playwright config or Maestro flows) and auto-enters update mode
|
|
280
|
+
|
|
281
|
+
Before running this step, you can use `scaffold check add-e2e-testing` to preview what it will detect without executing.
|
|
282
|
+
|
|
283
|
+
### Applicability Checking
|
|
284
|
+
|
|
285
|
+
Use `scaffold check <step>` to check if a conditional step applies to the current project:
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
scaffold check add-e2e-testing
|
|
289
|
+
# → Applicable: yes | Platform: web | Brownfield: no | Mode: fresh
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
This is useful when the user asks "Do I need this step?" or when previewing which optional steps apply before running them.
|
|
293
|
+
|
|
294
|
+
### Multi-Model Review at Depth 4-5
|
|
295
|
+
|
|
296
|
+
All review and validation steps now support independent multi-model validation at depth 4-5 using Codex and/or Gemini CLIs. The `multi-model-dispatch` skill documents the correct invocation patterns:
|
|
297
|
+
|
|
298
|
+
- **Codex**: `codex exec --skip-git-repo-check -s read-only --ephemeral "prompt" 2>/dev/null` (NOT bare `codex`)
|
|
299
|
+
- **Gemini**: `NO_BROWSER=true gemini -p "prompt" --output-format json --approval-mode yolo 2>/dev/null`
|
|
300
|
+
|
|
301
|
+
**`NO_BROWSER=true` is required for all Gemini invocations** from Claude Code's Bash tool. Without it, Gemini's child process relaunch shows a consent prompt that hangs in non-TTY shells.
|
|
302
|
+
|
|
303
|
+
**Auth verification is mandatory before dispatch.** CLI tokens expire mid-session. Before running any review at depth 4-5:
|
|
304
|
+
1. Check Codex auth: `codex login status`
|
|
305
|
+
2. Check Gemini auth: `NO_BROWSER=true gemini -p "respond with ok" -o json` (exit 41 = auth failure)
|
|
306
|
+
3. If auth fails, tell the user to re-authenticate: `! gemini -p "hello"` or `! codex login` (the `!` prefix runs it interactively with TTY access)
|
|
307
|
+
4. **Never silently skip a CLI due to auth failure** — surface it to the user
|
|
308
|
+
|
|
309
|
+
When running a review step at depth 4-5:
|
|
310
|
+
1. Check CLI availability before dispatching
|
|
311
|
+
2. If both available, run dual-model review for highest quality
|
|
312
|
+
3. If one available, run single-model external review
|
|
313
|
+
4. If neither available, fall back to Claude-only adversarial self-review
|
|
314
|
+
|
|
315
|
+
The runner should surface the depth choice as a decision point for review steps, noting that depth 4-5 enables multi-model validation if CLIs are available.
|
|
316
|
+
|
|
317
|
+
## Batch Execution
|
|
318
|
+
|
|
319
|
+
When the user asks to run multiple steps at once, the runner resolves the request into an ordered step list and executes them sequentially, continuing autonomously between steps. It only stops when a step produces a blocker that requires human intervention.
|
|
320
|
+
|
|
321
|
+
### Batch Intent Resolution
|
|
322
|
+
|
|
323
|
+
Map natural language requests to concrete step lists using `scaffold status` output and phase/name matching:
|
|
324
|
+
|
|
325
|
+
| User Says | Resolution Strategy |
|
|
326
|
+
|---|---|
|
|
327
|
+
| "Re-run all reviews" | All steps whose name starts with `review-` that are `completed` → reset + re-run each |
|
|
328
|
+
| "Run phases 5-8" / "Run modeling through specification" | All enabled steps in the named phases, in pipeline order |
|
|
329
|
+
| "Run remaining planning steps" | All `pending` steps in the `planning` phase |
|
|
330
|
+
| "Run everything from domain-modeling onward" | All enabled steps with pipeline order >= domain-modeling's order |
|
|
331
|
+
| "Run the next 5 steps" | Take the next 5 from `scaffold next`, execute in order |
|
|
332
|
+
| "Run all pending steps" | Loop: `scaffold next` → execute → repeat until nothing eligible |
|
|
333
|
+
| "Re-run all of phase 9" / "Redo quality gates" | All steps in the `quality` phase → reset + re-run each |
|
|
334
|
+
| "Run validation checks" | All steps in the `validation` phase |
|
|
335
|
+
| "Finish the pipeline" | All remaining pending steps, in dependency order |
|
|
336
|
+
|
|
337
|
+
**Phase name reference** (for resolving phase-based requests):
|
|
338
|
+
|
|
339
|
+
| Phase Name | Also Known As | Description | Steps |
|
|
340
|
+
|---|---|---|---|
|
|
341
|
+
| vision | Product Vision | Transforms your idea into a strategic vision document covering who it's for, what makes it different, and what success looks like. | create-vision, review-vision, innovate-vision |
|
|
342
|
+
| pre | Product Definition | Translates your vision into a PRD with features, personas, and success criteria, then breaks it into user stories with testable acceptance criteria. | create-prd, review-prd, innovate-prd, user-stories, review-user-stories, innovate-user-stories |
|
|
343
|
+
| foundation | Project Foundation | Researches and documents technology choices, creates coding standards with linter configs, defines testing strategy, and designs directory layout for parallel agent work. | beads, tech-stack, coding-standards, tdd, project-structure |
|
|
344
|
+
| environment | Dev Environment | Sets up local dev environment, design system (web only), git workflow with CI and worktree scripts, automated PR review, and AI memory persistence. | dev-env-setup, design-system, git-workflow, automated-pr-review, ai-memory-setup |
|
|
345
|
+
| integration | Testing Integration | Auto-detects platform and configures E2E testing — Playwright for web, Maestro for mobile. Skips for backend-only projects. | add-e2e-testing |
|
|
346
|
+
| modeling | Domain Modeling | Identifies core concepts (entities, relationships, invariants, events) and establishes a shared vocabulary across all docs and code. | domain-modeling, review-domain-modeling |
|
|
347
|
+
| decisions | Architecture Decisions | Documents every significant design decision with alternatives considered and consequences, so future contributors know why things are the way they are. | adrs, review-adrs |
|
|
348
|
+
| architecture | System Architecture | Designs the system blueprint — components, data flows, module structure, and extension points that implementation will follow. | system-architecture, review-architecture |
|
|
349
|
+
| specification | Specifications | Creates interface specs for each system layer: database schema with constraints, API contracts with endpoints and error codes, UX flows with accessibility. Each conditional. | database-schema, review-database, api-contracts, review-api, ux-spec, review-ux |
|
|
350
|
+
| quality | Quality Gates | Reviews testing strategy, generates test skeletons from acceptance criteria, creates eval checks, designs deployment pipeline, and conducts OWASP security review. | review-testing, story-tests, create-evals, operations, review-operations, security, review-security |
|
|
351
|
+
| parity | Platform Parity | Audits documentation for platform-specific gaps across target platforms. Skips for single-platform projects. | platform-parity-review |
|
|
352
|
+
| consolidation | Consolidation | Optimizes CLAUDE.md under 200 lines with critical patterns front-loaded, then audits all workflow docs for consistency. | claude-md-optimization, workflow-audit |
|
|
353
|
+
| planning | Planning | Decomposes stories and architecture into concrete tasks scoped to ~150 lines of code and 3 files max, with clear acceptance criteria. | implementation-plan, implementation-plan-review |
|
|
354
|
+
| validation | Validation | Seven cross-cutting audits catching scope creep, dependency cycles, implementability ambiguities, traceability gaps, naming drift, and broken handoffs. | cross-phase-consistency, traceability-matrix, decision-completeness, critical-path-walkthrough, implementability-dry-run, dependency-graph-validation, scope-creep-check |
|
|
355
|
+
| finalization | Finalization | Applies validation findings, freezes docs, creates developer onboarding guide, and writes the implementation playbook agents follow during every coding session. | apply-fixes-and-freeze, developer-onboarding-guide, implementation-playbook |
|
|
356
|
+
| build | Build | Stateless execution steps: TDD implementation loop (single/multi-agent), session resume, quick tasks, and new feature enhancements. | single-agent-start, single-agent-resume, multi-agent-start, multi-agent-resume, quick-task, new-enhancement |
|
|
357
|
+
|
|
358
|
+
### Resolution Process
|
|
359
|
+
|
|
360
|
+
1. **Get current state**: Run `scaffold status` to see all step statuses
|
|
361
|
+
2. **Identify target steps**: Based on the user's request, build the ordered list:
|
|
362
|
+
- For phase-based: filter by phase name(s), keep pipeline order
|
|
363
|
+
- For name-based: match step names (prefix matching for "all reviews" → `review-*`)
|
|
364
|
+
- For re-runs: filter to `completed` steps, plan reset before each
|
|
365
|
+
- For forward runs: filter to `pending` or eligible steps
|
|
366
|
+
3. **Check for disabled/skipped steps**: Exclude steps that are `skipped` or disabled by methodology unless the user explicitly names them
|
|
367
|
+
4. **Check eligibility**: For each step, verify dependencies are met. If a step has unmet dependencies AND those dependencies are in the batch list (earlier), it's fine — they'll be completed first. If dependencies are unmet and NOT in the batch, flag it.
|
|
368
|
+
5. **Present the plan**: Show the user what will be executed:
|
|
369
|
+
|
|
370
|
+
```
|
|
371
|
+
Batch plan: 7 steps to execute sequentially
|
|
372
|
+
|
|
373
|
+
1. ○ review-testing (pending → run)
|
|
374
|
+
2. ○ create-evals (pending → run)
|
|
375
|
+
3. ○ operations (pending → run)
|
|
376
|
+
4. ○ review-operations (pending → run)
|
|
377
|
+
5. ○ security (pending → run)
|
|
378
|
+
6. ○ review-security (pending → run)
|
|
379
|
+
7. ✓ review-architecture (completed → reset + re-run)
|
|
380
|
+
|
|
381
|
+
Session preferences: depth 4, carry forward decisions
|
|
382
|
+
Estimated: autonomous execution, stops only on blockers
|
|
383
|
+
|
|
384
|
+
Proceed? [Yes / Yes, but ask me before each step / Modify list]
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
6. **Get confirmation**: Wait for the user to approve the plan before starting execution.
|
|
388
|
+
|
|
389
|
+
### Execution Protocol
|
|
390
|
+
|
|
391
|
+
For each step in the batch:
|
|
392
|
+
|
|
393
|
+
#### A. Pre-Step
|
|
394
|
+
|
|
395
|
+
1. **Report progress**: Use the step's summary from `scaffold info <step>` for context: `"Step 3/7: operations — Designs your deployment pipeline, defines monitoring metrics with alert thresholds, and writes incident response procedures."`
|
|
396
|
+
2. **If re-run**: Reset the step first: `scaffold reset <step> --force`
|
|
397
|
+
3. **Check eligibility**: Run `scaffold next` and verify the step is eligible. If not, report the blocker and either:
|
|
398
|
+
- Wait for user input (if the blocker is external)
|
|
399
|
+
- Skip this step and continue (if the user pre-approved skipping blockers)
|
|
400
|
+
|
|
401
|
+
#### B. Execution
|
|
402
|
+
|
|
403
|
+
4. **Capture prompt**: `scaffold run <step> --auto 2>&1`
|
|
404
|
+
5. **Extract decisions**: Scan for decision points (same as single-step workflow)
|
|
405
|
+
6. **Apply session preferences**: If the user already set depth, strictness, or other preferences earlier in the batch (or in session preferences), substitute those answers without re-asking
|
|
406
|
+
7. **Surface NEW decisions only**: If this step has decision points not covered by session preferences, ask the user. Group up to 4 questions per call.
|
|
407
|
+
8. **Execute the prompt**: Follow the assembled prompt faithfully
|
|
408
|
+
|
|
409
|
+
#### C. Post-Step
|
|
410
|
+
|
|
411
|
+
9. **Mark completion**: `scaffold complete <step>`
|
|
412
|
+
10. **Brief status report**: One-line summary of what was produced:
|
|
413
|
+
```
|
|
414
|
+
✓ operations complete — created docs/operations-runbook.md
|
|
415
|
+
```
|
|
416
|
+
11. **Check for issues**: If the step surfaced warnings, unresolved questions, or quality concerns — report them briefly but **continue to the next step** unless they are blockers.
|
|
417
|
+
|
|
418
|
+
#### D. Continue or Stop
|
|
419
|
+
|
|
420
|
+
**Continue automatically when:**
|
|
421
|
+
- Step completed successfully
|
|
422
|
+
- Step produced warnings or non-critical issues (report them, keep going)
|
|
423
|
+
- Step produced artifacts that downstream steps need (they're on disk now)
|
|
424
|
+
|
|
425
|
+
**Stop and ask the user when:**
|
|
426
|
+
- Step failed with an error (CLI error, missing file, broken prerequisite)
|
|
427
|
+
- Step requires a decision that can't be resolved from session preferences
|
|
428
|
+
- Step produced a critical finding that changes the batch plan (e.g., "the PRD is missing a key requirement that affects all downstream work")
|
|
429
|
+
- The user asked for "ask me before each step" mode
|
|
430
|
+
|
|
431
|
+
### Decision Carry-Forward
|
|
432
|
+
|
|
433
|
+
Within a batch, decisions made for early steps carry forward to later steps:
|
|
434
|
+
|
|
435
|
+
| Decision | Scope | How It Carries |
|
|
436
|
+
|---|---|---|
|
|
437
|
+
| Depth level | All steps | "Use depth 4" applies to every step in the batch |
|
|
438
|
+
| Strictness | All review steps | "Be strict" applies to all reviews |
|
|
439
|
+
| Optional sections | Per-step | "Include performance benchmarks" applies only to the step where asked |
|
|
440
|
+
| Technology choices | All steps | "Use PostgreSQL" remembered for all steps that ask about DB |
|
|
441
|
+
| Skip patterns | All steps | "Skip frontend sections" applied wherever relevant |
|
|
442
|
+
|
|
443
|
+
When a new step has a decision point that matches a carried-forward preference, substitute the answer silently. Only surface the decision if it's genuinely new or if context has changed (e.g., a previous step's output contradicts an earlier decision).
|
|
444
|
+
|
|
445
|
+
### Batch Summary
|
|
446
|
+
|
|
447
|
+
After all steps complete (or the batch is interrupted), present a summary:
|
|
448
|
+
|
|
449
|
+
```
|
|
450
|
+
Batch complete: 6/7 steps executed
|
|
451
|
+
|
|
452
|
+
✓ review-testing — reviewed TDD strategy (2 findings, both fixed)
|
|
453
|
+
✓ create-evals — generated 12 eval checks
|
|
454
|
+
✓ operations — created operations runbook
|
|
455
|
+
✓ review-operations — reviewed operations (1 P1 finding, fixed)
|
|
456
|
+
✓ security — created security review
|
|
457
|
+
✗ review-security — STOPPED: Codex CLI auth expired (needs: ! codex login)
|
|
458
|
+
○ review-architecture — not reached
|
|
459
|
+
|
|
460
|
+
Issues requiring attention:
|
|
461
|
+
1. review-security blocked on Codex auth — run `! codex login` to fix, then "continue batch"
|
|
462
|
+
|
|
463
|
+
Next eligible after batch: cross-phase-consistency, traceability-matrix
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
### Resuming an Interrupted Batch
|
|
467
|
+
|
|
468
|
+
If the batch was interrupted (blocker, user stopped it, session ended), the user can resume:
|
|
469
|
+
|
|
470
|
+
| User Says | Action |
|
|
471
|
+
|---|---|
|
|
472
|
+
| "Continue the batch" / "Resume" | Pick up from where the batch stopped, re-check eligibility |
|
|
473
|
+
| "Skip that step and continue" | Skip the blocked step, continue with the next |
|
|
474
|
+
| "Stop the batch" | End batch execution, show summary of what completed |
|
|
475
|
+
| "Restart the batch" | Re-run the entire original batch plan from the beginning |
|
|
476
|
+
|
|
477
|
+
To resume, re-read the batch plan (kept in conversation context) and find the first incomplete step. Check eligibility and continue from there.
|
|
478
|
+
|
|
479
|
+
### Batch + Re-run Patterns
|
|
480
|
+
|
|
481
|
+
Common batch patterns for re-running groups of steps:
|
|
482
|
+
|
|
483
|
+
**"Re-run all reviews"** — Useful when upstream docs changed:
|
|
484
|
+
```
|
|
485
|
+
Steps: review-prd, review-user-stories, review-domain-modeling, review-adrs,
|
|
486
|
+
review-architecture, review-database, review-api, review-ux,
|
|
487
|
+
review-testing, review-operations, review-security,
|
|
488
|
+
implementation-plan-review
|
|
489
|
+
Action: reset each → re-run in pipeline order
|
|
490
|
+
Note: Each runs in update mode (detects existing artifact)
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**"Re-run from user-stories onward"** — Useful when PRD changed significantly:
|
|
494
|
+
```
|
|
495
|
+
Steps: All steps with order >= user-stories, filtered to completed/pending
|
|
496
|
+
Action: reset completed ones → run all in pipeline order
|
|
497
|
+
Warning: This is a large batch — confirm with user
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
**"Run all validation checks"** — Useful before implementation:
|
|
501
|
+
```
|
|
502
|
+
Steps: cross-phase-consistency, traceability-matrix, decision-completeness,
|
|
503
|
+
critical-path-walkthrough, implementability-dry-run,
|
|
504
|
+
dependency-graph-validation, scope-creep-check
|
|
505
|
+
Action: These are independent (no deps between them) — run sequentially
|
|
506
|
+
Note: These are quick, low-decision steps — usually fully autonomous
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
## Rework Mode
|
|
510
|
+
|
|
511
|
+
Rework mode enables systematic re-execution of entire phases for depth improvement or quality cleanup. It uses a persistent session file (`.scaffold/rework.json`) that survives context resets.
|
|
512
|
+
|
|
513
|
+
### Detection
|
|
514
|
+
|
|
515
|
+
On activation, check for an active rework session:
|
|
516
|
+
|
|
517
|
+
```bash
|
|
518
|
+
cat .scaffold/rework.json 2>/dev/null
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
If present, enter rework mode automatically and show status: "Active rework: 15/23 steps completed, currently in Phase 3".
|
|
522
|
+
|
|
523
|
+
### Natural Language Triggers
|
|
524
|
+
|
|
525
|
+
| User Says | Action |
|
|
526
|
+
|---|---|
|
|
527
|
+
| "rework phases 1-5" | `scaffold rework --through 5` → enter rework mode |
|
|
528
|
+
| "rework everything" | `scaffold rework` (requires --phases or --through flag) |
|
|
529
|
+
| "rework phases 1-3 excluding 2" | `scaffold rework --through 3 --exclude 2` |
|
|
530
|
+
| "continue rework" / "resume rework" | `scaffold rework --resume` → continue from where it stopped |
|
|
531
|
+
| "stop rework" / "cancel rework" | `scaffold rework --clear` |
|
|
532
|
+
| "rework status" | Read `.scaffold/rework.json`, show progress |
|
|
533
|
+
|
|
534
|
+
### Creating a Rework Session
|
|
535
|
+
|
|
536
|
+
When the user requests a rework:
|
|
537
|
+
|
|
538
|
+
1. Run `scaffold rework --phases <list> --auto --format json` (or `--through N`)
|
|
539
|
+
2. The CLI creates `.scaffold/rework.json` with the execution plan and resets selected steps in state.json
|
|
540
|
+
3. Show the plan summary: step count, phases, depth
|
|
541
|
+
|
|
542
|
+
### Executing Rework Steps
|
|
543
|
+
|
|
544
|
+
For each step in the rework session:
|
|
545
|
+
|
|
546
|
+
1. Read the current rework session: `scaffold rework --resume --format json`
|
|
547
|
+
2. Identify the next pending step from the session
|
|
548
|
+
3. **If config.fix is true and step name starts with `review-`**: Add auto-fix instruction
|
|
549
|
+
```bash
|
|
550
|
+
scaffold run <step> --auto --instructions "Apply fixes directly to the reviewed artifact instead of just listing issues. Summarize what you changed." 2>&1
|
|
551
|
+
```
|
|
552
|
+
4. **Otherwise**: Run normally
|
|
553
|
+
```bash
|
|
554
|
+
scaffold run <step> --auto 2>&1
|
|
555
|
+
```
|
|
556
|
+
5. Follow the normal Smart Scaffold Execution workflow (preview → extract decisions → execute)
|
|
557
|
+
6. After completion:
|
|
558
|
+
```bash
|
|
559
|
+
scaffold rework --advance <step> # Update rework session
|
|
560
|
+
scaffold complete <step> # Update pipeline state
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
### Fresh Mode
|
|
564
|
+
|
|
565
|
+
If the rework config has `fresh: true`, delete the existing artifact before running the step:
|
|
566
|
+
- Read the step's `produces` paths from the assembled prompt metadata
|
|
567
|
+
- Delete those files before executing the step
|
|
568
|
+
- The step will run in fresh mode (no existing artifact detected)
|
|
569
|
+
|
|
570
|
+
### Phase Boundary Pauses
|
|
571
|
+
|
|
572
|
+
When `config.auto` is false (the default):
|
|
573
|
+
- After completing the last step in a phase, pause execution
|
|
574
|
+
- Show a phase summary (use the phase description from the reference table for context):
|
|
575
|
+
```
|
|
576
|
+
Phase 1 (Product Definition) complete: 3/3 steps
|
|
577
|
+
Translates your vision into a PRD with features, personas, and success criteria,
|
|
578
|
+
then breaks it into user stories with testable acceptance criteria.
|
|
579
|
+
✓ create-prd — updated docs/plan.md
|
|
580
|
+
✓ review-prd — 2 issues found and fixed
|
|
581
|
+
✓ innovate-prd — added competitive analysis
|
|
582
|
+
|
|
583
|
+
Next: Phase 2 (Project Foundation) — Researches and documents technology choices,
|
|
584
|
+
creates coding standards with linter configs, defines testing strategy, and designs
|
|
585
|
+
directory layout for parallel agent work.
|
|
586
|
+
|
|
587
|
+
Continue? [Yes / Stop here]
|
|
588
|
+
```
|
|
589
|
+
- Wait for user confirmation before proceeding to the next phase
|
|
590
|
+
|
|
591
|
+
When `config.auto` is true, skip pauses and continue through all steps.
|
|
592
|
+
|
|
593
|
+
### Completion
|
|
594
|
+
|
|
595
|
+
When `scaffold rework --advance` reports all steps done (returns `all_done: true` in JSON):
|
|
596
|
+
1. Show the full rework summary (similar to batch summary)
|
|
597
|
+
2. The session file is automatically cleaned up by the CLI
|
|
598
|
+
3. Show overall pipeline status via `scaffold status`
|
|
599
|
+
|
|
600
|
+
## Error Handling
|
|
601
|
+
|
|
602
|
+
| Situation | Response |
|
|
603
|
+
|---|---|
|
|
604
|
+
| Step not eligible | Show blocking dependencies. Suggest running them first or skipping with `scaffold skip`. |
|
|
605
|
+
| scaffold CLI not installed | Tell user: "Install with `npm install -g @zigrivers/scaffold`" |
|
|
606
|
+
| No .scaffold/ directory | Tell user: "Run `scaffold init` to initialize this project" |
|
|
607
|
+
| Step fails during execution | Show the error, suggest checking docs/prerequisites, offer to retry |
|
|
608
|
+
| Assembled prompt is empty | The step may not have knowledge entries. Fall back to running the command file directly via `/scaffold:<step>` |
|
|
609
|
+
| Batch step fails | Report the failure, ask whether to skip and continue or stop the batch |
|
|
610
|
+
| Batch blocker (auth, missing input) | Stop batch, report the issue, offer recovery path, allow "continue batch" after fix |
|
|
611
|
+
|
|
612
|
+
## What This Skill Does NOT Do
|
|
613
|
+
|
|
614
|
+
- **Does not bypass the CLI** — always runs `scaffold run`, `scaffold next`, `scaffold status`
|
|
615
|
+
- **Does not modify .scaffold/config.json** — reads only (unless user explicitly asks to change methodology)
|
|
616
|
+
- **Does not invent pipeline steps** — the pipeline defines what runs; this skill executes it
|
|
617
|
+
- **Does not suppress questions** — every decision point gets surfaced. Silent defaults defeat the purpose.
|
|
618
|
+
- **Does not cache preferences across sessions** — each Claude Code session starts fresh
|
|
619
|
+
- **Does not run steps in parallel** — batch execution is always sequential (one step at a time per ADR-021). Parallel execution is for the implementation phase via separate worktrees.
|