# Webiny Full Stack Architect

Full-stack extension skeleton and registration pattern.

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

## Install

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

## Description

Full-stack extension skeleton and registration pattern. Use this skill when creating an extension that spans both API and Admin, the top-level component with Api.Extension and Admin.Extension entry points, shared domain layer, BuildParam declarations, and package structure. References webiny-api-architect and webiny-admin-architect for layer-specific details.

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

# Full-Stack Extension Skeleton

## TL;DR

A full-stack extension bundles **API** and **Admin** into a single package with a shared domain layer. The top-level component registers both sides via `<Api.Extension>` and `<Admin.Extension>`, which point to separate entry-point files. Each side follows its own layered architecture pattern, see **webiny-api-architect** and **webiny-admin-architect** skills for details.

## Working Context

This skill applies to both **extension developers** (working in `extensions/`) and **core developers** (working in `packages/`). The architecture patterns are the same, only the import convention and registration mechanism differ.

|                         | Extensions (`extensions/`)                                                         | Core (`packages/`)                                                      |
| ----------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| **Imports**             | `webiny/api`, `webiny/admin`, `webiny/admin/ui`                                    | `@webiny/feature/api`, `@webiny/app-admin`, `@webiny/admin-ui`          |
| **Catalog paths**       | Use the `Import:` path                                                             | Use the `Source:` path                                                  |
| **Registration**        | `<Api.Extension src={...}>` / `<Admin.Extension src={...}>` in `webiny.config.tsx` | `createFeature` registered directly by the package's module initializer |
| **Entry point export**  | Files targeted by Extension `src` MUST use `export default`                        | No restriction, features are registered programmatically               |
| **Top-level component** | Required, composes `<Api.Extension>` + `<Admin.Extension>`                        | Not applicable, each package registers its own features                |

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