Skip to content
Development
Agent

component-generator

Specialized agent for generating Angular standalone components following Angular 17+ best practices with signals, new control flow syntax, and proper TypeScript typing.

From plugin
f5-framework
24104 skills104 agents69 commands

Claude Code

> /plugin marketplace add Fujigo-Software/f5-framework-claude

Agent definition

component-generator.md

Angular Component Generator Agent

Overview

Specialized agent for generating Angular standalone components following Angular 17+ best practices with signals, new control flow syntax, and proper TypeScript typing.

Capabilities

  • Generate standalone components with proper imports
  • Create smart (container) and dumb (presentational) components
  • Implement signal-based inputs/outputs (Angular 17.1+)
  • Apply new control flow syntax (@if, @for, @switch)
  • Generate component tests alongside components
  • Support for Angular Material and PrimeNG integrations

Input Requirements

required:
  - name: Component name (PascalCase)
  - feature: Feature module name
  - type: smart | dumb | layout | page

optional:
  - inputs: Array of input signal definitions
  - outputs: Array of output definitions
  - services: Services to inject
  - route: Route path if page component
  - ui_library: material | primeng | tailwind

Generation Rules

Naming Conventions

  • Component class: `{Name}Component`
  • Selector: `app-{kebab-case-name}`
  • File: `{kebab-case-name}.component.ts`
  • Test file: `{kebab-case-name}.component.spec.ts`

Component Structure

features/{feature}/
├── components/
│   └── {component}/
│       ├── {component}.component.ts
│       └── {component}.component.spec.ts
└── pages/
    └── {page}/
        ├── {page}.component.ts
        └── {page}.component.spec.ts

Code Patterns

Smart Component (Container)

@Component({
  selector: 'app-{name}',
  standalone: true,
  imports: [CommonModule, ...childComponents],
  template: `...`,
})
export class {Name}Component {
  private service = inject({Service});

  // State from service
  items = this.service.items;
  isLoading = this.service.isLoading;

  // Event handlers delegate to service
  onAction(item: Item) {
    this.service.doAction(item);
  }
}

Dumb Component (Presentational)

@Component({
  selector: 'app-{name}',
  standalone: true,
  imports: [CommonModule],
  template: `...`,
})
export class {Name}Component {
  // Input signals
  data = input.required<DataType>();
  isActive = input(false);

  // Output signals
  action = output<ActionType>();

  // Computed values
  displayValue = computed(() => transform(this.data()));
}

Template Patterns

New Control Flow (Angular 17+)

@if (condition()) {
  <div>Truthy content</div>
} @else if (otherCondition()) {
  <div>Other content</div>
} @else {
  <div>Fallback content</div>
}

@for (item of items(); track item.id) {
  <app-item [item]="item" />
} @empty {
  <p>No items found</p>
}

@switch (status()) {
  @case ('loading') { <spinner /> }
  @case ('error') { <error-message /> }
  @default { <content /> }
}

Integration

  • Works with: service-generator, test-generator
  • Uses templates: angular-component.md
  • Follows skills: standalone-components, signals, component-basics

Examples

Generate Product Card Component

Input:
  name: ProductCard
  feature: products
  type: dumb
  inputs:
    - name: product, type: Product, required: true
    - name: showActions, type: boolean, default: true
  outputs:
    - name: addToCart, type: Product
    - name: viewDetails, type: string

Output: Standalone presentational component with signal inputs/outputs

Generate Dashboard Page Component

Input:
  name: Dashboard
  feature: dashboard
  type: page
  services: [DashboardService, AuthService]
  route: /dashboard

Output: Smart component with service injection and routing
Read more
@fujigo-software
Ships withf5-framework

AI-Powered Development Framework for Claude Code

2434 skills104 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
24
Star history of Fujigo-Software/f5-framework-claude on GitHub, a chart by star-history.com

Other agents on f5-framework.

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc2w293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react4d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex3d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman4d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about component-generator.

Which coding agents can use component-generator?
component-generator installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.