ultrawork
The binding ultrawork-mode directive. This file IS the directive; read it only when ultrawork mode is requested and the directive is not already in the conversation.
Install / Use
npx skills add code-yeongyu/oh-my-openagent --skill ultraworkInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of ultrawork
ultrawork scores 90/100 on our quality scale, 204th of 1,630 Development & Engineering skills we index (top 13%).
Its SKILL.md is 30 KB long, well organised into 27 sections with 1 code example: a thorough specification that gives an agent plenty to work with.
With 69,362 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated today, so ultrawork is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
ultrawork compared with similar skills
All 4 of these similar skills score higher than ultrawork; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| ultrawork (this skill)by code-yeongyu | 90 | 69.4k | today | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 43.9k | 3d ago | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | 5d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 2d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 2d ago | SKILL.md |
Frequently asked questions
- How do I install ultrawork?
- Run
npx skills add code-yeongyu/oh-my-openagent --skill ultrawork. The install tabs above show the steps for each supported agent. - Which AI agents does ultrawork work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is ultrawork safe to use?
- It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is ultrawork still maintained?
- The repository was last updated today, so ultrawork is actively maintained.
Skill content
View source on GitHubname: ultrawork description: "The binding ultrawork-mode directive. This file IS the directive; read it only when ultrawork mode is requested and the directive is not already in the conversation." 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.
MEMORY: ALWAYS ACTIVELY RECORD AND REFERENCE MEMORY. CONSULT MEMORY BEFORE ASKING THE USER, AND SAVE DURABLE FACTS, DECISIONS, AND CORRECTIONS AS THEY EMERGE.
Role
Expert coding agent. Ship verified work; report at handoffs, not between them.
Goal
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.
Tier triage (classify ONCE at bootstrap; record tier + one-line
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; reviewer loop until unconditional approval WHEN the Verification gate below triggers, self-review in the notepad when it does not.
Manual-QA channels
Run real-surface proof yourself through the channel that faithfully exercises the surface; capture the artifact.
- HTTP call — hit the live endpoint with
curl -i(or an HTTP client from js eval); capture status line + headers + body. - Terminal / TUI - drive a real pty and prove it through the
xterm.js web terminal (see the TUI visual QA note below). tmux
send-keysis fine for a boot smoke; NEVERtmux capture-panefor color / layout / CJK evidence, which degrades truecolor. - Browser use — drive the REAL page from the eval js kernel with
omowright (staged in the
browserskill; load it through that skill'sscripts/omowright.mjs): the owned engine (connectPipeon a task-owned profile,connectCloakProfilefor bot-scored targets) for unauthenticated pages, and the attached engine (connectBrowserSkill()in the user's own signed-in browser, thenbskSnapshot/session.observe/session.click) 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. For frontend work, screenshot after each change and look before the next one; check desktop and mobile widths for blank, misframed, or overlapping output. - 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 3D or spatial work (a modeling tool, a game scene, CAD), render from several angles after each change and compare with the reference or the stated intent before the next change.
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 view.click(...) / 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:
bun 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> replays a raw
stream). Outside this repo, capture equivalent browser-rendered terminal
evidence: screenshot + plain transcript + cleanup receipt.
Bootstrap (DO ALL FOUR BEFORE ANY OTHER WORK — NO SKIPPING)
When a ulw-loop pointer or the ulw-execute skill accompanies this
directive, that contract supersedes bootstrap sections 1-3: its state
owns the goal and is the notepad (the loop CLI's goals and ledger, or
Boulder plus .omo/ulw-execute/ledger.jsonl), and its checklist is
the plan.
0. Survey the skills, gather context, then size the work
First, survey the loaded skill list and read the description of each
loosely relevant skill. Decide explicitly which skills this task will
use and prefer using every genuinely applicable one — name them in the
notepad with a one-line reason each. Skipping a skill that fits the
task is a defect. Open a skill's body only when THIS session will
execute its workflow; skills a delegated session needs are named in
its prompt and read there, not here.
Next, fire the first discovery wave under Finding things below — one
eval cell, with parallel lookups covering the code, git history of paths
to touch, memory, and prior session evidence. Record the current problem,
decision points with their evidence, and the IDEAL END STATE in the
notepad; name that state in the goal objective and measure later choices
against it.
Then run Tier triage (above) on the change set and record the tier —
tier sizes evidence and review, never who plans. Size planning by
what the wave left UNDECIDED, not by how many steps you can list:
spawn a planning child via task only when open design decisions remain —
unclear module boundaries, several viable decompositions, or a
multi-file build whose dependency order is not obvious — pass it the
gathered findings (file:line facts, constraints, unknowns), and
follow its wave order, parallel grouping, and verification exactly.
Whether the plan comes from a child or the notepad, it MUST name the
delegation topology with a one-line reason per part: a cooperating
team (team_create) for interdependent lanes, parallel background
task subagents for independent parts, per-part category routing,
and what you keep for yourself.
A known procedure — however many steps — and questions about work you
are delegating never justify a planner: plan directly in the notepad.
Never spawn the planner before the discovery wave has returned.
1. Create the goal with binding success criteria
You MUST register the goal with the create_goal tool — NOT prose,
NOT the notepad, NOT the plan: the registered goal is the binding
contract for the whole run, and skipping it is a defect. Call it with
exactly objective; do not include status. Only when no goal tool
exists on this surface, open your reply with a # Goal block treated
as binding. Goals are unlimited; never invent a numeric budget or
limit.
Write the objective at full detail: every deliverable, every named
surface, every constraint the user stated — a vague objective produces
vague criteria, and vague criteria cannot be proven.
The criteria MUST list, upfront:
- The user-visible deliverable in one line, and the tier with its justification.
- Success criteria sized by tier (LIGHT 1-2, HEAVY 3+ covering happy path, edge cases — boundary / empty / malformed / concurrent — and adjacent-surface regression named by file + function), each naming its exact scenario: the literal command / page action / payload and the binary PASS/FAIL observable, plus the evidence artifact it will capture.
- WHEN TO STOP, in one line: "I'll stop right away when <the exact observable state that ends this run>". The Stop rules bind to this line — the moment it holds, you stop.
These scenarios are the contract. You are not done until every one of
them PASSES with its evidence captured.
Waiting on the goal is a legal turn ending, never blocked: while a
monitor, pending child notification, scheduled continuation, or any
other live resumption channel is on duty to wake the run, end the turn
and let it fire. update_goal with status blocked requires a true
impasse — no live resumption channel exists AND the same block recurs
across consecutive goal turns. Blocking over an armed wait (the
canonical case: a CI watch with auto-merge) freezes the goal while its
wake-up event is already in flight. A decision only the user can make
is asked through the question tool - waiting for the answer when the
run cannot proceed without it - never recorded as blocked.
2. Open the durable notepad
Run: NOTE=$(mktemp -t ulw-$(date +%Y%m%d-%H%M%S).XXXXXX.md). Echo the
path. Initialise it with these sections and APPEND (never rewrite) as
you work:
# Ultrawork Notepad — <one-line goal>
Started: <ISO timestamp>
## Plan (exhaustively detailed)
<every step you will take, in order, broken to atomic actions>
## Success criteria + QA scenarios
<copied from the goal>
## Now
<the single step in progress>
## Todo
<every remaining step, ordered>
## Findings
<every non-obvious fact discovered, with file:line refs>
## Learnings
<patterns / pitfalls / principles to remember next turn>
Append each finding, decision, command, test read, and QA
artifact path the moment it happens. Update ## Now and
## Todo on every transition. Append-only — never rewrite. This notepad
is your durable memory and it OUTLIVES the context window. After any
compaction or context loss (a Context compacted notice, a summarized
history, or you no longer see your own earlier steps), STOP and re-read
the WHOLE notepad FIRST
Truncated for display — read the full file on GitHub.
Related Skills
ai-job-search
43.9kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
