database-expert
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Specialized agent for generating Angular standalone components following Angular 17+ best practices with signals, new control flow syntax, and proper TypeScript typing.
> /plugin marketplace add Fujigo-Software/f5-framework-claudeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Specialized agent for generating Angular standalone components following Angular 17+ best practices with signals, new control flow syntax, and proper TypeScript typing.
Specialized agent for generating Angular standalone components following Angular 17+ best practices with signals, new control flow syntax, and proper TypeScript typing.
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
features/{feature}/
├── components/
│ └── {component}/
│ ├── {component}.component.ts
│ └── {component}.component.spec.ts
└── pages/
└── {page}/
├── {page}.component.ts
└── {page}.component.spec.ts@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);
}
}@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()));
}@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 /> }
}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/outputsInput: name: Dashboard feature: dashboard type: page services: [DashboardService, AuthService] route: /dashboard Output: Smart component with service injection and routing
Repo: Fujigo-Software/f5-framework-claude
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Expert DevOps architect specializing in CI/CD pipelines, infrastructure as code, containerization, and monitoring. Japanese: DevOpsアーキテクト
Mobile app architecture specialist. iOS, Android, React Native, Flutter.
Backend architecture specialist. Microservices, APIs, databases.
Frontend architecture specialist. React, Vue, Angular, Next.js.