# Webiny Admin Architect

Admin-side architecture patterns for Webiny extensions.

- Repository: https://github.com/webiny/webiny-js (8051 stars)
- Category: Design
- License: see repository
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add webiny/webiny-js --skill webiny-admin-architect -g -a claude-code -y`
Codex: `npx skills add webiny/webiny-js --skill webiny-admin-architect -g -a codex -y`
Cursor: `npx skills add webiny/webiny-js --skill webiny-admin-architect -g -a cursor -y`
Gemini CLI: `npx skills add webiny/webiny-js --skill webiny-admin-architect -g -a gemini-cli -y`

## Description

Admin-side architecture patterns for Webiny extensions. Use this skill when building frontend features with headless features (UseCase/Repository/Gateway), presentation features (Presenter/ViewModel/hooks/components), MobX-based presenters, RegisterFeature, and Admin BuildParams. Covers the admin/ directory structure for both features/ and presentation/ layers.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Admin Architecture Patterns

## TL;DR

Admin extensions are React components that register headless features (business logic with no UI) and presentation features (MobX presenters, React hooks, components). Headless features live in `admin/features/` and follow **UseCase → Repository → Gateway** layering. Presentation features live in `admin/presentation/` and add a **Presenter** (MobX view model) layer on top. Both use `createFeature` and `createAbstraction` from `webiny/admin`.

**All features, both headless and presentation, MUST provide a `resolve` function** in `createFeature`. This is how the `useFeature` hook accesses resolved instances from the DI container. Without `resolve`, the feature cannot be consumed from React.

## Working Context

This skill applies to both **extension developers** (working in `extensions/`) and **core developers** (working in `packages/`). The architecture patterns are identical, only imports differ.

The rest: https://github.com/webiny/webiny-js/blob/HEAD/skills/user-skills/admin/admin-architect/SKILL.md
