Publish your AI resources
Your team keeps skills, agents, rules and runbooks in a Git repository. You declare the folders in the
catalog-info.yaml of that repository, and Astrolabe lists each resource on the AI resources page and
on a tab of the repository.
The plugin must be on first: see Turn on AI resources.
π The four kinds of resourceβ
| Kind | What it is | Annotation | What Astrolabe recognizes under the path |
|---|---|---|---|
| Skill | A folder of instructions an AI tool loads when it needs it | astrolabe.forgeit.tech/ai-skills-path | Each folder that contains a SKILL.md |
| Agent | A sub-agent or persona | astrolabe.forgeit.tech/ai-agents-path | Each *.md file that starts with a name and a description (front matter), and each *.agent.md file |
| Rule | The instructions given to every session | astrolabe.forgeit.tech/ai-rules-path | AGENTS.md, CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, *.mdc, *.instructions.md and the *.md of .claude/rules |
| Runbook | A procedure to follow, for a person or an assistant | astrolabe.forgeit.tech/ai-runbooks-path | Each *.md file |
ποΈ Where to put the files in the repositoryβ
A value is a path from the root of the repository: a folder or a file. Put several paths on one line, separated by commas.
acme-ai-kit/
βββ catalog-info.yaml
βββ AGENTS.md
βββ skills/
β βββ code-review/
β βββ SKILL.md
βββ .claude/
β βββ agents/
β βββ test-writer.md
βββ .cursor/
β βββ rules/
β βββ typescript.mdc
βββ runbooks/
βββ rotate-a-token.md
π Declare the repositoryβ
-
Open the
catalog-info.yamlat the root of the repository. -
Add the annotations of the kinds you publish, under
metadata.annotations. Keep only the lines you use.apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: acme-ai-kit
description: Skills, agents and rules shared by the platform team
tags: [ai, platform]
annotations:
astrolabe.forgeit.tech/ai-skills-path: skills, .claude/skills
astrolabe.forgeit.tech/ai-agents-path: .claude/agents
astrolabe.forgeit.tech/ai-rules-path: AGENTS.md, .cursor/rules
astrolabe.forgeit.tech/ai-runbooks-path: runbooks
spec:
type: library
lifecycle: production
owner: group:default/platform-teamField What to enter Example metadata.nameThe name of the repository's component acme-ai-kitmetadata.tagsWords people search for. Every resource gets them [ai, platform]spec.ownerThe group that owns the repository. Every resource gets this owner group:default/platform-teamspec.lifecycleexperimental,productionordeprecated. Every resource gets itproduction -
Commit the file and push it to the default branch.
-
If the repository is not in the catalog yet, register it: see Register a component.
A component without any astrolabe.forgeit.tech/ai-β¦ annotation is never read.
β¨ Start from the template insteadβ
The template creates a repository with one example of each kind and the annotations already written.
-
In the left sidebar, click The Foundry.
-
On the card AI resources repository, click Choose.
-
In the step The repository, fill in:
Field What to write Example Name Lowercase letters, digits and hyphens. It names the repository and the component acme-ai-kitDescription What the resources of this repository are for Skills and agents of the platform teamOwner The team that answers for these resources. Click the field and pick one platform-teamKinds of resources Tick Skills, Agents, Rules (AGENTS.md), Runbooks: one folder and one example for each kind you tick all four -
Click Next.
-
In the step Where to create it, pick the Host, then fill in Owner (the organization or user of the new repository) and Repository (its name).
-
Click Review, check your answers, then click Create.
Not verified on an instance yet: the creation itself, which needs a GitHub host the instance can write to.
β Check that it workedβ
-
In the left sidebar, click Catalog, then click the component of the repository.
-
Click the tab AI resources. It shows the state of the reading (Read), the commit, and the resources found, for example 2 skills and 1 agent.
-
Click Read the repository again. The message Reading of the repository started. appears at the bottom of the screen, then Repository read again: 3 resources.
-
In the left sidebar, click AI resources: each resource is a card, with the owner of the repository.
β That's it!
Next: Find and install an AI resource.
β Frequently asked questionsβ
Can I put several kinds in the same folder? Each path belongs to one kind. A SKILL.md found under
ai-rules-path is not published as a rule: Astrolabe tells you to add its folder to ai-skills-path.
Where do the owner and the lifecycle of a resource come from? From the repository's catalog-info.yaml
(spec.owner, spec.lifecycle), never from the file of the resource.
Does Astrolabe run my scripts? No. See the FAQ.
How do I remove a resource? Delete it from the repository, or remove the annotation. It disappears at the next reading.
Where do I see what is wrong with my repository? On the tab AI resources of the component, under Problems: see Troubleshooting.