Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    umi max

    2

    Build enterprise-grade Umi Max apps using ProComponents, integrated RBAC, and convention-based data flow.

    $15

    /mo

    Subscription · cancel anytime

    Secure checkout via Stripe

    • Always the latest version
    • Delivered live to your agent via MCP
    • Cancel anytime, access ends at period end
    Security scanned
    umi max

    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.ts and assign the access: 'canAdmin' property if the entire page is restricted.
    • Update src/access.ts to ensure the canAdmin boolean is correctly derived from initialState.
    • Add the deleteUser method to src/services/user.ts using the Umi request utility.

    index.tsx

    ZIP · project files

    Generated

    Example file from a real run - the skill writes it into your workspace.

    $15/mo

    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

    Axios Http
    Node.js
    max

    Listed11 days ago
    Updated4 days ago

    What's inside

    Frequently Asked Questions