Agent skill · Frontend

flow-walkthrough

Verify UI *workflow* correctness that a task list, code review, and static screenshots miss. Drives end-to-end user flows in the Simulator via XCUITest with per-step screenshots, statically audits the navigation graph for dead-ends and missing edit paths, and emits a human discoverability checklist. Use after building any phase/slice that adds or changes UI, or when a user reports "I could only figure out the flow by running it.

rshankrasgithub.com/rshankrasGitHub ↗
claude-codecan modify filesMIT
Install
npx skills add rshankras/claude-code-apple-skills --skill flow-walkthrough --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 9 KB
Bundled scripts: none
Allowed tools: ReadWriteEditBashGlobGrep
Path: skills/testing/flow-walkthrough/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 589
Language: Swift

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Flow Walkthrough Skill Task lists, compilers, and code review verify that *screens exist and compile*. They are structurally blind to whether the **flow between screens actually works for a human with a goal** — the transitions, the return paths, the dead-ends, the discoverability. This skill closes that gap. ## Why this exists (the three failure classes) Real UX bugs fail at three different layers, and **no single mechanism catches all three** — so this skill uses three: | Failure class | Example | Caught by | |---|---|---| | **Dead-end / missing path** | A saved record can only be *viewed*, never reopened to edit; `Done` calls `popToRoot()` and orphans an in-progress entity | **Layer 1** — static nav-graph audit (no build) | | **Reachability regression** | "Run round" no longer reaches the capture screen after a refactor; a `Done` lands on the wrong screen | **Layer 2** — automated flow driving (XCUITest) | | **Discoverability** | "How do I even select a contestant?" — the only affordance is a bare row tap | **Layer 3** — human checklist (a UI test taps the row and *passes*) | > The trap: a UI test happily taps a hidden control and reports PASS. Automation proves a path *works*

What's inside
Steps it walks through
  1. Why this exists (the three failure classes)
  2. Input: the <flows> from PLAN.md
  3. The method
  4. Layer 1 — Static navigation-graph audit (no build required)
  5. Layer 2 — Automated flow driving (XCUITest + per-step screenshots)
  6. Layer 3 — Human discoverability pass (the irreducible residue)
  7. Output: .planning/WALKTHROUGH.md
  8. Honest limits
  9. Cadence & integration
Commands it runs
xcodebuild test -project <App>.xcodeproj -scheme <App> \
xcrun xcresulttool export attachments \
More from claude-code-apple-skills
All skills →
About this skill
What does the flow-walkthrough skill do?

Verify UI *workflow* correctness that a task list, code review, and static screenshots miss. Drives end-to-end user flows in the Simulator via XCUITest with per-step screenshots, statically audits the navigation graph for dead-ends and missing edit paths, and emits a human discoverability checklist. Use after building any phase/slice that adds or changes UI, or when a user reports "I could only figure out the flow by running it.

How do I install it?

Run `npx skills add rshankras/claude-code-apple-skills --skill flow-walkthrough --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From rshankras/claude-code-apple-skills, a repository with 589 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going