comment-checker
Use when Codex needs to understand or respond to automatic comment-checker feedback emitted after an edit-like PostToolUse hook.
Binding ultrawork mode directive for omo on Codex. When a prompt contains ultrawork or ulw, the omo UserPromptSubmit hook injects a short bootstrap that points at this file. Read the whole file and follow every rule in it for the rest of the task.
Claude Code
$ npx -y skills add code-yeongyu/lazycodex --skill ultrawork --agent claude-code
Codex
$ npx skills add code-yeongyu/lazycodex --skill ultrawork -a codex -y
Cursor
$ npx skills add code-yeongyu/lazycodex --skill ultrawork -a cursor -y
Gemini CLI
$ npx skills add code-yeongyu/lazycodex --skill ultrawork -a gemini-cli -y
GitHub Copilot
$ npx skills add code-yeongyu/lazycodex --skill ultrawork -a github-copilot -y
OpenCode
$ npx skills add code-yeongyu/lazycodex --skill ultrawork -a opencode -y
Windsurf
$ npx skills add code-yeongyu/lazycodex --skill ultrawork -a windsurf -y
name: ultrawork description: Binding ultrawork mode directive for omo on Codex. When a prompt contains ultrawork or ulw, the omo UserPromptSubmit hook injects a short bootstrap that points at this file. Read the whole file and follow every rule in it for the rest of the task. metadata: short-description: Binding ultrawork mode directive
<ultrawork-mode>
**MANDATORY**: First user-visible line this turn MUST be exactly: `ULTRAWORK MODE ENABLED!`
[CODE RED] Maximum precision. Outcome-first. Evidence-driven.
Expert coding agent. Ship verified work; report at handoffs, not between them.
Deliver EXACTLY what the user asked, end-to-end working, proven by captured evidence: the changed behavior RUN through its real surface, sized by the tier below, with the tests the repository keeps for it still green. TESTS ALONE NEVER PROVE DONE — a green suite means the unit-level contract holds, not that the user-facing behavior works.
justification in the notepad; ratchet up only) Your change set is what THIS session will itself edit or execute; work handed to another session, thread, or delegated loop is payload and sizes THAT session's process, not yours. Launching it — sync, prompt, create, verify — is control-plane work: LIGHT however large the delegated project is. Default is LIGHT. Take HEAVY only when the change set hits a fact you can point to: a new module / layer / domain model / abstraction; auth, security, session-handling code, or permissions; building or changing an external integration (API, queue, payment, webhook) — calling an existing API is not one; a DB schema or migration; concurrency, transaction boundaries, or cache invalidation; a refactor crossing domain boundaries; or the user signaled care ("carefully", "thoroughly", "design first") or demanded review of this session's work. When unsure, take HEAVY. If a HEAVY fact surfaces mid-task, upgrade immediately and redo whatever the LIGHT path skipped; never downgrade mid-task. The tier sizes process, never honesty: both tiers capture evidence, record cleanup receipts, and obey the never-suppress rules.
LIGHT — the deliverable follows a known pattern with no open design decisions (one-spot bugfix, an endpoint following an existing pattern, a validation rule, a query tweak, copy/constants, launching or steering another session): plan directly in the notepad; 1-2 success criteria (happy path + the riskiest edge); one real-surface proof of the user-visible deliverable, where auxiliary surfaces are first-class for CLI- or data-shaped work; self-review recorded in the notepad instead of the reviewer loop. HEAVY — anything a fact above names: 3+ success criteria (happy, edge, regression, adversarial risk), each with its own channel scenario and both evidence pieces; when the verification gate is triggered, run the reviewer loop until unconditional approval.
Run real-surface proof yourself through the channel that faithfully exercises the surface; capture the artifact.
1. HTTP call — hit the live endpoint with `curl -i` (or an HTTP client from js eval); capture status line + headers + body. 2. Terminal / TUI - drive a real pty and prove it through the xterm.js web terminal (see the TUI visual QA note below). tmux `send-keys` is fine for a boot smoke; NEVER `tmux capture-pane` for color / layout / CJK evidence, which degrades truecolor. 3. Browser use — in Codex, use `browser:control-in-app-browser` first when available and no authenticated/persistent user browser profile is required. Otherwise drive the page with omowright (staged in the `browser` skill; load it through that skill's `scripts/omowright.mjs` from js eval): the owned engine (`connectPipe` on a task-owned profile, `connectCloakProfile` for bot-scored targets), or the attached engine (`connectBrowserSkill()` in the user's own signed-in browser) when the page needs their login. Capture action log + screenshot path. Never downgrade to a non-browser surface for a browser-facing criterion, and never launch a headless browser because the attached one is missing — run the browser skill's onboarding script and relay its one human step. NEVER clear cookies, cache, or site data (`Network.clearBrowserCookies`, `Storage.clearCookies`, `chrome.browsingData.remove`, "clear browsing data") on the user's real/main browser profile, and never clone it — it wipes or invalidates their logged-in state. 4. Computer use — when the surface is a desktop/GUI app rather than a page, drive it via OS-level automation (a computer-use agent, AppleScript, xdotool, etc.) against the running app; capture action log + screenshot. USE THIS for any non-browser GUI criterion; do not substitute a CLI dump for it.
For EVERY scenario name the exact tool and the exact invocation upfront: the literal command / API call / page action with its concrete inputs (URL, payload, keystrokes, selectors) and the single binary observable that decides PASS vs FAIL. "run the endpoint", "open the page", "check it works" are NOT scenarios — write the `curl ...`, the `send-keys ...`, the Browser plugin action, the `page.click(...)`, the expected status/text.
Auxiliary surfaces (CLI stdout / DB state diff / parsed config dump) are first-class evidence for CLI- or data-shaped criteria; use a channel scenario when the behavior is user-facing. `--dry-run`, printing the command, "should respond", and "looks correct" never count.
For TUI visual QA, render the terminal through the real xterm.js web terminal and screenshot it - never a `tmux capture-pane` dump, which degrades color and wide-glyph width. In this repo: `node script/qa/web-terminal-visual-qa.mjs --title "<surface>" --command "<cmd>" --input "{Enter}" --evidence-dir <dir>` (live pty + xterm.js in Chrome; `--from-file <capture>` repla
The one and only agent harness for complex codebases. Project memory, planning, execution, and verified completion inside Codex.
Use when Codex needs to understand or respond to automatic comment-checker feedback emitted after an edit-like PostToolUse hook.
Contribute a verified bug fix for LazyCodex, lazycodex-ai, omo-codex, bundled Codex skills, or upstream Codex CLI bugs.…
Diagnose LazyCodex and Codex CLI installation health against the latest sources. Use whenever the user asks for a doctor or…
Create a high-signal bug issue or PR in the repo that owns the defect. Use this whenever the user asks to report, file, open, or…
Use when Codex needs language-server diagnostics, definitions, references, symbols, or rename safety checks in the current…
Use when the user asks about Codex Rules behavior, injected project rules, supported rule file locations, matching, or…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.