analyze-ui
Analyze the user interface of an existing system: every screen with what it asks for (inputs, validation), what it shows (outputs, messages), what it lets a…
Skill by Ryuking1228
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ryuking1228-analyze-ui
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/analyze-ui
What's inside
- Skill name
analyze-ui- Description
- Analyze the user interface of an existing system: every screen with what it asks for (inputs, validation), what it shows (outputs, messages), what it lets a user do (actions, transitions) and who may see it; the UI components; the features and user tasks the screens expose; business logic embedded in the view layer; and the design tokens the UI actually uses. /architect:analyze-ui [target_path] [--ui-root=<path>] [--auto] to invoke. Optional phase after investigate and before analyze; skipped when the system has no UI layer.
- License
- MIT
- Instructions
- 442 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Existing UI Analysis
## Desired Outcome
A complete, source-cited model of the existing UI, and four views of it:
1. **UI inventory** — `ui-inventory.json`: every screen (`UIS-`), component (`UIC-`), feature
(`UIF-`) and task, in the shape of @rules/ui-analysis.md §3. The canonical model; the views are
projections of it.
2. **Design tokens** — `ui-design-tokens.json`: the colors, type, spacing, radius, borders and
shadows the UI uses, as W3C DTCG with provenance and clusters, ready for
`/product:design-system --import`.
3. **Screen catalog** — per screen, its INPUT (fields, controls, validation and where it runs),
OUTPUT (displayed data, tables, messages), actions and where they land, access, and the code
behind it; the transition diagram; the business logic found in the view layer.
4. **Features** — the capabilities the screens expose, the tasks users walk to use them, who uses
them and what they touch.
5. **Components** — the reusable UI parts, their variants and states, where they are used, and
where the same element was rebuilt by hand.
6. **Design-system extract** — the as-is visual language, its fragmentation, and the semantic token
candidates for a consolidated design system.
## Decision Criteria
- **Read the route map before the templates.** Routes decide which templates are screens
(@rules/ui-analysis.md §1–2). A template reachable by URL is a screen even when nothing links to
it — that is how an orphan becomes visible; a template that is neither a screen, a component nor
included anywhere goes to `coverage.unresolved`.
- **Every screen, no sampling.** Three hundred screens yield three hundred entries, extracted in
batches (§8 of the rule). Coverage is reported, never implied.
- **Record what the code does, not what it should do.** A rule enforced only by a script is
`where: client`; a role check that exists only in a JSP is a `view` guard; a discount computed in a
scriptlet is embedded logic. These are findings, and the inventory is where they are first
visible.
- **Cite everything.** Every input, validation, action, message, guard, image, color pair and token
carries a `source` into the target code.
- **Use the ui-to-domain vocabulary** — form fields → attributes, user action → a verb-first
Command, action result → state or event (@rules/product/ui-to-domain.md) — so the as-is inventory
and any to-be mock can be compared field by field.
- **Keep the fragmentation.** Near-identical values are separate raw tokens grouped by `cluster`;
merging them here would erase the finding (@rules/ui-analysis.md §5).
## Prerequisites
| Input | Required/Recommended | Source | If missing |
|-------|---------------------|--------|------------|
| target_path (argument) | Required | User, or `target_path` in `work/pipeline-progress.json` | Ask for it; stop if it is not a directory |
| `reports/before/{project}/technology-stack.md`, `codebase-structure.md` | Recommended | `/architect:investigate` (it precedes this phase in a pipeline run) | Detect the UI technology from build files and extensions yourself (Step 2) |
| `reports/before/{project}/ui-inventory.json` | Optional | A previous run of this skill | First run: ids start at 001 |
| `work/traceability.json` | Optional | Any earlier skill | Created as `{ "schema_version": 1, "nodes": [] }` |
| `work/context.md` § Open Questions | Optional | All skills | Created on first entry |
`{project}` is `project_name` in `work/pipeline-progress.json` (fallback: the target directory's
base name) — the directory `/architect:investigate` writes to.
## Invocation
```
/architect:analyze-ui [target_path] [--ui-root=<path>] [--auto]
```
| Argument/Flag | Required | Description |
|---------------|----------|-------------|
| `target_path` | Optional | The codebase to analyze; defaults to `target_path` in `work/pipeline-progress.json` |
| `--ui-root=<path>` | Optional | A UI source root, relative to `target_path` or absolute. Repeatable. Use when the UI lives outside the detected roots (a separate frontend repository, a second web module) |
| `--auto` | Optional | Ask nothing: every unresolved route, target, guard or behaviour question becomes an `unasked` Open Question (@rules/open-questions.md §5). `/architect:pipeline` invokes it this way |
## Available Resources
- **Serena MCP** — activate the target first (`activate_project` with `target_path`), then
`find_symbol` / `find_referencing_symbols` for handler → service → entity and for where a request
parameter is validated server-side. Without Serena, Grep and Read do the same on a small codebase.
- **Glob/Grep/Read** — templates, routes, includes, resource bundles, style and script files
- **Task (general-purpose)** — batched per-screen extraction (Step 4)
- `tools/lib/ui_inventory.py` — validates the inventory (Step 8)
- `tools/lib/ui_metrics.py` — the navigation, task and consistency figures (Step 9)
- `tools/lib/ui_views.py` — renders the four views from the inventory (Step 9)
## Execution
Write each step's output as soon as the step completes. Intermediate results go under
`work/ui-analysis/`, so an interrupted run resumes from the last completed step.
### Step 0: Register the phase
Stamp `analyze-ui` in `work/pipeline-progress.json` as `in_progress` with `"plugin": "architect"`
and `started_at`, per @skills/common/progress-registry.md — before reading anything else.
### Step 1: Resolve the scope
1. Resolve `target_path`, `{project}` and the UI roots (`--ui-root`, else detected in Step 2).
2. Read the investigate reports if they exist — the Presentation Layer section of the technology
stack names the UI framework and roots.
3. Load the previous inventory, if any, for id stability (@rules/ui-analysis.md §7), and read
`work/traceability.json` for the highest existing `UIS-` / `UIC-` / `UIF-` numbers.
4. Load the Open Questions store and pick up any `deferred` / `unasked` entry about the UI
(@rules/open-questions.md §7).
**No UI layer** — no templates, no SPA, no server-rendered views (a pure API or batch system): write
nothing, stamp the phase `skipped` with `summary: "no UI layer found"`, and stop.
### Step 2: Detect the technology
Apply the detection table of @rules/ui-analysis.md §2: build files and dependencies first, then
file extensions. Record each technology with the file that proves it. Identify **vendored**
third-party assets (`js/lib/`, `webjars/`, `node_modules/`, a UI framework's `*.min.css`) and build
output (`build/`, `target/`, `out/`, compiled `*_jsp.java`) so the later steps exclude them. Write `work/ui-analysis/technologies.json`.
### Step 3: Build the route map and the screen list
Read every route source the technology has (`web.xml`, `@WebServlet`, `struts-config.xml`,
`@RequestMapping`, router configuration) and follow each route through its handler: to the template
it renders, and to where its success path redirects or forwards.
- A route that renders a template is a **screen** (@rules/ui-analysis.md §1) — including a landing
page with nothing to do on it. A template reachable by URL without a route (a JSP outside
`WEB-INF`) is a screen too.
- A route that only redirects (`/logout` → `/login`) is a **non-screen route**: recorded so actions
through it can be followed to the screen they land on.From Ryuking1228/ai-dev-codex-version, MIT.
More from Ryuking1228/ai-dev-codex-version
- 0.560score
deliver-backlog
Ryuking1228
Orchestrate the implementation skill group over a backlog: drive each Issue under an Epic through implement → review → (human approval) → merge, in order…
SkillAFreshness: AClaude Code +9 - 0.560score
capture-followup
Ryuking1228
Capture follow-up work discovered during backlog delivery — deferred tasks, out-of-scope findings, doc drift, split-off scope, waived acceptance criteria —…
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-new-app
Ryuking1228
Build a new React, FastAPI, and PostgreSQL application end to end.
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-backlog-delivery
Ryuking1228
Implement and review an approved AI Dev Loop backlog through pull request creation and explicit merge gates.
SkillAFreshness: AClaude Code +9 - 0.557score
app-start
Ryuking1228
Build a new full-stack app with Codex, React, FastAPI and PostgreSQL; implement features, run locally, verify with automated tests, prepare deployment and…
SkillAFreshness: AClaude Code +9 - 0.556score
ai-dev-loop-architecture
Ryuking1228
Investigate and design an existing or greenfield system.
SkillAFreshness: AClaude Code +9 - 0.556score
ai-dev-loop-product-design
Ryuking1228
Turn a product idea into validated product direction and requirements.
SkillAFreshness: AClaude Code +9 - 0.520score
define-requirements
Ryuking1228
Define system requirements through document intake and interactive elicitation.
SkillBFreshness: BClaude Code +9 - 0.520score
design-api
Ryuking1228
Generate REST/GraphQL/gRPC/AsyncAPI specifications as the project's single, verifiable API contract — named schemas, every status code declared, RFC 9457…
SkillBFreshness: BClaude Code +9 - 0.517score
design-data-layer
Ryuking1228
Generic database design for non-ScalarDB projects.
SkillBFreshness: BClaude Code +9 - 0.517score
analyze
Ryuking1228
Extract ubiquitous language, actor-role-permission matrix, and domain-code mapping.
SkillBFreshness: BClaude Code +9 - 0.517score
create-domain-story
Ryuking1228
Create domain stories using Domain Storytelling technique to visualize business processes.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 29, 2026 (29 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Ryuking1228
- 0.560score
capture-followup
Ryuking1228
Capture follow-up work discovered during backlog delivery — deferred tasks, out-of-scope findings, doc drift, split-off scope, waived acceptance criteria —…
SkillAFreshness: AClaude Code +9 - 0.560score
deliver-backlog
Ryuking1228
Orchestrate the implementation skill group over a backlog: drive each Issue under an Epic through implement → review → (human approval) → merge, in order…
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-new-app
Ryuking1228
Build a new React, FastAPI, and PostgreSQL application end to end.
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-backlog-delivery
Ryuking1228
Implement and review an approved AI Dev Loop backlog through pull request creation and explicit merge gates.
SkillAFreshness: AClaude Code +9 - 0.557score
app-start
Ryuking1228
Build a new full-stack app with Codex, React, FastAPI and PostgreSQL; implement features, run locally, verify with automated tests, prepare deployment and…
SkillAFreshness: AClaude Code +9 - 0.556score
ai-dev-loop-architecture
Ryuking1228
Investigate and design an existing or greenfield system.
SkillAFreshness: AClaude Code +9
Cite this page
analyze-ui skill. Agent Mart. https://agentmart.dev/skills/ryuking1228-analyze-ui (last updated 2026-10-24)