backstage-techdocs

backstage-techdocs is a skill for Claude Code from bendaamerahmed/backstage-idp-plugin. It costs 51 tokens per session (3,654 once invoked), scanned A, original, MIT.

A Backstage TechDocs guide covers the system that builds and publishes software documentation from source files. TechDocs uses Markdown and MkDocs to generate pages that Backstage can display.

In plain words
What is it for?
Use it to configure, debug, and publish TechDocs, including MkDocs settings, Backstage integration, build environments, CI, and storage backends.
Why use it?
It helps locate whether missing or stale documentation comes from entity settings, source files, the document builder, or the publishing storage.

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 configure, debug, and publish TechDocs, including MkDocs settings, Backstage integration, build environments, CI, and storage backends.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/bendaamerahmed/backstage-idp-plugin/backstage-techdocs
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-techdocs
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-techdocs

README.md
[![agentmods](https://agentmods.dev/badge/skills/bendaamerahmed/backstage-idp-plugin/backstage-techdocs.svg)](https://agentmods.dev/skills/bendaamerahmed/backstage-idp-plugin/backstage-techdocs)
Your own site
<a href="https://agentmods.dev/skills/bendaamerahmed/backstage-idp-plugin/backstage-techdocs"><img src="https://agentmods.dev/badge/skills/bendaamerahmed/backstage-idp-plugin/backstage-techdocs.svg" alt="Measured on agentmods" height="20"></a>
Per session 51 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,654 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00051 $0.03654
Opus 5 $0.00026 $0.01827
Sonnet 5 $0.00010 $0.00731
Haiku 4.5 $0.00005 $0.00365

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

Security

Grade A, and why

backstage-techdocs scanned grade A with 0 findings 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 8d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/backstage-idp/skills/backstage-techdocs/SKILL.md · 98 lines

How it starts

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

Backstage TechDocs

Wire the docs-like-code pipeline correctly, and tell apart the four places it breaks: the entity annotation, the mkdocs source, the generator, and the publisher.

Preconditions

  • Release line from backstage.json; TechDocs packages resolved with yarn why @backstage/plugin-techdocs-backend and yarn why @techdocs/cli.
  • Backend generation: backend.add(import('@backstage/plugin-techdocs-backend')) in packages/backend/src/index.ts is the new backend system; a createRouter in packages/backend/src/plugins/techdocs.ts is legacy — migrate it (backstage-plugin-migrate) before adding a build-strategy module.
  • Frontend generation: NFS (default since v1.49) registers TechDocs and its addon modules as features from /alpha exports; legacy has TechDocsIndexPage/TechDocsReaderPage inside <FlatRoutes> and an EntityTechdocsContent tab in EntityPage.tsx.
  • The effective merged config, not app-config.yaml alone: yarn backstage-cli config:print --lax. Production almost always overrides techdocs.* in app-config.production.yaml.
  • Whether the runtime has Docker (for runIn: docker) or Python with mkdocs-techdocs-core (for runIn: local).

Procedure

  1. Read the triple before anything else. techdocs.builder, techdocs.generator.runIn, techdocs.publisher.type determine which failures are even possible.
    • builder: 'local' — the backend generates and publishes on demand when a user opens the docs tab. Out-of-the-box default.
    • builder: 'external' — the backend only reads pre-built docs from storage. It will never build, no matter what is wrong with the source. This is the recommended production architecture.
    • publisher.type: 'local' | 'awsS3' | 'googleGcs' | 'azureBlobStorage'. local writes to techdocs.publisher.local.publishDirectory, defaulting to a static dir at the backend root — pod-local, lost on restart, and invisible to sibling replicas.
  2. Check the entity side second. In catalog-info.yaml, metadata.annotations['backstage.io/techdocs-ref'] is the only thing that points TechDocs at source:
    • dir:. — docs live beside catalog-info.yaml; dir:./sub-folder for a subdirectory.
    • url:https://github.com/org/repo/tree/<branch> (GitLab url:https://host/org/repo, Bitbucket .../src/<branch>, Azure .../_git/<repo>). Suffix a subdirectory path with / so relative paths resolve.
    • An entity with no techdocs-ref gets no docs tab content. A monorepo child that should show a parent's docs uses backstage.io/techdocs-entity: <kind>:<namespace>/<name> (plus backstage.io/techdocs-entity-path to deep-link), not a duplicate techdocs-ref.
    • A url: target must be reachable by an integrations.* credential in the backend's config, not just yours (backstage-repo-discovery).
  3. Check the source layout third. At the root of whatever techdocs-ref resolves to: mkdocs.yml (or mkdocs.yaml) plus a docs/ directory containing at minimum index.md. Minimum config:

Read the full file on GitHub · 98 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. 8d ago First seen · 98 lines · 51 tokens per session scan A fec325587db7

Subscribe to this mod's changes

backstage-techdocs is a skill published in the GitHub repository bendaamerahmed/backstage-idp-plugin (1 stars, last pushed 28d ago), licensed MIT. It adds 51 tokens to every session and 3,654 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. 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

deploy

Elixir/Phoenix deployment patterns — Dockerfile, fly.toml, runtime.exs, mix release, rel/ overlays. Use when configuring Fly.io, Docker, CI/CD, health checks, or production migrations.

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

go-tooling-security

Use when setting up Go modules/workspaces, configuring golangci-lint v2, running govulncheck, or building a Go CI quality gate. Not for app logic or non-Go audits.

fusengine/agents · 46 tokens

rust-tooling-cicd

Use when structuring a Cargo workspace or building a Rust CI pipeline — fmt, clippy, cargo-deny/audit, nextest, coverage, MSRV. Not for writing the tests themselves (rust-testing-quality).

fusengine/agents · 51 tokens

Solana Squads Upgrade

This skill should be used when the user asks to "upgrade a Solana program through Squads", "set up squads multisig deployment", "create a Squads upgrade proposal", "configure squads-program-action", "deploy via Squads multisig", "set up Squads CI/CD pipeline", "squads GitHub Actions workflow", or mentions Solana…

widnyana/eyay-toolkits · 89 tokens

gen-ci

Generate GitHub Actions CI workflows for this repository. TRIGGER ON: 'generate CI', 'add GitHub Actions', 'create CI workflow', 'set up CI', 'add CI/CD', 'create a CI pipeline', 'generate CI/CD', 'add continuous integration', 'set up GitHub Actions', 'add a lint+test workflow', 'add governance check', 'add PR health…

thettwe/nyann · 141 tokens

ci-workflow

Design and maintain .NET CI workflows for F#, C#, and mixed solutions with SDK setup, restore, build, test, format checks, package checks, caching, and matrix decisions.

gaelic-ghost/socket · 41 tokens