Agent skill

Bulletproof React

by yamcodes in yamcodes/arkenv

Bulletproof React architecture patterns for scalable, maintainable applications.

MITAuto-check passedFrontend & Design

Install Bulletproof React

skills CLI
$ npx skills add yamcodes/arkenv --skill bulletproof-react -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yamcodes/arkenv bulletproof-react --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/bulletproof-react .claude/skills/bulletproof-react && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bulletproof-react
GitHub stars
145
Token cost
~1.8k tokens
SKILL.md length
324 words
Files
11 (incl. references)
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

Bulletproof React architecture patterns for scalable, maintainable applications.

  • Structuring a React project
  • SKILL.md covers Core references, Project structure, Component hierarchy and API layer pattern, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Designing application architecture

What it does

Bulletproof React is an agent skill from yamcodes/arkenv. Bulletproof React architecture patterns for scalable, maintainable applications. Covers feature-based project structure, component patterns, state management boundaries, API layer design, error handling, security, and testing strategies. Use when structuring a React project, designing application architecture, organizing features, or when the user asks about React project structure or scalable patterns.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `references/README.md`, `references/api-layer.md` and `references/components-and-styling.md`).

It sits in Frontend & Design, covering State management, Test strategy and Software architecture. It works with React. The repository describes itself as: ⛯ Typesafe environment variables with ArkType, Zod, or Valibot. The licence is MIT.

When your agent uses it

  • Structuring a React project
  • Designing application architecture
  • Organizing features
  • The user asks about React project structure

Example prompts

  • “/bulletproof-react”

What it can do on your machine

Read from SKILL.md and the folder at commit 7340aa2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bulletproof React loads about 1.8k tokens when it runs, and up to ~9.8k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 324 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yamcodes/arkenv at commit 7340aa2, republished under its MIT licence (© yamcodes). 324 words, ~1,772 tokens.

Download SKILL.mdSave it as .claude/skills/bulletproof-react/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
bulletproof-react
description
Bulletproof React architecture patterns for scalable, maintainable applications. Covers feature-based project structure, component patterns, state management boundaries, API layer design, error handling, security, and testing strategies. Use when structuring a React project, designing application architecture, organizing features, or when the user asks about React project structure or scalable patterns.
metadata.author
Yam Borodetsky
metadata.original_author
grahamcrackers
metadata.origin
github.com/grahamcrackers/skills
metadata.internal
true

Bulletproof React

Architecture patterns for building scalable, maintainable React applications. Based on bulletproof-react.

Core references

TopicDescriptionReference
Project StructureFeature-based organization, unidirectional architecture, ESLint enforcementproject-structure
Components & StylingComponent hierarchy, wrapping 3rd party libs, headless vs styled librariescomponents-and-styling
API LayerAPI client, request declarations, query/mutation hook patternsapi-layer
State ManagementComponent, application, server cache, form, and URL state categoriesstate-management
Error HandlingError boundaries, API errors, error tracking with Sentryerror-handling
TestingUnit, integration, e2e strategies with Vitest, Testing Library, Playwright, MSWtesting
Project StandardsESLint, Prettier, TypeScript, Husky, absolute imports, file namingproject-standards
SecurityAuthentication, token storage, XSS prevention, RBAC/PBAC authorizationsecurity
PerformanceCode splitting, data prefetching, state optimization, children patternperformance

Project structure

Organize by feature, not by file type:

text
src/
├── app/                # Application shell (routes, providers, router)
├── assets/             # Static files (images, fonts)
├── components/         # Shared, reusable UI components
├── config/             # Environment variables, constants
├── features/           # Feature-based modules
├── hooks/              # Shared custom hooks
├── lib/                # Pre-configured library wrappers
├── stores/             # Global client state
├── testing/            # Test utilities, MSW handlers, factories
├── types/              # Shared TypeScript types
└── utils/              # Pure utility functions
Feature modules
text
features/users/
├── api/            # API functions and query hooks
├── components/     # Feature-specific components
├── hooks/          # Feature-specific hooks
├── types/          # Feature-specific types
└── utils/          # Feature-specific utilities

Rules:

  • Features should not import from other features. Compose at the app level.
  • Code flows one direction: shared → features → app.
  • Promote to shared directories only when reused by 2+ features.
  • Prefer direct imports over barrel re-exports for Vite tree-shaking.

Component hierarchy

text
Page Components          → route-level, compose features, handle layout
  └── Feature Components → feature-specific, business logic
        └── UI Components      → shared primitives, no business logic

API layer pattern

typescript
// Pure API function
function getUsers(params?: GetUsersParams): Promise<UsersResponse> {
    return api.get("/users", { params });
}

// Query hook wrapping the API function
function useUsers(params?: GetUsersParams) {
    return useQuery({
        queryKey: ["users", params],
        queryFn: () => getUsers(params),
    });
}

State management boundaries

State TypeSolutionExamples
Server stateTanStack QueryUser data, posts, API responses
Client state (global)Zustand / JotaiTheme, sidebar open, user preferences
Client state (local)useState / useReducerForm inputs, toggles, modal open
URL stateURL search params / routerFilters, pagination, active tab
Form stateReact Hook FormMulti-step forms, validation

Don't mix server and client state. Never copy query data into useState.

Error hierarchy

text
App Error Boundary          → catches unrecoverable crashes
  └── Route Error Boundary     → catches route-level failures, shows retry
        └── Feature Error Boundary   → catches feature-specific errors

Testing strategy

LayerToolWhat to Test
ComponentsTesting LibraryRender output, user interactions, a11y
HooksrenderHookState changes, side effects
APIMSWRequest/response handling, error states
IntegrationTesting Library + MSWFull feature flows (render → interact → verify)
E2EPlaywrightCritical user journeys

Conventions

ItemConventionExample
ComponentsPascalCaseUserCard.tsx
HookscamelCase, use prefixuseUsers.ts
UtilitiescamelCaseformatDate.ts
TypesPascalCaseUser, CreateUserInput
ConstantsUPPER_SNAKE_CASEMAX_RETRIES
Directorieskebab-caseuser-settings/
Fileskebab-caseuser-card.tsx
Imports

Use path aliases to avoid deep relative imports:

typescript
import { Button } from "@/components/ui/button";
import { useUsers } from "@/features/users/api";

Configure @/ as the src/ alias in tsconfig.json.

© yamcodes, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in skills/bulletproof-react of yamcodes/arkenv.

  • SKILL.md
  • references/README.md
  • references/api-layer.md
  • references/components-and-styling.md
  • references/error-handling.md
  • references/performance.md
  • references/project-standards.md
  • references/project-structure.md
  • references/security.md
  • references/state-management.md
  • references/testing.md

Open the folder on GitHubat commit 7340aa2

Compare with similar skills

Bulletproof React next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bulletproof React compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bulletproof React this skillyamcodes/arkenv145—~1.8kAutomated safety check: PassMIT
Typescript Rulesshinpr/claude-code-workflows690—~1.8kAutomated safety check: PassMIT
Compose Atomslobehub/lobehub83k—~2.6kAutomated safety check: PassCustom licence
Aidd Stackparalleldrive/aidd384—~411Automated safety check: PassMIT
React TypescriptMadAppGang/claude-code283—~4.1kAutomated safety check: PassMIT
React UI State PatternsChrisWiles/claude-code-showcase6.1k7 repos~1.6kAutomated safety check: PassNone

Similar skills

  • Typescript Rules

    shinpr/claude-code-workflows

    React/TypeScript frontend development rules including type safety, component design, state management, and error handling.

    690 GitHub stars~1.8k tokensUpdated 6 days ago
    Frontend & DesignAuto-check passed
  • Compose Atoms

    lobehub/lobehub

    Splits a heavy front-end domain into capability atoms that each host imports separately, sinking state into each atom instead of adding mode or readOnly flags.

    83k GitHub stars~2.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Aidd Stack

    paralleldrive/aidd

    Tech stack guidance for NextJS + React/Redux + Shadcn UI features.

    384 GitHub stars~411 tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • React Typescript

    MadAppGang/claude-code

    Modern React 19+ patterns with TypeScript including function components, hooks, state management, TanStack Query integration, form handling with Zod, error boundaries, and performance optimization.

    283 GitHub stars~4.1k tokensUpdated 6 mo ago
    Frontend & DesignAuto-check passed
  • React UI State Patterns

    ChrisWiles/claude-code-showcase

    Sets patterns for React interfaces: when to show loading spinners or skeletons, how to surface errors, how to disable buttons during async work and how to handle empty lists.

    6.1k GitHub starsUsed in 7 repos~1.6k tokens
    Frontend & DesignAuto-check passed
  • Frontend Module Standards

    siteboon/claudecodeui

    Enforces one repository's React and TypeScript module layout for code under src/: source-root imports, feature barrels, deliberate exports and no deep imports.

    14k GitHub stars~2.6k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed

More from yamcodes/arkenv

All 20 skills in this repo
  • Hallmark

    yamcodes/arkenv

    Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots.

    145 GitHub starsUsed in 4 repos~18k tokens
    Auto-check passed
  • Arkenv

    yamcodes/arkenv

    Answer questions about ArkEnv and help implement environment variable validation.

    145 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Code Review

    yamcodes/arkenv

    Fetch, analyze, and address code reviews and comments on GitHub, or perform a code review on changes in the workspace.

    145 GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed
  • Forward Port

    yamcodes/arkenv

    Manually forward-ports merged dev (v0) changes to the v1 branch, adapting code to v1's package layout and changeset names.

    145 GitHub stars~970 tokensUpdated 2 days ago
    Auto-check passed
  • Groom Issue

    yamcodes/arkenv

    Groom a poorly written issue by grilling the user to clarify requirements, updating the issue on GitHub via the gh cli, and utilizing the triage skill to apply the correct label and add an agent…

    145 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed
  • Internalize Skill

    yamcodes/arkenv

    Move newly installed skills from '.agents/skills/' to the project's root 'skills/' directory, with options to rename and attribute them, and mark them as internal.

    145 GitHub stars~750 tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Bulletproof React

What does Bulletproof React do?

Bulletproof React architecture patterns for scalable, maintainable applications. Bulletproof React is an agent skill from yamcodes/arkenv. Bulletproof React architecture patterns for scalable, maintainable applications.

When should I use Bulletproof React?

Bulletproof React fits situations like: structuring a React project; designing application architecture; organizing features; the user asks about React project structure.

How do I install Bulletproof React in Claude Code?

Run `npx skills add yamcodes/arkenv --skill bulletproof-react -a claude-code`. Or copy the skill folder (skills/bulletproof-react in yamcodes/arkenv) into .claude/skills/bulletproof-react in your project. Claude Code loads it when a task matches its description.

How do I install Bulletproof React in Codex?

Run `npx skills add yamcodes/arkenv --skill bulletproof-react -a codex`. Or copy the skill folder (skills/bulletproof-react in yamcodes/arkenv) into .agents/skills/bulletproof-react in your project. Codex loads it when a task matches its description.

Can I use Bulletproof React in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yamcodes/arkenv --skill bulletproof-react -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bulletproof-react, .gemini/skills/bulletproof-react, .github/skills/bulletproof-react and .opencode/skills/bulletproof-react in your project.

What does Bulletproof React need to run?

SKILL.md names no scripts, command-line tools or credentials: Bulletproof React is instructions for the agent only.

Does Bulletproof React access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Bulletproof React safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Bulletproof React use?

Bulletproof React is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bulletproof React use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.1k tokens, read only when the agent opens those files.

What are the alternatives to Bulletproof React?

Skills that share tags, products or a category with Bulletproof React: Typescript Rules (shinpr/claude-code-workflows, 690 stars), Compose Atoms (lobehub/lobehub, 83k stars), Aidd Stack (paralleldrive/aidd, 384 stars) and React Typescript (MadAppGang/claude-code, 283 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bulletproof React?

yamcodes (a GitHub user) maintains it in yamcodes/arkenv, which has 145 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 5, 2026.

Source: yamcodes/arkenv on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.