---
description: Run LazyClaude ULW loop discipline with goal and Dynamic workflow bootstrap.
argument-hint: '<objective>'
---

Use the `ulw-loop` skill for the user's current objective or command arguments.

Before implementation, bootstrap Claude Code-native workflow state:

1. If model-facing goal tools are available in this session, inspect `get_goal`,
   call `create_goal` only when no matching goal exists, and reserve
   `update_goal` for verified completion or a genuine blocker.
2. If goal tools are unavailable, state that plainly and ask the user to bind
   the native Claude Code goal with this exact surface before long execution:
   `/goal <completion condition for the current objective>`.
3. For broad, risky, parallel, or long-running work, call the `Workflow` tool
   when Claude Code exposes it. Bind every lane to explicit criteria, evidence
   artifacts, and cleanup receipts.
4. When isolated edits are needed, use `EnterWorktree` when Claude Code exposes
   it. If only the CLI surface is available, tell the user the concrete launch
   form: `claude --worktree <short-name> --tmux`.

Then continue with evidence-bound success criteria, tests, manual QA artifacts,
cleanup receipts, and explicit release approval boundaries.

Run the objective through `PIN -> RED -> GREEN -> VERIFY -> SURFACE -> REVIEW
-> CLEAN -> RECORD`:

- PIN the objective, non-goals, stale state to reread, dirty worktree files,
  commit/push approval, publish approval, and resume checkpoint.
- RED before implementation when behavior changes, then GREEN with targeted
  evidence and broader verification.
- SURFACE with a real Manual-QA channel and artifact.
- REVIEW when the change is broad, risky, shared, security-sensitive, or
  release-facing.
- CLEAN with a bounded cleanup receipt for tmux sessions, servers, ports,
  browser contexts, temp directories, and child processes.

Stop rules: stop before unapproved commit/push or publish, stop on malformed or
contradictory requirements, and reread live repo state on resume before acting.
