Skip to content

findings: web-design-guidelines — original + improved skill - #54

Open
Zhaiyuqing2003 wants to merge 1 commit into
developmentfrom
findings/web-design-guidelines-run
Open

findings: web-design-guidelines — original + improved skill#54
Zhaiyuqing2003 wants to merge 1 commit into
developmentfrom
findings/web-design-guidelines-run

Conversation

@Zhaiyuqing2003

@Zhaiyuqing2003 Zhaiyuqing2003 commented May 26, 2026

Copy link
Copy Markdown

Two files for teammate review: the original skill content from vercel-labs/web-interface-guidelines/command.md and the proposed-improved version. See comment below for the finding and rationale.

Copilot AI review requested due to automatic review settings May 26, 2026 14:13
@Zhaiyuqing2003
Zhaiyuqing2003 force-pushed the findings/web-design-guidelines-run branch from 13d016d to 9bde4fd Compare May 26, 2026 14:16
@Zhaiyuqing2003 Zhaiyuqing2003 changed the title findings: skill-optimizer chain run on vercel-labs web-design-guidelines findings: web-design-guidelines — proposed upstream PR content May 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the artifacts from an end-to-end “skill-optimizer” chain run for the web-design-guidelines skill, including a runnable eval suite (fixtures + graders + smoke checks) and the proposed “improved skill” command.md that moves the Output Format contract to the top.

Changes:

  • Introduces a skill-evals/web-design-guidelines/ suite with 8 probes (workspaces, graders, and smoke fixtures) to measure rule-detection and output-format discipline.
  • Adds a full docs trail for the run (functionality brief, submissions analysis, test proposals/verdict, bench summary, analysis, improvement proposal, validator verdict).
  • Adds docs/.../improved-skill/command.md representing the proposed upstream command.md reordering + rationale paragraph.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
skill-evals/web-design-guidelines/suite.yml Workbench suite definition for the 8-probe run
skill-evals/web-design-guidelines/accessibility-violations/spec.yaml Functionality spec for accessibility probes
skill-evals/web-design-guidelines/accessibility-violations/icon-button-missing-aria-label/spec.yaml Probe spec for unlabeled icon buttons
skill-evals/web-design-guidelines/accessibility-violations/icon-button-missing-aria-label/workspace/IconBar.tsx Fixture workspace for aria-label violations
skill-evals/web-design-guidelines/accessibility-violations/icon-button-missing-aria-label/grader.mjs Grader for aria-label findings
skill-evals/web-design-guidelines/accessibility-violations/icon-button-missing-aria-label/checks/smoke.mjs Smoke test runner for the aria-label grader
skill-evals/web-design-guidelines/accessibility-violations/icon-button-missing-aria-label/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/accessibility-violations/icon-button-missing-aria-label/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/accessibility-violations/icon-button-missing-aria-label/smoke/empty/findings.txt Empty smoke fixture (should fail)
skill-evals/web-design-guidelines/forms-violations/spec.yaml Functionality spec for forms probes
skill-evals/web-design-guidelines/forms-violations/input-missing-autocomplete-and-wrong-type/spec.yaml Probe spec for missing autocomplete / wrong type
skill-evals/web-design-guidelines/forms-violations/input-missing-autocomplete-and-wrong-type/workspace/CheckoutForm.tsx Fixture workspace for form attribute violations
skill-evals/web-design-guidelines/forms-violations/input-missing-autocomplete-and-wrong-type/grader.mjs Grader for autocomplete/type findings
skill-evals/web-design-guidelines/forms-violations/input-missing-autocomplete-and-wrong-type/checks/smoke.mjs Smoke test runner for the forms grader
skill-evals/web-design-guidelines/forms-violations/input-missing-autocomplete-and-wrong-type/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/forms-violations/input-missing-autocomplete-and-wrong-type/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/forms-violations/input-missing-autocomplete-and-wrong-type/smoke/empty/findings.txt Empty smoke fixture (should fail)
skill-evals/web-design-guidelines/anti-patterns-deny-list/spec.yaml Functionality spec for deny-list anti-patterns
skill-evals/web-design-guidelines/anti-patterns-deny-list/transition-all-in-css/spec.yaml Probe spec for transition-all anti-pattern
skill-evals/web-design-guidelines/anti-patterns-deny-list/transition-all-in-css/workspace/Button.tsx Fixture workspace containing transition-all
skill-evals/web-design-guidelines/anti-patterns-deny-list/transition-all-in-css/grader.mjs Grader for transition-all findings
skill-evals/web-design-guidelines/anti-patterns-deny-list/transition-all-in-css/checks/smoke.mjs Smoke test runner for transition-all grader
skill-evals/web-design-guidelines/anti-patterns-deny-list/transition-all-in-css/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/anti-patterns-deny-list/transition-all-in-css/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/anti-patterns-deny-list/transition-all-in-css/smoke/empty/findings.txt Empty smoke fixture (should fail)
skill-evals/web-design-guidelines/output-format-discipline/spec.yaml Functionality spec for output-format discipline
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/spec.yaml Probe spec for “group findings by file”
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/workspace/Button.tsx Multi-file grouping fixture: Button
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/workspace/Modal.tsx Multi-file grouping fixture: Modal
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/workspace/UserCard.tsx Multi-file grouping fixture: clean file
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/grader.mjs Structural contiguity grader for grouped output
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/checks/smoke.mjs Smoke test runner for grouped-output grader
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/output-format-discipline/multi-file-grouped-output/smoke/empty/findings.txt Empty smoke fixture (should fail)
skill-evals/web-design-guidelines/clean-file-pass/spec.yaml Functionality spec for clean-file behavior
skill-evals/web-design-guidelines/clean-file-pass/clean-component-passes/spec.yaml Probe spec for “no fabrication / ✓ pass”
skill-evals/web-design-guidelines/clean-file-pass/clean-component-passes/workspace/UserCard.tsx Clean fixture workspace
skill-evals/web-design-guidelines/clean-file-pass/clean-component-passes/grader.mjs Inverse-logic grader to detect fabricated findings
skill-evals/web-design-guidelines/clean-file-pass/clean-component-passes/checks/smoke.mjs Smoke test runner for clean-file grader
skill-evals/web-design-guidelines/clean-file-pass/clean-component-passes/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/clean-file-pass/clean-component-passes/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/clean-file-pass/clean-component-passes/smoke/empty/findings.txt Empty smoke fixture (should pass)
skill-evals/web-design-guidelines/performance-and-images/spec.yaml Functionality spec for performance/images
skill-evals/web-design-guidelines/performance-and-images/img-missing-dimensions/spec.yaml Probe spec for <img> missing width/height
skill-evals/web-design-guidelines/performance-and-images/img-missing-dimensions/workspace/HeroBanner.tsx Fixture workspace for missing image dimensions
skill-evals/web-design-guidelines/performance-and-images/img-missing-dimensions/grader.mjs Grader for missing-dimensions findings
skill-evals/web-design-guidelines/performance-and-images/img-missing-dimensions/checks/smoke.mjs Smoke test runner for image-dimensions grader
skill-evals/web-design-guidelines/performance-and-images/img-missing-dimensions/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/performance-and-images/img-missing-dimensions/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/performance-and-images/img-missing-dimensions/smoke/empty/findings.txt Empty smoke fixture (should fail)
skill-evals/web-design-guidelines/typography-and-copy/spec.yaml Functionality spec for typography/copy
skill-evals/web-design-guidelines/typography-and-copy/straight-quotes-and-ellipsis/spec.yaml Probe spec for straight quotes + ... vs
skill-evals/web-design-guidelines/typography-and-copy/straight-quotes-and-ellipsis/workspace/Hero.tsx Fixture workspace for typography violations
skill-evals/web-design-guidelines/typography-and-copy/straight-quotes-and-ellipsis/grader.mjs Grader for typography findings
skill-evals/web-design-guidelines/typography-and-copy/straight-quotes-and-ellipsis/checks/smoke.mjs Smoke test runner for typography grader
skill-evals/web-design-guidelines/typography-and-copy/straight-quotes-and-ellipsis/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/typography-and-copy/straight-quotes-and-ellipsis/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/typography-and-copy/straight-quotes-and-ellipsis/smoke/empty/findings.txt Empty smoke fixture (should fail)
skill-evals/web-design-guidelines/react-specific-rules/spec.yaml Functionality spec for React/Next-specific rules
skill-evals/web-design-guidelines/react-specific-rules/controlled-input-without-onchange/spec.yaml Probe spec for value-without-onChange
skill-evals/web-design-guidelines/react-specific-rules/controlled-input-without-onchange/workspace/EditProfileForm.tsx Fixture workspace for controlled-input violation
skill-evals/web-design-guidelines/react-specific-rules/controlled-input-without-onchange/grader.mjs Grader for controlled-input findings
skill-evals/web-design-guidelines/react-specific-rules/controlled-input-without-onchange/checks/smoke.mjs Smoke test runner for controlled-input grader
skill-evals/web-design-guidelines/react-specific-rules/controlled-input-without-onchange/smoke/good/findings.txt Positive smoke fixture (should pass)
skill-evals/web-design-guidelines/react-specific-rules/controlled-input-without-onchange/smoke/bad/findings.txt Negative smoke fixture (should fail)
skill-evals/web-design-guidelines/react-specific-rules/controlled-input-without-onchange/smoke/empty/findings.txt Empty smoke fixture (should fail)
docs/skill-optimizer/web-design-guidelines/01-functionality.md Functionality briefing for the upstream skill
docs/skill-optimizer/web-design-guidelines/02-submissions.md Upstream repo/submission analysis
docs/skill-optimizer/web-design-guidelines/03-test-proposals.md Proposed functionality/probe plan
docs/skill-optimizer/web-design-guidelines/05-tests-verdict.md Validator verdict for the probe designs
docs/skill-optimizer/web-design-guidelines/06-bench-summary.md Bench run summary + results
docs/skill-optimizer/web-design-guidelines/07-analysis.md Root-cause analysis of failures
docs/skill-optimizer/web-design-guidelines/08-improvement-proposal.md Proposed skill improvement plan
docs/skill-optimizer/web-design-guidelines/09-validator-verdict.md Validator verdict on the proposed improvement
docs/skill-optimizer/web-design-guidelines/improved-skill/command.md Materialized “improved skill” command.md

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

### Typography

- `…` not `...`
- Curly quotes `"` `"` not straight `"`
Comment on lines +39 to +45
and before the `## Rules` heading — and add a single sentence
explaining WHY this shape (not the default UI-review prose shape)
is required. The rule content is unchanged. The output-format
example is unchanged (one canonical example, kept verbatim). No
frontmatter changes. No MUST/NEVER emphasis added. No new
sibling files. Net line delta: roughly 0 (one section relocated,
one sentence added, the trailing copy of the section removed).
For teammate review before a potential upstream PR to
vercel-labs/web-interface-guidelines. See PR comment for finding
and rationale.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Zhaiyuqing2003 Zhaiyuqing2003 changed the title findings: web-design-guidelines — proposed upstream PR content findings: web-design-guidelines — original + improved skill May 26, 2026
@Zhaiyuqing2003
Zhaiyuqing2003 force-pushed the findings/web-design-guidelines-run branch from 9bde4fd to 6c810f7 Compare May 26, 2026 14:19
@Zhaiyuqing2003

Copy link
Copy Markdown
Author

Finding

Running vercel-labs/web-design-guidelines (the wrapper) which fetches rules from vercel-labs/web-interface-guidelines/command.md, across 24 trials with claude-agent-acp + opus[1m]: 3/24 trials passed. In all 21 failing trials, the agent finds the correct violations (missing aria-label, transition-all, missing <img> dimensions, etc.) but writes them in a verbose prose-audit shape with Setext-style headings and line-range parentheticals:

UI Issues in /work/IconBar.tsx
================================

1. Missing aria-labels on icon-only buttons (lines 23-29, 31-42)
   The Search button and Bell button have no aria-label...

…instead of the terse file:line - issue shape that command.md prescribes.

Root cause

The ## Output Format section in command.md sits at lines 158-180, at the tail of a 175-line rule dump. By the time the agent finishes loading the rules, the format imperative has decayed against the agent's strong training prior for "review UI code" (which is "produce a design-review report"). The format spec exists, but placement makes it lose.

Rationale for the change

Move the ## Output Format section to the top of the file — immediately after the invocation line, before ## Rules. Add one short paragraph naming the failing default shape and the three positive properties of the prescribed shape (file:line is editor-clickable in VS Code / Cursor / Zed, terse scales when reviewing many files, one finding per line is parseable without an LLM in the loop).

Placement is the mechanism: when an instruction must override a strong default, it has to be the first thing the agent loads and reasons over, not the last. Net delta vs original: +7 lines (one new paragraph). Example block preserved verbatim. No frontmatter changes. No MUST/NEVER emphasis added — the WHY paragraph is the mechanism, not stacked imperative.

Diff:

@@ -9,6 +9,37 @@
 
 Read files, check against rules below. Output concise but comprehensive—sacrifice grammar for brevity. High signal-to-noise.
 
+## Output Format
+
+Findings must be emitted in this shape, not as a prose audit. The
+default "design review report" shape (Setext headings, numbered
+bullets, line-range parentheticals) is wrong here: `file:line`
+citations are editor-clickable in VS Code / Cursor / Zed, terse
+lines scale when reviewing many files, and one finding per line
+lets downstream tooling parse output without an LLM in the loop.
+
+Group by file. Use `file:line` format (VS Code clickable). Terse findings.
+
+```text
+## src/Button.tsx
+
+src/Button.tsx:42 - icon button missing aria-label
+src/Button.tsx:18 - input lacks label
+...
+```
+
+State issue + location. Skip explanation unless fix non-obvious. No preamble.
+
 ## Rules
@@ -154,27 +185,3 @@
 - `autoFocus` without clear justification
-
-## Output Format
-... (existing section removed from tail)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants