howarewoo/woostack

woostack-build

Prepare a multi-increment feature with plain retained artifacts and a user-controlled handoff to normal Execute. Never merges.

First seen Jun 1, 2026

Installation

$ npx skills add howarewoo/woostack --skill woostack-build

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from howarewoo/woostack · top by installs.

npx skills add howarewoo/woostack

Browse all from howarewoo/woostack

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 24
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 10,332 B
  • docs SUMMARY.md 148 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 76 installs

SKILL.md

woostack-build

Build is a thin controller wrapper around the internal decision and planning phases. It always owns persistent local runs under .woostack/tmp/runs/<run-id>/, supports exact --run, retains success/Stop/Abandon artifacts, and hands off with /woostack-execute --run <exact-run-id>. Local run authority is unconditional; Linear, Plane, or GitHub is an optional mirror flow gated by artifacts.provider: "linear", artifacts.provider: "plane", or artifacts.provider: "github". Git, Graphite, and canonical GitHub reads remain the authority for repository delivery. Merge authority is human-only: never auto-merge, never enqueue, never merge.

Commands

/woostack-build <goal> [--project <exact Linear, Plane, or GitHub URL-or-UUID>] [--run <exact-run-id>]
/woostack-build --run <exact-run-id>
/woostack-build --project <exact Linear, Plane, or GitHub URL-or-UUID>

When --run <exact-run-id> is supplied, Build resumes only that exact run directory under .woostack/tmp/runs/<run-id>/ under the shared artifact contract. When omitted, Build creates a new persistent local run under .woostack/tmp/runs/<run-id>/.

Local run creation is unconditional. Default local mode makes zero provider calls. When artifacts.provider is "local" or omitted in effective repository configuration, an explicit --project flag fails closed before any provider access with an error stating that --project requires configured provider mirroring (artifacts.provider: "linear", artifacts.provider: "plane", or artifacts.provider: "github"). When artifacts.provider: "github", --project is optional. Build resolves the exact caller-supplied canonical GitHub Project URL or creates exactly one canonical Project titled [Build] <goal> after proving zero marker matches across owner pagination, with configured visibility (default "private"). Supplied Projects retain their existing titles and visibility. Each independently shippable increment is one direct parentless issue in the canonical repository with direct Project membership. Build verifies canonical repository association and Status field options before starting the conversation. When artifacts.provider: "linear", --project is optional. Build resolves the exact caller-supplied Linear project or creates exactly one canonical project prefixed with [Build] and otherwise derived from the accepted goal. Supplied projects retain their existing names. Each independently shippable increment is one direct issue in that project. Do not create a parent plan issue. Build verifies the canonical repository association, then uses validated repository/workspace/team defaults before starting the conversation. When artifacts.provider: "plane", Build resolves the exact existing artifacts.plane.project under the configured baseUrl and workspace and verifies its canonical repository association. An optional --project must identify that same project; a mismatch fails closed. Build never infers or creates a Plane project. It creates one top-level specification work item prefixed with [Build] with parent = null containing the complete specification, and creates each independently shippable increment as an exact child work item of that specification (parent = <spec-item-UUID>) with direct project membership and N-1 sibling blocking relations. Before acting, load the shared [artifact contract](../woostack-init/references/artifact-backends.md), then load only the selected provider row:

artifacts.provider Provider profile Build context Synchronization
"github" [GitHub](../woostack-init/references/artifact-providers/github.md) [GitHub context](references/github-context.md) [GitHub procedure](references/github-procedure.md)
"linear" [Linear](../woostack-init/references/artifact-providers/linear.md) [Linear context](references/linear-context.md) [Linear procedure](references/linear-procedure.md)
"plane" [Plane](../woostack-init/references/artifact-providers/plane.md) [Plane context](references/plane-context.md) [Plane procedure](references/plane-procedure.md)

Local mode loads no provider profile or provider procedure. The shared contract is the single authority for run allocation and resume, the permission-restricted manifest, readable plain Markdown artifacts, optional mirror synchronization, graph ordering, drift/failure recovery, retention, and unchanged Execute safety reads. The selected profile and Build references supply only provider-specific scope, identities, capabilities, mutations, and read-back. The shared [repository ancestry contract](../woostack-init/references/artifact-backends.md#repository-ancestry-and-base-change-detection) governs parent-branch intent and base movement detection; this wrapper does not restate those rules.

Fixed chain

allocate or resume canonical local run `.woostack/tmp/runs/<run-id>/` (and admit baseline when mirroring) →
draft Ideate/Harden locally with zero provider calls →
writes plain Markdown `project-spec.md` (and perform optional bounded mirror sync/read-back) →
draft delegated Plan/Harden locally with zero provider calls →
writes plain Markdown `execution-plan.md` (and perform optional bounded mirror sync/read-back) →
retain run artifacts → present verified handoff and ask `Stop here`/`Execute`/`Abandon`

Invoke [woostack-ideate](../woostack-ideate/SKILL.md) for exhaustive user-verified decisions and [woostack-harden](../woostack-harden/SKILL.md) to reconcile bounded repository evidence. Both work only in the shared run-scoped manifest after baseline admission, make no provider call while gated, and own no approval gate.

After project-spec.md is written (and optional mirror synchronization completes or records nonblocking failure), invoke [woostack-plan](../woostack-plan/SKILL.md) with the readable specification, baseline identity, and verified run manifest. When delegated by Build, Plan returns only a candidate strict sequential direct-issue chain and performs no provider read or mutation. Harden admits the candidate into the manifest and reconciles it with repository evidence. Build writes execution-plan.md directly under the run directory and performs optional bounded mirror synchronization when artifacts.provider: "linear", artifacts.provider: "plane", or artifacts.provider: "github".

At both specification and planning boundaries, Build requires a safe removal/simplification analysis before additive work. Ideate records viable removal opportunities before additive proposals, and Harden challenges an additive draft when bounded evidence shows the same contract can be met by deletion or simplification. The complete specification and delegated execution plan carry the selected removal or the executor-ready evidence for why addition is necessary. Preserve behavior and safety parity: this analysis never drops validation, error handling, security, accessibility, compatibility, data-loss protection, or deliberate safety redundancy. The canonical [least-code doctrine](../woostack-bootstrap/references/patterns.md#7-least-code--comments) is the source of truth; Execute's existing smallest-complete-change and behavior-preserving simplification contract remains unchanged.

Readable plain artifacts

Build writes plain Markdown project-spec.md and execution-plan.md directly under .woostack/tmp/runs/<run-id>/ under the shared [plain artifact contract](../woostack-init/references/artifact-backends.md#readable-plain-artifact-writing):

  1. Project specification. Write project-spec.md containing the complete user-verified specification.

When artifacts.provider: "linear", artifacts.provider: "plane", or artifacts.provider: "github", one bounded mirror synchronization writes the specification and records mirror status in the manifest; mirror failures are nonblocking.

  1. Execution plan. Write execution-plan.md containing every ordered increment contract and

dependency tuple. When artifacts.provider: "linear", artifacts.provider: "plane", or artifacts.provider: "github", one bounded mirror synchronization binds stable local task keys to canonical provider references and records mirror status in the manifest; mirror failures are nonblocking.

Cross-session continuation is permitted for independently verified run state. All run artifacts in .woostack/tmp/runs/<run-id>/ are retained upon successful completion and upon explicit abandonment. Any failure at shared local boundaries blocks Build; the local draft never replaces the last verified boundary.

Verified handoff

After project-spec.md and execution-plan.md are written (and optional mirror synchronization completes or records nonblocking failure), Build displays the exact run ID, readable artifact paths, stable task mappings, dependency tuples, planning parent branch, planning parent tip, optional mirror mappings and status (when mirroring was enabled), and the exact handoff command:

/woostack-execute --run <exact-run-id>

Build then asks a body-free handoff question whose explicit options are exactly Stop here, Execute, and Abandon. Stop here returns the command without repository, run, or project-state mutation. Execute invokes normal [woostack-execute](../woostack-execute/SKILL.md) once in the same session with --run <exact-run-id>. Abandon records status: "abandoned" in the manifest, retains run artifacts, does not close or mutate a mirrored provider project, and does not dispatch Execute. Unknown or custom input fails closed and asks again; it never dispatches or mutates.

Execute applies the shared repository ancestry and base-change contract to those inputs and owns implementation, focused verification, progress evidence, and repository delivery under its own contract. Build does not select another execution mode, create a competing authority, or merge.

Any required local manifest boundary failure blocks at the last verified boundary. Artifact records never replace Git/Graphite/GitHub evidence or grant repository permission.