一键导入
gwt-build-spec
Use when implementation should proceed from an approved SPEC or approved standalone task, and the work should run through the build/test/verify loop.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when implementation should proceed from an approved SPEC or approved standalone task, and the work should run through the build/test/verify loop.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when execution should start from a GitHub Issue, gwt-spec Issue, or approved standalone task through one build/test/verify loop.
Use when the user wants to create, inspect, update, or unblock a pull request and expects one visible entrypoint for the PR lifecycle.
Use when implementation needs verification before completion or before opening a PR. Defines a project-agnostic Generic Verification Contract: classify changed surfaces, autodetect the project's test runners from manifests (Cargo.toml / package.json / pyproject.toml / go.mod / ProjectSettings / *.sln / etc.), run the appropriate unit / integration / E2E / visual tests for the project, emit an evidence bundle that lists exactly which tests were executed, then hand off to the user with a 4-step 導線 (build → launch → navigate → observe) and check items before declaring Overall: PASS. Triggers: 'verify', 'run tests', 'pre-PR check', 'gwt-verify'.
Use when an idea, spec question, or implementation gap needs investigation and discussion before deciding how work should proceed.
Use when the user wants to resolve an existing GitHub Issue by number or URL, especially when the workflow should continue through a direct fix unless a SPEC is needed.
Use when the user wants to register new work from a bug report, idea, or task description and an existing GitHub Issue number is not already known.
| name | gwt-build-spec |
| description | Use when implementation should proceed from an approved SPEC or approved standalone task, and the work should run through the build/test/verify loop. |
gwt-build-spec is a temporary alias for gwt-execute. If this skill is
invoked with SPEC-N, continue as $gwt-execute #N and load
the matching gwt-execute/SKILL.md asset from the active provider skill tree.
Keep this file only for transition compatibility during the one-release alias
window.
Implement code using strict TDD (Red-Green-Refactor) methodology. Operates in two modes:
tasks.md, full progress trackingOnce started, keep moving until one of these is true:
gwt-discussion to investigate and discussRoutine CI failures, update-branch merges, and test-first edits are handled autonomously.
Use the current user's language for task summaries, completion reports, task check updates, and any user-facing text generated while executing the workflow, unless an existing artifact must keep its established language.
Before executing any gwtd ... command from this skill or its references,
resolve GWT_BIN first: executable GWT_BIN_PATH, then command -v gwtd,
then $GWT_PROJECT_ROOT/target/debug/gwtd or ./target/debug/gwtd. Run the
command as "$GWT_BIN" ...; if none exists, stop with an actionable
gwtd not found error.
SPEC-1935 FR-014r routes Stop through skill-build-spec-stop-check, which
reads .gwt/skill-state/build-spec.json and blocks Stop while the skill is
active. Register the skill lifecycle with the exit CLI:
build.start with params.spec:<n> when the skill starts an implementation passbuild.phase with params.spec:<n> and
params.label:"red"|"green"|"refactor"|"verify"|"pr" at each TDD milestone (logging only)build.complete with params.spec:<n> once the Ready PR Gate is satisfied for a releaseable slice and verification passedbuild.abort with params.spec:<n> and params.reason when implementation cannot proceed without a product decision or blocking merge conflictThe Stop-block handler honours Claude Code / Codex's built-in
stop_hook_active flag, so each Stop cycle allows at most one forced
continuation; a genuinely stuck turn still terminates normally.
Linked-owner launches additionally carry an Execution Control Record
(SPEC-3248 P8a). A successful build.complete settles it; when the execution
must end without completion, run JSON operation execution.blocked with a
non-empty params.reason (and optional params.missing_verification) so the
blocked exit is recorded instead of looping the Stop gate.
The settlement consumes tool-generated verification evidence (SPEC-3248
P8b): run the verification matrix through JSON operation verify.run with
params.commands:[...] before build.complete / execution.complete. A
completion without a fresh all-passing record leaves the execution active
and the Stop gate engaged.
Determine the mode at entry:
issue.spec.sectionspec, plan, tasks) with JSON operation issue.spec.read.board.show.claim entries from another session that mention the same
owner (#<N> or SPEC-<N>) or the same phase label (Phase <N>,
Phase <label>) as the task slice under consideration.gwt-discussion, or continuing only after the user explicitly
accepts duplicate risk.claim that includes a Boundary: line naming the
files/modules owned by this session before continuing.SPEC-2008 Phase 24, when gwt-build-spec starts for SPEC-2008, then the
preflight reports the claim and requires user confirmation before any RED
test or production edit is made.issue.spec.section / issue.spec.edit for SPEC section reads and writes.This phase is non-optional in both modes. See references/tdd-workflow.md for detailed methodology.
crates/*/tests/ or #[cfg(test)] modules.tasks.md in SPEC mode).spec.md and plan.md.cargo fmt, naming, module structure.Tests may be skipped only when the task does not change observable behavior:
docs:)chore:)All other changes require the TDD loop.
Delegate environment-aware verification to gwt-verify --mode full. The
sub-skill is a project-agnostic Generic Verification Contract: it classifies
the changed surfaces against the active runtime's gwt-verify skill
(references/surface-taxonomy.md),
detects the host project's actual test runners from manifests
(Cargo.toml / package.json / pyproject.toml / go.mod / ProjectSettings /
*.sln / etc.) per references/runner-detection.md,
runs the appropriate unit / integration / E2E / visual tests, emits a
Test Inventory that names which tests were executed, and hands off to
the user via a 4-step verification path + Check Items before finalizing
## Verification Report. The right matrix is determined by what actually
changed and which runners the project ships; do not hard-code a static
cargo / pnpm / Playwright command list here.
The skill is considered green when all of the following hold:
gwt-verify --mode full exits with Overall: PASSfailed: tooling-missing entryUser Verification Result is one of confirmed, n/a, or
skipped(<reason>). pending is not acceptable; rejected(<reason>)
forces Overall: FAIL and the implementation returns to Phase 2 (TDD
loop). The user's reason is preserved in the evidence bundle.In SPEC mode, also verify:
spec.md acceptance scenariostasks.mdgwt-discussionHandle PR operations autonomously using the gwt-manage-pr skill:
gwt-manage-pr to create one.gwt-manage-pr to fix.gwt-manage-pr handle routine merge/push/fix loops.Do not create or update a Ready for review PR until Phase 3 verification
passes and the Ready PR Gate confirms a releaseable slice. If work is
intentionally incomplete or blocked but needs shared CI/early review,
gwt-manage-pr may create/update only a Draft PR that lists known
blockers and Remaining acceptance. Draft PR does not satisfy build
completion.
Reconcile implemented behavior against all SPEC artifacts. See references/completion-gate.md for details.
Required checks:
tasks.md matches the implementationbundled-required, their implementation, tests, and acceptance must be
complete inside this same execution before reporting done. One primary
Execution agent/session owns the entire bundled scope end-to-end; helper
subagents may contribute but never split completion ownership.
dependent-follow-up owners are recorded with explicit ordering and do not
block Primary completion.gwt-discussion — do not proceed to PRUpdate execution tracking:
tasks.mdissue.spec.editOn completion, suggest gwt-arch-review for code review if available, or proceed to gwt-manage-pr if not already done.
Only call JSON operation build.complete after the Ready PR Gate is
satisfied for a releaseable slice. A Draft PR handoff must keep the
remaining work visible in the report and must not be represented as a
completed build.
Stop only when:
gwt-verify returns failed: tooling-missing and the auto-install path
cannot recover (see gwt-verify's references/tooling-bootstrap.md)gwt-discussion if the gap requires user discussion, or update the
SPEC artifact directly if the fix is mechanical## <Build Report in the current user's language>
Mode: SPEC-<id> | Standalone
Completed tasks: <N> | <summary>
Updated files: <paths>
Verification:
- <command/result>
Next:
- `gwt-manage-pr` (create/update PR)
- `gwt-arch-review` (code review)
- return to `gwt-discussion` (artifact repair)
- ask user for decision