Agent Skills: Frontend State Management

Manage application state using Redux, MobX, Zustand, and Context API. Use when centralizing state for complex applications with multiple components.

UncategorizedID: aj-geddes/useful-ai-prompts/frontend-state-management

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aj-geddes/useful-ai-prompts/tree/HEAD/skills/frontend-state-management

Skill Files

Browse the full folder contents for frontend-state-management.

Download Skill

Loading file tree…

skills/frontend-state-management/SKILL.md

Skill Metadata

Name
frontend-state-management
Description
>

Frontend State Management

Table of Contents

Overview

Implement scalable state management solutions using modern patterns and libraries to handle application state, side effects, and data flow across components.

When to Use

  • Complex application state
  • Multiple components sharing state
  • Predictable state mutations
  • Time-travel debugging needs
  • Server state synchronization

Quick Start

Minimal working example:

// store/userSlice.ts
import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';

interface User {
  id: number;
  name: string;
  email: string;
}

interface UserState {
  items: User[];
  loading: boolean;
  error: string | null;
}

const initialState: UserState = {
  items: [],
  loading: false,
  error: null
};

export const fetchUsers = createAsyncThunk(
  'users/fetchUsers',
  async (_, { rejectWithValue }) => {
    try {
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

| Guide | Contents | |---|---| | Redux with Redux Toolkit (React) | Redux with Redux Toolkit (React) | | Zustand (Lightweight State Management) | Zustand (Lightweight State Management) | | Context API + useReducer | Context API + useReducer | | MobX (Observable State) | MobX (Observable State) |

Best Practices

✅ DO

  • Follow established patterns and conventions
  • Write clean, maintainable code
  • Add appropriate documentation
  • Test thoroughly before deploying

❌ DON'T

  • Skip testing or validation
  • Ignore error handling
  • Hard-code configuration values