尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
A design critic for Claude Code that argues from your rules: it grills you about a page, then loops its critique through a citation gate and a second critic until it holds up.
翻译准备中
正在加载完整 README。
查看完整 README ↗A design critic for Claude Code that argues from your rules, not from generic best practice.
Point it at a URL. It looks at the page, grills you about what the page is for and what you want from the crit, then writes a critique where every issue quotes one of your own rules word for word. Then it loops: a script checks every quote and every claim about the page, a second critic tries to knock the serious findings down, and the first critic fixes only what they caught, until the critique holds up.
/crit https://example.com/pricing
Site: bbulman.github.io/critique-partner
You need Claude Code, Node 18 or later, and Playwright with Chromium:
npm i -g playwright && npx playwright install chromium
Then:
git clone https://github.com/bbulman/critique-partner.git
cd critique-partner
./install.sh
It copies the agent to ~/.claude/agents/ and the skill to ~/.claude/skills/crit/, keeping any earlier copy as a backup. Open a new Claude Code session (or type /reload-skills), and run /crit on a page.
taste.md for judgment, DESIGN.md for rules, principles.md, .claude/rules/design-principles.md. It skips a file that only points somewhere else, and asks you when it finds none.critique-partner agent writes the critique: a verdict, a direct answer to your question, the one thing to fix first, then P0, P1 and P2 findings. Each finding names the page text or selector, quotes your rule word for word, says what's wrong and why it matters to the person on the page, and suggests a fix. Then up to three labelled opinions, what works and must survive the fixes, and what it couldn't check.check.mjs fails the critique if a quoted rule isn't word for word in the section it cites (a paraphrase, an invention, or a quote that drops the "never" in front of it), if quoted page text or a selector isn't on the page, or if the verdict contradicts the findings./crit again, and round 2 shows what's fixed, still open, new or regressed.### The hero copy sits over a full-bleed image
**Where:** 1280-fold.png, hero: "Spark is the powerful, AI-native workspace" (`section.hero`)
**Rule:** "No full-bleed hero images with text overlays." (taste.md § Density & spacing)
**What's wrong:** The image failed to load, so the white subhead sits on a white page.
A visitor deciding in seconds sees a slogan and two buttons, with nothing to judge the trial by.
**Fix:** Two grid cells: the copy in ink on one side, the image on the other.
Anything your rules don't cover is a judgment call: labelled, kept in its own section, at most three, and it never sets the verdict.
Language models are confident critics and unreliable ones. In Google's UICrit study, 13% of zero-shot UI critiques held up. Three things keep this one honest:
In testing on the example page, the loop took all three passes. The second critic caught five factual slips (a button placed on the wrong screenshot, a 56px headline reported as 48px, a black background that didn't exist), and each was fixed before the critique was shown.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗