A repo-native delivery spine for planning, checking, execution, verification, and handoff of long-horizon AI-assisted work.
Workspine keeps planning, execution, verification, handoff, and progress state in the repo so work survives cold starts, runtime switches, and session loss. The retained package and CLI contracts remain gsdd-cli / gsdd.
Workspine is a small set of workflow sources plus a CLI (gsdd) that:
- scaffolds a project planning workspace (
.planning/) - generates compact open-standard workflow entrypoints as skills (
.agents/skills/gsdd-*/SKILL.md) - generates an internal repo-local helper runtime at
.planning/bin/gsdd.mjsfor deterministic workflow commands run from the repo root - optionally generates tool-specific adapters for runtimes that need extra native surfaces (root
AGENTS.md, Claude skills + plan-command alias + native agents, OpenCode commands + native agents, Codex CLI checker agent)
It gives serious AI-assisted work one durable repo workflow spine for planning, checking, execution, verification, and handoff without pretending to be a hosted orchestration layer.
Workspine is the product name. The package, CLI commands, workflow prefixes, and workspace directory remain gsdd-cli, gsdd, gsdd-*, and .planning/ — these are retained technical contracts, not rename residue.
Workspine began as a fork of Get Shit Done, whose long-horizon delivery spine proved the problem was real. Since the fork, upstream GSD has continued evolving into a broad multi-runtime framework. Workspine took a different path: a smaller repo-native delivery spine with fewer public workflow surfaces, generated runtime surfaces from a portable core, evidence-gated closure, and provenance-aware continuity.
Launch proof posture:
- Directly validated in repo truth: Claude Code, Codex CLI, OpenCode
- Qualified support only: Cursor, Copilot, Gemini CLI can use the shared
.agents/skills/surface plus optional governance when their skill or slash discovery sees it; proof and ergonomics differ from the directly validated runtimes - Codex CLI validation does not automatically cover Codex VS Code or the Codex app; use native discovery there when available, otherwise open or paste
.agents/skills/gsdd-*/SKILL.md - Installed generated runtime surfaces are renderer-checked locally through
npx -y gsdd-cli health, with deterministic repair throughnpx -y gsdd-cli update(baregsdd ...is equivalent only when globally installed) - Public proof entrypoints:
docs/BROWNFIELD-PROOF.md,docs/proof/consumer-node-cli/README.md,docs/RUNTIME-SUPPORT.md,docs/VERIFICATION-DISCIPLINE.md
Run in your project root:
npx -y gsdd-cli initIn a TTY, npx -y gsdd-cli init opens a guided install wizard: choose runtimes first, then decide separately whether repo-wide AGENTS.md governance is worth installing. If gsdd-cli is globally installed, gsdd init is the equivalent shorthand.
Optional adapters:
npx -y gsdd-cli init --tools claude
npx -y gsdd-cli init --tools opencode
npx -y gsdd-cli init --tools codex
npx -y gsdd-cli init --tools agents
npx -y gsdd-cli init --tools cursor
npx -y gsdd-cli init --tools allNotes:
npx -y gsdd-cli initalways generates open-standard skills at.agents/skills/gsdd-*plus the repo-local helper runtime at.planning/bin/gsdd.mjs. Workflow helper commands assume the repo root as the current working directory.--tools ...remains the manual/headless path; legacy runtime aliases such ascursor,copilot, andgeminiare still supported for backward compatibility.--tools claudealso generates native agents at.claude/agents/gsdd-*.mdand a compatibility plan command alias at.claude/commands/gsdd-plan.md.--tools opencodealso generates native agents at.opencode/agents/gsdd-*.md.--tools codexgenerates.codex/agents/gsdd-plan-checker.toml; the portable.agents/skills/gsdd-plan/surface remains the Codex entry path and internal helper commands route through.planning/bin/gsdd.mjs.- Root
AGENTS.mdis only written when explicitly requested (--tools agents,--tools all, legacy runtime aliases, or the wizard governance opt-in). Governance and native adapter surfaces are optional ergonomics; the compact.agents/skills/files remain the baseline agent entrypoints.
npx -y gsdd-cli init -> bootstrap (create .planning/, copy templates, generate skills/adapters)
/gsdd-new-project -> .planning/SPEC.md + .planning/ROADMAP.md (questioning + codebase audit + research)
/gsdd-plan N -> phases/N/PLAN.md (task breakdown + research)
/gsdd-execute N -> code changes (plan execution with quality gates)
/gsdd-verify N -> VERIFICATION.md (goal-backward validation)
... repeat plan/execute/verify per phase ...
/gsdd-audit-milestone -> MILESTONE-AUDIT.md (cross-phase integration + requirements coverage)
/gsdd-complete-milestone -> milestones/vX.Y-* (archive, evolve spec, collapse roadmap)
/gsdd-new-milestone -> updated SPEC.md + ROADMAP.md (next milestone goals + phases)
/gsdd-plan-milestone-gaps -> gap closure phases in ROADMAP.md (from audit results)
/gsdd-quick -> .planning/quick/NNN/ (sub-hour task outside phases)
/gsdd-pause -> .planning/.continue-here.md (session checkpoint)
/gsdd-resume -> restore context, route to next action
/gsdd-progress -> show status, route to next action
Use the same three-way routing everywhere:
gsdd-new-projectis the full initializer for greenfield work, fuzzy brownfield scope, or milestone-shaped work. Users do not need to pre-runmap-codebase;new-projectdoes that internally when needed.gsdd-quickis the bounded brownfield lane when the change is already concrete. It uses existing codebase maps when present and otherwise builds a just-enough inline baseline.gsdd-map-codebaseis the deeper orientation pass for unfamiliar or higher-risk repos before choosing betweenquickandnew-project.
| Workflow | What ships |
|---|---|
new-project.md |
Greenfield + brownfield + milestone initialization |
plan.md |
Portable planner contract with independent plan checking through generated native adapters |
execute.md |
Mandatory reads, auth-gate routing, deviation rules, and substantive summary quality gate |
verify.md |
Phase verification with orphan detection, frontmatter enforcement, and requirements coverage chain |
audit-milestone.md |
Cross-phase integration audit, auth protection checks, requirement reconciliation, and orphan detection into MILESTONE-AUDIT.md |
complete-milestone.md |
Milestone archive, spec evolution, and roadmap collapse |
new-milestone.md |
Brownfield milestone continuation: goals, requirements, and roadmap phases |
plan-milestone-gaps.md |
Gap-closure phases from MILESTONE-AUDIT.md results |
quick.md |
Quick-work lane for sub-hour tasks outside the phase cycle |
pause.md |
Session checkpoint writer with conversational handoff |
resume.md |
Session context restorer with priority-ordered routing |
progress.md |
Read-only status reporter with recent work, archived-milestone detection, and non-phase brownfield routing |
map-codebase.md |
Standalone codebase mapping/refresh and deeper brownfield orientation |
verify-work.md |
Conversational UAT validation with structured gap tracking |
Architecture notes:
bin/gsdd.mjsremains the thin generator entrypoint, while vendor-specific rendering lives in adapter modules.- Codex CLI uses the always-generated
.agents/skills/gsdd-*surface as its entry path, relies on.planning/bin/gsdd.mjsfor deterministic helper calls, and can add a native.codex/agents/gsdd-plan-checker.tomlchecker agent. - Codex VS Code/app are separate surfaces from Codex CLI; do not claim the CLI proof for them unless they expose compatible skill discovery. Fallback is opening or pasting the generated
SKILL.md. npx -y gsdd-cli healthnow compares any installed generated runtime surfaces against current render output and routes repairs back throughnpx -y gsdd-cli update.- Portable lifecycle contracts now align to the roadmap template status grammar:
[ ],[-],[x]. - Phase verification and milestone integration audit are treated as separate concerns.
- Canonical role contracts use bounded sections, typed output examples, and checklist-driven completion where those structures materially improve downstream reliability.
- Public launch wording is conservative by design: direct proof is claimed only for runtimes with recorded lifecycle evidence in the repo.
| Mode | Mappers | Researchers | Synthesizer | Total |
|---|---|---|---|---|
| Brownfield, first run, research balanced/deep | 4 | 4 | 1 | 9 |
| Brownfield, first run, research fast | 4 | 4 | 0 (inline) | 8 |
| Brownfield, subsequent run, research balanced/deep | 0 (maps exist) | 4 | 1 | 5 |
| Greenfield, research balanced/deep | 0 | 4 | 1 | 5 |
| Greenfield, research fast | 0 | 4 | 0 (inline) | 4 |
| Any, no research | 0-4 | 0 | 0 | 0-4 |
Note: parallelization: false keeps the same mapper/researcher set but runs them sequentially.
.planning/
SPEC.md
ROADMAP.md
config.json
templates/ # copied from distilled/templates/
phases/ # phase plans and summaries
research/ # optional research outputs
.agents/skills/
gsdd-new-project/SKILL.md
gsdd-new-milestone/SKILL.md
gsdd-plan/SKILL.md
gsdd-plan-milestone-gaps/SKILL.md
gsdd-execute/SKILL.md
gsdd-verify/SKILL.md
gsdd-verify-work/SKILL.md
gsdd-audit-milestone/SKILL.md
gsdd-complete-milestone/SKILL.md
gsdd-quick/SKILL.md
gsdd-pause/SKILL.md
gsdd-resume/SKILL.md
gsdd-progress/SKILL.md
gsdd-map-codebase/SKILL.md
.claude/agents/
gsdd-plan-checker.md # native-capable checker agent generated from the active plan-checker contract
.claude/commands/
gsdd-plan.md # compatibility alias to the Claude skill-primary plan entry
.claude/skills/
gsdd-plan/SKILL.md # Claude-native skill-primary planner -> checker surface
.opencode/agents/
gsdd-plan-checker.md # native-capable checker agent generated from the active plan-checker contract
.opencode/commands/
gsdd-plan.md # OpenCode-native specialized planner -> checker command surface
.codex/agents/
gsdd-plan-checker.toml # Codex-native checker agent (read-only, high reasoning effort)
.planning/
quick/ # quick task directories and LOG.md
.continue-here.md # session checkpoint (created by pause)
distilled/
DESIGN.md # design decisions and rationale
EVIDENCE-INDEX.md # source-to-decision index for durable research-backed claims
SKILL.md # primary entry point (plain markdown)
workflows/
audit-milestone.md
complete-milestone.md
execute.md
map-codebase.md
new-project.md
new-milestone.md
pause.md
plan.md
plan-milestone-gaps.md
progress.md
quick.md
resume.md
verify-work.md
verify.md
templates/
spec.md
roadmap.md
agents.md # full AGENTS.md template (for tool adapters)
agents.block.md # bounded block payload for root AGENTS.md insertion
delegates/ # delegate instruction files (copied to .planning/templates/delegates/)
mapper-tech.md
mapper-arch.md
mapper-quality.md
mapper-concerns.md
plan-checker.md
approach-explorer.md
researcher-stack.md
researcher-features.md
researcher-architecture.md
researcher-pitfalls.md
researcher-synthesizer.md
research/
stack.md
features.md
architecture.md
pitfalls.md
summary.md
research-agentic/
prompt-decomposition.json
scratchpad.md
codebase/
stack.md
architecture.md
conventions.md
concerns.md