backstage-frontend-plugin

Build Backstage frontend plugins with the New Frontend System.

22|4|Updated Oct 19, 2025
One-click install
npx skills add https://github.com/rothenbergt/backstage-agent-skills --skill backstage-frontend-plugin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: backstage-frontend-plugin
Source: https://github.com/rothenbergt/backstage-agent-skills/tree/main/backstage-frontend-plugin
Command: npx skills add https://github.com/rothenbergt/backstage-agent-skills --skill backstage-frontend-plugin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @backstage/frontend-plugin-api, @backstage/core-plugin-api, @backstage/plugin-catalog-react, @backstage/plugin-permission-react, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Developing Backstage frontend plugins, especially with the "New Frontend System," can be complex, requiring deep knowledge of blueprints, Utility APIs, routing, and testing. This Skill simplifies that process, guiding you through best practices and providing golden path templates to accelerate your development.

Core Features & Use Cases

  • Specialized Workflows: Step-by-step procedures for creating and configuring frontend plugins.
  • Best Practices: Production-ready patterns for lazy loading, error handling, permissions, and comprehensive testing.
  • Golden Path Templates: Copy/paste code snippets for common plugin patterns like pages, navigation items, entity content, and shared Utility APIs.
  • Use Case: Quickly scaffold and convert a legacy Backstage frontend plugin to the New Frontend System, adding a new page and navigation item with best practices for lazy loading and testing, all without deep diving into extensive documentation.

Quick Start

Example: Define a new Backstage frontend plugin with a page and navigation item.

This snippet goes into src/plugin.ts after scaffolding.

import { createFrontendPlugin, PageBlueprint, NavItemBlueprint, } from '@backstage/frontend-plugin-api'; import { rootRouteRef } from './routes'; import ExampleIcon from '@material-ui/icons/Extension';

const examplePage = PageBlueprint.make({ params: { routeRef: rootRouteRef, path: '/example', loader: () => import('./components/ExampleComponent').then(m => <m.ExampleComponent />), }, });

const exampleNavItem = NavItemBlueprint.make({ params: { routeRef: rootRouteRef, title: 'Example', icon: ExampleIcon, }, });

export const examplePlugin = createFrontendPlugin({ pluginId: 'example', extensions: [examplePage, exampleNavItem], routes: { root: rootRouteRef }, });

Frequently Asked Questions about backstage-frontend-plugin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Backstage frontend plugin with the New Frontend System?

Build Backstage frontend plugins using blueprints, routes, and the frontend-plugin-api to create pages, navigation items, and entity content. The New Frontend System provides structured workflows with lazy loading, error handling, and permissions built in, reducing complexity versus legacy approaches.

What are best practices for lazy loading in Backstage frontend plugins?

Lazy loading in Backstage plugins uses dynamic imports to defer component loading until needed, reducing initial bundle size. Wrap component imports in functions passed to blueprint loaders and pair with error handling to manage failed loads gracefully in production environments.

Can I convert a legacy Backstage frontend plugin to the New Frontend System?

Yes. Migrate legacy plugins by scaffolding a new plugin structure, refactoring pages and navigation into PageBlueprint and NavItemBlueprint configurations, adding route references, and applying production-ready patterns for lazy loading and testing before deploying.

How do I add permissions and testing to Backstage frontend plugins?

Integrate permissions using the permission-react plugin and test plugins with end-to-end workflows covering page rendering, navigation, and API interactions. The Skill provides templates and guidance for structuring tests and permission checks within blueprints.

What dependencies do I need to build a Backstage frontend plugin?

You need @backstage/frontend-plugin-api for core plugin creation, @backstage/core-plugin-api for framework utilities, @backstage/plugin-catalog-react for entity integrations, and @backstage/plugin-permission-react for access control.

Do I need deep Backstage knowledge to create a frontend plugin?

No. This Skill provides golden path templates and step-by-step workflows that abstract away complexity. Copy-paste code snippets for common patterns like pages, navigation, and Utility APIs let you scaffold plugins without mastering extensive Backstage documentation.