Guides
Comparison results: recipe-list
All nine recipe-list builds from the 2026-10-15 cohort follow unchanged: three arms, three runs each. These checks grade the resulting apps, not operational safety, complete accessibility or physical-device VoiceOver behavior. Read the overview's protocol notes and limits before comparing scores.
Every run and check
recipe-list, shadcn/ui, run 1: 100/100
- recipe-list
- Arm: shadcn
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/shadcn/recipe-list/1/score/screenshots.
recipe-list, shadcn/ui, run 2: 85.71/100
- recipe-list
- Arm: shadcn
- Score: 85.71
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 35.71/50
- behavior swipe-reveals-actions: swiping left reveals Delete (-7.14)
- behavior swipe-delete: swiping left reveals Delete (-7.14)
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- **fail**
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- **fail**
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/shadcn/recipe-list/2/score/screenshots.
recipe-list, shadcn/ui, run 3: 100/100
- recipe-list
- Arm: shadcn
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/shadcn/recipe-list/3/score/screenshots.
recipe-list, shadcn/ui with its skill, run 1: 100/100
- recipe-list
- Arm: shadcn-skill
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/shadcn-skill/recipe-list/1/score/screenshots.
recipe-list, shadcn/ui with its skill, run 2: 100/100
- recipe-list
- Arm: shadcn-skill
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/shadcn-skill/recipe-list/2/score/screenshots.
recipe-list, shadcn/ui with its skill, run 3: 100/100
- recipe-list
- Arm: shadcn-skill
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/shadcn-skill/recipe-list/3/score/screenshots.
recipe-list, Ouro HX, run 1: 100/100
- recipe-list
- Arm: ouro
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/ouro/recipe-list/1/score/screenshots.
recipe-list, Ouro HX, run 2: 100/100
- recipe-list
- Arm: ouro
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/ouro/recipe-list/2/score/screenshots.
recipe-list, Ouro HX, run 3: 100/100
- recipe-list
- Arm: ouro
- Score: 100
- Typecheck: 20/20
- Lint: 10/10
- Axe: 20/20
- 50/50
Every check passed.
Problems the app had before the agent ran, which cost nothing: 0 type errors, 0 lint errors. axe-core's best-practice findings, which cost nothing: region in actions-menu-open.
- The first page shows the first 10 recipes with their time and servings
- Acceptance items: 1
- Viewport: desktop
- pass
- Pagination marks the current page, moves between pages, and disables Previous and Next at the ends
- Acceptance items: 2
- Viewport: desktop
- pass
- Swiping a row left reveals Archive and Delete, and swiping back hides them
- Acceptance items: 3
- Viewport: phone
- pass
- Tapping the revealed Delete deletes the recipe, removes the row and announces it
- Acceptance items: 3, 5
- Viewport: phone
- pass
- "Actions for <title>" opens a menu by keyboard whose Archive archives the recipe and announces it
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- The actions menu works with the keyboard alone: arrow to Delete, press Enter
- Acceptance items: 4, 5
- Viewport: desktop
- pass
- At 390px wide the page does not scroll sideways
- Acceptance items: 6
- Viewport: phone
- pass
- 390px light
- Result: pass
- 390px dark
- Result: pass
- 1280px light
- Result: pass
- 1280px dark
- Result: pass
Screenshots, as evidence only: 8 in scripts/agent-usability/runs/2026-10-15/ouro/recipe-list/3/score/screenshots.