AI Skill Report Card

Generating Ant Select Components

B-72·May 7, 2026·Source: Web

Generate Ant Design Select Component

12 / 15

Provide the entity name in kebab-case (e.g., banco, centro-custo, sindicato) and API endpoint. The agent generates:

  1. Model: src/models/select/<entity>.model.ts or uses generic model
  2. Component: src/components/selects/select-<entity>.tsx

Example:

Entity: sindicato
Endpoint: /api/pessoal/sindicatos/
Recommendation
Remove the verbose 'Progress' checklist and make workflow more action-oriented with concrete steps
12 / 15

Progress:

  • Determine approach (Generic vs Specific)
  • Generate model (if specific approach)
  • Generate component with placeholders filled
  • Verify all imports and controller references

Approach A: Generic Model (Simple entities)

Uses existing src/models/select.ts. Component receives endpoint as prop.

Approach B: Specific Model (Complex entities)

Creates new model when entity needs:

  • Custom controller
  • Dependencies on other models
  • Specific filters/parameters
  • Strong typing
Recommendation
Add complete code templates for both Generic and Specific approaches instead of partial snippets
15 / 20

Example 1: Simple entity (Generic approach) Input:

  • Entity: banco
  • Endpoint: /api/bancos/
  • Label: simple (r.label)

Output:

TypeScript
// Component uses useModel('select') const { selectLoading, options, getOptions, ... } = useModel('select'); // Endpoint passed as string: getSelectController('/api/bancos/', params)

Example 2: Complex entity (Specific approach) Input:

  • Entity: centro-custo
  • Controller: getCentrosCustoController
  • Label: composite (${r.codigo} - ${r.nome})
  • Order: codigo

Output:

TypeScript
// Model: src/models/select/centro-custo.model.ts import { getCentrosCustoController } from '@/services/centro-custo.controller'; // Component uses useModel('select.centro-custo.model') // Label mapping: `${r.codigo} - ${r.nome}`
Recommendation
Include actual input/output file examples showing the generated model and component code in full
  • Use kebab-case for entity names
  • Generic approach for simple CRUD entities
  • Specific approach when custom logic needed
  • Always include infinite scroll and debounce search
  • Support both single and multiple selection
  • Handle missing options automatically
  • Don't forget to replace ENDPOINT_AQUI placeholder
  • Don't use getSelectController in specific approach
  • Don't mix generic and specific model patterns
  • Don't hardcode pagination without infinite scroll support
0
Grade B-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
12/15
Workflow
12/15
Examples
15/20
Completeness
10/20
Format
13/15
Conciseness
10/15