- name
- admin-ui-prototype
- description
- Query project-specific Arco Design usage patterns and generate Vue 3 admin page prototypes with mock data, scaffold files, and route snippets. Use when Codex needs to answer how a component is used in this admin UI, draft a list/form/detail/dashboard/empty-state page, or bootstrap/update a minimal
webui/admin-uipreview project.
Admin UI Prototype
Use this skill for two tasks:
- Look up how Arco Design components are used in this admin UI.
- Generate a runnable Vue 3 admin page prototype with realistic mock data.
Load only what is needed
- Read
knowledge/components/README.mdfirst to locate component docs. - Read only the component docs needed for the request.
- Read
knowledge/ui-conventions.mdfor page structure, naming, and styling rules. - Read
knowledge/page-templates.mdfor ready-made page and route templates. - Read
knowledge/scaffold.mdonly whenwebui/admin-uineeds to be initialized.
Answer component-usage questions
- Read
knowledge/components/README.md. - Open the matching component docs under
knowledge/components/. - Open
knowledge/ui-conventions.mdif layout or page-level context matters. - Answer with project conventions and concrete patterns from the bundled docs, not generic framework advice.
- If a new pattern is discovered from real project code, append it to the relevant component doc and update the component index when a new component is added. Never store secrets.
Generate a page prototype
- Parse the request into:
- page type - business entity - fields to show or edit - filters and table actions - special interactions such as batch actions, tabs, charts, or nested forms
- If missing details would materially change the layout or data model, ask a short clarifying question. Otherwise make reasonable assumptions.
- Read
knowledge/ui-conventions.md. - Read
knowledge/page-templates.md. - Read only the component docs required for the page type:
| Page type | Required docs |
|---|---|
| List | table.md, form.md, button.md, modal.md, tag.md, space.md, grid.md |
| Form | form.md, input.md, select.md, date-picker.md, checkbox.md, radio.md, divider.md |
| Detail | descriptions.md, card.md, tag.md, button.md |
| Dashboard | statistic.md, card.md, grid.md |
| Modal form | modal.md, form.md, input.md, select.md, spin.md, feedback-api.md |
Initialize or update the preview project
- If
webui/admin-ui/package.jsondoes not exist:
- follow knowledge/scaffold.md - create the scaffold files under webui/admin-ui - replace {{pageTitle}}, {{viewImportPath}}, and {{ViewComponent}} - run pnpm install in webui/admin-ui
- If the preview project already exists:
- update webui/admin-ui/src/App.vue - update webui/admin-ui/index.html
Output requirements
- Create the main page at
webui/admin-ui/src/views/{kebab-case-module}/index.vue. - Create child components under
webui/admin-ui/src/views/{kebab-case-module}/components/when the page benefits from splitting dialogs or sections. - Provide the route snippet from
knowledge/page-templates.md. - Keep the output runnable with mock data unless the user explicitly asks for API wiring only.
Generation rules
- Use
<script setup lang="ts">. - Include runnable mock data with at least 5 records when the page type needs a dataset.
- Wrap mock loading in
mockFetchwith a 300 ms timeout for list-like data flows. - Add
// TODO: 替换为真实 API 调用at each mock or placeholder API call. - Use Arco Design Vue components for interaction controls.
- Use CSS variables such as
var(--color-*)instead of hard-coded colors. - Use scoped LESS styles.
- Use snake_case in DTO fields to stay aligned with backend APIs, and camelCase for frontend variables.
- Keep UI copy in Chinese unless the user asks for another language.
- Default the page file to
src/views/{kebab-case-module}/index.vue.
Final response
- List the generated files.
- Mention whether the scaffold was created or reused.
- Include the route registration snippet.
- Call out the remaining
// TODOplaceholders. - Start
pnpm devand share the local URL only when the user asks for a preview or when local validation is required.