goms-klm-analysis
About
This skill performs GOMS and Keystroke-Level Model (KLM) analysis to model and evaluate UI workflows by decomposing them into goals, operators, and methods. It's used to compare task flows, count interaction costs like clicks and keystrokes, and estimate expert execution time for redesigning interfaces. Developers should apply it for analyzing repeatable, procedural tasks to optimize performance and reduce cognitive load.
Quick Install
Claude Code
Recommendednpx skills add raintree-technology/claude-starter -a claude-code/plugin add https://github.com/raintree-technology/claude-startergit clone https://github.com/raintree-technology/claude-starter.git ~/.claude/skills/goms-klm-analysisCopy and paste this command in Claude Code to install this skill
Documentation
GOMS / KLM Analysis
Use this skill when the useful artifact is an explicit workflow model. It is best for repeatable tasks with known steps, such as dashboard triage, form submission, search/refine/open flows, command palettes, editor workflows, and mobile settings tasks.
Choose The Model
- Use KLM when the task is procedural and the user already knows what to do. It estimates expert, error-free execution time.
- Use GOMS when there are meaningful alternatives, decision rules, or multiple methods to achieve the same goal.
- Use a lightweight cognitive walkthrough when the risk is discoverability, comprehension, or first-time use rather than speed.
KLM Operators
Start with these operator families and adjust for the product context:
K: keystroke, tap, click, button press, or discrete command.P: point to or visually acquire a target.M: mental preparation before a chunk of action.H: hand movement between input devices or postures.R: system response wait time.V: visual verification or reading needed to continue.
Do not overfit exact timings. Count removed operators and wait states first; add timings only when comparison needs a rough total.
Workflow
- Name the task and user expertise level.
- Capture the current method as numbered user actions.
- Mark operators for each action.
- Insert mental operators before decisions, strategy shifts, mode changes, or non-obvious commands.
- Insert response waits only when the UI blocks the next action.
- Build the proposed method with the same operator rules.
- Compare operator counts, waits, and error-prone transitions.
- Recommend the smallest UI changes that remove operators or make the selected method obvious.
Selection Rules
For GOMS, make selection rules explicit:
- If the user knows the exact item name, use search.
- If the item is recent or spatially stable, use recents or pinned navigation.
- If the task requires comparison, use a list/table with persistent controls.
- If the task is destructive, use a slower method only when it reduces error risk.
Bad selection rules reveal design problems. If the rules depend on hidden knowledge, redesign the flow instead of documenting the rule.
Output
For a single flow:
Task:
User:
Current method:
Operator model:
Findings:
Recommendations:
For alternatives:
Option A:
- Operators:
- Waits:
- Error-prone transitions:
Option B:
- Operators:
- Waits:
- Error-prone transitions:
Decision:
Guardrails
- KLM models skilled, error-free performance; do not use it as the only lens for onboarding, accessibility, or confusing flows.
- Do not count implementation steps. Count user-observable operations.
- Keep safety and confidence in the model. A slower confirmation can be correct for irreversible actions.
- If the design is for an Apple platform, pair this skill with Apple HIG guidance for platform conventions.
GitHub Repository
Related Skills
executing-plans
DesignUse the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
requesting-code-review
DesignThis skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.
connect-mcp-server
DesignThis skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.
web-cli-teleport
DesignThis skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.
