API calls for all endpoints tagged Skills.
Summary
Functions
Bump all-skills version
Manually bumps the synthetic bifrost-all-skills plugin version as an escape hatch for marketplace refreshes.
Clean up orphan skill files Deletes uploaded files that are not attached to any skill version. This is mostly a maintenance escape hatch: Bifrost also runs orphan cleanup on server startup. Non-forced cleanup preserves uploads newer than 24 hours so files are not deleted while a skill is still being edited.
Create skill Creates a new skill and immediately serves its first immutable version.
Delete skill Deletes a skill and all of its versions.
Download all skills as ZIP Public ZIP download containing every currently served skill.
Download skill as ZIP Public ZIP download containing a single currently served skill.
Download skill file Public raw file download from the currently served version of a skill.
Get all-skills version
Returns the current version of the synthetic bifrost-all-skills marketplace plugin.
Get Claude Code skills marketplace
Public marketplace JSON consumed by Claude Code. Available only when the Bifrost server can access the git binary.
Get Codex skills marketplace JSON Public Codex marketplace JSON for inspecting the skills and plugin sources exposed by Bifrost.
Get skill
Returns a skill by ID. Pass version to inspect a historical version snapshot.
List skill versions Returns immutable version snapshots for a skill.
List skills Returns a paginated list of skills from the Skills Repository.
Shift served skill version Changes the served version for a skill without deleting newer versions.
Update skill
Creates a new immutable skill version. Set serve to false to save the version without switching the served version.
Upload skill file Uploads one file for later attachment to a skill version. The response contains either an object-storage key or a database blob ID.
Functions
@spec bump_all_skills_version( Tesla.Env.client(), ExBifrost.Model.BumpAllSkillsVersionRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.AllSkillsVersionResponse.t()} | {:error, Tesla.Env.t()}
Bump all-skills version
Manually bumps the synthetic bifrost-all-skills plugin version as an escape hatch for marketplace refreshes.
Parameters
connection(ExBifrost.Connection): Connection to serverbump_all_skills_version_request(BumpAllSkillsVersionRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.AllSkillsVersionResponse.t}on success{:error, Tesla.Env.t}on failure
@spec cleanup_orphan_skill_files( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.SkillOrphanCleanupResponse.t()} | {:error, Tesla.Env.t()}
Clean up orphan skill files Deletes uploaded files that are not attached to any skill version. This is mostly a maintenance escape hatch: Bifrost also runs orphan cleanup on server startup. Non-forced cleanup preserves uploads newer than 24 hours so files are not deleted while a skill is still being edited.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:force(boolean()): Bypass the 24-hour grace period when true.
Returns
{:ok, ExBifrost.Model.SkillOrphanCleanupResponse.t}on success{:error, Tesla.Env.t}on failure
@spec create_skill( Tesla.Env.client(), ExBifrost.Model.CreateSkillRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.SkillResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Create skill Creates a new skill and immediately serves its first immutable version.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_skill_request(CreateSkillRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.SkillResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_skill(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete skill Deletes a skill and all of its versions.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Skill IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec download_all_skills( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, String.t()} | {:error, Tesla.Env.t()}
Download all skills as ZIP Public ZIP download containing every currently served skill.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, String.t}on success{:error, Tesla.Env.t}on failure
@spec download_skill(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, String.t()} | {:error, Tesla.Env.t()}
Download skill as ZIP Public ZIP download containing a single currently served skill.
Parameters
connection(ExBifrost.Connection): Connection to serverskill_name(String.t): Skill name.opts(keyword): Optional parameters
Returns
{:ok, String.t}on success{:error, Tesla.Env.t}on failure
@spec download_skill_file(Tesla.Env.client(), String.t(), String.t(), keyword()) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, String.t()} | {:error, Tesla.Env.t()}
Download skill file Public raw file download from the currently served version of a skill.
Parameters
connection(ExBifrost.Connection): Connection to serverskill_name(String.t): Skill name.filepath(String.t): Relative file path inside the skill package.opts(keyword): Optional parameters
Returns
{:ok, String.t}on success{:error, Tesla.Env.t}on failure
@spec get_all_skills_version( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.AllSkillsVersionResponse.t()} | {:error, Tesla.Env.t()}
Get all-skills version
Returns the current version of the synthetic bifrost-all-skills marketplace plugin.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.AllSkillsVersionResponse.t}on success{:error, Tesla.Env.t}on failure
@spec get_claude_code_skills_marketplace( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ClaudeCodeSkillMarketplace.t()} | {:error, Tesla.Env.t()}
Get Claude Code skills marketplace
Public marketplace JSON consumed by Claude Code. Available only when the Bifrost server can access the git binary.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.ClaudeCodeSkillMarketplace.t}on success{:error, Tesla.Env.t}on failure
@spec get_codex_skills_marketplace( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.CodexSkillMarketplace.t()} | {:error, Tesla.Env.t()}
Get Codex skills marketplace JSON Public Codex marketplace JSON for inspecting the skills and plugin sources exposed by Bifrost.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.CodexSkillMarketplace.t}on success{:error, Tesla.Env.t}on failure
@spec get_skill(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.SkillResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Get skill
Returns a skill by ID. Pass version to inspect a historical version snapshot.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Skill IDopts(keyword): Optional parameters:version(String.t): Optional version to load instead of the currently served version.
Returns
{:ok, ExBifrost.Model.SkillResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_skill_versions(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.ListSkillVersionsResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List skill versions Returns immutable version snapshots for a skill.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Skill IDopts(keyword): Optional parameters:search(String.t): Search versions by version string.:sort_by(String.t): Field to sort by.:order(String.t): Sort order.:limit(integer()): Number of versions to return. Maximum 100.:offset(integer()): Number of versions to skip.
Returns
{:ok, ExBifrost.Model.ListSkillVersionsResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_skills( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListSkillsResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List skills Returns a paginated list of skills from the Skills Repository.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:search(String.t): Search by skill name or description.:sort_by(String.t): Field to sort by.:order(String.t): Sort order.:limit(integer()): Number of skills to return. Maximum 100.:offset(integer()): Number of skills to skip.
Returns
{:ok, ExBifrost.Model.ListSkillsResponse.t}on success{:error, Tesla.Env.t}on failure
@spec shift_skill_version( Tesla.Env.client(), String.t(), ExBifrost.Model.ShiftSkillVersionRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.SkillResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Shift served skill version Changes the served version for a skill without deleting newer versions.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Skill IDshift_skill_version_request(ShiftSkillVersionRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.SkillResponse.t}on success{:error, Tesla.Env.t}on failure
@spec update_skill( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateSkillRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.SkillResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Update skill
Creates a new immutable skill version. Set serve to false to save the version without switching the served version.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Skill IDupdate_skill_request(UpdateSkillRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.SkillResponse.t}on success{:error, Tesla.Env.t}on failure
@spec upload_skill_file(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.UploadSkillFileResponse.t()} | {:error, Tesla.Env.t()}
Upload skill file Uploads one file for later attachment to a skill version. The response contains either an object-storage key or a database blob ID.
Parameters
connection(ExBifrost.Connection): Connection to serverfile(String.t): File to upload. Exactly one file part is accepted.opts(keyword): Optional parameters:path(String.t): Optional relative path to store with the uploaded file.
Returns
{:ok, ExBifrost.Model.UploadSkillFileResponse.t}on success{:error, Tesla.Env.t}on failure