Organizes React applications by feature with directory trees, import-boundary matrices, and numbered migration plans. Produces a target-architecture blueprint at docs/architecture/FEATURE-ARCH-TARGET.md.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pproenca-dot-skills-1:feature-archThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive architecture guide for organizing React applications by features, enabling scalable development with independent teams. Contains 42 rules across 8 categories, prioritized by impact from critical (directory structure, imports) to incremental (naming conventions). When invoked on a real project, the skill produces a project-specific blueprint that anchors every decision in those rules.
Comprehensive architecture guide for organizing React applications by features, enabling scalable development with independent teams. Contains 42 rules across 8 categories, prioritized by impact from critical (directory structure, imports) to incremental (naming conventions). When invoked on a real project, the skill produces a project-specific blueprint that anchors every decision in those rules.
When an agent invokes this skill on a real project, the deliverable is a single
markdown file persisted at docs/architecture/FEATURE-ARCH-TARGET.md (or the
repo's existing docs location). The blueprint contains:
index.ts.allowed / forbidden / via app / via events).Every section cites the specific rules below that govern its decisions, so the blueprint stays a projection of this skill — not a parallel authority.
Follow the process in references/_blueprint-process.md. Summary:
AskUserQuestion.{{placeholder}} replaced with a literal project value.For very small projects (under ~10 source files), produce a one-page seed structure instead and note that a full blueprint should follow after the 2nd–3rd feature exists.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Directory Structure | CRITICAL | struct- |
| 2 | Import & Dependencies | CRITICAL | import- |
| 3 | Module Boundaries | HIGH | bound- |
| 4 | Data Fetching | HIGH | fquery- |
| 5 | Component Organization | MEDIUM-HIGH | fcomp- |
| 6 | State Management | MEDIUM | fstate- |
| 7 | Testing Strategy | MEDIUM | test- |
| 8 | Naming Conventions | LOW | name- |
struct-feature-folders - Organize by feature, not technical typestruct-feature-self-contained - Make features self-containedstruct-shared-layer - Use shared layer for truly generic code onlystruct-flat-hierarchy - Keep directory hierarchy flatstruct-optional-segments - Include only necessary segmentsstruct-app-layer - Separate app layer from featuresimport-unidirectional-flow - Enforce unidirectional import flowimport-no-cross-feature - Prohibit cross-feature importsimport-public-api - Export through public API onlyimport-avoid-barrel-files - Avoid deep barrel file re-exportsimport-path-aliases - Use consistent path aliasesimport-type-only - Use type-only imports for typesbound-feature-isolation - Enforce feature isolationbound-interface-contracts - Define explicit interface contractsbound-feature-scoped-routing - Scope routing to feature concernsbound-minimize-shared-state - Minimize shared state between featuresbound-event-based-communication - Use events for cross-feature communicationbound-feature-size - Keep features appropriately sizedfquery-single-responsibility - Keep query functions single-purposefquery-colocate-with-feature - Colocate data fetching with featuresfquery-parallel-fetching - Fetch independent data in parallelfquery-avoid-n-plus-one - Avoid N+1 query patternsfquery-feature-scoped-keys - Use feature-scoped query keysfquery-server-component-fetching - Fetch at server component levelfcomp-single-responsibility - Apply single responsibility to componentsfcomp-composition-over-props - Prefer composition over prop drillingfcomp-container-presentational - Separate container and presentational concernsfcomp-props-as-data-boundary - Use props as feature boundariesfcomp-colocate-styles - Colocate styles with componentsfcomp-error-boundaries - Use feature-level error boundariesfstate-feature-scoped-stores - Scope state stores to featuresfstate-server-state-separation - Separate server state from client statefstate-lift-minimally - Lift state only as high as necessaryfstate-context-sparingly - Use context sparingly for feature statefstate-reset-on-unmount - Reset feature state on unmounttest-colocate-with-feature - Colocate tests with featurestest-feature-isolation - Test features in isolationtest-shared-utilities - Create feature-specific test utilitiestest-integration-at-app-layer - Write integration tests at app layername-feature-naming - Use domain-driven feature namesname-file-conventions - Use consistent file naming conventionsname-descriptive-exports - Use descriptive export namesRead individual reference files for detailed explanations and code examples:
references/{prefix}-{slug}.mdfeature-spec skilltanstack-query skillreact-19 skillFor the complete guide with all rules expanded: AGENTS.md
npx claudepluginhub pproenca/dot-skillsEnforces scalable React architecture with feature-based structure, type-safe state management (React Query), API layers, performance patterns, and testing when building components/pages/apps.
Guides React + TypeScript project structure, module boundaries, component architecture, hooks, routing, state/API/error/styling defaults, and repository-wide conventions for medium-to-large codebases.
Organizes React and React Native apps into feature modules with page directories, strict server-state vs UI-state split, barrel-only imports, and code-promotion rules.