Skip to main content

Overview

The Skills Repository turns Bifrost into a central place to manage Agent Skills: reusable SKILL.md instructions plus any supporting files an agent needs. Use it when you want to:
  • create and maintain skills from the Bifrost dashboard
  • attach reference files, examples, scripts, or assets to a skill
  • publish immutable versions with SemVer
  • register Bifrost as a skills marketplace for Claude Code and Codex
  • install either one skill at a time or the bundled bifrost-all-skills plugin
Management actions are authenticated and permission-gated. Marketplace and download URLs are public so CLI agents can fetch and clone skills without carrying dashboard credentials.
Skills Repository landing page

Create a skill

From the dashboard, open Skills Repository and click Create Skill. A skill has three parts: identity, content, and files.

1. Fill the skill details

Start with the fields that describe the skill:
FieldWhat it does
NameThe stable skill identifier. Use lowercase letters, numbers, and hyphens. The name cannot be changed after creation.
DescriptionA short explanation shown in the dashboard and marketplaces.
LicenseOptional SPDX-style license identifier shown in the generated SKILL.md frontmatter, such as MIT or Apache-2.0.
CompatibilityOptional list of skill-aware harnesses this skill is intended to work with, such as Claude Code or Codex.
Allowed toolsOptional, experimental frontmatter that compatible harnesses may use to allow or restrict tool usage for the skill.
MetadataOptional key-value metadata nested under metadata: in SKILL.md.
Extra frontmatterOptional JSON that becomes additional top-level YAML frontmatter. Useful for other keys that the agentskills.io spec does not support but the harness does.
Version is not part of the SKILL.md frontmatter. Choose it after the skill content and files are ready, right before publishing.
Do not use reserved names like all-skills, all, claude-code, or codex. These are used by the serving and marketplace routes.
Skill details form with name, description, version, and frontmatter fields

2. Write the SKILL.md body

The editor stores only the Markdown body of SKILL.md. Bifrost generates the YAML frontmatter from the fields above, then appends this body underneath it. Use this space for the instructions that should load after a harness activates the skill. Keep discovery fields such as name, description, license, compatibility, allowed tools, and metadata in the form fields above. For the canonical guidance on writing effective Agent Skills, use the Agent Skills docs:
If your skill depends on supporting files, upload them in the file manager below and reference them from the body with @.
SKILL.md markdown editor

3. Reference files with @

When your skill body needs to point to an uploaded file, type @ in the markdown editor. A dropdown appears listing matching files and folders from the file tree, showing each item’s name alongside its relative path. Select an entry and Bifrost inserts a markdown link for you:
Before responding, read @[style-guide.md](./references/style-guide.md) for conventions.
You type @sty, pick the file from the dropdown, and the editor expands it into the full relative-path link.
Using @ to reference attached files in the SKILL.md editor

Add files and folders

The Files panel below the editor is where you attach scripts, references, templates, and any other supporting content the skill needs. The file tree starts at root, which shows a SKILL.md badge to remind you that the generated SKILL.md lives at the top level. The toolbar on the right side of each row gives you three actions:
  • + Add file — add a single file into that location
  • Upload folder — upload an entire folder from your machine, preserving its structure
  • Folder — create a new empty subfolder (type the name and confirm with the checkmark)
File manager showing the root node with SKILL.md badge and the Add file, Upload folder, and Folder buttons
Every folder in the tree has the same set of actions, so you can add files or create subfolders at any depth directly.

Adding a file

Click + Add file and pick one of the four source types:
SourceWhat it does
Via textOpens an inline form where you type a filename and paste or write the content directly. The form shows the current location (e.g. “Location: root”) so you know where the file lands.
Via URLProvide an http:// or https:// URL. The content is fetched from that URL when the skill is served, so it stays up to date with the remote source.
Via data URLPaste a data: URL for content you already have base64-encoded or inline.
Via uploadPick a file from your machine to upload directly.
Add file dropdown showing Via text, Via URL, Via data URL, and Via upload options
For example, choosing Via text expands an inline form right inside the file tree. Fill in the filename, write or paste the content, and click + Add.
Via text form showing filename field, file content textarea, and Add button

Creating a folder

Click Folder and an inline text input appears with a folder-name placeholder. Type your folder name and confirm with the checkmark. The new folder appears in the tree immediately, with its own set of + Add file, Upload folder, and Folder buttons.
Inline folder name input with placeholder and confirm/cancel buttons

Uploading a folder

Click Upload folder to bring in an entire directory from your machine. Bifrost preserves the folder structure and creates each file under its original relative path.

Moving files and folders

Hover over a folder or file to reveal the move arrow. Clicking it opens a Search folders… dropdown listing every folder in the tree. Pick the destination and the item moves there.
Move folder dropdown showing Search folders input with root and references as destinations
Moving a file or folder only changes its location in the tree. Stored file references stay intact, so you can reorganize without re-uploading anything.

Storage and versioning

When you create a new version, Bifrost copies only the lightweight metadata: the SKILL.md content, description, frontmatter fields, and the file paths. The uploaded file objects themselves are not duplicated. Every version that references the same file points to the same underlying stored object. This means you can publish many versions of a skill with large attached files and your storage will not grow with each version. Storage only increases when you upload genuinely new files. Renaming or moving existing files across versions costs nothing extra. When you delete a skill, all of its uploaded file objects are cleaned up alongside it.

Deleting a folder

Click the trash icon on a folder to delete it. If the folder contains files, Bifrost asks for confirmation before removing everything inside it. The deletion is applied to the skill only after you save a new version.

Publish a version

When the skill is ready, choose the version you want to publish and click Create Skill. Bifrost creates the first immutable version and serves it immediately.
Publishing the first skill version

SemVer expectations

Skill versions use SemVer:
MAJOR.MINOR.PATCH[-SUFFIX]
Use bumps consistently so marketplaces and harnesses can update predictably:
BumpUse for
PatchSmall fixes that should be safe for existing users, such as typo fixes or clearer instructions.
MinorNew behavior, new files, or meaningful improvements that remain backward-compatible.
MajorBreaking changes, removed workflows, renamed required files, or behavior that could surprise existing users.
SuffixPre-release or iteration labels, such as 1.2.0-beta.1. A different suffix is still a new version.
Numeric versions cannot go backwards. If 3.0.0 exists, you cannot publish 1.0.1 or 2.5.0 later, even if you are currently serving an older version.

Edit a skill

Open a skill and choose Edit.
Edit action on a skill detail page
Edits always create a new version snapshot. The existing published versions remain available in version history.

What changes in edit mode?

  • The name is locked. It is the stable identifier used by marketplace plugin names and install URLs.
  • The description, frontmatter, metadata, body, and files can be updated.
  • You must provide a new version.
  • You can choose Save or Save & Serve.
ActionResult
SaveCreates a new version, but keeps the currently served version unchanged.
Save & ServeCreates a new version and makes it the version users install from the marketplace.
Save and Save & Serve actions in the skill editor

Editing existing files

Existing stored files keep a backend reference. Because of that:
  • you can rename a committed file
  • you can move it to another folder
  • you cannot directly replace its content in-place
To change the content of a committed file, remove it and add the new file again.
Rename-only state for an existing committed file
This keeps historical versions reproducible while still letting you reorganize the file tree.

Deleting existing files

Removing an existing file means the next saved version will no longer track that file. Older versions still have their own snapshots.
After you save, restoring a removed uploaded file requires adding or uploading it again.

Switch the served version

Every saved version appears in the skill’s version history. If you publish a version and later decide an older one was better, open the version history first.
Version history table for a skill
Pick the version you want to inspect. The version details dialog shows the snapshot for that version, including the action to serve it again.
Version details dialog with Shift to this version action
Shifting changes which version is served to marketplaces and downloads. It does not delete newer versions.
Version validation still compares against the highest created SemVer, not the version you shifted to. For example, if 3.0.0 exists and you shift back to 1.0.0, the next version still needs to be greater than or compatible with 3.0.0, such as 3.0.1, 3.1.0, or 4.0.0.

Register Bifrost as a marketplace

Once your repository has skills, use Register as Marketplace from the Skills Repository page. Bifrost shows copyable commands for supported harnesses.
Register as Marketplace menu showing Claude Code and Codex commands

Claude Code

claude plugin marketplace add <your-bifrost-url>/api/skills/serve/claude-code/.claude-plugin/marketplace.json

Codex

codex plugin marketplace add <your-bifrost-url>/api/skills/serve/codex
The marketplace install flow requires the git binary on the Bifrost server. If Git is unavailable, the dashboard disables marketplace registration and explains that Bifrost must be restarted after Git is installed.

Install skills from the marketplace

After registration, each skill appears as its own plugin using the name:
bifrost-{skill-name}
For example, a skill named review-migrations is exposed as:
bifrost-review-migrations
Claude Code shows each Bifrost skill as a separate installable plugin after the marketplace is registered.
Claude Code showing individual Bifrost skill plugins
Codex exposes the same plugins through its CLI flow.
Codex CLI showing individual Bifrost skill plugins
If you use the Codex desktop app, the registered marketplace appears there too, with the same individual skills available to install.
Codex desktop app showing individual Bifrost skill plugins

Use the all-skills plugin

Bifrost also exposes a synthetic plugin:
bifrost-all-skills
Install this when a harness should receive every currently served skill from the repository. The generated plugin contains each skill under:
skills/{skill-name}/SKILL.md
skills/{skill-name}/{attached-files}

How all-skills versioning works

The bifrost-all-skills plugin has its own version. Bifrost maintains it automatically:
Repository eventAll-skills bump
First skill is published0.0.01.0.0
Another skill is addedMinor
A skill is deletedMajor
A served skill gets a patch bumpPatch
A served skill gets a minor bumpMinor
A served skill gets a major bumpMajor
Served version is shiftedPatch
The dashboard also provides a manual patch/minor/major bump control as an escape hatch if a marketplace needs to be nudged to refresh.
All-skills version display and manual bump control

Maintain skills through the API

Use the dashboard for interactive editing, and use the API when you want to sync skills from CI, an internal admin panel, or another source of truth.

API workflow

  • Create the skill and its first version with Create skill. Include the SKILL.md body, frontmatter fields, version, and any files that should be attached to that first version.
  • For file attachments, pass file entries directly in the create/update request. Use inline text, URLs, data URLs, or an upload_id.
Use Upload skill file when you need to upload a local/binary file first. The upload response gives you an upload_id that you can attach in Create skill or Update skill.
The API reference contains the exact request and response shapes. Keep this page as the product workflow, and use the reference pages when wiring automation.

Quick mental model

  • A skill is the stable identity.
  • Every save creates an immutable version.
  • Files belong to versions so older installs remain reproducible.
  • The served version is what marketplaces expose.
  • Individual marketplace plugins install one skill.
  • bifrost-all-skills installs every served skill and is versioned automatically.