Run a structured bug-focused code review for selected files, folders, or the whole workspace.
日本語の概要は準備中です。原文の説明を表示しています。
Generate an NgRx Signal Store with complete CRUD operations (API service, store, tests) for a given entity.
日本語の概要は準備中です。原文の説明を表示しています。
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Generate a complete NgRx Signal Store with CRUD operations for a specified entity, following the project's architecture patterns and best practices.
Before running this skill, ensure you have:
UserStore, TaskStore)User, Task)// Example endpoints for a User entity
getUsers(): Observable<User[]>
getUserById(id: string): Observable<User>
createUser(user: CreateUserRequest): Observable<User>
updateUser(id: string, updates: Partial<User>): Observable<User>
deleteUser(id: string): Observable<void>
Generate a complete NgRx Signal Store with:
export interface [EntityName]State {
loading: boolean;
error: string | null;
selectedId: string | null;
}
const initial[EntityName]State: [EntityName]State = {
loading: false,
error: null,
selectedId: null,
};
const [entityName]EntityConfig = entityConfig({
entity: type<[EntityName]>(),
collection: '[entityName]',
selectId: ([entityName]: [EntityName]) => [entityName].id,
});
export const [EntityName]Store = signalStore(
{ providedIn: 'root' },
withState(initial[EntityName]State),
withEntities([entityName]EntityConfig),
// ... computed properties
// ... methods
);
Implement all CRUD operations using rxMethod for Observable-based service calls:
load[EntityName]s(): voidload[EntityName]ById(id: string): voidcreate[EntityName]([entityName]: Create[EntityName]Request): voidupdate[EntityName](id: string, updates: Partial<[EntityName]>): voiddelete[EntityName](id: string): voidselect[EntityName](id: string | null): voidInclude these computed signals:
selected[EntityName]: The currently selected entitytotal[EntityName]Count: Total number of entitieshasData: Whether any entities are loadedisEmpty: Whether the collection is emptytapResponse for proper error handling in all async operationspatchState for all state updatesaddEntity, updateEntity, removeEntity, setAllEntitiesentityConfig to all entity updaters for type safetyinject() within withMethodsrxMethod for all Observable-based operationsswitchMap for loads (a newer request supersedes the old one), concatMap for create/update/delete (switchMap would cancel an in-flight write)HttpClient is provided in root in Angular 22 — no provideHttpClient(); API specs use provideHttpClientTesting() onlyProvide example component integration showing:
Create the following files in the appropriate domain folder:
src/app/features/[domain]/
└── data/
├── models/
│ └── [entity-name].model.ts # Entity interface & DTOs
├── infrastructure/
│ ├── [entity-name]-api.ts # HttpClient service
│ └── [entity-name]-api.spec.ts # Service tests
└── state/
├── [entity-name]-store.ts # Signal store
└── [entity-name]-store.spec.ts # Store tests
ngrx-signals skill — Signal Store patterns (withEntities, withFeature, withLinkedState, rxMethod) and store testingsrc/app/features/<domain>/) from the project instructionsまだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Run a structured bug-focused code review for selected files, folders, or the whole workspace.
日本語の概要は準備中です。原文の説明を表示しています。
Generates Angular code and provides architectural guidance. Trigger when creating projects, components, services, or HTTP communication, or for best practices on reactivity (signals, linkedSignal, resource, httpResource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, naming conventions, or CLI tooling.
日本語の概要は準備中です。原文の説明を表示しています。
Generate an Angular Signal Forms component with schema validation and dynamic field management for a given entity.
日本語の概要は準備中です。原文の説明を表示しています。
Write disciplined Behavior-Driven Development specs and tests with Gherkin / Cucumber. Use whenever the user mentions BDD, Gherkin, Cucumber, .feature files, Given/When/Then, scenarios, Scenario Outline, Background, step definitions, acceptance criteria, executable specifications, living documentation, the Three Amigos, or Example Mapping. Also trigger when the user asks to "write tests in plain English", convert acceptance criteria into tests, design step definitions, refactor an imperative or UI-coupled feature file, or wire up BDD with Vitest (unit/component) or Playwright (end-to-end). Do NOT use for pure unit tests with no business-readable contract, pure performance/load tests, or generic test-framework questions unrelated to behavior specs.
日本語の概要は準備中です。原文の説明を表示しています。
Build, refactor, and architect Angular state with the @ngrx/signals Signal Store. Use whenever the user mentions signalStore, withState, withMethods, withComputed, withHooks, withLinkedState, withFeature, signalStoreFeature, withEntities, rxMethod, signalMethod, patchState, the SignalStore events plugin (withReducer, withEventHandlers), or wants to refactor BehaviorSubject/service-based state to Signal Store. Also use for designing custom store features, request status, optimistic updates, entity collections, and the store/service split in Angular. Do NOT use for @ngrx/store (classic Redux), createReducer/createEffect, or generic RxJS questions unrelated to Signal Store.
日本語の概要は準備中です。原文の説明を表示しています。
Review the current branch against its base branch: lint, tests, architecture and Angular 22 conventions, reported by severity.
日本語の概要は準備中です。原文の説明を表示しています。