audit-a-flow-for-dead-ends
Use when reviewing a user journey before release. Walks every screen and branch to find states where the user cannot progress, go back, or recover.
- License 许可
- MIT
- 最近更新
- 2026-11-14
- Stars
- ★ 81
- Forks
- 17
01 前言 Front Matter
- name
- audit-a-flow-for-dead-ends
- description
- Use when reviewing a user journey before release. Walks every screen and branch to find states where the user cannot progress, go back, or recover.
02 资源文件 3
- 许可证LICENSE1.0 KB
- 参考文档SOURCE.md352 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
Audit a flow for dead ends
A dead end is a screen where the user is stuck with no way forward or back. This skill walks the flow branch by branch and names every one before users hit it.
Procedure
-
Draw the flow as a directed graph in
flow.md: nodes are screens, edges are actions, and every branch is a labelled edge. -
Enumerate the terminal nodes and confirm each is an intended end (success, confirmation), not an accident.
-
For each node list the exits: primary action, back/cancel, and any escape (close, sign out). A node with only a forward action and no back is a trap.
-
Check failure edges: for every action that can fail, is there an edge to a state where the user can retry or leave? A failed action that lands on a spinner is a dead end.
-
Walk the graph looking for cycles with no exit: a validation loop that rejects every input, an auth redirect that bounces back to itself.
-
Test deep links and refresh: landing mid-flow via URL or reloading should not strand the user with no history; check that session state restores.
-
Mark each dead end with the node id and the missing exit, then specify the fix (a link, a retry, a cancel).
-
Re-walk the patched graph and confirm every non-terminal node has at least one exit.
-
Test each branch with the slowest and the failing backend, since most dead ends appear only under failure.
-
Check the flow at the smallest supported viewport, where dismiss controls often fall off-screen.
-
Walk the flow as a brand-new user with no history and as a returning user with partial state.
Pitfalls
-
Testing only the happy path, which by construction has no dead ends.
-
A "Back" that returns to a stale screen rather than the previous step.
-
Modal dialogs with no dismiss affordance on small screens or after an error.
-
Sign-in walls that drop the user's in-progress state on return.
-
A timeout screen with no way to resume where the session was lost.
-
Reviewing the graph on paper and never clicking the real build, which hides rendering-level traps.
-
Assuming a browser back button exists; in-app flows often replace history rather than push.
-
A dead end that only appears after a successful action, which the happy-path test never reaches.
Verification
grep -c -- '->' flow.md; grep -cE 'dead end|missing exit' flow.md
Report every dead-end node with its missing exit and any node that has no back edge.
04 同仓库更多 Skills
recipe-performance
Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold/warm/background-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout/paint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.
mexc-spot-websocket
MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.
mexc-spot-rest
MEXC Spot REST workflows for public data, signed account requests, orders, wallet/admin actions, and secure signing without exposing API keys.
mexc-futures-websocket
MEXC Futures WebSocket workflows for public streams, private account/order/position streams, ping/pong, subscriptions, and depth maintenance.
0xklen-version-and-refresh-sanctions-lists
暂无简介
verify-tests-cover-changed-lines
Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.