Jeecg Codegen New
jeecgboot/skills
A skill your agent uses when user asks to generate JeecgBoot CRUD code, create a new module, add/modify fields on existing module, or says "代码生成", "生成代码", "创建模块", "新增功能", "建表", "加字段", "加一个字段"…
A skill your agent uses when: generating Vue 3 page code from either a page-spec JSON or a natural language description.
$ npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ChenyCHENYU/Robot_Admin page-codegen --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ChenyCHENYU/Robot_Admin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/page-codegen .claude/skills/page-codegen && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "page-codegen" agent skill from https://github.com/ChenyCHENYU/Robot_Admin/tree/main/.github/skills/page-codegen into .claude/skills/page-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-codegen", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ChenyCHENYU/Robot_Admin/tree/main/.github/skills/page-codegenType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ChenyCHENYU/Robot_Admin page-codegen --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChenyCHENYU/Robot_Admin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/page-codegen .agents/skills/page-codegen && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "page-codegen" agent skill from https://github.com/ChenyCHENYU/Robot_Admin/tree/main/.github/skills/page-codegen into .agents/skills/page-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-codegen", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ChenyCHENYU/Robot_Admin page-codegen --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChenyCHENYU/Robot_Admin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/page-codegen .cursor/skills/page-codegen && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "page-codegen" agent skill from https://github.com/ChenyCHENYU/Robot_Admin/tree/main/.github/skills/page-codegen into .cursor/skills/page-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-codegen", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ChenyCHENYU/Robot_Admin.git --path .github/skills/page-codegen--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ChenyCHENYU/Robot_Admin page-codegen --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChenyCHENYU/Robot_Admin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/page-codegen .gemini/skills/page-codegen && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "page-codegen" agent skill from https://github.com/ChenyCHENYU/Robot_Admin/tree/main/.github/skills/page-codegen into .gemini/skills/page-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-codegen", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ChenyCHENYU/Robot_Admin page-codegenInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ChenyCHENYU/Robot_Admin.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/page-codegen .github/skills/page-codegen && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "page-codegen" agent skill from https://github.com/ChenyCHENYU/Robot_Admin/tree/main/.github/skills/page-codegen into .github/skills/page-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-codegen", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ChenyCHENYU/Robot_Admin page-codegen --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChenyCHENYU/Robot_Admin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/page-codegen .opencode/skills/page-codegen && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "page-codegen" agent skill from https://github.com/ChenyCHENYU/Robot_Admin/tree/main/.github/skills/page-codegen into .opencode/skills/page-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "page-codegen", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
page-codegenA skill your agent uses when: generating Vue 3 page code from either a page-spec JSON or a natural language description.
Page Codegen is an agent skill from ChenyCHENYU/Robot_Admin. Use when: generating Vue 3 page code from either a page-spec JSON or a natural language description. Outputs index.vue + data.ts + index.scss following Robot Admin conventions. Triggers on: page generation, code generation, 生成页面, 代码生成, vue页面, codegen, 页面骨架, scaffold, 建个页面, 写个页面, 帮我做个页面, 口述需求, natural language page request.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Project scaffolding and CSS and styling. It works with Vue.js. The repository describes itself as: 一款专为开发者省时间、提效率的现代化中后台模板,跳过低质造轮子,上手即开工!Vue 3 + TS + Naive UI,更有 Bun+Vite 双引擎,性能直接拉满💥 毫秒级热更新不卡顿,开发丝滑,您试试!还有49 个成熟组件,演示页+文档双重完善,无残缺、无坑点,复制即用无需额外调试;配套 8 个 @robot-admin…. The licence is MIT.
Read from SKILL.md and the folder at commit d9770ea. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are vue, typescript, json and scss).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Page Codegen loads about 3.5k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 264 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ChenyCHENYU/Robot_Admin at commit d9770ea, republished under its MIT licence (© ChenyCHENYU). 264 words, ~3,527 tokens.
.claude/skills/page-codegen/SKILL.md (or your agent's skills folder).根据 page-spec JSON(来自 prototype-scan / api-contract)自动生成完整的 Vue 3 页面代码, 严格遵循 Robot Admin 项目编码规范。
| 模式 | 输入 | 何时使用 |
|---|---|---|
| 模式 0(自然语言) | 用户口述页面需求,无 JSON 文件 | 日常对话直接提需求时 |
| 模式 1(JSON 输入) | 来自 prototype-scan 的 page-spec JSON | 有原型/详设文档时 |
index.vue + data.ts + index.scss(三件套)layouts/ 目录(多布局变体)、composables(复杂业务逻辑)用户口述需求时,AI 先在内部完成以下推导,不必向用户索要 JSON,直接进入生成流程。
① 提取页面基础信息
从用户描述中识别:
② 关键词 → 交互模式映射
| 用户描述中出现的关键词 | 映射模式 |
|---|---|
| 列表、查询、搜索 + 表格 | LIST |
| 左侧树 + 右侧表格 | TREE_LIST |
| 主表 + 明细 / 上下两个表格 | MASTER_DETAIL |
| 独立表单页 / 多 Tab 表单 / 步骤表单 | FORM_PAGE |
| 弹窗表单 / 新增编辑弹窗 | LIST(含 FORM_MODAL) |
| 详情页 + 子表 Tab | DETAIL_TABS |
| 统计 / 大屏 / 图表 | DASHBOARD |
③ 字段推导
STATUS_TAG_CONFIG,固定右侧列id、createTime、status④ 内部生成 page-spec 骨架(仅用于后续步骤,不输出给用户)
{
"pageName": "推断的页面名",
"domain": "推断的模块路径",
"resource": "推断的资源名",
"mode": "推断的交互模式",
"columns": [],
"form": [],
"query": [],
"toolbar": [],
"operations": []
}⑤ 不确定时的处理原则
LIST(最常见)input 类型占位,代码注释标注 // TODO: 请确认字段类型/<domain>/<resource> 惯例自动生成,注释提醒替换根据页面模式(mode),输出不同复杂度的文件结构:
src/views/<domain>/<module-name>/
├── index.vue # 页面主文件
├── data.ts # 类型 + 配置 + 常量
└── index.scss # 页面样式src/views/<domain>/<module-name>/
├── index.vue
├── data.ts
├── index.scss
└── components/ # 局部子组件
├── DetailDrawer.vue
└── FormModal.vuesrc/views/<domain>/<module-name>/
├── index.vue
├── data.ts
├── index.scss
├── components/
│ ├── BasicInfo.vue
│ └── SubTable.vue
└── composables/ # 业务逻辑
└── useXxxLogic.ts/*
* @Author: ChenYu ycyplus@gmail.com
* @Date: {{date}}
* @Description: {{页面中文名}} — 数据配置
* Copyright (c) {{year}} by CHENY, All Rights Reserved 😎.
*/
import type { SelectOption, DataRecord } from '@robot-admin/naive-ui-components'
import type { TableColumn, UseTableCrudConfig } from '@robot-admin/request-core/naive'
import { PRESET_RULES } from '@robot-admin/form-validate'
// ================= 业务类型定义 =================
// 从 page-spec.columns + page-spec.form 合并字段生成 interface
export interface {{ResourceName}} extends DataRecord {
id: number | string
// ... 所有字段
}
export interface {{ResourceName}}FormData {
// ... 表单字段(id 可选)
}
export interface SearchForm {
// ... 查询字段
}
// ================= 选项配置 =================
// 下拉框 / 筛选器的选项数据
export const STATUS_OPTIONS: SelectOption[] = [
{ label: '启用', value: 1 },
{ label: '禁用', value: 0 },
]
// ================= Tag 映射配置 =================
// 用于状态类列渲染彩色标签
export const STATUS_TAG_CONFIG: Record<string | number, {
text: string
type: 'default' | 'success' | 'error' | 'warning' | 'info'
}> = {
1: { text: '启用', type: 'success' },
0: { text: '禁用', type: 'error' },
}
// ================= 图标配置 =================
export const ICON_CONFIG = {
search: 'mdi:magnify',
plus: 'mdi:plus',
refresh: 'mdi:refresh',
edit: 'mdi:pencil',
delete: 'mdi:delete',
eye: 'mdi:eye',
// ... 根据 page-spec.toolbar + operations 的 icon 字段
} as const
// ================= 格式化函数 =================
// 简短的格式化函数(列渲染用)
// ================= 表格列配置 =================
export const getTableColumns = (): TableColumn[] => [
// 从 page-spec.columns 映射
{
key: 'fieldName',
title: '列标题',
width: 120,
// 可编辑列追加 editable / editType / editProps
// 状态列追加 render 函数(渲染 NTag)
},
]
// ================= 表单验证规则 =================
export const FORM_RULES: FormRules = {
// 从 page-spec.form 的 rules 字段映射
fieldName: [
PRESET_RULES.required('字段名'),
// ...
],
}
// ================= 表单默认值 =================
export const FORM_DEFAULTS: {{ResourceName}}FormData = {
// 所有字段的初始值
}
// ================= useTableCrud 配置 =================
// 仅 LIST 模式页面使用
export const getTableCrudConfig = (): UseTableCrudConfig => ({
api: {
list: '/<domain>/<resource>',
create: '/<domain>/<resource>',
update: '/<domain>/<resource>/:id',
remove: '/<domain>/<resource>/:id',
get: '/<domain>/<resource>/:id',
},
columns: getTableColumns(),
defaultPageSize: 20,
})page-spec.columns → TableColumn:
| page-spec 字段 | TableColumn 字段 |
|---|---|
key | key |
title | title |
width | width |
sortable | sortable: true |
render: 'tag' + tagMap | render: (row) => h(NTag, ...) |
render: 'text' | 默认文本渲染 |
page-spec.form → FormRules:
| page-spec 字段 | FormRules 映射 |
|---|---|
required: true | PRESET_RULES.required('字段名') |
rules: 'email' | PRESET_RULES.email('邮箱') |
rules: 'mobile' | PRESET_RULES.mobile('手机号') |
rules: 'length(2,20)' | PRESET_RULES.length('字段名', 2, 20) |
rules: 'range(0,100)' | PRESET_RULES.range('字段名', 0, 100) |
<!--
* @Author: ChenYu ycyplus@gmail.com
* @Date: {{date}}
* @Description: {{页面中文名}}
* Copyright (c) {{year}} by CHENY, All Rights Reserved 😎.
--><script setup lang="ts">
// ① defineOptions
defineOptions({ name: '{{ComponentName}}' })
// ② 导入配置数据
import { useNaiveTableCrud } from '@robot-admin/request-core/naive'
import { ... } from './data'
import { ... } from '@/api/{{domain}}-{{resource}}'
// ③ 响应式状态
const message = useMessage()
const dialog = useDialog()
const loading = ref(false)
const searchForm = ref<SearchForm>({ ... })
// ④ Headless CRUD + Naive 消息适配(LIST 模式)
const tableCrud = useNaiveTableCrud(getTableCrudConfig())
// ⑤ 计算属性
// ⑥ 方法:查询 / CRUD / 事件处理
// ⑦ 生命周期
onMounted(() => { ... })
</script>以下 API 自动导入,生成代码中不要写 import 语句:
Vue: ref, computed, watch, onMounted, nextTick, reactive, readonly, h
Router: useRoute, useRouter
Pinia: defineStore, storeToRefs
VueUse: useLocalStorage, useClipboard, useDebounceFn
NaiveUI: NCard, NButton, NSpace, NInput, NSelect, NTag, NModal, NDrawer,
NGrid, NGi, NTabs, NTabPane, NAlert, NSwitch, NRadioGroup, ...
useMessage, useDialog, useNotification
Store: s_userStore, s_themeStore, ...<template>
<div class="{{kebab-name}}">
<!-- 搜索和操作栏 -->
<NCard class="header-card">
<NSpace
justify="space-between"
align="center"
>
<NSpace>
<!-- 查询字段:从 page-spec.query 生成 -->
<NInput
v-model:value="searchForm.keyword"
placeholder="搜索..."
clearable
style="width: 300px"
@keyup.enter="handleSearch"
>
<template #prefix>
<C_Icon
:name="ICON_CONFIG.search"
:size="16"
/>
</template>
</NInput>
<!-- 更多查询字段... -->
</NSpace>
<!-- 工具栏按钮:从 page-spec.toolbar 生成 -->
<C_ActionBar
:actions="toolbarActions"
:config="{ compact: true }"
/>
</NSpace>
</NCard>
<!-- 表格 -->
<NCard>
<C_Table
ref="tableRef"
:columns="tableColumns"
:data="tableData"
:loading="loading"
:row-key="(row: any) => row.id"
:config="{
actions: tableActions,
pagination: {
page: pagination.page,
pageSize: pagination.pageSize,
total: pagination.total,
remote: true,
},
display: { scrollX: {{scrollX}} },
}"
@pagination-change="handlePaginationChange"
/>
</NCard>
<!-- 新增/编辑弹窗(FORM_MODAL) -->
<NModal
v-model:show="showFormModal"
preset="card"
:title="formMode === 'add' ? '新增' : '编辑'"
style="width: 600px"
>
<C_Form
ref="formRef"
:options="formOptions"
:model="formData"
:rules="formRules"
/>
<template #footer>
<NSpace justify="end">
<NButton @click="showFormModal = false">取消</NButton>
<NButton
type="primary"
:loading="submitLoading"
@click="handleSubmit"
>
确认
</NButton>
</NSpace>
</template>
</NModal>
</div>
</template><template>
<div class="{{kebab-name}}">
<NCard class="header-card">
<!-- 搜索区 -->
</NCard>
<div class="main-content">
<NGrid
:cols="24"
:x-gap="16"
responsive="screen"
>
<!-- 左侧树 -->
<NGi :span="6">
<NCard
title="分类树"
class="content-card"
>
<C_Tree
ref="treeRef"
mode="custom"
:data="treeData"
:searchable="true"
@node-select="handleTreeSelect"
/>
</NCard>
</NGi>
<!-- 右侧表格 -->
<NGi :span="18">
<NCard class="content-card">
<C_Table ... />
</NCard>
</NGi>
</NGrid>
</div>
</div>
</template><template>
<div class="{{kebab-name}}">
<NCard :title="pageTitle">
<C_Form
ref="formRef"
:options="formOptions"
:model="formData"
:rules="formRules"
:config="{
layout: 'tabs',
// 或 layout: 'steps'
}"
/>
<template #footer>
<NSpace justify="end">
<NButton @click="handleBack">返回</NButton>
<NButton
type="primary"
:loading="submitLoading"
@click="handleSave"
>
保存
</NButton>
</NSpace>
</template>
</NCard>
</div>
</template><template>
<div class="{{kebab-name}}">
<!-- 上方:主表 -->
<NCard title="主表">
<C_Table
:columns="masterColumns"
:data="masterData"
...
/>
</NCard>
<!-- 下方:明细表 -->
<NCard :title="detailTitle">
<NTabs
v-model:value="activeTab"
type="line"
animated
>
<NTabPane
v-for="sub in subTables"
:key="sub.key"
:name="sub.key"
:tab="sub.title"
>
<C_Table
:columns="sub.columns"
:data="sub.data"
...
/>
</NTabPane>
</NTabs>
</NCard>
</div>
</template>// 页面容器
.{{kebab-name}} {
display: flex;
flex-direction: column;
gap: 16px;
.header-card {
:deep(.n-card__content) {
padding: 16px;
}
}
.content-card {
height: calc(100vh - 220px);
overflow: auto;
}
// 根据页面模式追加:
// TREE_LIST → .main-content { ... }
// MASTER_DETAIL → .detail-section { ... }
}从 page-spec.operations 生成 tableActions 数组:
const tableActions = computed(() => [
{
label: '编辑',
type: 'primary' as const,
icon: ICON_CONFIG.edit,
onClick: (row: ResourceItem) => handleEdit(row),
// 条件显示
show: (row: ResourceItem) => row.status === 1,
},
{
label: '删除',
type: 'error' as const,
icon: ICON_CONFIG.delete,
onClick: (row: ResourceItem) => handleDelete(row),
confirm: { title: '确认删除', content: '删除后不可恢复' },
},
])⚠️ 操作列按钮必须与 page-spec 严格一一对应,不可自编按钮
状态类列必须用 NTag 彩色标签渲染:
// data.ts
export const STATUS_TAG_CONFIG = {
active: { text: '在职', type: 'success' },
inactive: { text: '离职', type: 'error' },
probation: { text: '试用期', type: 'warning' },
} as const
// 列定义中
{
key: 'status',
title: '状态',
width: 100,
render: (row: Employee) => {
const config = STATUS_TAG_CONFIG[row.status]
return config ? h(NTag, { type: config.type, size: 'small' }, () => config.text) : '-'
},
}defineOptions({ name: '...' }) 存在@robot-admin/request-core/axios 导入,Naive CRUD 从 /naive 导入@robot-admin/form-validate 的 PRESET_RULES@robot-admin/naive-ui-components 的 C_Table / C_Form / C_ActionBar<style lang="scss" scoped> + @use './index.scss'© ChenyCHENYU, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/page-codegen of ChenyCHENYU/Robot_Admin.
Open the folder on GitHubat commit d9770ea
Page Codegen next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Page Codegen this skillChenyCHENYU/Robot_Admin | 1k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Jeecg Codegen Newjeecgboot/skills | 239 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Add Componentindielayer/ui | 222 | — | ~293 | Automated safety check: Pass | MIT | |
| Cabloy Frontend Scaffoldcabloy/cabloy | 982 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Fe Tools Template RecommenderMichealWayne/fe-tools | 207 | — | ~1k | Automated safety check: Pass | None | |
| MoviePilot Plugin Developerjxxghp/MoviePilot | 12k | — | ~6.4k | Automated safety check: Pass | GPL-3.0 |
jeecgboot/skills
A skill your agent uses when user asks to generate JeecgBoot CRUD code, create a new module, add/modify fields on existing module, or says "代码生成", "生成代码", "创建模块", "新增功能", "建表", "加字段", "加一个字段"…
indielayer/ui
Add a new Vue component to @indielayer/ui with themes, tests, docs, and registry exports.
cabloy/cabloy
A skill your agent uses whenever the user wants the Zova frontend path in this Cabloy repo: create or extend pages, components, api or model beans, route/query/params work, metadata refresh…
MichealWayne/fe-tools
Recommend the most suitable project template or initialization path from fe-tools project-templates based on product, framework, runtime, and delivery constraints.
jxxghp/MoviePilot
Builds, fixes and validates MoviePilot local plugins for V3 and V2 hosts: metadata files, source layout, Vue and Vuetify pages, commands, services and local reload.
jeecgboot/skills
JeecgBoot UniApp3 移动端 CRUD 代码生成器。Use when user asks to generate UniApp3/mobile/APP CRUD pages, create mobile list/form pages, or says '生成移动端代码', '生成APP页面', 'uniapp代码生成', '移动端CRUD', '生成uniapp页面'…
ChenyCHENYU/Robot_Admin
A skill your agent uses when: generating TypeScript API layer (type definitions + request functions) from page-spec JSON or Swagger/OpenAPI docs.
ChenyCHENYU/Robot_Admin
A skill your agent uses when: upgrading dependencies, adding common features, or when the user explicitly requests branch sync check.
ChenyCHENYU/Robot_Admin
A skill your agent uses when: reviewing code for compliance with Robot Admin project conventions, or when generating a compliance report.
ChenyCHENYU/Robot_Admin
A skill your agent uses when: generating mock data for development without a backend.
ChenyCHENYU/Robot_Admin
A skill your agent uses when: analyzing Axure exported HTML prototype files or detailed design documents to extract page inventory, classify interaction patterns, and produce a structured page-spec…
ChenyCHENYU/Robot_Admin
A skill your agent uses when: registering new pages into the dynamic router system.
Works with
Categories
A skill your agent uses when: generating Vue 3 page code from either a page-spec JSON or a natural language description. Page Codegen is an agent skill from ChenyCHENYU/Robot_Admin. Use when: generating Vue 3 page code from either a page-spec JSON or a natural language description.
Page Codegen fits situations like: : generating Vue 3 page code from either a page-spec JSON; A natural language description; : page generation; code generation.
Run `npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a claude-code`. Or copy the skill folder (.github/skills/page-codegen in ChenyCHENYU/Robot_Admin) into .claude/skills/page-codegen in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a codex`. Or copy the skill folder (.github/skills/page-codegen in ChenyCHENYU/Robot_Admin) into .agents/skills/page-codegen in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ChenyCHENYU/Robot_Admin --skill page-codegen -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/page-codegen, .gemini/skills/page-codegen, .github/skills/page-codegen and .opencode/skills/page-codegen in your project.
SKILL.md names no scripts, command-line tools or credentials: Page Codegen is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Page Codegen is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Page Codegen: Jeecg Codegen New (jeecgboot/skills, 239 stars), Add Component (indielayer/ui, 222 stars), Cabloy Frontend Scaffold (cabloy/cabloy, 982 stars) and Fe Tools Template Recommender (MichealWayne/fe-tools, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ChenyCHENYU (a GitHub user) maintains it in ChenyCHENYU/Robot_Admin, which has 1,020 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.
Source: ChenyCHENYU/Robot_Admin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.