@opengsd/gsd-path 1.0.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/AGENTS.md +397 -0
- package/DOCS.md +341 -0
- package/FULL.md +475 -0
- package/GUIDE.md +23 -0
- package/HOOKS.md +273 -0
- package/LICENSE +21 -0
- package/MIGRATE.md +100 -0
- package/QUICK.md +146 -0
- package/README.md +280 -0
- package/RUNTIME.md +229 -0
- package/UPDATE.md +196 -0
- package/WORKFLOW.md +683 -0
- package/package.json +80 -0
- package/platforms/claude/dispatch.md +63 -0
- package/platforms/copilot/dispatch.md +61 -0
- package/platforms/cursor/agent.md +17 -0
- package/platforms/cursor/dispatch.md +63 -0
- package/platforms/grok/dispatch.md +61 -0
- package/platforms/kimi/dispatch.md +64 -0
- package/platforms/kiro/dispatch.md +58 -0
- package/platforms/opencode/dispatch.md +62 -0
- package/platforms/qwen/dispatch.md +60 -0
- package/platforms/shared-agents/dispatch.md +131 -0
- package/plugin.json +14 -0
- package/scripts/_common.py +180 -0
- package/scripts/archive_milestone.py +2265 -0
- package/scripts/bootstrap_repository.py +710 -0
- package/scripts/build_state.py +854 -0
- package/scripts/check_docs_audit.py +463 -0
- package/scripts/check_handoffs.py +1855 -0
- package/scripts/check_task_briefs.py +376 -0
- package/scripts/check_update.py +93 -0
- package/scripts/core_hook_gate.py +34 -0
- package/scripts/core_hook_settings.py +119 -0
- package/scripts/detect_project.py +1517 -0
- package/scripts/discussion_records.py +619 -0
- package/scripts/discussion_validate.py +1321 -0
- package/scripts/dispatch_driver.py +1812 -0
- package/scripts/git_guard.py +759 -0
- package/scripts/guard_hook.py +2124 -0
- package/scripts/install.mjs +3239 -0
- package/scripts/install.py +3008 -0
- package/scripts/integration.py +1433 -0
- package/scripts/isolation.py +3538 -0
- package/scripts/lean_verification.py +256 -0
- package/scripts/loop_run.py +837 -0
- package/scripts/migrate_core.py +169 -0
- package/scripts/pipeline_diagnose.py +715 -0
- package/scripts/pipeline_git.py +940 -0
- package/scripts/pipeline_state.py +2291 -0
- package/scripts/pipeline_undo.py +1039 -0
- package/scripts/promote_lookahead.py +415 -0
- package/scripts/review_findings.py +714 -0
- package/scripts/review_panel.py +553 -0
- package/scripts/skill-resources.json +340 -0
- package/scripts/state_checkpoint.py +1039 -0
- package/scripts/state_promote.py +743 -0
- package/scripts/status_runtime.py +122 -0
- package/scripts/sync_skill_resources.py +259 -0
- package/scripts/token_budget.py +146 -0
- package/scripts/wizard.mjs +179 -0
- package/scripts/workflow_run.py +117 -0
- package/skills/gsd-path/BUILD.md +700 -0
- package/skills/gsd-path/DECIDE.md +115 -0
- package/skills/gsd-path/DEFINE.md +297 -0
- package/skills/gsd-path/DOCS-AUDIT.md +190 -0
- package/skills/gsd-path/INSPECT.md +167 -0
- package/skills/gsd-path/PLAN.md +411 -0
- package/skills/gsd-path/RESEARCH.md +159 -0
- package/skills/gsd-path/ROADMAP.md +215 -0
- package/skills/gsd-path/SHIP.md +412 -0
- package/skills/gsd-path/SKILL.md +471 -0
- package/skills/gsd-path/agents/openai.yaml +6 -0
- package/skills/gsd-path/references/codebase-mapper.md +52 -0
- package/skills/gsd-path/references/coder.md +90 -0
- package/skills/gsd-path/references/decider.md +36 -0
- package/skills/gsd-path/references/dispatch.md +131 -0
- package/skills/gsd-path/references/docs-auditor.md +60 -0
- package/skills/gsd-path/references/planner.md +104 -0
- package/skills/gsd-path/references/researcher.md +42 -0
- package/skills/gsd-path/references/reviewer.md +188 -0
- package/skills/gsd-path/references/roadmapper.md +48 -0
- package/skills/gsd-path/scripts/_common.py +180 -0
- package/skills/gsd-path/scripts/archive_milestone.py +2265 -0
- package/skills/gsd-path/scripts/bootstrap_repository.py +710 -0
- package/skills/gsd-path/scripts/build_state.py +854 -0
- package/skills/gsd-path/scripts/check_docs_audit.py +463 -0
- package/skills/gsd-path/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path/scripts/check_update.py +93 -0
- package/skills/gsd-path/scripts/detect_project.py +1517 -0
- package/skills/gsd-path/scripts/discussion_records.py +619 -0
- package/skills/gsd-path/scripts/discussion_validate.py +1321 -0
- package/skills/gsd-path/scripts/dispatch_driver.py +1812 -0
- package/skills/gsd-path/scripts/integration.py +1433 -0
- package/skills/gsd-path/scripts/isolation.py +3538 -0
- package/skills/gsd-path/scripts/lean_verification.py +256 -0
- package/skills/gsd-path/scripts/loop_run.py +837 -0
- package/skills/gsd-path/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path/scripts/promote_lookahead.py +415 -0
- package/skills/gsd-path/scripts/review_findings.py +714 -0
- package/skills/gsd-path/scripts/review_panel.py +553 -0
- package/skills/gsd-path/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path/scripts/state_promote.py +743 -0
- package/skills/gsd-path/scripts/token_budget.py +146 -0
- package/skills/gsd-path/scripts/workflow_run.py +117 -0
- package/skills/gsd-path/templates/answers.md +29 -0
- package/skills/gsd-path/templates/archive-manifest.md +37 -0
- package/skills/gsd-path/templates/charter.md +50 -0
- package/skills/gsd-path/templates/codebase.md +46 -0
- package/skills/gsd-path/templates/dialogue.md +21 -0
- package/skills/gsd-path/templates/docs-audit.md +69 -0
- package/skills/gsd-path/templates/evidence.md +24 -0
- package/skills/gsd-path/templates/final-review.md +27 -0
- package/skills/gsd-path/templates/gap-review.md +20 -0
- package/skills/gsd-path/templates/intent.md +98 -0
- package/skills/gsd-path/templates/loop.md +59 -0
- package/skills/gsd-path/templates/patch-findings.md +16 -0
- package/skills/gsd-path/templates/plan-panel.md +25 -0
- package/skills/gsd-path/templates/plan.md +89 -0
- package/skills/gsd-path/templates/repository.md +16 -0
- package/skills/gsd-path/templates/research-handoff.md +25 -0
- package/skills/gsd-path/templates/roadmap.md +38 -0
- package/skills/gsd-path/templates/skeptic.md +36 -0
- package/skills/gsd-path/templates/state.md +27 -0
- package/skills/gsd-path/templates/synthesis.md +36 -0
- package/skills/gsd-path/templates/task.md +74 -0
- package/skills/gsd-path/templates/wave-panel.md +25 -0
- package/skills/gsd-path/templates/wave-review.md +64 -0
- package/skills/gsd-path-build/SKILL.md +700 -0
- package/skills/gsd-path-build/agents/openai.yaml +6 -0
- package/skills/gsd-path-build/references/coder.md +90 -0
- package/skills/gsd-path-build/references/dispatch.md +131 -0
- package/skills/gsd-path-build/references/reviewer.md +188 -0
- package/skills/gsd-path-build/scripts/_common.py +180 -0
- package/skills/gsd-path-build/scripts/archive_milestone.py +2265 -0
- package/skills/gsd-path-build/scripts/build_state.py +854 -0
- package/skills/gsd-path-build/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-build/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-build/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-build/scripts/discussion_validate.py +1321 -0
- package/skills/gsd-path-build/scripts/dispatch_driver.py +1812 -0
- package/skills/gsd-path-build/scripts/integration.py +1433 -0
- package/skills/gsd-path-build/scripts/isolation.py +3538 -0
- package/skills/gsd-path-build/scripts/loop_run.py +837 -0
- package/skills/gsd-path-build/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-build/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-build/scripts/review_findings.py +714 -0
- package/skills/gsd-path-build/scripts/review_panel.py +553 -0
- package/skills/gsd-path-build/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-build/scripts/state_promote.py +743 -0
- package/skills/gsd-path-build/scripts/token_budget.py +146 -0
- package/skills/gsd-path-build/scripts/workflow_run.py +117 -0
- package/skills/gsd-path-build/templates/skeptic.md +36 -0
- package/skills/gsd-path-build/templates/task.md +74 -0
- package/skills/gsd-path-build/templates/wave-panel.md +25 -0
- package/skills/gsd-path-build/templates/wave-review.md +64 -0
- package/skills/gsd-path-decide/SKILL.md +115 -0
- package/skills/gsd-path-decide/agents/openai.yaml +6 -0
- package/skills/gsd-path-decide/references/decider.md +36 -0
- package/skills/gsd-path-decide/references/dispatch.md +131 -0
- package/skills/gsd-path-decide/scripts/_common.py +180 -0
- package/skills/gsd-path-decide/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-decide/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-decide/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-decide/scripts/isolation.py +3538 -0
- package/skills/gsd-path-decide/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-decide/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-decide/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-decide/scripts/state_promote.py +743 -0
- package/skills/gsd-path-decide/templates/synthesis.md +36 -0
- package/skills/gsd-path-define/SKILL.md +297 -0
- package/skills/gsd-path-define/agents/openai.yaml +6 -0
- package/skills/gsd-path-define/scripts/_common.py +180 -0
- package/skills/gsd-path-define/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-define/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-define/scripts/detect_project.py +1517 -0
- package/skills/gsd-path-define/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-define/scripts/isolation.py +3538 -0
- package/skills/gsd-path-define/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-define/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-define/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-define/scripts/state_promote.py +743 -0
- package/skills/gsd-path-define/templates/charter.md +50 -0
- package/skills/gsd-path-define/templates/intent.md +98 -0
- package/skills/gsd-path-define/templates/state.md +27 -0
- package/skills/gsd-path-discuss/SKILL.md +162 -0
- package/skills/gsd-path-discuss/agents/openai.yaml +6 -0
- package/skills/gsd-path-discuss/scripts/_common.py +180 -0
- package/skills/gsd-path-discuss/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-discuss/templates/answers.md +29 -0
- package/skills/gsd-path-discuss/templates/dialogue.md +21 -0
- package/skills/gsd-path-docs-audit/SKILL.md +190 -0
- package/skills/gsd-path-docs-audit/agents/openai.yaml +6 -0
- package/skills/gsd-path-docs-audit/references/dispatch.md +131 -0
- package/skills/gsd-path-docs-audit/references/docs-auditor.md +60 -0
- package/skills/gsd-path-docs-audit/scripts/_common.py +180 -0
- package/skills/gsd-path-docs-audit/scripts/check_docs_audit.py +463 -0
- package/skills/gsd-path-docs-audit/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-docs-audit/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-docs-audit/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-docs-audit/scripts/isolation.py +3538 -0
- package/skills/gsd-path-docs-audit/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-docs-audit/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-docs-audit/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-docs-audit/scripts/state_promote.py +743 -0
- package/skills/gsd-path-docs-audit/templates/docs-audit.md +69 -0
- package/skills/gsd-path-forensics/SKILL.md +39 -0
- package/skills/gsd-path-forensics/agents/openai.yaml +6 -0
- package/skills/gsd-path-forensics/scripts/_common.py +180 -0
- package/skills/gsd-path-forensics/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-forensics/scripts/pipeline_diagnose.py +715 -0
- package/skills/gsd-path-forensics/scripts/pipeline_undo.py +1039 -0
- package/skills/gsd-path-inspect/SKILL.md +167 -0
- package/skills/gsd-path-inspect/agents/openai.yaml +6 -0
- package/skills/gsd-path-inspect/references/codebase-mapper.md +52 -0
- package/skills/gsd-path-inspect/references/dispatch.md +131 -0
- package/skills/gsd-path-inspect/references/docs-auditor.md +60 -0
- package/skills/gsd-path-inspect/scripts/_common.py +180 -0
- package/skills/gsd-path-inspect/scripts/check_docs_audit.py +463 -0
- package/skills/gsd-path-inspect/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-inspect/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-inspect/scripts/detect_project.py +1517 -0
- package/skills/gsd-path-inspect/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-inspect/scripts/isolation.py +3538 -0
- package/skills/gsd-path-inspect/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-inspect/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-inspect/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-inspect/scripts/state_promote.py +743 -0
- package/skills/gsd-path-inspect/templates/codebase.md +46 -0
- package/skills/gsd-path-inspect/templates/docs-audit.md +69 -0
- package/skills/gsd-path-inspect/templates/state.md +27 -0
- package/skills/gsd-path-loop/SKILL.md +98 -0
- package/skills/gsd-path-loop/agents/openai.yaml +6 -0
- package/skills/gsd-path-loop/examples/ci-repair.LOOP.md +61 -0
- package/skills/gsd-path-loop/scripts/_common.py +180 -0
- package/skills/gsd-path-loop/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-loop/scripts/loop_run.py +837 -0
- package/skills/gsd-path-loop/templates/loop.md +59 -0
- package/skills/gsd-path-migrate/SKILL.md +134 -0
- package/skills/gsd-path-migrate/agents/openai.yaml +6 -0
- package/skills/gsd-path-migrate/scripts/core_hook_gate.py +34 -0
- package/skills/gsd-path-migrate/scripts/core_hook_settings.py +119 -0
- package/skills/gsd-path-migrate/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-migrate/scripts/migrate_core.py +169 -0
- package/skills/gsd-path-plan/SKILL.md +411 -0
- package/skills/gsd-path-plan/agents/openai.yaml +6 -0
- package/skills/gsd-path-plan/references/dispatch.md +131 -0
- package/skills/gsd-path-plan/references/planner.md +104 -0
- package/skills/gsd-path-plan/scripts/_common.py +180 -0
- package/skills/gsd-path-plan/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-plan/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-plan/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-plan/scripts/isolation.py +3538 -0
- package/skills/gsd-path-plan/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-plan/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-plan/scripts/review_panel.py +553 -0
- package/skills/gsd-path-plan/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-plan/scripts/state_promote.py +743 -0
- package/skills/gsd-path-plan/scripts/workflow_run.py +117 -0
- package/skills/gsd-path-plan/templates/patch-findings.md +16 -0
- package/skills/gsd-path-plan/templates/plan-panel.md +25 -0
- package/skills/gsd-path-plan/templates/plan.md +89 -0
- package/skills/gsd-path-plan/templates/task.md +74 -0
- package/skills/gsd-path-research/SKILL.md +159 -0
- package/skills/gsd-path-research/agents/openai.yaml +6 -0
- package/skills/gsd-path-research/references/dispatch.md +131 -0
- package/skills/gsd-path-research/references/researcher.md +42 -0
- package/skills/gsd-path-research/scripts/_common.py +180 -0
- package/skills/gsd-path-research/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-research/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-research/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-research/scripts/isolation.py +3538 -0
- package/skills/gsd-path-research/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-research/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-research/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-research/scripts/state_promote.py +743 -0
- package/skills/gsd-path-research/templates/evidence.md +24 -0
- package/skills/gsd-path-research/templates/research-handoff.md +25 -0
- package/skills/gsd-path-roadmap/SKILL.md +215 -0
- package/skills/gsd-path-roadmap/agents/openai.yaml +6 -0
- package/skills/gsd-path-roadmap/references/dispatch.md +131 -0
- package/skills/gsd-path-roadmap/references/roadmapper.md +48 -0
- package/skills/gsd-path-roadmap/scripts/_common.py +180 -0
- package/skills/gsd-path-roadmap/scripts/archive_milestone.py +2265 -0
- package/skills/gsd-path-roadmap/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-roadmap/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-roadmap/scripts/detect_project.py +1517 -0
- package/skills/gsd-path-roadmap/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-roadmap/scripts/discussion_validate.py +1321 -0
- package/skills/gsd-path-roadmap/scripts/integration.py +1433 -0
- package/skills/gsd-path-roadmap/scripts/isolation.py +3538 -0
- package/skills/gsd-path-roadmap/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-roadmap/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-roadmap/scripts/promote_lookahead.py +415 -0
- package/skills/gsd-path-roadmap/scripts/review_panel.py +553 -0
- package/skills/gsd-path-roadmap/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-roadmap/scripts/state_promote.py +743 -0
- package/skills/gsd-path-roadmap/templates/roadmap.md +38 -0
- package/skills/gsd-path-ship/SKILL.md +412 -0
- package/skills/gsd-path-ship/agents/openai.yaml +6 -0
- package/skills/gsd-path-ship/references/dispatch.md +131 -0
- package/skills/gsd-path-ship/references/reviewer.md +188 -0
- package/skills/gsd-path-ship/scripts/_common.py +180 -0
- package/skills/gsd-path-ship/scripts/archive_milestone.py +2265 -0
- package/skills/gsd-path-ship/scripts/build_state.py +854 -0
- package/skills/gsd-path-ship/scripts/check_handoffs.py +1855 -0
- package/skills/gsd-path-ship/scripts/check_task_briefs.py +376 -0
- package/skills/gsd-path-ship/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-ship/scripts/discussion_validate.py +1321 -0
- package/skills/gsd-path-ship/scripts/integration.py +1433 -0
- package/skills/gsd-path-ship/scripts/isolation.py +3538 -0
- package/skills/gsd-path-ship/scripts/lean_verification.py +256 -0
- package/skills/gsd-path-ship/scripts/pipeline_git.py +940 -0
- package/skills/gsd-path-ship/scripts/pipeline_state.py +2291 -0
- package/skills/gsd-path-ship/scripts/review_panel.py +553 -0
- package/skills/gsd-path-ship/scripts/state_checkpoint.py +1039 -0
- package/skills/gsd-path-ship/scripts/state_promote.py +743 -0
- package/skills/gsd-path-ship/scripts/workflow_run.py +117 -0
- package/skills/gsd-path-ship/templates/archive-manifest.md +37 -0
- package/skills/gsd-path-ship/templates/final-review.md +27 -0
- package/skills/gsd-path-ship/templates/gap-review.md +20 -0
- package/skills/gsd-path-ship/templates/patch-findings.md +16 -0
- package/skills/gsd-path-ship/templates/wave-review.md +64 -0
- package/skills/gsd-path-undo/SKILL.md +45 -0
- package/skills/gsd-path-undo/agents/openai.yaml +6 -0
- package/skills/gsd-path-undo/scripts/_common.py +180 -0
- package/skills/gsd-path-undo/scripts/discussion_records.py +619 -0
- package/skills/gsd-path-undo/scripts/pipeline_undo.py +1039 -0
- package/skills/path/BUILD.md +700 -0
- package/skills/path/DECIDE.md +115 -0
- package/skills/path/DEFINE.md +297 -0
- package/skills/path/DOCS-AUDIT.md +190 -0
- package/skills/path/INSPECT.md +167 -0
- package/skills/path/PLAN.md +411 -0
- package/skills/path/RESEARCH.md +159 -0
- package/skills/path/ROADMAP.md +215 -0
- package/skills/path/SHIP.md +412 -0
- package/skills/path/SKILL.md +471 -0
- package/skills/path/agents/openai.yaml +6 -0
- package/skills/path/references/codebase-mapper.md +52 -0
- package/skills/path/references/coder.md +90 -0
- package/skills/path/references/decider.md +36 -0
- package/skills/path/references/dispatch.md +131 -0
- package/skills/path/references/docs-auditor.md +60 -0
- package/skills/path/references/planner.md +104 -0
- package/skills/path/references/researcher.md +42 -0
- package/skills/path/references/reviewer.md +188 -0
- package/skills/path/references/roadmapper.md +48 -0
- package/skills/path/scripts/_common.py +180 -0
- package/skills/path/scripts/archive_milestone.py +2265 -0
- package/skills/path/scripts/bootstrap_repository.py +710 -0
- package/skills/path/scripts/build_state.py +854 -0
- package/skills/path/scripts/check_docs_audit.py +463 -0
- package/skills/path/scripts/check_handoffs.py +1855 -0
- package/skills/path/scripts/check_task_briefs.py +376 -0
- package/skills/path/scripts/check_update.py +93 -0
- package/skills/path/scripts/detect_project.py +1517 -0
- package/skills/path/scripts/discussion_records.py +619 -0
- package/skills/path/scripts/discussion_validate.py +1321 -0
- package/skills/path/scripts/dispatch_driver.py +1812 -0
- package/skills/path/scripts/integration.py +1433 -0
- package/skills/path/scripts/isolation.py +3538 -0
- package/skills/path/scripts/lean_verification.py +256 -0
- package/skills/path/scripts/loop_run.py +837 -0
- package/skills/path/scripts/pipeline_git.py +940 -0
- package/skills/path/scripts/pipeline_state.py +2291 -0
- package/skills/path/scripts/promote_lookahead.py +415 -0
- package/skills/path/scripts/review_findings.py +714 -0
- package/skills/path/scripts/review_panel.py +553 -0
- package/skills/path/scripts/state_checkpoint.py +1039 -0
- package/skills/path/scripts/state_promote.py +743 -0
- package/skills/path/scripts/token_budget.py +146 -0
- package/skills/path/scripts/workflow_run.py +117 -0
- package/skills/path/templates/answers.md +29 -0
- package/skills/path/templates/archive-manifest.md +37 -0
- package/skills/path/templates/charter.md +50 -0
- package/skills/path/templates/codebase.md +46 -0
- package/skills/path/templates/dialogue.md +21 -0
- package/skills/path/templates/docs-audit.md +69 -0
- package/skills/path/templates/evidence.md +24 -0
- package/skills/path/templates/final-review.md +27 -0
- package/skills/path/templates/gap-review.md +20 -0
- package/skills/path/templates/intent.md +98 -0
- package/skills/path/templates/loop.md +59 -0
- package/skills/path/templates/patch-findings.md +16 -0
- package/skills/path/templates/plan-panel.md +25 -0
- package/skills/path/templates/plan.md +89 -0
- package/skills/path/templates/repository.md +16 -0
- package/skills/path/templates/research-handoff.md +25 -0
- package/skills/path/templates/roadmap.md +38 -0
- package/skills/path/templates/skeptic.md +36 -0
- package/skills/path/templates/state.md +27 -0
- package/skills/path/templates/synthesis.md +36 -0
- package/skills/path/templates/task.md +74 -0
- package/skills/path/templates/wave-panel.md +25 -0
- package/skills/path/templates/wave-review.md +64 -0
package/FULL.md
ADDED
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
# GSD Path — Full Guide
|
|
2
|
+
|
|
3
|
+
Complete walkthrough from install to shipped milestone.
|
|
4
|
+
|
|
5
|
+
| Short path | [QUICK.md](QUICK.md) |
|
|
6
|
+
| Hub (install · use · understand · update) | [DOCS.md](DOCS.md) |
|
|
7
|
+
| Updating | [UPDATE.md](UPDATE.md) |
|
|
8
|
+
|
|
9
|
+
**Contents:** [What it is](#what-gsd-path-is) · [Installation](#installation) ·
|
|
10
|
+
[Starting a milestone](#starting-a-milestone) · [Phases](#phases-and-your-role) ·
|
|
11
|
+
[Shipping](#shipping) · [Resume](#resume-and-recovery) · [Troubleshooting](#troubleshooting)
|
|
12
|
+
|
|
13
|
+
**Related docs**
|
|
14
|
+
|
|
15
|
+
| Doc | Role |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| [DOCS.md](DOCS.md) | Hub + FAQ |
|
|
18
|
+
| [UPDATE.md](UPDATE.md) | Refresh skills and hooks |
|
|
19
|
+
| [README.md](README.md) | Reference tables |
|
|
20
|
+
| [WORKFLOW.md](WORKFLOW.md) | Agent phase SOP |
|
|
21
|
+
| [AGENTS.md](AGENTS.md) | Operating rules |
|
|
22
|
+
| [HOOKS.md](HOOKS.md) | Guard hooks |
|
|
23
|
+
| [MIGRATE.md](MIGRATE.md) | Move from GSD Core to Path |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## What GSD Path is
|
|
28
|
+
|
|
29
|
+
GSD Path turns an idea into shipped code through **gated phases**. Each phase
|
|
30
|
+
writes a fixed artifact under `.project/`; the next phase reads only from disk.
|
|
31
|
+
You can close your session at any point and a fresh session resumes exactly
|
|
32
|
+
where you left off.
|
|
33
|
+
|
|
34
|
+
You are the gate: nothing advances past intent, plan approval, or final review
|
|
35
|
+
without your approval.
|
|
36
|
+
|
|
37
|
+
### The pipeline
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
gsd-path (router: reads STATE.md, runs the next valid phase)
|
|
41
|
+
|
|
|
42
|
+
|-- 0. inspect brownfield only — map code + audit docs
|
|
43
|
+
|-- 1. define intent definition or milestone confirmation
|
|
44
|
+
|-- 2. research parallel evidence researchers
|
|
45
|
+
|-- 3. decide evidence → cited decisions
|
|
46
|
+
|-- 3.5 roadmap program flow: charter → milestone slicing
|
|
47
|
+
|-- 4. plan waves + task contracts
|
|
48
|
+
|-- 5. build parallel coders, serial task landing
|
|
49
|
+
`-- 6. ship verify + final approval → archive + integrate with main
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Router vs phase skills
|
|
53
|
+
|
|
54
|
+
- **Router** (`gsd-path`): reports state and auto-advances through bundled phase
|
|
55
|
+
contracts in one conversation when you want the full flow.
|
|
56
|
+
- **Phase skills** (`gsd-path-plan`, `/gsd-path-build`, …): run one phase and
|
|
57
|
+
stop at its handoff. Invoke the router or the next phase explicitly to continue.
|
|
58
|
+
- **Discussion sidecar** (`gsd-path-discuss`, `/gsd-path-discuss`): can run at
|
|
59
|
+
any non-shipped phase to answer a question, ground it in code and artifacts,
|
|
60
|
+
use focused research when needed, and save the dialogue and answer without
|
|
61
|
+
changing phase state.
|
|
62
|
+
- **Operator commands**: status, forensics, and undo do not add pipeline
|
|
63
|
+
phases. See the [canonical skill table](DOCS.md#skills-optional).
|
|
64
|
+
|
|
65
|
+
All skills are **explicit-only** on most hosts — generic “continue the project”
|
|
66
|
+
does not inject the pipeline. In a project with an owned `.project/STATE.md`,
|
|
67
|
+
such a prompt answers read-only with the current handoff and next skill, and a
|
|
68
|
+
plain change request makes no changes (see `WORKFLOW.md`, Plain-prompt
|
|
69
|
+
re-entry). On OpenCode stable, Antigravity CLI, and Kiro, treat explicit
|
|
70
|
+
invocation as an operating rule.
|
|
71
|
+
|
|
72
|
+
### Invocation by host
|
|
73
|
+
|
|
74
|
+
Use the [router and phase invocation table](README.md#install-summary) for your host.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Installation
|
|
79
|
+
|
|
80
|
+
### Requirements
|
|
81
|
+
|
|
82
|
+
- **Node 18.17+** for `scripts/install.mjs` (recommended; also the npm `gsd-path` bin once the package is published to npm)
|
|
83
|
+
- **Python 3.9+** required for project installs, project refresh, and project-state
|
|
84
|
+
doctor checks; optional for global-only Node installs. `scripts/install.py`
|
|
85
|
+
mirrors global and `--local` install transactions and `--update`; it does not
|
|
86
|
+
provide the interactive wizard
|
|
87
|
+
|
|
88
|
+
### Global install (default)
|
|
89
|
+
|
|
90
|
+
Skills land in each host’s user-level skills root:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
node scripts/install.mjs --all --dry-run # preview
|
|
94
|
+
node scripts/install.mjs --all # apply
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Pick hosts:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
node scripts/install.mjs --codex --claude --cursor
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
| Flag | Skills root |
|
|
104
|
+
| --- | --- |
|
|
105
|
+
| `--codex`, `--zed` | `~/.agents/skills` (shared bundle) |
|
|
106
|
+
| `--claude` | `~/.claude/skills` |
|
|
107
|
+
| `--grok` | `~/.grok/skills` |
|
|
108
|
+
| `--opencode` | OpenCode config `skills/` |
|
|
109
|
+
| `--copilot` | `~/.copilot/skills` |
|
|
110
|
+
| `--qwen` | `~/.qwen/skills` |
|
|
111
|
+
| `--antigravity` | `~/.gemini/antigravity-cli/skills` |
|
|
112
|
+
| `--cursor` | `~/.cursor/skills` + `~/.cursor/agents/gsd-path.md` |
|
|
113
|
+
| `--kiro` | `~/.kiro/skills` |
|
|
114
|
+
| `--kimi` | `~/.kimi-code/skills` |
|
|
115
|
+
|
|
116
|
+
Per-target overrides: `--cursor-root PATH`, etc.
|
|
117
|
+
|
|
118
|
+
### Project-local install
|
|
119
|
+
|
|
120
|
+
Install skills into the **current project’s** per-host directories:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
cd /path/to/your/repo
|
|
124
|
+
node scripts/install.mjs --all --local
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Project contracts
|
|
128
|
+
|
|
129
|
+
Install shared rules into a repo (refuses if managed files already exist):
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
node scripts/install.mjs --all --project /path/to/project
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Writes `AGENTS.md`, `WORKFLOW.md`, and `.gsd-path/runtime/`; with Claude, also
|
|
136
|
+
`.claude/CLAUDE.md`.
|
|
137
|
+
Merge upgrades manually — the installer will not overwrite existing contracts.
|
|
138
|
+
|
|
139
|
+
### Guard hooks (optional)
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
node scripts/install.mjs --claude --codex --cursor --project /path/to/project --hooks
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Installs `.gsd-path/` guard scripts, git `pre-commit`, `commit-msg`, and `pre-push` hooks,
|
|
146
|
+
plus native project wiring for each selected Claude, Codex, or Cursor target.
|
|
147
|
+
See [HOOKS.md](HOOKS.md).
|
|
148
|
+
|
|
149
|
+
After upgrading the package:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
node scripts/install.mjs --hooks-refresh --project /path/to/project
|
|
153
|
+
node scripts/install.mjs --hooks-refresh-full --codex --cursor --project /path/to/project # + create/refresh selected native settings and git hooks
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Updating skills
|
|
157
|
+
|
|
158
|
+
See [UPDATE.md](UPDATE.md) for the full updating guide. Quick reference:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
node scripts/install.mjs --update # global roots with existing install
|
|
162
|
+
node scripts/install.mjs --update --local # current project only
|
|
163
|
+
npx @opengsd/gsd-path@latest --update # from npm, once published
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Previous copies move to `disabled-gsd-skills` beside each root. The router may
|
|
167
|
+
also print a one-line update notice (24h cache, fail-silent).
|
|
168
|
+
|
|
169
|
+
### Safety
|
|
170
|
+
|
|
171
|
+
- Validates synchronized package before writing
|
|
172
|
+
- Uses the [managed-skill backup and collision rules](UPDATE.md#what-auto-updates)
|
|
173
|
+
- Rolls back **all** selected targets if any one fails
|
|
174
|
+
- Codex, Antigravity, and Zed share one local physical root — installed once
|
|
175
|
+
with a shared host-aware bundle
|
|
176
|
+
|
|
177
|
+
Restart the host session after install if skills do not appear.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Starting a milestone
|
|
182
|
+
|
|
183
|
+
Open your agent in the project directory. Invoke the router explicitly.
|
|
184
|
+
|
|
185
|
+
### Initial greenfield repository (first milestone)
|
|
186
|
+
|
|
187
|
+
With no `.project/STATE.md`, a `greenfield` classifier verdict routes to
|
|
188
|
+
**define** immediately. The [DOCS.md FAQ](DOCS.md#faq) owns the exact
|
|
189
|
+
classification rules.
|
|
190
|
+
For an explicit request to create a new GitHub repository, the router first
|
|
191
|
+
previews the repository and linked-worktree targets for approval as described
|
|
192
|
+
in [README.md](README.md#the-flow).
|
|
193
|
+
|
|
194
|
+
Define interviews across: problem, users, observable success, scope in,
|
|
195
|
+
scope out (vetoes), constraints, risks, and surfaces. A surface is anything a
|
|
196
|
+
person opens, sees, or types into to get the result; `Surfaces: none` is only
|
|
197
|
+
for work nobody touches directly. It challenges contradictions, writes a
|
|
198
|
+
complete `.project/intent/INTENT.md` draft with the proposed `quick` or
|
|
199
|
+
`standard` lane, and links that draft alongside its **playback summary** before
|
|
200
|
+
asking for approval. For a multi-milestone program, define instead interviews
|
|
201
|
+
into `.project/CHARTER.md` (program mode); each milestone's INTENT.md is then
|
|
202
|
+
derived from the approved roadmap entry with `Lane: milestone` (milestone
|
|
203
|
+
mode).
|
|
204
|
+
|
|
205
|
+
Vetoes in INTENT.md are hard limits for every later phase.
|
|
206
|
+
|
|
207
|
+
### Brownfield
|
|
208
|
+
|
|
209
|
+
The router uses the [documented classifier signals](DOCS.md#faq); a
|
|
210
|
+
`brownfield` verdict routes to **inspect** first:
|
|
211
|
+
|
|
212
|
+
1. Codebase mapper — what actually exists (stack, architecture, surprises)
|
|
213
|
+
2. Docs auditor — every `.md` claim verified, stale, aspirational, or unverifiable
|
|
214
|
+
|
|
215
|
+
You get **ground truth on one screen** before any questions. Standard and
|
|
216
|
+
program define interviews then ask only **deltas**. Milestone + brownfield
|
|
217
|
+
define derives approved scope from the charter and roadmap, fills Current
|
|
218
|
+
state, collects doc-vs-code rulings, and asks for one confirmation.
|
|
219
|
+
|
|
220
|
+
Each doc-vs-code conflict gets your ruling: `fix-doc`, `fix-code`, or
|
|
221
|
+
`accept-drift`. Inspect writes nothing outside `.project/`.
|
|
222
|
+
|
|
223
|
+
### Quick lane
|
|
224
|
+
|
|
225
|
+
If scope fits ≤2 deliverable tasks in one wave with no open questions, define
|
|
226
|
+
may classify the milestone as `quick` — skipping research/decide with a
|
|
227
|
+
Settled-only SYNTHESIS and a single build wave. If the plan outgrows that,
|
|
228
|
+
the lane corrects to `standard` and reroutes through research.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Phases and your role
|
|
233
|
+
|
|
234
|
+
After intent approval, the router walks phases and stops at gates.
|
|
235
|
+
|
|
236
|
+
| Phase | Output | Your role |
|
|
237
|
+
| --- | --- | --- |
|
|
238
|
+
| **Research** | `research/evidence-*.md` | Usually nothing |
|
|
239
|
+
| **Decide** | `research/SYNTHESIS.md` | Resolve `NEEDS-USER` at checkpoint |
|
|
240
|
+
| **Roadmap** (program) | `ROADMAP.md` | **Approve milestone slicing** |
|
|
241
|
+
| **Plan** | `plan/PLAN.md`, `tasks/T###-slug.md`, optional `review/PLAN-PANEL.md` | **Approve wave summary** |
|
|
242
|
+
| **Build** | code, task commits, `review/wave-*.md` | Escalations only |
|
|
243
|
+
| **Ship** | `review/FINAL.md`, `review/final-gap-*.md`, optional `review/PATCH-FINDINGS.md` | Approve patch waves if blocked and final shipping when green |
|
|
244
|
+
|
|
245
|
+
The discussion sidecar is available alongside every row above. It writes
|
|
246
|
+
`discuss/DIALOGUE.md` and `discuss/ANSWERS.md`; a `final` answer records context
|
|
247
|
+
but does not approve or advance a phase. A required follow-up blocks automatic
|
|
248
|
+
advancement until its named owner appends a disposition receipt.
|
|
249
|
+
|
|
250
|
+
### Research
|
|
251
|
+
|
|
252
|
+
Up to five parallel researchers — the four standard dimensions (domain,
|
|
253
|
+
stack, pitfalls, similar projects) plus an optional risk-driven custom
|
|
254
|
+
dimension.
|
|
255
|
+
Brownfield adds `evidence-codebase.md` from inspect as input. Dimensions with
|
|
256
|
+
nothing to answer are skipped and recorded in STATE.
|
|
257
|
+
|
|
258
|
+
### Decide
|
|
259
|
+
|
|
260
|
+
Turns evidence into cited decisions with runners-up. Unresolved values choices
|
|
261
|
+
surface as `NEEDS-USER` — never guessed.
|
|
262
|
+
|
|
263
|
+
### Plan
|
|
264
|
+
|
|
265
|
+
Reads INTENT + SYNTHESIS. Produces waves, dependency layers, and task contracts
|
|
266
|
+
(clean base SHA, allowed files, acceptance). **Wave 1** often spikes risk;
|
|
267
|
+
**wave 2** is the thinnest end-to-end slice. Build does not start without your
|
|
268
|
+
plan approval. When INTENT names a surface, PLAN.md includes the entry, states,
|
|
269
|
+
walkthrough, delivering task, and success criteria that prove it.
|
|
270
|
+
|
|
271
|
+
### Build
|
|
272
|
+
|
|
273
|
+
Orchestrator runs in the main task. A parallel dispatch round gives **coders**
|
|
274
|
+
isolated named-branch worktrees at one clean layer base; a serial round works
|
|
275
|
+
on the bound branch. Task landing is **serial**. Before
|
|
276
|
+
any worktree exists, the orchestrator lints every ready brief against the
|
|
277
|
+
recorded base with `check_task_briefs.py` and re-checks Intent coverage with
|
|
278
|
+
`check_handoffs.py plan`; a failure is a plan defect repaired
|
|
279
|
+
before the layer proceeds. Recovery, isolation, landing, and retirement go
|
|
280
|
+
`isolation.py` — never a detached HEAD. Each coder reads INTENT.md and
|
|
281
|
+
preflights its brief using the [build contract](skills/gsd-path-build/SKILL.md),
|
|
282
|
+
including its path, intent-coverage, and shared-interface checks, and blocks
|
|
283
|
+
on a mismatch. Each
|
|
284
|
+
task gets one atomic commit; task frontmatter records its base and landed state,
|
|
285
|
+
and `isolation.py recover` proves the exact SHA from Git.
|
|
286
|
+
The orchestrator's isolated task Verify rerun is that task's evidence; wave
|
|
287
|
+
review reads it plus the isolated diff and does not re-run the command.
|
|
288
|
+
PLAN.md's project Verify runs once, at ship. A task Verify names a path
|
|
289
|
+
from `files` unless it is that allowed Project-verify copy.
|
|
290
|
+
|
|
291
|
+
Build reviews each completed wave against task criteria and the INTENT success
|
|
292
|
+
criteria that wave owns. Each wave carries a review depth — `full`,
|
|
293
|
+
`verify-only` for low-risk waves, or sparingly `deep`
|
|
294
|
+
for irreversible or security-critical waves. The canonical
|
|
295
|
+
[build contract](skills/gsd-path-build/SKILL.md) defines each depth's writer
|
|
296
|
+
and evidence rules. Review findings are keyed by their failed criterion and
|
|
297
|
+
carried forward across cycles, so a criterion failing again after its fix task
|
|
298
|
+
means the fix failed, never a duplicate fix task. Keep waves narrow enough for
|
|
299
|
+
one reviewer context (≲12 tasks); split wider work into more waves at plan time.
|
|
300
|
+
|
|
301
|
+
### Ship
|
|
302
|
+
|
|
303
|
+
Final review audits every success criterion (`met` / `not-met` /
|
|
304
|
+
`unverifiable`) and cross-wave gaps. For every surface criterion, the reviewer
|
|
305
|
+
performs PLAN.md's walkthrough and records what the surface showed; internal
|
|
306
|
+
test output alone cannot mark it `met`. Failed criteria become **patch waves**
|
|
307
|
+
— the same build/review loop runs until the final gate passes.
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Shipping
|
|
312
|
+
|
|
313
|
+
Passing the final gate produces a final review artifact. After you explicitly
|
|
314
|
+
approve **Archive and ship**, the archive transaction begins:
|
|
315
|
+
|
|
316
|
+
- Milestone artifacts move to `.project/archive/<NNN>-<slug>/`; `STATE.md`,
|
|
317
|
+
`REPOSITORY.md`, `LESSONS.md`, and program artifacts (`CHARTER.md`,
|
|
318
|
+
`ROADMAP.md`, top-level `SYNTHESIS.md`) remain active project metadata
|
|
319
|
+
- `MANIFEST.md` records contents and ship metadata
|
|
320
|
+
- One **ship commit** (subject `ship: M00N — <slug>`) touches only `.project/`
|
|
321
|
+
- Ship then either merges `gsd-path/M00N` onto `main` directly or opens a
|
|
322
|
+
GitHub PR and waits for you to merge it with a merge commit. Path-created PRs
|
|
323
|
+
include a GSD Path credit footer.
|
|
324
|
+
- After the two-parent merge validates, Path tags `milestone/<NNN>-<slug>`
|
|
325
|
+
- Archives are **read-only** — guard hooks enforce this if installed
|
|
326
|
+
|
|
327
|
+
Direct integration is the project default. Before build, ask the router to set
|
|
328
|
+
`pull-request` as the project default or as an override for the current
|
|
329
|
+
milestone. The setting locks when build starts.
|
|
330
|
+
|
|
331
|
+
After `validate-integrated` passes, the next milestone starts clean on a new
|
|
332
|
+
`gsd-path/M00N` cut from `origin/main`. Invoke the router again; brownfield
|
|
333
|
+
inspect runs against the now-shipped codebase. In program flow the router
|
|
334
|
+
pulls the next pending roadmap entry and inspects first, then define
|
|
335
|
+
(milestone + brownfield); when every entry is terminal (`shipped` or
|
|
336
|
+
`abandoned`) it reports the program complete against the charter's success
|
|
337
|
+
criteria.
|
|
338
|
+
|
|
339
|
+
Two program-flow refinements:
|
|
340
|
+
|
|
341
|
+
- **Lookahead** — while a milestone is in `build/active`, the router offers
|
|
342
|
+
to plan the next dependency-ready milestone in parallel under
|
|
343
|
+
`.project/next/` (inspect → define milestone + brownfield → research for
|
|
344
|
+
open questions → decide → plan, all under their normal gates). The track
|
|
345
|
+
never touches
|
|
346
|
+
active-path artifacts, never binds a branch, and advances only on your
|
|
347
|
+
direction. At the milestone boundary the router promotes `next/` to the
|
|
348
|
+
active paths in one commit (`router: promote lookahead milestone <slug>`)
|
|
349
|
+
and routes by the promoted state — a fully planned track goes straight to
|
|
350
|
+
build, after a promotion re-validation: task paths are diffed against the
|
|
351
|
+
new HEAD from the approval checkpoint commit, and drifted tasks go back
|
|
352
|
+
through plan gating and your re-approval before build starts.
|
|
353
|
+
- **Milestone abandon** — on your explicit ruling (review-cycle cap,
|
|
354
|
+
invalidated decision, or direct request), the build orchestrator retires
|
|
355
|
+
the task worktrees, runs the archive helper's `abandon` command to archive
|
|
356
|
+
the partial artifacts without review gates, marks the roadmap entry
|
|
357
|
+
`abandoned` (immutable), logs the ruling to LESSONS.md, and transitions to
|
|
358
|
+
a roadmap re-slice. The abandoned code stays on the branch.
|
|
359
|
+
|
|
360
|
+
During build, a coder that hits an ambiguous (not defective) contract blocks
|
|
361
|
+
with `NEEDS-ORCHESTRATOR: <question>` in its task Log; the orchestrator
|
|
362
|
+
answers from the approved artifacts or asks you, records the answer in the
|
|
363
|
+
Log, and redispatches without consuming the task's one failure retry.
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Resume and recovery
|
|
368
|
+
|
|
369
|
+
Durable project artifacts live in `.project/`:
|
|
370
|
+
|
|
371
|
+
```text
|
|
372
|
+
.project/
|
|
373
|
+
STATE.md phase, branch, archive transaction id
|
|
374
|
+
REPOSITORY.md persistent new-GitHub checkout/worktree binding
|
|
375
|
+
CHARTER.md program scope (program flow; persists)
|
|
376
|
+
ROADMAP.md milestone slicing (program flow; persists)
|
|
377
|
+
SYNTHESIS.md program decisions (program flow; persists)
|
|
378
|
+
next/ lookahead track artifacts (program flow; during build)
|
|
379
|
+
intent/INTENT.md
|
|
380
|
+
research/RESEARCH.md dispatch manifest
|
|
381
|
+
research/SYNTHESIS.md
|
|
382
|
+
plan/PLAN.md
|
|
383
|
+
tasks/T###-slug.md base SHA, worktree, task branch, status
|
|
384
|
+
review/…
|
|
385
|
+
discuss/DIALOGUE.md any-phase discussion transcript
|
|
386
|
+
discuss/ANSWERS.md durable discussion answers and decisions
|
|
387
|
+
archive/<NNN>-slug>/ read-only shipped milestones
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
Full tree: [README.md](README.md#handoff-contract).
|
|
391
|
+
|
|
392
|
+
To resume: invoke the router. It reconciles STATE and task frontmatter,
|
|
393
|
+
reports position, and continues. **Do not hand-edit** task state or SHAs mid-pipeline.
|
|
394
|
+
|
|
395
|
+
If STATE and artifacts disagree, the router stops and asks rather than guessing.
|
|
396
|
+
|
|
397
|
+
Artifact-collection journals live under `gsd-path/collect-artifact/` in the Git
|
|
398
|
+
common directory. After the primary worktree moves, status, diagnosis, and
|
|
399
|
+
routing validate completed journals from the former primary as durable receipts
|
|
400
|
+
and omit them from pending recoveries. The former primary need not still exist;
|
|
401
|
+
its recorded path must be absolute. Incomplete journals from another primary
|
|
402
|
+
still block recovery, and active `collect-artifact` operations still require
|
|
403
|
+
the recorded primary to match. Journal validation and unsafe-file checks remain
|
|
404
|
+
in force; see [the collection helper](scripts/isolation.py).
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## Standalone docs audit
|
|
409
|
+
|
|
410
|
+
`/gsd-path-docs-audit` runs between phases as a drift check. Findings get
|
|
411
|
+
verdicts and a remediation queue (`planned: no` until you fold them into a plan
|
|
412
|
+
or patch wave with approval). Never blocks the pipeline silently.
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## Agent execution (how work is delegated)
|
|
417
|
+
|
|
418
|
+
Define and build orchestrators run in the main task. Researchers, deciders,
|
|
419
|
+
planners, coders, and reviewers use the host dispatch adapter installed with
|
|
420
|
+
your skills:
|
|
421
|
+
|
|
422
|
+
| Host | Child API | Notes |
|
|
423
|
+
| --- | --- | --- |
|
|
424
|
+
| Codex | collaboration | `default` / `worker` |
|
|
425
|
+
| Claude Code | `Agent` | `general-purpose` |
|
|
426
|
+
| Grok | `spawn_subagent` | |
|
|
427
|
+
| OpenCode | `Task` / v2 `subagent` | |
|
|
428
|
+
| Copilot CLI | `task` | |
|
|
429
|
+
| Qwen Code | `agent` | |
|
|
430
|
+
| Antigravity | `invoke_subagent` | |
|
|
431
|
+
| Cursor | `Task` | installed `gsd-path` subagent |
|
|
432
|
+
| Zed | `spawn_agent` | |
|
|
433
|
+
| Kiro | subagent facility | |
|
|
434
|
+
| Kimi | `Agent` | `coder` child type |
|
|
435
|
+
|
|
436
|
+
Independent briefs run in parallel up to child capacity; dependencies run in
|
|
437
|
+
layers. Every child brief names absolute input/output paths and bounded scope.
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## Troubleshooting
|
|
442
|
+
|
|
443
|
+
| Symptom | What to do |
|
|
444
|
+
| --- | --- |
|
|
445
|
+
| Skills missing after install | Restart host session; [UPDATE.md](UPDATE.md) |
|
|
446
|
+
| Router blocked on branch | Check out `STATE.branch` or follow router instructions |
|
|
447
|
+
| Phase says precondition missing | Run the producing phase it names |
|
|
448
|
+
| Pipeline on unrelated work | Explicit invocation only — [DOCS.md](DOCS.md#faq) |
|
|
449
|
+
| Contradictory STATE / tasks | Re-invoke router; artifacts outrank chat |
|
|
450
|
+
| Archive tamper blocked | Expected with hooks — [HOOKS.md](HOOKS.md) |
|
|
451
|
+
| Upgrade skills or hooks | [UPDATE.md](UPDATE.md) |
|
|
452
|
+
| More help | [DOCS.md](DOCS.md#help) |
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## Command reference
|
|
457
|
+
|
|
458
|
+
See [UPDATE.md](UPDATE.md) for updating. Install and hooks:
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
# Install
|
|
462
|
+
node scripts/install.mjs --all [--local] [--dry-run]
|
|
463
|
+
node scripts/install.mjs --claude --cursor --project /path/to/repo [--hooks]
|
|
464
|
+
|
|
465
|
+
# Update skills
|
|
466
|
+
node scripts/install.mjs --update [--local]
|
|
467
|
+
|
|
468
|
+
# Update hooks
|
|
469
|
+
node scripts/install.mjs --hooks-refresh --project /path/to/repo
|
|
470
|
+
node scripts/install.mjs --hooks-refresh-full --project /path/to/repo
|
|
471
|
+
|
|
472
|
+
# From npm (once the package is published to npm)
|
|
473
|
+
npx @opengsd/gsd-path --all
|
|
474
|
+
npx @opengsd/gsd-path@latest --update
|
|
475
|
+
```
|
package/GUIDE.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# GSD Path — How-To Guide
|
|
2
|
+
|
|
3
|
+
This file points to the current documentation set. **Start at [DOCS.md](DOCS.md).**
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
DOCS.md hub — install, use, understand, update, FAQ
|
|
7
|
+
├── QUICK.md ~5 min first run (checklist)
|
|
8
|
+
├── FULL.md every phase install → ship
|
|
9
|
+
├── UPDATE.md refresh skills, hooks, contracts
|
|
10
|
+
├── HOOKS.md optional guards (archives, destructive git)
|
|
11
|
+
└── README.md reference tables, handoff contract, repo layout
|
|
12
|
+
|
|
13
|
+
WORKFLOW.md agent SOP (copied into your project with --project)
|
|
14
|
+
AGENTS.md operating rules (copied into your project)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
| Doc | Read when |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| [DOCS.md](DOCS.md) | You want one map for everything |
|
|
20
|
+
| [QUICK.md](QUICK.md) | You want to run it today |
|
|
21
|
+
| [FULL.md](FULL.md) | You want phase-by-phase detail |
|
|
22
|
+
| [UPDATE.md](UPDATE.md) | You upgraded gsd-path or skills feel stale |
|
|
23
|
+
| [README.md](README.md) | You need host paths or artifact reference |
|