본문으로 건너뛰기
cccskills
무료GitHub에 공개

design-conformance

Use when your context carries "The approved design this task builds" - comparing the running UI with the approved hand-off and mockup at each width and state, evidence screenshots attached to the task, Blocker/High/Medium/Nitpick findings and which of them fail the round

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md6.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Design Conformance

Overview

A task built from an approved design is tested against that design too. A human approved it before any code was written, and its hand-off spec is the contract the developer built to — an oracle like the acceptance criteria and the analysis spec. You read the design documents, never the code (black-box-testing), and compare what the running product shows with what they say.

Core principle: The approved design is the expected result. Same widths, same states, side by side — every finding cites the hand-off line or the mockup frame it contradicts, and the screenshot that shows it.

Inputs

  • The hand-off spec — handoff: <screen>, first under "## The approved design this task builds": the components, the tokens, every state, the breakpoints, the exact copy. Its header names the chosen mockup, design: <screen> · <letter>; the other variant documents were not chosen — never test against them.
  • The chosen mockup — its text rendition follows the hand-off in your context. To see a frame's look, render it under $QA, never the workspace: list_task_documents <design key> with raw: true (follow next_offset to the end), write it with a quoted heredoc (mkdir -p "$QA/design"; cat > "$QA/design/<slug>.html" <<'TT_HTML' … TT_HTML), serve it on loopback (nohup python3 -u -m http.server 0 --bind 127.0.0.1 --directory "$QA/design" > "$QA/design.log" 2>&1 & echo $! > "$QA/design.pid", the port is in the log), browser_navigate there and screenshot the frame you compare. Stop it by its PID (stop-what-you-started).
  • The task's scope — where the task description and the design disagree, the description is the narrower scope and wins for this task; a part of the design outside it is not a finding.

Cases

Add them to the matrix before you boot anything (scenario-plan-first): category visual, title prefix design: (design: invoices empty 375 -> matches #a-375-empty), linked to the criterion that names the state or the copy when there is one — the designer's hand-off criteria usually do. One case per state the hand-off lists, per width:

  • Web: 1440 (browser_set_viewport {device:"desktop"}), 768 ({device:"tablet"}), 375 ({device:"mobile", width:375}) — the design's widths. The four-width overflow check (360 · 768 · 1024 · 1440, ui-visual-evidence) still runs on its own.
  • Mobile: the phone frames on the device — portrait, and landscape where the hand-off draws it — and the tablet frames when the device or simulator is a tablet. A width you cannot reach is skipped with the reason, never assumed to match.
  • States: default, loading, empty, error, success, dark, the longest content — each one the hand-off lists, reached from the outside: an empty search, a filter with no result, an invalid submit, a failing dependency (frontend-manual-testing's route recipe). A state you cannot reach is skipped, "not reachable from outside: <why>".

Compare, in this order

  1. Layout and hierarchy — the regions, their order, what comes first, the one primary action.
  2. Copy — every string verbatim against the hand-off's Copy table; a paraphrase is a deviation.
  3. Components — the one the hand-off names, in its variant (browser_read_dom / mobile_read_ui shows its role and label).
  4. Tokens — colour, type size, spacing, radius as the design system holds them (get_design_system); browser_read_dom with as_text: false shows the classes and styles an element carries. A colour the design system does not hold is a deviation.
  5. States — every listed state present, and drawn as designed.
  6. Responsive behaviour — per breakpoint the hand-off lists.
  7. Visible accessibility it names — labels, focus ring, status never colour alone, touch targets.

Evidence

Every comparison shot of the running UI goes on the task, where the human sees it: browser_screenshot (full_page: true, no width after browser_set_viewport) or mobile_screenshot, with attach_to_task: true and title: "<screen>-<state>-<width>" (invoices-empty-375). Cite it by that title in the case's evidence and the criterion note, with the URL, the viewport report and what it showed — a title, never a path.

Severity — what fails the round

SeverityMeansExampleVerdict
Blockerthe screen fails the approved design on a core paththe primary action missing at 375; the layout breaks at 768; body text fails contrastcase failed, criterion rejected, need_revision
Higha deviation users will notice, or a design-system violationthe wrong component; an off-token colour; a missing empty state; key copy wrongcase failed, criterion rejected, need_revision
Mediumnoticeable, minorspacing one step off; secondary copy paraphrased; alignmentcase passed, the deviation in its notes and the criterion note
Nitpickpolishicon optical alignment; a 1px border differencesame as Medium

A Blocker or High fails the round like any other failure (bug-report-writing, qa-fail-to-need-revision): the case failed with actual = what the screen shows, the criterion it breaks rejected with expected (the hand-off line, or the frame id such as #a-375-empty) vs actual and the screenshot title, and one line in the numbered need_revision index — 3. [AC4 · case "design: invoices empty 375"] empty state has no "New invoice" action — High. A failed design case with no criterion to reject still fails the round. Medium and Nitpick never fail the task: they are notes, like any polish beyond the floor.

Write each finding as a problem, not a prescription: what the design says, what the screen shows, where (URL + width + region) — never "change the class".

Red Flags

  • Testing against a variant document that was not chosen.
  • A design: case passed with no attached screenshot at that width.
  • A finding taken from the diff or the source instead of the running screen.
  • Taste the approved design does not state, reported as a finding.
  • Every deviation a Blocker — or none above Nitpick on a screen that visibly differs.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use when the repository keeps its alerting in code, or a person asks for alerts outside TaskTrooper - PrometheusRule YAML, a Cloud Monitoring alert policy in Terraform, a Datadog monitor, each routed to TaskTrooper's alert ingest URL so it opens an incident here

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

makifbaysal의 스킬 모두 보기

이 스킬의 문제 신고