Works with the AI Agents you already use
umi max
Build enterprise-grade Umi Max apps using ProComponents, integrated RBAC, and convention-based data flow.
$15
/moSubscription · cancel anytime
Secure checkout via Stripe
- Always the latest version
- Delivered live to your agent via MCP
- Cancel anytime, access ends at period end
umi max
Example session with this skill installed
Create a model for user settings and a ProTable page to manage a list of users, including an 'Admin' role check for the delete action.
- Read your context and instructions
- Compiled the umi max
- Generated the app files
I have created the user settings model and a ProTable management page. The solution uses Umi Max's useModel for state, the built-in access plugin for permission logic, and ProTable for the UI.
Implementation
src/models/settings.ts
import { useState, useCallback } from 'react';
export default function useSettingsModel() {
const [settings, setSettings] = useState({ theme: 'light', lang: 'en-US' });
const updateSettings = useCallback((newSettings: Partial<typeof settings>) => {
setSettings((prev) => ({ ...prev, ...newSettings }));
}, []);
return { settings, updateSettings };
}
src/pages/UserList/index.tsx
import React from 'react';
import { useAccess, useModel } from '@umijs/max';
import { ProTable, ActionType, ProColumns } from '@ant-design/pro-components';
import { Button, message, Popconfirm } from 'antd';
import { getUsers, deleteUser } from '@/services/user';
const UserList: React.FC = () => {
const { canAdmin } = useAccess();
const actionRef = React.useRef<ActionType>();
const columns: ProColumns[] = [
{ title: 'Username', dataIndex: 'username', copyable: true },
{ title: 'Role', dataIndex: 'role', valueType: 'select',
valueEnum: { admin: { text: 'Admin', status: 'Error' }, user: { text: 'User', status: 'Default' } }
},
{
title: 'Actions',
valueType: 'option',
render: (_, record) => [
canAdmin && (
<Popconfirm
key="delete"
title="Delete user?"
onConfirm={async () => {
await deleteUser(record.id);
message.success('Deleted');
actionRef.current?.reload();
}}
>
<a>Delete</a>
</Popconfirm>
),
],
},
];
return (
<ProTable
headerTitle="User Management"
actionRef={actionRef}
rowKey="id"
request={async (params) => {
const res = await getUsers(params);
return { data: res.data, success: true, total: res.total };
}}
columns={columns}
/>
);
};
export default UserList;
Next steps
- Register the new page in
config/routes.tsand assign theaccess: 'canAdmin'property if the entire page is restricted. - Update
src/access.tsto ensure thecanAdminboolean is correctly derived frominitialState. - Add the
deleteUsermethod tosrc/services/user.tsusing the Umirequestutility.
index.tsx
ZIP · project files
Example file from a real run - the skill writes it into your workspace.
Subscription · always the latest version
- Secure checkout via Stripe
- Cancel anytime
- Delivered live via MCP (optional)
About this skill
An Agent Skill that teaches AI coding agents (Claude, and any agent compatible with the open SKILL.md format) the full enterprise conventions of Umi Max (@umijs/max) and its ecosystem — including all ProComponents, Ant Design component patterns, Ant Design Charts for dashboards, GraphQL integration, and advanced RBAC.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Free forever
No account required to browse
Trust & safety
Security scanned
Verified clean 11 days ago
Requires