backstage-plugin-create

backstage-plugin-create is a skill for Claude Code from bendaamerahmed/backstage-idp-plugin. It costs 45 tokens per session (2,853 once invoked), scanned A, original, MIT.

A guide for creating a new Backstage plugin, which is an extension that adds a feature to a Backstage developer portal. It creates the needed package and connects it to the portal's frontend or backend.

In plain words
What is it for?
Use it to scaffold frontend, backend, common, or Node packages and load them through the appropriate application files.
Why use it?
It removes the guesswork around package structure and setup, especially when the portal uses different old or new systems.

Skill for Claude Code

Written for Claude Code: when-to-use in frontmatter.

Part of the backstage-idp plugin — 15 skills, 1 agent shipped together

Good fit Use it to scaffold frontend, backend, common, or Node packages and load them through the appropriate application files.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/bendaamerahmed/backstage-idp-plugin/backstage-plugin-create
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add bendaamerahmed/backstage-idp-plugin --skill backstage-plugin-create
Clone the repo
git clone --depth 1 https://github.com/bendaamerahmed/backstage-idp-plugin

Made for: Claude Code.

Or install backstage-idp, the plugin that ships this one along with the rest of its 15 skills, 1 agent.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for backstage-plugin-create

README.md
[![agentmods](https://agentmods.dev/badge/skills/bendaamerahmed/backstage-idp-plugin/backstage-plugin-create/github.svg)](https://agentmods.dev/skills/bendaamerahmed/backstage-idp-plugin/backstage-plugin-create)
Your own site
<a href="https://agentmods.dev/skills/bendaamerahmed/backstage-idp-plugin/backstage-plugin-create"><img src="https://agentmods.dev/badge/skills/bendaamerahmed/backstage-idp-plugin/backstage-plugin-create/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for backstage-plugin-create

Your own site · 80×15
<a href="https://agentmods.dev/skills/bendaamerahmed/backstage-idp-plugin/backstage-plugin-create"><img src="https://agentmods.dev/badge/skills/bendaamerahmed/backstage-idp-plugin/backstage-plugin-create.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 45 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,853 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00045 $0.02853
Opus 5 $0.00023 $0.01426
Sonnet 5 $0.00009 $0.00571
Haiku 4.5 $0.00005 $0.00285

Measured 9d ago against content hash c3d9a86cec0b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

backstage-plugin-create scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- Backend: `yarn workspace <pkg> start`, then `curl localhost:7007/api/<pluginId>/<route>`
plugins/backstage-idp/skills/backstage-plugin-create/SKILL.md · 175 lines

How it starts

The opening of the file, as written. The whole thing — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Create a Backstage plugin

Scaffold a new plugin package in a Backstage monorepo and wire it into packages/app and/or packages/backend so it actually loads.

Preconditions

  • Repo generation is known. Run backstage-repo-discovery first, or determine it yourself:
    • NFS (new frontend system): packages/app/src/App.tsx uses createApp from @backstage/frontend-defaults; plugins use createFrontendPlugin, blueprints, /alpha imports.
    • Legacy frontend: createApp from @backstage/app-defaults, <FlatRoutes>, bindRoutes, createPlugin / createRoutableExtension.
    • New backend: packages/backend/src/index.ts is a short createBackend() + backend.add(...) file. createServiceBuilder or plugins/*.ts env wiring means the removed legacy backend — stop and report BLOCKED.
  • Release line read from backstage.json. Node 22 or 24 only.
  • Plugin ID decided: lowercase, dash-separated, stable (it becomes the URL path, the backend mount point /api/<pluginId>, and backstage.pluginId). If the ID or the package split cannot be determined from the task, return BLOCKED rather than guessing.
  • yarn unless the repo's packageManager field says otherwise.

Procedure

  1. Decide the package split before generating anything. Follow ADR011 naming, where x is plugin-<id>:

    • x — frontend plugin (React, extensions/blueprints, pages).
    • x-backend — HTTP routes, DB, service dependencies. Never imported by frontend.
    • x-common — isomorphic: types, permission definitions, API client interfaces, constants. Must not import Node built-ins or React. Everything else may depend on it.
    • x-node — Node-only utilities other backends consume (the backend plugin's own private code stays in x-backend).
    • x-react — shared React widgets/hooks other frontend plugins consume. Create only what is needed now; add -common the moment a type is needed on both sides.
  2. Scaffold from the repo root: yarn new (a shortcut for backstage-cli new --select <template>). Non-interactive form: yarn new --select frontend-plugin --option pluginId=<id>. Built-in templates live in @backstage/cli-module-new/templates: frontend-plugin, legacy-frontend-plugin, frontend-plugin-module, backend-plugin, backend-plugin-module, plugin-common-library, plugin-node-library, plugin-web-library, web-library, node-library, cli-module, catalog-provider-module, scaffolder-backend-module. Since v1.49.0 the CLI auto-detects the app's frontend system and offers only the matching plugin template — do not force legacy-frontend-plugin unless the app is legacy. A backstage.cli.new.templates array in the root package.json replaces the built-ins entirely; read it before assuming a template exists.

Read the full file on GitHub · 175 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 175 lines · 45 tokens per session scan A c3d9a86cec0b

Subscribe to this mod's changes

backstage-plugin-create is a skill published in the GitHub repository bendaamerahmed/backstage-idp-plugin (1 stars, last pushed 29d ago), licensed MIT. It adds 45 tokens to every session and 2,853 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

meta-tags-optimizer

Optimize title tags, meta descriptions, Open Graph, and Twitter cards for maximum click-through rate. Generates multiple A/B test variations with character counting and SERP preview. Use when asked to "optimize title tag", "write meta description", "improve CTR", "Open Graph tags", "fix my meta tags", "social media…

nowork-studio/notfair-plugin · 91 tokens

google-ads-audit

Google Ads account audit and business context setup. Run this first — it gathers business information, analyzes account health, and saves context that all other ads skills reuse. Trigger on "audit my ads", "ads audit", "set up my ads", "onboard", "account overview", "how's my account", "ads health check", "what should…

nowork-studio/notfair-plugin · 114 tokens

sxo

Search Experience Optimization (SXO) — the bridge between SEO and UX/CRO. Audits the full journey from the SERP click to the on-page goal: SERP click-through factors (title/meta/rich results that win the click), then post-click experience signals that keep users and drive conversions — above-the-fold relevance and…

nowork-studio/notfair-plugin · 235 tokens

elixir-idioms

OTP/BEAM patterns and Elixir idioms — GenServer, Supervisor, Task, Registry, pattern matching, with chains, pipes. Use when designing processes or debugging BEAM issues.

oliver-kriska/claude-elixir-phoenix · 44 tokens

security

Enforce Elixir/Phoenix security — auth, OAuth, sessions, CSRF, XSS, SQL injection, input validation, secrets. Use when editing auth files, login flows, RBAC, or API keys.

oliver-kriska/claude-elixir-phoenix · 47 tokens

tidewave-integration

Tidewave MCP runtime tools — debugging, smoke testing, live state inspection, SQL queries, hex docs. Use when evaluating code in a running Phoenix app.

oliver-kriska/claude-elixir-phoenix · 38 tokens