A Claude Code skill + CLI for taking AI-generated pages apart by hand.
Your agent generates a landing page in a minute. It is legible, responsive, and it looks like every other generated page: the indigo-to-violet gradient, the blurred glow behind the hero, Inter, three equal feature cards, a button that says "Get Started". Nothing is wrong with it. It just reads as though nobody was home.
Fixing that means dozens of small edits, and doing them in a text editor means round-tripping to the browser for each one — which is why most generated pages ship un-fixed. This skill closes that loop: your agent pushes HTML to a cloud draft, you adjust it visually in the guhwoo editor, and the agent pulls your changes back and keeps working from what you decided.
AI drafts it. You are the one who signs it.
git clone https://github.com/partyfly/guhwoo ~/.claude/skills/guhwoo
ln -sf ~/.claude/skills/guhwoo/bin/guhwoo.mjs /usr/local/bin/guhwoo
guhwoo loginThat is the whole setup. guhwoo login opens a browser and reuses your existing guhwoo.com session —
there is no separate API key to manage. Requires Node 18+.
Not using Claude Code? The CLI stands on its own, and SKILL.md is plain markdown —
paste its contents into Cursor rules, a Cline .clinerules, or any agent's system prompt.
guhwoo draft create --html page.html --name "Landing" --open # push it up, open the editor
# ... you drag, resize, retype, adjust colours in the editor ...
guhwoo history # agent: see exactly what changed
guhwoo draft push page.html # agent: send the next roundguhwoo history is the important one. It hands the agent a unified diff plus geometry changes, with
each change marked [user] or [agent], so your manual edits survive the next generation instead of
being overwritten by it. Full command reference in SKILL.md.
| Who does it | |
|---|---|
| Structure, sections, copy, motion, anything described in words | The agent — pull, edit, push |
| Dragging, resizing, nudging a colour, moving a slider | You, in the editor — saves straight to the draft, zero tokens |
| Knowing what the other one just did | guhwoo history |
A language model emits the statistical average of its training data, and for web design that average
has converged hard. Tailwind UI shipped its examples with indigo-500 as a placeholder accent;
thousands of tutorials and starter kits copied them; that volume is what the model learned a button
looks like. The tells arrive as a bundle because they co-occurred as a bundle — which is also why
prompting "no purple" only half-works. You get the same page in teal.
guhwoo keeps a registry of 39 programmatically detectable AI-slop fingerprints across colour, typography, layout, shape, components, iconography, effects, motion and copywriting. Each is judged against real rendered DOM and computed styles, not by asking a model for an opinion.
- The 39 AI slop tells — the full registry, with why each one reads as machine-made and the specific fix
- Free AI slop checker — paste a URL, get an itemised report. No login
- Why every AI-generated website looks the same
- How to remove AI slop from a web page
- De-slopping output from v0, Lovable, Bolt and Claude
The list is not a set of prohibitions. There is nothing wrong with a gradient, and Inter is a good typeface. The distinction that matters is decided-versus-inherited: a tell marks a spot where nobody made a decision yet.
It sees the saved draft and the version history. It does not see your current selection, your annotation strokes, the playhead, or a drag still in progress. Those you tell it.
- Credentials live in
~/.guhwoo/credentials.json(mode 0600) and are your normal guhwoo.com session token.guhwoo logoutremoves them. - Environment overrides:
GUHWOO_TOKEN,GUHWOO_ENDPOINT,GUHWOO_APP,GUHWOO_CONFIG_DIR. - The editor is free. This CLI runs on your own agent, so it does not consume guhwoo cloud credits.
guhwoo --helpis the authoritative interface spec;SKILL.mdstates intent.
MIT — see LICENSE.